From 31f2a419764a8ba77c2a970cfc80056c6cd06756 Mon Sep 17 00:00:00 2001 From: shadchin Date: Mon, 12 Feb 2024 07:53:52 +0300 Subject: Update Python from 3.11.8 to 3.12.2 --- contrib/tools/python3/src/Python/Python-ast.c | 1674 +- contrib/tools/python3/src/Python/Python-tokenize.c | 227 +- contrib/tools/python3/src/Python/_warnings.c | 230 +- contrib/tools/python3/src/Python/assemble.c | 603 + contrib/tools/python3/src/Python/ast.c | 61 +- contrib/tools/python3/src/Python/ast_opt.c | 51 +- contrib/tools/python3/src/Python/ast_unparse.c | 19 +- contrib/tools/python3/src/Python/bltinmodule.c | 403 +- contrib/tools/python3/src/Python/bootstrap_hash.c | 10 +- contrib/tools/python3/src/Python/ceval.c | 6956 +- contrib/tools/python3/src/Python/ceval_gil.c | 1089 + contrib/tools/python3/src/Python/ceval_gil.h | 325 - contrib/tools/python3/src/Python/ceval_macros.h | 344 + .../python3/src/Python/clinic/Python-tokenize.c.h | 70 +- .../tools/python3/src/Python/clinic/_warnings.c.h | 198 +- .../python3/src/Python/clinic/bltinmodule.c.h | 392 +- .../tools/python3/src/Python/clinic/context.c.h | 8 +- contrib/tools/python3/src/Python/clinic/import.c.h | 89 +- .../python3/src/Python/clinic/instrumentation.c.h | 311 + .../tools/python3/src/Python/clinic/marshal.c.h | 8 +- .../tools/python3/src/Python/clinic/sysmodule.c.h | 388 +- .../tools/python3/src/Python/clinic/traceback.c.h | 33 +- contrib/tools/python3/src/Python/codecs.c | 36 +- contrib/tools/python3/src/Python/compile.c | 8956 +- contrib/tools/python3/src/Python/condvar.h | 6 +- contrib/tools/python3/src/Python/context.c | 78 +- .../tools/python3/src/Python/deepfreeze/README.txt | 2 +- .../python3/src/Python/deepfreeze/deepfreeze.c | 83215 +++++++++---------- contrib/tools/python3/src/Python/dtoa.c | 80 +- contrib/tools/python3/src/Python/dynload_shlib.c | 2 +- contrib/tools/python3/src/Python/dynload_win.c | 16 +- contrib/tools/python3/src/Python/errors.c | 437 +- contrib/tools/python3/src/Python/fileutils.c | 349 +- contrib/tools/python3/src/Python/flowgraph.c | 2229 + .../tools/python3/src/Python/formatter_unicode.c | 4 +- contrib/tools/python3/src/Python/frame.c | 56 +- contrib/tools/python3/src/Python/frozen.c | 89 +- .../python3/src/Python/frozen_modules/README.txt | 2 +- .../python3/src/Python/frozen_modules/__hello__.h | 56 + .../python3/src/Python/frozen_modules/__phello__.h | 24 + .../Python/frozen_modules/__phello__.ham.eggs.h | 10 + .../src/Python/frozen_modules/__phello__.ham.h | 10 + .../src/Python/frozen_modules/__phello__.spam.h | 24 + .../src/Python/frozen_modules/_collections_abc.h | 2871 + .../src/Python/frozen_modules/_sitebuiltins.h | 299 + .../tools/python3/src/Python/frozen_modules/abc.h | 505 + .../python3/src/Python/frozen_modules/codecs.h | 2644 + .../src/Python/frozen_modules/frozen_only.h | 14 + .../src/Python/frozen_modules/genericpath.h | 389 + .../python3/src/Python/frozen_modules/getpath.h | 1601 +- .../Python/frozen_modules/importlib._bootstrap.h | 3488 + .../frozen_modules/importlib._bootstrap_external.h | 3845 + .../Python/frozen_modules/importlib.machinery.h | 68 + .../src/Python/frozen_modules/importlib.util.h | 705 + .../tools/python3/src/Python/frozen_modules/io.h | 260 + .../python3/src/Python/frozen_modules/ntpath.h | 1695 + .../tools/python3/src/Python/frozen_modules/os.h | 2715 + .../python3/src/Python/frozen_modules/posixpath.h | 1129 + .../python3/src/Python/frozen_modules/runpy.h | 901 + .../tools/python3/src/Python/frozen_modules/site.h | 1751 + .../tools/python3/src/Python/frozen_modules/stat.h | 329 + .../python3/src/Python/frozen_modules/zipimport.h | 1531 + contrib/tools/python3/src/Python/future.c | 69 +- .../tools/python3/src/Python/generated_cases.c.h | 4800 ++ contrib/tools/python3/src/Python/getargs.c | 326 +- contrib/tools/python3/src/Python/getversion.c | 17 +- contrib/tools/python3/src/Python/hamt.c | 227 +- contrib/tools/python3/src/Python/hashtable.c | 7 + contrib/tools/python3/src/Python/import.c | 3857 +- contrib/tools/python3/src/Python/importdl.c | 23 +- contrib/tools/python3/src/Python/initconfig.c | 136 +- contrib/tools/python3/src/Python/instrumentation.c | 2178 + contrib/tools/python3/src/Python/intrinsics.c | 260 + contrib/tools/python3/src/Python/legacy_tracing.c | 519 + contrib/tools/python3/src/Python/marshal.c | 57 +- contrib/tools/python3/src/Python/modsupport.c | 29 +- contrib/tools/python3/src/Python/opcode_metadata.h | 1001 + contrib/tools/python3/src/Python/opcode_targets.h | 186 +- contrib/tools/python3/src/Python/perf_trampoline.c | 493 + contrib/tools/python3/src/Python/preconfig.c | 40 +- contrib/tools/python3/src/Python/pylifecycle.c | 614 +- contrib/tools/python3/src/Python/pystate.c | 2152 +- contrib/tools/python3/src/Python/pystrtod.c | 41 +- contrib/tools/python3/src/Python/pythonrun.c | 235 +- contrib/tools/python3/src/Python/pytime.c | 8 + contrib/tools/python3/src/Python/specialize.c | 1472 +- .../tools/python3/src/Python/stdlib_module_names.h | 13 +- contrib/tools/python3/src/Python/structmember.c | 23 +- contrib/tools/python3/src/Python/suggestions.c | 197 +- contrib/tools/python3/src/Python/symtable.c | 696 +- contrib/tools/python3/src/Python/sysmodule.c | 745 +- contrib/tools/python3/src/Python/thread.c | 91 +- contrib/tools/python3/src/Python/thread_nt.h | 40 +- contrib/tools/python3/src/Python/thread_pthread.h | 225 +- .../python3/src/Python/thread_pthread_stubs.h | 9 +- contrib/tools/python3/src/Python/traceback.c | 70 +- contrib/tools/python3/src/Python/tracemalloc.c | 1560 + 97 files changed, 95165 insertions(+), 63161 deletions(-) create mode 100644 contrib/tools/python3/src/Python/assemble.c create mode 100644 contrib/tools/python3/src/Python/ceval_gil.c delete mode 100644 contrib/tools/python3/src/Python/ceval_gil.h create mode 100644 contrib/tools/python3/src/Python/ceval_macros.h create mode 100644 contrib/tools/python3/src/Python/clinic/instrumentation.c.h create mode 100644 contrib/tools/python3/src/Python/flowgraph.c create mode 100644 contrib/tools/python3/src/Python/frozen_modules/__hello__.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/__phello__.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/__phello__.ham.eggs.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/__phello__.ham.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/__phello__.spam.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/_collections_abc.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/_sitebuiltins.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/abc.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/codecs.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/frozen_only.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/genericpath.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/importlib._bootstrap.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/importlib._bootstrap_external.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/importlib.machinery.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/importlib.util.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/io.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/ntpath.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/os.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/posixpath.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/runpy.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/site.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/stat.h create mode 100644 contrib/tools/python3/src/Python/frozen_modules/zipimport.h create mode 100644 contrib/tools/python3/src/Python/generated_cases.c.h create mode 100644 contrib/tools/python3/src/Python/instrumentation.c create mode 100644 contrib/tools/python3/src/Python/intrinsics.c create mode 100644 contrib/tools/python3/src/Python/legacy_tracing.c create mode 100644 contrib/tools/python3/src/Python/opcode_metadata.h create mode 100644 contrib/tools/python3/src/Python/perf_trampoline.c create mode 100644 contrib/tools/python3/src/Python/tracemalloc.c (limited to 'contrib/tools/python3/src/Python') diff --git a/contrib/tools/python3/src/Python/Python-ast.c b/contrib/tools/python3/src/Python/Python-ast.c index d5a62b9a1e3..6c95f07c386 100644 --- a/contrib/tools/python3/src/Python/Python-ast.c +++ b/contrib/tools/python3/src/Python/Python-ast.c @@ -136,6 +136,7 @@ void _PyAST_Fini(PyInterpreterState *interp) Py_CLEAR(state->Not_type); Py_CLEAR(state->Or_singleton); Py_CLEAR(state->Or_type); + Py_CLEAR(state->ParamSpec_type); Py_CLEAR(state->Pass_type); Py_CLEAR(state->Pow_singleton); Py_CLEAR(state->Pow_type); @@ -155,7 +156,10 @@ void _PyAST_Fini(PyInterpreterState *interp) Py_CLEAR(state->TryStar_type); Py_CLEAR(state->Try_type); Py_CLEAR(state->Tuple_type); + Py_CLEAR(state->TypeAlias_type); Py_CLEAR(state->TypeIgnore_type); + Py_CLEAR(state->TypeVarTuple_type); + Py_CLEAR(state->TypeVar_type); Py_CLEAR(state->UAdd_singleton); Py_CLEAR(state->UAdd_type); Py_CLEAR(state->USub_singleton); @@ -184,6 +188,7 @@ void _PyAST_Fini(PyInterpreterState *interp) Py_CLEAR(state->bases); Py_CLEAR(state->body); Py_CLEAR(state->boolop_type); + Py_CLEAR(state->bound); Py_CLEAR(state->cases); Py_CLEAR(state->cause); Py_CLEAR(state->cls); @@ -261,6 +266,8 @@ void _PyAST_Fini(PyInterpreterState *interp) Py_CLEAR(state->type_comment); Py_CLEAR(state->type_ignore_type); Py_CLEAR(state->type_ignores); + Py_CLEAR(state->type_param_type); + Py_CLEAR(state->type_params); Py_CLEAR(state->unaryop_type); Py_CLEAR(state->upper); Py_CLEAR(state->value); @@ -268,6 +275,8 @@ void _PyAST_Fini(PyInterpreterState *interp) Py_CLEAR(state->vararg); Py_CLEAR(state->withitem_type); + Py_CLEAR(_Py_INTERP_CACHED_OBJECT(interp, str_replace_inf)); + #if !defined(NDEBUG) state->initialized = -1; #else @@ -292,6 +301,7 @@ static int init_identifiers(struct ast_state *state) if ((state->attr = PyUnicode_InternFromString("attr")) == NULL) return 0; if ((state->bases = PyUnicode_InternFromString("bases")) == NULL) return 0; if ((state->body = PyUnicode_InternFromString("body")) == NULL) return 0; + if ((state->bound = PyUnicode_InternFromString("bound")) == NULL) return 0; if ((state->cases = PyUnicode_InternFromString("cases")) == NULL) return 0; if ((state->cause = PyUnicode_InternFromString("cause")) == NULL) return 0; if ((state->cls = PyUnicode_InternFromString("cls")) == NULL) return 0; @@ -357,6 +367,7 @@ static int init_identifiers(struct ast_state *state) if ((state->type = PyUnicode_InternFromString("type")) == NULL) return 0; if ((state->type_comment = PyUnicode_InternFromString("type_comment")) == NULL) return 0; if ((state->type_ignores = PyUnicode_InternFromString("type_ignores")) == NULL) return 0; + if ((state->type_params = PyUnicode_InternFromString("type_params")) == NULL) return 0; if ((state->upper = PyUnicode_InternFromString("upper")) == NULL) return 0; if ((state->value = PyUnicode_InternFromString("value")) == NULL) return 0; if ((state->values = PyUnicode_InternFromString("values")) == NULL) return 0; @@ -377,6 +388,7 @@ GENERATE_ASDL_SEQ_CONSTRUCTOR(withitem, withitem_ty) GENERATE_ASDL_SEQ_CONSTRUCTOR(match_case, match_case_ty) GENERATE_ASDL_SEQ_CONSTRUCTOR(pattern, pattern_ty) GENERATE_ASDL_SEQ_CONSTRUCTOR(type_ignore, type_ignore_ty) +GENERATE_ASDL_SEQ_CONSTRUCTOR(type_param, type_param_ty) static PyObject* ast2obj_mod(struct ast_state *state, struct validator *vstate, void*); @@ -409,6 +421,7 @@ static const char * const FunctionDef_fields[]={ "decorator_list", "returns", "type_comment", + "type_params", }; static const char * const AsyncFunctionDef_fields[]={ "name", @@ -417,6 +430,7 @@ static const char * const AsyncFunctionDef_fields[]={ "decorator_list", "returns", "type_comment", + "type_params", }; static const char * const ClassDef_fields[]={ "name", @@ -424,6 +438,7 @@ static const char * const ClassDef_fields[]={ "keywords", "body", "decorator_list", + "type_params", }; static const char * const Return_fields[]={ "value", @@ -436,6 +451,11 @@ static const char * const Assign_fields[]={ "value", "type_comment", }; +static const char * const TypeAlias_fields[]={ + "name", + "type_params", + "value", +}; static const char * const AugAssign_fields[]={ "target", "op", @@ -778,6 +798,24 @@ static const char * const TypeIgnore_fields[]={ "lineno", "tag", }; +static const char * const type_param_attributes[] = { + "lineno", + "col_offset", + "end_lineno", + "end_col_offset", +}; +static PyObject* ast2obj_type_param(struct ast_state *state, struct validator + *vstate, void*); +static const char * const TypeVar_fields[]={ + "name", + "bound", +}; +static const char * const ParamSpec_fields[]={ + "name", +}; +static const char * const TypeVarTuple_fields[]={ + "name", +}; @@ -1017,10 +1055,11 @@ static PyObject* ast2obj_list(struct ast_state *state, struct validator *vstate, static PyObject* ast2obj_object(struct ast_state *Py_UNUSED(state), struct validator *Py_UNUSED(vstate), void *o) { - if (!o) - o = Py_None; - Py_INCREF((PyObject*)o); - return (PyObject*)o; + PyObject *op = (PyObject*)o; + if (!op) { + op = Py_None; + } + return Py_NewRef(op); } #define ast2obj_constant ast2obj_object #define ast2obj_identifier ast2obj_object @@ -1042,9 +1081,11 @@ static int obj2ast_object(struct ast_state *Py_UNUSED(state), PyObject* obj, PyO *out = NULL; return -1; } - Py_INCREF(obj); + *out = Py_NewRef(obj); + } + else { + *out = NULL; } - *out = obj; return 0; } @@ -1054,8 +1095,7 @@ static int obj2ast_constant(struct ast_state *Py_UNUSED(state), PyObject* obj, P *out = NULL; return -1; } - Py_INCREF(obj); - *out = obj; + *out = Py_NewRef(obj); return 0; } @@ -1154,12 +1194,13 @@ init_types(struct ast_state *state) "FunctionType(expr* argtypes, expr returns)"); if (!state->FunctionType_type) return 0; state->stmt_type = make_type(state, "stmt", state->AST_type, NULL, 0, - "stmt = FunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment)\n" - " | AsyncFunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment)\n" - " | ClassDef(identifier name, expr* bases, keyword* keywords, stmt* body, expr* decorator_list)\n" + "stmt = FunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment, type_param* type_params)\n" + " | AsyncFunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment, type_param* type_params)\n" + " | ClassDef(identifier name, expr* bases, keyword* keywords, stmt* body, expr* decorator_list, type_param* type_params)\n" " | Return(expr? value)\n" " | Delete(expr* targets)\n" " | Assign(expr* targets, expr value, string? type_comment)\n" + " | TypeAlias(expr name, type_param* type_params, expr value)\n" " | AugAssign(expr target, operator op, expr value)\n" " | AnnAssign(expr target, expr annotation, expr? value, int simple)\n" " | For(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment)\n" @@ -1189,8 +1230,8 @@ init_types(struct ast_state *state) -1) return 0; state->FunctionDef_type = make_type(state, "FunctionDef", state->stmt_type, - FunctionDef_fields, 6, - "FunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment)"); + FunctionDef_fields, 7, + "FunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment, type_param* type_params)"); if (!state->FunctionDef_type) return 0; if (PyObject_SetAttr(state->FunctionDef_type, state->returns, Py_None) == -1) @@ -1200,8 +1241,8 @@ init_types(struct ast_state *state) return 0; state->AsyncFunctionDef_type = make_type(state, "AsyncFunctionDef", state->stmt_type, - AsyncFunctionDef_fields, 6, - "AsyncFunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment)"); + AsyncFunctionDef_fields, 7, + "AsyncFunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment, type_param* type_params)"); if (!state->AsyncFunctionDef_type) return 0; if (PyObject_SetAttr(state->AsyncFunctionDef_type, state->returns, Py_None) == -1) @@ -1210,8 +1251,8 @@ init_types(struct ast_state *state) Py_None) == -1) return 0; state->ClassDef_type = make_type(state, "ClassDef", state->stmt_type, - ClassDef_fields, 5, - "ClassDef(identifier name, expr* bases, keyword* keywords, stmt* body, expr* decorator_list)"); + ClassDef_fields, 6, + "ClassDef(identifier name, expr* bases, keyword* keywords, stmt* body, expr* decorator_list, type_param* type_params)"); if (!state->ClassDef_type) return 0; state->Return_type = make_type(state, "Return", state->stmt_type, Return_fields, 1, @@ -1230,6 +1271,10 @@ init_types(struct ast_state *state) if (PyObject_SetAttr(state->Assign_type, state->type_comment, Py_None) == -1) return 0; + state->TypeAlias_type = make_type(state, "TypeAlias", state->stmt_type, + TypeAlias_fields, 3, + "TypeAlias(expr name, type_param* type_params, expr value)"); + if (!state->TypeAlias_type) return 0; state->AugAssign_type = make_type(state, "AugAssign", state->stmt_type, AugAssign_fields, 3, "AugAssign(expr target, operator op, expr value)"); @@ -1874,6 +1919,30 @@ init_types(struct ast_state *state) TypeIgnore_fields, 2, "TypeIgnore(int lineno, string tag)"); if (!state->TypeIgnore_type) return 0; + state->type_param_type = make_type(state, "type_param", state->AST_type, + NULL, 0, + "type_param = TypeVar(identifier name, expr? bound)\n" + " | ParamSpec(identifier name)\n" + " | TypeVarTuple(identifier name)"); + if (!state->type_param_type) return 0; + if (!add_attributes(state, state->type_param_type, type_param_attributes, + 4)) return 0; + state->TypeVar_type = make_type(state, "TypeVar", state->type_param_type, + TypeVar_fields, 2, + "TypeVar(identifier name, expr? bound)"); + if (!state->TypeVar_type) return 0; + if (PyObject_SetAttr(state->TypeVar_type, state->bound, Py_None) == -1) + return 0; + state->ParamSpec_type = make_type(state, "ParamSpec", + state->type_param_type, ParamSpec_fields, + 1, + "ParamSpec(identifier name)"); + if (!state->ParamSpec_type) return 0; + state->TypeVarTuple_type = make_type(state, "TypeVarTuple", + state->type_param_type, + TypeVarTuple_fields, 1, + "TypeVarTuple(identifier name)"); + if (!state->TypeVarTuple_type) return 0; state->initialized = 1; return 1; @@ -1915,6 +1984,8 @@ static int obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, PyArena* arena); static int obj2ast_type_ignore(struct ast_state *state, PyObject* obj, type_ignore_ty* out, PyArena* arena); +static int obj2ast_type_param(struct ast_state *state, PyObject* obj, + type_param_ty* out, PyArena* arena); mod_ty _PyAST_Module(asdl_stmt_seq * body, asdl_type_ignore_seq * type_ignores, @@ -1980,8 +2051,9 @@ _PyAST_FunctionType(asdl_expr_seq * argtypes, expr_ty returns, PyArena *arena) stmt_ty _PyAST_FunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * body, asdl_expr_seq * decorator_list, expr_ty returns, string - type_comment, int lineno, int col_offset, int end_lineno, - int end_col_offset, PyArena *arena) + type_comment, asdl_type_param_seq * type_params, int lineno, + int col_offset, int end_lineno, int end_col_offset, PyArena + *arena) { stmt_ty p; if (!name) { @@ -2004,6 +2076,7 @@ _PyAST_FunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * body, p->v.FunctionDef.decorator_list = decorator_list; p->v.FunctionDef.returns = returns; p->v.FunctionDef.type_comment = type_comment; + p->v.FunctionDef.type_params = type_params; p->lineno = lineno; p->col_offset = col_offset; p->end_lineno = end_lineno; @@ -2014,8 +2087,9 @@ _PyAST_FunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * body, stmt_ty _PyAST_AsyncFunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * body, asdl_expr_seq * decorator_list, expr_ty returns, - string type_comment, int lineno, int col_offset, int - end_lineno, int end_col_offset, PyArena *arena) + string type_comment, asdl_type_param_seq * type_params, + int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena) { stmt_ty p; if (!name) { @@ -2038,6 +2112,7 @@ _PyAST_AsyncFunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * p->v.AsyncFunctionDef.decorator_list = decorator_list; p->v.AsyncFunctionDef.returns = returns; p->v.AsyncFunctionDef.type_comment = type_comment; + p->v.AsyncFunctionDef.type_params = type_params; p->lineno = lineno; p->col_offset = col_offset; p->end_lineno = end_lineno; @@ -2048,8 +2123,8 @@ _PyAST_AsyncFunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * stmt_ty _PyAST_ClassDef(identifier name, asdl_expr_seq * bases, asdl_keyword_seq * keywords, asdl_stmt_seq * body, asdl_expr_seq * decorator_list, - int lineno, int col_offset, int end_lineno, int end_col_offset, - PyArena *arena) + asdl_type_param_seq * type_params, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena *arena) { stmt_ty p; if (!name) { @@ -2066,6 +2141,7 @@ _PyAST_ClassDef(identifier name, asdl_expr_seq * bases, asdl_keyword_seq * p->v.ClassDef.keywords = keywords; p->v.ClassDef.body = body; p->v.ClassDef.decorator_list = decorator_list; + p->v.ClassDef.type_params = type_params; p->lineno = lineno; p->col_offset = col_offset; p->end_lineno = end_lineno; @@ -2132,6 +2208,36 @@ _PyAST_Assign(asdl_expr_seq * targets, expr_ty value, string type_comment, int return p; } +stmt_ty +_PyAST_TypeAlias(expr_ty name, asdl_type_param_seq * type_params, expr_ty + value, int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena) +{ + stmt_ty p; + if (!name) { + PyErr_SetString(PyExc_ValueError, + "field 'name' is required for TypeAlias"); + return NULL; + } + if (!value) { + PyErr_SetString(PyExc_ValueError, + "field 'value' is required for TypeAlias"); + return NULL; + } + p = (stmt_ty)_PyArena_Malloc(arena, sizeof(*p)); + if (!p) + return NULL; + p->kind = TypeAlias_kind; + p->v.TypeAlias.name = name; + p->v.TypeAlias.type_params = type_params; + p->v.TypeAlias.value = value; + p->lineno = lineno; + p->col_offset = col_offset; + p->end_lineno = end_lineno; + p->end_col_offset = end_col_offset; + return p; +} + stmt_ty _PyAST_AugAssign(expr_ty target, operator_ty op, expr_ty value, int lineno, int col_offset, int end_lineno, int end_col_offset, PyArena *arena) @@ -3624,6 +3730,73 @@ _PyAST_TypeIgnore(int lineno, string tag, PyArena *arena) return p; } +type_param_ty +_PyAST_TypeVar(identifier name, expr_ty bound, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena) +{ + type_param_ty p; + if (!name) { + PyErr_SetString(PyExc_ValueError, + "field 'name' is required for TypeVar"); + return NULL; + } + p = (type_param_ty)_PyArena_Malloc(arena, sizeof(*p)); + if (!p) + return NULL; + p->kind = TypeVar_kind; + p->v.TypeVar.name = name; + p->v.TypeVar.bound = bound; + p->lineno = lineno; + p->col_offset = col_offset; + p->end_lineno = end_lineno; + p->end_col_offset = end_col_offset; + return p; +} + +type_param_ty +_PyAST_ParamSpec(identifier name, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena) +{ + type_param_ty p; + if (!name) { + PyErr_SetString(PyExc_ValueError, + "field 'name' is required for ParamSpec"); + return NULL; + } + p = (type_param_ty)_PyArena_Malloc(arena, sizeof(*p)); + if (!p) + return NULL; + p->kind = ParamSpec_kind; + p->v.ParamSpec.name = name; + p->lineno = lineno; + p->col_offset = col_offset; + p->end_lineno = end_lineno; + p->end_col_offset = end_col_offset; + return p; +} + +type_param_ty +_PyAST_TypeVarTuple(identifier name, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena) +{ + type_param_ty p; + if (!name) { + PyErr_SetString(PyExc_ValueError, + "field 'name' is required for TypeVarTuple"); + return NULL; + } + p = (type_param_ty)_PyArena_Malloc(arena, sizeof(*p)); + if (!p) + return NULL; + p->kind = TypeVarTuple_kind; + p->v.TypeVarTuple.name = name; + p->lineno = lineno; + p->col_offset = col_offset; + p->end_lineno = end_lineno; + p->end_col_offset = end_col_offset; + return p; +} + PyObject* ast2obj_mod(struct ast_state *state, struct validator *vstate, void* _o) @@ -3758,6 +3931,13 @@ ast2obj_stmt(struct ast_state *state, struct validator *vstate, void* _o) if (PyObject_SetAttr(result, state->type_comment, value) == -1) goto failed; Py_DECREF(value); + value = ast2obj_list(state, vstate, + (asdl_seq*)o->v.FunctionDef.type_params, + ast2obj_type_param); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->type_params, value) == -1) + goto failed; + Py_DECREF(value); break; case AsyncFunctionDef_kind: tp = (PyTypeObject *)state->AsyncFunctionDef_type; @@ -3797,6 +3977,13 @@ ast2obj_stmt(struct ast_state *state, struct validator *vstate, void* _o) if (PyObject_SetAttr(result, state->type_comment, value) == -1) goto failed; Py_DECREF(value); + value = ast2obj_list(state, vstate, + (asdl_seq*)o->v.AsyncFunctionDef.type_params, + ast2obj_type_param); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->type_params, value) == -1) + goto failed; + Py_DECREF(value); break; case ClassDef_kind: tp = (PyTypeObject *)state->ClassDef_type; @@ -3832,6 +4019,13 @@ ast2obj_stmt(struct ast_state *state, struct validator *vstate, void* _o) if (PyObject_SetAttr(result, state->decorator_list, value) == -1) goto failed; Py_DECREF(value); + value = ast2obj_list(state, vstate, + (asdl_seq*)o->v.ClassDef.type_params, + ast2obj_type_param); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->type_params, value) == -1) + goto failed; + Py_DECREF(value); break; case Return_kind: tp = (PyTypeObject *)state->Return_type; @@ -3875,6 +4069,28 @@ ast2obj_stmt(struct ast_state *state, struct validator *vstate, void* _o) goto failed; Py_DECREF(value); break; + case TypeAlias_kind: + tp = (PyTypeObject *)state->TypeAlias_type; + result = PyType_GenericNew(tp, NULL, NULL); + if (!result) goto failed; + value = ast2obj_expr(state, vstate, o->v.TypeAlias.name); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->name, value) == -1) + goto failed; + Py_DECREF(value); + value = ast2obj_list(state, vstate, + (asdl_seq*)o->v.TypeAlias.type_params, + ast2obj_type_param); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->type_params, value) == -1) + goto failed; + Py_DECREF(value); + value = ast2obj_expr(state, vstate, o->v.TypeAlias.value); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->value, value) == -1) + goto failed; + Py_DECREF(value); + break; case AugAssign_kind: tp = (PyTypeObject *)state->AugAssign_type; result = PyType_GenericNew(tp, NULL, NULL); @@ -4783,14 +4999,11 @@ PyObject* ast2obj_expr_context(struct ast_state *state, struct validator { switch(o) { case Load: - Py_INCREF(state->Load_singleton); - return state->Load_singleton; + return Py_NewRef(state->Load_singleton); case Store: - Py_INCREF(state->Store_singleton); - return state->Store_singleton; + return Py_NewRef(state->Store_singleton); case Del: - Py_INCREF(state->Del_singleton); - return state->Del_singleton; + return Py_NewRef(state->Del_singleton); } Py_UNREACHABLE(); } @@ -4799,11 +5012,9 @@ PyObject* ast2obj_boolop(struct ast_state *state, struct validator *vstate, { switch(o) { case And: - Py_INCREF(state->And_singleton); - return state->And_singleton; + return Py_NewRef(state->And_singleton); case Or: - Py_INCREF(state->Or_singleton); - return state->Or_singleton; + return Py_NewRef(state->Or_singleton); } Py_UNREACHABLE(); } @@ -4812,44 +5023,31 @@ PyObject* ast2obj_operator(struct ast_state *state, struct validator *vstate, { switch(o) { case Add: - Py_INCREF(state->Add_singleton); - return state->Add_singleton; + return Py_NewRef(state->Add_singleton); case Sub: - Py_INCREF(state->Sub_singleton); - return state->Sub_singleton; + return Py_NewRef(state->Sub_singleton); case Mult: - Py_INCREF(state->Mult_singleton); - return state->Mult_singleton; + return Py_NewRef(state->Mult_singleton); case MatMult: - Py_INCREF(state->MatMult_singleton); - return state->MatMult_singleton; + return Py_NewRef(state->MatMult_singleton); case Div: - Py_INCREF(state->Div_singleton); - return state->Div_singleton; + return Py_NewRef(state->Div_singleton); case Mod: - Py_INCREF(state->Mod_singleton); - return state->Mod_singleton; + return Py_NewRef(state->Mod_singleton); case Pow: - Py_INCREF(state->Pow_singleton); - return state->Pow_singleton; + return Py_NewRef(state->Pow_singleton); case LShift: - Py_INCREF(state->LShift_singleton); - return state->LShift_singleton; + return Py_NewRef(state->LShift_singleton); case RShift: - Py_INCREF(state->RShift_singleton); - return state->RShift_singleton; + return Py_NewRef(state->RShift_singleton); case BitOr: - Py_INCREF(state->BitOr_singleton); - return state->BitOr_singleton; + return Py_NewRef(state->BitOr_singleton); case BitXor: - Py_INCREF(state->BitXor_singleton); - return state->BitXor_singleton; + return Py_NewRef(state->BitXor_singleton); case BitAnd: - Py_INCREF(state->BitAnd_singleton); - return state->BitAnd_singleton; + return Py_NewRef(state->BitAnd_singleton); case FloorDiv: - Py_INCREF(state->FloorDiv_singleton); - return state->FloorDiv_singleton; + return Py_NewRef(state->FloorDiv_singleton); } Py_UNREACHABLE(); } @@ -4858,17 +5056,13 @@ PyObject* ast2obj_unaryop(struct ast_state *state, struct validator *vstate, { switch(o) { case Invert: - Py_INCREF(state->Invert_singleton); - return state->Invert_singleton; + return Py_NewRef(state->Invert_singleton); case Not: - Py_INCREF(state->Not_singleton); - return state->Not_singleton; + return Py_NewRef(state->Not_singleton); case UAdd: - Py_INCREF(state->UAdd_singleton); - return state->UAdd_singleton; + return Py_NewRef(state->UAdd_singleton); case USub: - Py_INCREF(state->USub_singleton); - return state->USub_singleton; + return Py_NewRef(state->USub_singleton); } Py_UNREACHABLE(); } @@ -4877,35 +5071,25 @@ PyObject* ast2obj_cmpop(struct ast_state *state, struct validator *vstate, { switch(o) { case Eq: - Py_INCREF(state->Eq_singleton); - return state->Eq_singleton; + return Py_NewRef(state->Eq_singleton); case NotEq: - Py_INCREF(state->NotEq_singleton); - return state->NotEq_singleton; + return Py_NewRef(state->NotEq_singleton); case Lt: - Py_INCREF(state->Lt_singleton); - return state->Lt_singleton; + return Py_NewRef(state->Lt_singleton); case LtE: - Py_INCREF(state->LtE_singleton); - return state->LtE_singleton; + return Py_NewRef(state->LtE_singleton); case Gt: - Py_INCREF(state->Gt_singleton); - return state->Gt_singleton; + return Py_NewRef(state->Gt_singleton); case GtE: - Py_INCREF(state->GtE_singleton); - return state->GtE_singleton; + return Py_NewRef(state->GtE_singleton); case Is: - Py_INCREF(state->Is_singleton); - return state->Is_singleton; + return Py_NewRef(state->Is_singleton); case IsNot: - Py_INCREF(state->IsNot_singleton); - return state->IsNot_singleton; + return Py_NewRef(state->IsNot_singleton); case In: - Py_INCREF(state->In_singleton); - return state->In_singleton; + return Py_NewRef(state->In_singleton); case NotIn: - Py_INCREF(state->NotIn_singleton); - return state->NotIn_singleton; + return Py_NewRef(state->NotIn_singleton); } Py_UNREACHABLE(); } @@ -5542,6 +5726,86 @@ failed: return NULL; } +PyObject* +ast2obj_type_param(struct ast_state *state, struct validator *vstate, void* _o) +{ + type_param_ty o = (type_param_ty)_o; + PyObject *result = NULL, *value = NULL; + PyTypeObject *tp; + if (!o) { + Py_RETURN_NONE; + } + if (++vstate->recursion_depth > vstate->recursion_limit) { + PyErr_SetString(PyExc_RecursionError, + "maximum recursion depth exceeded during ast construction"); + return 0; + } + switch (o->kind) { + case TypeVar_kind: + tp = (PyTypeObject *)state->TypeVar_type; + result = PyType_GenericNew(tp, NULL, NULL); + if (!result) goto failed; + value = ast2obj_identifier(state, vstate, o->v.TypeVar.name); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->name, value) == -1) + goto failed; + Py_DECREF(value); + value = ast2obj_expr(state, vstate, o->v.TypeVar.bound); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->bound, value) == -1) + goto failed; + Py_DECREF(value); + break; + case ParamSpec_kind: + tp = (PyTypeObject *)state->ParamSpec_type; + result = PyType_GenericNew(tp, NULL, NULL); + if (!result) goto failed; + value = ast2obj_identifier(state, vstate, o->v.ParamSpec.name); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->name, value) == -1) + goto failed; + Py_DECREF(value); + break; + case TypeVarTuple_kind: + tp = (PyTypeObject *)state->TypeVarTuple_type; + result = PyType_GenericNew(tp, NULL, NULL); + if (!result) goto failed; + value = ast2obj_identifier(state, vstate, o->v.TypeVarTuple.name); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->name, value) == -1) + goto failed; + Py_DECREF(value); + break; + } + value = ast2obj_int(state, vstate, o->lineno); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->lineno, value) < 0) + goto failed; + Py_DECREF(value); + value = ast2obj_int(state, vstate, o->col_offset); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->col_offset, value) < 0) + goto failed; + Py_DECREF(value); + value = ast2obj_int(state, vstate, o->end_lineno); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->end_lineno, value) < 0) + goto failed; + Py_DECREF(value); + value = ast2obj_int(state, vstate, o->end_col_offset); + if (!value) goto failed; + if (PyObject_SetAttr(result, state->end_col_offset, value) < 0) + goto failed; + Py_DECREF(value); + vstate->recursion_depth--; + return result; +failed: + vstate->recursion_depth--; + Py_XDECREF(value); + Py_XDECREF(result); + return NULL; +} + int obj2ast_mod(struct ast_state *state, PyObject* obj, mod_ty* out, PyArena* arena) @@ -5568,10 +5832,12 @@ obj2ast_mod(struct ast_state *state, PyObject* obj, mod_ty* out, PyArena* arena) return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from Module"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -5584,8 +5850,7 @@ obj2ast_mod(struct ast_state *state, PyObject* obj, mod_ty* out, PyArena* arena) if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Module' node")) { goto failed; } @@ -5605,10 +5870,12 @@ obj2ast_mod(struct ast_state *state, PyObject* obj, mod_ty* out, PyArena* arena) return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"type_ignores\" missing from Module"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -5621,8 +5888,7 @@ obj2ast_mod(struct ast_state *state, PyObject* obj, mod_ty* out, PyArena* arena) if (type_ignores == NULL) goto failed; for (i = 0; i < len; i++) { type_ignore_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Module' node")) { goto failed; } @@ -5654,10 +5920,12 @@ obj2ast_mod(struct ast_state *state, PyObject* obj, mod_ty* out, PyArena* arena) return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from Interactive"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -5670,8 +5938,7 @@ obj2ast_mod(struct ast_state *state, PyObject* obj, mod_ty* out, PyArena* arena) if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Interactive' node")) { goto failed; } @@ -5733,10 +6000,12 @@ obj2ast_mod(struct ast_state *state, PyObject* obj, mod_ty* out, PyArena* arena) return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"argtypes\" missing from FunctionType"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -5749,8 +6018,7 @@ obj2ast_mod(struct ast_state *state, PyObject* obj, mod_ty* out, PyArena* arena) if (argtypes == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'FunctionType' node")) { goto failed; } @@ -5891,6 +6159,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* asdl_expr_seq* decorator_list; expr_ty returns; string type_comment; + asdl_type_param_seq* type_params; if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) { return 1; @@ -5930,10 +6199,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from FunctionDef"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -5946,8 +6217,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'FunctionDef' node")) { goto failed; } @@ -5967,10 +6237,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"decorator_list\" missing from FunctionDef"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -5983,8 +6255,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (decorator_list == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'FunctionDef' node")) { goto failed; } @@ -6034,9 +6305,48 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (res != 0) goto failed; Py_CLEAR(tmp); } + if (_PyObject_LookupAttr(obj, state->type_params, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } + } + { + int res; + Py_ssize_t len; + Py_ssize_t i; + if (!PyList_Check(tmp)) { + PyErr_Format(PyExc_TypeError, "FunctionDef field \"type_params\" must be a list, not a %.200s", _PyType_Name(Py_TYPE(tmp))); + goto failed; + } + len = PyList_GET_SIZE(tmp); + type_params = _Py_asdl_type_param_seq_new(len, arena); + if (type_params == NULL) goto failed; + for (i = 0; i < len; i++) { + type_param_ty val; + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); + if (_Py_EnterRecursiveCall(" while traversing 'FunctionDef' node")) { + goto failed; + } + res = obj2ast_type_param(state, tmp2, &val, arena); + _Py_LeaveRecursiveCall(); + Py_DECREF(tmp2); + if (res != 0) goto failed; + if (len != PyList_GET_SIZE(tmp)) { + PyErr_SetString(PyExc_RuntimeError, "FunctionDef field \"type_params\" changed size during iteration"); + goto failed; + } + asdl_seq_SET(type_params, i, val); + } + Py_CLEAR(tmp); + } *out = _PyAST_FunctionDef(name, args, body, decorator_list, returns, - type_comment, lineno, col_offset, end_lineno, - end_col_offset, arena); + type_comment, type_params, lineno, + col_offset, end_lineno, end_col_offset, + arena); if (*out == NULL) goto failed; return 0; } @@ -6052,6 +6362,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* asdl_expr_seq* decorator_list; expr_ty returns; string type_comment; + asdl_type_param_seq* type_params; if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) { return 1; @@ -6091,10 +6402,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from AsyncFunctionDef"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6107,8 +6420,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'AsyncFunctionDef' node")) { goto failed; } @@ -6128,10 +6440,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"decorator_list\" missing from AsyncFunctionDef"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6144,8 +6458,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (decorator_list == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'AsyncFunctionDef' node")) { goto failed; } @@ -6195,24 +6508,63 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (res != 0) goto failed; Py_CLEAR(tmp); } - *out = _PyAST_AsyncFunctionDef(name, args, body, decorator_list, - returns, type_comment, lineno, - col_offset, end_lineno, end_col_offset, - arena); - if (*out == NULL) goto failed; - return 0; - } - tp = state->ClassDef_type; - isinstance = PyObject_IsInstance(obj, tp); - if (isinstance == -1) { - return 1; - } - if (isinstance) { - identifier name; - asdl_expr_seq* bases; - asdl_keyword_seq* keywords; - asdl_stmt_seq* body; - asdl_expr_seq* decorator_list; + if (_PyObject_LookupAttr(obj, state->type_params, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } + } + { + int res; + Py_ssize_t len; + Py_ssize_t i; + if (!PyList_Check(tmp)) { + PyErr_Format(PyExc_TypeError, "AsyncFunctionDef field \"type_params\" must be a list, not a %.200s", _PyType_Name(Py_TYPE(tmp))); + goto failed; + } + len = PyList_GET_SIZE(tmp); + type_params = _Py_asdl_type_param_seq_new(len, arena); + if (type_params == NULL) goto failed; + for (i = 0; i < len; i++) { + type_param_ty val; + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); + if (_Py_EnterRecursiveCall(" while traversing 'AsyncFunctionDef' node")) { + goto failed; + } + res = obj2ast_type_param(state, tmp2, &val, arena); + _Py_LeaveRecursiveCall(); + Py_DECREF(tmp2); + if (res != 0) goto failed; + if (len != PyList_GET_SIZE(tmp)) { + PyErr_SetString(PyExc_RuntimeError, "AsyncFunctionDef field \"type_params\" changed size during iteration"); + goto failed; + } + asdl_seq_SET(type_params, i, val); + } + Py_CLEAR(tmp); + } + *out = _PyAST_AsyncFunctionDef(name, args, body, decorator_list, + returns, type_comment, type_params, + lineno, col_offset, end_lineno, + end_col_offset, arena); + if (*out == NULL) goto failed; + return 0; + } + tp = state->ClassDef_type; + isinstance = PyObject_IsInstance(obj, tp); + if (isinstance == -1) { + return 1; + } + if (isinstance) { + identifier name; + asdl_expr_seq* bases; + asdl_keyword_seq* keywords; + asdl_stmt_seq* body; + asdl_expr_seq* decorator_list; + asdl_type_param_seq* type_params; if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) { return 1; @@ -6235,10 +6587,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"bases\" missing from ClassDef"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6251,8 +6605,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (bases == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'ClassDef' node")) { goto failed; } @@ -6272,10 +6625,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"keywords\" missing from ClassDef"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6288,8 +6643,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (keywords == NULL) goto failed; for (i = 0; i < len; i++) { keyword_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'ClassDef' node")) { goto failed; } @@ -6309,10 +6663,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from ClassDef"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6325,8 +6681,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'ClassDef' node")) { goto failed; } @@ -6346,10 +6701,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"decorator_list\" missing from ClassDef"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6362,8 +6719,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (decorator_list == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'ClassDef' node")) { goto failed; } @@ -6379,9 +6735,47 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* } Py_CLEAR(tmp); } + if (_PyObject_LookupAttr(obj, state->type_params, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } + } + { + int res; + Py_ssize_t len; + Py_ssize_t i; + if (!PyList_Check(tmp)) { + PyErr_Format(PyExc_TypeError, "ClassDef field \"type_params\" must be a list, not a %.200s", _PyType_Name(Py_TYPE(tmp))); + goto failed; + } + len = PyList_GET_SIZE(tmp); + type_params = _Py_asdl_type_param_seq_new(len, arena); + if (type_params == NULL) goto failed; + for (i = 0; i < len; i++) { + type_param_ty val; + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); + if (_Py_EnterRecursiveCall(" while traversing 'ClassDef' node")) { + goto failed; + } + res = obj2ast_type_param(state, tmp2, &val, arena); + _Py_LeaveRecursiveCall(); + Py_DECREF(tmp2); + if (res != 0) goto failed; + if (len != PyList_GET_SIZE(tmp)) { + PyErr_SetString(PyExc_RuntimeError, "ClassDef field \"type_params\" changed size during iteration"); + goto failed; + } + asdl_seq_SET(type_params, i, val); + } + Py_CLEAR(tmp); + } *out = _PyAST_ClassDef(name, bases, keywords, body, decorator_list, - lineno, col_offset, end_lineno, end_col_offset, - arena); + type_params, lineno, col_offset, end_lineno, + end_col_offset, arena); if (*out == NULL) goto failed; return 0; } @@ -6427,10 +6821,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"targets\" missing from Delete"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6443,8 +6839,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (targets == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Delete' node")) { goto failed; } @@ -6479,10 +6874,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"targets\" missing from Assign"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6495,8 +6892,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (targets == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Assign' node")) { goto failed; } @@ -6551,6 +6947,93 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (*out == NULL) goto failed; return 0; } + tp = state->TypeAlias_type; + isinstance = PyObject_IsInstance(obj, tp); + if (isinstance == -1) { + return 1; + } + if (isinstance) { + expr_ty name; + asdl_type_param_seq* type_params; + expr_ty value; + + if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + PyErr_SetString(PyExc_TypeError, "required field \"name\" missing from TypeAlias"); + return 1; + } + else { + int res; + if (_Py_EnterRecursiveCall(" while traversing 'TypeAlias' node")) { + goto failed; + } + res = obj2ast_expr(state, tmp, &name, arena); + _Py_LeaveRecursiveCall(); + if (res != 0) goto failed; + Py_CLEAR(tmp); + } + if (_PyObject_LookupAttr(obj, state->type_params, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } + } + { + int res; + Py_ssize_t len; + Py_ssize_t i; + if (!PyList_Check(tmp)) { + PyErr_Format(PyExc_TypeError, "TypeAlias field \"type_params\" must be a list, not a %.200s", _PyType_Name(Py_TYPE(tmp))); + goto failed; + } + len = PyList_GET_SIZE(tmp); + type_params = _Py_asdl_type_param_seq_new(len, arena); + if (type_params == NULL) goto failed; + for (i = 0; i < len; i++) { + type_param_ty val; + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); + if (_Py_EnterRecursiveCall(" while traversing 'TypeAlias' node")) { + goto failed; + } + res = obj2ast_type_param(state, tmp2, &val, arena); + _Py_LeaveRecursiveCall(); + Py_DECREF(tmp2); + if (res != 0) goto failed; + if (len != PyList_GET_SIZE(tmp)) { + PyErr_SetString(PyExc_RuntimeError, "TypeAlias field \"type_params\" changed size during iteration"); + goto failed; + } + asdl_seq_SET(type_params, i, val); + } + Py_CLEAR(tmp); + } + if (_PyObject_LookupAttr(obj, state->value, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + PyErr_SetString(PyExc_TypeError, "required field \"value\" missing from TypeAlias"); + return 1; + } + else { + int res; + if (_Py_EnterRecursiveCall(" while traversing 'TypeAlias' node")) { + goto failed; + } + res = obj2ast_expr(state, tmp, &value, arena); + _Py_LeaveRecursiveCall(); + if (res != 0) goto failed; + Py_CLEAR(tmp); + } + *out = _PyAST_TypeAlias(name, type_params, value, lineno, col_offset, + end_lineno, end_col_offset, arena); + if (*out == NULL) goto failed; + return 0; + } tp = state->AugAssign_type; isinstance = PyObject_IsInstance(obj, tp); if (isinstance == -1) { @@ -6751,10 +7234,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from For"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6767,8 +7252,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'For' node")) { goto failed; } @@ -6788,10 +7272,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"orelse\" missing from For"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6804,8 +7290,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (orelse == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'For' node")) { goto failed; } @@ -6893,10 +7378,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from AsyncFor"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6909,8 +7396,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'AsyncFor' node")) { goto failed; } @@ -6930,10 +7416,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"orelse\" missing from AsyncFor"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -6946,8 +7434,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (orelse == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'AsyncFor' node")) { goto failed; } @@ -7017,10 +7504,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from While"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7033,8 +7522,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'While' node")) { goto failed; } @@ -7054,10 +7542,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"orelse\" missing from While"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7070,8 +7560,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (orelse == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'While' node")) { goto failed; } @@ -7123,10 +7612,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from If"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7139,8 +7630,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'If' node")) { goto failed; } @@ -7160,10 +7650,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"orelse\" missing from If"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7176,8 +7668,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (orelse == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'If' node")) { goto failed; } @@ -7212,10 +7703,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"items\" missing from With"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7228,8 +7721,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (items == NULL) goto failed; for (i = 0; i < len; i++) { withitem_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'With' node")) { goto failed; } @@ -7249,10 +7741,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from With"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7265,8 +7759,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'With' node")) { goto failed; } @@ -7318,10 +7811,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"items\" missing from AsyncWith"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7334,8 +7829,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (items == NULL) goto failed; for (i = 0; i < len; i++) { withitem_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'AsyncWith' node")) { goto failed; } @@ -7355,10 +7849,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from AsyncWith"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7371,8 +7867,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'AsyncWith' node")) { goto failed; } @@ -7440,10 +7935,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"cases\" missing from Match"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7456,8 +7953,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (cases == NULL) goto failed; for (i = 0; i < len; i++) { match_case_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Match' node")) { goto failed; } @@ -7541,10 +8037,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from Try"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7557,8 +8055,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Try' node")) { goto failed; } @@ -7578,10 +8075,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"handlers\" missing from Try"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7594,8 +8093,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (handlers == NULL) goto failed; for (i = 0; i < len; i++) { excepthandler_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Try' node")) { goto failed; } @@ -7615,10 +8113,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"orelse\" missing from Try"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7631,8 +8131,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (orelse == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Try' node")) { goto failed; } @@ -7652,10 +8151,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"finalbody\" missing from Try"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7668,8 +8169,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (finalbody == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Try' node")) { goto failed; } @@ -7705,10 +8205,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from TryStar"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7721,8 +8223,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'TryStar' node")) { goto failed; } @@ -7742,10 +8243,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"handlers\" missing from TryStar"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7758,8 +8261,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (handlers == NULL) goto failed; for (i = 0; i < len; i++) { excepthandler_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'TryStar' node")) { goto failed; } @@ -7779,10 +8281,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"orelse\" missing from TryStar"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7795,8 +8299,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (orelse == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'TryStar' node")) { goto failed; } @@ -7816,10 +8319,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"finalbody\" missing from TryStar"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7832,8 +8337,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (finalbody == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'TryStar' node")) { goto failed; } @@ -7914,10 +8418,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"names\" missing from Import"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7930,8 +8436,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (names == NULL) goto failed; for (i = 0; i < len; i++) { alias_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Import' node")) { goto failed; } @@ -7983,10 +8488,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"names\" missing from ImportFrom"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -7999,8 +8506,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (names == NULL) goto failed; for (i = 0; i < len; i++) { alias_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'ImportFrom' node")) { goto failed; } @@ -8050,10 +8556,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"names\" missing from Global"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -8066,8 +8574,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (names == NULL) goto failed; for (i = 0; i < len; i++) { identifier val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Global' node")) { goto failed; } @@ -8100,10 +8607,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"names\" missing from Nonlocal"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -8116,8 +8625,7 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena* if (names == NULL) goto failed; for (i = 0; i < len; i++) { identifier val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Nonlocal' node")) { goto failed; } @@ -8326,10 +8834,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"values\" missing from BoolOp"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -8342,8 +8852,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (values == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'BoolOp' node")) { goto failed; } @@ -8653,10 +9162,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"keys\" missing from Dict"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -8669,8 +9180,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (keys == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Dict' node")) { goto failed; } @@ -8690,10 +9200,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"values\" missing from Dict"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -8706,8 +9218,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (values == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Dict' node")) { goto failed; } @@ -8740,10 +9251,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"elts\" missing from Set"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -8756,8 +9269,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (elts == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Set' node")) { goto failed; } @@ -8808,10 +9320,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"generators\" missing from ListComp"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -8824,8 +9338,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (generators == NULL) goto failed; for (i = 0; i < len; i++) { comprehension_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'ListComp' node")) { goto failed; } @@ -8876,10 +9389,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"generators\" missing from SetComp"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -8892,8 +9407,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (generators == NULL) goto failed; for (i = 0; i < len; i++) { comprehension_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'SetComp' node")) { goto failed; } @@ -8962,10 +9476,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"generators\" missing from DictComp"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -8978,8 +9494,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (generators == NULL) goto failed; for (i = 0; i < len; i++) { comprehension_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'DictComp' node")) { goto failed; } @@ -9030,10 +9545,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"generators\" missing from GeneratorExp"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -9046,8 +9563,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (generators == NULL) goto failed; for (i = 0; i < len; i++) { comprehension_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'GeneratorExp' node")) { goto failed; } @@ -9189,10 +9705,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"ops\" missing from Compare"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -9205,8 +9723,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (ops == NULL) goto failed; for (i = 0; i < len; i++) { cmpop_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Compare' node")) { goto failed; } @@ -9226,10 +9743,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"comparators\" missing from Compare"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -9242,8 +9761,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (comparators == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Compare' node")) { goto failed; } @@ -9295,10 +9813,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"args\" missing from Call"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -9311,8 +9831,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (args == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Call' node")) { goto failed; } @@ -9332,10 +9851,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"keywords\" missing from Call"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -9348,8 +9869,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (keywords == NULL) goto failed; for (i = 0; i < len; i++) { keyword_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Call' node")) { goto failed; } @@ -9449,10 +9969,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"values\" missing from JoinedStr"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -9465,8 +9987,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (values == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'JoinedStr' node")) { goto failed; } @@ -9776,10 +10297,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"elts\" missing from List"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -9792,8 +10315,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (elts == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'List' node")) { goto failed; } @@ -9844,10 +10366,12 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"elts\" missing from Tuple"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -9860,8 +10384,7 @@ obj2ast_expr(struct ast_state *state, PyObject* obj, expr_ty* out, PyArena* if (elts == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'Tuple' node")) { goto failed; } @@ -10331,10 +10854,12 @@ obj2ast_comprehension(struct ast_state *state, PyObject* obj, comprehension_ty* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"ifs\" missing from comprehension"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -10347,8 +10872,7 @@ obj2ast_comprehension(struct ast_state *state, PyObject* obj, comprehension_ty* if (ifs == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'comprehension' node")) { goto failed; } @@ -10522,10 +11046,12 @@ obj2ast_excepthandler(struct ast_state *state, PyObject* obj, excepthandler_ty* return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from ExceptHandler"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -10538,8 +11064,7 @@ obj2ast_excepthandler(struct ast_state *state, PyObject* obj, excepthandler_ty* if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'ExceptHandler' node")) { goto failed; } @@ -10584,10 +11109,12 @@ obj2ast_arguments(struct ast_state *state, PyObject* obj, arguments_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"posonlyargs\" missing from arguments"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -10600,8 +11127,7 @@ obj2ast_arguments(struct ast_state *state, PyObject* obj, arguments_ty* out, if (posonlyargs == NULL) goto failed; for (i = 0; i < len; i++) { arg_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'arguments' node")) { goto failed; } @@ -10621,10 +11147,12 @@ obj2ast_arguments(struct ast_state *state, PyObject* obj, arguments_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"args\" missing from arguments"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -10637,8 +11165,7 @@ obj2ast_arguments(struct ast_state *state, PyObject* obj, arguments_ty* out, if (args == NULL) goto failed; for (i = 0; i < len; i++) { arg_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'arguments' node")) { goto failed; } @@ -10675,10 +11202,12 @@ obj2ast_arguments(struct ast_state *state, PyObject* obj, arguments_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"kwonlyargs\" missing from arguments"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -10691,8 +11220,7 @@ obj2ast_arguments(struct ast_state *state, PyObject* obj, arguments_ty* out, if (kwonlyargs == NULL) goto failed; for (i = 0; i < len; i++) { arg_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'arguments' node")) { goto failed; } @@ -10712,10 +11240,12 @@ obj2ast_arguments(struct ast_state *state, PyObject* obj, arguments_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"kw_defaults\" missing from arguments"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -10728,8 +11258,7 @@ obj2ast_arguments(struct ast_state *state, PyObject* obj, arguments_ty* out, if (kw_defaults == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'arguments' node")) { goto failed; } @@ -10766,10 +11295,12 @@ obj2ast_arguments(struct ast_state *state, PyObject* obj, arguments_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"defaults\" missing from arguments"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -10782,8 +11313,7 @@ obj2ast_arguments(struct ast_state *state, PyObject* obj, arguments_ty* out, if (defaults == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'arguments' node")) { goto failed; } @@ -11291,10 +11821,12 @@ obj2ast_match_case(struct ast_state *state, PyObject* obj, match_case_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from match_case"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -11307,8 +11839,7 @@ obj2ast_match_case(struct ast_state *state, PyObject* obj, match_case_ty* out, if (body == NULL) goto failed; for (i = 0; i < len; i++) { stmt_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'match_case' node")) { goto failed; } @@ -11489,10 +12020,12 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"patterns\" missing from MatchSequence"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -11505,8 +12038,7 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, if (patterns == NULL) goto failed; for (i = 0; i < len; i++) { pattern_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'MatchSequence' node")) { goto failed; } @@ -11541,10 +12073,12 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"keys\" missing from MatchMapping"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -11557,8 +12091,7 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, if (keys == NULL) goto failed; for (i = 0; i < len; i++) { expr_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'MatchMapping' node")) { goto failed; } @@ -11578,10 +12111,12 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"patterns\" missing from MatchMapping"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -11594,8 +12129,7 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, if (patterns == NULL) goto failed; for (i = 0; i < len; i++) { pattern_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'MatchMapping' node")) { goto failed; } @@ -11665,10 +12199,12 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"patterns\" missing from MatchClass"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -11681,8 +12217,7 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, if (patterns == NULL) goto failed; for (i = 0; i < len; i++) { pattern_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'MatchClass' node")) { goto failed; } @@ -11702,10 +12237,12 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"kwd_attrs\" missing from MatchClass"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -11718,8 +12255,7 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, if (kwd_attrs == NULL) goto failed; for (i = 0; i < len; i++) { identifier val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'MatchClass' node")) { goto failed; } @@ -11739,10 +12275,12 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"kwd_patterns\" missing from MatchClass"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -11755,8 +12293,7 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, if (kwd_patterns == NULL) goto failed; for (i = 0; i < len; i++) { pattern_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'MatchClass' node")) { goto failed; } @@ -11868,10 +12405,12 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, return 1; } if (tmp == NULL) { - PyErr_SetString(PyExc_TypeError, "required field \"patterns\" missing from MatchOr"); - return 1; + tmp = PyList_New(0); + if (tmp == NULL) { + return 1; + } } - else { + { int res; Py_ssize_t len; Py_ssize_t i; @@ -11884,8 +12423,7 @@ obj2ast_pattern(struct ast_state *state, PyObject* obj, pattern_ty* out, if (patterns == NULL) goto failed; for (i = 0; i < len; i++) { pattern_ty val; - PyObject *tmp2 = PyList_GET_ITEM(tmp, i); - Py_INCREF(tmp2); + PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i)); if (_Py_EnterRecursiveCall(" while traversing 'MatchOr' node")) { goto failed; } @@ -11980,6 +12518,206 @@ obj2ast_type_ignore(struct ast_state *state, PyObject* obj, type_ignore_ty* return 1; } +int +obj2ast_type_param(struct ast_state *state, PyObject* obj, type_param_ty* out, + PyArena* arena) +{ + int isinstance; + + PyObject *tmp = NULL; + PyObject *tp; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; + + if (obj == Py_None) { + *out = NULL; + return 0; + } + if (_PyObject_LookupAttr(obj, state->lineno, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + PyErr_SetString(PyExc_TypeError, "required field \"lineno\" missing from type_param"); + return 1; + } + else { + int res; + if (_Py_EnterRecursiveCall(" while traversing 'type_param' node")) { + goto failed; + } + res = obj2ast_int(state, tmp, &lineno, arena); + _Py_LeaveRecursiveCall(); + if (res != 0) goto failed; + Py_CLEAR(tmp); + } + if (_PyObject_LookupAttr(obj, state->col_offset, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + PyErr_SetString(PyExc_TypeError, "required field \"col_offset\" missing from type_param"); + return 1; + } + else { + int res; + if (_Py_EnterRecursiveCall(" while traversing 'type_param' node")) { + goto failed; + } + res = obj2ast_int(state, tmp, &col_offset, arena); + _Py_LeaveRecursiveCall(); + if (res != 0) goto failed; + Py_CLEAR(tmp); + } + if (_PyObject_LookupAttr(obj, state->end_lineno, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + PyErr_SetString(PyExc_TypeError, "required field \"end_lineno\" missing from type_param"); + return 1; + } + else { + int res; + if (_Py_EnterRecursiveCall(" while traversing 'type_param' node")) { + goto failed; + } + res = obj2ast_int(state, tmp, &end_lineno, arena); + _Py_LeaveRecursiveCall(); + if (res != 0) goto failed; + Py_CLEAR(tmp); + } + if (_PyObject_LookupAttr(obj, state->end_col_offset, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + PyErr_SetString(PyExc_TypeError, "required field \"end_col_offset\" missing from type_param"); + return 1; + } + else { + int res; + if (_Py_EnterRecursiveCall(" while traversing 'type_param' node")) { + goto failed; + } + res = obj2ast_int(state, tmp, &end_col_offset, arena); + _Py_LeaveRecursiveCall(); + if (res != 0) goto failed; + Py_CLEAR(tmp); + } + tp = state->TypeVar_type; + isinstance = PyObject_IsInstance(obj, tp); + if (isinstance == -1) { + return 1; + } + if (isinstance) { + identifier name; + expr_ty bound; + + if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + PyErr_SetString(PyExc_TypeError, "required field \"name\" missing from TypeVar"); + return 1; + } + else { + int res; + if (_Py_EnterRecursiveCall(" while traversing 'TypeVar' node")) { + goto failed; + } + res = obj2ast_identifier(state, tmp, &name, arena); + _Py_LeaveRecursiveCall(); + if (res != 0) goto failed; + Py_CLEAR(tmp); + } + if (_PyObject_LookupAttr(obj, state->bound, &tmp) < 0) { + return 1; + } + if (tmp == NULL || tmp == Py_None) { + Py_CLEAR(tmp); + bound = NULL; + } + else { + int res; + if (_Py_EnterRecursiveCall(" while traversing 'TypeVar' node")) { + goto failed; + } + res = obj2ast_expr(state, tmp, &bound, arena); + _Py_LeaveRecursiveCall(); + if (res != 0) goto failed; + Py_CLEAR(tmp); + } + *out = _PyAST_TypeVar(name, bound, lineno, col_offset, end_lineno, + end_col_offset, arena); + if (*out == NULL) goto failed; + return 0; + } + tp = state->ParamSpec_type; + isinstance = PyObject_IsInstance(obj, tp); + if (isinstance == -1) { + return 1; + } + if (isinstance) { + identifier name; + + if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + PyErr_SetString(PyExc_TypeError, "required field \"name\" missing from ParamSpec"); + return 1; + } + else { + int res; + if (_Py_EnterRecursiveCall(" while traversing 'ParamSpec' node")) { + goto failed; + } + res = obj2ast_identifier(state, tmp, &name, arena); + _Py_LeaveRecursiveCall(); + if (res != 0) goto failed; + Py_CLEAR(tmp); + } + *out = _PyAST_ParamSpec(name, lineno, col_offset, end_lineno, + end_col_offset, arena); + if (*out == NULL) goto failed; + return 0; + } + tp = state->TypeVarTuple_type; + isinstance = PyObject_IsInstance(obj, tp); + if (isinstance == -1) { + return 1; + } + if (isinstance) { + identifier name; + + if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) { + return 1; + } + if (tmp == NULL) { + PyErr_SetString(PyExc_TypeError, "required field \"name\" missing from TypeVarTuple"); + return 1; + } + else { + int res; + if (_Py_EnterRecursiveCall(" while traversing 'TypeVarTuple' node")) { + goto failed; + } + res = obj2ast_identifier(state, tmp, &name, arena); + _Py_LeaveRecursiveCall(); + if (res != 0) goto failed; + Py_CLEAR(tmp); + } + *out = _PyAST_TypeVarTuple(name, lineno, col_offset, end_lineno, + end_col_offset, arena); + if (*out == NULL) goto failed; + return 0; + } + + PyErr_Format(PyExc_TypeError, "expected some sort of type_param, but got %R", obj); + failed: + Py_XDECREF(tmp); + return 1; +} + static int astmodule_exec(PyObject *m) @@ -12038,6 +12776,9 @@ astmodule_exec(PyObject *m) if (PyModule_AddObjectRef(m, "Assign", state->Assign_type) < 0) { return -1; } + if (PyModule_AddObjectRef(m, "TypeAlias", state->TypeAlias_type) < 0) { + return -1; + } if (PyModule_AddObjectRef(m, "AugAssign", state->AugAssign_type) < 0) { return -1; } @@ -12365,11 +13106,25 @@ astmodule_exec(PyObject *m) if (PyModule_AddObjectRef(m, "TypeIgnore", state->TypeIgnore_type) < 0) { return -1; } + if (PyModule_AddObjectRef(m, "type_param", state->type_param_type) < 0) { + return -1; + } + if (PyModule_AddObjectRef(m, "TypeVar", state->TypeVar_type) < 0) { + return -1; + } + if (PyModule_AddObjectRef(m, "ParamSpec", state->ParamSpec_type) < 0) { + return -1; + } + if (PyModule_AddObjectRef(m, "TypeVarTuple", state->TypeVarTuple_type) < 0) + { + return -1; + } return 0; } static PyModuleDef_Slot astmodule_slots[] = { {Py_mod_exec, astmodule_exec}, + {Py_mod_multiple_interpreters, Py_MOD_PER_INTERPRETER_GIL_SUPPORTED}, {0, NULL} }; @@ -12395,20 +13150,17 @@ PyObject* PyAST_mod2obj(mod_ty t) return NULL; } - int recursion_limit = Py_GetRecursionLimit(); int starting_recursion_depth; /* Be careful here to prevent overflow. */ - int COMPILER_STACK_FRAME_SCALE = 3; + int COMPILER_STACK_FRAME_SCALE = 2; PyThreadState *tstate = _PyThreadState_GET(); if (!tstate) { return NULL; } struct validator vstate; - vstate.recursion_limit = (recursion_limit < INT_MAX / COMPILER_STACK_FRAME_SCALE) ? - recursion_limit * COMPILER_STACK_FRAME_SCALE : recursion_limit; - int recursion_depth = tstate->recursion_limit - tstate->recursion_remaining; - starting_recursion_depth = (recursion_depth < INT_MAX / COMPILER_STACK_FRAME_SCALE) ? - recursion_depth * COMPILER_STACK_FRAME_SCALE : recursion_depth; + vstate.recursion_limit = C_RECURSION_LIMIT * COMPILER_STACK_FRAME_SCALE; + int recursion_depth = C_RECURSION_LIMIT - tstate->c_recursion_remaining; + starting_recursion_depth = recursion_depth * COMPILER_STACK_FRAME_SCALE; vstate.recursion_depth = starting_recursion_depth; PyObject *result = ast2obj_mod(state, &vstate, t); diff --git a/contrib/tools/python3/src/Python/Python-tokenize.c b/contrib/tools/python3/src/Python/Python-tokenize.c index 6acfc2a7cfd..179f71aa1f5 100644 --- a/contrib/tools/python3/src/Python/Python-tokenize.c +++ b/contrib/tools/python3/src/Python/Python-tokenize.c @@ -1,5 +1,8 @@ #include "Python.h" +#include "errcode.h" #include "../Parser/tokenizer.h" +#include "../Parser/pegen.h" // _PyPegen_byte_offset_to_character_offset() +#include "../Parser/pegen.h" // _PyPegen_byte_offset_to_character_offset() static struct PyModuleDef _tokenizemodule; @@ -15,6 +18,7 @@ get_tokenize_state(PyObject *module) { #define _tokenize_get_state_by_type(type) \ get_tokenize_state(PyType_GetModuleByDef(type, &_tokenizemodule)) +#include "pycore_runtime.h" #include "clinic/Python-tokenize.c.h" /*[clinic input] @@ -26,18 +30,24 @@ class _tokenizer.tokenizeriter "tokenizeriterobject *" "_tokenize_get_state_by_t typedef struct { PyObject_HEAD struct tok_state *tok; + int done; } tokenizeriterobject; /*[clinic input] @classmethod _tokenizer.tokenizeriter.__new__ as tokenizeriter_new - source: str + readline: object + / + * + extra_tokens: bool + encoding: str(c_default="NULL") = 'utf-8' [clinic start generated code]*/ static PyObject * -tokenizeriter_new_impl(PyTypeObject *type, const char *source) -/*[clinic end generated code: output=7fd9f46cf9263cbb input=4384b368407375c6]*/ +tokenizeriter_new_impl(PyTypeObject *type, PyObject *readline, + int extra_tokens, const char *encoding) +/*[clinic end generated code: output=7501a1211683ce16 input=f7dddf8a613ae8bd]*/ { tokenizeriterobject *self = (tokenizeriterobject *)type->tp_alloc(type, 0); if (self == NULL) { @@ -47,58 +57,220 @@ tokenizeriter_new_impl(PyTypeObject *type, const char *source) if (filename == NULL) { return NULL; } - self->tok = _PyTokenizer_FromUTF8(source, 1); + self->tok = _PyTokenizer_FromReadline(readline, encoding, 1, 1); if (self->tok == NULL) { Py_DECREF(filename); return NULL; } self->tok->filename = filename; + if (extra_tokens) { + self->tok->tok_extra_tokens = 1; + } + self->done = 0; return (PyObject *)self; } +static int +_tokenizer_error(struct tok_state *tok) +{ + if (PyErr_Occurred()) { + return -1; + } + + const char *msg = NULL; + PyObject* errtype = PyExc_SyntaxError; + switch (tok->done) { + case E_TOKEN: + msg = "invalid token"; + break; + case E_EOF: + PyErr_SetString(PyExc_SyntaxError, "unexpected EOF in multi-line statement"); + PyErr_SyntaxLocationObject(tok->filename, tok->lineno, + tok->inp - tok->buf < 0 ? 0 : (int)(tok->inp - tok->buf)); + return -1; + case E_DEDENT: + msg = "unindent does not match any outer indentation level"; + errtype = PyExc_IndentationError; + break; + case E_INTR: + if (!PyErr_Occurred()) { + PyErr_SetNone(PyExc_KeyboardInterrupt); + } + return -1; + case E_NOMEM: + PyErr_NoMemory(); + return -1; + case E_TABSPACE: + errtype = PyExc_TabError; + msg = "inconsistent use of tabs and spaces in indentation"; + break; + case E_TOODEEP: + errtype = PyExc_IndentationError; + msg = "too many levels of indentation"; + break; + case E_LINECONT: { + msg = "unexpected character after line continuation character"; + break; + } + default: + msg = "unknown tokenization error"; + } + + PyObject* errstr = NULL; + PyObject* error_line = NULL; + PyObject* tmp = NULL; + PyObject* value = NULL; + int result = 0; + + Py_ssize_t size = tok->inp - tok->buf; + assert(tok->buf[size-1] == '\n'); + size -= 1; // Remove the newline character from the end of the line + error_line = PyUnicode_DecodeUTF8(tok->buf, size, "replace"); + if (!error_line) { + result = -1; + goto exit; + } + + Py_ssize_t offset = _PyPegen_byte_offset_to_character_offset(error_line, tok->inp - tok->buf); + if (offset == -1) { + result = -1; + goto exit; + } + tmp = Py_BuildValue("(OnnOOO)", tok->filename, tok->lineno, offset, error_line, Py_None, Py_None); + if (!tmp) { + result = -1; + goto exit; + } + + errstr = PyUnicode_FromString(msg); + if (!errstr) { + result = -1; + goto exit; + } + + value = PyTuple_Pack(2, errstr, tmp); + if (!value) { + result = -1; + goto exit; + } + + PyErr_SetObject(errtype, value); + +exit: + Py_XDECREF(errstr); + Py_XDECREF(error_line); + Py_XDECREF(tmp); + Py_XDECREF(value); + return result; +} + static PyObject * tokenizeriter_next(tokenizeriterobject *it) { - const char *start; - const char *end; - int type = _PyTokenizer_Get(it->tok, &start, &end); - if (type == ERRORTOKEN && PyErr_Occurred()) { - return NULL; + PyObject* result = NULL; + struct token token; + _PyToken_Init(&token); + + int type = _PyTokenizer_Get(it->tok, &token); + if (type == ERRORTOKEN) { + if(!PyErr_Occurred()) { + _tokenizer_error(it->tok); + assert(PyErr_Occurred()); + } + goto exit; } - if (type == ERRORTOKEN || type == ENDMARKER) { + if (it->done || type == ERRORTOKEN) { PyErr_SetString(PyExc_StopIteration, "EOF"); - return NULL; + it->done = 1; + goto exit; } PyObject *str = NULL; - if (start == NULL || end == NULL) { + if (token.start == NULL || token.end == NULL) { str = PyUnicode_FromString(""); } else { - str = PyUnicode_FromStringAndSize(start, end - start); + str = PyUnicode_FromStringAndSize(token.start, token.end - token.start); } if (str == NULL) { - return NULL; + goto exit; } - Py_ssize_t size = it->tok->inp - it->tok->buf; - PyObject *line = PyUnicode_DecodeUTF8(it->tok->buf, size, "replace"); + int is_trailing_token = 0; + if (type == ENDMARKER || (type == DEDENT && it->tok->done == E_EOF)) { + is_trailing_token = 1; + } + + const char *line_start = ISSTRINGLIT(type) ? it->tok->multi_line_start : it->tok->line_start; + PyObject* line = NULL; + if (it->tok->tok_extra_tokens && is_trailing_token) { + line = PyUnicode_FromString(""); + } else { + Py_ssize_t size = it->tok->inp - line_start; + if (size >= 1 && it->tok->implicit_newline) { + size -= 1; + } + line = PyUnicode_DecodeUTF8(line_start, size, "replace"); + } if (line == NULL) { Py_DECREF(str); - return NULL; + goto exit; + } + + Py_ssize_t lineno = ISSTRINGLIT(type) ? it->tok->first_lineno : it->tok->lineno; + Py_ssize_t end_lineno = it->tok->lineno; + Py_ssize_t col_offset = -1; + Py_ssize_t end_col_offset = -1; + if (token.start != NULL && token.start >= line_start) { + col_offset = _PyPegen_byte_offset_to_character_offset(line, token.start - line_start); } - const char *line_start = type == STRING ? it->tok->multi_line_start : it->tok->line_start; - int lineno = type == STRING ? it->tok->first_lineno : it->tok->lineno; - int end_lineno = it->tok->lineno; - int col_offset = -1; - int end_col_offset = -1; - if (start != NULL && start >= line_start) { - col_offset = (int)(start - line_start); + if (token.end != NULL && token.end >= it->tok->line_start) { + end_col_offset = _PyPegen_byte_offset_to_character_offset_raw(it->tok->line_start, token.end - it->tok->line_start); } - if (end != NULL && end >= it->tok->line_start) { - end_col_offset = (int)(end - it->tok->line_start); + + if (it->tok->tok_extra_tokens) { + if (is_trailing_token) { + lineno = end_lineno = lineno + 1; + col_offset = end_col_offset = 0; + } + // Necessary adjustments to match the original Python tokenize + // implementation + if (type > DEDENT && type < OP) { + type = OP; + } + else if (type == ASYNC || type == AWAIT) { + type = NAME; + } + else if (type == NEWLINE) { + Py_DECREF(str); + if (!it->tok->implicit_newline) { + if (it->tok->start[0] == '\r') { + str = PyUnicode_FromString("\r\n"); + } else { + str = PyUnicode_FromString("\n"); + } + } + end_col_offset++; + } + else if (type == NL) { + if (it->tok->implicit_newline) { + Py_DECREF(str); + str = PyUnicode_FromString(""); + } + } + + if (str == NULL) { + Py_DECREF(line); + goto exit; + } } - return Py_BuildValue("(NiiiiiN)", str, type, lineno, end_lineno, col_offset, end_col_offset, line); + result = Py_BuildValue("(iN(nn)(nn)N)", type, str, lineno, col_offset, end_lineno, end_col_offset, line); +exit: + _PyToken_Free(&token); + if (type == ENDMARKER) { + it->done = 1; + } + return result; } static void @@ -151,6 +323,7 @@ static PyMethodDef tokenize_methods[] = { static PyModuleDef_Slot tokenizemodule_slots[] = { {Py_mod_exec, tokenizemodule_exec}, + {Py_mod_multiple_interpreters, Py_MOD_PER_INTERPRETER_GIL_SUPPORTED}, {0, NULL} }; diff --git a/contrib/tools/python3/src/Python/_warnings.c b/contrib/tools/python3/src/Python/_warnings.c index 2815f7987ac..1f91edbf5cb 100644 --- a/contrib/tools/python3/src/Python/_warnings.c +++ b/contrib/tools/python3/src/Python/_warnings.c @@ -198,7 +198,7 @@ get_warnings_attr(PyInterpreterState *interp, PyObject *attr, int try_import) PyObject *warnings_module, *obj; /* don't try to import after the start of the Python finallization */ - if (try_import && !_Py_IsFinalizing()) { + if (try_import && !_Py_IsInterpreterFinalizing(interp)) { warnings_module = PyImport_Import(&_Py_ID(warnings)); if (warnings_module == NULL) { /* Fallback to the C implementation if we cannot get @@ -214,7 +214,7 @@ get_warnings_attr(PyInterpreterState *interp, PyObject *attr, int try_import) gone, then we can't even use PyImport_GetModule without triggering an interpreter abort. */ - if (!interp->modules) { + if (!_PyImport_GetModules(interp)) { return NULL; } warnings_module = PyImport_GetModule(&_Py_ID(warnings)); @@ -382,8 +382,7 @@ get_filter(PyInterpreterState *interp, PyObject *category, action = get_default_action(interp); if (action != NULL) { - Py_INCREF(Py_None); - *item = Py_None; + *item = Py_NewRef(Py_None); return action; } @@ -468,8 +467,7 @@ normalize_module(PyObject *filename) module = PyUnicode_Substring(filename, 0, len-3); } else { - module = filename; - Py_INCREF(module); + module = Py_NewRef(filename); } return module; } @@ -751,8 +749,7 @@ warn_explicit(PyThreadState *tstate, PyObject *category, PyObject *message, goto cleanup; return_none: - result = Py_None; - Py_INCREF(result); + result = Py_NewRef(Py_None); cleanup: Py_XDECREF(item); @@ -764,57 +761,99 @@ warn_explicit(PyThreadState *tstate, PyObject *category, PyObject *message, return result; /* Py_None or NULL. */ } -static int -is_internal_frame(PyFrameObject *frame) +static PyObject * +get_frame_filename(PyFrameObject *frame) { - if (frame == NULL) { - return 0; - } - PyCodeObject *code = PyFrame_GetCode(frame); PyObject *filename = code->co_filename; Py_DECREF(code); + return filename; +} - if (filename == NULL) { - return 0; - } +static bool +is_internal_filename(PyObject *filename) +{ if (!PyUnicode_Check(filename)) { - return 0; + return false; } int contains = PyUnicode_Contains(filename, &_Py_ID(importlib)); if (contains < 0) { - return 0; + return false; } else if (contains > 0) { contains = PyUnicode_Contains(filename, &_Py_ID(_bootstrap)); if (contains < 0) { - return 0; + return false; } else if (contains > 0) { - return 1; + return true; } } - return 0; + return false; +} + +static bool +is_filename_to_skip(PyObject *filename, PyTupleObject *skip_file_prefixes) +{ + if (skip_file_prefixes) { + if (!PyUnicode_Check(filename)) { + return false; + } + + Py_ssize_t prefixes = PyTuple_GET_SIZE(skip_file_prefixes); + for (Py_ssize_t idx = 0; idx < prefixes; ++idx) + { + PyObject *prefix = PyTuple_GET_ITEM(skip_file_prefixes, idx); + Py_ssize_t found = PyUnicode_Tailmatch(filename, prefix, 0, -1, -1); + if (found == 1) { + return true; + } + if (found < 0) { + return false; + } + } + } + return false; +} + +static bool +is_internal_frame(PyFrameObject *frame) +{ + if (frame == NULL) { + return false; + } + + PyObject *filename = get_frame_filename(frame); + if (filename == NULL) { + return false; + } + + return is_internal_filename(filename); } static PyFrameObject * -next_external_frame(PyFrameObject *frame) +next_external_frame(PyFrameObject *frame, PyTupleObject *skip_file_prefixes) { + PyObject *frame_filename; do { PyFrameObject *back = PyFrame_GetBack(frame); - Py_DECREF(frame); - frame = back; - } while (frame != NULL && is_internal_frame(frame)); + Py_SETREF(frame, back); + } while (frame != NULL && (frame_filename = get_frame_filename(frame)) && + (is_internal_filename(frame_filename) || + is_filename_to_skip(frame_filename, skip_file_prefixes))); return frame; } /* filename, module, and registry are new refs, globals is borrowed */ +/* skip_file_prefixes is either NULL or a tuple of strs. */ /* Returns 0 on error (no new refs), 1 on success */ static int -setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno, +setup_context(Py_ssize_t stack_level, + PyTupleObject *skip_file_prefixes, + PyObject **filename, int *lineno, PyObject **module, PyObject **registry) { PyObject *globals; @@ -824,6 +863,21 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno, if (tstate == NULL) { return 0; } + if (skip_file_prefixes) { + /* Type check our data structure up front. Later code that uses it + * isn't structured to report errors. */ + Py_ssize_t prefixes = PyTuple_GET_SIZE(skip_file_prefixes); + for (Py_ssize_t idx = 0; idx < prefixes; ++idx) + { + PyObject *prefix = PyTuple_GET_ITEM(skip_file_prefixes, idx); + if (!PyUnicode_Check(prefix)) { + PyErr_Format(PyExc_TypeError, + "Found non-str '%s' in skip_file_prefixes.", + Py_TYPE(prefix)->tp_name); + return 0; + } + } + } PyInterpreterState *interp = tstate->interp; PyFrameObject *f = PyThreadState_GetFrame(tstate); // Stack level comparisons to Python code is off by one as there is no @@ -831,13 +885,12 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno, if (stack_level <= 0 || is_internal_frame(f)) { while (--stack_level > 0 && f != NULL) { PyFrameObject *back = PyFrame_GetBack(f); - Py_DECREF(f); - f = back; + Py_SETREF(f, back); } } else { while (--stack_level > 0 && f != NULL) { - f = next_external_frame(f); + f = next_external_frame(f, skip_file_prefixes); } } @@ -848,8 +901,7 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno, } else { globals = f->f_frame->f_globals; - *filename = f->f_frame->f_code->co_filename; - Py_INCREF(*filename); + *filename = Py_NewRef(f->f_frame->f_code->co_filename); *lineno = PyFrame_GetLineNumber(f); Py_DECREF(f); } @@ -931,7 +983,7 @@ get_category(PyObject *message, PyObject *category) static PyObject * do_warn(PyObject *message, PyObject *category, Py_ssize_t stack_level, - PyObject *source) + PyObject *source, PyTupleObject *skip_file_prefixes) { PyObject *filename, *module, *registry, *res; int lineno; @@ -941,7 +993,8 @@ do_warn(PyObject *message, PyObject *category, Py_ssize_t stack_level, return NULL; } - if (!setup_context(stack_level, &filename, &lineno, &module, ®istry)) + if (!setup_context(stack_level, skip_file_prefixes, + &filename, &lineno, &module, ®istry)) return NULL; res = warn_explicit(tstate, category, message, filename, lineno, module, registry, @@ -956,22 +1009,42 @@ do_warn(PyObject *message, PyObject *category, Py_ssize_t stack_level, warn as warnings_warn message: object + Text of the warning message. category: object = None + The Warning category subclass. Defaults to UserWarning. stacklevel: Py_ssize_t = 1 + How far up the call stack to make this warning appear. A value of 2 for + example attributes the warning to the caller of the code calling warn(). source: object = None + If supplied, the destroyed object which emitted a ResourceWarning + * + skip_file_prefixes: object(type='PyTupleObject *', subclass_of='&PyTuple_Type') = NULL + An optional tuple of module filename prefixes indicating frames to skip + during stacklevel computations for stack frame attribution. Issue a warning, or maybe ignore it or raise an exception. [clinic start generated code]*/ static PyObject * warnings_warn_impl(PyObject *module, PyObject *message, PyObject *category, - Py_ssize_t stacklevel, PyObject *source) -/*[clinic end generated code: output=31ed5ab7d8d760b2 input=bfdf5cf99f6c4edd]*/ + Py_ssize_t stacklevel, PyObject *source, + PyTupleObject *skip_file_prefixes) +/*[clinic end generated code: output=a68e0f6906c65f80 input=eb37c6a18bec4ea1]*/ { category = get_category(message, category); if (category == NULL) return NULL; - return do_warn(message, category, stacklevel, source); + if (skip_file_prefixes) { + if (PyTuple_GET_SIZE(skip_file_prefixes) > 0) { + if (stacklevel < 2) { + stacklevel = 2; + } + } else { + Py_DECREF((PyObject *)skip_file_prefixes); + skip_file_prefixes = NULL; + } + } + return do_warn(message, category, stacklevel, source, skip_file_prefixes); } static PyObject * @@ -984,12 +1057,12 @@ get_source_line(PyInterpreterState *interp, PyObject *module_globals, int lineno PyObject *source_list; PyObject *source_line; - /* Check/get the requisite pieces needed for the loader. */ - loader = _PyDict_GetItemWithError(module_globals, &_Py_ID(__loader__)); + /* stolen from import.c */ + loader = _PyImport_BlessMyLoader(interp, module_globals); if (loader == NULL) { return NULL; } - Py_INCREF(loader); + module_name = _PyDict_GetItemWithError(module_globals, &_Py_ID(__name__)); if (!module_name) { Py_DECREF(loader); @@ -1030,28 +1103,31 @@ get_source_line(PyInterpreterState *interp, PyObject *module_globals, int lineno return source_line; } +/*[clinic input] +warn_explicit as warnings_warn_explicit + + message: object + category: object + filename: unicode + lineno: int + module as mod: object = NULL + registry: object = None + module_globals: object = None + source as sourceobj: object = None + +Issue a warning, or maybe ignore it or raise an exception. +[clinic start generated code]*/ + static PyObject * -warnings_warn_explicit(PyObject *self, PyObject *args, PyObject *kwds) +warnings_warn_explicit_impl(PyObject *module, PyObject *message, + PyObject *category, PyObject *filename, + int lineno, PyObject *mod, PyObject *registry, + PyObject *module_globals, PyObject *sourceobj) +/*[clinic end generated code: output=c49c62b15a49a186 input=df6eeb8b45e712f1]*/ { - static char *kwd_list[] = {"message", "category", "filename", "lineno", - "module", "registry", "module_globals", - "source", 0}; - PyObject *message; - PyObject *category; - PyObject *filename; - int lineno; - PyObject *module = NULL; - PyObject *registry = NULL; - PyObject *module_globals = NULL; - PyObject *sourceobj = NULL; PyObject *source_line = NULL; PyObject *returned; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "OOUi|OOOO:warn_explicit", - kwd_list, &message, &category, &filename, &lineno, &module, - ®istry, &module_globals, &sourceobj)) - return NULL; - PyThreadState *tstate = get_current_tstate(); if (tstate == NULL) { return NULL; @@ -1070,14 +1146,20 @@ warnings_warn_explicit(PyObject *self, PyObject *args, PyObject *kwds) return NULL; } } - returned = warn_explicit(tstate, category, message, filename, lineno, module, - registry, source_line, sourceobj); + returned = warn_explicit(tstate, category, message, filename, lineno, + mod, registry, source_line, sourceobj); Py_XDECREF(source_line); return returned; } +/*[clinic input] +_filters_mutated as warnings_filters_mutated + +[clinic start generated code]*/ + static PyObject * -warnings_filters_mutated(PyObject *self, PyObject *Py_UNUSED(args)) +warnings_filters_mutated_impl(PyObject *module) +/*[clinic end generated code: output=8ce517abd12b88f4 input=35ecbf08ee2491b2]*/ { PyInterpreterState *interp = get_current_interp(); if (interp == NULL) { @@ -1103,7 +1185,7 @@ warn_unicode(PyObject *category, PyObject *message, if (category == NULL) category = PyExc_RuntimeWarning; - res = do_warn(message, category, stack_level, source); + res = do_warn(message, category, stack_level, source, NULL); if (res == NULL) return -1; Py_DECREF(res); @@ -1135,11 +1217,7 @@ PyErr_WarnFormat(PyObject *category, Py_ssize_t stack_level, int res; va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif res = _PyErr_WarnFormatV(NULL, category, stack_level, format, vargs); va_end(vargs); return res; @@ -1152,11 +1230,7 @@ _PyErr_WarnFormat(PyObject *source, PyObject *category, Py_ssize_t stack_level, int res; va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif res = _PyErr_WarnFormatV(source, category, stack_level, format, vargs); va_end(vargs); return res; @@ -1169,11 +1243,7 @@ PyErr_ResourceWarning(PyObject *source, Py_ssize_t stack_level, int res; va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif res = _PyErr_WarnFormatV(source, PyExc_ResourceWarning, stack_level, format, vargs); va_end(vargs); @@ -1277,11 +1347,7 @@ PyErr_WarnExplicitFormat(PyObject *category, goto exit; } -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif message = PyUnicode_FromFormatV(format, vargs); if (message != NULL) { PyObject *res; @@ -1351,15 +1417,10 @@ _PyErr_WarnUnawaitedCoroutine(PyObject *coro) } } -PyDoc_STRVAR(warn_explicit_doc, -"Low-level interface to warnings functionality."); - static PyMethodDef warnings_functions[] = { WARNINGS_WARN_METHODDEF - {"warn_explicit", _PyCFunction_CAST(warnings_warn_explicit), - METH_VARARGS | METH_KEYWORDS, warn_explicit_doc}, - {"_filters_mutated", _PyCFunction_CAST(warnings_filters_mutated), METH_NOARGS, - NULL}, + WARNINGS_WARN_EXPLICIT_METHODDEF + WARNINGS_FILTERS_MUTATED_METHODDEF /* XXX(brett.cannon): add showwarning? */ /* XXX(brett.cannon): Reasonable to add formatwarning? */ {NULL, NULL} /* sentinel */ @@ -1392,6 +1453,7 @@ warnings_module_exec(PyObject *module) static PyModuleDef_Slot warnings_slots[] = { {Py_mod_exec, warnings_module_exec}, + {Py_mod_multiple_interpreters, Py_MOD_PER_INTERPRETER_GIL_SUPPORTED}, {0, NULL} }; diff --git a/contrib/tools/python3/src/Python/assemble.c b/contrib/tools/python3/src/Python/assemble.c new file mode 100644 index 00000000000..8789d8ef978 --- /dev/null +++ b/contrib/tools/python3/src/Python/assemble.c @@ -0,0 +1,603 @@ +#include + +#include "Python.h" +#include "pycore_code.h" // write_location_entry_start() +#include "pycore_compile.h" +#include "pycore_opcode.h" // _PyOpcode_Caches[] and opcode category macros +#include "pycore_pymem.h" // _PyMem_IsPtrFreed() + + +#define DEFAULT_CODE_SIZE 128 +#define DEFAULT_LNOTAB_SIZE 16 +#define DEFAULT_CNOTAB_SIZE 32 + +#undef SUCCESS +#undef ERROR +#define SUCCESS 0 +#define ERROR -1 + +#define RETURN_IF_ERROR(X) \ + if ((X) == -1) { \ + return ERROR; \ + } + +typedef _PyCompilerSrcLocation location; +typedef _PyCompile_Instruction instruction; +typedef _PyCompile_InstructionSequence instr_sequence; + +static inline bool +same_location(location a, location b) +{ + return a.lineno == b.lineno && + a.end_lineno == b.end_lineno && + a.col_offset == b.col_offset && + a.end_col_offset == b.end_col_offset; +} + +struct assembler { + PyObject *a_bytecode; /* bytes containing bytecode */ + int a_offset; /* offset into bytecode */ + PyObject *a_except_table; /* bytes containing exception table */ + int a_except_table_off; /* offset into exception table */ + /* Location Info */ + int a_lineno; /* lineno of last emitted instruction */ + PyObject* a_linetable; /* bytes containing location info */ + int a_location_off; /* offset of last written location info frame */ +}; + +static int +assemble_init(struct assembler *a, int firstlineno) +{ + memset(a, 0, sizeof(struct assembler)); + a->a_lineno = firstlineno; + a->a_linetable = NULL; + a->a_location_off = 0; + a->a_except_table = NULL; + a->a_bytecode = PyBytes_FromStringAndSize(NULL, DEFAULT_CODE_SIZE); + if (a->a_bytecode == NULL) { + goto error; + } + a->a_linetable = PyBytes_FromStringAndSize(NULL, DEFAULT_CNOTAB_SIZE); + if (a->a_linetable == NULL) { + goto error; + } + a->a_except_table = PyBytes_FromStringAndSize(NULL, DEFAULT_LNOTAB_SIZE); + if (a->a_except_table == NULL) { + goto error; + } + return SUCCESS; +error: + Py_XDECREF(a->a_bytecode); + Py_XDECREF(a->a_linetable); + Py_XDECREF(a->a_except_table); + return ERROR; +} + +static void +assemble_free(struct assembler *a) +{ + Py_XDECREF(a->a_bytecode); + Py_XDECREF(a->a_linetable); + Py_XDECREF(a->a_except_table); +} + +static inline void +write_except_byte(struct assembler *a, int byte) { + unsigned char *p = (unsigned char *) PyBytes_AS_STRING(a->a_except_table); + p[a->a_except_table_off++] = byte; +} + +#define CONTINUATION_BIT 64 + +static void +assemble_emit_exception_table_item(struct assembler *a, int value, int msb) +{ + assert ((msb | 128) == 128); + assert(value >= 0 && value < (1 << 30)); + if (value >= 1 << 24) { + write_except_byte(a, (value >> 24) | CONTINUATION_BIT | msb); + msb = 0; + } + if (value >= 1 << 18) { + write_except_byte(a, ((value >> 18)&0x3f) | CONTINUATION_BIT | msb); + msb = 0; + } + if (value >= 1 << 12) { + write_except_byte(a, ((value >> 12)&0x3f) | CONTINUATION_BIT | msb); + msb = 0; + } + if (value >= 1 << 6) { + write_except_byte(a, ((value >> 6)&0x3f) | CONTINUATION_BIT | msb); + msb = 0; + } + write_except_byte(a, (value&0x3f) | msb); +} + +/* See Objects/exception_handling_notes.txt for details of layout */ +#define MAX_SIZE_OF_ENTRY 20 + +static int +assemble_emit_exception_table_entry(struct assembler *a, int start, int end, + _PyCompile_ExceptHandlerInfo *handler) +{ + Py_ssize_t len = PyBytes_GET_SIZE(a->a_except_table); + if (a->a_except_table_off + MAX_SIZE_OF_ENTRY >= len) { + RETURN_IF_ERROR(_PyBytes_Resize(&a->a_except_table, len * 2)); + } + int size = end-start; + assert(end > start); + int target = handler->h_offset; + int depth = handler->h_startdepth - 1; + if (handler->h_preserve_lasti > 0) { + depth -= 1; + } + assert(depth >= 0); + int depth_lasti = (depth<<1) | handler->h_preserve_lasti; + assemble_emit_exception_table_item(a, start, (1<<7)); + assemble_emit_exception_table_item(a, size, 0); + assemble_emit_exception_table_item(a, target, 0); + assemble_emit_exception_table_item(a, depth_lasti, 0); + return SUCCESS; +} + +static int +assemble_exception_table(struct assembler *a, instr_sequence *instrs) +{ + int ioffset = 0; + _PyCompile_ExceptHandlerInfo handler; + handler.h_offset = -1; + handler.h_preserve_lasti = -1; + int start = -1; + for (int i = 0; i < instrs->s_used; i++) { + instruction *instr = &instrs->s_instrs[i]; + if (instr->i_except_handler_info.h_offset != handler.h_offset) { + if (handler.h_offset >= 0) { + RETURN_IF_ERROR( + assemble_emit_exception_table_entry(a, start, ioffset, &handler)); + } + start = ioffset; + handler = instr->i_except_handler_info; + } + ioffset += _PyCompile_InstrSize(instr->i_opcode, instr->i_oparg); + } + if (handler.h_offset >= 0) { + RETURN_IF_ERROR(assemble_emit_exception_table_entry(a, start, ioffset, &handler)); + } + return SUCCESS; +} + + +/* Code location emitting code. See locations.md for a description of the format. */ + +#define MSB 0x80 + +static void +write_location_byte(struct assembler* a, int val) +{ + PyBytes_AS_STRING(a->a_linetable)[a->a_location_off] = val&255; + a->a_location_off++; +} + + +static uint8_t * +location_pointer(struct assembler* a) +{ + return (uint8_t *)PyBytes_AS_STRING(a->a_linetable) + + a->a_location_off; +} + +static void +write_location_first_byte(struct assembler* a, int code, int length) +{ + a->a_location_off += write_location_entry_start( + location_pointer(a), code, length); +} + +static void +write_location_varint(struct assembler* a, unsigned int val) +{ + uint8_t *ptr = location_pointer(a); + a->a_location_off += write_varint(ptr, val); +} + + +static void +write_location_signed_varint(struct assembler* a, int val) +{ + uint8_t *ptr = location_pointer(a); + a->a_location_off += write_signed_varint(ptr, val); +} + +static void +write_location_info_short_form(struct assembler* a, int length, int column, int end_column) +{ + assert(length > 0 && length <= 8); + int column_low_bits = column & 7; + int column_group = column >> 3; + assert(column < 80); + assert(end_column >= column); + assert(end_column - column < 16); + write_location_first_byte(a, PY_CODE_LOCATION_INFO_SHORT0 + column_group, length); + write_location_byte(a, (column_low_bits << 4) | (end_column - column)); +} + +static void +write_location_info_oneline_form(struct assembler* a, int length, int line_delta, int column, int end_column) +{ + assert(length > 0 && length <= 8); + assert(line_delta >= 0 && line_delta < 3); + assert(column < 128); + assert(end_column < 128); + write_location_first_byte(a, PY_CODE_LOCATION_INFO_ONE_LINE0 + line_delta, length); + write_location_byte(a, column); + write_location_byte(a, end_column); +} + +static void +write_location_info_long_form(struct assembler* a, location loc, int length) +{ + assert(length > 0 && length <= 8); + write_location_first_byte(a, PY_CODE_LOCATION_INFO_LONG, length); + write_location_signed_varint(a, loc.lineno - a->a_lineno); + assert(loc.end_lineno >= loc.lineno); + write_location_varint(a, loc.end_lineno - loc.lineno); + write_location_varint(a, loc.col_offset + 1); + write_location_varint(a, loc.end_col_offset + 1); +} + +static void +write_location_info_none(struct assembler* a, int length) +{ + write_location_first_byte(a, PY_CODE_LOCATION_INFO_NONE, length); +} + +static void +write_location_info_no_column(struct assembler* a, int length, int line_delta) +{ + write_location_first_byte(a, PY_CODE_LOCATION_INFO_NO_COLUMNS, length); + write_location_signed_varint(a, line_delta); +} + +#define THEORETICAL_MAX_ENTRY_SIZE 25 /* 1 + 6 + 6 + 6 + 6 */ + + +static int +write_location_info_entry(struct assembler* a, location loc, int isize) +{ + Py_ssize_t len = PyBytes_GET_SIZE(a->a_linetable); + if (a->a_location_off + THEORETICAL_MAX_ENTRY_SIZE >= len) { + assert(len > THEORETICAL_MAX_ENTRY_SIZE); + RETURN_IF_ERROR(_PyBytes_Resize(&a->a_linetable, len*2)); + } + if (loc.lineno < 0) { + write_location_info_none(a, isize); + return SUCCESS; + } + int line_delta = loc.lineno - a->a_lineno; + int column = loc.col_offset; + int end_column = loc.end_col_offset; + assert(column >= -1); + assert(end_column >= -1); + if (column < 0 || end_column < 0) { + if (loc.end_lineno == loc.lineno || loc.end_lineno == -1) { + write_location_info_no_column(a, isize, line_delta); + a->a_lineno = loc.lineno; + return SUCCESS; + } + } + else if (loc.end_lineno == loc.lineno) { + if (line_delta == 0 && column < 80 && end_column - column < 16 && end_column >= column) { + write_location_info_short_form(a, isize, column, end_column); + return SUCCESS; + } + if (line_delta >= 0 && line_delta < 3 && column < 128 && end_column < 128) { + write_location_info_oneline_form(a, isize, line_delta, column, end_column); + a->a_lineno = loc.lineno; + return SUCCESS; + } + } + write_location_info_long_form(a, loc, isize); + a->a_lineno = loc.lineno; + return SUCCESS; +} + +static int +assemble_emit_location(struct assembler* a, location loc, int isize) +{ + if (isize == 0) { + return SUCCESS; + } + while (isize > 8) { + RETURN_IF_ERROR(write_location_info_entry(a, loc, 8)); + isize -= 8; + } + return write_location_info_entry(a, loc, isize); +} + +static int +assemble_location_info(struct assembler *a, instr_sequence *instrs, + int firstlineno) +{ + a->a_lineno = firstlineno; + location loc = NO_LOCATION; + int size = 0; + for (int i = 0; i < instrs->s_used; i++) { + instruction *instr = &instrs->s_instrs[i]; + if (!same_location(loc, instr->i_loc)) { + RETURN_IF_ERROR(assemble_emit_location(a, loc, size)); + loc = instr->i_loc; + size = 0; + } + size += _PyCompile_InstrSize(instr->i_opcode, instr->i_oparg); + } + RETURN_IF_ERROR(assemble_emit_location(a, loc, size)); + return SUCCESS; +} + +static void +write_instr(_Py_CODEUNIT *codestr, instruction *instr, int ilen) +{ + int opcode = instr->i_opcode; + assert(!IS_PSEUDO_OPCODE(opcode)); + int oparg = instr->i_oparg; + assert(HAS_ARG(opcode) || oparg == 0); + int caches = _PyOpcode_Caches[opcode]; + switch (ilen - caches) { + case 4: + codestr->op.code = EXTENDED_ARG; + codestr->op.arg = (oparg >> 24) & 0xFF; + codestr++; + /* fall through */ + case 3: + codestr->op.code = EXTENDED_ARG; + codestr->op.arg = (oparg >> 16) & 0xFF; + codestr++; + /* fall through */ + case 2: + codestr->op.code = EXTENDED_ARG; + codestr->op.arg = (oparg >> 8) & 0xFF; + codestr++; + /* fall through */ + case 1: + codestr->op.code = opcode; + codestr->op.arg = oparg & 0xFF; + codestr++; + break; + default: + Py_UNREACHABLE(); + } + while (caches--) { + codestr->op.code = CACHE; + codestr->op.arg = 0; + codestr++; + } +} + +/* assemble_emit_instr() + Extend the bytecode with a new instruction. + Update lnotab if necessary. +*/ + +static int +assemble_emit_instr(struct assembler *a, instruction *instr) +{ + Py_ssize_t len = PyBytes_GET_SIZE(a->a_bytecode); + _Py_CODEUNIT *code; + + int size = _PyCompile_InstrSize(instr->i_opcode, instr->i_oparg); + if (a->a_offset + size >= len / (int)sizeof(_Py_CODEUNIT)) { + if (len > PY_SSIZE_T_MAX / 2) { + return ERROR; + } + RETURN_IF_ERROR(_PyBytes_Resize(&a->a_bytecode, len * 2)); + } + code = (_Py_CODEUNIT *)PyBytes_AS_STRING(a->a_bytecode) + a->a_offset; + a->a_offset += size; + write_instr(code, instr, size); + return SUCCESS; +} + +static int +assemble_emit(struct assembler *a, instr_sequence *instrs, + int first_lineno, PyObject *const_cache) +{ + RETURN_IF_ERROR(assemble_init(a, first_lineno)); + + for (int i = 0; i < instrs->s_used; i++) { + instruction *instr = &instrs->s_instrs[i]; + RETURN_IF_ERROR(assemble_emit_instr(a, instr)); + } + + RETURN_IF_ERROR(assemble_location_info(a, instrs, a->a_lineno)); + + RETURN_IF_ERROR(assemble_exception_table(a, instrs)); + + RETURN_IF_ERROR(_PyBytes_Resize(&a->a_except_table, a->a_except_table_off)); + RETURN_IF_ERROR(_PyCompile_ConstCacheMergeOne(const_cache, &a->a_except_table)); + + RETURN_IF_ERROR(_PyBytes_Resize(&a->a_linetable, a->a_location_off)); + RETURN_IF_ERROR(_PyCompile_ConstCacheMergeOne(const_cache, &a->a_linetable)); + + RETURN_IF_ERROR(_PyBytes_Resize(&a->a_bytecode, a->a_offset * sizeof(_Py_CODEUNIT))); + RETURN_IF_ERROR(_PyCompile_ConstCacheMergeOne(const_cache, &a->a_bytecode)); + return SUCCESS; +} + +static PyObject * +dict_keys_inorder(PyObject *dict, Py_ssize_t offset) +{ + PyObject *tuple, *k, *v; + Py_ssize_t i, pos = 0, size = PyDict_GET_SIZE(dict); + + tuple = PyTuple_New(size); + if (tuple == NULL) + return NULL; + while (PyDict_Next(dict, &pos, &k, &v)) { + i = PyLong_AS_LONG(v); + assert((i - offset) < size); + assert((i - offset) >= 0); + PyTuple_SET_ITEM(tuple, i - offset, Py_NewRef(k)); + } + return tuple; +} + +// This is in codeobject.c. +extern void _Py_set_localsplus_info(int, PyObject *, unsigned char, + PyObject *, PyObject *); + +static void +compute_localsplus_info(_PyCompile_CodeUnitMetadata *umd, int nlocalsplus, + PyObject *names, PyObject *kinds) +{ + PyObject *k, *v; + Py_ssize_t pos = 0; + while (PyDict_Next(umd->u_varnames, &pos, &k, &v)) { + int offset = (int)PyLong_AS_LONG(v); + assert(offset >= 0); + assert(offset < nlocalsplus); + // For now we do not distinguish arg kinds. + _PyLocals_Kind kind = CO_FAST_LOCAL; + if (PyDict_Contains(umd->u_fasthidden, k)) { + kind |= CO_FAST_HIDDEN; + } + if (PyDict_GetItem(umd->u_cellvars, k) != NULL) { + kind |= CO_FAST_CELL; + } + _Py_set_localsplus_info(offset, k, kind, names, kinds); + } + int nlocals = (int)PyDict_GET_SIZE(umd->u_varnames); + + // This counter mirrors the fix done in fix_cell_offsets(). + int numdropped = 0; + pos = 0; + while (PyDict_Next(umd->u_cellvars, &pos, &k, &v)) { + if (PyDict_GetItem(umd->u_varnames, k) != NULL) { + // Skip cells that are already covered by locals. + numdropped += 1; + continue; + } + int offset = (int)PyLong_AS_LONG(v); + assert(offset >= 0); + offset += nlocals - numdropped; + assert(offset < nlocalsplus); + _Py_set_localsplus_info(offset, k, CO_FAST_CELL, names, kinds); + } + + pos = 0; + while (PyDict_Next(umd->u_freevars, &pos, &k, &v)) { + int offset = (int)PyLong_AS_LONG(v); + assert(offset >= 0); + offset += nlocals - numdropped; + assert(offset < nlocalsplus); + _Py_set_localsplus_info(offset, k, CO_FAST_FREE, names, kinds); + } +} + +static PyCodeObject * +makecode(_PyCompile_CodeUnitMetadata *umd, struct assembler *a, PyObject *const_cache, + PyObject *constslist, int maxdepth, int nlocalsplus, int code_flags, + PyObject *filename) +{ + PyCodeObject *co = NULL; + PyObject *names = NULL; + PyObject *consts = NULL; + PyObject *localsplusnames = NULL; + PyObject *localspluskinds = NULL; + names = dict_keys_inorder(umd->u_names, 0); + if (!names) { + goto error; + } + if (_PyCompile_ConstCacheMergeOne(const_cache, &names) < 0) { + goto error; + } + + consts = PyList_AsTuple(constslist); /* PyCode_New requires a tuple */ + if (consts == NULL) { + goto error; + } + if (_PyCompile_ConstCacheMergeOne(const_cache, &consts) < 0) { + goto error; + } + + assert(umd->u_posonlyargcount < INT_MAX); + assert(umd->u_argcount < INT_MAX); + assert(umd->u_kwonlyargcount < INT_MAX); + int posonlyargcount = (int)umd->u_posonlyargcount; + int posorkwargcount = (int)umd->u_argcount; + assert(INT_MAX - posonlyargcount - posorkwargcount > 0); + int kwonlyargcount = (int)umd->u_kwonlyargcount; + + localsplusnames = PyTuple_New(nlocalsplus); + if (localsplusnames == NULL) { + goto error; + } + localspluskinds = PyBytes_FromStringAndSize(NULL, nlocalsplus); + if (localspluskinds == NULL) { + goto error; + } + compute_localsplus_info(umd, nlocalsplus, localsplusnames, localspluskinds); + + struct _PyCodeConstructor con = { + .filename = filename, + .name = umd->u_name, + .qualname = umd->u_qualname ? umd->u_qualname : umd->u_name, + .flags = code_flags, + + .code = a->a_bytecode, + .firstlineno = umd->u_firstlineno, + .linetable = a->a_linetable, + + .consts = consts, + .names = names, + + .localsplusnames = localsplusnames, + .localspluskinds = localspluskinds, + + .argcount = posonlyargcount + posorkwargcount, + .posonlyargcount = posonlyargcount, + .kwonlyargcount = kwonlyargcount, + + .stacksize = maxdepth, + + .exceptiontable = a->a_except_table, + }; + + if (_PyCode_Validate(&con) < 0) { + goto error; + } + + if (_PyCompile_ConstCacheMergeOne(const_cache, &localsplusnames) < 0) { + goto error; + } + con.localsplusnames = localsplusnames; + + co = _PyCode_New(&con); + if (co == NULL) { + goto error; + } + +error: + Py_XDECREF(names); + Py_XDECREF(consts); + Py_XDECREF(localsplusnames); + Py_XDECREF(localspluskinds); + return co; +} + + +PyCodeObject * +_PyAssemble_MakeCodeObject(_PyCompile_CodeUnitMetadata *umd, PyObject *const_cache, + PyObject *consts, int maxdepth, instr_sequence *instrs, + int nlocalsplus, int code_flags, PyObject *filename) +{ + PyCodeObject *co = NULL; + + struct assembler a; + int res = assemble_emit(&a, instrs, umd->u_firstlineno, const_cache); + if (res == SUCCESS) { + co = makecode(umd, &a, const_cache, consts, maxdepth, nlocalsplus, + code_flags, filename); + } + assemble_free(&a); + return co; +} diff --git a/contrib/tools/python3/src/Python/ast.c b/contrib/tools/python3/src/Python/ast.c index 8bc3c962373..82d7beec0ee 100644 --- a/contrib/tools/python3/src/Python/ast.c +++ b/contrib/tools/python3/src/Python/ast.c @@ -17,10 +17,12 @@ struct validator { static int validate_stmts(struct validator *, asdl_stmt_seq *); static int validate_exprs(struct validator *, asdl_expr_seq *, expr_context_ty, int); static int validate_patterns(struct validator *, asdl_pattern_seq *, int); +static int validate_type_params(struct validator *, asdl_type_param_seq *); static int _validate_nonempty_seq(asdl_seq *, const char *, const char *); static int validate_stmt(struct validator *, stmt_ty); static int validate_expr(struct validator *, expr_ty, expr_context_ty); static int validate_pattern(struct validator *, pattern_ty, int); +static int validate_typeparam(struct validator *, type_param_ty); #define VALIDATE_POSITIONS(node) \ if (node->lineno > node->end_lineno) { \ @@ -731,6 +733,7 @@ validate_stmt(struct validator *state, stmt_ty stmt) switch (stmt->kind) { case FunctionDef_kind: ret = validate_body(state, stmt->v.FunctionDef.body, "FunctionDef") && + validate_type_params(state, stmt->v.FunctionDef.type_params) && validate_arguments(state, stmt->v.FunctionDef.args) && validate_exprs(state, stmt->v.FunctionDef.decorator_list, Load, 0) && (!stmt->v.FunctionDef.returns || @@ -738,6 +741,7 @@ validate_stmt(struct validator *state, stmt_ty stmt) break; case ClassDef_kind: ret = validate_body(state, stmt->v.ClassDef.body, "ClassDef") && + validate_type_params(state, stmt->v.ClassDef.type_params) && validate_exprs(state, stmt->v.ClassDef.bases, Load, 0) && validate_keywords(state, stmt->v.ClassDef.keywords) && validate_exprs(state, stmt->v.ClassDef.decorator_list, Load, 0); @@ -768,6 +772,16 @@ validate_stmt(struct validator *state, stmt_ty stmt) validate_expr(state, stmt->v.AnnAssign.value, Load)) && validate_expr(state, stmt->v.AnnAssign.annotation, Load); break; + case TypeAlias_kind: + if (stmt->v.TypeAlias.name->kind != Name_kind) { + PyErr_SetString(PyExc_TypeError, + "TypeAlias with non-Name name"); + return 0; + } + ret = validate_expr(state, stmt->v.TypeAlias.name, Store) && + validate_type_params(state, stmt->v.TypeAlias.type_params) && + validate_expr(state, stmt->v.TypeAlias.value, Load); + break; case For_kind: ret = validate_expr(state, stmt->v.For.target, Store) && validate_expr(state, stmt->v.For.iter, Load) && @@ -915,6 +929,7 @@ validate_stmt(struct validator *state, stmt_ty stmt) break; case AsyncFunctionDef_kind: ret = validate_body(state, stmt->v.AsyncFunctionDef.body, "AsyncFunctionDef") && + validate_type_params(state, stmt->v.AsyncFunctionDef.type_params) && validate_arguments(state, stmt->v.AsyncFunctionDef.args) && validate_exprs(state, stmt->v.AsyncFunctionDef.decorator_list, Load, 0) && (!stmt->v.AsyncFunctionDef.returns || @@ -987,9 +1002,44 @@ validate_patterns(struct validator *state, asdl_pattern_seq *patterns, int star_ return 1; } +static int +validate_typeparam(struct validator *state, type_param_ty tp) +{ + VALIDATE_POSITIONS(tp); + int ret = -1; + switch (tp->kind) { + case TypeVar_kind: + ret = validate_name(tp->v.TypeVar.name) && + (!tp->v.TypeVar.bound || + validate_expr(state, tp->v.TypeVar.bound, Load)); + break; + case ParamSpec_kind: + ret = validate_name(tp->v.ParamSpec.name); + break; + case TypeVarTuple_kind: + ret = validate_name(tp->v.TypeVarTuple.name); + break; + } + return ret; +} + +static int +validate_type_params(struct validator *state, asdl_type_param_seq *tps) +{ + Py_ssize_t i; + for (i = 0; i < asdl_seq_LEN(tps); i++) { + type_param_ty tp = asdl_seq_GET(tps, i); + if (tp) { + if (!validate_typeparam(state, tp)) + return 0; + } + } + return 1; +} + /* See comments in symtable.c. */ -#define COMPILER_STACK_FRAME_SCALE 3 +#define COMPILER_STACK_FRAME_SCALE 2 int _PyAST_Validate(mod_ty mod) @@ -998,7 +1048,6 @@ _PyAST_Validate(mod_ty mod) int res = -1; struct validator state; PyThreadState *tstate; - int recursion_limit = Py_GetRecursionLimit(); int starting_recursion_depth; /* Setup recursion depth check counters */ @@ -1007,12 +1056,10 @@ _PyAST_Validate(mod_ty mod) return 0; } /* Be careful here to prevent overflow. */ - int recursion_depth = tstate->recursion_limit - tstate->recursion_remaining; - starting_recursion_depth = (recursion_depth< INT_MAX / COMPILER_STACK_FRAME_SCALE) ? - recursion_depth * COMPILER_STACK_FRAME_SCALE : recursion_depth; + int recursion_depth = C_RECURSION_LIMIT - tstate->c_recursion_remaining; + starting_recursion_depth = recursion_depth * COMPILER_STACK_FRAME_SCALE; state.recursion_depth = starting_recursion_depth; - state.recursion_limit = (recursion_limit < INT_MAX / COMPILER_STACK_FRAME_SCALE) ? - recursion_limit * COMPILER_STACK_FRAME_SCALE : recursion_limit; + state.recursion_limit = C_RECURSION_LIMIT * COMPILER_STACK_FRAME_SCALE; switch (mod->kind) { case Module_kind: diff --git a/contrib/tools/python3/src/Python/ast_opt.c b/contrib/tools/python3/src/Python/ast_opt.c index 77ed29d0cdd..f8c4a951323 100644 --- a/contrib/tools/python3/src/Python/ast_opt.c +++ b/contrib/tools/python3/src/Python/ast_opt.c @@ -2,6 +2,7 @@ #include "Python.h" #include "pycore_ast.h" // _PyAST_GetDocString() #include "pycore_compile.h" // _PyASTOptimizeState +#include "pycore_long.h" // _PyLong #include "pycore_pystate.h" // _PyThreadState_GET() #include "pycore_format.h" // F_LJUST @@ -152,7 +153,9 @@ check_complexity(PyObject *obj, Py_ssize_t limit) static PyObject * safe_multiply(PyObject *v, PyObject *w) { - if (PyLong_Check(v) && PyLong_Check(w) && Py_SIZE(v) && Py_SIZE(w)) { + if (PyLong_Check(v) && PyLong_Check(w) && + !_PyLong_IsZero((PyLongObject *)v) && !_PyLong_IsZero((PyLongObject *)w) + ) { size_t vbits = _PyLong_NumBits(v); size_t wbits = _PyLong_NumBits(w); if (vbits == (size_t)-1 || wbits == (size_t)-1) { @@ -198,7 +201,9 @@ safe_multiply(PyObject *v, PyObject *w) static PyObject * safe_power(PyObject *v, PyObject *w) { - if (PyLong_Check(v) && PyLong_Check(w) && Py_SIZE(v) && Py_SIZE(w) > 0) { + if (PyLong_Check(v) && PyLong_Check(w) && + !_PyLong_IsZero((PyLongObject *)v) && _PyLong_IsPositive((PyLongObject *)w) + ) { size_t vbits = _PyLong_NumBits(v); size_t wbits = PyLong_AsSize_t(w); if (vbits == (size_t)-1 || wbits == (size_t)-1) { @@ -215,7 +220,9 @@ safe_power(PyObject *v, PyObject *w) static PyObject * safe_lshift(PyObject *v, PyObject *w) { - if (PyLong_Check(v) && PyLong_Check(w) && Py_SIZE(v) && Py_SIZE(w)) { + if (PyLong_Check(v) && PyLong_Check(w) && + !_PyLong_IsZero((PyLongObject *)v) && !_PyLong_IsZero((PyLongObject *)w) + ) { size_t vbits = _PyLong_NumBits(v); size_t wbits = PyLong_AsSize_t(w); if (vbits == (size_t)-1 || wbits == (size_t)-1) { @@ -532,8 +539,7 @@ make_const_tuple(asdl_expr_seq *elts) for (int i = 0; i < asdl_seq_LEN(elts); i++) { expr_ty e = (expr_ty)asdl_seq_GET(elts, i); PyObject *v = e->v.Constant.value; - Py_INCREF(v); - PyTuple_SET_ITEM(newval, i, v); + PyTuple_SET_ITEM(newval, i, Py_NewRef(v)); } return newval; } @@ -636,6 +642,7 @@ static int astfold_withitem(withitem_ty node_, PyArena *ctx_, _PyASTOptimizeStat static int astfold_excepthandler(excepthandler_ty node_, PyArena *ctx_, _PyASTOptimizeState *state); static int astfold_match_case(match_case_ty node_, PyArena *ctx_, _PyASTOptimizeState *state); static int astfold_pattern(pattern_ty node_, PyArena *ctx_, _PyASTOptimizeState *state); +static int astfold_type_param(type_param_ty node_, PyArena *ctx_, _PyASTOptimizeState *state); #define CALL(FUNC, TYPE, ARG) \ if (!FUNC((ARG), ctx_, state)) \ @@ -874,6 +881,7 @@ astfold_stmt(stmt_ty node_, PyArena *ctx_, _PyASTOptimizeState *state) } switch (node_->kind) { case FunctionDef_kind: + CALL_SEQ(astfold_type_param, type_param, node_->v.FunctionDef.type_params); CALL(astfold_arguments, arguments_ty, node_->v.FunctionDef.args); CALL(astfold_body, asdl_seq, node_->v.FunctionDef.body); CALL_SEQ(astfold_expr, expr, node_->v.FunctionDef.decorator_list); @@ -882,6 +890,7 @@ astfold_stmt(stmt_ty node_, PyArena *ctx_, _PyASTOptimizeState *state) } break; case AsyncFunctionDef_kind: + CALL_SEQ(astfold_type_param, type_param, node_->v.AsyncFunctionDef.type_params); CALL(astfold_arguments, arguments_ty, node_->v.AsyncFunctionDef.args); CALL(astfold_body, asdl_seq, node_->v.AsyncFunctionDef.body); CALL_SEQ(astfold_expr, expr, node_->v.AsyncFunctionDef.decorator_list); @@ -890,6 +899,7 @@ astfold_stmt(stmt_ty node_, PyArena *ctx_, _PyASTOptimizeState *state) } break; case ClassDef_kind: + CALL_SEQ(astfold_type_param, type_param, node_->v.ClassDef.type_params); CALL_SEQ(astfold_expr, expr, node_->v.ClassDef.bases); CALL_SEQ(astfold_keyword, keyword, node_->v.ClassDef.keywords); CALL(astfold_body, asdl_seq, node_->v.ClassDef.body); @@ -916,6 +926,11 @@ astfold_stmt(stmt_ty node_, PyArena *ctx_, _PyASTOptimizeState *state) } CALL_OPT(astfold_expr, expr_ty, node_->v.AnnAssign.value); break; + case TypeAlias_kind: + CALL(astfold_expr, expr_ty, node_->v.TypeAlias.name); + CALL_SEQ(astfold_type_param, type_param, node_->v.TypeAlias.type_params); + CALL(astfold_expr, expr_ty, node_->v.TypeAlias.value); + break; case For_kind: CALL(astfold_expr, expr_ty, node_->v.For.target); CALL(astfold_expr, expr_ty, node_->v.For.iter); @@ -1068,18 +1083,32 @@ astfold_match_case(match_case_ty node_, PyArena *ctx_, _PyASTOptimizeState *stat return 1; } +static int +astfold_type_param(type_param_ty node_, PyArena *ctx_, _PyASTOptimizeState *state) +{ + switch (node_->kind) { + case TypeVar_kind: + CALL_OPT(astfold_expr, expr_ty, node_->v.TypeVar.bound); + break; + case ParamSpec_kind: + break; + case TypeVarTuple_kind: + break; + } + return 1; +} + #undef CALL #undef CALL_OPT #undef CALL_SEQ /* See comments in symtable.c. */ -#define COMPILER_STACK_FRAME_SCALE 3 +#define COMPILER_STACK_FRAME_SCALE 2 int _PyAST_Optimize(mod_ty mod, PyArena *arena, _PyASTOptimizeState *state) { PyThreadState *tstate; - int recursion_limit = Py_GetRecursionLimit(); int starting_recursion_depth; /* Setup recursion depth check counters */ @@ -1088,12 +1117,10 @@ _PyAST_Optimize(mod_ty mod, PyArena *arena, _PyASTOptimizeState *state) return 0; } /* Be careful here to prevent overflow. */ - int recursion_depth = tstate->recursion_limit - tstate->recursion_remaining; - starting_recursion_depth = (recursion_depth < INT_MAX / COMPILER_STACK_FRAME_SCALE) ? - recursion_depth * COMPILER_STACK_FRAME_SCALE : recursion_depth; + int recursion_depth = C_RECURSION_LIMIT - tstate->c_recursion_remaining; + starting_recursion_depth = recursion_depth * COMPILER_STACK_FRAME_SCALE; state->recursion_depth = starting_recursion_depth; - state->recursion_limit = (recursion_limit < INT_MAX / COMPILER_STACK_FRAME_SCALE) ? - recursion_limit * COMPILER_STACK_FRAME_SCALE : recursion_limit; + state->recursion_limit = C_RECURSION_LIMIT * COMPILER_STACK_FRAME_SCALE; int ret = astfold_mod(mod, arena, state); assert(ret || PyErr_Occurred()); diff --git a/contrib/tools/python3/src/Python/ast_unparse.c b/contrib/tools/python3/src/Python/ast_unparse.c index 6565b6b33eb..8aff045101c 100644 --- a/contrib/tools/python3/src/Python/ast_unparse.c +++ b/contrib/tools/python3/src/Python/ast_unparse.c @@ -1,5 +1,6 @@ #include "Python.h" #include "pycore_ast.h" // expr_ty +#include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_runtime.h" // _Py_ID() #include // DBL_MAX_10_EXP #include @@ -13,7 +14,10 @@ _Py_DECLARE_STR(open_br, "{"); _Py_DECLARE_STR(dbl_open_br, "{{"); _Py_DECLARE_STR(close_br, "}"); _Py_DECLARE_STR(dbl_close_br, "}}"); -static PyObject *_str_replace_inf; + +/* We would statically initialize this if doing so were simple enough. */ +#define _str_replace_inf(interp) \ + _Py_INTERP_CACHED_OBJECT(interp, str_replace_inf) /* Forward declarations for recursion via helper functions. */ static PyObject * @@ -78,10 +82,11 @@ append_repr(_PyUnicodeWriter *writer, PyObject *obj) if ((PyFloat_CheckExact(obj) && Py_IS_INFINITY(PyFloat_AS_DOUBLE(obj))) || PyComplex_CheckExact(obj)) { + PyInterpreterState *interp = _PyInterpreterState_GET(); PyObject *new_repr = PyUnicode_Replace( repr, &_Py_ID(inf), - _str_replace_inf, + _str_replace_inf(interp), -1 ); Py_DECREF(repr); @@ -916,9 +921,13 @@ append_ast_expr(_PyUnicodeWriter *writer, expr_ty e, int level) static int maybe_init_static_strings(void) { - if (!_str_replace_inf && - !(_str_replace_inf = PyUnicode_FromFormat("1e%d", 1 + DBL_MAX_10_EXP))) { - return -1; + PyInterpreterState *interp = _PyInterpreterState_GET(); + if (_str_replace_inf(interp) == NULL) { + PyObject *tmp = PyUnicode_FromFormat("1e%d", 1 + DBL_MAX_10_EXP); + if (tmp == NULL) { + return -1; + } + _str_replace_inf(interp) = tmp; } return 0; } diff --git a/contrib/tools/python3/src/Python/bltinmodule.c b/contrib/tools/python3/src/Python/bltinmodule.c index f30040507bc..84fbc33a48c 100644 --- a/contrib/tools/python3/src/Python/bltinmodule.c +++ b/contrib/tools/python3/src/Python/bltinmodule.c @@ -5,6 +5,7 @@ #include "pycore_ast.h" // _PyAST_Validate() #include "pycore_call.h" // _PyObject_CallNoArgs() #include "pycore_compile.h" // _PyAST_Compile() +#include "pycore_long.h" // _PyLong_CompactValue #include "pycore_object.h" // _Py_AddToAllObjects() #include "pycore_pyerrors.h" // _PyErr_NoMemory() #include "pycore_pystate.h" // _PyThreadState_GET() @@ -63,8 +64,7 @@ update_bases(PyObject *bases, PyObject *const *args, Py_ssize_t nargs) } for (j = 0; j < i; j++) { base = args[j]; - PyList_SET_ITEM(new_bases, j, base); - Py_INCREF(base); + PyList_SET_ITEM(new_bases, j, Py_NewRef(base)); } } j = PyList_GET_SIZE(new_bases); @@ -169,9 +169,7 @@ builtin___build_class__(PyObject *self, PyObject *const *args, Py_ssize_t nargs, goto error; } if (winner != meta) { - Py_DECREF(meta); - meta = winner; - Py_INCREF(meta); + Py_SETREF(meta, Py_NewRef(winner)); } } /* else: meta is not a class, so we cannot do the metaclass @@ -198,6 +196,7 @@ builtin___build_class__(PyObject *self, PyObject *const *args, Py_ssize_t nargs, goto error; } PyThreadState *tstate = _PyThreadState_GET(); + EVAL_CALL_STAT_INC(EVAL_CALL_BUILD_CLASS); cell = _PyEval_Vector(tstate, (PyFunctionObject *)func, ns, NULL, 0, NULL); if (cell != NULL) { if (bases != orig_bases) { @@ -220,8 +219,7 @@ builtin___build_class__(PyObject *self, PyObject *const *args, Py_ssize_t nargs, "__class__ set to %.200R defining %.200R as %.200R"; PyErr_Format(PyExc_TypeError, msg, cell_cls, name, cls); } - Py_DECREF(cls); - cls = NULL; + Py_SETREF(cls, NULL); goto error; } } @@ -678,16 +676,19 @@ format as builtin_format format_spec: unicode(c_default="NULL") = '' / -Return value.__format__(format_spec) +Return type(value).__format__(value, format_spec) + +Many built-in types implement format_spec according to the +Format Specification Mini-language. See help('FORMATTING'). -format_spec defaults to the empty string. -See the Format Specification Mini-Language section of help('FORMATTING') for -details. +If type(value) does not supply a method named __format__ +and format_spec is empty, then str(value) is returned. +See also help('SPECIALMETHODS'). [clinic start generated code]*/ static PyObject * builtin_format_impl(PyObject *module, PyObject *value, PyObject *format_spec) -/*[clinic end generated code: output=2f40bdfa4954b077 input=88339c93ea522b33]*/ +/*[clinic end generated code: output=2f40bdfa4954b077 input=45ef3934b86d5624]*/ { return PyObject_Format(value, format_spec); } @@ -716,7 +717,7 @@ compile as builtin_compile filename: object(converter="PyUnicode_FSDecoder") mode: str flags: int = 0 - dont_inherit: bool(accept={int}) = False + dont_inherit: bool = False optimize: int = -1 * _feature_version as feature_version: int = -1 @@ -739,7 +740,7 @@ static PyObject * builtin_compile_impl(PyObject *module, PyObject *source, PyObject *filename, const char *mode, int flags, int dont_inherit, int optimize, int feature_version) -/*[clinic end generated code: output=b0c09c84f116d3d7 input=40171fb92c1d580d]*/ +/*[clinic end generated code: output=b0c09c84f116d3d7 input=cc78e20e7c7682ba]*/ { PyObject *source_copy; const char *str; @@ -802,8 +803,7 @@ builtin_compile_impl(PyObject *module, PyObject *source, PyObject *filename, goto error; if (is_ast) { if (flags & PyCF_ONLY_AST) { - Py_INCREF(source); - result = source; + result = Py_NewRef(source); } else { PyArena *arena; @@ -840,31 +840,33 @@ finally: return result; } -/* AC: cannot convert yet, as needs PEP 457 group support in inspect */ +/*[clinic input] +dir as builtin_dir + + arg: object = NULL + / + +Show attributes of an object. + +If called without an argument, return the names in the current scope. +Else, return an alphabetized list of names comprising (some of) the attributes +of the given object, and of attributes reachable from it. +If the object supplies a method named __dir__, it will be used; otherwise +the default dir() logic is used and returns: + for a module object: the module's attributes. + for a class object: its attributes, and recursively the attributes + of its bases. + for any other object: its attributes, its class's attributes, and + recursively the attributes of its class's base classes. +[clinic start generated code]*/ + static PyObject * -builtin_dir(PyObject *self, PyObject *args) +builtin_dir_impl(PyObject *module, PyObject *arg) +/*[clinic end generated code: output=24f2c7a52c1e3b08 input=ed6d6ccb13d52251]*/ { - PyObject *arg = NULL; - - if (!PyArg_UnpackTuple(args, "dir", 0, 1, &arg)) - return NULL; return PyObject_Dir(arg); } -PyDoc_STRVAR(dir_doc, -"dir([object]) -> list of strings\n" -"\n" -"If called without an argument, return the names in the current scope.\n" -"Else, return an alphabetized list of names comprising (some of) the attributes\n" -"of the given object, and of attributes reachable from it.\n" -"If the object supplies a method named __dir__, it will be used; otherwise\n" -"the default dir() logic is used and returns:\n" -" for a module object: the module's attributes.\n" -" for a class object: its attributes, and recursively the attributes\n" -" of its bases.\n" -" 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 @@ -905,7 +907,7 @@ builtin_eval_impl(PyObject *module, PyObject *source, PyObject *globals, PyObject *locals) /*[clinic end generated code: output=0a0824aa70093116 input=11ee718a8640e527]*/ { - PyObject *result, *source_copy; + PyObject *result = NULL, *source_copy; const char *str; if (locals != Py_None && !PyMapping_Check(locals)) { @@ -921,19 +923,25 @@ builtin_eval_impl(PyObject *module, PyObject *source, PyObject *globals, if (globals == Py_None) { globals = PyEval_GetGlobals(); if (locals == Py_None) { - locals = PyEval_GetLocals(); + locals = _PyEval_GetFrameLocals(); if (locals == NULL) return NULL; } + else { + Py_INCREF(locals); + } } else if (locals == Py_None) - locals = globals; + locals = Py_NewRef(globals); + else { + Py_INCREF(locals); + } if (globals == NULL || locals == NULL) { PyErr_SetString(PyExc_TypeError, "eval must be given globals and locals " "when called without a frame"); - return NULL; + goto error; } int r = PyDict_Contains(globals, &_Py_ID(__builtins__)); @@ -941,34 +949,38 @@ builtin_eval_impl(PyObject *module, PyObject *source, PyObject *globals, r = PyDict_SetItem(globals, &_Py_ID(__builtins__), PyEval_GetBuiltins()); } if (r < 0) { - return NULL; + goto error; } if (PyCode_Check(source)) { if (PySys_Audit("exec", "O", source) < 0) { - return NULL; + goto error; } if (PyCode_GetNumFree((PyCodeObject *)source) > 0) { PyErr_SetString(PyExc_TypeError, "code object passed to eval() may not contain free variables"); - return NULL; + goto error; } - return PyEval_EvalCode(source, globals, locals); + result = PyEval_EvalCode(source, globals, locals); } + else { + PyCompilerFlags cf = _PyCompilerFlags_INIT; + cf.cf_flags = PyCF_SOURCE_IS_UTF8; + str = _Py_SourceAsString(source, "eval", "string, bytes or code", &cf, &source_copy); + if (str == NULL) + goto error; - PyCompilerFlags cf = _PyCompilerFlags_INIT; - cf.cf_flags = PyCF_SOURCE_IS_UTF8; - str = _Py_SourceAsString(source, "eval", "string, bytes or code", &cf, &source_copy); - if (str == NULL) - return NULL; + while (*str == ' ' || *str == '\t') + str++; - while (*str == ' ' || *str == '\t') - str++; + (void)PyEval_MergeCompilerFlags(&cf); + result = PyRun_StringFlags(str, Py_eval_input, globals, locals, &cf); + Py_XDECREF(source_copy); + } - (void)PyEval_MergeCompilerFlags(&cf); - result = PyRun_StringFlags(str, Py_eval_input, globals, locals, &cf); - Py_XDECREF(source_copy); + error: + Py_XDECREF(locals); return result; } @@ -1003,36 +1015,43 @@ builtin_exec_impl(PyObject *module, PyObject *source, PyObject *globals, if (globals == Py_None) { globals = PyEval_GetGlobals(); if (locals == Py_None) { - locals = PyEval_GetLocals(); + locals = _PyEval_GetFrameLocals(); if (locals == NULL) return NULL; } + else { + Py_INCREF(locals); + } if (!globals || !locals) { PyErr_SetString(PyExc_SystemError, "globals and locals cannot be NULL"); return NULL; } } - else if (locals == Py_None) - locals = globals; + else if (locals == Py_None) { + locals = Py_NewRef(globals); + } + else { + Py_INCREF(locals); + } if (!PyDict_Check(globals)) { PyErr_Format(PyExc_TypeError, "exec() globals must be a dict, not %.100s", Py_TYPE(globals)->tp_name); - return NULL; + goto error; } if (!PyMapping_Check(locals)) { PyErr_Format(PyExc_TypeError, "locals must be a mapping or None, not %.100s", Py_TYPE(locals)->tp_name); - return NULL; + goto error; } int r = PyDict_Contains(globals, &_Py_ID(__builtins__)); if (r == 0) { r = PyDict_SetItem(globals, &_Py_ID(__builtins__), PyEval_GetBuiltins()); } if (r < 0) { - return NULL; + goto error; } if (closure == Py_None) { @@ -1045,7 +1064,7 @@ builtin_exec_impl(PyObject *module, PyObject *source, PyObject *globals, if (closure) { PyErr_SetString(PyExc_TypeError, "cannot use a closure with this code object"); - return NULL; + goto error; } } else { int closure_is_ok = @@ -1065,12 +1084,12 @@ builtin_exec_impl(PyObject *module, PyObject *source, PyObject *globals, PyErr_Format(PyExc_TypeError, "code object requires a closure of exactly length %zd", num_free); - return NULL; + goto error; } } if (PySys_Audit("exec", "O", source) < 0) { - return NULL; + goto error; } if (!closure) { @@ -1097,7 +1116,7 @@ builtin_exec_impl(PyObject *module, PyObject *source, PyObject *globals, "string, bytes or code", &cf, &source_copy); if (str == NULL) - return NULL; + goto error; if (PyEval_MergeCompilerFlags(&cf)) v = PyRun_StringFlags(str, Py_file_input, globals, locals, &cf); @@ -1106,43 +1125,50 @@ builtin_exec_impl(PyObject *module, PyObject *source, PyObject *globals, Py_XDECREF(source_copy); } if (v == NULL) - return NULL; + goto error; + Py_DECREF(locals); Py_DECREF(v); Py_RETURN_NONE; + + error: + Py_XDECREF(locals); + return NULL; } -/* AC: cannot convert yet, as needs PEP 457 group support in inspect */ +/*[clinic input] +getattr as builtin_getattr + + object: object + name: object + default: object = NULL + / + +Get a named attribute from an object. + +getattr(x, 'y') is equivalent to x.y +When a default argument is given, it is returned when the attribute doesn't +exist; without it, an exception is raised in that case. +[clinic start generated code]*/ + static PyObject * -builtin_getattr(PyObject *self, PyObject *const *args, Py_ssize_t nargs) +builtin_getattr_impl(PyObject *module, PyObject *object, PyObject *name, + PyObject *default_value) +/*[clinic end generated code: output=74ad0e225e3f701c input=d7562cd4c3556171]*/ { - PyObject *v, *name, *result; - - if (!_PyArg_CheckPositional("getattr", nargs, 2, 3)) - return NULL; + PyObject *result; - v = args[0]; - name = args[1]; - if (nargs > 2) { - if (_PyObject_LookupAttr(v, name, &result) == 0) { - PyObject *dflt = args[2]; - Py_INCREF(dflt); - return dflt; + if (default_value != NULL) { + if (_PyObject_LookupAttr(object, name, &result) == 0) { + return Py_NewRef(default_value); } } else { - result = PyObject_GetAttr(v, name); + result = PyObject_GetAttr(object, name); } return result; } -PyDoc_STRVAR(getattr_doc, -"getattr(object, name[, default]) -> value\n\ -\n\ -Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y.\n\ -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 @@ -1160,8 +1186,7 @@ builtin_globals_impl(PyObject *module) PyObject *d; d = PyEval_GetGlobals(); - Py_XINCREF(d); - return d; + return Py_XNewRef(d); } @@ -1388,12 +1413,10 @@ map_reduce(mapobject *lz, PyObject *Py_UNUSED(ignored)) Py_ssize_t i; if (args == NULL) return NULL; - Py_INCREF(lz->func); - PyTuple_SET_ITEM(args, 0, lz->func); + PyTuple_SET_ITEM(args, 0, Py_NewRef(lz->func)); for (i = 0; iiters, i); - Py_INCREF(it); - PyTuple_SET_ITEM(args, i+1, it); + PyTuple_SET_ITEM(args, i+1, Py_NewRef(it)); } return Py_BuildValue("ON", Py_TYPE(lz), args); @@ -1457,35 +1480,43 @@ PyTypeObject PyMap_Type = { }; -/* AC: cannot convert yet, as needs PEP 457 group support in inspect */ +/*[clinic input] +next as builtin_next + + iterator: object + default: object = NULL + / + +Return the next item from the iterator. + +If default is given and the iterator is exhausted, +it is returned instead of raising StopIteration. +[clinic start generated code]*/ + static PyObject * -builtin_next(PyObject *self, PyObject *const *args, Py_ssize_t nargs) +builtin_next_impl(PyObject *module, PyObject *iterator, + PyObject *default_value) +/*[clinic end generated code: output=a38a94eeb447fef9 input=180f9984f182020f]*/ { - PyObject *it, *res; - - if (!_PyArg_CheckPositional("next", nargs, 1, 2)) - return NULL; + PyObject *res; - it = args[0]; - if (!PyIter_Check(it)) { + if (!PyIter_Check(iterator)) { PyErr_Format(PyExc_TypeError, "'%.200s' object is not an iterator", - Py_TYPE(it)->tp_name); + Py_TYPE(iterator)->tp_name); return NULL; } - res = (*Py_TYPE(it)->tp_iternext)(it); + res = (*Py_TYPE(iterator)->tp_iternext)(iterator); if (res != NULL) { return res; - } else if (nargs > 1) { - PyObject *def = args[1]; + } else if (default_value != NULL) { if (PyErr_Occurred()) { if(!PyErr_ExceptionMatches(PyExc_StopIteration)) return NULL; PyErr_Clear(); } - Py_INCREF(def); - return def; + return Py_NewRef(default_value); } else if (PyErr_Occurred()) { return NULL; } else { @@ -1494,12 +1525,6 @@ builtin_next(PyObject *self, PyObject *const *args, Py_ssize_t nargs) } } -PyDoc_STRVAR(next_doc, -"next(iterator[, default])\n\ -\n\ -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 @@ -1592,34 +1617,33 @@ builtin_hex(PyObject *module, PyObject *number) } -/* AC: cannot convert yet, as needs PEP 457 group support in inspect */ +/*[clinic input] +iter as builtin_iter + + object: object + sentinel: object = NULL + / + +Get an iterator from an object. + +In the first form, the argument must supply its own iterator, or be a sequence. +In the second form, the callable is called until it returns the sentinel. +[clinic start generated code]*/ + static PyObject * -builtin_iter(PyObject *self, PyObject *const *args, Py_ssize_t nargs) +builtin_iter_impl(PyObject *module, PyObject *object, PyObject *sentinel) +/*[clinic end generated code: output=12cf64203c195a94 input=a5d64d9d81880ba6]*/ { - PyObject *v; - - if (!_PyArg_CheckPositional("iter", nargs, 1, 2)) - return NULL; - v = args[0]; - if (nargs == 1) - return PyObject_GetIter(v); - if (!PyCallable_Check(v)) { + if (sentinel == NULL) + return PyObject_GetIter(object); + if (!PyCallable_Check(object)) { PyErr_SetString(PyExc_TypeError, - "iter(v, w): v must be callable"); + "iter(object, sentinel): object must be callable"); return NULL; } - PyObject *sentinel = args[1]; - return PyCallIter_New(v, sentinel); + return PyCallIter_New(object, sentinel); } -PyDoc_STRVAR(iter_doc, -"iter(iterable) -> iterator\n\ -iter(callable, sentinel) -> iterator\n\ -\n\ -Get an iterator from an object. In the first form, the argument must\n\ -supply its own iterator, or be a sequence.\n\ -In the second form, the callable is called until it returns the sentinel."); - /*[clinic input] aiter as builtin_aiter @@ -1718,11 +1742,7 @@ static PyObject * builtin_locals_impl(PyObject *module) /*[clinic end generated code: output=b46c94015ce11448 input=7874018d478d5c4b]*/ { - PyObject *d; - - d = PyEval_GetLocals(); - Py_XINCREF(d); - return d; + return _PyEval_GetFrameLocals(); } @@ -1783,8 +1803,7 @@ min_max(PyObject *args, PyObject *kwds, int op) } /* no key function; the value is the item */ else { - val = item; - Py_INCREF(val); + val = Py_NewRef(item); } /* maximum value and item are unset; set them */ @@ -1814,11 +1833,10 @@ min_max(PyObject *args, PyObject *kwds, int op) if (maxval == NULL) { assert(maxitem == NULL); if (defaultval != NULL) { - Py_INCREF(defaultval); - maxitem = defaultval; + maxitem = Py_NewRef(defaultval); } else { PyErr_Format(PyExc_ValueError, - "%s() arg is an empty sequence", name); + "%s() iterable argument is empty", name); } } else @@ -2341,7 +2359,7 @@ builtin_round_impl(PyObject *module, PyObject *number, PyObject *ndigits) { PyObject *round, *result; - if (Py_TYPE(number)->tp_dict == NULL) { + if (!_PyType_IsReady(Py_TYPE(number))) { if (PyType_Ready(Py_TYPE(number)) < 0) return NULL; } @@ -2425,21 +2443,29 @@ builtin_sorted(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject } -/* AC: cannot convert yet, as needs PEP 457 group support in inspect */ +/*[clinic input] +vars as builtin_vars + + object: object = NULL + / + +Show vars. + +Without arguments, equivalent to locals(). +With an argument, equivalent to object.__dict__. +[clinic start generated code]*/ + static PyObject * -builtin_vars(PyObject *self, PyObject *args) +builtin_vars_impl(PyObject *module, PyObject *object) +/*[clinic end generated code: output=840a7f64007a3e0a input=80cbdef9182c4ba3]*/ { - PyObject *v = NULL; PyObject *d; - if (!PyArg_UnpackTuple(args, "vars", 0, 1, &v)) - return NULL; - if (v == NULL) { - d = PyEval_GetLocals(); - Py_XINCREF(d); + if (object == NULL) { + d = _PyEval_GetFrameLocals(); } else { - if (_PyObject_LookupAttr(v, &_Py_ID(__dict__), &d) == 0) { + if (_PyObject_LookupAttr(object, &_Py_ID(__dict__), &d) == 0) { PyErr_SetString(PyExc_TypeError, "vars() argument must have __dict__ attribute"); } @@ -2447,12 +2473,6 @@ builtin_vars(PyObject *self, PyObject *args) return d; } -PyDoc_STRVAR(vars_doc, -"vars([object]) -> dictionary\n\ -\n\ -Without arguments, equivalent to locals().\n\ -With an argument, equivalent to object.__dict__."); - /*[clinic input] sum as builtin_sum @@ -2515,11 +2535,10 @@ builtin_sum_impl(PyObject *module, PyObject *iterable, PyObject *start) */ if (PyLong_CheckExact(result)) { int overflow; - long i_result = PyLong_AsLongAndOverflow(result, &overflow); + Py_ssize_t i_result = PyLong_AsLongAndOverflow(result, &overflow); /* If this already overflowed, don't even enter the loop. */ if (overflow == 0) { - Py_DECREF(result); - result = NULL; + Py_SETREF(result, NULL); } while(result == NULL) { item = PyIter_Next(iter); @@ -2527,18 +2546,17 @@ builtin_sum_impl(PyObject *module, PyObject *iterable, PyObject *start) Py_DECREF(iter); if (PyErr_Occurred()) return NULL; - return PyLong_FromLong(i_result); + return PyLong_FromSsize_t(i_result); } if (PyLong_CheckExact(item) || PyBool_Check(item)) { - long b; + Py_ssize_t b; overflow = 0; /* Single digits are common, fast, and cannot overflow on unpacking. */ - switch (Py_SIZE(item)) { - case -1: b = -(sdigit) ((PyLongObject*)item)->ob_digit[0]; break; - // Note: the continue goes to the top of the "while" loop that iterates over the elements - case 0: Py_DECREF(item); continue; - case 1: b = ((PyLongObject*)item)->ob_digit[0]; break; - default: b = PyLong_AsLongAndOverflow(item, &overflow); break; + if (_PyLong_IsCompact((PyLongObject *)item)) { + b = _PyLong_CompactValue((PyLongObject *)item); + } + else { + b = PyLong_AsLongAndOverflow(item, &overflow); } if (overflow == 0 && (i_result >= 0 ? (b <= LONG_MAX - i_result) @@ -2550,7 +2568,7 @@ builtin_sum_impl(PyObject *module, PyObject *iterable, PyObject *start) } } /* Either overflowed or is not an int. Restore real objects and process normally */ - result = PyLong_FromLong(i_result); + result = PyLong_FromSsize_t(i_result); if (result == NULL) { Py_DECREF(item); Py_DECREF(iter); @@ -2569,18 +2587,36 @@ builtin_sum_impl(PyObject *module, PyObject *iterable, PyObject *start) if (PyFloat_CheckExact(result)) { double f_result = PyFloat_AS_DOUBLE(result); - Py_DECREF(result); - result = NULL; + double c = 0.0; + Py_SETREF(result, NULL); while(result == NULL) { item = PyIter_Next(iter); if (item == NULL) { Py_DECREF(iter); if (PyErr_Occurred()) return NULL; + /* Avoid losing the sign on a negative result, + and don't let adding the compensation convert + an infinite or overflowed sum to a NaN. */ + if (c && Py_IS_FINITE(c)) { + f_result += c; + } return PyFloat_FromDouble(f_result); } if (PyFloat_CheckExact(item)) { - f_result += PyFloat_AS_DOUBLE(item); + // Improved Kahan–BabuÅ¡ka algorithm by Arnold Neumaier + // Neumaier, A. (1974), Rundungsfehleranalyse einiger Verfahren + // zur Summation endlicher Summen. Z. angew. Math. Mech., + // 54: 39-51. https://doi.org/10.1002/zamm.19740540106 + // https://en.wikipedia.org/wiki/Kahan_summation_algorithm#Further_enhancements + double x = PyFloat_AS_DOUBLE(item); + double t = f_result + x; + if (fabs(f_result) >= fabs(x)) { + c += (f_result - t) + x; + } else { + c += (x - t) + f_result; + } + f_result = t; _Py_DECREF_SPECIALIZED(item, _PyFloat_ExactDealloc); continue; } @@ -2594,6 +2630,9 @@ builtin_sum_impl(PyObject *module, PyObject *iterable, PyObject *start) continue; } } + if (c && Py_IS_FINITE(c)) { + f_result += c; + } result = PyFloat_FromDouble(f_result); if (result == NULL) { Py_DECREF(item); @@ -2617,8 +2656,7 @@ builtin_sum_impl(PyObject *module, PyObject *iterable, PyObject *start) if (item == NULL) { /* error, or end-of-sequence */ if (PyErr_Occurred()) { - Py_DECREF(result); - result = NULL; + Py_SETREF(result, NULL); } break; } @@ -2759,8 +2797,7 @@ zip_new(PyTypeObject *type, PyObject *args, PyObject *kwds) return NULL; } for (i=0 ; i < tuplesize ; i++) { - Py_INCREF(Py_None); - PyTuple_SET_ITEM(result, i, Py_None); + PyTuple_SET_ITEM(result, i, Py_NewRef(Py_None)); } /* create zipobject structure */ @@ -2987,12 +3024,12 @@ static PyMethodDef builtin_methods[] = { BUILTIN_CHR_METHODDEF BUILTIN_COMPILE_METHODDEF BUILTIN_DELATTR_METHODDEF - {"dir", builtin_dir, METH_VARARGS, dir_doc}, + BUILTIN_DIR_METHODDEF BUILTIN_DIVMOD_METHODDEF BUILTIN_EVAL_METHODDEF BUILTIN_EXEC_METHODDEF BUILTIN_FORMAT_METHODDEF - {"getattr", _PyCFunction_CAST(builtin_getattr), METH_FASTCALL, getattr_doc}, + BUILTIN_GETATTR_METHODDEF BUILTIN_GLOBALS_METHODDEF BUILTIN_HASATTR_METHODDEF BUILTIN_HASH_METHODDEF @@ -3001,13 +3038,13 @@ static PyMethodDef builtin_methods[] = { BUILTIN_INPUT_METHODDEF BUILTIN_ISINSTANCE_METHODDEF BUILTIN_ISSUBCLASS_METHODDEF - {"iter", _PyCFunction_CAST(builtin_iter), METH_FASTCALL, iter_doc}, + BUILTIN_ITER_METHODDEF BUILTIN_AITER_METHODDEF BUILTIN_LEN_METHODDEF BUILTIN_LOCALS_METHODDEF {"max", _PyCFunction_CAST(builtin_max), METH_VARARGS | METH_KEYWORDS, max_doc}, {"min", _PyCFunction_CAST(builtin_min), METH_VARARGS | METH_KEYWORDS, min_doc}, - {"next", _PyCFunction_CAST(builtin_next), METH_FASTCALL, next_doc}, + BUILTIN_NEXT_METHODDEF BUILTIN_ANEXT_METHODDEF BUILTIN_OCT_METHODDEF BUILTIN_ORD_METHODDEF @@ -3018,7 +3055,7 @@ static PyMethodDef builtin_methods[] = { BUILTIN_SETATTR_METHODDEF BUILTIN_SORTED_METHODDEF BUILTIN_SUM_METHODDEF - {"vars", builtin_vars, METH_VARARGS, vars_doc}, + BUILTIN_VARS_METHODDEF {NULL, NULL}, }; diff --git a/contrib/tools/python3/src/Python/bootstrap_hash.c b/contrib/tools/python3/src/Python/bootstrap_hash.c index 1724e31bf4e..da85db35c14 100644 --- a/contrib/tools/python3/src/Python/bootstrap_hash.c +++ b/contrib/tools/python3/src/Python/bootstrap_hash.c @@ -1,6 +1,7 @@ #include "Python.h" #include "pycore_initconfig.h" #include "pycore_fileutils.h" // _Py_fstat_noraise() +#include "pycore_runtime.h" // _PyRuntime #ifdef MS_WINDOWS # include @@ -268,11 +269,7 @@ py_getentropy(char *buffer, Py_ssize_t size, int raise) #endif /* defined(HAVE_GETENTROPY) && !(defined(__sun) && defined(__SVR4)) */ -static struct { - int fd; - dev_t st_dev; - ino_t st_ino; -} urandom_cache = { -1 }; +#define urandom_cache (_PyRuntime.pyhash_state.urandom_cache) /* Read random bytes from the /dev/urandom device: @@ -407,6 +404,9 @@ dev_urandom_close(void) urandom_cache.fd = -1; } } + +#undef urandom_cache + #endif /* !MS_WINDOWS */ diff --git a/contrib/tools/python3/src/Python/ceval.c b/contrib/tools/python3/src/Python/ceval.c index 1ce6bbc10fb..6110883ca0e 100644 --- a/contrib/tools/python3/src/Python/ceval.c +++ b/contrib/tools/python3/src/Python/ceval.c @@ -1,9 +1,6 @@ /* Execute compiled code */ -/* XXX TO DO: - XXX speed up searching for keywords by using a dictionary - XXX document it! - */ +#define _PY_INTERPRETER #include "Python.h" #include "pycore_abstract.h" // _PyIndex_Check() @@ -11,22 +8,26 @@ #include "pycore_ceval.h" // _PyEval_SignalAsyncExc() #include "pycore_code.h" #include "pycore_function.h" -#include "pycore_initconfig.h" // _PyStatus_OK() +#include "pycore_intrinsics.h" #include "pycore_long.h" // _PyLong_GetZero() +#include "pycore_instruments.h" #include "pycore_object.h" // _PyObject_GC_TRACK() #include "pycore_moduleobject.h" // PyModuleObject #include "pycore_opcode.h" // EXTRA_CASES -#include "pycore_pyerrors.h" // _PyErr_Fetch() -#include "pycore_pylifecycle.h" // _PyErr_Print() +#include "pycore_pyerrors.h" // _PyErr_GetRaisedException() #include "pycore_pymem.h" // _PyMem_IsPtrFreed() #include "pycore_pystate.h" // _PyInterpreterState_GET() +#include "pycore_range.h" // _PyRangeIterObject +#include "pycore_sliceobject.h" // _PyBuildSlice_ConsumeRefs #include "pycore_sysmodule.h" // _PySys_Audit() #include "pycore_tuple.h" // _PyTuple_ITEMS() +#include "pycore_typeobject.h" // _PySuper_Lookup() #include "pycore_emscripten_signal.h" // _Py_CHECK_EMSCRIPTEN_SIGNALS #include "pycore_dict.h" #include "dictobject.h" #include "pycore_frame.h" +#include "frameobject.h" // _PyInterpreterFrame_GetLine #include "opcode.h" #include "pydtrace.h" #include "setobject.h" @@ -55,6 +56,10 @@ #define Py_DECREF(arg) \ do { \ PyObject *op = _PyObject_CAST(arg); \ + if (_Py_IsImmortal(op)) { \ + break; \ + } \ + _Py_DECREF_STAT_INC(); \ if (--op->ob_refcnt == 0) { \ destructor dealloc = Py_TYPE(op)->tp_dealloc; \ (*dealloc)(op); \ @@ -78,6 +83,10 @@ #define _Py_DECREF_SPECIALIZED(arg, dealloc) \ do { \ PyObject *op = _PyObject_CAST(arg); \ + if (_Py_IsImmortal(op)) { \ + break; \ + } \ + _Py_DECREF_STAT_INC(); \ if (--op->ob_refcnt == 0) { \ destructor d = (destructor)(dealloc); \ d(op); \ @@ -93,21 +102,12 @@ #endif -/* Forward declarations */ -static PyObject *trace_call_function( - PyThreadState *tstate, PyObject *callable, PyObject **stack, - Py_ssize_t oparg, PyObject *kwnames); -static PyObject * do_call_core( - PyThreadState *tstate, PyObject *func, - PyObject *callargs, PyObject *kwdict, int use_tracing); - #ifdef LLTRACE static void dump_stack(_PyInterpreterFrame *frame, PyObject **stack_pointer) { PyObject **stack_base = _PyFrame_Stackbase(frame); - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); + PyObject *exc = PyErr_GetRaisedException(); printf(" stack=["); for (PyObject **ptr = stack_base; ptr < stack_pointer; ptr++) { if (ptr != stack_base) { @@ -121,7 +121,7 @@ dump_stack(_PyInterpreterFrame *frame, PyObject **stack_pointer) } printf("]\n"); fflush(stdout); - PyErr_Restore(type, value, traceback); + PyErr_SetRaisedException(exc); } static void @@ -129,13 +129,16 @@ lltrace_instruction(_PyInterpreterFrame *frame, PyObject **stack_pointer, _Py_CODEUNIT *next_instr) { + /* This dump_stack() operation is risky, since the repr() of some + objects enters the interpreter recursively. It is also slow. + So you might want to comment it out. */ dump_stack(frame, stack_pointer); - int oparg = _Py_OPARG(*next_instr); - int opcode = _Py_OPCODE(*next_instr); + int oparg = next_instr->op.arg; + int opcode = next_instr->op.code; const char *opname = _PyOpcode_OpName[opcode]; assert(opname != NULL); int offset = (int)(next_instr - _PyCode_CODE(frame->f_code)); - if (HAS_ARG(opcode)) { + if (HAS_ARG((int)_PyOpcode_Deopt[opcode])) { printf("%d: %s %d\n", offset * 2, opname, oparg); } else { @@ -146,13 +149,16 @@ lltrace_instruction(_PyInterpreterFrame *frame, static void lltrace_resume_frame(_PyInterpreterFrame *frame) { - PyFunctionObject *f = frame->f_func; - if (f == NULL) { - printf("\nResuming frame."); + PyObject *fobj = frame->f_funcobj; + if (frame->owner == FRAME_OWNED_BY_CSTACK || + fobj == NULL || + !PyFunction_Check(fobj) + ) { + printf("\nResuming frame.\n"); return; } - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); + PyFunctionObject *f = (PyFunctionObject *)fobj; + PyObject *exc = PyErr_GetRaisedException(); PyObject *name = f->func_qualname; if (name == NULL) { name = f->func_name; @@ -172,27 +178,32 @@ lltrace_resume_frame(_PyInterpreterFrame *frame) } printf("\n"); fflush(stdout); - PyErr_Restore(type, value, traceback); + PyErr_SetRaisedException(exc); } #endif -static int call_trace(Py_tracefunc, PyObject *, - PyThreadState *, _PyInterpreterFrame *, - int, PyObject *); -static int call_trace_protected(Py_tracefunc, PyObject *, - PyThreadState *, _PyInterpreterFrame *, - int, PyObject *); -static void call_exc_trace(Py_tracefunc, PyObject *, - PyThreadState *, _PyInterpreterFrame *); -static int maybe_call_line_trace(Py_tracefunc, PyObject *, - PyThreadState *, _PyInterpreterFrame *, int); -static void maybe_dtrace_line(_PyInterpreterFrame *, PyTraceInfo *, int); -static void dtrace_function_entry(_PyInterpreterFrame *); -static void dtrace_function_return(_PyInterpreterFrame *); + +static void monitor_raise(PyThreadState *tstate, + _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr); +static void monitor_reraise(PyThreadState *tstate, + _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr); +static int monitor_stop_iteration(PyThreadState *tstate, + _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr); +static void monitor_unwind(PyThreadState *tstate, + _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr); +static int monitor_handled(PyThreadState *tstate, + _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr, PyObject *exc); +static void monitor_throw(PyThreadState *tstate, + _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr); static PyObject * import_name(PyThreadState *, _PyInterpreterFrame *, PyObject *, PyObject *, PyObject *); static PyObject * import_from(PyThreadState *, PyObject *, PyObject *); -static int import_all_from(PyThreadState *, PyObject *, PyObject *); static void format_exc_check_arg(PyThreadState *, PyObject *, const char *, PyObject *); static void format_exc_unbound(PyThreadState *tstate, PyCodeObject *co, int oparg); static int check_args_iterable(PyThreadState *, PyObject *func, PyObject *vararg); @@ -205,5475 +216,671 @@ static _PyInterpreterFrame * _PyEvalFramePushAndInit(PyThreadState *tstate, PyFunctionObject *func, PyObject *locals, PyObject* const* args, size_t argcount, PyObject *kwnames); +static _PyInterpreterFrame * +_PyEvalFramePushAndInit_Ex(PyThreadState *tstate, PyFunctionObject *func, + PyObject *locals, Py_ssize_t nargs, PyObject *callargs, PyObject *kwargs); static void _PyEvalFrameClearAndPop(PyThreadState *tstate, _PyInterpreterFrame *frame); -#define NAME_ERROR_MSG \ - "name '%.200s' is not defined" #define UNBOUNDLOCAL_ERROR_MSG \ "cannot access local variable '%s' where it is not associated with a value" #define UNBOUNDFREE_ERROR_MSG \ "cannot access free variable '%s' where it is not associated with a" \ " value in enclosing scope" - -/* This can set eval_breaker to 0 even though gil_drop_request became - 1. We believe this is all right because the eval loop will release - the GIL eventually anyway. */ -static inline void -COMPUTE_EVAL_BREAKER(PyInterpreterState *interp, - struct _ceval_runtime_state *ceval, - struct _ceval_state *ceval2) -{ - _Py_atomic_store_relaxed(&ceval2->eval_breaker, - _Py_atomic_load_relaxed_int32(&ceval2->gil_drop_request) - | (_Py_atomic_load_relaxed_int32(&ceval->signals_pending) - && _Py_ThreadCanHandleSignals(interp)) - | (_Py_atomic_load_relaxed_int32(&ceval2->pending.calls_to_do) - && _Py_ThreadCanHandlePendingCalls()) - | ceval2->pending.async_exc); -} - - -static inline void -SET_GIL_DROP_REQUEST(PyInterpreterState *interp) -{ - struct _ceval_state *ceval2 = &interp->ceval; - _Py_atomic_store_relaxed(&ceval2->gil_drop_request, 1); - _Py_atomic_store_relaxed(&ceval2->eval_breaker, 1); -} - - -static inline void -RESET_GIL_DROP_REQUEST(PyInterpreterState *interp) -{ - struct _ceval_runtime_state *ceval = &interp->runtime->ceval; - struct _ceval_state *ceval2 = &interp->ceval; - _Py_atomic_store_relaxed(&ceval2->gil_drop_request, 0); - COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); -} - - -static inline void -SIGNAL_PENDING_CALLS(PyInterpreterState *interp) -{ - struct _ceval_runtime_state *ceval = &interp->runtime->ceval; - struct _ceval_state *ceval2 = &interp->ceval; - _Py_atomic_store_relaxed(&ceval2->pending.calls_to_do, 1); - COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); -} - - -static inline void -UNSIGNAL_PENDING_CALLS(PyInterpreterState *interp) -{ - struct _ceval_runtime_state *ceval = &interp->runtime->ceval; - struct _ceval_state *ceval2 = &interp->ceval; - _Py_atomic_store_relaxed(&ceval2->pending.calls_to_do, 0); - COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); -} - - -static inline void -SIGNAL_PENDING_SIGNALS(PyInterpreterState *interp, int force) -{ - struct _ceval_runtime_state *ceval = &interp->runtime->ceval; - struct _ceval_state *ceval2 = &interp->ceval; - _Py_atomic_store_relaxed(&ceval->signals_pending, 1); - if (force) { - _Py_atomic_store_relaxed(&ceval2->eval_breaker, 1); - } - else { - /* eval_breaker is not set to 1 if thread_can_handle_signals() is false */ - COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); - } -} - - -static inline void -UNSIGNAL_PENDING_SIGNALS(PyInterpreterState *interp) -{ - struct _ceval_runtime_state *ceval = &interp->runtime->ceval; - struct _ceval_state *ceval2 = &interp->ceval; - _Py_atomic_store_relaxed(&ceval->signals_pending, 0); - COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); -} - - -static inline void -SIGNAL_ASYNC_EXC(PyInterpreterState *interp) -{ - struct _ceval_state *ceval2 = &interp->ceval; - ceval2->pending.async_exc = 1; - _Py_atomic_store_relaxed(&ceval2->eval_breaker, 1); -} - - -static inline void -UNSIGNAL_ASYNC_EXC(PyInterpreterState *interp) -{ - struct _ceval_runtime_state *ceval = &interp->runtime->ceval; - struct _ceval_state *ceval2 = &interp->ceval; - ceval2->pending.async_exc = 0; - COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); -} - - #ifdef HAVE_ERRNO_H #include #endif -#include "ceval_gil.h" - -void _Py_NO_RETURN -_Py_FatalError_TstateNULL(const char *func) -{ - _Py_FatalErrorFunc(func, - "the function must be called with the GIL held, " - "but the GIL is released " - "(the current Python thread state is NULL)"); -} int -_PyEval_ThreadsInitialized(_PyRuntimeState *runtime) -{ - return gil_created(&runtime->ceval.gil); -} - -int -PyEval_ThreadsInitialized(void) +Py_GetRecursionLimit(void) { - _PyRuntimeState *runtime = &_PyRuntime; - return _PyEval_ThreadsInitialized(runtime); + PyInterpreterState *interp = _PyInterpreterState_GET(); + return interp->ceval.recursion_limit; } -PyStatus -_PyEval_InitGIL(PyThreadState *tstate) +void +Py_SetRecursionLimit(int new_limit) { - if (!_Py_IsMainInterpreter(tstate->interp)) { - /* Currently, the GIL is shared by all interpreters, - and only the main interpreter is responsible to create - and destroy it. */ - return _PyStatus_OK(); + PyInterpreterState *interp = _PyInterpreterState_GET(); + interp->ceval.recursion_limit = new_limit; + for (PyThreadState *p = interp->threads.head; p != NULL; p = p->next) { + int depth = p->py_recursion_limit - p->py_recursion_remaining; + p->py_recursion_limit = new_limit; + p->py_recursion_remaining = new_limit - depth; } - - struct _gil_runtime_state *gil = &tstate->interp->runtime->ceval.gil; - assert(!gil_created(gil)); - - PyThread_init_thread(); - create_gil(gil); - - take_gil(tstate); - - assert(gil_created(gil)); - return _PyStatus_OK(); } -void -_PyEval_FiniGIL(PyInterpreterState *interp) +/* The function _Py_EnterRecursiveCallTstate() only calls _Py_CheckRecursiveCall() + if the recursion_depth reaches recursion_limit. */ +int +_Py_CheckRecursiveCall(PyThreadState *tstate, const char *where) { - if (!_Py_IsMainInterpreter(interp)) { - /* Currently, the GIL is shared by all interpreters, - and only the main interpreter is responsible to create - and destroy it. */ - return; +#ifdef USE_STACKCHECK + if (PyOS_CheckStack()) { + ++tstate->c_recursion_remaining; + _PyErr_SetString(tstate, PyExc_MemoryError, "Stack overflow"); + return -1; } - - struct _gil_runtime_state *gil = &interp->runtime->ceval.gil; - if (!gil_created(gil)) { - /* First Py_InitializeFromConfig() call: the GIL doesn't exist - yet: do nothing. */ - return; +#endif + if (tstate->recursion_headroom) { + if (tstate->c_recursion_remaining < -50) { + /* Overflowing while handling an overflow. Give up. */ + Py_FatalError("Cannot recover from stack overflow."); + } } - - destroy_gil(gil); - assert(!gil_created(gil)); -} - -void -PyEval_InitThreads(void) -{ - /* Do nothing: kept for backward compatibility */ + else { + if (tstate->c_recursion_remaining <= 0) { + tstate->recursion_headroom++; + _PyErr_Format(tstate, PyExc_RecursionError, + "maximum recursion depth exceeded%s", + where); + tstate->recursion_headroom--; + ++tstate->c_recursion_remaining; + return -1; + } + } + return 0; } -void -_PyEval_Fini(void) -{ -#ifdef Py_STATS - _Py_PrintSpecializationStats(1); -#endif -} -void -PyEval_AcquireLock(void) -{ - _PyRuntimeState *runtime = &_PyRuntime; - PyThreadState *tstate = _PyRuntimeState_GetThreadState(runtime); - _Py_EnsureTstateNotNULL(tstate); +static const binaryfunc binary_ops[] = { + [NB_ADD] = PyNumber_Add, + [NB_AND] = PyNumber_And, + [NB_FLOOR_DIVIDE] = PyNumber_FloorDivide, + [NB_LSHIFT] = PyNumber_Lshift, + [NB_MATRIX_MULTIPLY] = PyNumber_MatrixMultiply, + [NB_MULTIPLY] = PyNumber_Multiply, + [NB_REMAINDER] = PyNumber_Remainder, + [NB_OR] = PyNumber_Or, + [NB_POWER] = _PyNumber_PowerNoMod, + [NB_RSHIFT] = PyNumber_Rshift, + [NB_SUBTRACT] = PyNumber_Subtract, + [NB_TRUE_DIVIDE] = PyNumber_TrueDivide, + [NB_XOR] = PyNumber_Xor, + [NB_INPLACE_ADD] = PyNumber_InPlaceAdd, + [NB_INPLACE_AND] = PyNumber_InPlaceAnd, + [NB_INPLACE_FLOOR_DIVIDE] = PyNumber_InPlaceFloorDivide, + [NB_INPLACE_LSHIFT] = PyNumber_InPlaceLshift, + [NB_INPLACE_MATRIX_MULTIPLY] = PyNumber_InPlaceMatrixMultiply, + [NB_INPLACE_MULTIPLY] = PyNumber_InPlaceMultiply, + [NB_INPLACE_REMAINDER] = PyNumber_InPlaceRemainder, + [NB_INPLACE_OR] = PyNumber_InPlaceOr, + [NB_INPLACE_POWER] = _PyNumber_InPlacePowerNoMod, + [NB_INPLACE_RSHIFT] = PyNumber_InPlaceRshift, + [NB_INPLACE_SUBTRACT] = PyNumber_InPlaceSubtract, + [NB_INPLACE_TRUE_DIVIDE] = PyNumber_InPlaceTrueDivide, + [NB_INPLACE_XOR] = PyNumber_InPlaceXor, +}; - take_gil(tstate); -} -void -PyEval_ReleaseLock(void) -{ - _PyRuntimeState *runtime = &_PyRuntime; - PyThreadState *tstate = _PyRuntimeState_GetThreadState(runtime); - /* This function must succeed when the current thread state is NULL. - We therefore avoid PyThreadState_Get() which dumps a fatal error - in debug mode. */ - struct _ceval_runtime_state *ceval = &runtime->ceval; - struct _ceval_state *ceval2 = &tstate->interp->ceval; - drop_gil(ceval, ceval2, tstate); -} +// PEP 634: Structural Pattern Matching -void -_PyEval_ReleaseLock(PyThreadState *tstate) -{ - struct _ceval_runtime_state *ceval = &tstate->interp->runtime->ceval; - struct _ceval_state *ceval2 = &tstate->interp->ceval; - drop_gil(ceval, ceval2, tstate); -} -void -PyEval_AcquireThread(PyThreadState *tstate) +// Return a tuple of values corresponding to keys, with error checks for +// duplicate/missing keys. +static PyObject* +match_keys(PyThreadState *tstate, PyObject *map, PyObject *keys) { - _Py_EnsureTstateNotNULL(tstate); - - take_gil(tstate); - - struct _gilstate_runtime_state *gilstate = &tstate->interp->runtime->gilstate; - if (_PyThreadState_Swap(gilstate, tstate) != NULL) { - Py_FatalError("non-NULL old thread state"); + assert(PyTuple_CheckExact(keys)); + Py_ssize_t nkeys = PyTuple_GET_SIZE(keys); + if (!nkeys) { + // No keys means no items. + return PyTuple_New(0); } -} - -void -PyEval_ReleaseThread(PyThreadState *tstate) -{ - assert(_PyThreadState_CheckConsistency(tstate)); - - _PyRuntimeState *runtime = tstate->interp->runtime; - PyThreadState *new_tstate = _PyThreadState_Swap(&runtime->gilstate, NULL); - if (new_tstate != tstate) { - Py_FatalError("wrong thread state"); + PyObject *seen = NULL; + PyObject *dummy = NULL; + PyObject *values = NULL; + PyObject *get = NULL; + // We use the two argument form of map.get(key, default) for two reasons: + // - Atomically check for a key and get its value without error handling. + // - Don't cause key creation or resizing in dict subclasses like + // collections.defaultdict that define __missing__ (or similar). + int meth_found = _PyObject_GetMethod(map, &_Py_ID(get), &get); + if (get == NULL) { + goto fail; + } + seen = PySet_New(NULL); + if (seen == NULL) { + goto fail; + } + // dummy = object() + dummy = _PyObject_CallNoArgs((PyObject *)&PyBaseObject_Type); + if (dummy == NULL) { + goto fail; + } + values = PyTuple_New(nkeys); + if (values == NULL) { + goto fail; + } + for (Py_ssize_t i = 0; i < nkeys; i++) { + PyObject *key = PyTuple_GET_ITEM(keys, i); + if (PySet_Contains(seen, key) || PySet_Add(seen, key)) { + if (!_PyErr_Occurred(tstate)) { + // Seen it before! + _PyErr_Format(tstate, PyExc_ValueError, + "mapping pattern checks duplicate key (%R)", key); + } + goto fail; + } + PyObject *args[] = { map, key, dummy }; + PyObject *value = NULL; + if (meth_found) { + value = PyObject_Vectorcall(get, args, 3, NULL); + } + else { + value = PyObject_Vectorcall(get, &args[1], 2, NULL); + } + if (value == NULL) { + goto fail; + } + if (value == dummy) { + // key not in map! + Py_DECREF(value); + Py_DECREF(values); + // Return None: + values = Py_NewRef(Py_None); + goto done; + } + PyTuple_SET_ITEM(values, i, value); } - struct _ceval_runtime_state *ceval = &runtime->ceval; - struct _ceval_state *ceval2 = &tstate->interp->ceval; - drop_gil(ceval, ceval2, tstate); + // Success: +done: + Py_DECREF(get); + Py_DECREF(seen); + Py_DECREF(dummy); + return values; +fail: + Py_XDECREF(get); + Py_XDECREF(seen); + Py_XDECREF(dummy); + Py_XDECREF(values); + return NULL; } -#ifdef HAVE_FORK -/* This function is called from PyOS_AfterFork_Child to destroy all threads - which are not running in the child process, and clear internal locks - which might be held by those threads. */ -PyStatus -_PyEval_ReInitThreads(PyThreadState *tstate) +// Extract a named attribute from the subject, with additional bookkeeping to +// raise TypeErrors for repeated lookups. On failure, return NULL (with no +// error set). Use _PyErr_Occurred(tstate) to disambiguate. +static PyObject* +match_class_attr(PyThreadState *tstate, PyObject *subject, PyObject *type, + PyObject *name, PyObject *seen) { - _PyRuntimeState *runtime = tstate->interp->runtime; - - struct _gil_runtime_state *gil = &runtime->ceval.gil; - if (!gil_created(gil)) { - return _PyStatus_OK(); + assert(PyUnicode_CheckExact(name)); + assert(PySet_CheckExact(seen)); + if (PySet_Contains(seen, name) || PySet_Add(seen, name)) { + if (!_PyErr_Occurred(tstate)) { + // Seen it before! + _PyErr_Format(tstate, PyExc_TypeError, + "%s() got multiple sub-patterns for attribute %R", + ((PyTypeObject*)type)->tp_name, name); + } + return NULL; } - recreate_gil(gil); - - take_gil(tstate); - - struct _pending_calls *pending = &tstate->interp->ceval.pending; - if (_PyThread_at_fork_reinit(&pending->lock) < 0) { - return _PyStatus_ERR("Can't reinitialize pending calls lock"); + PyObject *attr = PyObject_GetAttr(subject, name); + if (attr == NULL && _PyErr_ExceptionMatches(tstate, PyExc_AttributeError)) { + _PyErr_Clear(tstate); } - - /* Destroy all threads except the current one */ - _PyThreadState_DeleteExcept(runtime, tstate); - return _PyStatus_OK(); + return attr; } -#endif -/* This function is used to signal that async exceptions are waiting to be - raised. */ - -void -_PyEval_SignalAsyncExc(PyInterpreterState *interp) -{ - SIGNAL_ASYNC_EXC(interp); -} - -PyThreadState * -PyEval_SaveThread(void) -{ - _PyRuntimeState *runtime = &_PyRuntime; - PyThreadState *tstate = _PyThreadState_Swap(&runtime->gilstate, NULL); - _Py_EnsureTstateNotNULL(tstate); - - struct _ceval_runtime_state *ceval = &runtime->ceval; - struct _ceval_state *ceval2 = &tstate->interp->ceval; - assert(gil_created(&ceval->gil)); - drop_gil(ceval, ceval2, tstate); - return tstate; -} - -void -PyEval_RestoreThread(PyThreadState *tstate) -{ - _Py_EnsureTstateNotNULL(tstate); - - take_gil(tstate); - - struct _gilstate_runtime_state *gilstate = &tstate->interp->runtime->gilstate; - _PyThreadState_Swap(gilstate, tstate); -} - - -/* Mechanism whereby asynchronously executing callbacks (e.g. UNIX - signal handlers or Mac I/O completion routines) can schedule calls - to a function to be called synchronously. - The synchronous function is called with one void* argument. - It should return 0 for success or -1 for failure -- failure should - be accompanied by an exception. - - If registry succeeds, the registry function returns 0; if it fails - (e.g. due to too many pending calls) it returns -1 (without setting - an exception condition). - - Note that because registry may occur from within signal handlers, - or other asynchronous events, calling malloc() is unsafe! - - Any thread can schedule pending calls, but only the main thread - will execute them. - There is no facility to schedule calls to a particular thread, but - that should be easy to change, should that ever be required. In - that case, the static variables here should go into the python - threadstate. -*/ - -void -_PyEval_SignalReceived(PyInterpreterState *interp) -{ -#ifdef MS_WINDOWS - // bpo-42296: On Windows, _PyEval_SignalReceived() is called from a signal - // handler which can run in a thread different than the Python thread, in - // which case _Py_ThreadCanHandleSignals() is wrong. Ignore - // _Py_ThreadCanHandleSignals() and always set eval_breaker to 1. - // - // The next eval_frame_handle_pending() call will call - // _Py_ThreadCanHandleSignals() to recompute eval_breaker. - int force = 1; -#else - int force = 0; -#endif - /* bpo-30703: Function called when the C signal handler of Python gets a - signal. We cannot queue a callback using _PyEval_AddPendingCall() since - that function is not async-signal-safe. */ - SIGNAL_PENDING_SIGNALS(interp, force); -} - -/* Push one item onto the queue while holding the lock. */ -static int -_push_pending_call(struct _pending_calls *pending, - int (*func)(void *), void *arg) -{ - int i = pending->last; - int j = (i + 1) % NPENDINGCALLS; - if (j == pending->first) { - return -1; /* Queue full */ - } - pending->calls[i].func = func; - pending->calls[i].arg = arg; - pending->last = j; - return 0; -} - -/* Pop one item off the queue while holding the lock. */ -static void -_pop_pending_call(struct _pending_calls *pending, - int (**func)(void *), void **arg) -{ - int i = pending->first; - if (i == pending->last) { - return; /* Queue empty */ - } - - *func = pending->calls[i].func; - *arg = pending->calls[i].arg; - pending->first = (i + 1) % NPENDINGCALLS; -} - -/* This implementation is thread-safe. It allows - scheduling to be made from any thread, and even from an executing - callback. - */ - -int -_PyEval_AddPendingCall(PyInterpreterState *interp, - int (*func)(void *), void *arg) -{ - struct _pending_calls *pending = &interp->ceval.pending; - - /* Ensure that _PyEval_InitPendingCalls() was called - and that _PyEval_FiniPendingCalls() is not called yet. */ - assert(pending->lock != NULL); - - PyThread_acquire_lock(pending->lock, WAIT_LOCK); - int result = _push_pending_call(pending, func, arg); - PyThread_release_lock(pending->lock); - - /* signal main loop */ - SIGNAL_PENDING_CALLS(interp); - return result; -} - -int -Py_AddPendingCall(int (*func)(void *), void *arg) +// On success (match), return a tuple of extracted attributes. On failure (no +// match), return NULL. Use _PyErr_Occurred(tstate) to disambiguate. +static PyObject* +match_class(PyThreadState *tstate, PyObject *subject, PyObject *type, + Py_ssize_t nargs, PyObject *kwargs) { - /* Best-effort to support subinterpreters and calls with the GIL released. - - First attempt _PyThreadState_GET() since it supports subinterpreters. - - If the GIL is released, _PyThreadState_GET() returns NULL . In this - case, use PyGILState_GetThisThreadState() which works even if the GIL - is released. - - Sadly, PyGILState_GetThisThreadState() doesn't support subinterpreters: - see bpo-10915 and bpo-15751. - - Py_AddPendingCall() doesn't require the caller to hold the GIL. */ - PyThreadState *tstate = _PyThreadState_GET(); - if (tstate == NULL) { - tstate = PyGILState_GetThisThreadState(); - } - - PyInterpreterState *interp; - if (tstate != NULL) { - interp = tstate->interp; - } - else { - /* Last resort: use the main interpreter */ - interp = _PyInterpreterState_Main(); + if (!PyType_Check(type)) { + const char *e = "called match pattern must be a class"; + _PyErr_Format(tstate, PyExc_TypeError, e); + return NULL; } - return _PyEval_AddPendingCall(interp, func, arg); -} - -static int -handle_signals(PyThreadState *tstate) -{ - assert(_PyThreadState_CheckConsistency(tstate)); - if (!_Py_ThreadCanHandleSignals(tstate->interp)) { - return 0; + assert(PyTuple_CheckExact(kwargs)); + // First, an isinstance check: + if (PyObject_IsInstance(subject, type) <= 0) { + return NULL; } - - UNSIGNAL_PENDING_SIGNALS(tstate->interp); - if (_PyErr_CheckSignalsTstate(tstate) < 0) { - /* On failure, re-schedule a call to handle_signals(). */ - SIGNAL_PENDING_SIGNALS(tstate->interp, 0); - return -1; + // So far so good: + PyObject *seen = PySet_New(NULL); + if (seen == NULL) { + return NULL; } - return 0; -} - -static int -make_pending_calls(PyInterpreterState *interp) -{ - /* only execute pending calls on main thread */ - if (!_Py_ThreadCanHandlePendingCalls()) { - return 0; + PyObject *attrs = PyList_New(0); + if (attrs == NULL) { + Py_DECREF(seen); + return NULL; } - - /* don't perform recursive pending calls */ - static int busy = 0; - if (busy) { - return 0; + // NOTE: From this point on, goto fail on failure: + PyObject *match_args = NULL; + // First, the positional subpatterns: + if (nargs) { + int match_self = 0; + match_args = PyObject_GetAttrString(type, "__match_args__"); + if (match_args) { + if (!PyTuple_CheckExact(match_args)) { + const char *e = "%s.__match_args__ must be a tuple (got %s)"; + _PyErr_Format(tstate, PyExc_TypeError, e, + ((PyTypeObject *)type)->tp_name, + Py_TYPE(match_args)->tp_name); + goto fail; + } + } + else if (_PyErr_ExceptionMatches(tstate, PyExc_AttributeError)) { + _PyErr_Clear(tstate); + // _Py_TPFLAGS_MATCH_SELF is only acknowledged if the type does not + // define __match_args__. This is natural behavior for subclasses: + // it's as if __match_args__ is some "magic" value that is lost as + // soon as they redefine it. + match_args = PyTuple_New(0); + match_self = PyType_HasFeature((PyTypeObject*)type, + _Py_TPFLAGS_MATCH_SELF); + } + else { + goto fail; + } + assert(PyTuple_CheckExact(match_args)); + Py_ssize_t allowed = match_self ? 1 : PyTuple_GET_SIZE(match_args); + if (allowed < nargs) { + const char *plural = (allowed == 1) ? "" : "s"; + _PyErr_Format(tstate, PyExc_TypeError, + "%s() accepts %d positional sub-pattern%s (%d given)", + ((PyTypeObject*)type)->tp_name, + allowed, plural, nargs); + goto fail; + } + if (match_self) { + // Easy. Copy the subject itself, and move on to kwargs. + if (PyList_Append(attrs, subject) < 0) { + goto fail; + } + } + else { + for (Py_ssize_t i = 0; i < nargs; i++) { + PyObject *name = PyTuple_GET_ITEM(match_args, i); + if (!PyUnicode_CheckExact(name)) { + _PyErr_Format(tstate, PyExc_TypeError, + "__match_args__ elements must be strings " + "(got %s)", Py_TYPE(name)->tp_name); + goto fail; + } + PyObject *attr = match_class_attr(tstate, subject, type, name, + seen); + if (attr == NULL) { + goto fail; + } + if (PyList_Append(attrs, attr) < 0) { + Py_DECREF(attr); + goto fail; + } + Py_DECREF(attr); + } + } + Py_CLEAR(match_args); } - busy = 1; - - /* unsignal before starting to call callbacks, so that any callback - added in-between re-signals */ - UNSIGNAL_PENDING_CALLS(interp); - int res = 0; - - /* perform a bounded number of calls, in case of recursion */ - struct _pending_calls *pending = &interp->ceval.pending; - for (int i=0; ilock, WAIT_LOCK); - _pop_pending_call(pending, &func, &arg); - PyThread_release_lock(pending->lock); - - /* having released the lock, perform the callback */ - if (func == NULL) { - break; + // Finally, the keyword subpatterns: + for (Py_ssize_t i = 0; i < PyTuple_GET_SIZE(kwargs); i++) { + PyObject *name = PyTuple_GET_ITEM(kwargs, i); + PyObject *attr = match_class_attr(tstate, subject, type, name, seen); + if (attr == NULL) { + goto fail; } - res = func(arg); - if (res) { - goto error; + if (PyList_Append(attrs, attr) < 0) { + Py_DECREF(attr); + goto fail; } + Py_DECREF(attr); } - - busy = 0; - return res; - -error: - busy = 0; - SIGNAL_PENDING_CALLS(interp); - return res; + Py_SETREF(attrs, PyList_AsTuple(attrs)); + Py_DECREF(seen); + return attrs; +fail: + // We really don't care whether an error was raised or not... that's our + // caller's problem. All we know is that the match failed. + Py_XDECREF(match_args); + Py_DECREF(seen); + Py_DECREF(attrs); + return NULL; } -void -_Py_FinishPendingCalls(PyThreadState *tstate) -{ - assert(PyGILState_Check()); - assert(_PyThreadState_CheckConsistency(tstate)); - struct _pending_calls *pending = &tstate->interp->ceval.pending; - - if (!_Py_atomic_load_relaxed_int32(&(pending->calls_to_do))) { - return; - } +static int do_raise(PyThreadState *tstate, PyObject *exc, PyObject *cause); +static int exception_group_match( + PyObject* exc_value, PyObject *match_type, + PyObject **match, PyObject **rest); - if (make_pending_calls(tstate->interp) < 0) { - PyObject *exc, *val, *tb; - _PyErr_Fetch(tstate, &exc, &val, &tb); - PyErr_BadInternalCall(); - _PyErr_ChainExceptions(exc, val, tb); - _PyErr_Print(tstate); - } -} +static int unpack_iterable(PyThreadState *, PyObject *, int, int, PyObject **); -/* Py_MakePendingCalls() is a simple wrapper for the sake - of backward-compatibility. */ -int -Py_MakePendingCalls(void) +PyObject * +PyEval_EvalCode(PyObject *co, PyObject *globals, PyObject *locals) { - assert(PyGILState_Check()); - PyThreadState *tstate = _PyThreadState_GET(); - assert(_PyThreadState_CheckConsistency(tstate)); - - /* Python signal handler doesn't really queue a callback: it only signals - that a signal was received, see _PyEval_SignalReceived(). */ - int res = handle_signals(tstate); - if (res != 0) { - return res; + if (locals == NULL) { + locals = globals; } - - res = make_pending_calls(tstate->interp); - if (res != 0) { - return res; + PyObject *builtins = _PyEval_BuiltinsFromGlobals(tstate, globals); // borrowed ref + if (builtins == NULL) { + return NULL; } - - return 0; -} - -/* The interpreter's recursion limit */ - -void -_PyEval_InitRuntimeState(struct _ceval_runtime_state *ceval) -{ - _gil_initialize(&ceval->gil); + PyFrameConstructor desc = { + .fc_globals = globals, + .fc_builtins = builtins, + .fc_name = ((PyCodeObject *)co)->co_name, + .fc_qualname = ((PyCodeObject *)co)->co_name, + .fc_code = co, + .fc_defaults = NULL, + .fc_kwdefaults = NULL, + .fc_closure = NULL + }; + PyFunctionObject *func = _PyFunction_FromConstructor(&desc); + if (func == NULL) { + return NULL; + } + EVAL_CALL_STAT_INC(EVAL_CALL_LEGACY); + PyObject *res = _PyEval_Vector(tstate, func, locals, NULL, 0, NULL); + Py_DECREF(func); + return res; } -void -_PyEval_InitState(struct _ceval_state *ceval, PyThread_type_lock pending_lock) -{ - struct _pending_calls *pending = &ceval->pending; - assert(pending->lock == NULL); - - pending->lock = pending_lock; -} -void -_PyEval_FiniState(struct _ceval_state *ceval) -{ - struct _pending_calls *pending = &ceval->pending; - if (pending->lock != NULL) { - PyThread_free_lock(pending->lock); - pending->lock = NULL; - } -} +/* Interpreter main loop */ -int -Py_GetRecursionLimit(void) +PyObject * +PyEval_EvalFrame(PyFrameObject *f) { - PyInterpreterState *interp = _PyInterpreterState_GET(); - return interp->ceval.recursion_limit; + /* Function kept for backward compatibility */ + PyThreadState *tstate = _PyThreadState_GET(); + return _PyEval_EvalFrame(tstate, f->f_frame, 0); } -void -Py_SetRecursionLimit(int new_limit) -{ - PyInterpreterState *interp = _PyInterpreterState_GET(); - interp->ceval.recursion_limit = new_limit; - for (PyThreadState *p = interp->threads.head; p != NULL; p = p->next) { - int depth = p->recursion_limit - p->recursion_remaining; - p->recursion_limit = new_limit; - p->recursion_remaining = new_limit - depth; - } -} - -/* The function _Py_EnterRecursiveCallTstate() only calls _Py_CheckRecursiveCall() - if the recursion_depth reaches recursion_limit. */ -int -_Py_CheckRecursiveCall(PyThreadState *tstate, const char *where) -{ - /* Check against global limit first. */ - int depth = tstate->recursion_limit - tstate->recursion_remaining; - if (depth < tstate->interp->ceval.recursion_limit) { - tstate->recursion_limit = tstate->interp->ceval.recursion_limit; - tstate->recursion_remaining = tstate->recursion_limit - depth; - assert(tstate->recursion_remaining > 0); - return 0; - } -#ifdef USE_STACKCHECK - if (PyOS_CheckStack()) { - ++tstate->recursion_remaining; - _PyErr_SetString(tstate, PyExc_MemoryError, "Stack overflow"); - return -1; - } -#endif - if (tstate->recursion_headroom) { - if (tstate->recursion_remaining < -50) { - /* Overflowing while handling an overflow. Give up. */ - Py_FatalError("Cannot recover from stack overflow."); - } - } - else { - if (tstate->recursion_remaining <= 0) { - tstate->recursion_headroom++; - _PyErr_Format(tstate, PyExc_RecursionError, - "maximum recursion depth exceeded%s", - where); - tstate->recursion_headroom--; - ++tstate->recursion_remaining; - return -1; - } - } - return 0; -} - - -static const binaryfunc binary_ops[] = { - [NB_ADD] = PyNumber_Add, - [NB_AND] = PyNumber_And, - [NB_FLOOR_DIVIDE] = PyNumber_FloorDivide, - [NB_LSHIFT] = PyNumber_Lshift, - [NB_MATRIX_MULTIPLY] = PyNumber_MatrixMultiply, - [NB_MULTIPLY] = PyNumber_Multiply, - [NB_REMAINDER] = PyNumber_Remainder, - [NB_OR] = PyNumber_Or, - [NB_POWER] = _PyNumber_PowerNoMod, - [NB_RSHIFT] = PyNumber_Rshift, - [NB_SUBTRACT] = PyNumber_Subtract, - [NB_TRUE_DIVIDE] = PyNumber_TrueDivide, - [NB_XOR] = PyNumber_Xor, - [NB_INPLACE_ADD] = PyNumber_InPlaceAdd, - [NB_INPLACE_AND] = PyNumber_InPlaceAnd, - [NB_INPLACE_FLOOR_DIVIDE] = PyNumber_InPlaceFloorDivide, - [NB_INPLACE_LSHIFT] = PyNumber_InPlaceLshift, - [NB_INPLACE_MATRIX_MULTIPLY] = PyNumber_InPlaceMatrixMultiply, - [NB_INPLACE_MULTIPLY] = PyNumber_InPlaceMultiply, - [NB_INPLACE_REMAINDER] = PyNumber_InPlaceRemainder, - [NB_INPLACE_OR] = PyNumber_InPlaceOr, - [NB_INPLACE_POWER] = _PyNumber_InPlacePowerNoMod, - [NB_INPLACE_RSHIFT] = PyNumber_InPlaceRshift, - [NB_INPLACE_SUBTRACT] = PyNumber_InPlaceSubtract, - [NB_INPLACE_TRUE_DIVIDE] = PyNumber_InPlaceTrueDivide, - [NB_INPLACE_XOR] = PyNumber_InPlaceXor, -}; - - -// PEP 634: Structural Pattern Matching - - -// Return a tuple of values corresponding to keys, with error checks for -// duplicate/missing keys. -static PyObject* -match_keys(PyThreadState *tstate, PyObject *map, PyObject *keys) -{ - assert(PyTuple_CheckExact(keys)); - Py_ssize_t nkeys = PyTuple_GET_SIZE(keys); - if (!nkeys) { - // No keys means no items. - return PyTuple_New(0); - } - PyObject *seen = NULL; - PyObject *dummy = NULL; - PyObject *values = NULL; - PyObject *get = NULL; - // We use the two argument form of map.get(key, default) for two reasons: - // - Atomically check for a key and get its value without error handling. - // - Don't cause key creation or resizing in dict subclasses like - // collections.defaultdict that define __missing__ (or similar). - int meth_found = _PyObject_GetMethod(map, &_Py_ID(get), &get); - if (get == NULL) { - goto fail; - } - seen = PySet_New(NULL); - if (seen == NULL) { - goto fail; - } - // dummy = object() - dummy = _PyObject_CallNoArgs((PyObject *)&PyBaseObject_Type); - if (dummy == NULL) { - goto fail; - } - values = PyTuple_New(nkeys); - if (values == NULL) { - goto fail; - } - for (Py_ssize_t i = 0; i < nkeys; i++) { - PyObject *key = PyTuple_GET_ITEM(keys, i); - if (PySet_Contains(seen, key) || PySet_Add(seen, key)) { - if (!_PyErr_Occurred(tstate)) { - // Seen it before! - _PyErr_Format(tstate, PyExc_ValueError, - "mapping pattern checks duplicate key (%R)", key); - } - goto fail; - } - PyObject *args[] = { map, key, dummy }; - PyObject *value = NULL; - if (meth_found) { - value = PyObject_Vectorcall(get, args, 3, NULL); - } - else { - value = PyObject_Vectorcall(get, &args[1], 2, NULL); - } - if (value == NULL) { - goto fail; - } - if (value == dummy) { - // key not in map! - Py_DECREF(value); - Py_DECREF(values); - // Return None: - Py_INCREF(Py_None); - values = Py_None; - goto done; - } - PyTuple_SET_ITEM(values, i, value); - } - // Success: -done: - Py_DECREF(get); - Py_DECREF(seen); - Py_DECREF(dummy); - return values; -fail: - Py_XDECREF(get); - Py_XDECREF(seen); - Py_XDECREF(dummy); - Py_XDECREF(values); - return NULL; -} - -// Extract a named attribute from the subject, with additional bookkeeping to -// raise TypeErrors for repeated lookups. On failure, return NULL (with no -// error set). Use _PyErr_Occurred(tstate) to disambiguate. -static PyObject* -match_class_attr(PyThreadState *tstate, PyObject *subject, PyObject *type, - PyObject *name, PyObject *seen) -{ - assert(PyUnicode_CheckExact(name)); - assert(PySet_CheckExact(seen)); - if (PySet_Contains(seen, name) || PySet_Add(seen, name)) { - if (!_PyErr_Occurred(tstate)) { - // Seen it before! - _PyErr_Format(tstate, PyExc_TypeError, - "%s() got multiple sub-patterns for attribute %R", - ((PyTypeObject*)type)->tp_name, name); - } - return NULL; - } - PyObject *attr = PyObject_GetAttr(subject, name); - if (attr == NULL && _PyErr_ExceptionMatches(tstate, PyExc_AttributeError)) { - _PyErr_Clear(tstate); - } - return attr; -} - -// On success (match), return a tuple of extracted attributes. On failure (no -// match), return NULL. Use _PyErr_Occurred(tstate) to disambiguate. -static PyObject* -match_class(PyThreadState *tstate, PyObject *subject, PyObject *type, - Py_ssize_t nargs, PyObject *kwargs) -{ - if (!PyType_Check(type)) { - const char *e = "called match pattern must be a type"; - _PyErr_Format(tstate, PyExc_TypeError, e); - return NULL; - } - assert(PyTuple_CheckExact(kwargs)); - // First, an isinstance check: - if (PyObject_IsInstance(subject, type) <= 0) { - return NULL; - } - // So far so good: - PyObject *seen = PySet_New(NULL); - if (seen == NULL) { - return NULL; - } - PyObject *attrs = PyList_New(0); - if (attrs == NULL) { - Py_DECREF(seen); - return NULL; - } - // NOTE: From this point on, goto fail on failure: - PyObject *match_args = NULL; - // First, the positional subpatterns: - if (nargs) { - int match_self = 0; - match_args = PyObject_GetAttrString(type, "__match_args__"); - if (match_args) { - if (!PyTuple_CheckExact(match_args)) { - const char *e = "%s.__match_args__ must be a tuple (got %s)"; - _PyErr_Format(tstate, PyExc_TypeError, e, - ((PyTypeObject *)type)->tp_name, - Py_TYPE(match_args)->tp_name); - goto fail; - } - } - else if (_PyErr_ExceptionMatches(tstate, PyExc_AttributeError)) { - _PyErr_Clear(tstate); - // _Py_TPFLAGS_MATCH_SELF is only acknowledged if the type does not - // define __match_args__. This is natural behavior for subclasses: - // it's as if __match_args__ is some "magic" value that is lost as - // soon as they redefine it. - match_args = PyTuple_New(0); - match_self = PyType_HasFeature((PyTypeObject*)type, - _Py_TPFLAGS_MATCH_SELF); - } - else { - goto fail; - } - assert(PyTuple_CheckExact(match_args)); - Py_ssize_t allowed = match_self ? 1 : PyTuple_GET_SIZE(match_args); - if (allowed < nargs) { - const char *plural = (allowed == 1) ? "" : "s"; - _PyErr_Format(tstate, PyExc_TypeError, - "%s() accepts %d positional sub-pattern%s (%d given)", - ((PyTypeObject*)type)->tp_name, - allowed, plural, nargs); - goto fail; - } - if (match_self) { - // Easy. Copy the subject itself, and move on to kwargs. - if (PyList_Append(attrs, subject) < 0) { - goto fail; - } - } - else { - for (Py_ssize_t i = 0; i < nargs; i++) { - PyObject *name = PyTuple_GET_ITEM(match_args, i); - if (!PyUnicode_CheckExact(name)) { - _PyErr_Format(tstate, PyExc_TypeError, - "__match_args__ elements must be strings " - "(got %s)", Py_TYPE(name)->tp_name); - goto fail; - } - PyObject *attr = match_class_attr(tstate, subject, type, name, - seen); - if (attr == NULL) { - goto fail; - } - if (PyList_Append(attrs, attr) < 0) { - Py_DECREF(attr); - goto fail; - } - Py_DECREF(attr); - } - } - Py_CLEAR(match_args); - } - // Finally, the keyword subpatterns: - for (Py_ssize_t i = 0; i < PyTuple_GET_SIZE(kwargs); i++) { - PyObject *name = PyTuple_GET_ITEM(kwargs, i); - PyObject *attr = match_class_attr(tstate, subject, type, name, seen); - if (attr == NULL) { - goto fail; - } - if (PyList_Append(attrs, attr) < 0) { - Py_DECREF(attr); - goto fail; - } - Py_DECREF(attr); - } - Py_SETREF(attrs, PyList_AsTuple(attrs)); - Py_DECREF(seen); - return attrs; -fail: - // We really don't care whether an error was raised or not... that's our - // caller's problem. All we know is that the match failed. - Py_XDECREF(match_args); - Py_DECREF(seen); - Py_DECREF(attrs); - return NULL; -} - - -static int do_raise(PyThreadState *tstate, PyObject *exc, PyObject *cause); -static int exception_group_match( - PyObject* exc_value, PyObject *match_type, - PyObject **match, PyObject **rest); - -static int unpack_iterable(PyThreadState *, PyObject *, int, int, PyObject **); - -PyObject * -PyEval_EvalCode(PyObject *co, PyObject *globals, PyObject *locals) -{ - PyThreadState *tstate = _PyThreadState_GET(); - if (locals == NULL) { - locals = globals; - } - PyObject *builtins = _PyEval_BuiltinsFromGlobals(tstate, globals); // borrowed ref - if (builtins == NULL) { - return NULL; - } - PyFrameConstructor desc = { - .fc_globals = globals, - .fc_builtins = builtins, - .fc_name = ((PyCodeObject *)co)->co_name, - .fc_qualname = ((PyCodeObject *)co)->co_name, - .fc_code = co, - .fc_defaults = NULL, - .fc_kwdefaults = NULL, - .fc_closure = NULL - }; - PyFunctionObject *func = _PyFunction_FromConstructor(&desc); - if (func == NULL) { - return NULL; - } - PyObject *res = _PyEval_Vector(tstate, func, locals, NULL, 0, NULL); - Py_DECREF(func); - return res; -} - - -/* Interpreter main loop */ - -PyObject * -PyEval_EvalFrame(PyFrameObject *f) -{ - /* Function kept for backward compatibility */ - PyThreadState *tstate = _PyThreadState_GET(); - return _PyEval_EvalFrame(tstate, f->f_frame, 0); -} - -PyObject * -PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) -{ - PyThreadState *tstate = _PyThreadState_GET(); - return _PyEval_EvalFrame(tstate, f->f_frame, throwflag); -} - - -/* Handle signals, pending calls, GIL drop request - and asynchronous exception */ -static int -eval_frame_handle_pending(PyThreadState *tstate) -{ - _PyRuntimeState * const runtime = &_PyRuntime; - struct _ceval_runtime_state *ceval = &runtime->ceval; - - /* Pending signals */ - if (_Py_atomic_load_relaxed_int32(&ceval->signals_pending)) { - if (handle_signals(tstate) != 0) { - return -1; - } - } - - /* Pending calls */ - struct _ceval_state *ceval2 = &tstate->interp->ceval; - if (_Py_atomic_load_relaxed_int32(&ceval2->pending.calls_to_do)) { - if (make_pending_calls(tstate->interp) != 0) { - return -1; - } - } - - /* GIL drop request */ - if (_Py_atomic_load_relaxed_int32(&ceval2->gil_drop_request)) { - /* Give another thread a chance */ - if (_PyThreadState_Swap(&runtime->gilstate, NULL) != tstate) { - Py_FatalError("tstate mix-up"); - } - drop_gil(ceval, ceval2, tstate); - - /* Other threads may run now */ - - take_gil(tstate); - - if (_PyThreadState_Swap(&runtime->gilstate, tstate) != NULL) { - Py_FatalError("orphan tstate"); - } - } - - /* Check for asynchronous exception. */ - if (tstate->async_exc != NULL) { - PyObject *exc = tstate->async_exc; - tstate->async_exc = NULL; - UNSIGNAL_ASYNC_EXC(tstate->interp); - _PyErr_SetNone(tstate, exc); - Py_DECREF(exc); - return -1; - } - -#ifdef MS_WINDOWS - // bpo-42296: On Windows, _PyEval_SignalReceived() can be called in a - // different thread than the Python thread, in which case - // _Py_ThreadCanHandleSignals() is wrong. Recompute eval_breaker in the - // current Python thread with the correct _Py_ThreadCanHandleSignals() - // value. It prevents to interrupt the eval loop at every instruction if - // the current Python thread cannot handle signals (if - // _Py_ThreadCanHandleSignals() is false). - COMPUTE_EVAL_BREAKER(tstate->interp, ceval, ceval2); -#endif - - return 0; -} - - -/* Computed GOTOs, or - the-optimization-commonly-but-improperly-known-as-"threaded code" - using gcc's labels-as-values extension - (http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html). - - The traditional bytecode evaluation loop uses a "switch" statement, which - decent compilers will optimize as a single indirect branch instruction - combined with a lookup table of jump addresses. However, since the - indirect jump instruction is shared by all opcodes, the CPU will have a - hard time making the right prediction for where to jump next (actually, - it will be always wrong except in the uncommon case of a sequence of - several identical opcodes). - - "Threaded code" in contrast, uses an explicit jump table and an explicit - indirect jump instruction at the end of each opcode. Since the jump - instruction is at a different address for each opcode, the CPU will make a - separate prediction for each of these instructions, which is equivalent to - predicting the second opcode of each opcode pair. These predictions have - a much better chance to turn out valid, especially in small bytecode loops. - - A mispredicted branch on a modern CPU flushes the whole pipeline and - can cost several CPU cycles (depending on the pipeline depth), - and potentially many more instructions (depending on the pipeline width). - A correctly predicted branch, however, is nearly free. - - At the time of this writing, the "threaded code" version is up to 15-20% - faster than the normal "switch" version, depending on the compiler and the - CPU architecture. - - NOTE: care must be taken that the compiler doesn't try to "optimize" the - indirect jumps by sharing them between all opcodes. Such optimizations - can be disabled on gcc by using the -fno-gcse flag (or possibly - -fno-crossjumping). -*/ - -/* Use macros rather than inline functions, to make it as clear as possible - * to the C compiler that the tracing check is a simple test then branch. - * We want to be sure that the compiler knows this before it generates - * the CFG. - */ - -#ifdef WITH_DTRACE -#define OR_DTRACE_LINE | (PyDTrace_LINE_ENABLED() ? 255 : 0) -#else -#define OR_DTRACE_LINE -#endif - -#ifdef HAVE_COMPUTED_GOTOS - #ifndef USE_COMPUTED_GOTOS - #define USE_COMPUTED_GOTOS 1 - #endif -#else - #if defined(USE_COMPUTED_GOTOS) && USE_COMPUTED_GOTOS - #error "Computed gotos are not supported on this compiler." - #endif - #undef USE_COMPUTED_GOTOS - #define USE_COMPUTED_GOTOS 0 -#endif - -#ifdef Py_STATS -#define INSTRUCTION_START(op) \ - do { \ - frame->prev_instr = next_instr++; \ - OPCODE_EXE_INC(op); \ - _py_stats.opcode_stats[lastopcode].pair_count[op]++; \ - lastopcode = op; \ - } while (0) -#else -#define INSTRUCTION_START(op) (frame->prev_instr = next_instr++) -#endif - -#if USE_COMPUTED_GOTOS -#define TARGET(op) TARGET_##op: INSTRUCTION_START(op); -#define DISPATCH_GOTO() goto *opcode_targets[opcode] -#else -#define TARGET(op) case op: INSTRUCTION_START(op); -#define DISPATCH_GOTO() goto dispatch_opcode -#endif - -/* PRE_DISPATCH_GOTO() does lltrace if enabled. Normally a no-op */ -#ifdef LLTRACE -#define PRE_DISPATCH_GOTO() if (lltrace) { \ - lltrace_instruction(frame, stack_pointer, next_instr); } -#else -#define PRE_DISPATCH_GOTO() ((void)0) -#endif - - -/* Do interpreter dispatch accounting for tracing and instrumentation */ -#define DISPATCH() \ - { \ - NEXTOPARG(); \ - PRE_DISPATCH_GOTO(); \ - assert(cframe.use_tracing == 0 || cframe.use_tracing == 255); \ - opcode |= cframe.use_tracing OR_DTRACE_LINE; \ - DISPATCH_GOTO(); \ - } - -#define DISPATCH_SAME_OPARG() \ - { \ - opcode = _Py_OPCODE(*next_instr); \ - PRE_DISPATCH_GOTO(); \ - opcode |= cframe.use_tracing OR_DTRACE_LINE; \ - DISPATCH_GOTO(); \ - } - -#define CHECK_EVAL_BREAKER() \ - _Py_CHECK_EMSCRIPTEN_SIGNALS_PERIODICALLY(); \ - if (_Py_atomic_load_relaxed_int32(eval_breaker)) { \ - goto handle_eval_breaker; \ - } - - -/* Tuple access macros */ - -#ifndef Py_DEBUG -#define GETITEM(v, i) PyTuple_GET_ITEM((PyTupleObject *)(v), (i)) -#else -#define GETITEM(v, i) PyTuple_GetItem((v), (i)) -#endif - -/* Code access macros */ - -/* The integer overflow is checked by an assertion below. */ -#define INSTR_OFFSET() ((int)(next_instr - first_instr)) -#define NEXTOPARG() do { \ - _Py_CODEUNIT word = *next_instr; \ - opcode = _Py_OPCODE(word); \ - oparg = _Py_OPARG(word); \ - } while (0) -#define JUMPTO(x) (next_instr = first_instr + (x)) -#define JUMPBY(x) (next_instr += (x)) - -// Skip from a PRECALL over a CALL to the next instruction: -#define SKIP_CALL() \ - JUMPBY(INLINE_CACHE_ENTRIES_PRECALL + 1 + INLINE_CACHE_ENTRIES_CALL) - -/* Get opcode and oparg from original instructions, not quickened form. */ -#define TRACING_NEXTOPARG() do { \ - NEXTOPARG(); \ - opcode = _PyOpcode_Deopt[opcode]; \ - } while (0) - -/* OpCode prediction macros - Some opcodes tend to come in pairs thus making it possible to - predict the second code when the first is run. For example, - COMPARE_OP is often followed by POP_JUMP_IF_FALSE or POP_JUMP_IF_TRUE. - - Verifying the prediction costs a single high-speed test of a register - variable against a constant. If the pairing was good, then the - processor's own internal branch predication has a high likelihood of - success, resulting in a nearly zero-overhead transition to the - next opcode. A successful prediction saves a trip through the eval-loop - including its unpredictable switch-case branch. Combined with the - processor's internal branch prediction, a successful PREDICT has the - effect of making the two opcodes run as if they were a single new opcode - with the bodies combined. - - If collecting opcode statistics, your choices are to either keep the - predictions turned-on and interpret the results as if some opcodes - had been combined or turn-off predictions so that the opcode frequency - counter updates for both opcodes. - - Opcode prediction is disabled with threaded code, since the latter allows - the CPU to record separate branch prediction information for each - opcode. - -*/ - -#define PREDICT_ID(op) PRED_##op - -#if USE_COMPUTED_GOTOS -#define PREDICT(op) if (0) goto PREDICT_ID(op) -#else -#define PREDICT(op) \ - do { \ - _Py_CODEUNIT word = *next_instr; \ - opcode = _Py_OPCODE(word) | cframe.use_tracing OR_DTRACE_LINE; \ - if (opcode == op) { \ - oparg = _Py_OPARG(word); \ - INSTRUCTION_START(op); \ - goto PREDICT_ID(op); \ - } \ - } while(0) -#endif -#define PREDICTED(op) PREDICT_ID(op): - - -/* Stack manipulation macros */ - -/* The stack can grow at most MAXINT deep, as co_nlocals and - co_stacksize are ints. */ -#define STACK_LEVEL() ((int)(stack_pointer - _PyFrame_Stackbase(frame))) -#define STACK_SIZE() (frame->f_code->co_stacksize) -#define EMPTY() (STACK_LEVEL() == 0) -#define TOP() (stack_pointer[-1]) -#define SECOND() (stack_pointer[-2]) -#define THIRD() (stack_pointer[-3]) -#define FOURTH() (stack_pointer[-4]) -#define PEEK(n) (stack_pointer[-(n)]) -#define SET_TOP(v) (stack_pointer[-1] = (v)) -#define SET_SECOND(v) (stack_pointer[-2] = (v)) -#define BASIC_STACKADJ(n) (stack_pointer += n) -#define BASIC_PUSH(v) (*stack_pointer++ = (v)) -#define BASIC_POP() (*--stack_pointer) - -#ifdef Py_DEBUG -#define PUSH(v) do { \ - BASIC_PUSH(v); \ - assert(STACK_LEVEL() <= STACK_SIZE()); \ - } while (0) -#define POP() (assert(STACK_LEVEL() > 0), BASIC_POP()) -#define STACK_GROW(n) do { \ - assert(n >= 0); \ - BASIC_STACKADJ(n); \ - assert(STACK_LEVEL() <= STACK_SIZE()); \ - } while (0) -#define STACK_SHRINK(n) do { \ - assert(n >= 0); \ - assert(STACK_LEVEL() >= n); \ - BASIC_STACKADJ(-(n)); \ - } while (0) -#else -#define PUSH(v) BASIC_PUSH(v) -#define POP() BASIC_POP() -#define STACK_GROW(n) BASIC_STACKADJ(n) -#define STACK_SHRINK(n) BASIC_STACKADJ(-(n)) -#endif - -/* Local variable macros */ - -#define GETLOCAL(i) (frame->localsplus[i]) - -/* The SETLOCAL() macro must not DECREF the local variable in-place and - then store the new value; it must copy the old value to a temporary - value, then store the new value, and then DECREF the temporary value. - This is because it is possible that during the DECREF the frame is - accessed by other code (e.g. a __del__ method or gc.collect()) and the - variable would be pointing to already-freed memory. */ -#define SETLOCAL(i, value) do { PyObject *tmp = GETLOCAL(i); \ - GETLOCAL(i) = value; \ - Py_XDECREF(tmp); } while (0) - -#define JUMP_TO_INSTRUCTION(op) goto PREDICT_ID(op) - - -#define DEOPT_IF(cond, instname) if (cond) { goto miss; } - - -#define GLOBALS() frame->f_globals -#define BUILTINS() frame->f_builtins -#define LOCALS() frame->f_locals - -/* Shared opcode macros */ - -// shared by LOAD_ATTR_MODULE and LOAD_METHOD_MODULE -#define LOAD_MODULE_ATTR_OR_METHOD(attr_or_method) \ - _PyAttrCache *cache = (_PyAttrCache *)next_instr; \ - DEOPT_IF(!PyModule_CheckExact(owner), LOAD_##attr_or_method); \ - PyDictObject *dict = (PyDictObject *)((PyModuleObject *)owner)->md_dict; \ - assert(dict != NULL); \ - DEOPT_IF(dict->ma_keys->dk_version != read_u32(cache->version), \ - LOAD_##attr_or_method); \ - assert(dict->ma_keys->dk_kind == DICT_KEYS_UNICODE); \ - assert(cache->index < dict->ma_keys->dk_nentries); \ - PyDictUnicodeEntry *ep = DK_UNICODE_ENTRIES(dict->ma_keys) + cache->index; \ - res = ep->me_value; \ - DEOPT_IF(res == NULL, LOAD_##attr_or_method); \ - STAT_INC(LOAD_##attr_or_method, hit); \ - Py_INCREF(res); - -#define TRACE_FUNCTION_EXIT() \ - if (cframe.use_tracing) { \ - if (trace_function_exit(tstate, frame, retval)) { \ - Py_DECREF(retval); \ - goto exit_unwind; \ - } \ - } - -#define DTRACE_FUNCTION_EXIT() \ - if (PyDTrace_FUNCTION_RETURN_ENABLED()) { \ - dtrace_function_return(frame); \ - } - -#define TRACE_FUNCTION_UNWIND() \ - if (cframe.use_tracing) { \ - /* Since we are already unwinding, \ - * we don't care if this raises */ \ - trace_function_exit(tstate, frame, NULL); \ - } - -#define TRACE_FUNCTION_ENTRY() \ - if (cframe.use_tracing) { \ - _PyFrame_SetStackPointer(frame, stack_pointer); \ - int err = trace_function_entry(tstate, frame); \ - stack_pointer = _PyFrame_GetStackPointer(frame); \ - frame->stacktop = -1; \ - if (err) { \ - goto error; \ - } \ - } - -#define TRACE_FUNCTION_THROW_ENTRY() \ - if (cframe.use_tracing) { \ - assert(frame->stacktop >= 0); \ - if (trace_function_entry(tstate, frame)) { \ - goto exit_unwind; \ - } \ - } - -#define DTRACE_FUNCTION_ENTRY() \ - if (PyDTrace_FUNCTION_ENTRY_ENABLED()) { \ - dtrace_function_entry(frame); \ - } - -#define ADAPTIVE_COUNTER_IS_ZERO(cache) \ - (cache)->counter < (1<counter -= (1<c_tracefunc != NULL) { - /* tstate->c_tracefunc, if defined, is a - function that will be called on *every* entry - to a code block. Its return value, if not - None, is a function that will be called at - the start of each executed line of code. - (Actually, the function must return itself - in order to continue tracing.) The trace - functions are called with three arguments: - a pointer to the current frame, a string - indicating why the function is called, and - an argument which depends on the situation. - The global trace function is also called - whenever an exception is detected. */ - if (call_trace_protected(tstate->c_tracefunc, - tstate->c_traceobj, - tstate, frame, - PyTrace_CALL, Py_None)) { - /* Trace function raised an error */ - return -1; - } - } - if (tstate->c_profilefunc != NULL) { - /* Similar for c_profilefunc, except it needn't - return itself and isn't called for "line" events */ - if (call_trace_protected(tstate->c_profilefunc, - tstate->c_profileobj, - tstate, frame, - PyTrace_CALL, Py_None)) { - /* Profile function raised an error */ - return -1; - } - } - return 0; -} - -static int -trace_function_exit(PyThreadState *tstate, _PyInterpreterFrame *frame, PyObject *retval) -{ - if (tstate->c_tracefunc) { - if (call_trace_protected(tstate->c_tracefunc, tstate->c_traceobj, - tstate, frame, PyTrace_RETURN, retval)) { - return -1; - } - } - if (tstate->c_profilefunc) { - if (call_trace_protected(tstate->c_profilefunc, tstate->c_profileobj, - tstate, frame, PyTrace_RETURN, retval)) { - return -1; - } - } - return 0; -} - -/* It is only between the PRECALL instruction and the following CALL, - * that this has any meaning. - */ -typedef struct { - PyObject *kwnames; -} CallShape; - -// GH-89279: Must be a macro to be sure it's inlined by MSVC. -#define is_method(stack_pointer, args) (PEEK((args)+2) != NULL) - -#define KWNAMES_LEN() \ - (call_shape.kwnames == NULL ? 0 : ((int)PyTuple_GET_SIZE(call_shape.kwnames))) - -PyObject* _Py_HOT_FUNCTION -_PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int throwflag) -{ - _Py_EnsureTstateNotNULL(tstate); - CALL_STAT_INC(pyeval_calls); - -#if USE_COMPUTED_GOTOS -/* Import the static jump table */ -#include "opcode_targets.h" -#endif - -#ifdef Py_STATS - int lastopcode = 0; -#endif - // opcode is an 8-bit value to improve the code generated by MSVC - // for the big switch below (in combination with the EXTRA_CASES macro). - uint8_t opcode; /* Current opcode */ - int oparg; /* Current opcode argument, if any */ - _Py_atomic_int * const eval_breaker = &tstate->interp->ceval.eval_breaker; -#ifdef LLTRACE - int lltrace = 0; -#endif - - _PyCFrame cframe; - CallShape call_shape; - call_shape.kwnames = NULL; // Borrowed reference. Reset by CALL instructions. - - /* WARNING: Because the _PyCFrame lives on the C stack, - * but can be accessed from a heap allocated object (tstate) - * strict stack discipline must be maintained. - */ - _PyCFrame *prev_cframe = tstate->cframe; - cframe.use_tracing = prev_cframe->use_tracing; - cframe.previous = prev_cframe; - tstate->cframe = &cframe; - - frame->is_entry = true; - /* Push frame */ - frame->previous = prev_cframe->current_frame; - cframe.current_frame = frame; - - /* support for generator.throw() */ - if (throwflag) { - if (_Py_EnterRecursiveCallTstate(tstate, "")) { - tstate->recursion_remaining--; - goto exit_unwind; - } - TRACE_FUNCTION_THROW_ENTRY(); - DTRACE_FUNCTION_ENTRY(); - goto resume_with_error; - } - - /* Local "register" variables. - * These are cached values from the frame and code object. */ - - PyObject *names; - PyObject *consts; - _Py_CODEUNIT *first_instr; - _Py_CODEUNIT *next_instr; - PyObject **stack_pointer; - -/* Sets the above local variables from the frame */ -#define SET_LOCALS_FROM_FRAME() \ - { \ - PyCodeObject *co = frame->f_code; \ - names = co->co_names; \ - consts = co->co_consts; \ - first_instr = _PyCode_CODE(co); \ - } \ - assert(_PyInterpreterFrame_LASTI(frame) >= -1); \ - /* Jump back to the last instruction executed... */ \ - next_instr = frame->prev_instr + 1; \ - stack_pointer = _PyFrame_GetStackPointer(frame); \ - /* Set stackdepth to -1. \ - Update when returning or calling trace function. \ - Having stackdepth <= 0 ensures that invalid \ - values are not visible to the cycle GC. \ - We choose -1 rather than 0 to assist debugging. \ - */ \ - frame->stacktop = -1; - - -start_frame: - if (_Py_EnterRecursiveCallTstate(tstate, "")) { - tstate->recursion_remaining--; - goto exit_unwind; - } - -resume_frame: - SET_LOCALS_FROM_FRAME(); - -#ifdef LLTRACE - { - int r = PyDict_Contains(GLOBALS(), &_Py_ID(__lltrace__)); - if (r < 0) { - goto exit_unwind; - } - lltrace = r; - } - if (lltrace) { - lltrace_resume_frame(frame); - } -#endif - -#ifdef Py_DEBUG - /* _PyEval_EvalFrameDefault() must not be called with an exception set, - because it can clear it (directly or indirectly) and so the - caller loses its exception */ - assert(!_PyErr_Occurred(tstate)); -#endif - - DISPATCH(); - -handle_eval_breaker: - - /* Do periodic things, like check for signals and async I/0. - * We need to do reasonably frequently, but not too frequently. - * All loops should include a check of the eval breaker. - * We also check on return from any builtin function. - */ - if (eval_frame_handle_pending(tstate) != 0) { - goto error; - } - DISPATCH(); - - { - /* Start instructions */ -#if USE_COMPUTED_GOTOS - { -#else - dispatch_opcode: - switch (opcode) { -#endif - - /* BEWARE! - It is essential that any operation that fails must goto error - and that all operation that succeed call DISPATCH() ! */ - - TARGET(NOP) { - DISPATCH(); - } - - TARGET(RESUME) { - _PyCode_Warmup(frame->f_code); - JUMP_TO_INSTRUCTION(RESUME_QUICK); - } - - TARGET(RESUME_QUICK) { - PREDICTED(RESUME_QUICK); - assert(tstate->cframe == &cframe); - assert(frame == cframe.current_frame); - if (_Py_atomic_load_relaxed_int32(eval_breaker) && oparg < 2) { - goto handle_eval_breaker; - } - DISPATCH(); - } - - TARGET(LOAD_CLOSURE) { - /* We keep LOAD_CLOSURE so that the bytecode stays more readable. */ - PyObject *value = GETLOCAL(oparg); - if (value == NULL) { - goto unbound_local_error; - } - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(LOAD_FAST) { - PyObject *value = GETLOCAL(oparg); - if (value == NULL) { - goto unbound_local_error; - } - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(LOAD_CONST) { - PREDICTED(LOAD_CONST); - PyObject *value = GETITEM(consts, oparg); - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(STORE_FAST) { - PREDICTED(STORE_FAST); - PyObject *value = POP(); - SETLOCAL(oparg, value); - DISPATCH(); - } - - TARGET(LOAD_FAST__LOAD_FAST) { - PyObject *value = GETLOCAL(oparg); - if (value == NULL) { - goto unbound_local_error; - } - NEXTOPARG(); - next_instr++; - Py_INCREF(value); - PUSH(value); - value = GETLOCAL(oparg); - if (value == NULL) { - goto unbound_local_error; - } - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(LOAD_FAST__LOAD_CONST) { - PyObject *value = GETLOCAL(oparg); - if (value == NULL) { - goto unbound_local_error; - } - NEXTOPARG(); - next_instr++; - Py_INCREF(value); - PUSH(value); - value = GETITEM(consts, oparg); - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(STORE_FAST__LOAD_FAST) { - PyObject *value = POP(); - SETLOCAL(oparg, value); - NEXTOPARG(); - next_instr++; - value = GETLOCAL(oparg); - if (value == NULL) { - goto unbound_local_error; - } - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(STORE_FAST__STORE_FAST) { - PyObject *value = POP(); - SETLOCAL(oparg, value); - NEXTOPARG(); - next_instr++; - value = POP(); - SETLOCAL(oparg, value); - DISPATCH(); - } - - TARGET(LOAD_CONST__LOAD_FAST) { - PyObject *value = GETITEM(consts, oparg); - NEXTOPARG(); - next_instr++; - Py_INCREF(value); - PUSH(value); - value = GETLOCAL(oparg); - if (value == NULL) { - goto unbound_local_error; - } - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(POP_TOP) { - PyObject *value = POP(); - Py_DECREF(value); - DISPATCH(); - } - - TARGET(PUSH_NULL) { - /* Use BASIC_PUSH as NULL is not a valid object pointer */ - BASIC_PUSH(NULL); - DISPATCH(); - } - - TARGET(UNARY_POSITIVE) { - PyObject *value = TOP(); - PyObject *res = PyNumber_Positive(value); - Py_DECREF(value); - SET_TOP(res); - if (res == NULL) - goto error; - DISPATCH(); - } - - TARGET(UNARY_NEGATIVE) { - PyObject *value = TOP(); - PyObject *res = PyNumber_Negative(value); - Py_DECREF(value); - SET_TOP(res); - if (res == NULL) - goto error; - DISPATCH(); - } - - TARGET(UNARY_NOT) { - PyObject *value = TOP(); - int err = PyObject_IsTrue(value); - Py_DECREF(value); - if (err == 0) { - Py_INCREF(Py_True); - SET_TOP(Py_True); - DISPATCH(); - } - else if (err > 0) { - Py_INCREF(Py_False); - SET_TOP(Py_False); - DISPATCH(); - } - STACK_SHRINK(1); - goto error; - } - - TARGET(UNARY_INVERT) { - PyObject *value = TOP(); - PyObject *res = PyNumber_Invert(value); - Py_DECREF(value); - SET_TOP(res); - if (res == NULL) - goto error; - DISPATCH(); - } - - TARGET(BINARY_OP_MULTIPLY_INT) { - assert(cframe.use_tracing == 0); - PyObject *left = SECOND(); - PyObject *right = TOP(); - DEOPT_IF(!PyLong_CheckExact(left), BINARY_OP); - DEOPT_IF(!PyLong_CheckExact(right), BINARY_OP); - STAT_INC(BINARY_OP, hit); - PyObject *prod = _PyLong_Multiply((PyLongObject *)left, (PyLongObject *)right); - SET_SECOND(prod); - _Py_DECREF_SPECIALIZED(right, (destructor)PyObject_Free); - _Py_DECREF_SPECIALIZED(left, (destructor)PyObject_Free); - STACK_SHRINK(1); - if (prod == NULL) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_OP); - DISPATCH(); - } - - TARGET(BINARY_OP_MULTIPLY_FLOAT) { - assert(cframe.use_tracing == 0); - PyObject *left = SECOND(); - PyObject *right = TOP(); - DEOPT_IF(!PyFloat_CheckExact(left), BINARY_OP); - DEOPT_IF(!PyFloat_CheckExact(right), BINARY_OP); - STAT_INC(BINARY_OP, hit); - double dprod = ((PyFloatObject *)left)->ob_fval * - ((PyFloatObject *)right)->ob_fval; - PyObject *prod = PyFloat_FromDouble(dprod); - SET_SECOND(prod); - _Py_DECREF_SPECIALIZED(right, _PyFloat_ExactDealloc); - _Py_DECREF_SPECIALIZED(left, _PyFloat_ExactDealloc); - STACK_SHRINK(1); - if (prod == NULL) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_OP); - DISPATCH(); - } - - TARGET(BINARY_OP_SUBTRACT_INT) { - assert(cframe.use_tracing == 0); - PyObject *left = SECOND(); - PyObject *right = TOP(); - DEOPT_IF(!PyLong_CheckExact(left), BINARY_OP); - DEOPT_IF(!PyLong_CheckExact(right), BINARY_OP); - STAT_INC(BINARY_OP, hit); - PyObject *sub = _PyLong_Subtract((PyLongObject *)left, (PyLongObject *)right); - SET_SECOND(sub); - _Py_DECREF_SPECIALIZED(right, (destructor)PyObject_Free); - _Py_DECREF_SPECIALIZED(left, (destructor)PyObject_Free); - STACK_SHRINK(1); - if (sub == NULL) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_OP); - DISPATCH(); - } - - TARGET(BINARY_OP_SUBTRACT_FLOAT) { - assert(cframe.use_tracing == 0); - PyObject *left = SECOND(); - PyObject *right = TOP(); - DEOPT_IF(!PyFloat_CheckExact(left), BINARY_OP); - DEOPT_IF(!PyFloat_CheckExact(right), BINARY_OP); - STAT_INC(BINARY_OP, hit); - double dsub = ((PyFloatObject *)left)->ob_fval - ((PyFloatObject *)right)->ob_fval; - PyObject *sub = PyFloat_FromDouble(dsub); - SET_SECOND(sub); - _Py_DECREF_SPECIALIZED(right, _PyFloat_ExactDealloc); - _Py_DECREF_SPECIALIZED(left, _PyFloat_ExactDealloc); - STACK_SHRINK(1); - if (sub == NULL) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_OP); - DISPATCH(); - } - - TARGET(BINARY_OP_ADD_UNICODE) { - assert(cframe.use_tracing == 0); - PyObject *left = SECOND(); - PyObject *right = TOP(); - DEOPT_IF(!PyUnicode_CheckExact(left), BINARY_OP); - DEOPT_IF(Py_TYPE(right) != Py_TYPE(left), BINARY_OP); - STAT_INC(BINARY_OP, hit); - PyObject *res = PyUnicode_Concat(left, right); - STACK_SHRINK(1); - SET_TOP(res); - _Py_DECREF_SPECIALIZED(left, _PyUnicode_ExactDealloc); - _Py_DECREF_SPECIALIZED(right, _PyUnicode_ExactDealloc); - if (TOP() == NULL) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_OP); - DISPATCH(); - } - - TARGET(BINARY_OP_INPLACE_ADD_UNICODE) { - assert(cframe.use_tracing == 0); - PyObject *left = SECOND(); - PyObject *right = TOP(); - DEOPT_IF(!PyUnicode_CheckExact(left), BINARY_OP); - DEOPT_IF(Py_TYPE(right) != Py_TYPE(left), BINARY_OP); - _Py_CODEUNIT true_next = next_instr[INLINE_CACHE_ENTRIES_BINARY_OP]; - assert(_Py_OPCODE(true_next) == STORE_FAST || - _Py_OPCODE(true_next) == STORE_FAST__LOAD_FAST); - PyObject **target_local = &GETLOCAL(_Py_OPARG(true_next)); - DEOPT_IF(*target_local != left, BINARY_OP); - STAT_INC(BINARY_OP, hit); - /* Handle `left = left + right` or `left += right` for str. - * - * When possible, extend `left` in place rather than - * allocating a new PyUnicodeObject. This attempts to avoid - * quadratic behavior when one neglects to use str.join(). - * - * If `left` has only two references remaining (one from - * the stack, one in the locals), DECREFing `left` leaves - * only the locals reference, so PyUnicode_Append knows - * that the string is safe to mutate. - */ - assert(Py_REFCNT(left) >= 2); - _Py_DECREF_NO_DEALLOC(left); - STACK_SHRINK(2); - PyUnicode_Append(target_local, right); - _Py_DECREF_SPECIALIZED(right, _PyUnicode_ExactDealloc); - if (*target_local == NULL) { - goto error; - } - // The STORE_FAST is already done. - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_OP + 1); - DISPATCH(); - } - - TARGET(BINARY_OP_ADD_FLOAT) { - assert(cframe.use_tracing == 0); - PyObject *left = SECOND(); - PyObject *right = TOP(); - DEOPT_IF(!PyFloat_CheckExact(left), BINARY_OP); - DEOPT_IF(Py_TYPE(right) != Py_TYPE(left), BINARY_OP); - STAT_INC(BINARY_OP, hit); - double dsum = ((PyFloatObject *)left)->ob_fval + - ((PyFloatObject *)right)->ob_fval; - PyObject *sum = PyFloat_FromDouble(dsum); - SET_SECOND(sum); - _Py_DECREF_SPECIALIZED(right, _PyFloat_ExactDealloc); - _Py_DECREF_SPECIALIZED(left, _PyFloat_ExactDealloc); - STACK_SHRINK(1); - if (sum == NULL) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_OP); - DISPATCH(); - } - - TARGET(BINARY_OP_ADD_INT) { - assert(cframe.use_tracing == 0); - PyObject *left = SECOND(); - PyObject *right = TOP(); - DEOPT_IF(!PyLong_CheckExact(left), BINARY_OP); - DEOPT_IF(Py_TYPE(right) != Py_TYPE(left), BINARY_OP); - STAT_INC(BINARY_OP, hit); - PyObject *sum = _PyLong_Add((PyLongObject *)left, (PyLongObject *)right); - SET_SECOND(sum); - _Py_DECREF_SPECIALIZED(right, (destructor)PyObject_Free); - _Py_DECREF_SPECIALIZED(left, (destructor)PyObject_Free); - STACK_SHRINK(1); - if (sum == NULL) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_OP); - DISPATCH(); - } - - TARGET(BINARY_SUBSCR) { - PREDICTED(BINARY_SUBSCR); - PyObject *sub = POP(); - PyObject *container = TOP(); - PyObject *res = PyObject_GetItem(container, sub); - Py_DECREF(container); - Py_DECREF(sub); - SET_TOP(res); - if (res == NULL) - goto error; - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_SUBSCR); - DISPATCH(); - } - - TARGET(BINARY_SUBSCR_ADAPTIVE) { - _PyBinarySubscrCache *cache = (_PyBinarySubscrCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - PyObject *sub = TOP(); - PyObject *container = SECOND(); - next_instr--; - if (_Py_Specialize_BinarySubscr(container, sub, next_instr) < 0) { - next_instr++; - goto error; - } - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(BINARY_SUBSCR, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - JUMP_TO_INSTRUCTION(BINARY_SUBSCR); - } - } - - TARGET(BINARY_SUBSCR_LIST_INT) { - assert(cframe.use_tracing == 0); - PyObject *sub = TOP(); - PyObject *list = SECOND(); - DEOPT_IF(!PyLong_CheckExact(sub), BINARY_SUBSCR); - DEOPT_IF(!PyList_CheckExact(list), BINARY_SUBSCR); - - // Deopt unless 0 <= sub < PyList_Size(list) - Py_ssize_t signed_magnitude = Py_SIZE(sub); - DEOPT_IF(((size_t)signed_magnitude) > 1, BINARY_SUBSCR); - assert(((PyLongObject *)_PyLong_GetZero())->ob_digit[0] == 0); - Py_ssize_t index = ((PyLongObject*)sub)->ob_digit[0]; - DEOPT_IF(index >= PyList_GET_SIZE(list), BINARY_SUBSCR); - STAT_INC(BINARY_SUBSCR, hit); - PyObject *res = PyList_GET_ITEM(list, index); - assert(res != NULL); - Py_INCREF(res); - STACK_SHRINK(1); - _Py_DECREF_SPECIALIZED(sub, (destructor)PyObject_Free); - SET_TOP(res); - Py_DECREF(list); - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_SUBSCR); - DISPATCH(); - } - - TARGET(BINARY_SUBSCR_TUPLE_INT) { - assert(cframe.use_tracing == 0); - PyObject *sub = TOP(); - PyObject *tuple = SECOND(); - DEOPT_IF(!PyLong_CheckExact(sub), BINARY_SUBSCR); - DEOPT_IF(!PyTuple_CheckExact(tuple), BINARY_SUBSCR); - - // Deopt unless 0 <= sub < PyTuple_Size(list) - Py_ssize_t signed_magnitude = Py_SIZE(sub); - DEOPT_IF(((size_t)signed_magnitude) > 1, BINARY_SUBSCR); - assert(((PyLongObject *)_PyLong_GetZero())->ob_digit[0] == 0); - Py_ssize_t index = ((PyLongObject*)sub)->ob_digit[0]; - DEOPT_IF(index >= PyTuple_GET_SIZE(tuple), BINARY_SUBSCR); - STAT_INC(BINARY_SUBSCR, hit); - PyObject *res = PyTuple_GET_ITEM(tuple, index); - assert(res != NULL); - Py_INCREF(res); - STACK_SHRINK(1); - _Py_DECREF_SPECIALIZED(sub, (destructor)PyObject_Free); - SET_TOP(res); - Py_DECREF(tuple); - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_SUBSCR); - DISPATCH(); - } - - TARGET(BINARY_SUBSCR_DICT) { - assert(cframe.use_tracing == 0); - PyObject *dict = SECOND(); - DEOPT_IF(!PyDict_CheckExact(SECOND()), BINARY_SUBSCR); - STAT_INC(BINARY_SUBSCR, hit); - PyObject *sub = TOP(); - PyObject *res = PyDict_GetItemWithError(dict, sub); - if (res == NULL) { - goto binary_subscr_dict_error; - } - Py_INCREF(res); - STACK_SHRINK(1); - Py_DECREF(sub); - SET_TOP(res); - Py_DECREF(dict); - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_SUBSCR); - DISPATCH(); - } - - TARGET(BINARY_SUBSCR_GETITEM) { - DEOPT_IF(tstate->interp->eval_frame, BINARY_SUBSCR); - PyObject *sub = TOP(); - PyObject *container = SECOND(); - _PyBinarySubscrCache *cache = (_PyBinarySubscrCache *)next_instr; - uint32_t type_version = read_u32(cache->type_version); - PyTypeObject *tp = Py_TYPE(container); - DEOPT_IF(tp->tp_version_tag != type_version, BINARY_SUBSCR); - assert(tp->tp_flags & Py_TPFLAGS_HEAPTYPE); - PyObject *cached = ((PyHeapTypeObject *)tp)->_spec_cache.getitem; - assert(PyFunction_Check(cached)); - PyFunctionObject *getitem = (PyFunctionObject *)cached; - DEOPT_IF(getitem->func_version != cache->func_version, BINARY_SUBSCR); - PyCodeObject *code = (PyCodeObject *)getitem->func_code; - size_t size = code->co_nlocalsplus + code->co_stacksize + FRAME_SPECIALS_SIZE; - assert(code->co_argcount == 2); - _PyInterpreterFrame *new_frame = _PyThreadState_BumpFramePointer(tstate, size); - if (new_frame == NULL) { - goto error; - } - CALL_STAT_INC(frames_pushed); - Py_INCREF(getitem); - _PyFrame_InitializeSpecials(new_frame, getitem, - NULL, code->co_nlocalsplus); - STACK_SHRINK(2); - new_frame->localsplus[0] = container; - new_frame->localsplus[1] = sub; - for (int i = 2; i < code->co_nlocalsplus; i++) { - new_frame->localsplus[i] = NULL; - } - _PyFrame_SetStackPointer(frame, stack_pointer); - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_SUBSCR); - frame->prev_instr = next_instr - 1; - new_frame->previous = frame; - frame = cframe.current_frame = new_frame; - CALL_STAT_INC(inlined_py_calls); - goto start_frame; - } - - TARGET(LIST_APPEND) { - PyObject *v = POP(); - PyObject *list = PEEK(oparg); - if (_PyList_AppendTakeRef((PyListObject *)list, v) < 0) - goto error; - PREDICT(JUMP_BACKWARD_QUICK); - DISPATCH(); - } - - TARGET(SET_ADD) { - PyObject *v = POP(); - PyObject *set = PEEK(oparg); - int err; - err = PySet_Add(set, v); - Py_DECREF(v); - if (err != 0) - goto error; - PREDICT(JUMP_BACKWARD_QUICK); - DISPATCH(); - } - - TARGET(STORE_SUBSCR) { - PREDICTED(STORE_SUBSCR); - PyObject *sub = TOP(); - PyObject *container = SECOND(); - PyObject *v = THIRD(); - int err; - STACK_SHRINK(3); - /* container[sub] = v */ - err = PyObject_SetItem(container, sub, v); - Py_DECREF(v); - Py_DECREF(container); - Py_DECREF(sub); - if (err != 0) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_STORE_SUBSCR); - DISPATCH(); - } - - TARGET(STORE_SUBSCR_ADAPTIVE) { - _PyStoreSubscrCache *cache = (_PyStoreSubscrCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - PyObject *sub = TOP(); - PyObject *container = SECOND(); - next_instr--; - if (_Py_Specialize_StoreSubscr(container, sub, next_instr) < 0) { - next_instr++; - goto error; - } - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(STORE_SUBSCR, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - JUMP_TO_INSTRUCTION(STORE_SUBSCR); - } - } - - TARGET(STORE_SUBSCR_LIST_INT) { - assert(cframe.use_tracing == 0); - PyObject *sub = TOP(); - PyObject *list = SECOND(); - PyObject *value = THIRD(); - DEOPT_IF(!PyLong_CheckExact(sub), STORE_SUBSCR); - DEOPT_IF(!PyList_CheckExact(list), STORE_SUBSCR); - - // Ensure nonnegative, zero-or-one-digit ints. - DEOPT_IF(((size_t)Py_SIZE(sub)) > 1, STORE_SUBSCR); - Py_ssize_t index = ((PyLongObject*)sub)->ob_digit[0]; - // Ensure index < len(list) - DEOPT_IF(index >= PyList_GET_SIZE(list), STORE_SUBSCR); - STAT_INC(STORE_SUBSCR, hit); - - PyObject *old_value = PyList_GET_ITEM(list, index); - PyList_SET_ITEM(list, index, value); - STACK_SHRINK(3); - assert(old_value != NULL); - Py_DECREF(old_value); - _Py_DECREF_SPECIALIZED(sub, (destructor)PyObject_Free); - Py_DECREF(list); - JUMPBY(INLINE_CACHE_ENTRIES_STORE_SUBSCR); - DISPATCH(); - } - - TARGET(STORE_SUBSCR_DICT) { - assert(cframe.use_tracing == 0); - PyObject *sub = TOP(); - PyObject *dict = SECOND(); - PyObject *value = THIRD(); - DEOPT_IF(!PyDict_CheckExact(dict), STORE_SUBSCR); - STACK_SHRINK(3); - STAT_INC(STORE_SUBSCR, hit); - int err = _PyDict_SetItem_Take2((PyDictObject *)dict, sub, value); - Py_DECREF(dict); - if (err != 0) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_STORE_SUBSCR); - DISPATCH(); - } - - TARGET(DELETE_SUBSCR) { - PyObject *sub = TOP(); - PyObject *container = SECOND(); - int err; - STACK_SHRINK(2); - /* del container[sub] */ - err = PyObject_DelItem(container, sub); - Py_DECREF(container); - Py_DECREF(sub); - if (err != 0) - goto error; - DISPATCH(); - } - - TARGET(PRINT_EXPR) { - PyObject *value = POP(); - PyObject *hook = _PySys_GetAttr(tstate, &_Py_ID(displayhook)); - PyObject *res; - if (hook == NULL) { - _PyErr_SetString(tstate, PyExc_RuntimeError, - "lost sys.displayhook"); - Py_DECREF(value); - goto error; - } - res = PyObject_CallOneArg(hook, value); - Py_DECREF(value); - if (res == NULL) - goto error; - Py_DECREF(res); - DISPATCH(); - } - - TARGET(RAISE_VARARGS) { - PyObject *cause = NULL, *exc = NULL; - switch (oparg) { - case 2: - cause = POP(); /* cause */ - /* fall through */ - case 1: - exc = POP(); /* exc */ - /* fall through */ - case 0: - if (do_raise(tstate, exc, cause)) { - goto exception_unwind; - } - break; - default: - _PyErr_SetString(tstate, PyExc_SystemError, - "bad RAISE_VARARGS oparg"); - break; - } - goto error; - } - - TARGET(RETURN_VALUE) { - PyObject *retval = POP(); - assert(EMPTY()); - _PyFrame_SetStackPointer(frame, stack_pointer); - TRACE_FUNCTION_EXIT(); - DTRACE_FUNCTION_EXIT(); - _Py_LeaveRecursiveCallTstate(tstate); - if (!frame->is_entry) { - // GH-99729: We need to unlink the frame *before* clearing it: - _PyInterpreterFrame *dying = frame; - frame = cframe.current_frame = dying->previous; - _PyEvalFrameClearAndPop(tstate, dying); - _PyFrame_StackPush(frame, retval); - goto resume_frame; - } - /* Restore previous cframe and return. */ - tstate->cframe = cframe.previous; - tstate->cframe->use_tracing = cframe.use_tracing; - assert(tstate->cframe->current_frame == frame->previous); - assert(!_PyErr_Occurred(tstate)); - return retval; - } - - TARGET(GET_AITER) { - unaryfunc getter = NULL; - PyObject *iter = NULL; - PyObject *obj = TOP(); - PyTypeObject *type = Py_TYPE(obj); - - if (type->tp_as_async != NULL) { - getter = type->tp_as_async->am_aiter; - } - - if (getter != NULL) { - iter = (*getter)(obj); - Py_DECREF(obj); - if (iter == NULL) { - SET_TOP(NULL); - goto error; - } - } - else { - SET_TOP(NULL); - _PyErr_Format(tstate, PyExc_TypeError, - "'async for' requires an object with " - "__aiter__ method, got %.100s", - type->tp_name); - Py_DECREF(obj); - goto error; - } - - if (Py_TYPE(iter)->tp_as_async == NULL || - Py_TYPE(iter)->tp_as_async->am_anext == NULL) { - - SET_TOP(NULL); - _PyErr_Format(tstate, PyExc_TypeError, - "'async for' received an object from __aiter__ " - "that does not implement __anext__: %.100s", - Py_TYPE(iter)->tp_name); - Py_DECREF(iter); - goto error; - } - - SET_TOP(iter); - DISPATCH(); - } - - TARGET(GET_ANEXT) { - unaryfunc getter = NULL; - PyObject *next_iter = NULL; - PyObject *awaitable = NULL; - PyObject *aiter = TOP(); - PyTypeObject *type = Py_TYPE(aiter); - - if (PyAsyncGen_CheckExact(aiter)) { - awaitable = type->tp_as_async->am_anext(aiter); - if (awaitable == NULL) { - goto error; - } - } else { - if (type->tp_as_async != NULL){ - getter = type->tp_as_async->am_anext; - } - - if (getter != NULL) { - next_iter = (*getter)(aiter); - if (next_iter == NULL) { - goto error; - } - } - else { - _PyErr_Format(tstate, PyExc_TypeError, - "'async for' requires an iterator with " - "__anext__ method, got %.100s", - type->tp_name); - goto error; - } - - awaitable = _PyCoro_GetAwaitableIter(next_iter); - if (awaitable == NULL) { - _PyErr_FormatFromCause( - PyExc_TypeError, - "'async for' received an invalid object " - "from __anext__: %.100s", - Py_TYPE(next_iter)->tp_name); - - Py_DECREF(next_iter); - goto error; - } else { - Py_DECREF(next_iter); - } - } - - PUSH(awaitable); - PREDICT(LOAD_CONST); - DISPATCH(); - } - - TARGET(GET_AWAITABLE) { - PREDICTED(GET_AWAITABLE); - PyObject *iterable = TOP(); - PyObject *iter = _PyCoro_GetAwaitableIter(iterable); - - if (iter == NULL) { - format_awaitable_error(tstate, Py_TYPE(iterable), oparg); - } - - Py_DECREF(iterable); - - if (iter != NULL && PyCoro_CheckExact(iter)) { - PyObject *yf = _PyGen_yf((PyGenObject*)iter); - if (yf != NULL) { - /* `iter` is a coroutine object that is being - awaited, `yf` is a pointer to the current awaitable - being awaited on. */ - Py_DECREF(yf); - Py_CLEAR(iter); - _PyErr_SetString(tstate, PyExc_RuntimeError, - "coroutine is being awaited already"); - /* The code below jumps to `error` if `iter` is NULL. */ - } - } - - SET_TOP(iter); /* Even if it's NULL */ - - if (iter == NULL) { - goto error; - } - - PREDICT(LOAD_CONST); - DISPATCH(); - } - - TARGET(SEND) { - assert(frame->is_entry); - assert(STACK_LEVEL() >= 2); - PyObject *v = POP(); - PyObject *receiver = TOP(); - PySendResult gen_status; - PyObject *retval; - if (tstate->c_tracefunc == NULL) { - gen_status = PyIter_Send(receiver, v, &retval); - } else { - if (Py_IsNone(v) && PyIter_Check(receiver)) { - retval = Py_TYPE(receiver)->tp_iternext(receiver); - } - else { - retval = PyObject_CallMethodOneArg(receiver, &_Py_ID(send), v); - } - if (retval == NULL) { - if (tstate->c_tracefunc != NULL - && _PyErr_ExceptionMatches(tstate, PyExc_StopIteration)) - call_exc_trace(tstate->c_tracefunc, tstate->c_traceobj, tstate, frame); - if (_PyGen_FetchStopIterationValue(&retval) == 0) { - gen_status = PYGEN_RETURN; - } - else { - gen_status = PYGEN_ERROR; - } - } - else { - gen_status = PYGEN_NEXT; - } - } - Py_DECREF(v); - if (gen_status == PYGEN_ERROR) { - assert(retval == NULL); - goto error; - } - if (gen_status == PYGEN_RETURN) { - assert(retval != NULL); - Py_DECREF(receiver); - SET_TOP(retval); - JUMPBY(oparg); - DISPATCH(); - } - assert(gen_status == PYGEN_NEXT); - assert(retval != NULL); - PUSH(retval); - DISPATCH(); - } - - TARGET(ASYNC_GEN_WRAP) { - PyObject *v = TOP(); - assert(frame->f_code->co_flags & CO_ASYNC_GENERATOR); - PyObject *w = _PyAsyncGenValueWrapperNew(v); - if (w == NULL) { - goto error; - } - SET_TOP(w); - Py_DECREF(v); - DISPATCH(); - } - - TARGET(YIELD_VALUE) { - assert(frame->is_entry); - PyObject *retval = POP(); - _PyFrame_GetGenerator(frame)->gi_frame_state = FRAME_SUSPENDED; - _PyFrame_SetStackPointer(frame, stack_pointer); - TRACE_FUNCTION_EXIT(); - DTRACE_FUNCTION_EXIT(); - _Py_LeaveRecursiveCallTstate(tstate); - /* Restore previous cframe and return. */ - tstate->cframe = cframe.previous; - tstate->cframe->use_tracing = cframe.use_tracing; - assert(tstate->cframe->current_frame == frame->previous); - assert(!_PyErr_Occurred(tstate)); - return retval; - } - - TARGET(POP_EXCEPT) { - _PyErr_StackItem *exc_info = tstate->exc_info; - PyObject *value = exc_info->exc_value; - exc_info->exc_value = POP(); - Py_XDECREF(value); - DISPATCH(); - } - - TARGET(RERAISE) { - if (oparg) { - PyObject *lasti = PEEK(oparg + 1); - if (PyLong_Check(lasti)) { - frame->prev_instr = first_instr + PyLong_AsLong(lasti); - assert(!_PyErr_Occurred(tstate)); - } - else { - assert(PyLong_Check(lasti)); - _PyErr_SetString(tstate, PyExc_SystemError, "lasti is not an int"); - goto error; - } - } - PyObject *val = POP(); - assert(val && PyExceptionInstance_Check(val)); - PyObject *exc = Py_NewRef(PyExceptionInstance_Class(val)); - PyObject *tb = PyException_GetTraceback(val); - _PyErr_Restore(tstate, exc, val, tb); - goto exception_unwind; - } - - TARGET(PREP_RERAISE_STAR) { - PyObject *excs = POP(); - assert(PyList_Check(excs)); - PyObject *orig = POP(); - - PyObject *val = _PyExc_PrepReraiseStar(orig, excs); - Py_DECREF(excs); - Py_DECREF(orig); - - if (val == NULL) { - goto error; - } - - PUSH(val); - DISPATCH(); - } - - TARGET(END_ASYNC_FOR) { - PyObject *val = POP(); - assert(val && PyExceptionInstance_Check(val)); - if (PyErr_GivenExceptionMatches(val, PyExc_StopAsyncIteration)) { - Py_DECREF(val); - Py_DECREF(POP()); - DISPATCH(); - } - else { - PyObject *exc = Py_NewRef(PyExceptionInstance_Class(val)); - PyObject *tb = PyException_GetTraceback(val); - _PyErr_Restore(tstate, exc, val, tb); - goto exception_unwind; - } - } - - TARGET(LOAD_ASSERTION_ERROR) { - PyObject *value = PyExc_AssertionError; - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(LOAD_BUILD_CLASS) { - PyObject *bc; - if (PyDict_CheckExact(BUILTINS())) { - bc = _PyDict_GetItemWithError(BUILTINS(), - &_Py_ID(__build_class__)); - if (bc == NULL) { - if (!_PyErr_Occurred(tstate)) { - _PyErr_SetString(tstate, PyExc_NameError, - "__build_class__ not found"); - } - goto error; - } - Py_INCREF(bc); - } - else { - bc = PyObject_GetItem(BUILTINS(), &_Py_ID(__build_class__)); - if (bc == NULL) { - if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) - _PyErr_SetString(tstate, PyExc_NameError, - "__build_class__ not found"); - goto error; - } - } - PUSH(bc); - DISPATCH(); - } - - TARGET(STORE_NAME) { - PyObject *name = GETITEM(names, oparg); - PyObject *v = POP(); - PyObject *ns = LOCALS(); - int err; - if (ns == NULL) { - _PyErr_Format(tstate, PyExc_SystemError, - "no locals found when storing %R", name); - Py_DECREF(v); - goto error; - } - if (PyDict_CheckExact(ns)) - err = PyDict_SetItem(ns, name, v); - else - err = PyObject_SetItem(ns, name, v); - Py_DECREF(v); - if (err != 0) - goto error; - DISPATCH(); - } - - TARGET(DELETE_NAME) { - PyObject *name = GETITEM(names, oparg); - PyObject *ns = LOCALS(); - int err; - if (ns == NULL) { - _PyErr_Format(tstate, PyExc_SystemError, - "no locals when deleting %R", name); - goto error; - } - err = PyObject_DelItem(ns, name); - if (err != 0) { - format_exc_check_arg(tstate, PyExc_NameError, - NAME_ERROR_MSG, - name); - goto error; - } - DISPATCH(); - } - - TARGET(UNPACK_SEQUENCE) { - PREDICTED(UNPACK_SEQUENCE); - PyObject *seq = POP(); - PyObject **top = stack_pointer + oparg; - if (!unpack_iterable(tstate, seq, oparg, -1, top)) { - Py_DECREF(seq); - goto error; - } - STACK_GROW(oparg); - Py_DECREF(seq); - JUMPBY(INLINE_CACHE_ENTRIES_UNPACK_SEQUENCE); - DISPATCH(); - } - - TARGET(UNPACK_SEQUENCE_ADAPTIVE) { - assert(cframe.use_tracing == 0); - _PyUnpackSequenceCache *cache = (_PyUnpackSequenceCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - PyObject *seq = TOP(); - next_instr--; - _Py_Specialize_UnpackSequence(seq, next_instr, oparg); - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(UNPACK_SEQUENCE, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - JUMP_TO_INSTRUCTION(UNPACK_SEQUENCE); - } - } - - TARGET(UNPACK_SEQUENCE_TWO_TUPLE) { - PyObject *seq = TOP(); - DEOPT_IF(!PyTuple_CheckExact(seq), UNPACK_SEQUENCE); - DEOPT_IF(PyTuple_GET_SIZE(seq) != 2, UNPACK_SEQUENCE); - STAT_INC(UNPACK_SEQUENCE, hit); - SET_TOP(Py_NewRef(PyTuple_GET_ITEM(seq, 1))); - PUSH(Py_NewRef(PyTuple_GET_ITEM(seq, 0))); - Py_DECREF(seq); - JUMPBY(INLINE_CACHE_ENTRIES_UNPACK_SEQUENCE); - DISPATCH(); - } - - TARGET(UNPACK_SEQUENCE_TUPLE) { - PyObject *seq = TOP(); - DEOPT_IF(!PyTuple_CheckExact(seq), UNPACK_SEQUENCE); - DEOPT_IF(PyTuple_GET_SIZE(seq) != oparg, UNPACK_SEQUENCE); - STAT_INC(UNPACK_SEQUENCE, hit); - STACK_SHRINK(1); - PyObject **items = _PyTuple_ITEMS(seq); - while (oparg--) { - PUSH(Py_NewRef(items[oparg])); - } - Py_DECREF(seq); - JUMPBY(INLINE_CACHE_ENTRIES_UNPACK_SEQUENCE); - DISPATCH(); - } - - TARGET(UNPACK_SEQUENCE_LIST) { - PyObject *seq = TOP(); - DEOPT_IF(!PyList_CheckExact(seq), UNPACK_SEQUENCE); - DEOPT_IF(PyList_GET_SIZE(seq) != oparg, UNPACK_SEQUENCE); - STAT_INC(UNPACK_SEQUENCE, hit); - STACK_SHRINK(1); - PyObject **items = _PyList_ITEMS(seq); - while (oparg--) { - PUSH(Py_NewRef(items[oparg])); - } - Py_DECREF(seq); - JUMPBY(INLINE_CACHE_ENTRIES_UNPACK_SEQUENCE); - DISPATCH(); - } - - TARGET(UNPACK_EX) { - int totalargs = 1 + (oparg & 0xFF) + (oparg >> 8); - PyObject *seq = POP(); - PyObject **top = stack_pointer + totalargs; - if (!unpack_iterable(tstate, seq, oparg & 0xFF, oparg >> 8, top)) { - Py_DECREF(seq); - goto error; - } - STACK_GROW(totalargs); - Py_DECREF(seq); - DISPATCH(); - } - - TARGET(STORE_ATTR) { - PREDICTED(STORE_ATTR); - PyObject *name = GETITEM(names, oparg); - PyObject *owner = TOP(); - PyObject *v = SECOND(); - int err; - STACK_SHRINK(2); - err = PyObject_SetAttr(owner, name, v); - Py_DECREF(v); - Py_DECREF(owner); - if (err != 0) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_STORE_ATTR); - DISPATCH(); - } - - TARGET(DELETE_ATTR) { - PyObject *name = GETITEM(names, oparg); - PyObject *owner = POP(); - int err; - err = PyObject_SetAttr(owner, name, (PyObject *)NULL); - Py_DECREF(owner); - if (err != 0) - goto error; - DISPATCH(); - } - - TARGET(STORE_GLOBAL) { - PyObject *name = GETITEM(names, oparg); - PyObject *v = POP(); - int err; - err = PyDict_SetItem(GLOBALS(), name, v); - Py_DECREF(v); - if (err != 0) - goto error; - DISPATCH(); - } - - TARGET(DELETE_GLOBAL) { - PyObject *name = GETITEM(names, oparg); - int err; - err = PyDict_DelItem(GLOBALS(), name); - if (err != 0) { - if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { - format_exc_check_arg(tstate, PyExc_NameError, - NAME_ERROR_MSG, name); - } - goto error; - } - DISPATCH(); - } - - TARGET(LOAD_NAME) { - PyObject *name = GETITEM(names, oparg); - PyObject *locals = LOCALS(); - PyObject *v; - if (locals == NULL) { - _PyErr_Format(tstate, PyExc_SystemError, - "no locals when loading %R", name); - goto error; - } - if (PyDict_CheckExact(locals)) { - v = PyDict_GetItemWithError(locals, name); - if (v != NULL) { - Py_INCREF(v); - } - else if (_PyErr_Occurred(tstate)) { - goto error; - } - } - else { - v = PyObject_GetItem(locals, name); - if (v == NULL) { - if (!_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) - goto error; - _PyErr_Clear(tstate); - } - } - if (v == NULL) { - v = PyDict_GetItemWithError(GLOBALS(), name); - if (v != NULL) { - Py_INCREF(v); - } - else if (_PyErr_Occurred(tstate)) { - goto error; - } - else { - if (PyDict_CheckExact(BUILTINS())) { - v = PyDict_GetItemWithError(BUILTINS(), name); - if (v == NULL) { - if (!_PyErr_Occurred(tstate)) { - format_exc_check_arg( - tstate, PyExc_NameError, - NAME_ERROR_MSG, name); - } - goto error; - } - Py_INCREF(v); - } - else { - v = PyObject_GetItem(BUILTINS(), name); - if (v == NULL) { - if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { - format_exc_check_arg( - tstate, PyExc_NameError, - NAME_ERROR_MSG, name); - } - goto error; - } - } - } - } - PUSH(v); - DISPATCH(); - } - - TARGET(LOAD_GLOBAL) { - PREDICTED(LOAD_GLOBAL); - int push_null = oparg & 1; - PEEK(0) = NULL; - PyObject *name = GETITEM(names, oparg>>1); - PyObject *v; - if (PyDict_CheckExact(GLOBALS()) - && PyDict_CheckExact(BUILTINS())) - { - v = _PyDict_LoadGlobal((PyDictObject *)GLOBALS(), - (PyDictObject *)BUILTINS(), - name); - if (v == NULL) { - if (!_PyErr_Occurred(tstate)) { - /* _PyDict_LoadGlobal() returns NULL without raising - * an exception if the key doesn't exist */ - format_exc_check_arg(tstate, PyExc_NameError, - NAME_ERROR_MSG, name); - } - goto error; - } - Py_INCREF(v); - } - else { - /* Slow-path if globals or builtins is not a dict */ - - /* namespace 1: globals */ - v = PyObject_GetItem(GLOBALS(), name); - if (v == NULL) { - if (!_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { - goto error; - } - _PyErr_Clear(tstate); - - /* namespace 2: builtins */ - v = PyObject_GetItem(BUILTINS(), name); - if (v == NULL) { - if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { - format_exc_check_arg( - tstate, PyExc_NameError, - NAME_ERROR_MSG, name); - } - goto error; - } - } - } - /* Skip over inline cache */ - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_GLOBAL); - STACK_GROW(push_null); - PUSH(v); - DISPATCH(); - } - - TARGET(LOAD_GLOBAL_ADAPTIVE) { - assert(cframe.use_tracing == 0); - _PyLoadGlobalCache *cache = (_PyLoadGlobalCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - PyObject *name = GETITEM(names, oparg>>1); - next_instr--; - if (_Py_Specialize_LoadGlobal(GLOBALS(), BUILTINS(), next_instr, name) < 0) { - next_instr++; - goto error; - } - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(LOAD_GLOBAL, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - JUMP_TO_INSTRUCTION(LOAD_GLOBAL); - } - } - - TARGET(LOAD_GLOBAL_MODULE) { - assert(cframe.use_tracing == 0); - DEOPT_IF(!PyDict_CheckExact(GLOBALS()), LOAD_GLOBAL); - PyDictObject *dict = (PyDictObject *)GLOBALS(); - _PyLoadGlobalCache *cache = (_PyLoadGlobalCache *)next_instr; - uint32_t version = read_u32(cache->module_keys_version); - DEOPT_IF(dict->ma_keys->dk_version != version, LOAD_GLOBAL); - assert(DK_IS_UNICODE(dict->ma_keys)); - PyDictUnicodeEntry *entries = DK_UNICODE_ENTRIES(dict->ma_keys); - PyObject *res = entries[cache->index].me_value; - DEOPT_IF(res == NULL, LOAD_GLOBAL); - int push_null = oparg & 1; - PEEK(0) = NULL; - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_GLOBAL); - STAT_INC(LOAD_GLOBAL, hit); - STACK_GROW(push_null+1); - Py_INCREF(res); - SET_TOP(res); - DISPATCH(); - } - - TARGET(LOAD_GLOBAL_BUILTIN) { - assert(cframe.use_tracing == 0); - DEOPT_IF(!PyDict_CheckExact(GLOBALS()), LOAD_GLOBAL); - DEOPT_IF(!PyDict_CheckExact(BUILTINS()), LOAD_GLOBAL); - PyDictObject *mdict = (PyDictObject *)GLOBALS(); - PyDictObject *bdict = (PyDictObject *)BUILTINS(); - _PyLoadGlobalCache *cache = (_PyLoadGlobalCache *)next_instr; - uint32_t mod_version = read_u32(cache->module_keys_version); - uint16_t bltn_version = cache->builtin_keys_version; - DEOPT_IF(mdict->ma_keys->dk_version != mod_version, LOAD_GLOBAL); - DEOPT_IF(bdict->ma_keys->dk_version != bltn_version, LOAD_GLOBAL); - assert(DK_IS_UNICODE(bdict->ma_keys)); - PyDictUnicodeEntry *entries = DK_UNICODE_ENTRIES(bdict->ma_keys); - PyObject *res = entries[cache->index].me_value; - DEOPT_IF(res == NULL, LOAD_GLOBAL); - int push_null = oparg & 1; - PEEK(0) = NULL; - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_GLOBAL); - STAT_INC(LOAD_GLOBAL, hit); - STACK_GROW(push_null+1); - Py_INCREF(res); - SET_TOP(res); - DISPATCH(); - } - - TARGET(DELETE_FAST) { - PyObject *v = GETLOCAL(oparg); - if (v != NULL) { - SETLOCAL(oparg, NULL); - DISPATCH(); - } - goto unbound_local_error; - } - - TARGET(MAKE_CELL) { - // "initial" is probably NULL but not if it's an arg (or set - // via PyFrame_LocalsToFast() before MAKE_CELL has run). - PyObject *initial = GETLOCAL(oparg); - PyObject *cell = PyCell_New(initial); - if (cell == NULL) { - goto resume_with_error; - } - SETLOCAL(oparg, cell); - DISPATCH(); - } - - TARGET(DELETE_DEREF) { - PyObject *cell = GETLOCAL(oparg); - PyObject *oldobj = PyCell_GET(cell); - if (oldobj != NULL) { - PyCell_SET(cell, NULL); - Py_DECREF(oldobj); - DISPATCH(); - } - format_exc_unbound(tstate, frame->f_code, oparg); - goto error; - } - - TARGET(LOAD_CLASSDEREF) { - PyObject *name, *value, *locals = LOCALS(); - assert(locals); - assert(oparg >= 0 && oparg < frame->f_code->co_nlocalsplus); - name = PyTuple_GET_ITEM(frame->f_code->co_localsplusnames, oparg); - if (PyDict_CheckExact(locals)) { - value = PyDict_GetItemWithError(locals, name); - if (value != NULL) { - Py_INCREF(value); - } - else if (_PyErr_Occurred(tstate)) { - goto error; - } - } - else { - value = PyObject_GetItem(locals, name); - if (value == NULL) { - if (!_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { - goto error; - } - _PyErr_Clear(tstate); - } - } - if (!value) { - PyObject *cell = GETLOCAL(oparg); - value = PyCell_GET(cell); - if (value == NULL) { - format_exc_unbound(tstate, frame->f_code, oparg); - goto error; - } - Py_INCREF(value); - } - PUSH(value); - DISPATCH(); - } - - TARGET(LOAD_DEREF) { - PyObject *cell = GETLOCAL(oparg); - PyObject *value = PyCell_GET(cell); - if (value == NULL) { - format_exc_unbound(tstate, frame->f_code, oparg); - goto error; - } - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(STORE_DEREF) { - PyObject *v = POP(); - PyObject *cell = GETLOCAL(oparg); - PyObject *oldobj = PyCell_GET(cell); - PyCell_SET(cell, v); - Py_XDECREF(oldobj); - DISPATCH(); - } - - TARGET(COPY_FREE_VARS) { - /* Copy closure variables to free variables */ - PyCodeObject *co = frame->f_code; - PyObject *closure = frame->f_func->func_closure; - int offset = co->co_nlocals + co->co_nplaincellvars; - assert(oparg == co->co_nfreevars); - for (int i = 0; i < oparg; ++i) { - PyObject *o = PyTuple_GET_ITEM(closure, i); - Py_INCREF(o); - frame->localsplus[offset + i] = o; - } - DISPATCH(); - } - - TARGET(BUILD_STRING) { - PyObject *str; - str = _PyUnicode_JoinArray(&_Py_STR(empty), - stack_pointer - oparg, oparg); - if (str == NULL) - goto error; - while (--oparg >= 0) { - PyObject *item = POP(); - Py_DECREF(item); - } - PUSH(str); - DISPATCH(); - } - - TARGET(BUILD_TUPLE) { - PyObject *tup = PyTuple_New(oparg); - if (tup == NULL) - goto error; - while (--oparg >= 0) { - PyObject *item = POP(); - PyTuple_SET_ITEM(tup, oparg, item); - } - PUSH(tup); - DISPATCH(); - } - - TARGET(BUILD_LIST) { - PyObject *list = PyList_New(oparg); - if (list == NULL) - goto error; - while (--oparg >= 0) { - PyObject *item = POP(); - PyList_SET_ITEM(list, oparg, item); - } - PUSH(list); - DISPATCH(); - } - - TARGET(LIST_TO_TUPLE) { - PyObject *list = POP(); - PyObject *tuple = PyList_AsTuple(list); - Py_DECREF(list); - if (tuple == NULL) { - goto error; - } - PUSH(tuple); - DISPATCH(); - } - - TARGET(LIST_EXTEND) { - PyObject *iterable = POP(); - PyObject *list = PEEK(oparg); - PyObject *none_val = _PyList_Extend((PyListObject *)list, iterable); - if (none_val == NULL) { - if (_PyErr_ExceptionMatches(tstate, PyExc_TypeError) && - (Py_TYPE(iterable)->tp_iter == NULL && !PySequence_Check(iterable))) - { - _PyErr_Clear(tstate); - _PyErr_Format(tstate, PyExc_TypeError, - "Value after * must be an iterable, not %.200s", - Py_TYPE(iterable)->tp_name); - } - Py_DECREF(iterable); - goto error; - } - Py_DECREF(none_val); - Py_DECREF(iterable); - DISPATCH(); - } - - TARGET(SET_UPDATE) { - PyObject *iterable = POP(); - PyObject *set = PEEK(oparg); - int err = _PySet_Update(set, iterable); - Py_DECREF(iterable); - if (err < 0) { - goto error; - } - DISPATCH(); - } - - TARGET(BUILD_SET) { - PyObject *set = PySet_New(NULL); - int err = 0; - int i; - if (set == NULL) - goto error; - for (i = oparg; i > 0; i--) { - PyObject *item = PEEK(i); - if (err == 0) - err = PySet_Add(set, item); - Py_DECREF(item); - } - STACK_SHRINK(oparg); - if (err != 0) { - Py_DECREF(set); - goto error; - } - PUSH(set); - DISPATCH(); - } - - TARGET(BUILD_MAP) { - PyObject *map = _PyDict_FromItems( - &PEEK(2*oparg), 2, - &PEEK(2*oparg - 1), 2, - oparg); - - while (oparg--) { - Py_DECREF(POP()); - Py_DECREF(POP()); - } - if (map == NULL) { - goto error; - } - PUSH(map); - DISPATCH(); - } - - TARGET(SETUP_ANNOTATIONS) { - int err; - PyObject *ann_dict; - if (LOCALS() == NULL) { - _PyErr_Format(tstate, PyExc_SystemError, - "no locals found when setting up annotations"); - goto error; - } - /* check if __annotations__ in locals()... */ - if (PyDict_CheckExact(LOCALS())) { - ann_dict = _PyDict_GetItemWithError(LOCALS(), - &_Py_ID(__annotations__)); - if (ann_dict == NULL) { - if (_PyErr_Occurred(tstate)) { - goto error; - } - /* ...if not, create a new one */ - ann_dict = PyDict_New(); - if (ann_dict == NULL) { - goto error; - } - err = PyDict_SetItem(LOCALS(), &_Py_ID(__annotations__), - ann_dict); - Py_DECREF(ann_dict); - if (err != 0) { - goto error; - } - } - } - else { - /* do the same if locals() is not a dict */ - ann_dict = PyObject_GetItem(LOCALS(), &_Py_ID(__annotations__)); - if (ann_dict == NULL) { - if (!_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { - goto error; - } - _PyErr_Clear(tstate); - ann_dict = PyDict_New(); - if (ann_dict == NULL) { - goto error; - } - err = PyObject_SetItem(LOCALS(), &_Py_ID(__annotations__), - ann_dict); - Py_DECREF(ann_dict); - if (err != 0) { - goto error; - } - } - else { - Py_DECREF(ann_dict); - } - } - DISPATCH(); - } - - TARGET(BUILD_CONST_KEY_MAP) { - PyObject *map; - PyObject *keys = TOP(); - if (!PyTuple_CheckExact(keys) || - PyTuple_GET_SIZE(keys) != (Py_ssize_t)oparg) { - _PyErr_SetString(tstate, PyExc_SystemError, - "bad BUILD_CONST_KEY_MAP keys argument"); - goto error; - } - map = _PyDict_FromItems( - &PyTuple_GET_ITEM(keys, 0), 1, - &PEEK(oparg + 1), 1, oparg); - if (map == NULL) { - goto error; - } - - Py_DECREF(POP()); - while (oparg--) { - Py_DECREF(POP()); - } - PUSH(map); - DISPATCH(); - } - - TARGET(DICT_UPDATE) { - PyObject *update = POP(); - PyObject *dict = PEEK(oparg); - if (PyDict_Update(dict, update) < 0) { - if (_PyErr_ExceptionMatches(tstate, PyExc_AttributeError)) { - _PyErr_Format(tstate, PyExc_TypeError, - "'%.200s' object is not a mapping", - Py_TYPE(update)->tp_name); - } - Py_DECREF(update); - goto error; - } - Py_DECREF(update); - DISPATCH(); - } - - TARGET(DICT_MERGE) { - PyObject *update = POP(); - PyObject *dict = PEEK(oparg); - - if (_PyDict_MergeEx(dict, update, 2) < 0) { - format_kwargs_error(tstate, PEEK(2 + oparg), update); - Py_DECREF(update); - goto error; - } - Py_DECREF(update); - PREDICT(CALL_FUNCTION_EX); - DISPATCH(); - } - - TARGET(MAP_ADD) { - PyObject *value = TOP(); - PyObject *key = SECOND(); - PyObject *map; - STACK_SHRINK(2); - map = PEEK(oparg); /* dict */ - assert(PyDict_CheckExact(map)); - /* map[key] = value */ - if (_PyDict_SetItem_Take2((PyDictObject *)map, key, value) != 0) { - goto error; - } - PREDICT(JUMP_BACKWARD_QUICK); - DISPATCH(); - } - - TARGET(LOAD_ATTR) { - PREDICTED(LOAD_ATTR); - PyObject *name = GETITEM(names, oparg); - PyObject *owner = TOP(); - PyObject *res = PyObject_GetAttr(owner, name); - if (res == NULL) { - goto error; - } - Py_DECREF(owner); - SET_TOP(res); - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_ATTR); - DISPATCH(); - } - - TARGET(LOAD_ATTR_ADAPTIVE) { - assert(cframe.use_tracing == 0); - _PyAttrCache *cache = (_PyAttrCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - PyObject *owner = TOP(); - PyObject *name = GETITEM(names, oparg); - next_instr--; - if (_Py_Specialize_LoadAttr(owner, next_instr, name) < 0) { - next_instr++; - goto error; - } - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(LOAD_ATTR, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - JUMP_TO_INSTRUCTION(LOAD_ATTR); - } - } - - TARGET(LOAD_ATTR_INSTANCE_VALUE) { - assert(cframe.use_tracing == 0); - PyObject *owner = TOP(); - PyObject *res; - PyTypeObject *tp = Py_TYPE(owner); - _PyAttrCache *cache = (_PyAttrCache *)next_instr; - uint32_t type_version = read_u32(cache->version); - assert(type_version != 0); - DEOPT_IF(tp->tp_version_tag != type_version, LOAD_ATTR); - assert(tp->tp_dictoffset < 0); - assert(tp->tp_flags & Py_TPFLAGS_MANAGED_DICT); - PyDictValues *values = *_PyObject_ValuesPointer(owner); - DEOPT_IF(values == NULL, LOAD_ATTR); - res = values->values[cache->index]; - DEOPT_IF(res == NULL, LOAD_ATTR); - STAT_INC(LOAD_ATTR, hit); - Py_INCREF(res); - SET_TOP(res); - Py_DECREF(owner); - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_ATTR); - DISPATCH(); - } - - TARGET(LOAD_ATTR_MODULE) { - assert(cframe.use_tracing == 0); - // shared with LOAD_METHOD_MODULE - PyObject *owner = TOP(); - PyObject *res; - LOAD_MODULE_ATTR_OR_METHOD(ATTR); - SET_TOP(res); - Py_DECREF(owner); - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_ATTR); - DISPATCH(); - } - - TARGET(LOAD_ATTR_WITH_HINT) { - assert(cframe.use_tracing == 0); - PyObject *owner = TOP(); - PyObject *res; - PyTypeObject *tp = Py_TYPE(owner); - _PyAttrCache *cache = (_PyAttrCache *)next_instr; - uint32_t type_version = read_u32(cache->version); - assert(type_version != 0); - DEOPT_IF(tp->tp_version_tag != type_version, LOAD_ATTR); - assert(tp->tp_flags & Py_TPFLAGS_MANAGED_DICT); - PyDictObject *dict = *(PyDictObject **)_PyObject_ManagedDictPointer(owner); - DEOPT_IF(dict == NULL, LOAD_ATTR); - assert(PyDict_CheckExact((PyObject *)dict)); - PyObject *name = GETITEM(names, oparg); - uint16_t hint = cache->index; - DEOPT_IF(hint >= (size_t)dict->ma_keys->dk_nentries, LOAD_ATTR); - if (DK_IS_UNICODE(dict->ma_keys)) { - PyDictUnicodeEntry *ep = DK_UNICODE_ENTRIES(dict->ma_keys) + hint; - DEOPT_IF(ep->me_key != name, LOAD_ATTR); - res = ep->me_value; - } - else { - PyDictKeyEntry *ep = DK_ENTRIES(dict->ma_keys) + hint; - DEOPT_IF(ep->me_key != name, LOAD_ATTR); - res = ep->me_value; - } - DEOPT_IF(res == NULL, LOAD_ATTR); - STAT_INC(LOAD_ATTR, hit); - Py_INCREF(res); - SET_TOP(res); - Py_DECREF(owner); - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_ATTR); - DISPATCH(); - } - - TARGET(LOAD_ATTR_SLOT) { - assert(cframe.use_tracing == 0); - PyObject *owner = TOP(); - PyObject *res; - PyTypeObject *tp = Py_TYPE(owner); - _PyAttrCache *cache = (_PyAttrCache *)next_instr; - uint32_t type_version = read_u32(cache->version); - assert(type_version != 0); - DEOPT_IF(tp->tp_version_tag != type_version, LOAD_ATTR); - char *addr = (char *)owner + cache->index; - res = *(PyObject **)addr; - DEOPT_IF(res == NULL, LOAD_ATTR); - STAT_INC(LOAD_ATTR, hit); - Py_INCREF(res); - SET_TOP(res); - Py_DECREF(owner); - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_ATTR); - DISPATCH(); - } - - TARGET(STORE_ATTR_ADAPTIVE) { - assert(cframe.use_tracing == 0); - _PyAttrCache *cache = (_PyAttrCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - PyObject *owner = TOP(); - PyObject *name = GETITEM(names, oparg); - next_instr--; - if (_Py_Specialize_StoreAttr(owner, next_instr, name) < 0) { - next_instr++; - goto error; - } - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(STORE_ATTR, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - JUMP_TO_INSTRUCTION(STORE_ATTR); - } - } - - TARGET(STORE_ATTR_INSTANCE_VALUE) { - assert(cframe.use_tracing == 0); - PyObject *owner = TOP(); - PyTypeObject *tp = Py_TYPE(owner); - _PyAttrCache *cache = (_PyAttrCache *)next_instr; - uint32_t type_version = read_u32(cache->version); - assert(type_version != 0); - DEOPT_IF(tp->tp_version_tag != type_version, STORE_ATTR); - assert(tp->tp_flags & Py_TPFLAGS_MANAGED_DICT); - PyDictValues *values = *_PyObject_ValuesPointer(owner); - DEOPT_IF(values == NULL, STORE_ATTR); - STAT_INC(STORE_ATTR, hit); - Py_ssize_t index = cache->index; - STACK_SHRINK(1); - PyObject *value = POP(); - PyObject *old_value = values->values[index]; - values->values[index] = value; - if (old_value == NULL) { - _PyDictValues_AddToInsertionOrder(values, index); - } - else { - Py_DECREF(old_value); - } - Py_DECREF(owner); - JUMPBY(INLINE_CACHE_ENTRIES_STORE_ATTR); - DISPATCH(); - } - - TARGET(STORE_ATTR_WITH_HINT) { - assert(cframe.use_tracing == 0); - PyObject *owner = TOP(); - PyTypeObject *tp = Py_TYPE(owner); - _PyAttrCache *cache = (_PyAttrCache *)next_instr; - uint32_t type_version = read_u32(cache->version); - assert(type_version != 0); - DEOPT_IF(tp->tp_version_tag != type_version, STORE_ATTR); - assert(tp->tp_flags & Py_TPFLAGS_MANAGED_DICT); - PyDictObject *dict = *(PyDictObject **)_PyObject_ManagedDictPointer(owner); - DEOPT_IF(dict == NULL, STORE_ATTR); - assert(PyDict_CheckExact((PyObject *)dict)); - PyObject *name = GETITEM(names, oparg); - uint16_t hint = cache->index; - DEOPT_IF(hint >= (size_t)dict->ma_keys->dk_nentries, STORE_ATTR); - PyObject *value, *old_value; - if (DK_IS_UNICODE(dict->ma_keys)) { - PyDictUnicodeEntry *ep = DK_UNICODE_ENTRIES(dict->ma_keys) + hint; - DEOPT_IF(ep->me_key != name, STORE_ATTR); - old_value = ep->me_value; - DEOPT_IF(old_value == NULL, STORE_ATTR); - STACK_SHRINK(1); - value = POP(); - ep->me_value = value; - } - else { - PyDictKeyEntry *ep = DK_ENTRIES(dict->ma_keys) + hint; - DEOPT_IF(ep->me_key != name, STORE_ATTR); - old_value = ep->me_value; - DEOPT_IF(old_value == NULL, STORE_ATTR); - STACK_SHRINK(1); - value = POP(); - ep->me_value = value; - } - Py_DECREF(old_value); - STAT_INC(STORE_ATTR, hit); - /* Ensure dict is GC tracked if it needs to be */ - if (!_PyObject_GC_IS_TRACKED(dict) && _PyObject_GC_MAY_BE_TRACKED(value)) { - _PyObject_GC_TRACK(dict); - } - /* PEP 509 */ - dict->ma_version_tag = DICT_NEXT_VERSION(); - Py_DECREF(owner); - JUMPBY(INLINE_CACHE_ENTRIES_STORE_ATTR); - DISPATCH(); - } - - TARGET(STORE_ATTR_SLOT) { - assert(cframe.use_tracing == 0); - PyObject *owner = TOP(); - PyTypeObject *tp = Py_TYPE(owner); - _PyAttrCache *cache = (_PyAttrCache *)next_instr; - uint32_t type_version = read_u32(cache->version); - assert(type_version != 0); - DEOPT_IF(tp->tp_version_tag != type_version, STORE_ATTR); - char *addr = (char *)owner + cache->index; - STAT_INC(STORE_ATTR, hit); - STACK_SHRINK(1); - PyObject *value = POP(); - PyObject *old_value = *(PyObject **)addr; - *(PyObject **)addr = value; - Py_XDECREF(old_value); - Py_DECREF(owner); - JUMPBY(INLINE_CACHE_ENTRIES_STORE_ATTR); - DISPATCH(); - } - - TARGET(COMPARE_OP) { - PREDICTED(COMPARE_OP); - assert(oparg <= Py_GE); - PyObject *right = POP(); - PyObject *left = TOP(); - PyObject *res = PyObject_RichCompare(left, right, oparg); - SET_TOP(res); - Py_DECREF(left); - Py_DECREF(right); - if (res == NULL) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_COMPARE_OP); - DISPATCH(); - } - - TARGET(COMPARE_OP_ADAPTIVE) { - assert(cframe.use_tracing == 0); - _PyCompareOpCache *cache = (_PyCompareOpCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - PyObject *right = TOP(); - PyObject *left = SECOND(); - next_instr--; - _Py_Specialize_CompareOp(left, right, next_instr, oparg); - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(COMPARE_OP, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - JUMP_TO_INSTRUCTION(COMPARE_OP); - } - } - - TARGET(COMPARE_OP_FLOAT_JUMP) { - assert(cframe.use_tracing == 0); - // Combined: COMPARE_OP (float ? float) + POP_JUMP_(direction)_IF_(true/false) - _PyCompareOpCache *cache = (_PyCompareOpCache *)next_instr; - int when_to_jump_mask = cache->mask; - PyObject *right = TOP(); - PyObject *left = SECOND(); - DEOPT_IF(!PyFloat_CheckExact(left), COMPARE_OP); - DEOPT_IF(!PyFloat_CheckExact(right), COMPARE_OP); - double dleft = PyFloat_AS_DOUBLE(left); - double dright = PyFloat_AS_DOUBLE(right); - int sign = (dleft > dright) - (dleft < dright); - DEOPT_IF(isnan(dleft), COMPARE_OP); - DEOPT_IF(isnan(dright), COMPARE_OP); - STAT_INC(COMPARE_OP, hit); - JUMPBY(INLINE_CACHE_ENTRIES_COMPARE_OP); - NEXTOPARG(); - STACK_SHRINK(2); - _Py_DECREF_SPECIALIZED(left, _PyFloat_ExactDealloc); - _Py_DECREF_SPECIALIZED(right, _PyFloat_ExactDealloc); - assert(opcode == POP_JUMP_FORWARD_IF_FALSE || - opcode == POP_JUMP_BACKWARD_IF_FALSE || - opcode == POP_JUMP_FORWARD_IF_TRUE || - opcode == POP_JUMP_BACKWARD_IF_TRUE); - int jump = (9 << (sign + 1)) & when_to_jump_mask; - if (!jump) { - next_instr++; - } - else if (jump >= 8) { - assert(opcode == POP_JUMP_BACKWARD_IF_TRUE || - opcode == POP_JUMP_BACKWARD_IF_FALSE); - JUMPBY(1 - oparg); - CHECK_EVAL_BREAKER(); - } - else { - assert(opcode == POP_JUMP_FORWARD_IF_TRUE || - opcode == POP_JUMP_FORWARD_IF_FALSE); - JUMPBY(1 + oparg); - } - DISPATCH(); - } - - TARGET(COMPARE_OP_INT_JUMP) { - assert(cframe.use_tracing == 0); - // Combined: COMPARE_OP (int ? int) + POP_JUMP_(direction)_IF_(true/false) - _PyCompareOpCache *cache = (_PyCompareOpCache *)next_instr; - int when_to_jump_mask = cache->mask; - PyObject *right = TOP(); - PyObject *left = SECOND(); - DEOPT_IF(!PyLong_CheckExact(left), COMPARE_OP); - DEOPT_IF(!PyLong_CheckExact(right), COMPARE_OP); - DEOPT_IF((size_t)(Py_SIZE(left) + 1) > 2, COMPARE_OP); - DEOPT_IF((size_t)(Py_SIZE(right) + 1) > 2, COMPARE_OP); - STAT_INC(COMPARE_OP, hit); - assert(Py_ABS(Py_SIZE(left)) <= 1 && Py_ABS(Py_SIZE(right)) <= 1); - Py_ssize_t ileft = Py_SIZE(left) * ((PyLongObject *)left)->ob_digit[0]; - Py_ssize_t iright = Py_SIZE(right) * ((PyLongObject *)right)->ob_digit[0]; - int sign = (ileft > iright) - (ileft < iright); - JUMPBY(INLINE_CACHE_ENTRIES_COMPARE_OP); - NEXTOPARG(); - STACK_SHRINK(2); - _Py_DECREF_SPECIALIZED(left, (destructor)PyObject_Free); - _Py_DECREF_SPECIALIZED(right, (destructor)PyObject_Free); - assert(opcode == POP_JUMP_FORWARD_IF_FALSE || - opcode == POP_JUMP_BACKWARD_IF_FALSE || - opcode == POP_JUMP_FORWARD_IF_TRUE || - opcode == POP_JUMP_BACKWARD_IF_TRUE); - int jump = (9 << (sign + 1)) & when_to_jump_mask; - if (!jump) { - next_instr++; - } - else if (jump >= 8) { - assert(opcode == POP_JUMP_BACKWARD_IF_TRUE || - opcode == POP_JUMP_BACKWARD_IF_FALSE); - JUMPBY(1 - oparg); - CHECK_EVAL_BREAKER(); - } - else { - assert(opcode == POP_JUMP_FORWARD_IF_TRUE || - opcode == POP_JUMP_FORWARD_IF_FALSE); - JUMPBY(1 + oparg); - } - DISPATCH(); - } - - TARGET(COMPARE_OP_STR_JUMP) { - assert(cframe.use_tracing == 0); - // Combined: COMPARE_OP (str == str or str != str) + POP_JUMP_(direction)_IF_(true/false) - _PyCompareOpCache *cache = (_PyCompareOpCache *)next_instr; - int when_to_jump_mask = cache->mask; - PyObject *right = TOP(); - PyObject *left = SECOND(); - DEOPT_IF(!PyUnicode_CheckExact(left), COMPARE_OP); - DEOPT_IF(!PyUnicode_CheckExact(right), COMPARE_OP); - STAT_INC(COMPARE_OP, hit); - int res = _PyUnicode_Equal(left, right); - if (res < 0) { - goto error; - } - assert(oparg == Py_EQ || oparg == Py_NE); - JUMPBY(INLINE_CACHE_ENTRIES_COMPARE_OP); - NEXTOPARG(); - assert(opcode == POP_JUMP_FORWARD_IF_FALSE || - opcode == POP_JUMP_BACKWARD_IF_FALSE || - opcode == POP_JUMP_FORWARD_IF_TRUE || - opcode == POP_JUMP_BACKWARD_IF_TRUE); - STACK_SHRINK(2); - _Py_DECREF_SPECIALIZED(left, _PyUnicode_ExactDealloc); - _Py_DECREF_SPECIALIZED(right, _PyUnicode_ExactDealloc); - assert(res == 0 || res == 1); - int sign = 1 - res; - int jump = (9 << (sign + 1)) & when_to_jump_mask; - if (!jump) { - next_instr++; - } - else if (jump >= 8) { - assert(opcode == POP_JUMP_BACKWARD_IF_TRUE || - opcode == POP_JUMP_BACKWARD_IF_FALSE); - JUMPBY(1 - oparg); - CHECK_EVAL_BREAKER(); - } - else { - assert(opcode == POP_JUMP_FORWARD_IF_TRUE || - opcode == POP_JUMP_FORWARD_IF_FALSE); - JUMPBY(1 + oparg); - } - DISPATCH(); - } - - TARGET(IS_OP) { - PyObject *right = POP(); - PyObject *left = TOP(); - int res = Py_Is(left, right) ^ oparg; - PyObject *b = res ? Py_True : Py_False; - Py_INCREF(b); - SET_TOP(b); - Py_DECREF(left); - Py_DECREF(right); - DISPATCH(); - } - - TARGET(CONTAINS_OP) { - PyObject *right = POP(); - PyObject *left = POP(); - int res = PySequence_Contains(right, left); - Py_DECREF(left); - Py_DECREF(right); - if (res < 0) { - goto error; - } - PyObject *b = (res^oparg) ? Py_True : Py_False; - Py_INCREF(b); - PUSH(b); - DISPATCH(); - } - - TARGET(CHECK_EG_MATCH) { - PyObject *match_type = POP(); - if (check_except_star_type_valid(tstate, match_type) < 0) { - Py_DECREF(match_type); - goto error; - } - - PyObject *exc_value = TOP(); - PyObject *match = NULL, *rest = NULL; - int res = exception_group_match(exc_value, match_type, - &match, &rest); - Py_DECREF(match_type); - if (res < 0) { - goto error; - } - - if (match == NULL || rest == NULL) { - assert(match == NULL); - assert(rest == NULL); - goto error; - } - if (Py_IsNone(match)) { - PUSH(match); - Py_XDECREF(rest); - } - else { - /* Total or partial match - update the stack from - * [val] - * to - * [rest, match] - * (rest can be Py_None) - */ - - SET_TOP(rest); - PUSH(match); - PyErr_SetExcInfo(NULL, Py_NewRef(match), NULL); - Py_DECREF(exc_value); - } - DISPATCH(); - } - - TARGET(CHECK_EXC_MATCH) { - PyObject *right = POP(); - PyObject *left = TOP(); - assert(PyExceptionInstance_Check(left)); - if (check_except_type_valid(tstate, right) < 0) { - Py_DECREF(right); - goto error; - } - - int res = PyErr_GivenExceptionMatches(left, right); - Py_DECREF(right); - PUSH(Py_NewRef(res ? Py_True : Py_False)); - DISPATCH(); - } - - TARGET(IMPORT_NAME) { - PyObject *name = GETITEM(names, oparg); - PyObject *fromlist = POP(); - PyObject *level = TOP(); - PyObject *res; - res = import_name(tstate, frame, name, fromlist, level); - Py_DECREF(level); - Py_DECREF(fromlist); - SET_TOP(res); - if (res == NULL) - goto error; - DISPATCH(); - } - - TARGET(IMPORT_STAR) { - PyObject *from = POP(), *locals; - int err; - if (_PyFrame_FastToLocalsWithError(frame) < 0) { - Py_DECREF(from); - goto error; - } - - locals = LOCALS(); - if (locals == NULL) { - _PyErr_SetString(tstate, PyExc_SystemError, - "no locals found during 'import *'"); - Py_DECREF(from); - goto error; - } - err = import_all_from(tstate, locals, from); - _PyFrame_LocalsToFast(frame, 0); - Py_DECREF(from); - if (err != 0) - goto error; - DISPATCH(); - } - - TARGET(IMPORT_FROM) { - PyObject *name = GETITEM(names, oparg); - PyObject *from = TOP(); - PyObject *res; - res = import_from(tstate, from, name); - PUSH(res); - if (res == NULL) - goto error; - DISPATCH(); - } - - TARGET(JUMP_FORWARD) { - JUMPBY(oparg); - DISPATCH(); - } - - TARGET(JUMP_BACKWARD) { - _PyCode_Warmup(frame->f_code); - JUMP_TO_INSTRUCTION(JUMP_BACKWARD_QUICK); - } - - TARGET(POP_JUMP_BACKWARD_IF_FALSE) { - PREDICTED(POP_JUMP_BACKWARD_IF_FALSE); - PyObject *cond = POP(); - if (Py_IsTrue(cond)) { - _Py_DECREF_NO_DEALLOC(cond); - DISPATCH(); - } - if (Py_IsFalse(cond)) { - _Py_DECREF_NO_DEALLOC(cond); - JUMPBY(-oparg); - CHECK_EVAL_BREAKER(); - DISPATCH(); - } - int err = PyObject_IsTrue(cond); - Py_DECREF(cond); - if (err > 0) - ; - else if (err == 0) { - JUMPBY(-oparg); - CHECK_EVAL_BREAKER(); - } - else - goto error; - DISPATCH(); - } - - TARGET(POP_JUMP_FORWARD_IF_FALSE) { - PREDICTED(POP_JUMP_FORWARD_IF_FALSE); - PyObject *cond = POP(); - if (Py_IsTrue(cond)) { - _Py_DECREF_NO_DEALLOC(cond); - } - else if (Py_IsFalse(cond)) { - _Py_DECREF_NO_DEALLOC(cond); - JUMPBY(oparg); - } - else { - int err = PyObject_IsTrue(cond); - Py_DECREF(cond); - if (err > 0) - ; - else if (err == 0) { - JUMPBY(oparg); - } - else - goto error; - } - DISPATCH(); - } - - TARGET(POP_JUMP_BACKWARD_IF_TRUE) { - PyObject *cond = POP(); - if (Py_IsFalse(cond)) { - _Py_DECREF_NO_DEALLOC(cond); - DISPATCH(); - } - if (Py_IsTrue(cond)) { - _Py_DECREF_NO_DEALLOC(cond); - JUMPBY(-oparg); - CHECK_EVAL_BREAKER(); - DISPATCH(); - } - int err = PyObject_IsTrue(cond); - Py_DECREF(cond); - if (err > 0) { - JUMPBY(-oparg); - CHECK_EVAL_BREAKER(); - } - else if (err == 0) - ; - else - goto error; - DISPATCH(); - } - - TARGET(POP_JUMP_FORWARD_IF_TRUE) { - PyObject *cond = POP(); - if (Py_IsFalse(cond)) { - _Py_DECREF_NO_DEALLOC(cond); - } - else if (Py_IsTrue(cond)) { - _Py_DECREF_NO_DEALLOC(cond); - JUMPBY(oparg); - } - else { - int err = PyObject_IsTrue(cond); - Py_DECREF(cond); - if (err > 0) { - JUMPBY(oparg); - } - else if (err == 0) - ; - else - goto error; - } - DISPATCH(); - } - - TARGET(POP_JUMP_BACKWARD_IF_NOT_NONE) { - PyObject *value = POP(); - if (!Py_IsNone(value)) { - Py_DECREF(value); - JUMPBY(-oparg); - CHECK_EVAL_BREAKER(); - DISPATCH(); - } - _Py_DECREF_NO_DEALLOC(value); - DISPATCH(); - } - - TARGET(POP_JUMP_FORWARD_IF_NOT_NONE) { - PyObject *value = POP(); - if (!Py_IsNone(value)) { - JUMPBY(oparg); - } - Py_DECREF(value); - DISPATCH(); - } - - TARGET(POP_JUMP_BACKWARD_IF_NONE) { - PyObject *value = POP(); - if (Py_IsNone(value)) { - _Py_DECREF_NO_DEALLOC(value); - JUMPBY(-oparg); - CHECK_EVAL_BREAKER(); - } - else { - Py_DECREF(value); - } - DISPATCH(); - } - - TARGET(POP_JUMP_FORWARD_IF_NONE) { - PyObject *value = POP(); - if (Py_IsNone(value)) { - _Py_DECREF_NO_DEALLOC(value); - JUMPBY(oparg); - } - else { - Py_DECREF(value); - } - DISPATCH(); - } - - TARGET(JUMP_IF_FALSE_OR_POP) { - PyObject *cond = TOP(); - int err; - if (Py_IsTrue(cond)) { - STACK_SHRINK(1); - _Py_DECREF_NO_DEALLOC(cond); - DISPATCH(); - } - if (Py_IsFalse(cond)) { - JUMPBY(oparg); - DISPATCH(); - } - err = PyObject_IsTrue(cond); - if (err > 0) { - STACK_SHRINK(1); - Py_DECREF(cond); - } - else if (err == 0) - JUMPBY(oparg); - else - goto error; - DISPATCH(); - } - - TARGET(JUMP_IF_TRUE_OR_POP) { - PyObject *cond = TOP(); - int err; - if (Py_IsFalse(cond)) { - STACK_SHRINK(1); - _Py_DECREF_NO_DEALLOC(cond); - DISPATCH(); - } - if (Py_IsTrue(cond)) { - JUMPBY(oparg); - DISPATCH(); - } - err = PyObject_IsTrue(cond); - if (err > 0) { - JUMPBY(oparg); - } - else if (err == 0) { - STACK_SHRINK(1); - Py_DECREF(cond); - } - else - goto error; - DISPATCH(); - } - - TARGET(JUMP_BACKWARD_NO_INTERRUPT) { - /* This bytecode is used in the `yield from` or `await` loop. - * If there is an interrupt, we want it handled in the innermost - * generator or coroutine, so we deliberately do not check it here. - * (see bpo-30039). - */ - JUMPBY(-oparg); - DISPATCH(); - } - - TARGET(JUMP_BACKWARD_QUICK) { - PREDICTED(JUMP_BACKWARD_QUICK); - assert(oparg < INSTR_OFFSET()); - JUMPBY(-oparg); - CHECK_EVAL_BREAKER(); - DISPATCH(); - } - - TARGET(GET_LEN) { - // PUSH(len(TOS)) - Py_ssize_t len_i = PyObject_Length(TOP()); - if (len_i < 0) { - goto error; - } - PyObject *len_o = PyLong_FromSsize_t(len_i); - if (len_o == NULL) { - goto error; - } - PUSH(len_o); - DISPATCH(); - } - - TARGET(MATCH_CLASS) { - // Pop TOS and TOS1. Set TOS to a tuple of attributes on success, or - // None on failure. - PyObject *names = POP(); - PyObject *type = POP(); - PyObject *subject = TOP(); - assert(PyTuple_CheckExact(names)); - PyObject *attrs = match_class(tstate, subject, type, oparg, names); - Py_DECREF(names); - Py_DECREF(type); - if (attrs) { - // Success! - assert(PyTuple_CheckExact(attrs)); - SET_TOP(attrs); - } - else if (_PyErr_Occurred(tstate)) { - // Error! - goto error; - } - else { - // Failure! - Py_INCREF(Py_None); - SET_TOP(Py_None); - } - Py_DECREF(subject); - DISPATCH(); - } - - TARGET(MATCH_MAPPING) { - PyObject *subject = TOP(); - int match = Py_TYPE(subject)->tp_flags & Py_TPFLAGS_MAPPING; - PyObject *res = match ? Py_True : Py_False; - Py_INCREF(res); - PUSH(res); - PREDICT(POP_JUMP_FORWARD_IF_FALSE); - PREDICT(POP_JUMP_BACKWARD_IF_FALSE); - DISPATCH(); - } - - TARGET(MATCH_SEQUENCE) { - PyObject *subject = TOP(); - int match = Py_TYPE(subject)->tp_flags & Py_TPFLAGS_SEQUENCE; - PyObject *res = match ? Py_True : Py_False; - Py_INCREF(res); - PUSH(res); - PREDICT(POP_JUMP_FORWARD_IF_FALSE); - PREDICT(POP_JUMP_BACKWARD_IF_FALSE); - DISPATCH(); - } - - TARGET(MATCH_KEYS) { - // On successful match, PUSH(values). Otherwise, PUSH(None). - PyObject *keys = TOP(); - PyObject *subject = SECOND(); - PyObject *values_or_none = match_keys(tstate, subject, keys); - if (values_or_none == NULL) { - goto error; - } - PUSH(values_or_none); - DISPATCH(); - } - - TARGET(GET_ITER) { - /* before: [obj]; after [getiter(obj)] */ - PyObject *iterable = TOP(); - PyObject *iter = PyObject_GetIter(iterable); - Py_DECREF(iterable); - SET_TOP(iter); - if (iter == NULL) - goto error; - PREDICT(FOR_ITER); - DISPATCH(); - } - - TARGET(GET_YIELD_FROM_ITER) { - /* before: [obj]; after [getiter(obj)] */ - PyObject *iterable = TOP(); - PyObject *iter; - if (PyCoro_CheckExact(iterable)) { - /* `iterable` is a coroutine */ - if (!(frame->f_code->co_flags & (CO_COROUTINE | CO_ITERABLE_COROUTINE))) { - /* and it is used in a 'yield from' expression of a - regular generator. */ - Py_DECREF(iterable); - SET_TOP(NULL); - _PyErr_SetString(tstate, PyExc_TypeError, - "cannot 'yield from' a coroutine object " - "in a non-coroutine generator"); - goto error; - } - } - else if (!PyGen_CheckExact(iterable)) { - /* `iterable` is not a generator. */ - iter = PyObject_GetIter(iterable); - Py_DECREF(iterable); - SET_TOP(iter); - if (iter == NULL) - goto error; - } - PREDICT(LOAD_CONST); - DISPATCH(); - } - - TARGET(FOR_ITER) { - PREDICTED(FOR_ITER); - /* before: [iter]; after: [iter, iter()] *or* [] */ - PyObject *iter = TOP(); -#ifdef Py_STATS - extern int _PySpecialization_ClassifyIterator(PyObject *); - _py_stats.opcode_stats[FOR_ITER].specialization.failure++; - _py_stats.opcode_stats[FOR_ITER].specialization.failure_kinds[_PySpecialization_ClassifyIterator(iter)]++; -#endif - PyObject *next = (*Py_TYPE(iter)->tp_iternext)(iter); - if (next != NULL) { - PUSH(next); - PREDICT(STORE_FAST); - PREDICT(UNPACK_SEQUENCE); - DISPATCH(); - } - if (_PyErr_Occurred(tstate)) { - if (!_PyErr_ExceptionMatches(tstate, PyExc_StopIteration)) { - goto error; - } - else if (tstate->c_tracefunc != NULL) { - call_exc_trace(tstate->c_tracefunc, tstate->c_traceobj, tstate, frame); - } - _PyErr_Clear(tstate); - } - /* iterator ended normally */ - STACK_SHRINK(1); - Py_DECREF(iter); - JUMPBY(oparg); - DISPATCH(); - } - - TARGET(BEFORE_ASYNC_WITH) { - PyObject *mgr = TOP(); - PyObject *res; - PyObject *enter = _PyObject_LookupSpecial(mgr, &_Py_ID(__aenter__)); - if (enter == NULL) { - if (!_PyErr_Occurred(tstate)) { - _PyErr_Format(tstate, PyExc_TypeError, - "'%.200s' object does not support the " - "asynchronous context manager protocol", - Py_TYPE(mgr)->tp_name); - } - goto error; - } - PyObject *exit = _PyObject_LookupSpecial(mgr, &_Py_ID(__aexit__)); - if (exit == NULL) { - if (!_PyErr_Occurred(tstate)) { - _PyErr_Format(tstate, PyExc_TypeError, - "'%.200s' object does not support the " - "asynchronous context manager protocol " - "(missed __aexit__ method)", - Py_TYPE(mgr)->tp_name); - } - Py_DECREF(enter); - goto error; - } - SET_TOP(exit); - Py_DECREF(mgr); - res = _PyObject_CallNoArgs(enter); - Py_DECREF(enter); - if (res == NULL) - goto error; - PUSH(res); - PREDICT(GET_AWAITABLE); - DISPATCH(); - } - - TARGET(BEFORE_WITH) { - PyObject *mgr = TOP(); - PyObject *res; - PyObject *enter = _PyObject_LookupSpecial(mgr, &_Py_ID(__enter__)); - if (enter == NULL) { - if (!_PyErr_Occurred(tstate)) { - _PyErr_Format(tstate, PyExc_TypeError, - "'%.200s' object does not support the " - "context manager protocol", - Py_TYPE(mgr)->tp_name); - } - goto error; - } - PyObject *exit = _PyObject_LookupSpecial(mgr, &_Py_ID(__exit__)); - if (exit == NULL) { - if (!_PyErr_Occurred(tstate)) { - _PyErr_Format(tstate, PyExc_TypeError, - "'%.200s' object does not support the " - "context manager protocol " - "(missed __exit__ method)", - Py_TYPE(mgr)->tp_name); - } - Py_DECREF(enter); - goto error; - } - SET_TOP(exit); - Py_DECREF(mgr); - res = _PyObject_CallNoArgs(enter); - Py_DECREF(enter); - if (res == NULL) { - goto error; - } - PUSH(res); - DISPATCH(); - } - - TARGET(WITH_EXCEPT_START) { - /* At the top of the stack are 4 values: - - TOP = exc_info() - - SECOND = previous exception - - THIRD: lasti of exception in exc_info() - - FOURTH: the context.__exit__ bound method - We call FOURTH(type(TOP), TOP, GetTraceback(TOP)). - Then we push the __exit__ return value. - */ - PyObject *exit_func; - PyObject *exc, *val, *tb, *res; - - val = TOP(); - assert(val && PyExceptionInstance_Check(val)); - exc = PyExceptionInstance_Class(val); - tb = PyException_GetTraceback(val); - Py_XDECREF(tb); - assert(PyLong_Check(PEEK(3))); - exit_func = PEEK(4); - PyObject *stack[4] = {NULL, exc, val, tb}; - res = PyObject_Vectorcall(exit_func, stack + 1, - 3 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); - if (res == NULL) - goto error; - - PUSH(res); - DISPATCH(); - } - - TARGET(PUSH_EXC_INFO) { - PyObject *value = TOP(); - - _PyErr_StackItem *exc_info = tstate->exc_info; - if (exc_info->exc_value != NULL) { - SET_TOP(exc_info->exc_value); - } - else { - Py_INCREF(Py_None); - SET_TOP(Py_None); - } - - Py_INCREF(value); - PUSH(value); - assert(PyExceptionInstance_Check(value)); - exc_info->exc_value = value; - - DISPATCH(); - } - - TARGET(LOAD_METHOD) { - PREDICTED(LOAD_METHOD); - /* Designed to work in tandem with PRECALL. */ - PyObject *name = GETITEM(names, oparg); - PyObject *obj = TOP(); - PyObject *meth = NULL; - - int meth_found = _PyObject_GetMethod(obj, name, &meth); - - if (meth == NULL) { - /* Most likely attribute wasn't found. */ - goto error; - } - - if (meth_found) { - /* We can bypass temporary bound method object. - meth is unbound method and obj is self. - - meth | self | arg1 | ... | argN - */ - SET_TOP(meth); - PUSH(obj); // self - } - else { - /* meth is not an unbound method (but a regular attr, or - something was returned by a descriptor protocol). Set - the second element of the stack to NULL, to signal - PRECALL that it's not a method call. - - NULL | meth | arg1 | ... | argN - */ - SET_TOP(NULL); - Py_DECREF(obj); - PUSH(meth); - } - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_METHOD); - DISPATCH(); - } - - TARGET(LOAD_METHOD_ADAPTIVE) { - assert(cframe.use_tracing == 0); - _PyLoadMethodCache *cache = (_PyLoadMethodCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - PyObject *owner = TOP(); - PyObject *name = GETITEM(names, oparg); - next_instr--; - if (_Py_Specialize_LoadMethod(owner, next_instr, name) < 0) { - next_instr++; - goto error; - } - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(LOAD_METHOD, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - JUMP_TO_INSTRUCTION(LOAD_METHOD); - } - } - - TARGET(LOAD_METHOD_WITH_VALUES) { - /* LOAD_METHOD, with cached method object */ - assert(cframe.use_tracing == 0); - PyObject *self = TOP(); - PyTypeObject *self_cls = Py_TYPE(self); - _PyLoadMethodCache *cache = (_PyLoadMethodCache *)next_instr; - uint32_t type_version = read_u32(cache->type_version); - assert(type_version != 0); - DEOPT_IF(self_cls->tp_version_tag != type_version, LOAD_METHOD); - assert(self_cls->tp_flags & Py_TPFLAGS_MANAGED_DICT); - PyDictObject *dict = *(PyDictObject**)_PyObject_ManagedDictPointer(self); - DEOPT_IF(dict != NULL, LOAD_METHOD); - PyHeapTypeObject *self_heap_type = (PyHeapTypeObject *)self_cls; - DEOPT_IF(self_heap_type->ht_cached_keys->dk_version != - read_u32(cache->keys_version), LOAD_METHOD); - STAT_INC(LOAD_METHOD, hit); - PyObject *res = read_obj(cache->descr); - assert(res != NULL); - assert(_PyType_HasFeature(Py_TYPE(res), Py_TPFLAGS_METHOD_DESCRIPTOR)); - Py_INCREF(res); - SET_TOP(res); - PUSH(self); - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_METHOD); - DISPATCH(); - } - - TARGET(LOAD_METHOD_WITH_DICT) { - /* LOAD_METHOD, with a dict - Can be either a managed dict, or a tp_dictoffset offset.*/ - assert(cframe.use_tracing == 0); - PyObject *self = TOP(); - PyTypeObject *self_cls = Py_TYPE(self); - _PyLoadMethodCache *cache = (_PyLoadMethodCache *)next_instr; - - DEOPT_IF(self_cls->tp_version_tag != read_u32(cache->type_version), - LOAD_METHOD); - /* Treat index as a signed 16 bit value */ - int dictoffset = *(int16_t *)&cache->dict_offset; - PyDictObject **dictptr = (PyDictObject**)(((char *)self)+dictoffset); - assert( - dictoffset == MANAGED_DICT_OFFSET || - (dictoffset == self_cls->tp_dictoffset && dictoffset > 0) - ); - PyDictObject *dict = *dictptr; - DEOPT_IF(dict == NULL, LOAD_METHOD); - DEOPT_IF(dict->ma_keys->dk_version != read_u32(cache->keys_version), - LOAD_METHOD); - STAT_INC(LOAD_METHOD, hit); - PyObject *res = read_obj(cache->descr); - assert(res != NULL); - assert(_PyType_HasFeature(Py_TYPE(res), Py_TPFLAGS_METHOD_DESCRIPTOR)); - Py_INCREF(res); - SET_TOP(res); - PUSH(self); - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_METHOD); - DISPATCH(); - } - - TARGET(LOAD_METHOD_NO_DICT) { - assert(cframe.use_tracing == 0); - PyObject *self = TOP(); - PyTypeObject *self_cls = Py_TYPE(self); - _PyLoadMethodCache *cache = (_PyLoadMethodCache *)next_instr; - uint32_t type_version = read_u32(cache->type_version); - DEOPT_IF(self_cls->tp_version_tag != type_version, LOAD_METHOD); - assert(self_cls->tp_dictoffset == 0); - STAT_INC(LOAD_METHOD, hit); - PyObject *res = read_obj(cache->descr); - assert(res != NULL); - assert(_PyType_HasFeature(Py_TYPE(res), Py_TPFLAGS_METHOD_DESCRIPTOR)); - Py_INCREF(res); - SET_TOP(res); - PUSH(self); - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_METHOD); - DISPATCH(); - } - - TARGET(LOAD_METHOD_MODULE) { - /* LOAD_METHOD, for module methods */ - assert(cframe.use_tracing == 0); - PyObject *owner = TOP(); - PyObject *res; - LOAD_MODULE_ATTR_OR_METHOD(METHOD); - SET_TOP(NULL); - Py_DECREF(owner); - PUSH(res); - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_METHOD); - DISPATCH(); - } - - TARGET(LOAD_METHOD_CLASS) { - /* LOAD_METHOD, for class methods */ - assert(cframe.use_tracing == 0); - _PyLoadMethodCache *cache = (_PyLoadMethodCache *)next_instr; - - PyObject *cls = TOP(); - DEOPT_IF(!PyType_Check(cls), LOAD_METHOD); - uint32_t type_version = read_u32(cache->type_version); - DEOPT_IF(((PyTypeObject *)cls)->tp_version_tag != type_version, - LOAD_METHOD); - assert(type_version != 0); - - STAT_INC(LOAD_METHOD, hit); - PyObject *res = read_obj(cache->descr); - assert(res != NULL); - Py_INCREF(res); - SET_TOP(NULL); - Py_DECREF(cls); - PUSH(res); - JUMPBY(INLINE_CACHE_ENTRIES_LOAD_METHOD); - DISPATCH(); - } - - TARGET(PRECALL) { - PREDICTED(PRECALL); - /* Designed to work in tamdem with LOAD_METHOD. */ - /* `meth` is NULL when LOAD_METHOD thinks that it's not - a method call. - - Stack layout: - - ... | NULL | callable | arg1 | ... | argN - ^- TOP() - ^- (-oparg) - ^- (-oparg-1) - ^- (-oparg-2) - - `callable` will be POPed by call_function. - NULL will will be POPed manually later. - If `meth` isn't NULL, it's a method call. Stack layout: - - ... | method | self | arg1 | ... | argN - ^- TOP() - ^- (-oparg) - ^- (-oparg-1) - ^- (-oparg-2) - - `self` and `method` will be POPed by call_function. - We'll be passing `oparg + 1` to call_function, to - make it accept the `self` as a first argument. - */ - int is_meth = is_method(stack_pointer, oparg); - int nargs = oparg + is_meth; - /* Move ownership of reference from stack to call_shape - * and make sure that NULL is cleared from stack */ - PyObject *function = PEEK(nargs + 1); - if (!is_meth && Py_TYPE(function) == &PyMethod_Type) { - PyObject *meth = ((PyMethodObject *)function)->im_func; - PyObject *self = ((PyMethodObject *)function)->im_self; - Py_INCREF(meth); - Py_INCREF(self); - PEEK(oparg+1) = self; - PEEK(oparg+2) = meth; - Py_DECREF(function); - } - JUMPBY(INLINE_CACHE_ENTRIES_PRECALL); - DISPATCH(); - } - - TARGET(PRECALL_BOUND_METHOD) { - DEOPT_IF(is_method(stack_pointer, oparg), PRECALL); - PyObject *function = PEEK(oparg + 1); - DEOPT_IF(Py_TYPE(function) != &PyMethod_Type, PRECALL); - STAT_INC(PRECALL, hit); - PyObject *meth = ((PyMethodObject *)function)->im_func; - PyObject *self = ((PyMethodObject *)function)->im_self; - Py_INCREF(meth); - Py_INCREF(self); - PEEK(oparg + 1) = self; - PEEK(oparg + 2) = meth; - Py_DECREF(function); - JUMPBY(INLINE_CACHE_ENTRIES_PRECALL); - DISPATCH(); - } - - TARGET(PRECALL_PYFUNC) { - int nargs = oparg + is_method(stack_pointer, oparg); - PyObject *function = PEEK(nargs + 1); - DEOPT_IF(Py_TYPE(function) != &PyFunction_Type, PRECALL); - STAT_INC(PRECALL, hit); - JUMPBY(INLINE_CACHE_ENTRIES_PRECALL); - DISPATCH(); - } - - TARGET(KW_NAMES) { - assert(call_shape.kwnames == NULL); - assert(oparg < PyTuple_GET_SIZE(consts)); - call_shape.kwnames = GETITEM(consts, oparg); - DISPATCH(); - } - - TARGET(CALL) { - int is_meth; - call_function: - is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - PyObject *function = PEEK(total_args + 1); - int positional_args = total_args - KWNAMES_LEN(); - // Check if the call can be inlined or not - if (Py_TYPE(function) == &PyFunction_Type && tstate->interp->eval_frame == NULL) { - int code_flags = ((PyCodeObject*)PyFunction_GET_CODE(function))->co_flags; - PyObject *locals = code_flags & CO_OPTIMIZED ? NULL : PyFunction_GET_GLOBALS(function); - STACK_SHRINK(total_args); - _PyInterpreterFrame *new_frame = _PyEvalFramePushAndInit( - tstate, (PyFunctionObject *)function, locals, - stack_pointer, positional_args, call_shape.kwnames - ); - call_shape.kwnames = NULL; - STACK_SHRINK(2-is_meth); - // The frame has stolen all the arguments from the stack, - // so there is no need to clean them up. - if (new_frame == NULL) { - goto error; - } - _PyFrame_SetStackPointer(frame, stack_pointer); - JUMPBY(INLINE_CACHE_ENTRIES_CALL); - frame->prev_instr = next_instr - 1; - new_frame->previous = frame; - cframe.current_frame = frame = new_frame; - CALL_STAT_INC(inlined_py_calls); - goto start_frame; - } - /* Callable is not a normal Python function */ - PyObject *res; - if (cframe.use_tracing) { - res = trace_call_function( - tstate, function, stack_pointer-total_args, - positional_args, call_shape.kwnames); - } - else { - res = PyObject_Vectorcall( - function, stack_pointer-total_args, - positional_args | PY_VECTORCALL_ARGUMENTS_OFFSET, - call_shape.kwnames); - } - call_shape.kwnames = NULL; - assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); - Py_DECREF(function); - /* Clear the stack */ - STACK_SHRINK(total_args); - for (int i = 0; i < total_args; i++) { - Py_DECREF(stack_pointer[i]); - } - STACK_SHRINK(2-is_meth); - PUSH(res); - if (res == NULL) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_CALL); - CHECK_EVAL_BREAKER(); - DISPATCH(); - } - - TARGET(PRECALL_ADAPTIVE) { - _PyPrecallCache *cache = (_PyPrecallCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - next_instr--; - int is_meth = is_method(stack_pointer, oparg); - int nargs = oparg + is_meth; - PyObject *callable = PEEK(nargs + 1); - int err = _Py_Specialize_Precall(callable, next_instr, nargs, - call_shape.kwnames, oparg); - if (err < 0) { - next_instr++; - goto error; - } - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(PRECALL, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - JUMP_TO_INSTRUCTION(PRECALL); - } - } - - TARGET(CALL_ADAPTIVE) { - _PyCallCache *cache = (_PyCallCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - next_instr--; - int is_meth = is_method(stack_pointer, oparg); - int nargs = oparg + is_meth; - PyObject *callable = PEEK(nargs + 1); - int err = _Py_Specialize_Call(callable, next_instr, nargs, - call_shape.kwnames); - if (err < 0) { - next_instr++; - goto error; - } - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(CALL, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - goto call_function; - } - } - - TARGET(CALL_PY_EXACT_ARGS) { - assert(call_shape.kwnames == NULL); - DEOPT_IF(tstate->interp->eval_frame, CALL); - _PyCallCache *cache = (_PyCallCache *)next_instr; - int is_meth = is_method(stack_pointer, oparg); - int argcount = oparg + is_meth; - PyObject *callable = PEEK(argcount + 1); - DEOPT_IF(!PyFunction_Check(callable), CALL); - PyFunctionObject *func = (PyFunctionObject *)callable; - DEOPT_IF(func->func_version != read_u32(cache->func_version), CALL); - PyCodeObject *code = (PyCodeObject *)func->func_code; - DEOPT_IF(code->co_argcount != argcount, CALL); - STAT_INC(CALL, hit); - _PyInterpreterFrame *new_frame = _PyFrame_Push(tstate, func); - if (new_frame == NULL) { - goto error; - } - CALL_STAT_INC(inlined_py_calls); - STACK_SHRINK(argcount); - for (int i = 0; i < argcount; i++) { - new_frame->localsplus[i] = stack_pointer[i]; - } - for (int i = argcount; i < code->co_nlocalsplus; i++) { - new_frame->localsplus[i] = NULL; - } - STACK_SHRINK(2-is_meth); - _PyFrame_SetStackPointer(frame, stack_pointer); - JUMPBY(INLINE_CACHE_ENTRIES_CALL); - frame->prev_instr = next_instr - 1; - new_frame->previous = frame; - frame = cframe.current_frame = new_frame; - goto start_frame; - } - - TARGET(CALL_PY_WITH_DEFAULTS) { - assert(call_shape.kwnames == NULL); - DEOPT_IF(tstate->interp->eval_frame, CALL); - _PyCallCache *cache = (_PyCallCache *)next_instr; - int is_meth = is_method(stack_pointer, oparg); - int argcount = oparg + is_meth; - PyObject *callable = PEEK(argcount + 1); - DEOPT_IF(!PyFunction_Check(callable), CALL); - PyFunctionObject *func = (PyFunctionObject *)callable; - DEOPT_IF(func->func_version != read_u32(cache->func_version), CALL); - PyCodeObject *code = (PyCodeObject *)func->func_code; - DEOPT_IF(argcount > code->co_argcount, CALL); - int minargs = cache->min_args; - DEOPT_IF(argcount < minargs, CALL); - STAT_INC(CALL, hit); - _PyInterpreterFrame *new_frame = _PyFrame_Push(tstate, func); - if (new_frame == NULL) { - goto error; - } - CALL_STAT_INC(inlined_py_calls); - STACK_SHRINK(argcount); - for (int i = 0; i < argcount; i++) { - new_frame->localsplus[i] = stack_pointer[i]; - } - for (int i = argcount; i < code->co_argcount; i++) { - PyObject *def = PyTuple_GET_ITEM(func->func_defaults, - i - minargs); - Py_INCREF(def); - new_frame->localsplus[i] = def; - } - for (int i = code->co_argcount; i < code->co_nlocalsplus; i++) { - new_frame->localsplus[i] = NULL; - } - STACK_SHRINK(2-is_meth); - _PyFrame_SetStackPointer(frame, stack_pointer); - JUMPBY(INLINE_CACHE_ENTRIES_CALL); - frame->prev_instr = next_instr - 1; - new_frame->previous = frame; - frame = cframe.current_frame = new_frame; - goto start_frame; - } - - TARGET(PRECALL_NO_KW_TYPE_1) { - assert(call_shape.kwnames == NULL); - assert(cframe.use_tracing == 0); - assert(oparg == 1); - DEOPT_IF(is_method(stack_pointer, 1), PRECALL); - PyObject *obj = TOP(); - PyObject *callable = SECOND(); - DEOPT_IF(callable != (PyObject *)&PyType_Type, PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - PyObject *res = Py_NewRef(Py_TYPE(obj)); - Py_DECREF(callable); - Py_DECREF(obj); - STACK_SHRINK(2); - SET_TOP(res); - DISPATCH(); - } +PyObject * +PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) +{ + PyThreadState *tstate = _PyThreadState_GET(); + return _PyEval_EvalFrame(tstate, f->f_frame, throwflag); +} - TARGET(PRECALL_NO_KW_STR_1) { - assert(call_shape.kwnames == NULL); - assert(cframe.use_tracing == 0); - assert(oparg == 1); - DEOPT_IF(is_method(stack_pointer, 1), PRECALL); - PyObject *callable = PEEK(2); - DEOPT_IF(callable != (PyObject *)&PyUnicode_Type, PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - PyObject *arg = TOP(); - PyObject *res = PyObject_Str(arg); - Py_DECREF(arg); - Py_DECREF(&PyUnicode_Type); - STACK_SHRINK(2); - SET_TOP(res); - if (res == NULL) { - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); - } +#include "ceval_macros.h" - TARGET(PRECALL_NO_KW_TUPLE_1) { - assert(call_shape.kwnames == NULL); - assert(oparg == 1); - DEOPT_IF(is_method(stack_pointer, 1), PRECALL); - PyObject *callable = PEEK(2); - DEOPT_IF(callable != (PyObject *)&PyTuple_Type, PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - PyObject *arg = TOP(); - PyObject *res = PySequence_Tuple(arg); - Py_DECREF(arg); - Py_DECREF(&PyTuple_Type); - STACK_SHRINK(2); - SET_TOP(res); - if (res == NULL) { - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); - } - TARGET(PRECALL_BUILTIN_CLASS) { - int is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - int kwnames_len = KWNAMES_LEN(); - PyObject *callable = PEEK(total_args + 1); - DEOPT_IF(!PyType_Check(callable), PRECALL); - PyTypeObject *tp = (PyTypeObject *)callable; - DEOPT_IF(tp->tp_vectorcall == NULL, PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - STACK_SHRINK(total_args); - PyObject *res = tp->tp_vectorcall((PyObject *)tp, stack_pointer, - total_args-kwnames_len, call_shape.kwnames); - call_shape.kwnames = NULL; - /* Free the arguments. */ - for (int i = 0; i < total_args; i++) { - Py_DECREF(stack_pointer[i]); - } - Py_DECREF(tp); - STACK_SHRINK(1-is_meth); - SET_TOP(res); - if (res == NULL) { - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); +int _Py_CheckRecursiveCallPy( + PyThreadState *tstate) +{ + if (tstate->recursion_headroom) { + if (tstate->py_recursion_remaining < -50) { + /* Overflowing while handling an overflow. Give up. */ + Py_FatalError("Cannot recover from Python stack overflow."); } - - TARGET(PRECALL_NO_KW_BUILTIN_O) { - assert(cframe.use_tracing == 0); - /* Builtin METH_O functions */ - assert(call_shape.kwnames == NULL); - int is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - DEOPT_IF(total_args != 1, PRECALL); - PyObject *callable = PEEK(total_args + 1); - DEOPT_IF(!PyCFunction_CheckExact(callable), PRECALL); - DEOPT_IF(PyCFunction_GET_FLAGS(callable) != METH_O, PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - PyCFunction cfunc = PyCFunction_GET_FUNCTION(callable); - // This is slower but CPython promises to check all non-vectorcall - // function calls. - if (_Py_EnterRecursiveCallTstate(tstate, " while calling a Python object")) { - goto error; - } - PyObject *arg = TOP(); - PyObject *res = _PyCFunction_TrampolineCall(cfunc, PyCFunction_GET_SELF(callable), arg); - _Py_LeaveRecursiveCallTstate(tstate); - assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); - - Py_DECREF(arg); - Py_DECREF(callable); - STACK_SHRINK(2-is_meth); - SET_TOP(res); - if (res == NULL) { - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); + } + else { + if (tstate->py_recursion_remaining <= 0) { + tstate->recursion_headroom++; + _PyErr_Format(tstate, PyExc_RecursionError, + "maximum recursion depth exceeded"); + tstate->recursion_headroom--; + return -1; } + } + return 0; +} - TARGET(PRECALL_NO_KW_BUILTIN_FAST) { - assert(cframe.use_tracing == 0); - /* Builtin METH_FASTCALL functions, without keywords */ - assert(call_shape.kwnames == NULL); - int is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - PyObject *callable = PEEK(total_args + 1); - DEOPT_IF(!PyCFunction_CheckExact(callable), PRECALL); - DEOPT_IF(PyCFunction_GET_FLAGS(callable) != METH_FASTCALL, - PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - PyCFunction cfunc = PyCFunction_GET_FUNCTION(callable); - STACK_SHRINK(total_args); - /* res = func(self, args, nargs) */ - PyObject *res = ((_PyCFunctionFast)(void(*)(void))cfunc)( - PyCFunction_GET_SELF(callable), - stack_pointer, - total_args); - assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); - - /* Free the arguments. */ - for (int i = 0; i < total_args; i++) { - Py_DECREF(stack_pointer[i]); - } - STACK_SHRINK(2-is_meth); - PUSH(res); - Py_DECREF(callable); - if (res == NULL) { - /* Not deopting because this doesn't mean our optimization was - wrong. `res` can be NULL for valid reasons. Eg. getattr(x, - 'invalid'). In those cases an exception is set, so we must - handle it. - */ - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); - } +static inline int _Py_EnterRecursivePy(PyThreadState *tstate) { + return (tstate->py_recursion_remaining-- <= 0) && + _Py_CheckRecursiveCallPy(tstate); +} - TARGET(PRECALL_BUILTIN_FAST_WITH_KEYWORDS) { - assert(cframe.use_tracing == 0); - /* Builtin METH_FASTCALL | METH_KEYWORDS functions */ - int is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - PyObject *callable = PEEK(total_args + 1); - DEOPT_IF(!PyCFunction_CheckExact(callable), PRECALL); - DEOPT_IF(PyCFunction_GET_FLAGS(callable) != - (METH_FASTCALL | METH_KEYWORDS), PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - STACK_SHRINK(total_args); - /* res = func(self, args, nargs, kwnames) */ - _PyCFunctionFastWithKeywords cfunc = - (_PyCFunctionFastWithKeywords)(void(*)(void)) - PyCFunction_GET_FUNCTION(callable); - PyObject *res = cfunc( - PyCFunction_GET_SELF(callable), - stack_pointer, - total_args - KWNAMES_LEN(), - call_shape.kwnames - ); - assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); - call_shape.kwnames = NULL; - /* Free the arguments. */ - for (int i = 0; i < total_args; i++) { - Py_DECREF(stack_pointer[i]); - } - STACK_SHRINK(2-is_meth); - PUSH(res); - Py_DECREF(callable); - if (res == NULL) { - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); - } +static inline void _Py_LeaveRecursiveCallPy(PyThreadState *tstate) { + tstate->py_recursion_remaining++; +} - TARGET(PRECALL_NO_KW_LEN) { - assert(cframe.use_tracing == 0); - assert(call_shape.kwnames == NULL); - /* len(o) */ - int is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - DEOPT_IF(total_args != 1, PRECALL); - PyObject *callable = PEEK(total_args + 1); - PyInterpreterState *interp = _PyInterpreterState_GET(); - DEOPT_IF(callable != interp->callable_cache.len, PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - PyObject *arg = TOP(); - Py_ssize_t len_i = PyObject_Length(arg); - if (len_i < 0) { - goto error; - } - PyObject *res = PyLong_FromSsize_t(len_i); - assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); - - STACK_SHRINK(2-is_meth); - SET_TOP(res); - Py_DECREF(callable); - Py_DECREF(arg); - if (res == NULL) { - goto error; - } - DISPATCH(); - } - TARGET(PRECALL_NO_KW_ISINSTANCE) { - assert(cframe.use_tracing == 0); - assert(call_shape.kwnames == NULL); - /* isinstance(o, o2) */ - int is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - PyObject *callable = PEEK(total_args + 1); - DEOPT_IF(total_args != 2, PRECALL); - PyInterpreterState *interp = _PyInterpreterState_GET(); - DEOPT_IF(callable != interp->callable_cache.isinstance, PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - PyObject *cls = POP(); - PyObject *inst = TOP(); - int retval = PyObject_IsInstance(inst, cls); - if (retval < 0) { - Py_DECREF(cls); - goto error; - } - PyObject *res = PyBool_FromLong(retval); - assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); - - STACK_SHRINK(2-is_meth); - SET_TOP(res); - Py_DECREF(inst); - Py_DECREF(cls); - Py_DECREF(callable); - if (res == NULL) { - goto error; - } - DISPATCH(); - } +/* Disable unused label warnings. They are handy for debugging, even + if computed gotos aren't used. */ - TARGET(PRECALL_NO_KW_LIST_APPEND) { - assert(cframe.use_tracing == 0); - assert(call_shape.kwnames == NULL); - assert(oparg == 1); - PyObject *callable = PEEK(3); - PyInterpreterState *interp = _PyInterpreterState_GET(); - DEOPT_IF(callable != interp->callable_cache.list_append, PRECALL); - PyObject *list = SECOND(); - DEOPT_IF(!PyList_Check(list), PRECALL); - STAT_INC(PRECALL, hit); - PyObject *arg = POP(); - if (_PyList_AppendTakeRef((PyListObject *)list, arg) < 0) { - goto error; - } - STACK_SHRINK(2); - Py_DECREF(list); - Py_DECREF(callable); - // PRECALL + CALL + POP_TOP - JUMPBY(INLINE_CACHE_ENTRIES_PRECALL + 1 + INLINE_CACHE_ENTRIES_CALL + 1); - assert(_Py_OPCODE(next_instr[-1]) == POP_TOP); - DISPATCH(); - } +/* TBD - what about other compilers? */ +#if defined(__GNUC__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wunused-label" +#elif defined(_MSC_VER) /* MS_WINDOWS */ +# pragma warning(push) +# pragma warning(disable:4102) +#endif - TARGET(PRECALL_NO_KW_METHOD_DESCRIPTOR_O) { - assert(call_shape.kwnames == NULL); - int is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - PyMethodDescrObject *callable = - (PyMethodDescrObject *)PEEK(total_args + 1); - DEOPT_IF(total_args != 2, PRECALL); - DEOPT_IF(!Py_IS_TYPE(callable, &PyMethodDescr_Type), PRECALL); - PyMethodDef *meth = callable->d_method; - DEOPT_IF(meth->ml_flags != METH_O, PRECALL); - PyObject *arg = TOP(); - PyObject *self = SECOND(); - DEOPT_IF(!Py_IS_TYPE(self, callable->d_common.d_type), PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - PyCFunction cfunc = meth->ml_meth; - // This is slower but CPython promises to check all non-vectorcall - // function calls. - if (_Py_EnterRecursiveCallTstate(tstate, " while calling a Python object")) { - goto error; - } - PyObject *res = _PyCFunction_TrampolineCall(cfunc, self, arg); - _Py_LeaveRecursiveCallTstate(tstate); - assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); - Py_DECREF(self); - Py_DECREF(arg); - STACK_SHRINK(oparg + 1); - SET_TOP(res); - Py_DECREF(callable); - if (res == NULL) { - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); - } - TARGET(PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS) { - int is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - PyMethodDescrObject *callable = - (PyMethodDescrObject *)PEEK(total_args + 1); - DEOPT_IF(!Py_IS_TYPE(callable, &PyMethodDescr_Type), PRECALL); - PyMethodDef *meth = callable->d_method; - DEOPT_IF(meth->ml_flags != (METH_FASTCALL|METH_KEYWORDS), PRECALL); - PyTypeObject *d_type = callable->d_common.d_type; - PyObject *self = PEEK(total_args); - DEOPT_IF(!Py_IS_TYPE(self, d_type), PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - int nargs = total_args-1; - STACK_SHRINK(nargs); - _PyCFunctionFastWithKeywords cfunc = - (_PyCFunctionFastWithKeywords)(void(*)(void))meth->ml_meth; - PyObject *res = cfunc(self, stack_pointer, nargs - KWNAMES_LEN(), - call_shape.kwnames); - assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); - call_shape.kwnames = NULL; - - /* Free the arguments. */ - for (int i = 0; i < nargs; i++) { - Py_DECREF(stack_pointer[i]); - } - Py_DECREF(self); - STACK_SHRINK(2-is_meth); - SET_TOP(res); - Py_DECREF(callable); - if (res == NULL) { - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); - } +/* _PyEval_EvalFrameDefault() is a *big* function, + * so consume 3 units of C stack */ +#define PY_EVAL_C_STACK_UNITS 2 - TARGET(PRECALL_NO_KW_METHOD_DESCRIPTOR_NOARGS) { - assert(call_shape.kwnames == NULL); - assert(oparg == 0 || oparg == 1); - int is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - DEOPT_IF(total_args != 1, PRECALL); - PyMethodDescrObject *callable = (PyMethodDescrObject *)SECOND(); - DEOPT_IF(!Py_IS_TYPE(callable, &PyMethodDescr_Type), PRECALL); - PyMethodDef *meth = callable->d_method; - PyObject *self = TOP(); - DEOPT_IF(!Py_IS_TYPE(self, callable->d_common.d_type), PRECALL); - DEOPT_IF(meth->ml_flags != METH_NOARGS, PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - PyCFunction cfunc = meth->ml_meth; - // This is slower but CPython promises to check all non-vectorcall - // function calls. - if (_Py_EnterRecursiveCallTstate(tstate, " while calling a Python object")) { - goto error; - } - PyObject *res = _PyCFunction_TrampolineCall(cfunc, self, NULL); - _Py_LeaveRecursiveCallTstate(tstate); - assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); - Py_DECREF(self); - STACK_SHRINK(oparg + 1); - SET_TOP(res); - Py_DECREF(callable); - if (res == NULL) { - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); - } +PyObject* _Py_HOT_FUNCTION +_PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int throwflag) +{ + _Py_EnsureTstateNotNULL(tstate); + CALL_STAT_INC(pyeval_calls); - TARGET(PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST) { - assert(call_shape.kwnames == NULL); - int is_meth = is_method(stack_pointer, oparg); - int total_args = oparg + is_meth; - PyMethodDescrObject *callable = - (PyMethodDescrObject *)PEEK(total_args + 1); - /* Builtin METH_FASTCALL methods, without keywords */ - DEOPT_IF(!Py_IS_TYPE(callable, &PyMethodDescr_Type), PRECALL); - PyMethodDef *meth = callable->d_method; - DEOPT_IF(meth->ml_flags != METH_FASTCALL, PRECALL); - PyObject *self = PEEK(total_args); - DEOPT_IF(!Py_IS_TYPE(self, callable->d_common.d_type), PRECALL); - STAT_INC(PRECALL, hit); - SKIP_CALL(); - _PyCFunctionFast cfunc = - (_PyCFunctionFast)(void(*)(void))meth->ml_meth; - int nargs = total_args-1; - STACK_SHRINK(nargs); - PyObject *res = cfunc(self, stack_pointer, nargs); - assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); - /* Clear the stack of the arguments. */ - for (int i = 0; i < nargs; i++) { - Py_DECREF(stack_pointer[i]); - } - Py_DECREF(self); - STACK_SHRINK(2-is_meth); - SET_TOP(res); - Py_DECREF(callable); - if (res == NULL) { - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); - } +#if USE_COMPUTED_GOTOS +/* Import the static jump table */ +#include "opcode_targets.h" +#endif - TARGET(CALL_FUNCTION_EX) { - PREDICTED(CALL_FUNCTION_EX); - PyObject *func, *callargs, *kwargs = NULL, *result; - if (oparg & 0x01) { - kwargs = POP(); - if (!PyDict_CheckExact(kwargs)) { - PyObject *d = PyDict_New(); - if (d == NULL) - goto error; - if (_PyDict_MergeEx(d, kwargs, 2) < 0) { - Py_DECREF(d); - format_kwargs_error(tstate, SECOND(), kwargs); - Py_DECREF(kwargs); - goto error; - } - Py_DECREF(kwargs); - kwargs = d; - } - assert(PyDict_CheckExact(kwargs)); - } - callargs = POP(); - func = TOP(); - if (!PyTuple_CheckExact(callargs)) { - if (check_args_iterable(tstate, func, callargs) < 0) { - Py_DECREF(callargs); - goto error; - } - Py_SETREF(callargs, PySequence_Tuple(callargs)); - if (callargs == NULL) { - goto error; - } - } - assert(PyTuple_CheckExact(callargs)); +#ifdef Py_STATS + int lastopcode = 0; +#endif + // opcode is an 8-bit value to improve the code generated by MSVC + // for the big switch below (in combination with the EXTRA_CASES macro). + uint8_t opcode; /* Current opcode */ + int oparg; /* Current opcode argument, if any */ +#ifdef LLTRACE + int lltrace = 0; +#endif - result = do_call_core(tstate, func, callargs, kwargs, cframe.use_tracing); - Py_DECREF(func); - Py_DECREF(callargs); - Py_XDECREF(kwargs); - - STACK_SHRINK(1); - assert(TOP() == NULL); - SET_TOP(result); - if (result == NULL) { - goto error; - } - CHECK_EVAL_BREAKER(); - DISPATCH(); - } + _PyCFrame cframe; + _PyInterpreterFrame entry_frame; + PyObject *kwnames = NULL; // Borrowed reference. Reset by CALL instructions. - TARGET(MAKE_FUNCTION) { - PyObject *codeobj = POP(); - PyFunctionObject *func = (PyFunctionObject *) - PyFunction_New(codeobj, GLOBALS()); + /* WARNING: Because the _PyCFrame lives on the C stack, + * but can be accessed from a heap allocated object (tstate) + * strict stack discipline must be maintained. + */ + _PyCFrame *prev_cframe = tstate->cframe; + cframe.previous = prev_cframe; + tstate->cframe = &cframe; - Py_DECREF(codeobj); - if (func == NULL) { - goto error; - } + assert(tstate->interp->interpreter_trampoline != NULL); +#ifdef Py_DEBUG + /* Set these to invalid but identifiable values for debugging. */ + entry_frame.f_funcobj = (PyObject*)0xaaa0; + entry_frame.f_locals = (PyObject*)0xaaa1; + entry_frame.frame_obj = (PyFrameObject*)0xaaa2; + entry_frame.f_globals = (PyObject*)0xaaa3; + entry_frame.f_builtins = (PyObject*)0xaaa4; +#endif + entry_frame.f_code = tstate->interp->interpreter_trampoline; + entry_frame.prev_instr = + _PyCode_CODE(tstate->interp->interpreter_trampoline); + entry_frame.stacktop = 0; + entry_frame.owner = FRAME_OWNED_BY_CSTACK; + entry_frame.return_offset = 0; + /* Push frame */ + entry_frame.previous = prev_cframe->current_frame; + frame->previous = &entry_frame; + cframe.current_frame = frame; - if (oparg & 0x08) { - assert(PyTuple_CheckExact(TOP())); - func->func_closure = POP(); - } - if (oparg & 0x04) { - assert(PyTuple_CheckExact(TOP())); - func->func_annotations = POP(); - } - if (oparg & 0x02) { - assert(PyDict_CheckExact(TOP())); - func->func_kwdefaults = POP(); - } - if (oparg & 0x01) { - assert(PyTuple_CheckExact(TOP())); - func->func_defaults = POP(); - } + tstate->c_recursion_remaining -= (PY_EVAL_C_STACK_UNITS - 1); + if (_Py_EnterRecursiveCallTstate(tstate, "")) { + tstate->c_recursion_remaining--; + tstate->py_recursion_remaining--; + goto exit_unwind; + } - PUSH((PyObject *)func); - DISPATCH(); + /* support for generator.throw() */ + if (throwflag) { + if (_Py_EnterRecursivePy(tstate)) { + goto exit_unwind; } + /* Because this avoids the RESUME, + * we need to update instrumentation */ + _Py_Instrument(frame->f_code, tstate->interp); + monitor_throw(tstate, frame, frame->prev_instr); + /* TO DO -- Monitor throw entry. */ + goto resume_with_error; + } - TARGET(RETURN_GENERATOR) { - PyGenObject *gen = (PyGenObject *)_Py_MakeCoro(frame->f_func); - if (gen == NULL) { - goto error; - } - assert(EMPTY()); - _PyFrame_SetStackPointer(frame, stack_pointer); - _PyInterpreterFrame *gen_frame = (_PyInterpreterFrame *)gen->gi_iframe; - _PyFrame_Copy(frame, gen_frame); - assert(frame->frame_obj == NULL); - gen->gi_frame_state = FRAME_CREATED; - gen_frame->owner = FRAME_OWNED_BY_GENERATOR; - _Py_LeaveRecursiveCallTstate(tstate); - if (!frame->is_entry) { - _PyInterpreterFrame *prev = frame->previous; - _PyThreadState_PopFrame(tstate, frame); - frame = cframe.current_frame = prev; - _PyFrame_StackPush(frame, (PyObject *)gen); - goto resume_frame; - } - /* Make sure that frame is in a valid state */ - frame->stacktop = 0; - frame->f_locals = NULL; - Py_INCREF(frame->f_func); - Py_INCREF(frame->f_code); - /* Restore previous cframe and return. */ - tstate->cframe = cframe.previous; - tstate->cframe->use_tracing = cframe.use_tracing; - assert(tstate->cframe->current_frame == frame->previous); - assert(!_PyErr_Occurred(tstate)); - return (PyObject *)gen; - } + /* Local "register" variables. + * These are cached values from the frame and code object. */ - TARGET(BUILD_SLICE) { - PyObject *start, *stop, *step, *slice; - if (oparg == 3) - step = POP(); - else - step = NULL; - stop = POP(); - start = TOP(); - slice = PySlice_New(start, stop, step); - Py_DECREF(start); - Py_DECREF(stop); - Py_XDECREF(step); - SET_TOP(slice); - if (slice == NULL) - goto error; - DISPATCH(); - } + _Py_CODEUNIT *next_instr; + PyObject **stack_pointer; - TARGET(FORMAT_VALUE) { - /* Handles f-string value formatting. */ - PyObject *result; - PyObject *fmt_spec; - PyObject *value; - PyObject *(*conv_fn)(PyObject *); - int which_conversion = oparg & FVC_MASK; - int have_fmt_spec = (oparg & FVS_MASK) == FVS_HAVE_SPEC; - - fmt_spec = have_fmt_spec ? POP() : NULL; - value = POP(); - - /* See if any conversion is specified. */ - switch (which_conversion) { - case FVC_NONE: conv_fn = NULL; break; - case FVC_STR: conv_fn = PyObject_Str; break; - case FVC_REPR: conv_fn = PyObject_Repr; break; - case FVC_ASCII: conv_fn = PyObject_ASCII; break; - default: - _PyErr_Format(tstate, PyExc_SystemError, - "unexpected conversion flag %d", - which_conversion); - goto error; - } +/* Sets the above local variables from the frame */ +#define SET_LOCALS_FROM_FRAME() \ + assert(_PyInterpreterFrame_LASTI(frame) >= -1); \ + /* Jump back to the last instruction executed... */ \ + next_instr = frame->prev_instr + 1; \ + stack_pointer = _PyFrame_GetStackPointer(frame); - /* If there's a conversion function, call it and replace - value with that result. Otherwise, just use value, - without conversion. */ - if (conv_fn != NULL) { - result = conv_fn(value); - Py_DECREF(value); - if (result == NULL) { - Py_XDECREF(fmt_spec); - goto error; - } - value = result; - } +start_frame: + if (_Py_EnterRecursivePy(tstate)) { + goto exit_unwind; + } - /* If value is a unicode object, and there's no fmt_spec, - then we know the result of format(value) is value - itself. In that case, skip calling format(). I plan to - move this optimization in to PyObject_Format() - itself. */ - if (PyUnicode_CheckExact(value) && fmt_spec == NULL) { - /* Do nothing, just transfer ownership to result. */ - result = value; - } else { - /* Actually call format(). */ - result = PyObject_Format(value, fmt_spec); - Py_DECREF(value); - Py_XDECREF(fmt_spec); - if (result == NULL) { - goto error; - } - } +resume_frame: + SET_LOCALS_FROM_FRAME(); - PUSH(result); - DISPATCH(); +#ifdef LLTRACE + { + if (frame != &entry_frame) { + int r = PyDict_Contains(GLOBALS(), &_Py_ID(__lltrace__)); + if (r < 0) { + goto exit_unwind; + } + lltrace = r; } - - TARGET(COPY) { - assert(oparg != 0); - PyObject *peek = PEEK(oparg); - Py_INCREF(peek); - PUSH(peek); - DISPATCH(); + if (lltrace) { + lltrace_resume_frame(frame); } + } +#endif - TARGET(BINARY_OP) { - PREDICTED(BINARY_OP); - PyObject *rhs = POP(); - PyObject *lhs = TOP(); - assert(0 <= oparg); - assert((unsigned)oparg < Py_ARRAY_LENGTH(binary_ops)); - assert(binary_ops[oparg]); - PyObject *res = binary_ops[oparg](lhs, rhs); - Py_DECREF(lhs); - Py_DECREF(rhs); - SET_TOP(res); - if (res == NULL) { - goto error; - } - JUMPBY(INLINE_CACHE_ENTRIES_BINARY_OP); - DISPATCH(); - } +#ifdef Py_DEBUG + /* _PyEval_EvalFrameDefault() must not be called with an exception set, + because it can clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!_PyErr_Occurred(tstate)); +#endif - TARGET(BINARY_OP_ADAPTIVE) { - assert(cframe.use_tracing == 0); - _PyBinaryOpCache *cache = (_PyBinaryOpCache *)next_instr; - if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { - PyObject *lhs = SECOND(); - PyObject *rhs = TOP(); - next_instr--; - _Py_Specialize_BinaryOp(lhs, rhs, next_instr, oparg, &GETLOCAL(0)); - DISPATCH_SAME_OPARG(); - } - else { - STAT_INC(BINARY_OP, deferred); - DECREMENT_ADAPTIVE_COUNTER(cache); - JUMP_TO_INSTRUCTION(BINARY_OP); - } - } + DISPATCH(); - TARGET(SWAP) { - assert(oparg != 0); - PyObject *top = TOP(); - SET_TOP(PEEK(oparg)); - PEEK(oparg) = top; - DISPATCH(); - } +handle_eval_breaker: - TARGET(EXTENDED_ARG) { - assert(oparg); - oparg <<= 8; - oparg |= _Py_OPARG(*next_instr); - // We might be tracing. To avoid breaking tracing guarantees in - // quickened instructions, always deoptimize the next opcode: - opcode = _PyOpcode_Deopt[_Py_OPCODE(*next_instr)]; - PRE_DISPATCH_GOTO(); - // CPython hasn't traced the following instruction historically - // (DO_TRACING would clobber our extended oparg anyways), so just - // skip our usual cframe.use_tracing check before dispatch. Also, - // make sure the next instruction isn't a RESUME, since that needs - // to trace properly (and shouldn't have an extended arg anyways): - assert(opcode != RESUME); - DISPATCH_GOTO(); - } + /* Do periodic things, like check for signals and async I/0. + * We need to do reasonably frequently, but not too frequently. + * All loops should include a check of the eval breaker. + * We also check on return from any builtin function. + * + * ## More Details ### + * + * The eval loop (this function) normally executes the instructions + * of a code object sequentially. However, the runtime supports a + * number of out-of-band execution scenarios that may pause that + * sequential execution long enough to do that out-of-band work + * in the current thread using the current PyThreadState. + * + * The scenarios include: + * + * - cyclic garbage collection + * - GIL drop requests + * - "async" exceptions + * - "pending calls" (some only in the main thread) + * - signal handling (only in the main thread) + * + * When the need for one of the above is detected, the eval loop + * pauses long enough to handle the detected case. Then, if doing + * so didn't trigger an exception, the eval loop resumes executing + * the sequential instructions. + * + * To make this work, the eval loop periodically checks if any + * of the above needs to happen. The individual checks can be + * expensive if computed each time, so a while back we switched + * to using pre-computed, per-interpreter variables for the checks, + * and later consolidated that to a single "eval breaker" variable + * (now a PyInterpreterState field). + * + * For the longest time, the eval breaker check would happen + * frequently, every 5 or so times through the loop, regardless + * of what instruction ran last or what would run next. Then, in + * early 2021 (gh-18334, commit 4958f5d), we switched to checking + * the eval breaker less frequently, by hard-coding the check to + * specific places in the eval loop (e.g. certain instructions). + * The intent then was to check after returning from calls + * and on the back edges of loops. + * + * In addition to being more efficient, that approach keeps + * the eval loop from running arbitrary code between instructions + * that don't handle that well. (See gh-74174.) + * + * Currently, the eval breaker check happens here at the + * "handle_eval_breaker" label. Some instructions come here + * explicitly (goto) and some indirectly. Notably, the check + * happens on back edges in the control flow graph, which + * pretty much applies to all loops and most calls. + * (See bytecodes.c for exact information.) + * + * One consequence of this approach is that it might not be obvious + * how to force any specific thread to pick up the eval breaker, + * or for any specific thread to not pick it up. Mostly this + * involves judicious uses of locks and careful ordering of code, + * while avoiding code that might trigger the eval breaker + * until so desired. + */ + if (_Py_HandlePending(tstate) != 0) { + goto error; + } + DISPATCH(); - TARGET(EXTENDED_ARG_QUICK) { - assert(cframe.use_tracing == 0); - assert(oparg); - int oldoparg = oparg; - NEXTOPARG(); - oparg |= oldoparg << 8; - DISPATCH_GOTO(); - } + { + /* Start instructions */ +#if !USE_COMPUTED_GOTOS + dispatch_opcode: + switch (opcode) +#endif + { - TARGET(CACHE) { - Py_UNREACHABLE(); - } +#include "generated_cases.c.h" + /* INSTRUMENTED_LINE has to be here, rather than in bytecodes.c, + * because it needs to capture frame->prev_instr before it is updated, + * as happens in the standard instruction prologue. + */ #if USE_COMPUTED_GOTOS - TARGET_DO_TRACING: + TARGET_INSTRUMENTED_LINE: #else - case DO_TRACING: + case INSTRUMENTED_LINE: #endif { - assert(cframe.use_tracing); - assert(tstate->tracing == 0); - if (INSTR_OFFSET() >= frame->f_code->_co_firsttraceable) { - int instr_prev = _PyInterpreterFrame_LASTI(frame); - frame->prev_instr = next_instr; - TRACING_NEXTOPARG(); - if (opcode == RESUME) { - if (oparg < 2) { - CHECK_EVAL_BREAKER(); - } - /* Call tracing */ - TRACE_FUNCTION_ENTRY(); - DTRACE_FUNCTION_ENTRY(); - } - else { - /* line-by-line tracing support */ - if (PyDTrace_LINE_ENABLED()) { - maybe_dtrace_line(frame, &tstate->trace_info, instr_prev); - } - - if (cframe.use_tracing && - tstate->c_tracefunc != NULL && !tstate->tracing) { - int err; - /* see maybe_call_line_trace() - for expository comments */ - _PyFrame_SetStackPointer(frame, stack_pointer); - - err = maybe_call_line_trace(tstate->c_tracefunc, - tstate->c_traceobj, - tstate, frame, instr_prev); - // Reload possibly changed frame fields: - stack_pointer = _PyFrame_GetStackPointer(frame); - frame->stacktop = -1; - // next_instr is only reloaded if tracing *does not* raise. - // This is consistent with the behavior of older Python - // versions. If a trace function sets a new f_lineno and - // *then* raises, we use the *old* location when searching - // for an exception handler, displaying the traceback, and - // so on: - if (err) { - // next_instr wasn't incremented at the start of this - // instruction. Increment it before handling the error, - // so that it looks the same as a "normal" instruction: - next_instr++; - goto error; - } - // Reload next_instr. Don't increment it, though, since - // we're going to re-dispatch to the "true" instruction now: - next_instr = frame->prev_instr; - } - } + _Py_CODEUNIT *prev = frame->prev_instr; + _Py_CODEUNIT *here = frame->prev_instr = next_instr; + _PyFrame_SetStackPointer(frame, stack_pointer); + int original_opcode = _Py_call_instrumentation_line( + tstate, frame, here, prev); + stack_pointer = _PyFrame_GetStackPointer(frame); + if (original_opcode < 0) { + next_instr = here+1; + goto error; + } + next_instr = frame->prev_instr; + if (next_instr != here) { + DISPATCH(); + } + if (_PyOpcode_Caches[original_opcode]) { + _PyBinaryOpCache *cache = (_PyBinaryOpCache *)(next_instr+1); + /* Prevent the underlying instruction from specializing + * and overwriting the instrumentation. */ + INCREMENT_ADAPTIVE_COUNTER(cache->counter); } - TRACING_NEXTOPARG(); - PRE_DISPATCH_GOTO(); + opcode = original_opcode; DISPATCH_GOTO(); } + #if USE_COMPUTED_GOTOS _unknown_opcode: #else @@ -5681,10 +888,12 @@ handle_eval_breaker: #endif /* Tell C compilers not to hold the opcode variable in the loop. next_instr points the current instruction without TARGET(). */ - opcode = _Py_OPCODE(*next_instr); - fprintf(stderr, "XXX lineno: %d, opcode: %d\n", - _PyInterpreterFrame_GetLine(frame), opcode); - _PyErr_SetString(tstate, PyExc_SystemError, "unknown opcode"); + opcode = next_instr->op.code; + _PyErr_Format(tstate, PyExc_SystemError, + "%U:%d: unknown opcode %d", + frame->f_code->co_filename, + PyUnstable_InterpreterFrame_GetLine(frame), + opcode); goto error; } /* End instructions */ @@ -5693,37 +902,6 @@ handle_eval_breaker: or goto error. */ Py_UNREACHABLE(); -/* Specialization misses */ - -miss: - { - STAT_INC(opcode, miss); - opcode = _PyOpcode_Deopt[opcode]; - STAT_INC(opcode, miss); - /* The counter is always the first cache entry: */ - _Py_CODEUNIT *counter = (_Py_CODEUNIT *)next_instr; - *counter -= 1; - if (*counter == 0) { - int adaptive_opcode = _PyOpcode_Adaptive[opcode]; - assert(adaptive_opcode); - _Py_SET_OPCODE(next_instr[-1], adaptive_opcode); - STAT_INC(opcode, deopt); - *counter = adaptive_counter_start(); - } - next_instr--; - DISPATCH_GOTO(); - } - -binary_subscr_dict_error: - { - PyObject *sub = POP(); - if (!_PyErr_Occurred(tstate)) { - _PyErr_SetKeyError(sub); - } - Py_DECREF(sub); - goto error; - } - unbound_local_error: { format_exc_check_arg(tstate, PyExc_UnboundLocalError, @@ -5733,8 +911,16 @@ unbound_local_error: goto error; } +pop_4_error: + STACK_SHRINK(1); +pop_3_error: + STACK_SHRINK(1); +pop_2_error: + STACK_SHRINK(1); +pop_1_error: + STACK_SHRINK(1); error: - call_shape.kwnames = NULL; + kwnames = NULL; /* Double-check exception status. */ #ifdef NDEBUG if (!_PyErr_Occurred(tstate)) { @@ -5746,19 +932,14 @@ error: #endif /* Log traceback info. */ + assert(frame != &entry_frame); if (!_PyFrame_IsIncomplete(frame)) { PyFrameObject *f = _PyFrame_GetFrameObject(frame); if (f != NULL) { PyTraceBack_Here(f); } } - - if (tstate->c_tracefunc != NULL) { - /* Make sure state is set to FRAME_UNWINDING for tracing */ - call_exc_trace(tstate->c_tracefunc, tstate->c_traceobj, - tstate, frame); - } - + monitor_raise(tstate, frame, next_instr-1); exception_unwind: { /* We can't use frame->f_lasti here, as RERAISE may have set it */ @@ -5776,8 +957,7 @@ exception_unwind: } assert(STACK_LEVEL() == 0); _PyFrame_SetStackPointer(frame, stack_pointer); - TRACE_FUNCTION_UNWIND(); - DTRACE_FUNCTION_EXIT(); + monitor_unwind(tstate, frame, next_instr-1); goto exit_unwind; } @@ -5787,7 +967,6 @@ exception_unwind: PyObject *v = POP(); Py_XDECREF(v); } - PyObject *exc, *val, *tb; if (lasti) { int frame_lasti = _PyInterpreterFrame_LASTI(frame); PyObject *lasti = PyLong_FromLong(frame_lasti); @@ -5796,20 +975,17 @@ exception_unwind: } PUSH(lasti); } - _PyErr_Fetch(tstate, &exc, &val, &tb); + /* Make the raw exception data available to the handler, so a program can emulate the Python main loop. */ - _PyErr_NormalizeException(tstate, &exc, &val, &tb); - if (tb != NULL) - PyException_SetTraceback(val, tb); - else - PyException_SetTraceback(val, Py_None); - Py_XDECREF(tb); - Py_XDECREF(exc); - PUSH(val); + PyObject *exc = _PyErr_GetRaisedException(tstate); + PUSH(exc); JUMPTO(handler); + if (monitor_handled(tstate, frame, next_instr, exc) < 0) { + goto exception_unwind; + } /* Resume normal execution */ DISPATCH(); } @@ -5817,24 +993,31 @@ exception_unwind: exit_unwind: assert(_PyErr_Occurred(tstate)); - _Py_LeaveRecursiveCallTstate(tstate); - if (frame->is_entry) { + _Py_LeaveRecursiveCallPy(tstate); + assert(frame != &entry_frame); + // GH-99729: We need to unlink the frame *before* clearing it: + _PyInterpreterFrame *dying = frame; + frame = cframe.current_frame = dying->previous; + _PyEvalFrameClearAndPop(tstate, dying); + frame->return_offset = 0; + if (frame == &entry_frame) { /* Restore previous cframe and exit */ tstate->cframe = cframe.previous; - tstate->cframe->use_tracing = cframe.use_tracing; assert(tstate->cframe->current_frame == frame->previous); + tstate->c_recursion_remaining += PY_EVAL_C_STACK_UNITS; return NULL; } - // GH-99729: We need to unlink the frame *before* clearing it: - _PyInterpreterFrame *dying = frame; - frame = cframe.current_frame = dying->previous; - _PyEvalFrameClearAndPop(tstate, dying); resume_with_error: SET_LOCALS_FROM_FRAME(); goto error; } +#if defined(__GNUC__) +# pragma GCC diagnostic pop +#elif defined(_MSC_VER) /* MS_WINDOWS */ +# pragma warning(pop) +#endif static void format_missing(PyThreadState *tstate, const char *kind, @@ -6302,8 +1485,7 @@ initialize_locals(PyThreadState *tstate, PyFunctionObject *func, for (; i < defcount; i++) { if (localsplus[m+i] == NULL) { PyObject *def = defs[i]; - Py_INCREF(def); - localsplus[m+i] = def; + localsplus[m+i] = Py_NewRef(def); } } } @@ -6319,8 +1501,7 @@ initialize_locals(PyThreadState *tstate, PyFunctionObject *func, if (func->func_kwdefaults != NULL) { PyObject *def = PyDict_GetItemWithError(func->func_kwdefaults, varname); if (def) { - Py_INCREF(def); - localsplus[i] = def; + localsplus[i] = Py_NewRef(def); continue; } else if (_PyErr_Occurred(tstate)) { @@ -6354,27 +1535,65 @@ fail_post_args: return -1; } -/* Consumes references to func and all the args */ +static void +clear_thread_frame(PyThreadState *tstate, _PyInterpreterFrame * frame) +{ + assert(frame->owner == FRAME_OWNED_BY_THREAD); + // Make sure that this is, indeed, the top frame. We can't check this in + // _PyThreadState_PopFrame, since f_code is already cleared at that point: + assert((PyObject **)frame + frame->f_code->co_framesize == + tstate->datastack_top); + tstate->c_recursion_remaining--; + assert(frame->frame_obj == NULL || frame->frame_obj->f_frame == frame); + _PyFrame_ClearExceptCode(frame); + Py_DECREF(frame->f_code); + tstate->c_recursion_remaining++; + _PyThreadState_PopFrame(tstate, frame); +} + +static void +clear_gen_frame(PyThreadState *tstate, _PyInterpreterFrame * frame) +{ + assert(frame->owner == FRAME_OWNED_BY_GENERATOR); + PyGenObject *gen = _PyFrame_GetGenerator(frame); + gen->gi_frame_state = FRAME_CLEARED; + assert(tstate->exc_info == &gen->gi_exc_state); + tstate->exc_info = gen->gi_exc_state.previous_item; + gen->gi_exc_state.previous_item = NULL; + tstate->c_recursion_remaining--; + assert(frame->frame_obj == NULL || frame->frame_obj->f_frame == frame); + _PyFrame_ClearExceptCode(frame); + tstate->c_recursion_remaining++; + frame->previous = NULL; +} + +static void +_PyEvalFrameClearAndPop(PyThreadState *tstate, _PyInterpreterFrame * frame) +{ + if (frame->owner == FRAME_OWNED_BY_THREAD) { + clear_thread_frame(tstate, frame); + } + else { + clear_gen_frame(tstate, frame); + } +} + +/* Consumes references to func, locals and all the args */ static _PyInterpreterFrame * _PyEvalFramePushAndInit(PyThreadState *tstate, PyFunctionObject *func, PyObject *locals, PyObject* const* args, size_t argcount, PyObject *kwnames) { PyCodeObject * code = (PyCodeObject *)func->func_code; - size_t size = code->co_nlocalsplus + code->co_stacksize + FRAME_SPECIALS_SIZE; CALL_STAT_INC(frames_pushed); - _PyInterpreterFrame *frame = _PyThreadState_BumpFramePointer(tstate, size); + _PyInterpreterFrame *frame = _PyThreadState_PushFrame(tstate, code->co_framesize); if (frame == NULL) { goto fail; } - _PyFrame_InitializeSpecials(frame, func, locals, code->co_nlocalsplus); - PyObject **localsarray = &frame->localsplus[0]; - for (int i = 0; i < code->co_nlocalsplus; i++) { - localsarray[i] = NULL; - } - if (initialize_locals(tstate, func, localsarray, args, argcount, kwnames)) { - assert(frame->owner != FRAME_OWNED_BY_GENERATOR); - _PyEvalFrameClearAndPop(tstate, frame); + _PyFrame_Initialize(frame, func, locals, code, 0); + if (initialize_locals(tstate, func, frame->localsplus, args, argcount, kwnames)) { + assert(frame->owner == FRAME_OWNED_BY_THREAD); + clear_thread_frame(tstate, frame); return NULL; } return frame; @@ -6393,19 +1612,47 @@ fail: return NULL; } -static void -_PyEvalFrameClearAndPop(PyThreadState *tstate, _PyInterpreterFrame * frame) +/* Same as _PyEvalFramePushAndInit but takes an args tuple and kwargs dict. + Steals references to func, callargs and kwargs. +*/ +static _PyInterpreterFrame * +_PyEvalFramePushAndInit_Ex(PyThreadState *tstate, PyFunctionObject *func, + PyObject *locals, Py_ssize_t nargs, PyObject *callargs, PyObject *kwargs) { - // Make sure that this is, indeed, the top frame. We can't check this in - // _PyThreadState_PopFrame, since f_code is already cleared at that point: - assert((PyObject **)frame + frame->f_code->co_nlocalsplus + - frame->f_code->co_stacksize + FRAME_SPECIALS_SIZE == tstate->datastack_top); - tstate->recursion_remaining--; - assert(frame->frame_obj == NULL || frame->frame_obj->f_frame == frame); - assert(frame->owner == FRAME_OWNED_BY_THREAD); - _PyFrame_Clear(frame); - tstate->recursion_remaining++; - _PyThreadState_PopFrame(tstate, frame); + bool has_dict = (kwargs != NULL && PyDict_GET_SIZE(kwargs) > 0); + PyObject *kwnames = NULL; + PyObject *const *newargs; + if (has_dict) { + newargs = _PyStack_UnpackDict(tstate, _PyTuple_ITEMS(callargs), nargs, kwargs, &kwnames); + if (newargs == NULL) { + Py_DECREF(func); + goto error; + } + } + else { + newargs = &PyTuple_GET_ITEM(callargs, 0); + /* We need to incref all our args since the new frame steals the references. */ + for (Py_ssize_t i = 0; i < nargs; ++i) { + Py_INCREF(PyTuple_GET_ITEM(callargs, i)); + } + } + _PyInterpreterFrame *new_frame = _PyEvalFramePushAndInit( + tstate, (PyFunctionObject *)func, locals, + newargs, nargs, kwnames + ); + if (has_dict) { + _PyStack_UnpackDict_FreeNoDecRef(newargs, kwnames); + } + /* No need to decref func here because the reference has been stolen by + _PyEvalFramePushAndInit. + */ + Py_DECREF(callargs); + Py_XDECREF(kwargs); + return new_frame; +error: + Py_DECREF(callargs); + Py_XDECREF(kwargs); + return NULL; } PyObject * @@ -6415,8 +1662,9 @@ _PyEval_Vector(PyThreadState *tstate, PyFunctionObject *func, PyObject *kwnames) { /* _PyEvalFramePushAndInit consumes the references - * to func and all its arguments */ + * to func, locals and all its arguments */ Py_INCREF(func); + Py_XINCREF(locals); for (size_t i = 0; i < argcount; i++) { Py_INCREF(args[i]); } @@ -6431,13 +1679,8 @@ _PyEval_Vector(PyThreadState *tstate, PyFunctionObject *func, if (frame == NULL) { return NULL; } - PyObject *retval = _PyEval_EvalFrame(tstate, frame, 0); - assert( - _PyFrame_GetStackPointer(frame) == _PyFrame_Stackbase(frame) || - _PyFrame_GetStackPointer(frame) == frame->localsplus - ); - _PyEvalFrameClearAndPop(tstate, frame); - return retval; + EVAL_CALL_STAT_INC(EVAL_CALL_VECTOR); + return _PyEval_EvalFrame(tstate, frame, 0); } /* Legacy API */ @@ -6482,8 +1725,7 @@ PyEval_EvalCodeEx(PyObject *_co, PyObject *globals, PyObject *locals, newargs[i] = args[i]; } for (int i = 0; i < kwcount; i++) { - Py_INCREF(kws[2*i]); - PyTuple_SET_ITEM(kwnames, i, kws[2*i]); + PyTuple_SET_ITEM(kwnames, i, Py_NewRef(kws[2*i])); newargs[argcount+i] = kws[2*i+1]; } allargs = newargs; @@ -6502,6 +1744,7 @@ PyEval_EvalCodeEx(PyObject *_co, PyObject *globals, PyObject *locals, if (func == NULL) { goto fail; } + EVAL_CALL_STAT_INC(EVAL_CALL_LEGACY); res = _PyEval_Vector(tstate, func, locals, allargs, argcount, kwnames); @@ -6524,18 +1767,15 @@ do_raise(PyThreadState *tstate, PyObject *exc, PyObject *cause) if (exc == NULL) { /* Reraise */ _PyErr_StackItem *exc_info = _PyErr_GetTopmostException(tstate); - value = exc_info->exc_value; - if (Py_IsNone(value) || value == NULL) { + exc = exc_info->exc_value; + if (Py_IsNone(exc) || exc == NULL) { _PyErr_SetString(tstate, PyExc_RuntimeError, "No active exception to reraise"); return 0; } - assert(PyExceptionInstance_Check(value)); - type = PyExceptionInstance_Class(value); - Py_XINCREF(type); - Py_XINCREF(value); - PyObject *tb = PyException_GetTraceback(value); /* new ref */ - _PyErr_Restore(tstate, type, value, tb); + Py_INCREF(exc); + assert(PyExceptionInstance_Check(exc)); + _PyErr_SetRaisedException(tstate, exc); return 1; } @@ -6667,7 +1907,7 @@ exception_group_match(PyObject* exc_value, PyObject *match_type, } /* no match */ *match = Py_NewRef(Py_None); - *rest = Py_NewRef(Py_None); + *rest = Py_NewRef(exc_value); return 0; } @@ -6771,111 +2011,121 @@ Error: return 0; } -static void -call_exc_trace(Py_tracefunc func, PyObject *self, - PyThreadState *tstate, - _PyInterpreterFrame *f) +static int +do_monitor_exc(PyThreadState *tstate, _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr, int event) { - PyObject *type, *value, *traceback, *orig_traceback, *arg; - int err; - _PyErr_Fetch(tstate, &type, &value, &orig_traceback); - if (value == NULL) { - value = Py_None; - Py_INCREF(value); - } - _PyErr_NormalizeException(tstate, &type, &value, &orig_traceback); - traceback = (orig_traceback != NULL) ? orig_traceback : Py_None; - arg = PyTuple_Pack(3, type, value, traceback); - if (arg == NULL) { - _PyErr_Restore(tstate, type, value, orig_traceback); - return; - } - err = call_trace(func, self, tstate, f, PyTrace_EXCEPTION, arg); - Py_DECREF(arg); + assert(event < _PY_MONITORING_UNGROUPED_EVENTS); + PyObject *exc = PyErr_GetRaisedException(); + assert(exc != NULL); + int err = _Py_call_instrumentation_arg(tstate, event, frame, instr, exc); if (err == 0) { - _PyErr_Restore(tstate, type, value, orig_traceback); + PyErr_SetRaisedException(exc); + } + else { + assert(PyErr_Occurred()); + Py_DECREF(exc); + } + return err; +} + +static inline bool +no_tools_for_global_event(PyThreadState *tstate, int event) +{ + return tstate->interp->monitors.tools[event] == 0; +} + +static inline bool +no_tools_for_local_event(PyThreadState *tstate, _PyInterpreterFrame *frame, int event) +{ + assert(event < _PY_MONITORING_LOCAL_EVENTS); + _PyCoMonitoringData *data = frame->f_code->_co_monitoring; + if (data) { + return data->active_monitors.tools[event] == 0; } else { - Py_XDECREF(type); - Py_XDECREF(value); - Py_XDECREF(orig_traceback); + return no_tools_for_global_event(tstate, event); + } +} + +static void +monitor_raise(PyThreadState *tstate, _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr) +{ + if (no_tools_for_global_event(tstate, PY_MONITORING_EVENT_RAISE)) { + return; + } + do_monitor_exc(tstate, frame, instr, PY_MONITORING_EVENT_RAISE); +} + +static void +monitor_reraise(PyThreadState *tstate, _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr) +{ + if (no_tools_for_global_event(tstate, PY_MONITORING_EVENT_RERAISE)) { + return; } + do_monitor_exc(tstate, frame, instr, PY_MONITORING_EVENT_RERAISE); } static int -call_trace_protected(Py_tracefunc func, PyObject *obj, - PyThreadState *tstate, _PyInterpreterFrame *frame, - int what, PyObject *arg) +monitor_stop_iteration(PyThreadState *tstate, _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr) { - PyObject *type, *value, *traceback; - int err; - _PyErr_Fetch(tstate, &type, &value, &traceback); - err = call_trace(func, obj, tstate, frame, what, arg); - if (err == 0) - { - _PyErr_Restore(tstate, type, value, traceback); + if (no_tools_for_local_event(tstate, frame, PY_MONITORING_EVENT_STOP_ITERATION)) { return 0; } - else { - Py_XDECREF(type); - Py_XDECREF(value); - Py_XDECREF(traceback); - return -1; + return do_monitor_exc(tstate, frame, instr, PY_MONITORING_EVENT_STOP_ITERATION); +} + +static void +monitor_unwind(PyThreadState *tstate, + _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr) +{ + if (no_tools_for_global_event(tstate, PY_MONITORING_EVENT_PY_UNWIND)) { + return; + } + do_monitor_exc(tstate, frame, instr, PY_MONITORING_EVENT_PY_UNWIND); +} + + +static int +monitor_handled(PyThreadState *tstate, + _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr, PyObject *exc) +{ + if (no_tools_for_global_event(tstate, PY_MONITORING_EVENT_EXCEPTION_HANDLED)) { + return 0; } + return _Py_call_instrumentation_arg(tstate, PY_MONITORING_EVENT_EXCEPTION_HANDLED, frame, instr, exc); } static void -initialize_trace_info(PyTraceInfo *trace_info, _PyInterpreterFrame *frame) +monitor_throw(PyThreadState *tstate, + _PyInterpreterFrame *frame, + _Py_CODEUNIT *instr) { - PyCodeObject *code = frame->f_code; - if (trace_info->code != code) { - trace_info->code = code; - _PyCode_InitAddressRange(code, &trace_info->bounds); + if (no_tools_for_global_event(tstate, PY_MONITORING_EVENT_PY_THROW)) { + return; } + do_monitor_exc(tstate, frame, instr, PY_MONITORING_EVENT_PY_THROW); } void PyThreadState_EnterTracing(PyThreadState *tstate) { + assert(tstate->tracing >= 0); tstate->tracing++; - tstate->cframe->use_tracing = 0; } void PyThreadState_LeaveTracing(PyThreadState *tstate) { - assert(tstate->tracing > 0 && tstate->cframe->use_tracing == 0); + assert(tstate->tracing > 0); tstate->tracing--; - _PyThreadState_UpdateTracingState(tstate); } -static int -call_trace(Py_tracefunc func, PyObject *obj, - PyThreadState *tstate, _PyInterpreterFrame *frame, - int what, PyObject *arg) -{ - int result; - if (tstate->tracing) { - return 0; - } - PyFrameObject *f = _PyFrame_GetFrameObject(frame); - if (f == NULL) { - return -1; - } - int old_what = tstate->tracing_what; - tstate->tracing_what = what; - PyThreadState_EnterTracing(tstate); - assert(_PyInterpreterFrame_LASTI(frame) >= 0); - if (_PyCode_InitLineArray(frame->f_code)) { - return -1; - } - f->f_lineno = _PyCode_LineNumberFromArray(frame->f_code, _PyInterpreterFrame_LASTI(frame)); - result = func(obj, f, what, arg); - f->f_lineno = 0; - PyThreadState_LeaveTracing(tstate); - tstate->tracing_what = old_what; - return result; -} PyObject* _PyEval_CallTracing(PyObject *func, PyObject *args) @@ -6883,7 +2133,6 @@ _PyEval_CallTracing(PyObject *func, PyObject *args) // Save and disable tracing PyThreadState *tstate = _PyThreadState_GET(); int save_tracing = tstate->tracing; - int save_use_tracing = tstate->cframe->use_tracing; tstate->tracing = 0; // Call the tracing function @@ -6891,96 +2140,9 @@ _PyEval_CallTracing(PyObject *func, PyObject *args) // Restore tracing tstate->tracing = save_tracing; - tstate->cframe->use_tracing = save_use_tracing; - return result; -} - -/* See Objects/lnotab_notes.txt for a description of how tracing works. */ -static int -maybe_call_line_trace(Py_tracefunc func, PyObject *obj, - PyThreadState *tstate, _PyInterpreterFrame *frame, int instr_prev) -{ - int result = 0; - - /* If the last instruction falls at the start of a line or if it - represents a jump backwards, update the frame's line number and - then call the trace function if we're tracing source lines. - */ - if (_PyCode_InitLineArray(frame->f_code)) { - return -1; - } - int lastline; - if (instr_prev <= frame->f_code->_co_firsttraceable) { - lastline = -1; - } - else { - lastline = _PyCode_LineNumberFromArray(frame->f_code, instr_prev); - } - int line = _PyCode_LineNumberFromArray(frame->f_code, _PyInterpreterFrame_LASTI(frame)); - PyFrameObject *f = _PyFrame_GetFrameObject(frame); - if (f == NULL) { - return -1; - } - if (line != -1 && f->f_trace_lines) { - /* Trace backward edges (except in 'yield from') or if line number has changed */ - int trace = line != lastline || - (_PyInterpreterFrame_LASTI(frame) < instr_prev && - // SEND has no quickened forms, so no need to use _PyOpcode_Deopt - // here: - _Py_OPCODE(*frame->prev_instr) != SEND); - if (trace) { - result = call_trace(func, obj, tstate, frame, PyTrace_LINE, Py_None); - } - } - /* Always emit an opcode event if we're tracing all opcodes. */ - if (f->f_trace_opcodes && result == 0) { - result = call_trace(func, obj, tstate, frame, PyTrace_OPCODE, Py_None); - } return result; } -int -_PyEval_SetProfile(PyThreadState *tstate, Py_tracefunc func, PyObject *arg) -{ - assert(_PyThreadState_CheckConsistency(tstate)); - /* The caller must hold the GIL */ - assert(PyGILState_Check()); - - static int reentrant = 0; - if (reentrant) { - _PyErr_SetString(tstate, PyExc_RuntimeError, "Cannot install a profile function " - "while another profile function is being installed"); - reentrant = 0; - return -1; - } - reentrant = 1; - - /* Call _PySys_Audit() in the context of the current thread state, - even if tstate is not the current thread state. */ - PyThreadState *current_tstate = _PyThreadState_GET(); - if (_PySys_Audit(current_tstate, "sys.setprofile", NULL) < 0) { - reentrant = 0; - return -1; - } - - PyObject *profileobj = tstate->c_profileobj; - - tstate->c_profilefunc = NULL; - tstate->c_profileobj = NULL; - /* Must make sure that tracing is not ignored if 'profileobj' is freed */ - _PyThreadState_UpdateTracingState(tstate); - Py_XDECREF(profileobj); - - Py_XINCREF(arg); - tstate->c_profileobj = arg; - tstate->c_profilefunc = func; - - /* Flag that tracing or profiling is turned on */ - _PyThreadState_UpdateTracingState(tstate); - reentrant = 0; - return 0; -} - void PyEval_SetProfile(Py_tracefunc func, PyObject *arg) { @@ -6991,47 +2153,25 @@ PyEval_SetProfile(Py_tracefunc func, PyObject *arg) } } -int -_PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg) +void +PyEval_SetProfileAllThreads(Py_tracefunc func, PyObject *arg) { - assert(_PyThreadState_CheckConsistency(tstate)); - /* The caller must hold the GIL */ - assert(PyGILState_Check()); - - static int reentrant = 0; + PyThreadState *this_tstate = _PyThreadState_GET(); + PyInterpreterState* interp = this_tstate->interp; - if (reentrant) { - _PyErr_SetString(tstate, PyExc_RuntimeError, "Cannot install a trace function " - "while another trace function is being installed"); - reentrant = 0; - return -1; - } - reentrant = 1; + _PyRuntimeState *runtime = &_PyRuntime; + HEAD_LOCK(runtime); + PyThreadState* ts = PyInterpreterState_ThreadHead(interp); + HEAD_UNLOCK(runtime); - /* Call _PySys_Audit() in the context of the current thread state, - even if tstate is not the current thread state. */ - PyThreadState *current_tstate = _PyThreadState_GET(); - if (_PySys_Audit(current_tstate, "sys.settrace", NULL) < 0) { - reentrant = 0; - return -1; + while (ts) { + if (_PyEval_SetProfile(ts, func, arg) < 0) { + _PyErr_WriteUnraisableMsg("in PyEval_SetProfileAllThreads", NULL); + } + HEAD_LOCK(runtime); + ts = PyThreadState_Next(ts); + HEAD_UNLOCK(runtime); } - - PyObject *traceobj = tstate->c_traceobj; - - tstate->c_tracefunc = NULL; - tstate->c_traceobj = NULL; - /* Must make sure that profiling is not ignored if 'traceobj' is freed */ - _PyThreadState_UpdateTracingState(tstate); - Py_XINCREF(arg); - Py_XDECREF(traceobj); - tstate->c_traceobj = arg; - tstate->c_tracefunc = func; - - /* Flag that tracing or profiling is turned on */ - _PyThreadState_UpdateTracingState(tstate); - - reentrant = 0; - return 0; } void @@ -7044,6 +2184,26 @@ PyEval_SetTrace(Py_tracefunc func, PyObject *arg) } } +void +PyEval_SetTraceAllThreads(Py_tracefunc func, PyObject *arg) +{ + PyThreadState *this_tstate = _PyThreadState_GET(); + PyInterpreterState* interp = this_tstate->interp; + + _PyRuntimeState *runtime = &_PyRuntime; + HEAD_LOCK(runtime); + PyThreadState* ts = PyInterpreterState_ThreadHead(interp); + HEAD_UNLOCK(runtime); + + while (ts) { + if (_PyEval_SetTrace(ts, func, arg) < 0) { + _PyErr_WriteUnraisableMsg("in PyEval_SetTraceAllThreads", NULL); + } + HEAD_LOCK(runtime); + ts = PyThreadState_Next(ts); + HEAD_UNLOCK(runtime); + } +} int _PyEval_SetCoroutineOriginTrackingDepth(int depth) @@ -7074,8 +2234,7 @@ _PyEval_SetAsyncGenFirstiter(PyObject *firstiter) return -1; } - Py_XINCREF(firstiter); - Py_XSETREF(tstate->async_gen_firstiter, firstiter); + Py_XSETREF(tstate->async_gen_firstiter, Py_XNewRef(firstiter)); return 0; } @@ -7095,8 +2254,7 @@ _PyEval_SetAsyncGenFinalizer(PyObject *finalizer) return -1; } - Py_XINCREF(finalizer); - Py_XSETREF(tstate->async_gen_finalizer, finalizer); + Py_XSETREF(tstate->async_gen_finalizer, Py_XNewRef(finalizer)); return 0; } @@ -7111,16 +2269,13 @@ _PyInterpreterFrame * _PyEval_GetFrame(void) { PyThreadState *tstate = _PyThreadState_GET(); - return tstate->cframe->current_frame; + return _PyThreadState_GetFrame(tstate); } PyFrameObject * PyEval_GetFrame(void) { _PyInterpreterFrame *frame = _PyEval_GetFrame(); - while (frame && _PyFrame_IsIncomplete(frame)) { - frame = frame->previous; - } if (frame == NULL) { return NULL; } @@ -7134,7 +2289,7 @@ PyEval_GetFrame(void) PyObject * _PyEval_GetBuiltins(PyThreadState *tstate) { - _PyInterpreterFrame *frame = tstate->cframe->current_frame; + _PyInterpreterFrame *frame = _PyThreadState_GetFrame(tstate); if (frame != NULL) { return frame->f_builtins; } @@ -7170,7 +2325,7 @@ PyObject * PyEval_GetLocals(void) { PyThreadState *tstate = _PyThreadState_GET(); - _PyInterpreterFrame *current_frame = tstate->cframe->current_frame; + _PyInterpreterFrame *current_frame = _PyThreadState_GetFrame(tstate); if (current_frame == NULL) { _PyErr_SetString(tstate, PyExc_SystemError, "frame does not exist"); return NULL; @@ -7185,11 +2340,24 @@ PyEval_GetLocals(void) return locals; } +PyObject * +_PyEval_GetFrameLocals(void) +{ + PyThreadState *tstate = _PyThreadState_GET(); + _PyInterpreterFrame *current_frame = _PyThreadState_GetFrame(tstate); + if (current_frame == NULL) { + _PyErr_SetString(tstate, PyExc_SystemError, "frame does not exist"); + return NULL; + } + + return _PyFrame_GetLocals(current_frame, 1); +} + PyObject * PyEval_GetGlobals(void) { PyThreadState *tstate = _PyThreadState_GET(); - _PyInterpreterFrame *current_frame = tstate->cframe->current_frame; + _PyInterpreterFrame *current_frame = _PyThreadState_GetFrame(tstate); if (current_frame == NULL) { return NULL; } @@ -7241,114 +2409,6 @@ PyEval_GetFuncDesc(PyObject *func) return " object"; } -#define C_TRACE(x, call) \ -if (use_tracing && tstate->c_profilefunc) { \ - if (call_trace(tstate->c_profilefunc, tstate->c_profileobj, \ - tstate, tstate->cframe->current_frame, \ - PyTrace_C_CALL, func)) { \ - x = NULL; \ - } \ - else { \ - x = call; \ - if (tstate->c_profilefunc != NULL) { \ - if (x == NULL) { \ - call_trace_protected(tstate->c_profilefunc, \ - tstate->c_profileobj, \ - tstate, tstate->cframe->current_frame, \ - PyTrace_C_EXCEPTION, func); \ - /* XXX should pass (type, value, tb) */ \ - } else { \ - if (call_trace(tstate->c_profilefunc, \ - tstate->c_profileobj, \ - tstate, tstate->cframe->current_frame, \ - PyTrace_C_RETURN, func)) { \ - Py_DECREF(x); \ - x = NULL; \ - } \ - } \ - } \ - } \ -} else { \ - x = call; \ - } - - -static PyObject * -trace_call_function(PyThreadState *tstate, - PyObject *func, - PyObject **args, Py_ssize_t nargs, - PyObject *kwnames) -{ - int use_tracing = 1; - PyObject *x; - if (PyCFunction_CheckExact(func) || PyCMethod_CheckExact(func)) { - C_TRACE(x, PyObject_Vectorcall(func, args, nargs, kwnames)); - return x; - } - else if (Py_IS_TYPE(func, &PyMethodDescr_Type) && nargs > 0) { - /* We need to create a temporary bound method as argument - for profiling. - - If nargs == 0, then this cannot work because we have no - "self". In any case, the call itself would raise - TypeError (foo needs an argument), so we just skip - profiling. */ - PyObject *self = args[0]; - func = Py_TYPE(func)->tp_descr_get(func, self, (PyObject*)Py_TYPE(self)); - if (func == NULL) { - return NULL; - } - C_TRACE(x, PyObject_Vectorcall(func, - args+1, nargs-1, - kwnames)); - Py_DECREF(func); - return x; - } - return PyObject_Vectorcall(func, args, nargs | PY_VECTORCALL_ARGUMENTS_OFFSET, kwnames); -} - -static PyObject * -do_call_core(PyThreadState *tstate, - PyObject *func, - PyObject *callargs, - PyObject *kwdict, - int use_tracing - ) -{ - PyObject *result; - - if (PyCFunction_CheckExact(func) || PyCMethod_CheckExact(func)) { - C_TRACE(result, PyObject_Call(func, callargs, kwdict)); - return result; - } - else if (Py_IS_TYPE(func, &PyMethodDescr_Type)) { - Py_ssize_t nargs = PyTuple_GET_SIZE(callargs); - if (nargs > 0 && use_tracing) { - /* We need to create a temporary bound method as argument - for profiling. - - If nargs == 0, then this cannot work because we have no - "self". In any case, the call itself would raise - TypeError (foo needs an argument), so we just skip - profiling. */ - PyObject *self = PyTuple_GET_ITEM(callargs, 0); - func = Py_TYPE(func)->tp_descr_get(func, self, (PyObject*)Py_TYPE(self)); - if (func == NULL) { - return NULL; - } - - C_TRACE(result, _PyObject_FastCallDictTstate( - tstate, func, - &_PyTuple_ITEMS(callargs)[1], - nargs - 1, - kwdict)); - Py_DECREF(func); - return result; - } - } - return PyObject_Call(func, callargs, kwdict); -} - /* Extract a slice index from a PyLong or an object with the nb_index slot defined, and store in *pi. Silently reduce values larger than PY_SSIZE_T_MAX to PY_SSIZE_T_MAX, @@ -7413,7 +2473,7 @@ import_name(PyThreadState *tstate, _PyInterpreterFrame *frame, } PyObject *locals = frame->f_locals; /* Fast path for not overloaded __import__. */ - if (import_func == tstate->interp->import_func) { + if (_PyImport_IsDefaultImportFunc(tstate->interp, import_func)) { Py_DECREF(import_func); int ilevel = _PyLong_AsInt(level); if (ilevel == -1 && _PyErr_Occurred(tstate)) { @@ -7489,7 +2549,7 @@ import_from(PyThreadState *tstate, PyObject *v, PyObject *name) name, pkgname_or_unknown ); /* NULL checks for errmsg and pkgname done by PyErr_SetImportError. */ - PyErr_SetImportError(errmsg, pkgname, NULL); + _PyErr_SetImportErrorWithNameFrom(errmsg, pkgname, NULL, name); } else { PyObject *spec = PyObject_GetAttr(v, &_Py_ID(__spec__)); @@ -7502,7 +2562,7 @@ import_from(PyThreadState *tstate, PyObject *v, PyObject *name) errmsg = PyUnicode_FromFormat(fmt, name, pkgname_or_unknown, pkgpath); /* NULL checks for errmsg and pkgname done by PyErr_SetImportError. */ - PyErr_SetImportError(errmsg, pkgname, pkgpath); + _PyErr_SetImportErrorWithNameFrom(errmsg, pkgname, pkgpath, name); } Py_XDECREF(errmsg); @@ -7511,95 +2571,6 @@ import_from(PyThreadState *tstate, PyObject *v, PyObject *name) return NULL; } -static int -import_all_from(PyThreadState *tstate, PyObject *locals, PyObject *v) -{ - PyObject *all, *dict, *name, *value; - int skip_leading_underscores = 0; - int pos, err; - - if (_PyObject_LookupAttr(v, &_Py_ID(__all__), &all) < 0) { - return -1; /* Unexpected error */ - } - if (all == NULL) { - if (_PyObject_LookupAttr(v, &_Py_ID(__dict__), &dict) < 0) { - return -1; - } - if (dict == NULL) { - _PyErr_SetString(tstate, PyExc_ImportError, - "from-import-* object has no __dict__ and no __all__"); - return -1; - } - all = PyMapping_Keys(dict); - Py_DECREF(dict); - if (all == NULL) - return -1; - skip_leading_underscores = 1; - } - - for (pos = 0, err = 0; ; pos++) { - name = PySequence_GetItem(all, pos); - if (name == NULL) { - if (!_PyErr_ExceptionMatches(tstate, PyExc_IndexError)) { - err = -1; - } - else { - _PyErr_Clear(tstate); - } - break; - } - if (!PyUnicode_Check(name)) { - PyObject *modname = PyObject_GetAttr(v, &_Py_ID(__name__)); - if (modname == NULL) { - Py_DECREF(name); - err = -1; - break; - } - if (!PyUnicode_Check(modname)) { - _PyErr_Format(tstate, PyExc_TypeError, - "module __name__ must be a string, not %.100s", - Py_TYPE(modname)->tp_name); - } - else { - _PyErr_Format(tstate, PyExc_TypeError, - "%s in %U.%s must be str, not %.100s", - skip_leading_underscores ? "Key" : "Item", - modname, - skip_leading_underscores ? "__dict__" : "__all__", - Py_TYPE(name)->tp_name); - } - Py_DECREF(modname); - Py_DECREF(name); - err = -1; - break; - } - if (skip_leading_underscores) { - if (PyUnicode_READY(name) == -1) { - Py_DECREF(name); - err = -1; - break; - } - if (PyUnicode_READ_CHAR(name, 0) == '_') { - Py_DECREF(name); - continue; - } - } - value = PyObject_GetAttr(v, name); - if (value == NULL) - err = -1; - else if (PyDict_CheckExact(locals)) - err = PyDict_SetItem(locals, name, value); - else - err = PyObject_SetItem(locals, name, value); - Py_DECREF(name); - Py_XDECREF(value); - if (err != 0) - break; - } - Py_DECREF(all); - return err; -} - #define CANNOT_CATCH_MSG "catching classes that do not inherit from "\ "BaseException is not allowed" @@ -7709,13 +2680,13 @@ format_kwargs_error(PyThreadState *tstate, PyObject *func, PyObject *kwargs) } } else if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { - PyObject *exc, *val, *tb; - _PyErr_Fetch(tstate, &exc, &val, &tb); - if (val && PyTuple_Check(val) && PyTuple_GET_SIZE(val) == 1) { + PyObject *exc = _PyErr_GetRaisedException(tstate); + PyObject *args = ((PyBaseExceptionObject *)exc)->args; + if (exc && PyTuple_Check(args) && PyTuple_GET_SIZE(args) == 1) { _PyErr_Clear(tstate); PyObject *funcstr = _PyObject_FunctionStr(func); if (funcstr != NULL) { - PyObject *key = PyTuple_GET_ITEM(val, 0); + PyObject *key = PyTuple_GET_ITEM(args, 0); _PyErr_Format( tstate, PyExc_TypeError, "%U got multiple values for keyword argument '%S'", @@ -7723,11 +2694,9 @@ format_kwargs_error(PyThreadState *tstate, PyObject *func, PyObject *kwargs) Py_DECREF(funcstr); } Py_XDECREF(exc); - Py_XDECREF(val); - Py_XDECREF(tb); } else { - _PyErr_Restore(tstate, exc, val, tb); + _PyErr_SetRaisedException(tstate, exc); } } } @@ -7749,18 +2718,15 @@ format_exc_check_arg(PyThreadState *tstate, PyObject *exc, if (exc == PyExc_NameError) { // Include the name in the NameError exceptions to offer suggestions later. - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - PyErr_NormalizeException(&type, &value, &traceback); - if (PyErr_GivenExceptionMatches(value, PyExc_NameError)) { - PyNameErrorObject* exc = (PyNameErrorObject*) value; - if (exc->name == NULL) { + PyObject *exc = PyErr_GetRaisedException(); + if (PyErr_GivenExceptionMatches(exc, PyExc_NameError)) { + if (((PyNameErrorObject*)exc)->name == NULL) { // We do not care if this fails because we are going to restore the // NameError anyway. - (void)PyObject_SetAttr(value, &_Py_ID(name), obj); + (void)PyObject_SetAttr(exc, &_Py_ID(name), obj); } } - PyErr_Restore(type, value, traceback); + PyErr_SetRaisedException(exc); } } @@ -7772,7 +2738,7 @@ format_exc_unbound(PyThreadState *tstate, PyCodeObject *co, int oparg) if (_PyErr_Occurred(tstate)) return; name = PyTuple_GET_ITEM(co->co_localsplusnames, oparg); - if (oparg < co->co_nplaincellvars + co->co_nlocals) { + if (oparg < PyCode_GetFirstFree(co)) { format_exc_check_arg(tstate, PyExc_UnboundLocalError, UNBOUNDLOCAL_ERROR_MSG, name); } else { @@ -7800,64 +2766,9 @@ format_awaitable_error(PyThreadState *tstate, PyTypeObject *type, int oparg) } } -#ifdef Py_STATS - -static PyObject * -getarray(uint64_t a[256]) -{ - int i; - PyObject *l = PyList_New(256); - if (l == NULL) return NULL; - for (i = 0; i < 256; i++) { - PyObject *x = PyLong_FromUnsignedLongLong(a[i]); - if (x == NULL) { - Py_DECREF(l); - return NULL; - } - PyList_SET_ITEM(l, i, x); - } - for (i = 0; i < 256; i++) - a[i] = 0; - return l; -} - -PyObject * -_Py_GetDXProfile(PyObject *self, PyObject *args) -{ - int i; - PyObject *l = PyList_New(257); - if (l == NULL) return NULL; - for (i = 0; i < 256; i++) { - PyObject *x = getarray(_py_stats.opcode_stats[i].pair_count); - if (x == NULL) { - Py_DECREF(l); - return NULL; - } - PyList_SET_ITEM(l, i, x); - } - PyObject *counts = PyList_New(256); - if (counts == NULL) { - Py_DECREF(l); - return NULL; - } - for (i = 0; i < 256; i++) { - PyObject *x = PyLong_FromUnsignedLongLong( - _py_stats.opcode_stats[i].execution_count); - if (x == NULL) { - Py_DECREF(counts); - Py_DECREF(l); - return NULL; - } - PyList_SET_ITEM(counts, i, x); - } - PyList_SET_ITEM(l, 256, counts); - return l; -} - -#endif Py_ssize_t -_PyEval_RequestCodeExtraIndex(freefunc free) +PyUnstable_Eval_RequestCodeExtraIndex(freefunc free) { PyInterpreterState *interp = _PyInterpreterState_GET(); Py_ssize_t new_index; @@ -7870,81 +2781,14 @@ _PyEval_RequestCodeExtraIndex(freefunc free) return new_index; } -static void -dtrace_function_entry(_PyInterpreterFrame *frame) -{ - const char *filename; - const char *funcname; - int lineno; - - PyCodeObject *code = frame->f_code; - filename = PyUnicode_AsUTF8(code->co_filename); - funcname = PyUnicode_AsUTF8(code->co_name); - lineno = _PyInterpreterFrame_GetLine(frame); - - PyDTrace_FUNCTION_ENTRY(filename, funcname, lineno); -} - -static void -dtrace_function_return(_PyInterpreterFrame *frame) -{ - const char *filename; - const char *funcname; - int lineno; - - PyCodeObject *code = frame->f_code; - filename = PyUnicode_AsUTF8(code->co_filename); - funcname = PyUnicode_AsUTF8(code->co_name); - lineno = _PyInterpreterFrame_GetLine(frame); - - PyDTrace_FUNCTION_RETURN(filename, funcname, lineno); -} - -/* DTrace equivalent of maybe_call_line_trace. */ -static void -maybe_dtrace_line(_PyInterpreterFrame *frame, - PyTraceInfo *trace_info, - int instr_prev) -{ - const char *co_filename, *co_name; - - /* If the last instruction executed isn't in the current - instruction window, reset the window. - */ - initialize_trace_info(trace_info, frame); - int lastline = _PyCode_CheckLineNumber(instr_prev*sizeof(_Py_CODEUNIT), &trace_info->bounds); - int addr = _PyInterpreterFrame_LASTI(frame) * sizeof(_Py_CODEUNIT); - int line = _PyCode_CheckLineNumber(addr, &trace_info->bounds); - if (line != -1) { - /* Trace backward edges or first instruction of a new line */ - if (_PyInterpreterFrame_LASTI(frame) < instr_prev || - (line != lastline && addr == trace_info->bounds.ar_start)) - { - co_filename = PyUnicode_AsUTF8(frame->f_code->co_filename); - if (!co_filename) { - co_filename = "?"; - } - co_name = PyUnicode_AsUTF8(frame->f_code->co_name); - if (!co_name) { - co_name = "?"; - } - PyDTrace_LINE(co_filename, co_name, line); - } - } -} - /* Implement Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() as functions for the limited API. */ -#undef Py_EnterRecursiveCall - int Py_EnterRecursiveCall(const char *where) { return _Py_EnterRecursiveCall(where); } -#undef Py_LeaveRecursiveCall - void Py_LeaveRecursiveCall(void) { _Py_LeaveRecursiveCall(); diff --git a/contrib/tools/python3/src/Python/ceval_gil.c b/contrib/tools/python3/src/Python/ceval_gil.c new file mode 100644 index 00000000000..c1ab5883568 --- /dev/null +++ b/contrib/tools/python3/src/Python/ceval_gil.c @@ -0,0 +1,1089 @@ + +#include "Python.h" +#include "pycore_atomic.h" // _Py_atomic_int +#include "pycore_ceval.h" // _PyEval_SignalReceived() +#include "pycore_pyerrors.h" // _PyErr_GetRaisedException() +#include "pycore_pylifecycle.h" // _PyErr_Print() +#include "pycore_initconfig.h" // _PyStatus_OK() +#include "pycore_interp.h" // _Py_RunGC() +#include "pycore_pymem.h" // _PyMem_IsPtrFreed() + +/* + Notes about the implementation: + + - The GIL is just a boolean variable (locked) whose access is protected + by a mutex (gil_mutex), and whose changes are signalled by a condition + variable (gil_cond). gil_mutex is taken for short periods of time, + and therefore mostly uncontended. + + - In the GIL-holding thread, the main loop (PyEval_EvalFrameEx) must be + able to release the GIL on demand by another thread. A volatile boolean + variable (gil_drop_request) is used for that purpose, which is checked + at every turn of the eval loop. That variable is set after a wait of + `interval` microseconds on `gil_cond` has timed out. + + [Actually, another volatile boolean variable (eval_breaker) is used + which ORs several conditions into one. Volatile booleans are + sufficient as inter-thread signalling means since Python is run + on cache-coherent architectures only.] + + - A thread wanting to take the GIL will first let pass a given amount of + time (`interval` microseconds) before setting gil_drop_request. This + encourages a defined switching period, but doesn't enforce it since + opcodes can take an arbitrary time to execute. + + The `interval` value is available for the user to read and modify + using the Python API `sys.{get,set}switchinterval()`. + + - When a thread releases the GIL and gil_drop_request is set, that thread + ensures that another GIL-awaiting thread gets scheduled. + It does so by waiting on a condition variable (switch_cond) until + the value of last_holder is changed to something else than its + own thread state pointer, indicating that another thread was able to + take the GIL. + + This is meant to prohibit the latency-adverse behaviour on multi-core + machines where one thread would speculatively release the GIL, but still + run and end up being the first to re-acquire it, making the "timeslices" + much longer than expected. + (Note: this mechanism is enabled with FORCE_SWITCHING above) +*/ + +// GH-89279: Force inlining by using a macro. +#if defined(_MSC_VER) && SIZEOF_INT == 4 +#define _Py_atomic_load_relaxed_int32(ATOMIC_VAL) (assert(sizeof((ATOMIC_VAL)->_value) == 4), *((volatile int*)&((ATOMIC_VAL)->_value))) +#else +#define _Py_atomic_load_relaxed_int32(ATOMIC_VAL) _Py_atomic_load_relaxed(ATOMIC_VAL) +#endif + +/* This can set eval_breaker to 0 even though gil_drop_request became + 1. We believe this is all right because the eval loop will release + the GIL eventually anyway. */ +static inline void +COMPUTE_EVAL_BREAKER(PyInterpreterState *interp, + struct _ceval_runtime_state *ceval, + struct _ceval_state *ceval2) +{ + _Py_atomic_store_relaxed(&ceval2->eval_breaker, + _Py_atomic_load_relaxed_int32(&ceval2->gil_drop_request) + | (_Py_atomic_load_relaxed_int32(&ceval->signals_pending) + && _Py_ThreadCanHandleSignals(interp)) + | (_Py_atomic_load_relaxed_int32(&ceval2->pending.calls_to_do)) + | (_Py_IsMainThread() && _Py_IsMainInterpreter(interp) + &&_Py_atomic_load_relaxed_int32(&ceval->pending_mainthread.calls_to_do)) + | ceval2->pending.async_exc + | _Py_atomic_load_relaxed_int32(&ceval2->gc_scheduled)); +} + + +static inline void +SET_GIL_DROP_REQUEST(PyInterpreterState *interp) +{ + struct _ceval_state *ceval2 = &interp->ceval; + _Py_atomic_store_relaxed(&ceval2->gil_drop_request, 1); + _Py_atomic_store_relaxed(&ceval2->eval_breaker, 1); +} + + +static inline void +RESET_GIL_DROP_REQUEST(PyInterpreterState *interp) +{ + struct _ceval_runtime_state *ceval = &interp->runtime->ceval; + struct _ceval_state *ceval2 = &interp->ceval; + _Py_atomic_store_relaxed(&ceval2->gil_drop_request, 0); + COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); +} + + +static inline void +SIGNAL_PENDING_CALLS(struct _pending_calls *pending, PyInterpreterState *interp) +{ + struct _ceval_runtime_state *ceval = &interp->runtime->ceval; + struct _ceval_state *ceval2 = &interp->ceval; + _Py_atomic_store_relaxed(&pending->calls_to_do, 1); + COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); +} + + +static inline void +UNSIGNAL_PENDING_CALLS(PyInterpreterState *interp) +{ + struct _ceval_runtime_state *ceval = &interp->runtime->ceval; + struct _ceval_state *ceval2 = &interp->ceval; + if (_Py_IsMainThread() && _Py_IsMainInterpreter(interp)) { + _Py_atomic_store_relaxed(&ceval->pending_mainthread.calls_to_do, 0); + } + _Py_atomic_store_relaxed(&ceval2->pending.calls_to_do, 0); + COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); +} + + +static inline void +SIGNAL_PENDING_SIGNALS(PyInterpreterState *interp, int force) +{ + struct _ceval_runtime_state *ceval = &interp->runtime->ceval; + struct _ceval_state *ceval2 = &interp->ceval; + _Py_atomic_store_relaxed(&ceval->signals_pending, 1); + if (force) { + _Py_atomic_store_relaxed(&ceval2->eval_breaker, 1); + } + else { + /* eval_breaker is not set to 1 if thread_can_handle_signals() is false */ + COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); + } +} + + +static inline void +UNSIGNAL_PENDING_SIGNALS(PyInterpreterState *interp) +{ + struct _ceval_runtime_state *ceval = &interp->runtime->ceval; + struct _ceval_state *ceval2 = &interp->ceval; + _Py_atomic_store_relaxed(&ceval->signals_pending, 0); + COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); +} + + +static inline void +SIGNAL_ASYNC_EXC(PyInterpreterState *interp) +{ + struct _ceval_state *ceval2 = &interp->ceval; + ceval2->pending.async_exc = 1; + _Py_atomic_store_relaxed(&ceval2->eval_breaker, 1); +} + + +static inline void +UNSIGNAL_ASYNC_EXC(PyInterpreterState *interp) +{ + struct _ceval_runtime_state *ceval = &interp->runtime->ceval; + struct _ceval_state *ceval2 = &interp->ceval; + ceval2->pending.async_exc = 0; + COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); +} + + +/* + * Implementation of the Global Interpreter Lock (GIL). + */ + +#include +#include + +#include "pycore_atomic.h" + + +#include "condvar.h" + +#define MUTEX_INIT(mut) \ + if (PyMUTEX_INIT(&(mut))) { \ + Py_FatalError("PyMUTEX_INIT(" #mut ") failed"); }; +#define MUTEX_FINI(mut) \ + if (PyMUTEX_FINI(&(mut))) { \ + Py_FatalError("PyMUTEX_FINI(" #mut ") failed"); }; +#define MUTEX_LOCK(mut) \ + if (PyMUTEX_LOCK(&(mut))) { \ + Py_FatalError("PyMUTEX_LOCK(" #mut ") failed"); }; +#define MUTEX_UNLOCK(mut) \ + if (PyMUTEX_UNLOCK(&(mut))) { \ + Py_FatalError("PyMUTEX_UNLOCK(" #mut ") failed"); }; + +#define COND_INIT(cond) \ + if (PyCOND_INIT(&(cond))) { \ + Py_FatalError("PyCOND_INIT(" #cond ") failed"); }; +#define COND_FINI(cond) \ + if (PyCOND_FINI(&(cond))) { \ + Py_FatalError("PyCOND_FINI(" #cond ") failed"); }; +#define COND_SIGNAL(cond) \ + if (PyCOND_SIGNAL(&(cond))) { \ + Py_FatalError("PyCOND_SIGNAL(" #cond ") failed"); }; +#define COND_WAIT(cond, mut) \ + if (PyCOND_WAIT(&(cond), &(mut))) { \ + Py_FatalError("PyCOND_WAIT(" #cond ") failed"); }; +#define COND_TIMED_WAIT(cond, mut, microseconds, timeout_result) \ + { \ + int r = PyCOND_TIMEDWAIT(&(cond), &(mut), (microseconds)); \ + if (r < 0) \ + Py_FatalError("PyCOND_WAIT(" #cond ") failed"); \ + if (r) /* 1 == timeout, 2 == impl. can't say, so assume timeout */ \ + timeout_result = 1; \ + else \ + timeout_result = 0; \ + } \ + + +#define DEFAULT_INTERVAL 5000 + +static void _gil_initialize(struct _gil_runtime_state *gil) +{ + _Py_atomic_int uninitialized = {-1}; + gil->locked = uninitialized; + gil->interval = DEFAULT_INTERVAL; +} + +static int gil_created(struct _gil_runtime_state *gil) +{ + if (gil == NULL) { + return 0; + } + return (_Py_atomic_load_explicit(&gil->locked, _Py_memory_order_acquire) >= 0); +} + +static void create_gil(struct _gil_runtime_state *gil) +{ + MUTEX_INIT(gil->mutex); +#ifdef FORCE_SWITCHING + MUTEX_INIT(gil->switch_mutex); +#endif + COND_INIT(gil->cond); +#ifdef FORCE_SWITCHING + COND_INIT(gil->switch_cond); +#endif + _Py_atomic_store_relaxed(&gil->last_holder, 0); + _Py_ANNOTATE_RWLOCK_CREATE(&gil->locked); + _Py_atomic_store_explicit(&gil->locked, 0, _Py_memory_order_release); +} + +static void destroy_gil(struct _gil_runtime_state *gil) +{ + /* some pthread-like implementations tie the mutex to the cond + * and must have the cond destroyed first. + */ + COND_FINI(gil->cond); + MUTEX_FINI(gil->mutex); +#ifdef FORCE_SWITCHING + COND_FINI(gil->switch_cond); + MUTEX_FINI(gil->switch_mutex); +#endif + _Py_atomic_store_explicit(&gil->locked, -1, + _Py_memory_order_release); + _Py_ANNOTATE_RWLOCK_DESTROY(&gil->locked); +} + +#ifdef HAVE_FORK +static void recreate_gil(struct _gil_runtime_state *gil) +{ + _Py_ANNOTATE_RWLOCK_DESTROY(&gil->locked); + /* XXX should we destroy the old OS resources here? */ + create_gil(gil); +} +#endif + +static void +drop_gil(struct _ceval_state *ceval, PyThreadState *tstate) +{ + /* If tstate is NULL, the caller is indicating that we're releasing + the GIL for the last time in this thread. This is particularly + relevant when the current thread state is finalizing or its + interpreter is finalizing (either may be in an inconsistent + state). In that case the current thread will definitely + never try to acquire the GIL again. */ + // XXX It may be more correct to check tstate->_status.finalizing. + // XXX assert(tstate == NULL || !tstate->_status.cleared); + + struct _gil_runtime_state *gil = ceval->gil; + if (!_Py_atomic_load_relaxed(&gil->locked)) { + Py_FatalError("drop_gil: GIL is not locked"); + } + + /* tstate is allowed to be NULL (early interpreter init) */ + if (tstate != NULL) { + /* Sub-interpreter support: threads might have been switched + under our feet using PyThreadState_Swap(). Fix the GIL last + holder variable so that our heuristics work. */ + _Py_atomic_store_relaxed(&gil->last_holder, (uintptr_t)tstate); + } + + MUTEX_LOCK(gil->mutex); + _Py_ANNOTATE_RWLOCK_RELEASED(&gil->locked, /*is_write=*/1); + _Py_atomic_store_relaxed(&gil->locked, 0); + COND_SIGNAL(gil->cond); + MUTEX_UNLOCK(gil->mutex); + +#ifdef FORCE_SWITCHING + /* We check tstate first in case we might be releasing the GIL for + the last time in this thread. In that case there's a possible + race with tstate->interp getting deleted after gil->mutex is + unlocked and before the following code runs, leading to a crash. + We can use (tstate == NULL) to indicate the thread is done with + the GIL, and that's the only time we might delete the + interpreter, so checking tstate first prevents the crash. + See https://github.com/python/cpython/issues/104341. */ + if (tstate != NULL && _Py_atomic_load_relaxed(&ceval->gil_drop_request)) { + MUTEX_LOCK(gil->switch_mutex); + /* Not switched yet => wait */ + if (((PyThreadState*)_Py_atomic_load_relaxed(&gil->last_holder)) == tstate) + { + assert(_PyThreadState_CheckConsistency(tstate)); + RESET_GIL_DROP_REQUEST(tstate->interp); + /* NOTE: if COND_WAIT does not atomically start waiting when + releasing the mutex, another thread can run through, take + the GIL and drop it again, and reset the condition + before we even had a chance to wait for it. */ + COND_WAIT(gil->switch_cond, gil->switch_mutex); + } + MUTEX_UNLOCK(gil->switch_mutex); + } +#endif +} + + +/* Take the GIL. + + The function saves errno at entry and restores its value at exit. + + tstate must be non-NULL. */ +static void +take_gil(PyThreadState *tstate) +{ + int err = errno; + + assert(tstate != NULL); + /* We shouldn't be using a thread state that isn't viable any more. */ + // XXX It may be more correct to check tstate->_status.finalizing. + // XXX assert(!tstate->_status.cleared); + + if (_PyThreadState_MustExit(tstate)) { + /* bpo-39877: If Py_Finalize() has been called and tstate is not the + thread which called Py_Finalize(), exit immediately the thread. + + This code path can be reached by a daemon thread after Py_Finalize() + completes. In this case, tstate is a dangling pointer: points to + PyThreadState freed memory. */ + PyThread_exit_thread(); + } + + assert(_PyThreadState_CheckConsistency(tstate)); + PyInterpreterState *interp = tstate->interp; + struct _ceval_state *ceval = &interp->ceval; + struct _gil_runtime_state *gil = ceval->gil; + + /* Check that _PyEval_InitThreads() was called to create the lock */ + assert(gil_created(gil)); + + MUTEX_LOCK(gil->mutex); + + if (!_Py_atomic_load_relaxed(&gil->locked)) { + goto _ready; + } + + int drop_requested = 0; + while (_Py_atomic_load_relaxed(&gil->locked)) { + unsigned long saved_switchnum = gil->switch_number; + + unsigned long interval = (gil->interval >= 1 ? gil->interval : 1); + int timed_out = 0; + COND_TIMED_WAIT(gil->cond, gil->mutex, interval, timed_out); + + /* If we timed out and no switch occurred in the meantime, it is time + to ask the GIL-holding thread to drop it. */ + if (timed_out && + _Py_atomic_load_relaxed(&gil->locked) && + gil->switch_number == saved_switchnum) + { + if (_PyThreadState_MustExit(tstate)) { + MUTEX_UNLOCK(gil->mutex); + // gh-96387: If the loop requested a drop request in a previous + // iteration, reset the request. Otherwise, drop_gil() can + // block forever waiting for the thread which exited. Drop + // requests made by other threads are also reset: these threads + // may have to request again a drop request (iterate one more + // time). + if (drop_requested) { + RESET_GIL_DROP_REQUEST(interp); + } + PyThread_exit_thread(); + } + assert(_PyThreadState_CheckConsistency(tstate)); + + SET_GIL_DROP_REQUEST(interp); + drop_requested = 1; + } + } + +_ready: +#ifdef FORCE_SWITCHING + /* This mutex must be taken before modifying gil->last_holder: + see drop_gil(). */ + MUTEX_LOCK(gil->switch_mutex); +#endif + /* We now hold the GIL */ + _Py_atomic_store_relaxed(&gil->locked, 1); + _Py_ANNOTATE_RWLOCK_ACQUIRED(&gil->locked, /*is_write=*/1); + + if (tstate != (PyThreadState*)_Py_atomic_load_relaxed(&gil->last_holder)) { + _Py_atomic_store_relaxed(&gil->last_holder, (uintptr_t)tstate); + ++gil->switch_number; + } + +#ifdef FORCE_SWITCHING + COND_SIGNAL(gil->switch_cond); + MUTEX_UNLOCK(gil->switch_mutex); +#endif + + if (_PyThreadState_MustExit(tstate)) { + /* bpo-36475: If Py_Finalize() has been called and tstate is not + the thread which called Py_Finalize(), exit immediately the + thread. + + This code path can be reached by a daemon thread which was waiting + in take_gil() while the main thread called + wait_for_thread_shutdown() from Py_Finalize(). */ + MUTEX_UNLOCK(gil->mutex); + drop_gil(ceval, tstate); + PyThread_exit_thread(); + } + assert(_PyThreadState_CheckConsistency(tstate)); + + if (_Py_atomic_load_relaxed(&ceval->gil_drop_request)) { + RESET_GIL_DROP_REQUEST(interp); + } + else { + /* bpo-40010: eval_breaker should be recomputed to be set to 1 if there + is a pending signal: signal received by another thread which cannot + handle signals. + + Note: RESET_GIL_DROP_REQUEST() calls COMPUTE_EVAL_BREAKER(). */ + COMPUTE_EVAL_BREAKER(interp, &_PyRuntime.ceval, ceval); + } + + /* Don't access tstate if the thread must exit */ + if (tstate->async_exc != NULL) { + _PyEval_SignalAsyncExc(tstate->interp); + } + + MUTEX_UNLOCK(gil->mutex); + + errno = err; +} + +void _PyEval_SetSwitchInterval(unsigned long microseconds) +{ + PyInterpreterState *interp = _PyInterpreterState_Get(); + struct _gil_runtime_state *gil = interp->ceval.gil; + assert(gil != NULL); + gil->interval = microseconds; +} + +unsigned long _PyEval_GetSwitchInterval(void) +{ + PyInterpreterState *interp = _PyInterpreterState_Get(); + struct _gil_runtime_state *gil = interp->ceval.gil; + assert(gil != NULL); + return gil->interval; +} + + +int +_PyEval_ThreadsInitialized(void) +{ + /* XXX This is only needed for an assert in PyGILState_Ensure(), + * which currently does not work with subinterpreters. + * Thus we only use the main interpreter. */ + PyInterpreterState *interp = _PyInterpreterState_Main(); + if (interp == NULL) { + return 0; + } + struct _gil_runtime_state *gil = interp->ceval.gil; + return gil_created(gil); +} + +int +PyEval_ThreadsInitialized(void) +{ + return _PyEval_ThreadsInitialized(); +} + +static inline int +current_thread_holds_gil(struct _gil_runtime_state *gil, PyThreadState *tstate) +{ + if (((PyThreadState*)_Py_atomic_load_relaxed(&gil->last_holder)) != tstate) { + return 0; + } + return _Py_atomic_load_relaxed(&gil->locked); +} + +static void +init_shared_gil(PyInterpreterState *interp, struct _gil_runtime_state *gil) +{ + assert(gil_created(gil)); + interp->ceval.gil = gil; + interp->ceval.own_gil = 0; +} + +static void +init_own_gil(PyInterpreterState *interp, struct _gil_runtime_state *gil) +{ + assert(!gil_created(gil)); + create_gil(gil); + assert(gil_created(gil)); + interp->ceval.gil = gil; + interp->ceval.own_gil = 1; +} + +PyStatus +_PyEval_InitGIL(PyThreadState *tstate, int own_gil) +{ + assert(tstate->interp->ceval.gil == NULL); + int locked; + if (!own_gil) { + /* The interpreter will share the main interpreter's instead. */ + PyInterpreterState *main_interp = _PyInterpreterState_Main(); + assert(tstate->interp != main_interp); + struct _gil_runtime_state *gil = main_interp->ceval.gil; + init_shared_gil(tstate->interp, gil); + locked = current_thread_holds_gil(gil, tstate); + } + else { + PyThread_init_thread(); + init_own_gil(tstate->interp, &tstate->interp->_gil); + locked = 0; + } + if (!locked) { + take_gil(tstate); + } + + return _PyStatus_OK(); +} + +void +_PyEval_FiniGIL(PyInterpreterState *interp) +{ + struct _gil_runtime_state *gil = interp->ceval.gil; + if (gil == NULL) { + /* It was already finalized (or hasn't been initialized yet). */ + assert(!interp->ceval.own_gil); + return; + } + else if (!interp->ceval.own_gil) { +#ifdef Py_DEBUG + PyInterpreterState *main_interp = _PyInterpreterState_Main(); + assert(main_interp != NULL && interp != main_interp); + assert(interp->ceval.gil == main_interp->ceval.gil); +#endif + interp->ceval.gil = NULL; + return; + } + + if (!gil_created(gil)) { + /* First Py_InitializeFromConfig() call: the GIL doesn't exist + yet: do nothing. */ + return; + } + + destroy_gil(gil); + assert(!gil_created(gil)); + interp->ceval.gil = NULL; +} + +void +PyEval_InitThreads(void) +{ + /* Do nothing: kept for backward compatibility */ +} + +void +_PyEval_Fini(void) +{ +#ifdef Py_STATS + _Py_PrintSpecializationStats(1); +#endif +} +void +PyEval_AcquireLock(void) +{ + PyThreadState *tstate = _PyThreadState_GET(); + _Py_EnsureTstateNotNULL(tstate); + + take_gil(tstate); +} + +void +PyEval_ReleaseLock(void) +{ + PyThreadState *tstate = _PyThreadState_GET(); + /* This function must succeed when the current thread state is NULL. + We therefore avoid PyThreadState_Get() which dumps a fatal error + in debug mode. */ + struct _ceval_state *ceval = &tstate->interp->ceval; + drop_gil(ceval, tstate); +} + +void +_PyEval_AcquireLock(PyThreadState *tstate) +{ + _Py_EnsureTstateNotNULL(tstate); + take_gil(tstate); +} + +void +_PyEval_ReleaseLock(PyInterpreterState *interp, PyThreadState *tstate) +{ + /* If tstate is NULL then we do not expect the current thread + to acquire the GIL ever again. */ + assert(tstate == NULL || tstate->interp == interp); + struct _ceval_state *ceval = &interp->ceval; + drop_gil(ceval, tstate); +} + +void +PyEval_AcquireThread(PyThreadState *tstate) +{ + _Py_EnsureTstateNotNULL(tstate); + + take_gil(tstate); + + if (_PyThreadState_SwapNoGIL(tstate) != NULL) { + Py_FatalError("non-NULL old thread state"); + } +} + +void +PyEval_ReleaseThread(PyThreadState *tstate) +{ + assert(_PyThreadState_CheckConsistency(tstate)); + + PyThreadState *new_tstate = _PyThreadState_SwapNoGIL(NULL); + if (new_tstate != tstate) { + Py_FatalError("wrong thread state"); + } + struct _ceval_state *ceval = &tstate->interp->ceval; + drop_gil(ceval, tstate); +} + +#ifdef HAVE_FORK +/* This function is called from PyOS_AfterFork_Child to destroy all threads + which are not running in the child process, and clear internal locks + which might be held by those threads. */ +PyStatus +_PyEval_ReInitThreads(PyThreadState *tstate) +{ + assert(tstate->interp == _PyInterpreterState_Main()); + + struct _gil_runtime_state *gil = tstate->interp->ceval.gil; + if (!gil_created(gil)) { + return _PyStatus_OK(); + } + recreate_gil(gil); + + take_gil(tstate); + + struct _pending_calls *pending = &tstate->interp->ceval.pending; + if (_PyThread_at_fork_reinit(&pending->lock) < 0) { + return _PyStatus_ERR("Can't reinitialize pending calls lock"); + } + + /* Destroy all threads except the current one */ + _PyThreadState_DeleteExcept(tstate); + return _PyStatus_OK(); +} +#endif + +/* This function is used to signal that async exceptions are waiting to be + raised. */ + +void +_PyEval_SignalAsyncExc(PyInterpreterState *interp) +{ + SIGNAL_ASYNC_EXC(interp); +} + +PyThreadState * +PyEval_SaveThread(void) +{ + PyThreadState *tstate = _PyThreadState_SwapNoGIL(NULL); + _Py_EnsureTstateNotNULL(tstate); + + struct _ceval_state *ceval = &tstate->interp->ceval; + assert(gil_created(ceval->gil)); + drop_gil(ceval, tstate); + return tstate; +} + +void +PyEval_RestoreThread(PyThreadState *tstate) +{ + _Py_EnsureTstateNotNULL(tstate); + + take_gil(tstate); + + _PyThreadState_SwapNoGIL(tstate); +} + + +/* Mechanism whereby asynchronously executing callbacks (e.g. UNIX + signal handlers or Mac I/O completion routines) can schedule calls + to a function to be called synchronously. + The synchronous function is called with one void* argument. + It should return 0 for success or -1 for failure -- failure should + be accompanied by an exception. + + If registry succeeds, the registry function returns 0; if it fails + (e.g. due to too many pending calls) it returns -1 (without setting + an exception condition). + + Note that because registry may occur from within signal handlers, + or other asynchronous events, calling malloc() is unsafe! + + Any thread can schedule pending calls, but only the main thread + will execute them. + There is no facility to schedule calls to a particular thread, but + that should be easy to change, should that ever be required. In + that case, the static variables here should go into the python + threadstate. +*/ + +void +_PyEval_SignalReceived(PyInterpreterState *interp) +{ +#ifdef MS_WINDOWS + // bpo-42296: On Windows, _PyEval_SignalReceived() is called from a signal + // handler which can run in a thread different than the Python thread, in + // which case _Py_ThreadCanHandleSignals() is wrong. Ignore + // _Py_ThreadCanHandleSignals() and always set eval_breaker to 1. + // + // The next eval_frame_handle_pending() call will call + // _Py_ThreadCanHandleSignals() to recompute eval_breaker. + int force = 1; +#else + int force = 0; +#endif + /* bpo-30703: Function called when the C signal handler of Python gets a + signal. We cannot queue a callback using _PyEval_AddPendingCall() since + that function is not async-signal-safe. */ + SIGNAL_PENDING_SIGNALS(interp, force); +} + +/* Push one item onto the queue while holding the lock. */ +static int +_push_pending_call(struct _pending_calls *pending, + int (*func)(void *), void *arg) +{ + int i = pending->last; + int j = (i + 1) % NPENDINGCALLS; + if (j == pending->first) { + return -1; /* Queue full */ + } + pending->calls[i].func = func; + pending->calls[i].arg = arg; + pending->last = j; + return 0; +} + +static int +_next_pending_call(struct _pending_calls *pending, + int (**func)(void *), void **arg) +{ + int i = pending->first; + if (i == pending->last) { + /* Queue empty */ + assert(pending->calls[i].func == NULL); + return -1; + } + *func = pending->calls[i].func; + *arg = pending->calls[i].arg; + return i; +} + +/* Pop one item off the queue while holding the lock. */ +static void +_pop_pending_call(struct _pending_calls *pending, + int (**func)(void *), void **arg) +{ + int i = _next_pending_call(pending, func, arg); + if (i >= 0) { + pending->calls[i] = (struct _pending_call){0}; + pending->first = (i + 1) % NPENDINGCALLS; + } +} + +/* This implementation is thread-safe. It allows + scheduling to be made from any thread, and even from an executing + callback. + */ + +int +_PyEval_AddPendingCall(PyInterpreterState *interp, + int (*func)(void *), void *arg, + int mainthreadonly) +{ + assert(!mainthreadonly || _Py_IsMainInterpreter(interp)); + struct _pending_calls *pending = &interp->ceval.pending; + if (mainthreadonly) { + /* The main thread only exists in the main interpreter. */ + assert(_Py_IsMainInterpreter(interp)); + pending = &_PyRuntime.ceval.pending_mainthread; + } + /* Ensure that _PyEval_InitState() was called + and that _PyEval_FiniState() is not called yet. */ + assert(pending->lock != NULL); + + PyThread_acquire_lock(pending->lock, WAIT_LOCK); + int result = _push_pending_call(pending, func, arg); + PyThread_release_lock(pending->lock); + + /* signal main loop */ + SIGNAL_PENDING_CALLS(pending, interp); + return result; +} + +int +Py_AddPendingCall(int (*func)(void *), void *arg) +{ + /* Legacy users of this API will continue to target the main thread + (of the main interpreter). */ + PyInterpreterState *interp = _PyInterpreterState_Main(); + return _PyEval_AddPendingCall(interp, func, arg, 1); +} + +static int +handle_signals(PyThreadState *tstate) +{ + assert(_PyThreadState_CheckConsistency(tstate)); + if (!_Py_ThreadCanHandleSignals(tstate->interp)) { + return 0; + } + + UNSIGNAL_PENDING_SIGNALS(tstate->interp); + if (_PyErr_CheckSignalsTstate(tstate) < 0) { + /* On failure, re-schedule a call to handle_signals(). */ + SIGNAL_PENDING_SIGNALS(tstate->interp, 0); + return -1; + } + return 0; +} + +static inline int +maybe_has_pending_calls(PyInterpreterState *interp) +{ + struct _pending_calls *pending = &interp->ceval.pending; + if (_Py_atomic_load_relaxed_int32(&pending->calls_to_do)) { + return 1; + } + if (!_Py_IsMainThread() || !_Py_IsMainInterpreter(interp)) { + return 0; + } + pending = &_PyRuntime.ceval.pending_mainthread; + return _Py_atomic_load_relaxed_int32(&pending->calls_to_do); +} + +static int +_make_pending_calls(struct _pending_calls *pending) +{ + /* perform a bounded number of calls, in case of recursion */ + for (int i=0; ilock, WAIT_LOCK); + _pop_pending_call(pending, &func, &arg); + PyThread_release_lock(pending->lock); + + /* having released the lock, perform the callback */ + if (func == NULL) { + break; + } + if (func(arg) != 0) { + return -1; + } + } + return 0; +} + +static int +make_pending_calls(PyInterpreterState *interp) +{ + struct _pending_calls *pending = &interp->ceval.pending; + struct _pending_calls *pending_main = &_PyRuntime.ceval.pending_mainthread; + + /* Only one thread (per interpreter) may run the pending calls + at once. In the same way, we don't do recursive pending calls. */ + PyThread_acquire_lock(pending->lock, WAIT_LOCK); + if (pending->busy) { + /* A pending call was added after another thread was already + handling the pending calls (and had already "unsignaled"). + Once that thread is done, it may have taken care of all the + pending calls, or there might be some still waiting. + Regardless, this interpreter's pending calls will stay + "signaled" until that first thread has finished. At that + point the next thread to trip the eval breaker will take + care of any remaining pending calls. Until then, though, + all the interpreter's threads will be tripping the eval + breaker every time it's checked. */ + PyThread_release_lock(pending->lock); + return 0; + } + pending->busy = 1; + PyThread_release_lock(pending->lock); + + /* unsignal before starting to call callbacks, so that any callback + added in-between re-signals */ + UNSIGNAL_PENDING_CALLS(interp); + + if (_make_pending_calls(pending) != 0) { + pending->busy = 0; + /* There might not be more calls to make, but we play it safe. */ + SIGNAL_PENDING_CALLS(pending, interp); + return -1; + } + + if (_Py_IsMainThread() && _Py_IsMainInterpreter(interp)) { + if (_make_pending_calls(pending_main) != 0) { + pending->busy = 0; + /* There might not be more calls to make, but we play it safe. */ + SIGNAL_PENDING_CALLS(pending_main, interp); + return -1; + } + } + + pending->busy = 0; + return 0; +} + +void +_Py_FinishPendingCalls(PyThreadState *tstate) +{ + assert(PyGILState_Check()); + assert(_PyThreadState_CheckConsistency(tstate)); + + if (make_pending_calls(tstate->interp) < 0) { + PyObject *exc = _PyErr_GetRaisedException(tstate); + PyErr_BadInternalCall(); + _PyErr_ChainExceptions1(exc); + _PyErr_Print(tstate); + } +} + +int +_PyEval_MakePendingCalls(PyThreadState *tstate) +{ + int res; + + if (_Py_IsMainThread() && _Py_IsMainInterpreter(tstate->interp)) { + /* Python signal handler doesn't really queue a callback: + it only signals that a signal was received, + see _PyEval_SignalReceived(). */ + res = handle_signals(tstate); + if (res != 0) { + return res; + } + } + + res = make_pending_calls(tstate->interp); + if (res != 0) { + return res; + } + + return 0; +} + +/* Py_MakePendingCalls() is a simple wrapper for the sake + of backward-compatibility. */ +int +Py_MakePendingCalls(void) +{ + assert(PyGILState_Check()); + + PyThreadState *tstate = _PyThreadState_GET(); + assert(_PyThreadState_CheckConsistency(tstate)); + + /* Only execute pending calls on the main thread. */ + if (!_Py_IsMainThread() || !_Py_IsMainInterpreter(tstate->interp)) { + return 0; + } + return _PyEval_MakePendingCalls(tstate); +} + +void +_PyEval_InitState(PyInterpreterState *interp, PyThread_type_lock pending_lock) +{ + _gil_initialize(&interp->_gil); + + struct _pending_calls *pending = &interp->ceval.pending; + assert(pending->lock == NULL); + pending->lock = pending_lock; +} + +void +_PyEval_FiniState(struct _ceval_state *ceval) +{ + struct _pending_calls *pending = &ceval->pending; + if (pending->lock != NULL) { + PyThread_free_lock(pending->lock); + pending->lock = NULL; + } +} + +/* Handle signals, pending calls, GIL drop request + and asynchronous exception */ +int +_Py_HandlePending(PyThreadState *tstate) +{ + _PyRuntimeState * const runtime = &_PyRuntime; + struct _ceval_runtime_state *ceval = &runtime->ceval; + struct _ceval_state *interp_ceval_state = &tstate->interp->ceval; + + /* Pending signals */ + if (_Py_atomic_load_relaxed_int32(&ceval->signals_pending)) { + if (handle_signals(tstate) != 0) { + return -1; + } + } + + /* Pending calls */ + if (maybe_has_pending_calls(tstate->interp)) { + if (make_pending_calls(tstate->interp) != 0) { + return -1; + } + } + + /* GC scheduled to run */ + if (_Py_atomic_load_relaxed_int32(&interp_ceval_state->gc_scheduled)) { + _Py_atomic_store_relaxed(&interp_ceval_state->gc_scheduled, 0); + COMPUTE_EVAL_BREAKER(tstate->interp, ceval, interp_ceval_state); + _Py_RunGC(tstate); + } + + /* GIL drop request */ + if (_Py_atomic_load_relaxed_int32(&interp_ceval_state->gil_drop_request)) { + /* Give another thread a chance */ + if (_PyThreadState_SwapNoGIL(NULL) != tstate) { + Py_FatalError("tstate mix-up"); + } + drop_gil(interp_ceval_state, tstate); + + /* Other threads may run now */ + + take_gil(tstate); + + if (_PyThreadState_SwapNoGIL(tstate) != NULL) { + Py_FatalError("orphan tstate"); + } + } + + /* Check for asynchronous exception. */ + if (tstate->async_exc != NULL) { + PyObject *exc = tstate->async_exc; + tstate->async_exc = NULL; + UNSIGNAL_ASYNC_EXC(tstate->interp); + _PyErr_SetNone(tstate, exc); + Py_DECREF(exc); + return -1; + } + + + // It is possible that some of the conditions that trigger the eval breaker + // are called in a different thread than the Python thread. An example of + // this is bpo-42296: On Windows, _PyEval_SignalReceived() can be called in + // a different thread than the Python thread, in which case + // _Py_ThreadCanHandleSignals() is wrong. Recompute eval_breaker in the + // current Python thread with the correct _Py_ThreadCanHandleSignals() + // value. It prevents to interrupt the eval loop at every instruction if + // the current Python thread cannot handle signals (if + // _Py_ThreadCanHandleSignals() is false). + COMPUTE_EVAL_BREAKER(tstate->interp, ceval, interp_ceval_state); + + return 0; +} + diff --git a/contrib/tools/python3/src/Python/ceval_gil.h b/contrib/tools/python3/src/Python/ceval_gil.h deleted file mode 100644 index 94e2df03e0e..00000000000 --- a/contrib/tools/python3/src/Python/ceval_gil.h +++ /dev/null @@ -1,325 +0,0 @@ -/* - * Implementation of the Global Interpreter Lock (GIL). - */ - -#include -#include - -#include "pycore_atomic.h" - - -/* - Notes about the implementation: - - - The GIL is just a boolean variable (locked) whose access is protected - by a mutex (gil_mutex), and whose changes are signalled by a condition - variable (gil_cond). gil_mutex is taken for short periods of time, - and therefore mostly uncontended. - - - In the GIL-holding thread, the main loop (PyEval_EvalFrameEx) must be - able to release the GIL on demand by another thread. A volatile boolean - variable (gil_drop_request) is used for that purpose, which is checked - at every turn of the eval loop. That variable is set after a wait of - `interval` microseconds on `gil_cond` has timed out. - - [Actually, another volatile boolean variable (eval_breaker) is used - which ORs several conditions into one. Volatile booleans are - sufficient as inter-thread signalling means since Python is run - on cache-coherent architectures only.] - - - A thread wanting to take the GIL will first let pass a given amount of - time (`interval` microseconds) before setting gil_drop_request. This - encourages a defined switching period, but doesn't enforce it since - opcodes can take an arbitrary time to execute. - - The `interval` value is available for the user to read and modify - using the Python API `sys.{get,set}switchinterval()`. - - - When a thread releases the GIL and gil_drop_request is set, that thread - ensures that another GIL-awaiting thread gets scheduled. - It does so by waiting on a condition variable (switch_cond) until - the value of last_holder is changed to something else than its - own thread state pointer, indicating that another thread was able to - take the GIL. - - This is meant to prohibit the latency-adverse behaviour on multi-core - machines where one thread would speculatively release the GIL, but still - run and end up being the first to re-acquire it, making the "timeslices" - much longer than expected. - (Note: this mechanism is enabled with FORCE_SWITCHING above) -*/ - -#include "condvar.h" - -#define MUTEX_INIT(mut) \ - if (PyMUTEX_INIT(&(mut))) { \ - Py_FatalError("PyMUTEX_INIT(" #mut ") failed"); }; -#define MUTEX_FINI(mut) \ - if (PyMUTEX_FINI(&(mut))) { \ - Py_FatalError("PyMUTEX_FINI(" #mut ") failed"); }; -#define MUTEX_LOCK(mut) \ - if (PyMUTEX_LOCK(&(mut))) { \ - Py_FatalError("PyMUTEX_LOCK(" #mut ") failed"); }; -#define MUTEX_UNLOCK(mut) \ - if (PyMUTEX_UNLOCK(&(mut))) { \ - Py_FatalError("PyMUTEX_UNLOCK(" #mut ") failed"); }; - -#define COND_INIT(cond) \ - if (PyCOND_INIT(&(cond))) { \ - Py_FatalError("PyCOND_INIT(" #cond ") failed"); }; -#define COND_FINI(cond) \ - if (PyCOND_FINI(&(cond))) { \ - Py_FatalError("PyCOND_FINI(" #cond ") failed"); }; -#define COND_SIGNAL(cond) \ - if (PyCOND_SIGNAL(&(cond))) { \ - Py_FatalError("PyCOND_SIGNAL(" #cond ") failed"); }; -#define COND_WAIT(cond, mut) \ - if (PyCOND_WAIT(&(cond), &(mut))) { \ - Py_FatalError("PyCOND_WAIT(" #cond ") failed"); }; -#define COND_TIMED_WAIT(cond, mut, microseconds, timeout_result) \ - { \ - int r = PyCOND_TIMEDWAIT(&(cond), &(mut), (microseconds)); \ - if (r < 0) \ - Py_FatalError("PyCOND_WAIT(" #cond ") failed"); \ - if (r) /* 1 == timeout, 2 == impl. can't say, so assume timeout */ \ - timeout_result = 1; \ - else \ - timeout_result = 0; \ - } \ - - -#define DEFAULT_INTERVAL 5000 - -static void _gil_initialize(struct _gil_runtime_state *gil) -{ - _Py_atomic_int uninitialized = {-1}; - gil->locked = uninitialized; - gil->interval = DEFAULT_INTERVAL; -} - -static int gil_created(struct _gil_runtime_state *gil) -{ - return (_Py_atomic_load_explicit(&gil->locked, _Py_memory_order_acquire) >= 0); -} - -static void create_gil(struct _gil_runtime_state *gil) -{ - MUTEX_INIT(gil->mutex); -#ifdef FORCE_SWITCHING - MUTEX_INIT(gil->switch_mutex); -#endif - COND_INIT(gil->cond); -#ifdef FORCE_SWITCHING - COND_INIT(gil->switch_cond); -#endif - _Py_atomic_store_relaxed(&gil->last_holder, 0); - _Py_ANNOTATE_RWLOCK_CREATE(&gil->locked); - _Py_atomic_store_explicit(&gil->locked, 0, _Py_memory_order_release); -} - -static void destroy_gil(struct _gil_runtime_state *gil) -{ - /* some pthread-like implementations tie the mutex to the cond - * and must have the cond destroyed first. - */ - COND_FINI(gil->cond); - MUTEX_FINI(gil->mutex); -#ifdef FORCE_SWITCHING - COND_FINI(gil->switch_cond); - MUTEX_FINI(gil->switch_mutex); -#endif - _Py_atomic_store_explicit(&gil->locked, -1, - _Py_memory_order_release); - _Py_ANNOTATE_RWLOCK_DESTROY(&gil->locked); -} - -#ifdef HAVE_FORK -static void recreate_gil(struct _gil_runtime_state *gil) -{ - _Py_ANNOTATE_RWLOCK_DESTROY(&gil->locked); - /* XXX should we destroy the old OS resources here? */ - create_gil(gil); -} -#endif - -static void -drop_gil(struct _ceval_runtime_state *ceval, struct _ceval_state *ceval2, - PyThreadState *tstate) -{ - struct _gil_runtime_state *gil = &ceval->gil; - if (!_Py_atomic_load_relaxed(&gil->locked)) { - Py_FatalError("drop_gil: GIL is not locked"); - } - - /* tstate is allowed to be NULL (early interpreter init) */ - if (tstate != NULL) { - /* Sub-interpreter support: threads might have been switched - under our feet using PyThreadState_Swap(). Fix the GIL last - holder variable so that our heuristics work. */ - _Py_atomic_store_relaxed(&gil->last_holder, (uintptr_t)tstate); - } - - MUTEX_LOCK(gil->mutex); - _Py_ANNOTATE_RWLOCK_RELEASED(&gil->locked, /*is_write=*/1); - _Py_atomic_store_relaxed(&gil->locked, 0); - COND_SIGNAL(gil->cond); - MUTEX_UNLOCK(gil->mutex); - -#ifdef FORCE_SWITCHING - if (_Py_atomic_load_relaxed(&ceval2->gil_drop_request) && tstate != NULL) { - MUTEX_LOCK(gil->switch_mutex); - /* Not switched yet => wait */ - if (((PyThreadState*)_Py_atomic_load_relaxed(&gil->last_holder)) == tstate) - { - assert(_PyThreadState_CheckConsistency(tstate)); - RESET_GIL_DROP_REQUEST(tstate->interp); - /* NOTE: if COND_WAIT does not atomically start waiting when - releasing the mutex, another thread can run through, take - the GIL and drop it again, and reset the condition - before we even had a chance to wait for it. */ - COND_WAIT(gil->switch_cond, gil->switch_mutex); - } - MUTEX_UNLOCK(gil->switch_mutex); - } -#endif -} - - -/* Take the GIL. - - The function saves errno at entry and restores its value at exit. - - tstate must be non-NULL. */ -static void -take_gil(PyThreadState *tstate) -{ - int err = errno; - - assert(tstate != NULL); - - if (_PyThreadState_MustExit(tstate)) { - /* bpo-39877: If Py_Finalize() has been called and tstate is not the - thread which called Py_Finalize(), exit immediately the thread. - - This code path can be reached by a daemon thread after Py_Finalize() - completes. In this case, tstate is a dangling pointer: points to - PyThreadState freed memory. */ - PyThread_exit_thread(); - } - - assert(_PyThreadState_CheckConsistency(tstate)); - PyInterpreterState *interp = tstate->interp; - struct _ceval_runtime_state *ceval = &interp->runtime->ceval; - struct _ceval_state *ceval2 = &interp->ceval; - struct _gil_runtime_state *gil = &ceval->gil; - - /* Check that _PyEval_InitThreads() was called to create the lock */ - assert(gil_created(gil)); - - MUTEX_LOCK(gil->mutex); - - if (!_Py_atomic_load_relaxed(&gil->locked)) { - goto _ready; - } - - int drop_requested = 0; - while (_Py_atomic_load_relaxed(&gil->locked)) { - unsigned long saved_switchnum = gil->switch_number; - - unsigned long interval = (gil->interval >= 1 ? gil->interval : 1); - int timed_out = 0; - COND_TIMED_WAIT(gil->cond, gil->mutex, interval, timed_out); - - /* If we timed out and no switch occurred in the meantime, it is time - to ask the GIL-holding thread to drop it. */ - if (timed_out && - _Py_atomic_load_relaxed(&gil->locked) && - gil->switch_number == saved_switchnum) - { - if (_PyThreadState_MustExit(tstate)) { - MUTEX_UNLOCK(gil->mutex); - // gh-96387: If the loop requested a drop request in a previous - // iteration, reset the request. Otherwise, drop_gil() can - // block forever waiting for the thread which exited. Drop - // requests made by other threads are also reset: these threads - // may have to request again a drop request (iterate one more - // time). - if (drop_requested) { - RESET_GIL_DROP_REQUEST(interp); - } - PyThread_exit_thread(); - } - assert(_PyThreadState_CheckConsistency(tstate)); - - SET_GIL_DROP_REQUEST(interp); - drop_requested = 1; - } - } - -_ready: -#ifdef FORCE_SWITCHING - /* This mutex must be taken before modifying gil->last_holder: - see drop_gil(). */ - MUTEX_LOCK(gil->switch_mutex); -#endif - /* We now hold the GIL */ - _Py_atomic_store_relaxed(&gil->locked, 1); - _Py_ANNOTATE_RWLOCK_ACQUIRED(&gil->locked, /*is_write=*/1); - - if (tstate != (PyThreadState*)_Py_atomic_load_relaxed(&gil->last_holder)) { - _Py_atomic_store_relaxed(&gil->last_holder, (uintptr_t)tstate); - ++gil->switch_number; - } - -#ifdef FORCE_SWITCHING - COND_SIGNAL(gil->switch_cond); - MUTEX_UNLOCK(gil->switch_mutex); -#endif - - if (_PyThreadState_MustExit(tstate)) { - /* bpo-36475: If Py_Finalize() has been called and tstate is not - the thread which called Py_Finalize(), exit immediately the - thread. - - This code path can be reached by a daemon thread which was waiting - in take_gil() while the main thread called - wait_for_thread_shutdown() from Py_Finalize(). */ - MUTEX_UNLOCK(gil->mutex); - drop_gil(ceval, ceval2, tstate); - PyThread_exit_thread(); - } - assert(_PyThreadState_CheckConsistency(tstate)); - - if (_Py_atomic_load_relaxed(&ceval2->gil_drop_request)) { - RESET_GIL_DROP_REQUEST(interp); - } - else { - /* bpo-40010: eval_breaker should be recomputed to be set to 1 if there - is a pending signal: signal received by another thread which cannot - handle signals. - - Note: RESET_GIL_DROP_REQUEST() calls COMPUTE_EVAL_BREAKER(). */ - COMPUTE_EVAL_BREAKER(interp, ceval, ceval2); - } - - /* Don't access tstate if the thread must exit */ - if (tstate->async_exc != NULL) { - _PyEval_SignalAsyncExc(tstate->interp); - } - - MUTEX_UNLOCK(gil->mutex); - - errno = err; -} - -void _PyEval_SetSwitchInterval(unsigned long microseconds) -{ - struct _gil_runtime_state *gil = &_PyRuntime.ceval.gil; - gil->interval = microseconds; -} - -unsigned long _PyEval_GetSwitchInterval() -{ - struct _gil_runtime_state *gil = &_PyRuntime.ceval.gil; - return gil->interval; -} diff --git a/contrib/tools/python3/src/Python/ceval_macros.h b/contrib/tools/python3/src/Python/ceval_macros.h new file mode 100644 index 00000000000..fccf9088cbd --- /dev/null +++ b/contrib/tools/python3/src/Python/ceval_macros.h @@ -0,0 +1,344 @@ +// Macros needed by ceval.c and bytecodes.c + +/* Computed GOTOs, or + the-optimization-commonly-but-improperly-known-as-"threaded code" + using gcc's labels-as-values extension + (http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html). + + The traditional bytecode evaluation loop uses a "switch" statement, which + decent compilers will optimize as a single indirect branch instruction + combined with a lookup table of jump addresses. However, since the + indirect jump instruction is shared by all opcodes, the CPU will have a + hard time making the right prediction for where to jump next (actually, + it will be always wrong except in the uncommon case of a sequence of + several identical opcodes). + + "Threaded code" in contrast, uses an explicit jump table and an explicit + indirect jump instruction at the end of each opcode. Since the jump + instruction is at a different address for each opcode, the CPU will make a + separate prediction for each of these instructions, which is equivalent to + predicting the second opcode of each opcode pair. These predictions have + a much better chance to turn out valid, especially in small bytecode loops. + + A mispredicted branch on a modern CPU flushes the whole pipeline and + can cost several CPU cycles (depending on the pipeline depth), + and potentially many more instructions (depending on the pipeline width). + A correctly predicted branch, however, is nearly free. + + At the time of this writing, the "threaded code" version is up to 15-20% + faster than the normal "switch" version, depending on the compiler and the + CPU architecture. + + NOTE: care must be taken that the compiler doesn't try to "optimize" the + indirect jumps by sharing them between all opcodes. Such optimizations + can be disabled on gcc by using the -fno-gcse flag (or possibly + -fno-crossjumping). +*/ + +/* Use macros rather than inline functions, to make it as clear as possible + * to the C compiler that the tracing check is a simple test then branch. + * We want to be sure that the compiler knows this before it generates + * the CFG. + */ + +#ifdef WITH_DTRACE +#define OR_DTRACE_LINE | (PyDTrace_LINE_ENABLED() ? 255 : 0) +#else +#define OR_DTRACE_LINE +#endif + +#ifdef HAVE_COMPUTED_GOTOS + #ifndef USE_COMPUTED_GOTOS + #define USE_COMPUTED_GOTOS 1 + #endif +#else + #if defined(USE_COMPUTED_GOTOS) && USE_COMPUTED_GOTOS + #error "Computed gotos are not supported on this compiler." + #endif + #undef USE_COMPUTED_GOTOS + #define USE_COMPUTED_GOTOS 0 +#endif + +#ifdef Py_STATS +#define INSTRUCTION_START(op) \ + do { \ + frame->prev_instr = next_instr++; \ + OPCODE_EXE_INC(op); \ + if (_py_stats) _py_stats->opcode_stats[lastopcode].pair_count[op]++; \ + lastopcode = op; \ + } while (0) +#else +#define INSTRUCTION_START(op) (frame->prev_instr = next_instr++) +#endif + +#if USE_COMPUTED_GOTOS +# define TARGET(op) TARGET_##op: INSTRUCTION_START(op); +# define DISPATCH_GOTO() goto *opcode_targets[opcode] +#else +# define TARGET(op) case op: TARGET_##op: INSTRUCTION_START(op); +# define DISPATCH_GOTO() goto dispatch_opcode +#endif + +/* PRE_DISPATCH_GOTO() does lltrace if enabled. Normally a no-op */ +#ifdef LLTRACE +#define PRE_DISPATCH_GOTO() if (lltrace) { \ + lltrace_instruction(frame, stack_pointer, next_instr); } +#else +#define PRE_DISPATCH_GOTO() ((void)0) +#endif + + +/* Do interpreter dispatch accounting for tracing and instrumentation */ +#define DISPATCH() \ + { \ + NEXTOPARG(); \ + PRE_DISPATCH_GOTO(); \ + DISPATCH_GOTO(); \ + } + +#define DISPATCH_SAME_OPARG() \ + { \ + opcode = next_instr->op.code; \ + PRE_DISPATCH_GOTO(); \ + DISPATCH_GOTO(); \ + } + +#define DISPATCH_INLINED(NEW_FRAME) \ + do { \ + assert(tstate->interp->eval_frame == NULL); \ + _PyFrame_SetStackPointer(frame, stack_pointer); \ + frame->prev_instr = next_instr - 1; \ + (NEW_FRAME)->previous = frame; \ + frame = cframe.current_frame = (NEW_FRAME); \ + CALL_STAT_INC(inlined_py_calls); \ + goto start_frame; \ + } while (0) + +#define CHECK_EVAL_BREAKER() \ + _Py_CHECK_EMSCRIPTEN_SIGNALS_PERIODICALLY(); \ + if (_Py_atomic_load_relaxed_int32(&tstate->interp->ceval.eval_breaker)) { \ + goto handle_eval_breaker; \ + } + + +/* Tuple access macros */ + +#ifndef Py_DEBUG +#define GETITEM(v, i) PyTuple_GET_ITEM((v), (i)) +#else +static inline PyObject * +GETITEM(PyObject *v, Py_ssize_t i) { + assert(PyTuple_Check(v)); + assert(i >= 0); + assert(i < PyTuple_GET_SIZE(v)); + return PyTuple_GET_ITEM(v, i); +} +#endif + +/* Code access macros */ + +/* The integer overflow is checked by an assertion below. */ +#define INSTR_OFFSET() ((int)(next_instr - _PyCode_CODE(frame->f_code))) +#define NEXTOPARG() do { \ + _Py_CODEUNIT word = *next_instr; \ + opcode = word.op.code; \ + oparg = word.op.arg; \ + } while (0) +#define JUMPTO(x) (next_instr = _PyCode_CODE(frame->f_code) + (x)) +#define JUMPBY(x) (next_instr += (x)) + +/* OpCode prediction macros + Some opcodes tend to come in pairs thus making it possible to + predict the second code when the first is run. For example, + COMPARE_OP is often followed by POP_JUMP_IF_FALSE or POP_JUMP_IF_TRUE. + + Verifying the prediction costs a single high-speed test of a register + variable against a constant. If the pairing was good, then the + processor's own internal branch predication has a high likelihood of + success, resulting in a nearly zero-overhead transition to the + next opcode. A successful prediction saves a trip through the eval-loop + including its unpredictable switch-case branch. Combined with the + processor's internal branch prediction, a successful PREDICT has the + effect of making the two opcodes run as if they were a single new opcode + with the bodies combined. + + If collecting opcode statistics, your choices are to either keep the + predictions turned-on and interpret the results as if some opcodes + had been combined or turn-off predictions so that the opcode frequency + counter updates for both opcodes. + + Opcode prediction is disabled with threaded code, since the latter allows + the CPU to record separate branch prediction information for each + opcode. + +*/ + +#define PREDICT_ID(op) PRED_##op + +#if USE_COMPUTED_GOTOS +#define PREDICT(op) if (0) goto PREDICT_ID(op) +#else +#define PREDICT(next_op) \ + do { \ + _Py_CODEUNIT word = *next_instr; \ + opcode = word.op.code; \ + if (opcode == next_op) { \ + oparg = word.op.arg; \ + INSTRUCTION_START(next_op); \ + goto PREDICT_ID(next_op); \ + } \ + } while(0) +#endif +#define PREDICTED(op) PREDICT_ID(op): + + +/* Stack manipulation macros */ + +/* The stack can grow at most MAXINT deep, as co_nlocals and + co_stacksize are ints. */ +#define STACK_LEVEL() ((int)(stack_pointer - _PyFrame_Stackbase(frame))) +#define STACK_SIZE() (frame->f_code->co_stacksize) +#define EMPTY() (STACK_LEVEL() == 0) +#define TOP() (stack_pointer[-1]) +#define SECOND() (stack_pointer[-2]) +#define THIRD() (stack_pointer[-3]) +#define FOURTH() (stack_pointer[-4]) +#define PEEK(n) (stack_pointer[-(n)]) +#define POKE(n, v) (stack_pointer[-(n)] = (v)) +#define SET_TOP(v) (stack_pointer[-1] = (v)) +#define SET_SECOND(v) (stack_pointer[-2] = (v)) +#define BASIC_STACKADJ(n) (stack_pointer += n) +#define BASIC_PUSH(v) (*stack_pointer++ = (v)) +#define BASIC_POP() (*--stack_pointer) + +#ifdef Py_DEBUG +#define PUSH(v) do { \ + BASIC_PUSH(v); \ + assert(STACK_LEVEL() <= STACK_SIZE()); \ + } while (0) +#define POP() (assert(STACK_LEVEL() > 0), BASIC_POP()) +#define STACK_GROW(n) do { \ + assert(n >= 0); \ + BASIC_STACKADJ(n); \ + assert(STACK_LEVEL() <= STACK_SIZE()); \ + } while (0) +#define STACK_SHRINK(n) do { \ + assert(n >= 0); \ + assert(STACK_LEVEL() >= n); \ + BASIC_STACKADJ(-(n)); \ + } while (0) +#else +#define PUSH(v) BASIC_PUSH(v) +#define POP() BASIC_POP() +#define STACK_GROW(n) BASIC_STACKADJ(n) +#define STACK_SHRINK(n) BASIC_STACKADJ(-(n)) +#endif + +/* Local variable macros */ + +#define GETLOCAL(i) (frame->localsplus[i]) + +/* The SETLOCAL() macro must not DECREF the local variable in-place and + then store the new value; it must copy the old value to a temporary + value, then store the new value, and then DECREF the temporary value. + This is because it is possible that during the DECREF the frame is + accessed by other code (e.g. a __del__ method or gc.collect()) and the + variable would be pointing to already-freed memory. */ +#define SETLOCAL(i, value) do { PyObject *tmp = GETLOCAL(i); \ + GETLOCAL(i) = value; \ + Py_XDECREF(tmp); } while (0) + +#define GO_TO_INSTRUCTION(op) goto PREDICT_ID(op) + +#ifdef Py_STATS +#define UPDATE_MISS_STATS(INSTNAME) \ + do { \ + STAT_INC(opcode, miss); \ + STAT_INC((INSTNAME), miss); \ + /* The counter is always the first cache entry: */ \ + if (ADAPTIVE_COUNTER_IS_ZERO(next_instr->cache)) { \ + STAT_INC((INSTNAME), deopt); \ + } \ + else { \ + /* This is about to be (incorrectly) incremented: */ \ + STAT_DEC((INSTNAME), deferred); \ + } \ + } while (0) +#else +#define UPDATE_MISS_STATS(INSTNAME) ((void)0) +#endif + +#define DEOPT_IF(COND, INSTNAME) \ + if ((COND)) { \ + /* This is only a single jump on release builds! */ \ + UPDATE_MISS_STATS((INSTNAME)); \ + assert(_PyOpcode_Deopt[opcode] == (INSTNAME)); \ + GO_TO_INSTRUCTION(INSTNAME); \ + } + + +#define GLOBALS() frame->f_globals +#define BUILTINS() frame->f_builtins +#define LOCALS() frame->f_locals + +#define DTRACE_FUNCTION_ENTRY() \ + if (PyDTrace_FUNCTION_ENTRY_ENABLED()) { \ + dtrace_function_entry(frame); \ + } + +#define ADAPTIVE_COUNTER_IS_ZERO(COUNTER) \ + (((COUNTER) >> ADAPTIVE_BACKOFF_BITS) == 0) + +#define ADAPTIVE_COUNTER_IS_MAX(COUNTER) \ + (((COUNTER) >> ADAPTIVE_BACKOFF_BITS) == ((1 << MAX_BACKOFF_VALUE) - 1)) + +#define DECREMENT_ADAPTIVE_COUNTER(COUNTER) \ + do { \ + assert(!ADAPTIVE_COUNTER_IS_ZERO((COUNTER))); \ + (COUNTER) -= (1 << ADAPTIVE_BACKOFF_BITS); \ + } while (0); + +#define INCREMENT_ADAPTIVE_COUNTER(COUNTER) \ + do { \ + assert(!ADAPTIVE_COUNTER_IS_MAX((COUNTER))); \ + (COUNTER) += (1 << ADAPTIVE_BACKOFF_BITS); \ + } while (0); + +#define NAME_ERROR_MSG "name '%.200s' is not defined" + +#define KWNAMES_LEN() \ + (kwnames == NULL ? 0 : ((int)PyTuple_GET_SIZE(kwnames))) + +#define DECREF_INPUTS_AND_REUSE_FLOAT(left, right, dval, result) \ +do { \ + if (Py_REFCNT(left) == 1) { \ + ((PyFloatObject *)left)->ob_fval = (dval); \ + _Py_DECREF_SPECIALIZED(right, _PyFloat_ExactDealloc);\ + result = (left); \ + } \ + else if (Py_REFCNT(right) == 1) {\ + ((PyFloatObject *)right)->ob_fval = (dval); \ + _Py_DECREF_NO_DEALLOC(left); \ + result = (right); \ + }\ + else { \ + result = PyFloat_FromDouble(dval); \ + if ((result) == NULL) goto error; \ + _Py_DECREF_NO_DEALLOC(left); \ + _Py_DECREF_NO_DEALLOC(right); \ + } \ +} while (0) + +// If a trace function sets a new f_lineno and +// *then* raises, we use the destination when searching +// for an exception handler, displaying the traceback, and so on +#define INSTRUMENTED_JUMP(src, dest, event) \ +do { \ + _PyFrame_SetStackPointer(frame, stack_pointer); \ + next_instr = _Py_call_instrumentation_jump(tstate, event, frame, src, dest); \ + stack_pointer = _PyFrame_GetStackPointer(frame); \ + if (next_instr == NULL) { \ + next_instr = (dest)+1; \ + goto error; \ + } \ +} while (0); diff --git a/contrib/tools/python3/src/Python/clinic/Python-tokenize.c.h b/contrib/tools/python3/src/Python/clinic/Python-tokenize.c.h index 050b4d49448..28f5075826e 100644 --- a/contrib/tools/python3/src/Python/clinic/Python-tokenize.c.h +++ b/contrib/tools/python3/src/Python/clinic/Python-tokenize.c.h @@ -2,40 +2,82 @@ preserve [clinic start generated code]*/ +#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# include "pycore_gc.h" // PyGC_Head +# include "pycore_runtime.h" // _Py_ID() +#endif + + static PyObject * -tokenizeriter_new_impl(PyTypeObject *type, const char *source); +tokenizeriter_new_impl(PyTypeObject *type, PyObject *readline, + int extra_tokens, const char *encoding); static PyObject * tokenizeriter_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { PyObject *return_value = NULL; - static const char * const _keywords[] = {"source", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "tokenizeriter", 0}; - PyObject *argsbuf[1]; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 2 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(extra_tokens), &_Py_ID(encoding), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + + static const char * const _keywords[] = {"", "extra_tokens", "encoding", NULL}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "tokenizeriter", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE + PyObject *argsbuf[3]; PyObject * const *fastargs; Py_ssize_t nargs = PyTuple_GET_SIZE(args); - const char *source; + Py_ssize_t noptargs = nargs + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - 2; + PyObject *readline; + int extra_tokens; + const char *encoding = NULL; - fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 1, 1, 0, argsbuf); + fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 1, 1, 1, argsbuf); if (!fastargs) { goto exit; } - if (!PyUnicode_Check(fastargs[0])) { - _PyArg_BadArgument("tokenizeriter", "argument 'source'", "str", fastargs[0]); + readline = fastargs[0]; + extra_tokens = PyObject_IsTrue(fastargs[1]); + if (extra_tokens < 0) { + goto exit; + } + if (!noptargs) { + goto skip_optional_kwonly; + } + if (!PyUnicode_Check(fastargs[2])) { + _PyArg_BadArgument("tokenizeriter", "argument 'encoding'", "str", fastargs[2]); goto exit; } - Py_ssize_t source_length; - source = PyUnicode_AsUTF8AndSize(fastargs[0], &source_length); - if (source == NULL) { + Py_ssize_t encoding_length; + encoding = PyUnicode_AsUTF8AndSize(fastargs[2], &encoding_length); + if (encoding == NULL) { goto exit; } - if (strlen(source) != (size_t)source_length) { + if (strlen(encoding) != (size_t)encoding_length) { PyErr_SetString(PyExc_ValueError, "embedded null character"); goto exit; } - return_value = tokenizeriter_new_impl(type, source); +skip_optional_kwonly: + return_value = tokenizeriter_new_impl(type, readline, extra_tokens, encoding); exit: return return_value; } -/*[clinic end generated code: output=dfcd64774e01bfe6 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=48be65a2808bdfa6 input=a9049054013a1b77]*/ diff --git a/contrib/tools/python3/src/Python/clinic/_warnings.c.h b/contrib/tools/python3/src/Python/clinic/_warnings.c.h index aa85c2a0d4d..432e554af85 100644 --- a/contrib/tools/python3/src/Python/clinic/_warnings.c.h +++ b/contrib/tools/python3/src/Python/clinic/_warnings.c.h @@ -2,31 +2,76 @@ preserve [clinic start generated code]*/ +#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# include "pycore_gc.h" // PyGC_Head +# include "pycore_runtime.h" // _Py_ID() +#endif + + PyDoc_STRVAR(warnings_warn__doc__, -"warn($module, /, message, category=None, stacklevel=1, source=None)\n" +"warn($module, /, message, category=None, stacklevel=1, source=None, *,\n" +" skip_file_prefixes=)\n" "--\n" "\n" -"Issue a warning, or maybe ignore it or raise an exception."); +"Issue a warning, or maybe ignore it or raise an exception.\n" +"\n" +" message\n" +" Text of the warning message.\n" +" category\n" +" The Warning category subclass. Defaults to UserWarning.\n" +" stacklevel\n" +" How far up the call stack to make this warning appear. A value of 2 for\n" +" example attributes the warning to the caller of the code calling warn().\n" +" source\n" +" If supplied, the destroyed object which emitted a ResourceWarning\n" +" skip_file_prefixes\n" +" An optional tuple of module filename prefixes indicating frames to skip\n" +" during stacklevel computations for stack frame attribution."); #define WARNINGS_WARN_METHODDEF \ {"warn", _PyCFunction_CAST(warnings_warn), METH_FASTCALL|METH_KEYWORDS, warnings_warn__doc__}, static PyObject * warnings_warn_impl(PyObject *module, PyObject *message, PyObject *category, - Py_ssize_t stacklevel, PyObject *source); + Py_ssize_t stacklevel, PyObject *source, + PyTupleObject *skip_file_prefixes); static PyObject * warnings_warn(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; - static const char * const _keywords[] = {"message", "category", "stacklevel", "source", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "warn", 0}; - PyObject *argsbuf[4]; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 5 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(message), &_Py_ID(category), &_Py_ID(stacklevel), &_Py_ID(source), &_Py_ID(skip_file_prefixes), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + + static const char * const _keywords[] = {"message", "category", "stacklevel", "source", "skip_file_prefixes", NULL}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "warn", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE + PyObject *argsbuf[5]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1; PyObject *message; PyObject *category = Py_None; Py_ssize_t stacklevel = 1; PyObject *source = Py_None; + PyTupleObject *skip_file_prefixes = NULL; args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 4, 0, argsbuf); if (!args) { @@ -59,11 +104,146 @@ warnings_warn(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObjec goto skip_optional_pos; } } - source = args[3]; + if (args[3]) { + source = args[3]; + if (!--noptargs) { + goto skip_optional_pos; + } + } +skip_optional_pos: + if (!noptargs) { + goto skip_optional_kwonly; + } + if (!PyTuple_Check(args[4])) { + _PyArg_BadArgument("warn", "argument 'skip_file_prefixes'", "tuple", args[4]); + goto exit; + } + skip_file_prefixes = (PyTupleObject *)args[4]; +skip_optional_kwonly: + return_value = warnings_warn_impl(module, message, category, stacklevel, source, skip_file_prefixes); + +exit: + return return_value; +} + +PyDoc_STRVAR(warnings_warn_explicit__doc__, +"warn_explicit($module, /, message, category, filename, lineno,\n" +" module=, registry=None,\n" +" module_globals=None, source=None)\n" +"--\n" +"\n" +"Issue a warning, or maybe ignore it or raise an exception."); + +#define WARNINGS_WARN_EXPLICIT_METHODDEF \ + {"warn_explicit", _PyCFunction_CAST(warnings_warn_explicit), METH_FASTCALL|METH_KEYWORDS, warnings_warn_explicit__doc__}, + +static PyObject * +warnings_warn_explicit_impl(PyObject *module, PyObject *message, + PyObject *category, PyObject *filename, + int lineno, PyObject *mod, PyObject *registry, + PyObject *module_globals, PyObject *sourceobj); + +static PyObject * +warnings_warn_explicit(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) +{ + PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 8 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(message), &_Py_ID(category), &_Py_ID(filename), &_Py_ID(lineno), &_Py_ID(module), &_Py_ID(registry), &_Py_ID(module_globals), &_Py_ID(source), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + + static const char * const _keywords[] = {"message", "category", "filename", "lineno", "module", "registry", "module_globals", "source", NULL}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "warn_explicit", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE + PyObject *argsbuf[8]; + Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 4; + PyObject *message; + PyObject *category; + PyObject *filename; + int lineno; + PyObject *mod = NULL; + PyObject *registry = Py_None; + PyObject *module_globals = Py_None; + PyObject *sourceobj = Py_None; + + args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 4, 8, 0, argsbuf); + if (!args) { + goto exit; + } + message = args[0]; + category = args[1]; + if (!PyUnicode_Check(args[2])) { + _PyArg_BadArgument("warn_explicit", "argument 'filename'", "str", args[2]); + goto exit; + } + if (PyUnicode_READY(args[2]) == -1) { + goto exit; + } + filename = args[2]; + lineno = _PyLong_AsInt(args[3]); + if (lineno == -1 && PyErr_Occurred()) { + goto exit; + } + if (!noptargs) { + goto skip_optional_pos; + } + if (args[4]) { + mod = args[4]; + if (!--noptargs) { + goto skip_optional_pos; + } + } + if (args[5]) { + registry = args[5]; + if (!--noptargs) { + goto skip_optional_pos; + } + } + if (args[6]) { + module_globals = args[6]; + if (!--noptargs) { + goto skip_optional_pos; + } + } + sourceobj = args[7]; skip_optional_pos: - return_value = warnings_warn_impl(module, message, category, stacklevel, source); + return_value = warnings_warn_explicit_impl(module, message, category, filename, lineno, mod, registry, module_globals, sourceobj); exit: return return_value; } -/*[clinic end generated code: output=0435c68611fa2fe9 input=a9049054013a1b77]*/ + +PyDoc_STRVAR(warnings_filters_mutated__doc__, +"_filters_mutated($module, /)\n" +"--\n" +"\n"); + +#define WARNINGS_FILTERS_MUTATED_METHODDEF \ + {"_filters_mutated", (PyCFunction)warnings_filters_mutated, METH_NOARGS, warnings_filters_mutated__doc__}, + +static PyObject * +warnings_filters_mutated_impl(PyObject *module); + +static PyObject * +warnings_filters_mutated(PyObject *module, PyObject *Py_UNUSED(ignored)) +{ + return warnings_filters_mutated_impl(module); +} +/*[clinic end generated code: output=20429719d7223bdc input=a9049054013a1b77]*/ diff --git a/contrib/tools/python3/src/Python/clinic/bltinmodule.c.h b/contrib/tools/python3/src/Python/clinic/bltinmodule.c.h index 10cd6c820bc..b77b4a1e4b4 100644 --- a/contrib/tools/python3/src/Python/clinic/bltinmodule.c.h +++ b/contrib/tools/python3/src/Python/clinic/bltinmodule.c.h @@ -2,6 +2,12 @@ preserve [clinic start generated code]*/ +#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# include "pycore_gc.h" // PyGC_Head +# include "pycore_runtime.h" // _Py_ID() +#endif + + PyDoc_STRVAR(builtin___import____doc__, "__import__($module, /, name, globals=None, locals=None, fromlist=(),\n" " level=0)\n" @@ -34,8 +40,31 @@ static PyObject * builtin___import__(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 5 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(name), &_Py_ID(globals), &_Py_ID(locals), &_Py_ID(fromlist), &_Py_ID(level), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"name", "globals", "locals", "fromlist", "level", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "__import__", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "__import__", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[5]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1; PyObject *name; @@ -154,11 +183,14 @@ PyDoc_STRVAR(builtin_format__doc__, "format($module, value, format_spec=\'\', /)\n" "--\n" "\n" -"Return value.__format__(format_spec)\n" +"Return type(value).__format__(value, format_spec)\n" +"\n" +"Many built-in types implement format_spec according to the\n" +"Format Specification Mini-language. See help(\'FORMATTING\').\n" "\n" -"format_spec defaults to the empty string.\n" -"See the Format Specification Mini-Language section of help(\'FORMATTING\') for\n" -"details."); +"If type(value) does not supply a method named __format__\n" +"and format_spec is empty, then str(value) is returned.\n" +"See also help(\'SPECIALMETHODS\')."); #define BUILTIN_FORMAT_METHODDEF \ {"format", _PyCFunction_CAST(builtin_format), METH_FASTCALL, builtin_format__doc__}, @@ -253,8 +285,31 @@ static PyObject * builtin_compile(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 7 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(source), &_Py_ID(filename), &_Py_ID(mode), &_Py_ID(flags), &_Py_ID(dont_inherit), &_Py_ID(optimize), &_Py_ID(_feature_version), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"source", "filename", "mode", "flags", "dont_inherit", "optimize", "_feature_version", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "compile", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "compile", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[7]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 3; PyObject *source; @@ -299,8 +354,8 @@ builtin_compile(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObj } } if (args[4]) { - dont_inherit = _PyLong_AsInt(args[4]); - if (dont_inherit == -1 && PyErr_Occurred()) { + dont_inherit = PyObject_IsTrue(args[4]); + if (dont_inherit < 0) { goto exit; } if (!--noptargs) { @@ -331,6 +386,49 @@ exit: return return_value; } +PyDoc_STRVAR(builtin_dir__doc__, +"dir($module, arg=, /)\n" +"--\n" +"\n" +"Show attributes of an object.\n" +"\n" +"If called without an argument, return the names in the current scope.\n" +"Else, return an alphabetized list of names comprising (some of) the attributes\n" +"of the given object, and of attributes reachable from it.\n" +"If the object supplies a method named __dir__, it will be used; otherwise\n" +"the default dir() logic is used and returns:\n" +" for a module object: the module\'s attributes.\n" +" for a class object: its attributes, and recursively the attributes\n" +" of its bases.\n" +" for any other object: its attributes, its class\'s attributes, and\n" +" recursively the attributes of its class\'s base classes."); + +#define BUILTIN_DIR_METHODDEF \ + {"dir", _PyCFunction_CAST(builtin_dir), METH_FASTCALL, builtin_dir__doc__}, + +static PyObject * +builtin_dir_impl(PyObject *module, PyObject *arg); + +static PyObject * +builtin_dir(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + PyObject *arg = NULL; + + if (!_PyArg_CheckPositional("dir", nargs, 0, 1)) { + goto exit; + } + if (nargs < 1) { + goto skip_optional; + } + arg = args[0]; +skip_optional: + return_value = builtin_dir_impl(module, arg); + +exit: + return return_value; +} + PyDoc_STRVAR(builtin_divmod__doc__, "divmod($module, x, y, /)\n" "--\n" @@ -432,8 +530,31 @@ static PyObject * builtin_exec(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 1 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(closure), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"", "", "", "closure", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "exec", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "exec", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[4]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1; PyObject *source; @@ -468,6 +589,47 @@ exit: return return_value; } +PyDoc_STRVAR(builtin_getattr__doc__, +"getattr($module, object, name, default=, /)\n" +"--\n" +"\n" +"Get a named attribute from an object.\n" +"\n" +"getattr(x, \'y\') is equivalent to x.y\n" +"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."); + +#define BUILTIN_GETATTR_METHODDEF \ + {"getattr", _PyCFunction_CAST(builtin_getattr), METH_FASTCALL, builtin_getattr__doc__}, + +static PyObject * +builtin_getattr_impl(PyObject *module, PyObject *object, PyObject *name, + PyObject *default_value); + +static PyObject * +builtin_getattr(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + PyObject *object; + PyObject *name; + PyObject *default_value = NULL; + + if (!_PyArg_CheckPositional("getattr", nargs, 2, 3)) { + goto exit; + } + object = args[0]; + name = args[1]; + if (nargs < 3) { + goto skip_optional; + } + default_value = args[2]; +skip_optional: + return_value = builtin_getattr_impl(module, object, name, default_value); + +exit: + return return_value; +} + PyDoc_STRVAR(builtin_globals__doc__, "globals($module, /)\n" "--\n" @@ -533,6 +695,44 @@ PyDoc_STRVAR(builtin_id__doc__, #define BUILTIN_ID_METHODDEF \ {"id", (PyCFunction)builtin_id, METH_O, builtin_id__doc__}, +PyDoc_STRVAR(builtin_next__doc__, +"next($module, iterator, default=, /)\n" +"--\n" +"\n" +"Return the next item from the iterator.\n" +"\n" +"If default is given and the iterator is exhausted,\n" +"it is returned instead of raising StopIteration."); + +#define BUILTIN_NEXT_METHODDEF \ + {"next", _PyCFunction_CAST(builtin_next), METH_FASTCALL, builtin_next__doc__}, + +static PyObject * +builtin_next_impl(PyObject *module, PyObject *iterator, + PyObject *default_value); + +static PyObject * +builtin_next(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + PyObject *iterator; + PyObject *default_value = NULL; + + if (!_PyArg_CheckPositional("next", nargs, 1, 2)) { + goto exit; + } + iterator = args[0]; + if (nargs < 2) { + goto skip_optional; + } + default_value = args[1]; +skip_optional: + return_value = builtin_next_impl(module, iterator, default_value); + +exit: + return return_value; +} + PyDoc_STRVAR(builtin_setattr__doc__, "setattr($module, obj, name, value, /)\n" "--\n" @@ -624,6 +824,43 @@ PyDoc_STRVAR(builtin_hex__doc__, #define BUILTIN_HEX_METHODDEF \ {"hex", (PyCFunction)builtin_hex, METH_O, builtin_hex__doc__}, +PyDoc_STRVAR(builtin_iter__doc__, +"iter($module, object, sentinel=, /)\n" +"--\n" +"\n" +"Get an iterator from an object.\n" +"\n" +"In the first form, the argument must supply its own iterator, or be a sequence.\n" +"In the second form, the callable is called until it returns the sentinel."); + +#define BUILTIN_ITER_METHODDEF \ + {"iter", _PyCFunction_CAST(builtin_iter), METH_FASTCALL, builtin_iter__doc__}, + +static PyObject * +builtin_iter_impl(PyObject *module, PyObject *object, PyObject *sentinel); + +static PyObject * +builtin_iter(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + PyObject *object; + PyObject *sentinel = NULL; + + if (!_PyArg_CheckPositional("iter", nargs, 1, 2)) { + goto exit; + } + object = args[0]; + if (nargs < 2) { + goto skip_optional; + } + sentinel = args[1]; +skip_optional: + return_value = builtin_iter_impl(module, object, sentinel); + +exit: + return return_value; +} + PyDoc_STRVAR(builtin_aiter__doc__, "aiter($module, async_iterable, /)\n" "--\n" @@ -743,8 +980,31 @@ static PyObject * builtin_pow(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 3 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(base), &_Py_ID(exp), &_Py_ID(mod), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"base", "exp", "mod", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "pow", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "pow", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[3]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 2; PyObject *base; @@ -794,8 +1054,31 @@ static PyObject * builtin_print(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 4 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(sep), &_Py_ID(end), &_Py_ID(file), &_Py_ID(flush), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"sep", "end", "file", "flush", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "print", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "print", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[5]; Py_ssize_t noptargs = 0 + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; PyObject *__clinic_args = NULL; @@ -910,8 +1193,31 @@ static PyObject * builtin_round(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 2 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(number), &_Py_ID(ndigits), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"number", "ndigits", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "round", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "round", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[2]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1; PyObject *number; @@ -933,6 +1239,41 @@ exit: return return_value; } +PyDoc_STRVAR(builtin_vars__doc__, +"vars($module, object=, /)\n" +"--\n" +"\n" +"Show vars.\n" +"\n" +"Without arguments, equivalent to locals().\n" +"With an argument, equivalent to object.__dict__."); + +#define BUILTIN_VARS_METHODDEF \ + {"vars", _PyCFunction_CAST(builtin_vars), METH_FASTCALL, builtin_vars__doc__}, + +static PyObject * +builtin_vars_impl(PyObject *module, PyObject *object); + +static PyObject * +builtin_vars(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + PyObject *object = NULL; + + if (!_PyArg_CheckPositional("vars", nargs, 0, 1)) { + goto exit; + } + if (nargs < 1) { + goto skip_optional; + } + object = args[0]; +skip_optional: + return_value = builtin_vars_impl(module, object); + +exit: + return return_value; +} + PyDoc_STRVAR(builtin_sum__doc__, "sum($module, iterable, /, start=0)\n" "--\n" @@ -953,8 +1294,31 @@ static PyObject * builtin_sum(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 1 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(start), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"", "start", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "sum", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "sum", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[2]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1; PyObject *iterable; @@ -1045,4 +1409,4 @@ builtin_issubclass(PyObject *module, PyObject *const *args, Py_ssize_t nargs) exit: return return_value; } -/*[clinic end generated code: output=c45d5fe414f7a8d7 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=84a04e7446debf58 input=a9049054013a1b77]*/ diff --git a/contrib/tools/python3/src/Python/clinic/context.c.h b/contrib/tools/python3/src/Python/clinic/context.c.h index 292d3f7f4ff..27c375717bf 100644 --- a/contrib/tools/python3/src/Python/clinic/context.c.h +++ b/contrib/tools/python3/src/Python/clinic/context.c.h @@ -2,6 +2,12 @@ preserve [clinic start generated code]*/ +#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# include "pycore_gc.h" // PyGC_Head +# include "pycore_runtime.h" // _Py_ID() +#endif + + PyDoc_STRVAR(_contextvars_Context_get__doc__, "get($self, key, default=None, /)\n" "--\n" @@ -177,4 +183,4 @@ PyDoc_STRVAR(_contextvars_ContextVar_reset__doc__, #define _CONTEXTVARS_CONTEXTVAR_RESET_METHODDEF \ {"reset", (PyCFunction)_contextvars_ContextVar_reset, METH_O, _contextvars_ContextVar_reset__doc__}, -/*[clinic end generated code: output=2436b16a92452869 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=0c94d4b919500438 input=a9049054013a1b77]*/ diff --git a/contrib/tools/python3/src/Python/clinic/import.c.h b/contrib/tools/python3/src/Python/clinic/import.c.h index 0451d97a720..cb74be6a422 100644 --- a/contrib/tools/python3/src/Python/clinic/import.c.h +++ b/contrib/tools/python3/src/Python/clinic/import.c.h @@ -2,6 +2,12 @@ preserve [clinic start generated code]*/ +#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# include "pycore_gc.h" // PyGC_Head +# include "pycore_runtime.h" // _Py_ID() +#endif + + PyDoc_STRVAR(_imp_lock_held__doc__, "lock_held($module, /)\n" "--\n" @@ -193,8 +199,31 @@ static PyObject * _imp_find_frozen(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 1 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(withdata), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"", "withdata", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "find_frozen", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "find_frozen", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[2]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1; PyObject *name; @@ -413,6 +442,37 @@ exit: return return_value; } +PyDoc_STRVAR(_imp__override_multi_interp_extensions_check__doc__, +"_override_multi_interp_extensions_check($module, override, /)\n" +"--\n" +"\n" +"(internal-only) Override PyInterpreterConfig.check_multi_interp_extensions.\n" +"\n" +"(-1: \"never\", 1: \"always\", 0: no override)"); + +#define _IMP__OVERRIDE_MULTI_INTERP_EXTENSIONS_CHECK_METHODDEF \ + {"_override_multi_interp_extensions_check", (PyCFunction)_imp__override_multi_interp_extensions_check, METH_O, _imp__override_multi_interp_extensions_check__doc__}, + +static PyObject * +_imp__override_multi_interp_extensions_check_impl(PyObject *module, + int override); + +static PyObject * +_imp__override_multi_interp_extensions_check(PyObject *module, PyObject *arg) +{ + PyObject *return_value = NULL; + int override; + + override = _PyLong_AsInt(arg); + if (override == -1 && PyErr_Occurred()) { + goto exit; + } + return_value = _imp__override_multi_interp_extensions_check_impl(module, override); + +exit: + return return_value; +} + #if defined(HAVE_DYNAMIC_LOADING) PyDoc_STRVAR(_imp_create_dynamic__doc__, @@ -526,8 +586,31 @@ static PyObject * _imp_source_hash(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 2 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(key), &_Py_ID(source), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"key", "source", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "source_hash", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "source_hash", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[2]; long key; Py_buffer source = {NULL, NULL}; @@ -565,4 +648,4 @@ exit: #ifndef _IMP_EXEC_DYNAMIC_METHODDEF #define _IMP_EXEC_DYNAMIC_METHODDEF #endif /* !defined(_IMP_EXEC_DYNAMIC_METHODDEF) */ -/*[clinic end generated code: output=8d0f4305b1d0714b input=a9049054013a1b77]*/ +/*[clinic end generated code: output=b18d46e0036eff49 input=a9049054013a1b77]*/ diff --git a/contrib/tools/python3/src/Python/clinic/instrumentation.c.h b/contrib/tools/python3/src/Python/clinic/instrumentation.c.h new file mode 100644 index 00000000000..cf3984ca24b --- /dev/null +++ b/contrib/tools/python3/src/Python/clinic/instrumentation.c.h @@ -0,0 +1,311 @@ +/*[clinic input] +preserve +[clinic start generated code]*/ + +#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# include "pycore_gc.h" // PyGC_Head +# include "pycore_runtime.h" // _Py_ID() +#endif + + +PyDoc_STRVAR(monitoring_use_tool_id__doc__, +"use_tool_id($module, tool_id, name, /)\n" +"--\n" +"\n"); + +#define MONITORING_USE_TOOL_ID_METHODDEF \ + {"use_tool_id", _PyCFunction_CAST(monitoring_use_tool_id), METH_FASTCALL, monitoring_use_tool_id__doc__}, + +static PyObject * +monitoring_use_tool_id_impl(PyObject *module, int tool_id, PyObject *name); + +static PyObject * +monitoring_use_tool_id(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + int tool_id; + PyObject *name; + + if (!_PyArg_CheckPositional("use_tool_id", nargs, 2, 2)) { + goto exit; + } + tool_id = _PyLong_AsInt(args[0]); + if (tool_id == -1 && PyErr_Occurred()) { + goto exit; + } + name = args[1]; + return_value = monitoring_use_tool_id_impl(module, tool_id, name); + +exit: + return return_value; +} + +PyDoc_STRVAR(monitoring_free_tool_id__doc__, +"free_tool_id($module, tool_id, /)\n" +"--\n" +"\n"); + +#define MONITORING_FREE_TOOL_ID_METHODDEF \ + {"free_tool_id", (PyCFunction)monitoring_free_tool_id, METH_O, monitoring_free_tool_id__doc__}, + +static PyObject * +monitoring_free_tool_id_impl(PyObject *module, int tool_id); + +static PyObject * +monitoring_free_tool_id(PyObject *module, PyObject *arg) +{ + PyObject *return_value = NULL; + int tool_id; + + tool_id = _PyLong_AsInt(arg); + if (tool_id == -1 && PyErr_Occurred()) { + goto exit; + } + return_value = monitoring_free_tool_id_impl(module, tool_id); + +exit: + return return_value; +} + +PyDoc_STRVAR(monitoring_get_tool__doc__, +"get_tool($module, tool_id, /)\n" +"--\n" +"\n"); + +#define MONITORING_GET_TOOL_METHODDEF \ + {"get_tool", (PyCFunction)monitoring_get_tool, METH_O, monitoring_get_tool__doc__}, + +static PyObject * +monitoring_get_tool_impl(PyObject *module, int tool_id); + +static PyObject * +monitoring_get_tool(PyObject *module, PyObject *arg) +{ + PyObject *return_value = NULL; + int tool_id; + + tool_id = _PyLong_AsInt(arg); + if (tool_id == -1 && PyErr_Occurred()) { + goto exit; + } + return_value = monitoring_get_tool_impl(module, tool_id); + +exit: + return return_value; +} + +PyDoc_STRVAR(monitoring_register_callback__doc__, +"register_callback($module, tool_id, event, func, /)\n" +"--\n" +"\n"); + +#define MONITORING_REGISTER_CALLBACK_METHODDEF \ + {"register_callback", _PyCFunction_CAST(monitoring_register_callback), METH_FASTCALL, monitoring_register_callback__doc__}, + +static PyObject * +monitoring_register_callback_impl(PyObject *module, int tool_id, int event, + PyObject *func); + +static PyObject * +monitoring_register_callback(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + int tool_id; + int event; + PyObject *func; + + if (!_PyArg_CheckPositional("register_callback", nargs, 3, 3)) { + goto exit; + } + tool_id = _PyLong_AsInt(args[0]); + if (tool_id == -1 && PyErr_Occurred()) { + goto exit; + } + event = _PyLong_AsInt(args[1]); + if (event == -1 && PyErr_Occurred()) { + goto exit; + } + func = args[2]; + return_value = monitoring_register_callback_impl(module, tool_id, event, func); + +exit: + return return_value; +} + +PyDoc_STRVAR(monitoring_get_events__doc__, +"get_events($module, tool_id, /)\n" +"--\n" +"\n"); + +#define MONITORING_GET_EVENTS_METHODDEF \ + {"get_events", (PyCFunction)monitoring_get_events, METH_O, monitoring_get_events__doc__}, + +static int +monitoring_get_events_impl(PyObject *module, int tool_id); + +static PyObject * +monitoring_get_events(PyObject *module, PyObject *arg) +{ + PyObject *return_value = NULL; + int tool_id; + int _return_value; + + tool_id = _PyLong_AsInt(arg); + if (tool_id == -1 && PyErr_Occurred()) { + goto exit; + } + _return_value = monitoring_get_events_impl(module, tool_id); + if ((_return_value == -1) && PyErr_Occurred()) { + goto exit; + } + return_value = PyLong_FromLong((long)_return_value); + +exit: + return return_value; +} + +PyDoc_STRVAR(monitoring_set_events__doc__, +"set_events($module, tool_id, event_set, /)\n" +"--\n" +"\n"); + +#define MONITORING_SET_EVENTS_METHODDEF \ + {"set_events", _PyCFunction_CAST(monitoring_set_events), METH_FASTCALL, monitoring_set_events__doc__}, + +static PyObject * +monitoring_set_events_impl(PyObject *module, int tool_id, int event_set); + +static PyObject * +monitoring_set_events(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + int tool_id; + int event_set; + + if (!_PyArg_CheckPositional("set_events", nargs, 2, 2)) { + goto exit; + } + tool_id = _PyLong_AsInt(args[0]); + if (tool_id == -1 && PyErr_Occurred()) { + goto exit; + } + event_set = _PyLong_AsInt(args[1]); + if (event_set == -1 && PyErr_Occurred()) { + goto exit; + } + return_value = monitoring_set_events_impl(module, tool_id, event_set); + +exit: + return return_value; +} + +PyDoc_STRVAR(monitoring_get_local_events__doc__, +"get_local_events($module, tool_id, code, /)\n" +"--\n" +"\n"); + +#define MONITORING_GET_LOCAL_EVENTS_METHODDEF \ + {"get_local_events", _PyCFunction_CAST(monitoring_get_local_events), METH_FASTCALL, monitoring_get_local_events__doc__}, + +static int +monitoring_get_local_events_impl(PyObject *module, int tool_id, + PyObject *code); + +static PyObject * +monitoring_get_local_events(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + int tool_id; + PyObject *code; + int _return_value; + + if (!_PyArg_CheckPositional("get_local_events", nargs, 2, 2)) { + goto exit; + } + tool_id = _PyLong_AsInt(args[0]); + if (tool_id == -1 && PyErr_Occurred()) { + goto exit; + } + code = args[1]; + _return_value = monitoring_get_local_events_impl(module, tool_id, code); + if ((_return_value == -1) && PyErr_Occurred()) { + goto exit; + } + return_value = PyLong_FromLong((long)_return_value); + +exit: + return return_value; +} + +PyDoc_STRVAR(monitoring_set_local_events__doc__, +"set_local_events($module, tool_id, code, event_set, /)\n" +"--\n" +"\n"); + +#define MONITORING_SET_LOCAL_EVENTS_METHODDEF \ + {"set_local_events", _PyCFunction_CAST(monitoring_set_local_events), METH_FASTCALL, monitoring_set_local_events__doc__}, + +static PyObject * +monitoring_set_local_events_impl(PyObject *module, int tool_id, + PyObject *code, int event_set); + +static PyObject * +monitoring_set_local_events(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + int tool_id; + PyObject *code; + int event_set; + + if (!_PyArg_CheckPositional("set_local_events", nargs, 3, 3)) { + goto exit; + } + tool_id = _PyLong_AsInt(args[0]); + if (tool_id == -1 && PyErr_Occurred()) { + goto exit; + } + code = args[1]; + event_set = _PyLong_AsInt(args[2]); + if (event_set == -1 && PyErr_Occurred()) { + goto exit; + } + return_value = monitoring_set_local_events_impl(module, tool_id, code, event_set); + +exit: + return return_value; +} + +PyDoc_STRVAR(monitoring_restart_events__doc__, +"restart_events($module, /)\n" +"--\n" +"\n"); + +#define MONITORING_RESTART_EVENTS_METHODDEF \ + {"restart_events", (PyCFunction)monitoring_restart_events, METH_NOARGS, monitoring_restart_events__doc__}, + +static PyObject * +monitoring_restart_events_impl(PyObject *module); + +static PyObject * +monitoring_restart_events(PyObject *module, PyObject *Py_UNUSED(ignored)) +{ + return monitoring_restart_events_impl(module); +} + +PyDoc_STRVAR(monitoring__all_events__doc__, +"_all_events($module, /)\n" +"--\n" +"\n"); + +#define MONITORING__ALL_EVENTS_METHODDEF \ + {"_all_events", (PyCFunction)monitoring__all_events, METH_NOARGS, monitoring__all_events__doc__}, + +static PyObject * +monitoring__all_events_impl(PyObject *module); + +static PyObject * +monitoring__all_events(PyObject *module, PyObject *Py_UNUSED(ignored)) +{ + return monitoring__all_events_impl(module); +} +/*[clinic end generated code: output=11cc0803875b3ffa input=a9049054013a1b77]*/ diff --git a/contrib/tools/python3/src/Python/clinic/marshal.c.h b/contrib/tools/python3/src/Python/clinic/marshal.c.h index 36f2afd5241..a593b980544 100644 --- a/contrib/tools/python3/src/Python/clinic/marshal.c.h +++ b/contrib/tools/python3/src/Python/clinic/marshal.c.h @@ -2,6 +2,12 @@ preserve [clinic start generated code]*/ +#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# include "pycore_gc.h" // PyGC_Head +# include "pycore_runtime.h" // _Py_ID() +#endif + + PyDoc_STRVAR(marshal_dump__doc__, "dump($module, value, file, version=version, /)\n" "--\n" @@ -155,4 +161,4 @@ exit: return return_value; } -/*[clinic end generated code: output=b9e838edee43fe87 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=12082d61d2942473 input=a9049054013a1b77]*/ diff --git a/contrib/tools/python3/src/Python/clinic/sysmodule.c.h b/contrib/tools/python3/src/Python/clinic/sysmodule.c.h index 8ca3cd08605..7a7c188bccc 100644 --- a/contrib/tools/python3/src/Python/clinic/sysmodule.c.h +++ b/contrib/tools/python3/src/Python/clinic/sysmodule.c.h @@ -2,6 +2,12 @@ preserve [clinic start generated code]*/ +#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# include "pycore_gc.h" // PyGC_Head +# include "pycore_runtime.h" // _Py_ID() +#endif + + PyDoc_STRVAR(sys_addaudithook__doc__, "addaudithook($module, /, hook)\n" "--\n" @@ -18,8 +24,31 @@ static PyObject * sys_addaudithook(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 1 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(hook), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"hook", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "addaudithook", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "addaudithook", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[1]; PyObject *hook; @@ -263,6 +292,18 @@ exit: return return_value; } +PyDoc_STRVAR(sys__settraceallthreads__doc__, +"_settraceallthreads($module, arg, /)\n" +"--\n" +"\n" +"Set the global debug tracing function in all running threads belonging to the current interpreter.\n" +"\n" +"It will be called on each function call. See the debugger chapter\n" +"in the library manual."); + +#define SYS__SETTRACEALLTHREADS_METHODDEF \ + {"_settraceallthreads", (PyCFunction)sys__settraceallthreads, METH_O, sys__settraceallthreads__doc__}, + PyDoc_STRVAR(sys_gettrace__doc__, "gettrace($module, /)\n" "--\n" @@ -283,6 +324,18 @@ sys_gettrace(PyObject *module, PyObject *Py_UNUSED(ignored)) return sys_gettrace_impl(module); } +PyDoc_STRVAR(sys__setprofileallthreads__doc__, +"_setprofileallthreads($module, arg, /)\n" +"--\n" +"\n" +"Set the profiling function in all running threads belonging to the current interpreter.\n" +"\n" +"It will be called on each function call and return. See the profiler chapter\n" +"in the library manual."); + +#define SYS__SETPROFILEALLTHREADS_METHODDEF \ + {"_setprofileallthreads", (PyCFunction)sys__setprofileallthreads, METH_O, sys__setprofileallthreads__doc__}, + PyDoc_STRVAR(sys_getprofile__doc__, "getprofile($module, /)\n" "--\n" @@ -425,8 +478,31 @@ static PyObject * sys_set_coroutine_origin_tracking_depth(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 1 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(depth), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"depth", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "set_coroutine_origin_tracking_depth", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "set_coroutine_origin_tracking_depth", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[1]; int depth; @@ -703,8 +779,31 @@ static PyObject * sys_set_int_max_str_digits(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 1 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(maxdigits), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"maxdigits", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "set_int_max_str_digits", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "set_int_max_str_digits", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[1]; int maxdigits; @@ -785,24 +884,25 @@ exit: #endif /* defined(Py_REF_DEBUG) */ -PyDoc_STRVAR(sys__getquickenedcount__doc__, -"_getquickenedcount($module, /)\n" +PyDoc_STRVAR(sys_getallocatedblocks__doc__, +"getallocatedblocks($module, /)\n" "--\n" -"\n"); +"\n" +"Return the number of memory blocks currently allocated."); -#define SYS__GETQUICKENEDCOUNT_METHODDEF \ - {"_getquickenedcount", (PyCFunction)sys__getquickenedcount, METH_NOARGS, sys__getquickenedcount__doc__}, +#define SYS_GETALLOCATEDBLOCKS_METHODDEF \ + {"getallocatedblocks", (PyCFunction)sys_getallocatedblocks, METH_NOARGS, sys_getallocatedblocks__doc__}, static Py_ssize_t -sys__getquickenedcount_impl(PyObject *module); +sys_getallocatedblocks_impl(PyObject *module); static PyObject * -sys__getquickenedcount(PyObject *module, PyObject *Py_UNUSED(ignored)) +sys_getallocatedblocks(PyObject *module, PyObject *Py_UNUSED(ignored)) { PyObject *return_value = NULL; Py_ssize_t _return_value; - _return_value = sys__getquickenedcount_impl(module); + _return_value = sys_getallocatedblocks_impl(module); if ((_return_value == -1) && PyErr_Occurred()) { goto exit; } @@ -812,25 +912,25 @@ exit: return return_value; } -PyDoc_STRVAR(sys_getallocatedblocks__doc__, -"getallocatedblocks($module, /)\n" +PyDoc_STRVAR(sys_getunicodeinternedsize__doc__, +"getunicodeinternedsize($module, /)\n" "--\n" "\n" -"Return the number of memory blocks currently allocated."); +"Return the number of elements of the unicode interned dictionary"); -#define SYS_GETALLOCATEDBLOCKS_METHODDEF \ - {"getallocatedblocks", (PyCFunction)sys_getallocatedblocks, METH_NOARGS, sys_getallocatedblocks__doc__}, +#define SYS_GETUNICODEINTERNEDSIZE_METHODDEF \ + {"getunicodeinternedsize", (PyCFunction)sys_getunicodeinternedsize, METH_NOARGS, sys_getunicodeinternedsize__doc__}, static Py_ssize_t -sys_getallocatedblocks_impl(PyObject *module); +sys_getunicodeinternedsize_impl(PyObject *module); static PyObject * -sys_getallocatedblocks(PyObject *module, PyObject *Py_UNUSED(ignored)) +sys_getunicodeinternedsize(PyObject *module, PyObject *Py_UNUSED(ignored)) { PyObject *return_value = NULL; Py_ssize_t _return_value; - _return_value = sys_getallocatedblocks_impl(module); + _return_value = sys_getunicodeinternedsize_impl(module); if ((_return_value == -1) && PyErr_Occurred()) { goto exit; } @@ -1018,6 +1118,94 @@ sys_is_finalizing(PyObject *module, PyObject *Py_UNUSED(ignored)) return sys_is_finalizing_impl(module); } +#if defined(Py_STATS) + +PyDoc_STRVAR(sys__stats_on__doc__, +"_stats_on($module, /)\n" +"--\n" +"\n" +"Turns on stats gathering (stats gathering is on by default)."); + +#define SYS__STATS_ON_METHODDEF \ + {"_stats_on", (PyCFunction)sys__stats_on, METH_NOARGS, sys__stats_on__doc__}, + +static PyObject * +sys__stats_on_impl(PyObject *module); + +static PyObject * +sys__stats_on(PyObject *module, PyObject *Py_UNUSED(ignored)) +{ + return sys__stats_on_impl(module); +} + +#endif /* defined(Py_STATS) */ + +#if defined(Py_STATS) + +PyDoc_STRVAR(sys__stats_off__doc__, +"_stats_off($module, /)\n" +"--\n" +"\n" +"Turns off stats gathering (stats gathering is on by default)."); + +#define SYS__STATS_OFF_METHODDEF \ + {"_stats_off", (PyCFunction)sys__stats_off, METH_NOARGS, sys__stats_off__doc__}, + +static PyObject * +sys__stats_off_impl(PyObject *module); + +static PyObject * +sys__stats_off(PyObject *module, PyObject *Py_UNUSED(ignored)) +{ + return sys__stats_off_impl(module); +} + +#endif /* defined(Py_STATS) */ + +#if defined(Py_STATS) + +PyDoc_STRVAR(sys__stats_clear__doc__, +"_stats_clear($module, /)\n" +"--\n" +"\n" +"Clears the stats."); + +#define SYS__STATS_CLEAR_METHODDEF \ + {"_stats_clear", (PyCFunction)sys__stats_clear, METH_NOARGS, sys__stats_clear__doc__}, + +static PyObject * +sys__stats_clear_impl(PyObject *module); + +static PyObject * +sys__stats_clear(PyObject *module, PyObject *Py_UNUSED(ignored)) +{ + return sys__stats_clear_impl(module); +} + +#endif /* defined(Py_STATS) */ + +#if defined(Py_STATS) + +PyDoc_STRVAR(sys__stats_dump__doc__, +"_stats_dump($module, /)\n" +"--\n" +"\n" +"Dump stats to file, and clears the stats."); + +#define SYS__STATS_DUMP_METHODDEF \ + {"_stats_dump", (PyCFunction)sys__stats_dump, METH_NOARGS, sys__stats_dump__doc__}, + +static PyObject * +sys__stats_dump_impl(PyObject *module); + +static PyObject * +sys__stats_dump(PyObject *module, PyObject *Py_UNUSED(ignored)) +{ + return sys__stats_dump_impl(module); +} + +#endif /* defined(Py_STATS) */ + #if defined(ANDROID_API_LEVEL) PyDoc_STRVAR(sys_getandroidapilevel__doc__, @@ -1040,6 +1228,150 @@ sys_getandroidapilevel(PyObject *module, PyObject *Py_UNUSED(ignored)) #endif /* defined(ANDROID_API_LEVEL) */ +PyDoc_STRVAR(sys_activate_stack_trampoline__doc__, +"activate_stack_trampoline($module, backend, /)\n" +"--\n" +"\n" +"Activate stack profiler trampoline *backend*."); + +#define SYS_ACTIVATE_STACK_TRAMPOLINE_METHODDEF \ + {"activate_stack_trampoline", (PyCFunction)sys_activate_stack_trampoline, METH_O, sys_activate_stack_trampoline__doc__}, + +static PyObject * +sys_activate_stack_trampoline_impl(PyObject *module, const char *backend); + +static PyObject * +sys_activate_stack_trampoline(PyObject *module, PyObject *arg) +{ + PyObject *return_value = NULL; + const char *backend; + + if (!PyUnicode_Check(arg)) { + _PyArg_BadArgument("activate_stack_trampoline", "argument", "str", arg); + goto exit; + } + Py_ssize_t backend_length; + backend = PyUnicode_AsUTF8AndSize(arg, &backend_length); + if (backend == NULL) { + goto exit; + } + if (strlen(backend) != (size_t)backend_length) { + PyErr_SetString(PyExc_ValueError, "embedded null character"); + goto exit; + } + return_value = sys_activate_stack_trampoline_impl(module, backend); + +exit: + return return_value; +} + +PyDoc_STRVAR(sys_deactivate_stack_trampoline__doc__, +"deactivate_stack_trampoline($module, /)\n" +"--\n" +"\n" +"Deactivate the current stack profiler trampoline backend.\n" +"\n" +"If no stack profiler is activated, this function has no effect."); + +#define SYS_DEACTIVATE_STACK_TRAMPOLINE_METHODDEF \ + {"deactivate_stack_trampoline", (PyCFunction)sys_deactivate_stack_trampoline, METH_NOARGS, sys_deactivate_stack_trampoline__doc__}, + +static PyObject * +sys_deactivate_stack_trampoline_impl(PyObject *module); + +static PyObject * +sys_deactivate_stack_trampoline(PyObject *module, PyObject *Py_UNUSED(ignored)) +{ + return sys_deactivate_stack_trampoline_impl(module); +} + +PyDoc_STRVAR(sys_is_stack_trampoline_active__doc__, +"is_stack_trampoline_active($module, /)\n" +"--\n" +"\n" +"Return *True* if a stack profiler trampoline is active."); + +#define SYS_IS_STACK_TRAMPOLINE_ACTIVE_METHODDEF \ + {"is_stack_trampoline_active", (PyCFunction)sys_is_stack_trampoline_active, METH_NOARGS, sys_is_stack_trampoline_active__doc__}, + +static PyObject * +sys_is_stack_trampoline_active_impl(PyObject *module); + +static PyObject * +sys_is_stack_trampoline_active(PyObject *module, PyObject *Py_UNUSED(ignored)) +{ + return sys_is_stack_trampoline_active_impl(module); +} + +PyDoc_STRVAR(sys__getframemodulename__doc__, +"_getframemodulename($module, /, depth=0)\n" +"--\n" +"\n" +"Return the name of the module for a calling frame.\n" +"\n" +"The default depth returns the module containing the call to this API.\n" +"A more typical use in a library will pass a depth of 1 to get the user\'s\n" +"module rather than the library module.\n" +"\n" +"If no frame, module, or name can be found, returns None."); + +#define SYS__GETFRAMEMODULENAME_METHODDEF \ + {"_getframemodulename", _PyCFunction_CAST(sys__getframemodulename), METH_FASTCALL|METH_KEYWORDS, sys__getframemodulename__doc__}, + +static PyObject * +sys__getframemodulename_impl(PyObject *module, int depth); + +static PyObject * +sys__getframemodulename(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) +{ + PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 1 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(depth), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + + static const char * const _keywords[] = {"depth", NULL}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "_getframemodulename", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE + PyObject *argsbuf[1]; + Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; + int depth = 0; + + args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 1, 0, argsbuf); + if (!args) { + goto exit; + } + if (!noptargs) { + goto skip_optional_pos; + } + depth = _PyLong_AsInt(args[0]); + if (depth == -1 && PyErr_Occurred()) { + goto exit; + } +skip_optional_pos: + return_value = sys__getframemodulename_impl(module, depth); + +exit: + return return_value; +} + #ifndef SYS_GETWINDOWSVERSION_METHODDEF #define SYS_GETWINDOWSVERSION_METHODDEF #endif /* !defined(SYS_GETWINDOWSVERSION_METHODDEF) */ @@ -1064,7 +1396,23 @@ sys_getandroidapilevel(PyObject *module, PyObject *Py_UNUSED(ignored)) #define SYS_GETTOTALREFCOUNT_METHODDEF #endif /* !defined(SYS_GETTOTALREFCOUNT_METHODDEF) */ +#ifndef SYS__STATS_ON_METHODDEF + #define SYS__STATS_ON_METHODDEF +#endif /* !defined(SYS__STATS_ON_METHODDEF) */ + +#ifndef SYS__STATS_OFF_METHODDEF + #define SYS__STATS_OFF_METHODDEF +#endif /* !defined(SYS__STATS_OFF_METHODDEF) */ + +#ifndef SYS__STATS_CLEAR_METHODDEF + #define SYS__STATS_CLEAR_METHODDEF +#endif /* !defined(SYS__STATS_CLEAR_METHODDEF) */ + +#ifndef SYS__STATS_DUMP_METHODDEF + #define SYS__STATS_DUMP_METHODDEF +#endif /* !defined(SYS__STATS_DUMP_METHODDEF) */ + #ifndef SYS_GETANDROIDAPILEVEL_METHODDEF #define SYS_GETANDROIDAPILEVEL_METHODDEF #endif /* !defined(SYS_GETANDROIDAPILEVEL_METHODDEF) */ -/*[clinic end generated code: output=3cae0e0212d88bcd input=a9049054013a1b77]*/ +/*[clinic end generated code: output=6d598acc26237fbe input=a9049054013a1b77]*/ diff --git a/contrib/tools/python3/src/Python/clinic/traceback.c.h b/contrib/tools/python3/src/Python/clinic/traceback.c.h index 404a0c416d3..3c344934971 100644 --- a/contrib/tools/python3/src/Python/clinic/traceback.c.h +++ b/contrib/tools/python3/src/Python/clinic/traceback.c.h @@ -2,6 +2,12 @@ preserve [clinic start generated code]*/ +#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# include "pycore_gc.h" // PyGC_Head +# include "pycore_runtime.h" // _Py_ID() +#endif + + PyDoc_STRVAR(tb_new__doc__, "TracebackType(tb_next, tb_frame, tb_lasti, tb_lineno)\n" "--\n" @@ -16,8 +22,31 @@ static PyObject * tb_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { PyObject *return_value = NULL; + #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) + + #define NUM_KEYWORDS 4 + static struct { + PyGC_Head _this_is_not_used; + PyObject_VAR_HEAD + PyObject *ob_item[NUM_KEYWORDS]; + } _kwtuple = { + .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS) + .ob_item = { &_Py_ID(tb_next), &_Py_ID(tb_frame), &_Py_ID(tb_lasti), &_Py_ID(tb_lineno), }, + }; + #undef NUM_KEYWORDS + #define KWTUPLE (&_kwtuple.ob_base.ob_base) + + #else // !Py_BUILD_CORE + # define KWTUPLE NULL + #endif // !Py_BUILD_CORE + static const char * const _keywords[] = {"tb_next", "tb_frame", "tb_lasti", "tb_lineno", NULL}; - static _PyArg_Parser _parser = {NULL, _keywords, "TracebackType", 0}; + static _PyArg_Parser _parser = { + .keywords = _keywords, + .fname = "TracebackType", + .kwtuple = KWTUPLE, + }; + #undef KWTUPLE PyObject *argsbuf[4]; PyObject * const *fastargs; Py_ssize_t nargs = PyTuple_GET_SIZE(args); @@ -49,4 +78,4 @@ tb_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) exit: return return_value; } -/*[clinic end generated code: output=403778d7af5ebef9 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=7bc9927e362fdfb7 input=a9049054013a1b77]*/ diff --git a/contrib/tools/python3/src/Python/codecs.c b/contrib/tools/python3/src/Python/codecs.c index 33965f885f7..1983f56ba20 100644 --- a/contrib/tools/python3/src/Python/codecs.c +++ b/contrib/tools/python3/src/Python/codecs.c @@ -11,6 +11,7 @@ Copyright (c) Corporation for National Research Initiatives. #include "Python.h" #include "pycore_call.h" // _PyObject_CallNoArgs() #include "pycore_interp.h" // PyInterpreterState.codec_search_path +#include "pycore_pyerrors.h" // _PyErr_FormatNote() #include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_ucnhash.h" // _PyUnicode_Name_CAPI #include @@ -235,8 +236,7 @@ PyObject *args_tuple(PyObject *object, args = PyTuple_New(1 + (errors != NULL)); if (args == NULL) return NULL; - Py_INCREF(object); - PyTuple_SET_ITEM(args,0,object); + PyTuple_SET_ITEM(args, 0, Py_NewRef(object)); if (errors) { PyObject *v; @@ -263,8 +263,7 @@ PyObject *codec_getitem(const char *encoding, int index) return NULL; v = PyTuple_GET_ITEM(codecs, index); Py_DECREF(codecs); - Py_INCREF(v); - return v; + return Py_NewRef(v); } /* Helper functions to create an incremental codec. */ @@ -384,22 +383,6 @@ PyObject *PyCodec_StreamWriter(const char *encoding, return codec_getstreamcodec(encoding, stream, errors, 3); } -/* Helper that tries to ensure the reported exception chain indicates the - * codec that was invoked to trigger the failure without changing the type - * of the exception raised. - */ -static void -wrap_codec_error(const char *operation, - const char *encoding) -{ - /* TrySetFromCause will replace the active exception with a suitably - * updated clone if it can, otherwise it will leave the original - * exception alone. - */ - _PyErr_TrySetFromCause("%s with '%s' codec failed", - operation, encoding); -} - /* Encode an object (e.g. a Unicode object) using the given encoding and return the resulting encoded object (usually a Python string). @@ -420,7 +403,7 @@ _PyCodec_EncodeInternal(PyObject *object, result = PyObject_Call(encoder, args, NULL); if (result == NULL) { - wrap_codec_error("encoding", encoding); + _PyErr_FormatNote("%s with '%s' codec failed", "encoding", encoding); goto onError; } @@ -430,8 +413,7 @@ _PyCodec_EncodeInternal(PyObject *object, "encoder must return a tuple (object, integer)"); goto onError; } - v = PyTuple_GET_ITEM(result,0); - Py_INCREF(v); + v = Py_NewRef(PyTuple_GET_ITEM(result,0)); /* We don't check or use the second (integer) entry. */ Py_DECREF(args); @@ -466,7 +448,7 @@ _PyCodec_DecodeInternal(PyObject *object, result = PyObject_Call(decoder, args, NULL); if (result == NULL) { - wrap_codec_error("decoding", encoding); + _PyErr_FormatNote("%s with '%s' codec failed", "decoding", encoding); goto onError; } if (!PyTuple_Check(result) || @@ -475,8 +457,7 @@ _PyCodec_DecodeInternal(PyObject *object, "decoder must return a tuple (object,integer)"); goto onError; } - v = PyTuple_GET_ITEM(result,0); - Py_INCREF(v); + v = Py_NewRef(PyTuple_GET_ITEM(result,0)); /* We don't check or use the second (integer) entry. */ Py_DECREF(args); @@ -571,8 +552,7 @@ PyObject *codec_getitem_checked(const char *encoding, if (codec == NULL) return NULL; - v = PyTuple_GET_ITEM(codec, index); - Py_INCREF(v); + v = Py_NewRef(PyTuple_GET_ITEM(codec, index)); Py_DECREF(codec); return v; } diff --git a/contrib/tools/python3/src/Python/compile.c b/contrib/tools/python3/src/Python/compile.c index 558df3fca65..ddd7b5c795b 100644 --- a/contrib/tools/python3/src/Python/compile.c +++ b/contrib/tools/python3/src/Python/compile.c @@ -6,10 +6,10 @@ * object: * 1. Checks for future statements. See future.c * 2. Builds a symbol table. See symtable.c. - * 3. Generate code for basic blocks. See compiler_mod() in this file. - * 4. Assemble the basic blocks into final code. See assemble() in - * this file. - * 5. Optimize the byte code (peephole optimizations). + * 3. Generate an instruction sequence. See compiler_mod() in this file. + * 4. Generate a control flow graph and run optimizations on it. See flowgraph.c. + * 5. Assemble the basic blocks into final code. See optimize_and_assemble() in + * this file, and assembler.c. * * Note that compiler_mod() suggests module, but the module ast type * (mod_ty) has cases for expressions and interactive statements. @@ -23,20 +23,21 @@ #include -// Need _PyOpcode_RelativeJump of pycore_opcode.h -#define NEED_OPCODE_TABLES - #include "Python.h" #include "pycore_ast.h" // _PyAST_GetDocString() +#define NEED_OPCODE_TABLES +#include "pycore_opcode_utils.h" +#undef NEED_OPCODE_TABLES +#include "pycore_flowgraph.h" #include "pycore_code.h" // _PyCode_New() -#include "pycore_compile.h" // _PyFuture_FromAST() +#include "pycore_compile.h" +#include "pycore_intrinsics.h" #include "pycore_long.h" // _PyLong_GetZero() -#include "pycore_opcode.h" // _PyOpcode_Caches #include "pycore_pymem.h" // _PyMem_IsPtrFreed() -#include "pycore_symtable.h" // PySTEntryObject +#include "pycore_symtable.h" // PySTEntryObject, _PyFuture_FromAST() +#include "opcode_metadata.h" // _PyOpcode_opcode_metadata, _PyOpcode_num_popped/pushed -#define DEFAULT_BLOCK_SIZE 16 #define DEFAULT_CODE_SIZE 128 #define DEFAULT_LNOTAB_SIZE 16 #define DEFAULT_CNOTAB_SIZE 32 @@ -55,6 +56,16 @@ */ #define STACK_USE_GUIDELINE 30 +#undef SUCCESS +#undef ERROR +#define SUCCESS 0 +#define ERROR -1 + +#define RETURN_IF_ERROR(X) \ + if ((X) == -1) { \ + return ERROR; \ + } + /* If we exceed this limit, it should * be considered a compiler bug. * Currently it should be impossible @@ -70,199 +81,44 @@ */ #define MAX_ALLOWED_STACK_USE (STACK_USE_GUIDELINE * 100) +#define IS_TOP_LEVEL_AWAIT(C) ( \ + ((C)->c_flags.cf_flags & PyCF_ALLOW_TOP_LEVEL_AWAIT) \ + && ((C)->u->u_ste->ste_type == ModuleBlock)) -/* Pseudo-instructions used in the compiler, - * but turned into NOPs or other instructions - * by the assembler. */ -#define SETUP_FINALLY -1 -#define SETUP_CLEANUP -2 -#define SETUP_WITH -3 -#define POP_BLOCK -4 -#define JUMP -5 -#define JUMP_NO_INTERRUPT -6 -#define POP_JUMP_IF_FALSE -7 -#define POP_JUMP_IF_TRUE -8 -#define POP_JUMP_IF_NONE -9 -#define POP_JUMP_IF_NOT_NONE -10 - -#define MIN_VIRTUAL_OPCODE -10 -#define MAX_ALLOWED_OPCODE 254 - -#define IS_WITHIN_OPCODE_RANGE(opcode) \ - ((opcode) >= MIN_VIRTUAL_OPCODE && (opcode) <= MAX_ALLOWED_OPCODE) - -#define IS_VIRTUAL_OPCODE(opcode) ((opcode) < 0) - -#define IS_VIRTUAL_JUMP_OPCODE(opcode) \ - ((opcode) == JUMP || \ - (opcode) == JUMP_NO_INTERRUPT || \ - (opcode) == POP_JUMP_IF_NONE || \ - (opcode) == POP_JUMP_IF_NOT_NONE || \ - (opcode) == POP_JUMP_IF_FALSE || \ - (opcode) == POP_JUMP_IF_TRUE) - -/* opcodes which are not emitted in codegen stage, only by the assembler */ -#define IS_ASSEMBLER_OPCODE(opcode) \ - ((opcode) == JUMP_FORWARD || \ - (opcode) == JUMP_BACKWARD || \ - (opcode) == JUMP_BACKWARD_NO_INTERRUPT || \ - (opcode) == POP_JUMP_FORWARD_IF_NONE || \ - (opcode) == POP_JUMP_BACKWARD_IF_NONE || \ - (opcode) == POP_JUMP_FORWARD_IF_NOT_NONE || \ - (opcode) == POP_JUMP_BACKWARD_IF_NOT_NONE || \ - (opcode) == POP_JUMP_FORWARD_IF_TRUE || \ - (opcode) == POP_JUMP_BACKWARD_IF_TRUE || \ - (opcode) == POP_JUMP_FORWARD_IF_FALSE || \ - (opcode) == POP_JUMP_BACKWARD_IF_FALSE) - - -#define IS_BACKWARDS_JUMP_OPCODE(opcode) \ - ((opcode) == JUMP_BACKWARD || \ - (opcode) == JUMP_BACKWARD_NO_INTERRUPT || \ - (opcode) == POP_JUMP_BACKWARD_IF_NONE || \ - (opcode) == POP_JUMP_BACKWARD_IF_NOT_NONE || \ - (opcode) == POP_JUMP_BACKWARD_IF_TRUE || \ - (opcode) == POP_JUMP_BACKWARD_IF_FALSE) - - -#define IS_TOP_LEVEL_AWAIT(c) ( \ - (c->c_flags->cf_flags & PyCF_ALLOW_TOP_LEVEL_AWAIT) \ - && (c->u->u_ste->ste_type == ModuleBlock)) - -struct instr { - int i_opcode; - int i_oparg; - /* target block (if jump instruction) */ - struct basicblock_ *i_target; - /* target block when exception is raised, should not be set by front-end. */ - struct basicblock_ *i_except; - int i_lineno; - int i_end_lineno; - int i_col_offset; - int i_end_col_offset; -}; +typedef _PyCompilerSrcLocation location; +typedef _PyCfgInstruction cfg_instr; +typedef _PyCfgBasicblock basicblock; +typedef _PyCfgBuilder cfg_builder; -typedef struct excepthandler { - struct instr *setup; - int offset; -} ExceptHandler; +#define LOCATION(LNO, END_LNO, COL, END_COL) \ + ((const _PyCompilerSrcLocation){(LNO), (END_LNO), (COL), (END_COL)}) -typedef struct exceptstack { - struct basicblock_ *handlers[CO_MAXBLOCKS+1]; - int depth; -} ExceptStack; +/* Return true if loc1 starts after loc2 ends. */ +static inline bool +location_is_after(location loc1, location loc2) { + return (loc1.lineno > loc2.end_lineno) || + ((loc1.lineno == loc2.end_lineno) && + (loc1.col_offset > loc2.end_col_offset)); +} -#define LOG_BITS_PER_INT 5 -#define MASK_LOW_LOG_BITS 31 +#define LOC(x) SRC_LOCATION_FROM_AST(x) -static inline int -is_bit_set_in_table(const uint32_t *table, int bitindex) { - /* Is the relevant bit set in the relevant word? */ - /* 256 bits fit into 8 32-bits words. - * Word is indexed by (bitindex>>ln(size of int in bits)). - * Bit within word is the low bits of bitindex. - */ - if (bitindex >= 0 && bitindex < 256) { - uint32_t word = table[bitindex >> LOG_BITS_PER_INT]; - return (word >> (bitindex & MASK_LOW_LOG_BITS)) & 1; - } - else { - return 0; - } -} +typedef _PyCfgJumpTargetLabel jump_target_label; -static inline int -is_relative_jump(struct instr *i) -{ - return is_bit_set_in_table(_PyOpcode_RelativeJump, i->i_opcode); -} +static jump_target_label NO_LABEL = {-1}; -static inline int -is_block_push(struct instr *instr) -{ - int opcode = instr->i_opcode; - return opcode == SETUP_FINALLY || opcode == SETUP_WITH || opcode == SETUP_CLEANUP; -} +#define SAME_LABEL(L1, L2) ((L1).id == (L2).id) +#define IS_LABEL(L) (!SAME_LABEL((L), (NO_LABEL))) -static inline int -is_jump(struct instr *i) -{ - return IS_VIRTUAL_JUMP_OPCODE(i->i_opcode) || - is_bit_set_in_table(_PyOpcode_Jump, i->i_opcode); -} +#define NEW_JUMP_TARGET_LABEL(C, NAME) \ + jump_target_label NAME = instr_sequence_new_label(INSTR_SEQUENCE(C)); \ + if (!IS_LABEL(NAME)) { \ + return ERROR; \ + } -static int -instr_size(struct instr *instruction) -{ - int opcode = instruction->i_opcode; - assert(!IS_VIRTUAL_OPCODE(opcode)); - int oparg = HAS_ARG(opcode) ? instruction->i_oparg : 0; - int extended_args = (0xFFFFFF < oparg) + (0xFFFF < oparg) + (0xFF < oparg); - int caches = _PyOpcode_Caches[opcode]; - return extended_args + 1 + caches; -} +#define USE_LABEL(C, LBL) \ + RETURN_IF_ERROR(instr_sequence_use_label(INSTR_SEQUENCE(C), (LBL).id)) -static void -write_instr(_Py_CODEUNIT *codestr, struct instr *instruction, int ilen) -{ - int opcode = instruction->i_opcode; - assert(!IS_VIRTUAL_OPCODE(opcode)); - int oparg = HAS_ARG(opcode) ? instruction->i_oparg : 0; - int caches = _PyOpcode_Caches[opcode]; - switch (ilen - caches) { - case 4: - *codestr++ = _Py_MAKECODEUNIT(EXTENDED_ARG, (oparg >> 24) & 0xFF); - /* fall through */ - case 3: - *codestr++ = _Py_MAKECODEUNIT(EXTENDED_ARG, (oparg >> 16) & 0xFF); - /* fall through */ - case 2: - *codestr++ = _Py_MAKECODEUNIT(EXTENDED_ARG, (oparg >> 8) & 0xFF); - /* fall through */ - case 1: - *codestr++ = _Py_MAKECODEUNIT(opcode, oparg & 0xFF); - break; - default: - Py_UNREACHABLE(); - } - while (caches--) { - *codestr++ = _Py_MAKECODEUNIT(CACHE, 0); - } -} - -typedef struct basicblock_ { - /* Each basicblock in a compilation unit is linked via b_list in the - reverse order that the block are allocated. b_list points to the next - block, not to be confused with b_next, which is next by control flow. */ - struct basicblock_ *b_list; - /* Exception stack at start of block, used by assembler to create the exception handling table */ - ExceptStack *b_exceptstack; - /* pointer to an array of instructions, initially NULL */ - struct instr *b_instr; - /* If b_next is non-NULL, it is a pointer to the next - block reached by normal control flow. */ - struct basicblock_ *b_next; - /* number of instructions used */ - int b_iused; - /* length of instruction array (b_instr) */ - int b_ialloc; - /* Number of predecssors that a block has. */ - int b_predecessors; - /* depth of stack upon entry of block, computed by stackdepth() */ - int b_startdepth; - /* instruction offset for block, computed by assemble_jump_offsets() */ - int b_offset; - /* Basic block has no fall through (it ends with a return, raise or jump) */ - unsigned b_nofallthrough : 1; - /* Basic block is an exception handler that preserves lasti */ - unsigned b_preserve_lasti : 1; - /* Used by compiler passes to mark whether they have visited a basic block. */ - unsigned b_visited : 1; - /* Basic block exits scope (it ends with a return or raise) */ - unsigned b_exit : 1; - /* b_return is true if a RETURN_VALUE opcode is inserted. */ - unsigned b_return : 1; -} basicblock; /* fblockinfo tracks the current frame block. @@ -277,9 +133,9 @@ enum fblocktype { WHILE_LOOP, FOR_LOOP, TRY_EXCEPT, FINALLY_TRY, FINALLY_END, struct fblockinfo { enum fblocktype fb_type; - basicblock *fb_block; + jump_target_label fb_block; /* (optional) type-specific exit or cleanup block */ - basicblock *fb_exit; + jump_target_label fb_exit; /* (optional) additional information required for unwinding */ void *fb_datum; }; @@ -291,49 +147,252 @@ enum { COMPILER_SCOPE_ASYNC_FUNCTION, COMPILER_SCOPE_LAMBDA, COMPILER_SCOPE_COMPREHENSION, + COMPILER_SCOPE_TYPEPARAMS, }; + +int +_PyCompile_InstrSize(int opcode, int oparg) +{ + assert(!IS_PSEUDO_OPCODE(opcode)); + assert(HAS_ARG(opcode) || oparg == 0); + int extended_args = (0xFFFFFF < oparg) + (0xFFFF < oparg) + (0xFF < oparg); + int caches = _PyOpcode_Caches[opcode]; + return extended_args + 1 + caches; +} + +typedef _PyCompile_Instruction instruction; +typedef _PyCompile_InstructionSequence instr_sequence; + +#define INITIAL_INSTR_SEQUENCE_SIZE 100 +#define INITIAL_INSTR_SEQUENCE_LABELS_MAP_SIZE 10 + +/* + * Resize the array if index is out of range. + * + * idx: the index we want to access + * arr: pointer to the array + * alloc: pointer to the capacity of the array + * default_alloc: initial number of items + * item_size: size of each item + * + */ +int +_PyCompile_EnsureArrayLargeEnough(int idx, void **array, int *alloc, + int default_alloc, size_t item_size) +{ + void *arr = *array; + if (arr == NULL) { + int new_alloc = default_alloc; + if (idx >= new_alloc) { + new_alloc = idx + default_alloc; + } + arr = PyObject_Calloc(new_alloc, item_size); + if (arr == NULL) { + PyErr_NoMemory(); + return ERROR; + } + *alloc = new_alloc; + } + else if (idx >= *alloc) { + size_t oldsize = *alloc * item_size; + int new_alloc = *alloc << 1; + if (idx >= new_alloc) { + new_alloc = idx + default_alloc; + } + size_t newsize = new_alloc * item_size; + + if (oldsize > (SIZE_MAX >> 1)) { + PyErr_NoMemory(); + return ERROR; + } + + assert(newsize > 0); + void *tmp = PyObject_Realloc(arr, newsize); + if (tmp == NULL) { + PyErr_NoMemory(); + return ERROR; + } + *alloc = new_alloc; + arr = tmp; + memset((char *)arr + oldsize, 0, newsize - oldsize); + } + + *array = arr; + return SUCCESS; +} + +static int +instr_sequence_next_inst(instr_sequence *seq) { + assert(seq->s_instrs != NULL || seq->s_used == 0); + + RETURN_IF_ERROR( + _PyCompile_EnsureArrayLargeEnough(seq->s_used + 1, + (void**)&seq->s_instrs, + &seq->s_allocated, + INITIAL_INSTR_SEQUENCE_SIZE, + sizeof(instruction))); + assert(seq->s_allocated >= 0); + assert(seq->s_used < seq->s_allocated); + return seq->s_used++; +} + +static jump_target_label +instr_sequence_new_label(instr_sequence *seq) +{ + jump_target_label lbl = {++seq->s_next_free_label}; + return lbl; +} + +static int +instr_sequence_use_label(instr_sequence *seq, int lbl) { + int old_size = seq->s_labelmap_size; + RETURN_IF_ERROR( + _PyCompile_EnsureArrayLargeEnough(lbl, + (void**)&seq->s_labelmap, + &seq->s_labelmap_size, + INITIAL_INSTR_SEQUENCE_LABELS_MAP_SIZE, + sizeof(int))); + + for(int i = old_size; i < seq->s_labelmap_size; i++) { + seq->s_labelmap[i] = -111; /* something weird, for debugging */ + } + seq->s_labelmap[lbl] = seq->s_used; /* label refers to the next instruction */ + return SUCCESS; +} + +static int +instr_sequence_addop(instr_sequence *seq, int opcode, int oparg, location loc) +{ + assert(IS_WITHIN_OPCODE_RANGE(opcode)); + assert(HAS_ARG(opcode) || HAS_TARGET(opcode) || oparg == 0); + assert(0 <= oparg && oparg < (1 << 30)); + + int idx = instr_sequence_next_inst(seq); + RETURN_IF_ERROR(idx); + instruction *ci = &seq->s_instrs[idx]; + ci->i_opcode = opcode; + ci->i_oparg = oparg; + ci->i_loc = loc; + return SUCCESS; +} + +static int +instr_sequence_insert_instruction(instr_sequence *seq, int pos, + int opcode, int oparg, location loc) +{ + assert(pos >= 0 && pos <= seq->s_used); + int last_idx = instr_sequence_next_inst(seq); + RETURN_IF_ERROR(last_idx); + for (int i=last_idx-1; i >= pos; i--) { + seq->s_instrs[i+1] = seq->s_instrs[i]; + } + instruction *ci = &seq->s_instrs[pos]; + ci->i_opcode = opcode; + ci->i_oparg = oparg; + ci->i_loc = loc; + + /* fix the labels map */ + for(int lbl=0; lbl < seq->s_labelmap_size; lbl++) { + if (seq->s_labelmap[lbl] >= pos) { + seq->s_labelmap[lbl]++; + } + } + return SUCCESS; +} + +static void +instr_sequence_fini(instr_sequence *seq) { + PyObject_Free(seq->s_labelmap); + seq->s_labelmap = NULL; + + PyObject_Free(seq->s_instrs); + seq->s_instrs = NULL; +} + +static int +instr_sequence_to_cfg(instr_sequence *seq, cfg_builder *g) { + memset(g, 0, sizeof(cfg_builder)); + RETURN_IF_ERROR(_PyCfgBuilder_Init(g)); + + /* There can be more than one label for the same offset. The + * offset2lbl maping selects one of them which we use consistently. + */ + + int *offset2lbl = PyMem_Malloc(seq->s_used * sizeof(int)); + if (offset2lbl == NULL) { + PyErr_NoMemory(); + return ERROR; + } + for (int i = 0; i < seq->s_used; i++) { + offset2lbl[i] = -1; + } + for (int lbl=0; lbl < seq->s_labelmap_size; lbl++) { + int offset = seq->s_labelmap[lbl]; + if (offset >= 0) { + assert(offset < seq->s_used); + offset2lbl[offset] = lbl; + } + } + + for (int i = 0; i < seq->s_used; i++) { + int lbl = offset2lbl[i]; + if (lbl >= 0) { + assert (lbl < seq->s_labelmap_size); + jump_target_label lbl_ = {lbl}; + if (_PyCfgBuilder_UseLabel(g, lbl_) < 0) { + goto error; + } + } + instruction *instr = &seq->s_instrs[i]; + int opcode = instr->i_opcode; + int oparg = instr->i_oparg; + if (HAS_TARGET(opcode)) { + int offset = seq->s_labelmap[oparg]; + assert(offset >= 0 && offset < seq->s_used); + int lbl = offset2lbl[offset]; + assert(lbl >= 0 && lbl < seq->s_labelmap_size); + oparg = lbl; + } + if (_PyCfgBuilder_Addop(g, opcode, oparg, instr->i_loc) < 0) { + goto error; + } + } + PyMem_Free(offset2lbl); + + int nblocks = 0; + for (basicblock *b = g->g_block_list; b != NULL; b = b->b_list) { + nblocks++; + } + if ((size_t)nblocks > SIZE_MAX / sizeof(basicblock *)) { + PyErr_NoMemory(); + return ERROR; + } + return SUCCESS; +error: + PyMem_Free(offset2lbl); + return ERROR; +} + + /* The following items change on entry and exit of code blocks. They must be saved and restored when returning to a block. */ struct compiler_unit { PySTEntryObject *u_ste; - PyObject *u_name; - PyObject *u_qualname; /* dot-separated qualified name (lazy) */ int u_scope_type; - /* The following fields are dicts that map objects to - the index of them in co_XXX. The index is used as - the argument for opcodes that refer to those collections. - */ - PyObject *u_consts; /* all constants */ - PyObject *u_names; /* all names */ - PyObject *u_varnames; /* local variables */ - PyObject *u_cellvars; /* cell variables */ - PyObject *u_freevars; /* free variables */ - PyObject *u_private; /* for private name mangling */ - Py_ssize_t u_argcount; /* number of arguments for block */ - Py_ssize_t u_posonlyargcount; /* number of positional only arguments for block */ - Py_ssize_t u_kwonlyargcount; /* number of keyword only arguments for block */ - /* Pointer to the most recently allocated block. By following b_list - members, you can reach all early allocated blocks. */ - basicblock *u_blocks; - basicblock *u_curblock; /* pointer to current block */ + instr_sequence u_instr_sequence; /* codegen output */ int u_nfblocks; - struct fblockinfo u_fblock[CO_MAXBLOCKS]; + int u_in_inlined_comp; - int u_firstlineno; /* the first lineno of the block */ - int u_lineno; /* the lineno for the current stmt */ - int u_col_offset; /* the offset of the current stmt */ - int u_end_lineno; /* the end line of the current stmt */ - int u_end_col_offset; /* the end offset of the current stmt */ + struct fblockinfo u_fblock[CO_MAXBLOCKS]; - /* true if we need to create an implicit basicblock before the next instr */ - int u_need_new_implicit_block; + _PyCompile_CodeUnitMetadata u_metadata; }; /* This struct captures the global state of a compilation. @@ -351,8 +410,8 @@ handled by the symbol analysis pass. struct compiler { PyObject *c_filename; struct symtable *c_st; - PyFutureFeatures *c_future; /* pointer to module's __future__ */ - PyCompilerFlags *c_flags; + PyFutureFeatures c_future; /* module's __future__ */ + PyCompilerFlags c_flags; int c_optimize; /* optimization level */ int c_interactive; /* true if in interactive mode */ @@ -364,6 +423,9 @@ struct compiler { PyArena *c_arena; /* pointer to memory allocation arena */ }; +#define INSTR_SEQUENCE(C) (&((C)->u->u_instr_sequence)) + + typedef struct { // A list of strings corresponding to name captures. It is used to track: // - Repeated name assignments in the same pattern. @@ -380,7 +442,7 @@ typedef struct { // fail_pop[2]: POP_TOP // fail_pop[1]: POP_TOP // fail_pop[0]: NOP - basicblock **fail_pop; + jump_target_label *fail_pop; // The current length of fail_pop. Py_ssize_t fail_pop_size; // The number of items on top of the stack that need to *stay* on top of the @@ -389,17 +451,12 @@ typedef struct { Py_ssize_t on_top; } pattern_context; -static int compiler_enter_scope(struct compiler *, identifier, int, void *, int); +static int codegen_addop_i(instr_sequence *seq, int opcode, Py_ssize_t oparg, location loc); + static void compiler_free(struct compiler *); -static basicblock *compiler_new_block(struct compiler *); -static int compiler_next_instr(basicblock *); -static int compiler_addop(struct compiler *, int); -static int compiler_addop_i(struct compiler *, int, Py_ssize_t); -static int compiler_addop_j(struct compiler *, int, basicblock *); -static int compiler_addop_j_noline(struct compiler *, int, basicblock *); -static int compiler_error(struct compiler *, const char *, ...); -static int compiler_warn(struct compiler *, const char *, ...); -static int compiler_nameop(struct compiler *, identifier, expr_context_ty); +static int compiler_error(struct compiler *, location loc, const char *, ...); +static int compiler_warn(struct compiler *, location loc, const char *, ...); +static int compiler_nameop(struct compiler *, location, identifier, expr_context_ty); static PyCodeObject *compiler_mod(struct compiler *, mod_ty); static int compiler_visit_stmt(struct compiler *, stmt_ty); @@ -410,178 +467,122 @@ static int compiler_annassign(struct compiler *, stmt_ty); static int compiler_subscript(struct compiler *, expr_ty); static int compiler_slice(struct compiler *, expr_ty); -static int are_all_items_const(asdl_expr_seq *, Py_ssize_t, Py_ssize_t); +static bool are_all_items_const(asdl_expr_seq *, Py_ssize_t, Py_ssize_t); static int compiler_with(struct compiler *, stmt_ty, int); static int compiler_async_with(struct compiler *, stmt_ty, int); static int compiler_async_for(struct compiler *, stmt_ty); -static int validate_keywords(struct compiler *c, asdl_keyword_seq *keywords); static int compiler_call_simple_kw_helper(struct compiler *c, + location loc, asdl_keyword_seq *keywords, Py_ssize_t nkwelts); -static int compiler_call_helper(struct compiler *c, int n, - asdl_expr_seq *args, +static int compiler_call_helper(struct compiler *c, location loc, + int n, asdl_expr_seq *args, asdl_keyword_seq *keywords); static int compiler_try_except(struct compiler *, stmt_ty); static int compiler_try_star_except(struct compiler *, stmt_ty); static int compiler_set_qualname(struct compiler *); static int compiler_sync_comprehension_generator( - struct compiler *c, + struct compiler *c, location loc, asdl_comprehension_seq *generators, int gen_index, int depth, - expr_ty elt, expr_ty val, int type); + expr_ty elt, expr_ty val, int type, + int iter_on_stack); static int compiler_async_comprehension_generator( - struct compiler *c, + struct compiler *c, location loc, asdl_comprehension_seq *generators, int gen_index, int depth, - expr_ty elt, expr_ty val, int type); + expr_ty elt, expr_ty val, int type, + int iter_on_stack); static int compiler_pattern(struct compiler *, pattern_ty, pattern_context *); static int compiler_match(struct compiler *, stmt_ty); -static int compiler_pattern_subpattern(struct compiler *, pattern_ty, - pattern_context *); - -static void clean_basic_block(basicblock *bb); +static int compiler_pattern_subpattern(struct compiler *, + pattern_ty, pattern_context *); -static PyCodeObject *assemble(struct compiler *, int addNone); +static PyCodeObject *optimize_and_assemble(struct compiler *, int addNone); #define CAPSULE_NAME "compile.c compiler unit" -PyObject * -_Py_Mangle(PyObject *privateobj, PyObject *ident) -{ - /* Name mangling: __private becomes _classname__private. - This is independent from how the name is used. */ - PyObject *result; - size_t nlen, plen, ipriv; - Py_UCS4 maxchar; - if (privateobj == NULL || !PyUnicode_Check(privateobj) || - PyUnicode_READ_CHAR(ident, 0) != '_' || - PyUnicode_READ_CHAR(ident, 1) != '_') { - Py_INCREF(ident); - return ident; - } - nlen = PyUnicode_GET_LENGTH(ident); - plen = PyUnicode_GET_LENGTH(privateobj); - /* Don't mangle __id__ or names with dots. - - The only time a name with a dot can occur is when - we are compiling an import statement that has a - package name. - - TODO(jhylton): Decide whether we want to support - mangling of the module name, e.g. __M.X. - */ - if ((PyUnicode_READ_CHAR(ident, nlen-1) == '_' && - PyUnicode_READ_CHAR(ident, nlen-2) == '_') || - PyUnicode_FindChar(ident, '.', 0, nlen, 1) != -1) { - Py_INCREF(ident); - return ident; /* Don't mangle __whatever__ */ - } - /* Strip leading underscores from class name */ - ipriv = 0; - while (PyUnicode_READ_CHAR(privateobj, ipriv) == '_') - ipriv++; - if (ipriv == plen) { - Py_INCREF(ident); - return ident; /* Don't mangle if class is just underscores */ - } - plen -= ipriv; - - if (plen + nlen >= PY_SSIZE_T_MAX - 1) { - PyErr_SetString(PyExc_OverflowError, - "private identifier too large to be mangled"); - return NULL; - } - - maxchar = PyUnicode_MAX_CHAR_VALUE(ident); - if (PyUnicode_MAX_CHAR_VALUE(privateobj) > maxchar) - maxchar = PyUnicode_MAX_CHAR_VALUE(privateobj); - - result = PyUnicode_New(1 + nlen + plen, maxchar); - if (!result) - return 0; - /* ident = "_" + priv[ipriv:] + ident # i.e. 1+plen+nlen bytes */ - PyUnicode_WRITE(PyUnicode_KIND(result), PyUnicode_DATA(result), 0, '_'); - if (PyUnicode_CopyCharacters(result, 1, privateobj, ipriv, plen) < 0) { - Py_DECREF(result); - return NULL; - } - if (PyUnicode_CopyCharacters(result, plen+1, ident, 0, nlen) < 0) { - Py_DECREF(result); - return NULL; - } - assert(_PyUnicode_CheckConsistency(result, 1)); - return result; -} static int -compiler_init(struct compiler *c) +compiler_setup(struct compiler *c, mod_ty mod, PyObject *filename, + PyCompilerFlags *flags, int optimize, PyArena *arena) { - memset(c, 0, sizeof(struct compiler)); + PyCompilerFlags local_flags = _PyCompilerFlags_INIT; c->c_const_cache = PyDict_New(); if (!c->c_const_cache) { - return 0; + return ERROR; } c->c_stack = PyList_New(0); if (!c->c_stack) { - Py_CLEAR(c->c_const_cache); - return 0; + return ERROR; } - return 1; -} - -PyCodeObject * -_PyAST_Compile(mod_ty mod, PyObject *filename, PyCompilerFlags *flags, - int optimize, PyArena *arena) -{ - struct compiler c; - PyCodeObject *co = NULL; - PyCompilerFlags local_flags = _PyCompilerFlags_INIT; - int merged; - if (!compiler_init(&c)) - return NULL; - Py_INCREF(filename); - c.c_filename = filename; - c.c_arena = arena; - c.c_future = _PyFuture_FromAST(mod, filename); - if (c.c_future == NULL) - goto finally; + c->c_filename = Py_NewRef(filename); + c->c_arena = arena; + if (!_PyFuture_FromAST(mod, filename, &c->c_future)) { + return ERROR; + } if (!flags) { flags = &local_flags; } - merged = c.c_future->ff_features | flags->cf_flags; - c.c_future->ff_features = merged; + int merged = c->c_future.ff_features | flags->cf_flags; + c->c_future.ff_features = merged; flags->cf_flags = merged; - c.c_flags = flags; - c.c_optimize = (optimize == -1) ? _Py_GetConfig()->optimization_level : optimize; - c.c_nestlevel = 0; + c->c_flags = *flags; + c->c_optimize = (optimize == -1) ? _Py_GetConfig()->optimization_level : optimize; + c->c_nestlevel = 0; _PyASTOptimizeState state; - state.optimize = c.c_optimize; + state.optimize = c->c_optimize; state.ff_features = merged; if (!_PyAST_Optimize(mod, arena, &state)) { - goto finally; + return ERROR; } - - c.c_st = _PySymtable_Build(mod, filename, c.c_future); - if (c.c_st == NULL) { - if (!PyErr_Occurred()) + c->c_st = _PySymtable_Build(mod, filename, &c->c_future); + if (c->c_st == NULL) { + if (!PyErr_Occurred()) { PyErr_SetString(PyExc_SystemError, "no symtable"); - goto finally; + } + return ERROR; + } + return SUCCESS; +} + +static struct compiler* +new_compiler(mod_ty mod, PyObject *filename, PyCompilerFlags *pflags, + int optimize, PyArena *arena) +{ + struct compiler *c = PyMem_Calloc(1, sizeof(struct compiler)); + if (c == NULL) { + return NULL; + } + if (compiler_setup(c, mod, filename, pflags, optimize, arena) < 0) { + compiler_free(c); + return NULL; } + return c; +} - co = compiler_mod(&c, mod); +PyCodeObject * +_PyAST_Compile(mod_ty mod, PyObject *filename, PyCompilerFlags *pflags, + int optimize, PyArena *arena) +{ + assert(!PyErr_Occurred()); + struct compiler *c = new_compiler(mod, filename, pflags, optimize, arena); + if (c == NULL) { + return NULL; + } - finally: - compiler_free(&c); + PyCodeObject *co = compiler_mod(c, mod); + compiler_free(c); assert(co || PyErr_Occurred()); return co; } @@ -591,11 +592,10 @@ compiler_free(struct compiler *c) { if (c->c_st) _PySymtable_Free(c->c_st); - if (c->c_future) - PyObject_Free(c->c_future); Py_XDECREF(c->c_filename); - Py_DECREF(c->c_const_cache); - Py_DECREF(c->c_stack); + Py_XDECREF(c->c_const_cache); + Py_XDECREF(c->c_stack); + PyMem_Free(c); } static PyObject * @@ -687,46 +687,19 @@ dictbytype(PyObject *src, int scope_type, int flag, Py_ssize_t offset) return dest; } -static void -compiler_unit_check(struct compiler_unit *u) -{ - basicblock *block; - for (block = u->u_blocks; block != NULL; block = block->b_list) { - assert(!_PyMem_IsPtrFreed(block)); - if (block->b_instr != NULL) { - assert(block->b_ialloc > 0); - assert(block->b_iused >= 0); - assert(block->b_ialloc >= block->b_iused); - } - else { - assert (block->b_iused == 0); - assert (block->b_ialloc == 0); - } - } -} - static void compiler_unit_free(struct compiler_unit *u) { - basicblock *b, *next; - - compiler_unit_check(u); - b = u->u_blocks; - while (b != NULL) { - if (b->b_instr) - PyObject_Free((void *)b->b_instr); - next = b->b_list; - PyObject_Free((void *)b); - b = next; - } + instr_sequence_fini(&u->u_instr_sequence); Py_CLEAR(u->u_ste); - Py_CLEAR(u->u_name); - Py_CLEAR(u->u_qualname); - Py_CLEAR(u->u_consts); - Py_CLEAR(u->u_names); - Py_CLEAR(u->u_varnames); - Py_CLEAR(u->u_freevars); - Py_CLEAR(u->u_cellvars); + Py_CLEAR(u->u_metadata.u_name); + Py_CLEAR(u->u_metadata.u_qualname); + Py_CLEAR(u->u_metadata.u_consts); + Py_CLEAR(u->u_metadata.u_names); + Py_CLEAR(u->u_metadata.u_varnames); + Py_CLEAR(u->u_metadata.u_freevars); + Py_CLEAR(u->u_metadata.u_cellvars); + Py_CLEAR(u->u_metadata.u_fasthidden); Py_CLEAR(u->u_private); PyObject_Free(u); } @@ -749,14 +722,29 @@ compiler_set_qualname(struct compiler *c) capsule = PyList_GET_ITEM(c->c_stack, stack_size - 1); parent = (struct compiler_unit *)PyCapsule_GetPointer(capsule, CAPSULE_NAME); assert(parent); + if (parent->u_scope_type == COMPILER_SCOPE_TYPEPARAMS) { + /* The parent is a type parameter scope, so we need to + look at the grandparent. */ + if (stack_size == 2) { + // If we're immediately within the module, we can skip + // the rest and just set the qualname to be the same as name. + u->u_metadata.u_qualname = Py_NewRef(u->u_metadata.u_name); + return SUCCESS; + } + capsule = PyList_GET_ITEM(c->c_stack, stack_size - 2); + parent = (struct compiler_unit *)PyCapsule_GetPointer(capsule, CAPSULE_NAME); + assert(parent); + } if (u->u_scope_type == COMPILER_SCOPE_FUNCTION || u->u_scope_type == COMPILER_SCOPE_ASYNC_FUNCTION || u->u_scope_type == COMPILER_SCOPE_CLASS) { - assert(u->u_name); - mangled = _Py_Mangle(parent->u_private, u->u_name); - if (!mangled) - return 0; + assert(u->u_metadata.u_name); + mangled = _Py_Mangle(parent->u_private, u->u_metadata.u_name); + if (!mangled) { + return ERROR; + } + scope = _PyST_GetScope(parent->u_ste, mangled); Py_DECREF(mangled); assert(scope != GLOBAL_IMPLICIT); @@ -770,14 +758,14 @@ compiler_set_qualname(struct compiler *c) || parent->u_scope_type == COMPILER_SCOPE_LAMBDA) { _Py_DECLARE_STR(dot_locals, "."); - base = PyUnicode_Concat(parent->u_qualname, + base = PyUnicode_Concat(parent->u_metadata.u_qualname, &_Py_STR(dot_locals)); - if (base == NULL) - return 0; + if (base == NULL) { + return ERROR; + } } else { - Py_INCREF(parent->u_qualname); - base = parent->u_qualname; + base = Py_NewRef(parent->u_metadata.u_qualname); } } } @@ -786,150 +774,21 @@ compiler_set_qualname(struct compiler *c) _Py_DECLARE_STR(dot, "."); name = PyUnicode_Concat(base, &_Py_STR(dot)); Py_DECREF(base); - if (name == NULL) - return 0; - PyUnicode_Append(&name, u->u_name); - if (name == NULL) - return 0; - } - else { - Py_INCREF(u->u_name); - name = u->u_name; - } - u->u_qualname = name; - - return 1; -} - - -/* Allocate a new block and return a pointer to it. - Returns NULL on error. -*/ - -static basicblock * -compiler_new_block(struct compiler *c) -{ - basicblock *b; - struct compiler_unit *u; - - u = c->u; - b = (basicblock *)PyObject_Calloc(1, sizeof(basicblock)); - if (b == NULL) { - PyErr_NoMemory(); - return NULL; - } - /* Extend the singly linked list of blocks with new block. */ - b->b_list = u->u_blocks; - u->u_blocks = b; - return b; -} - -static basicblock * -compiler_use_next_block(struct compiler *c, basicblock *block) -{ - assert(block != NULL); - c->u->u_curblock->b_next = block; - c->u->u_curblock = block; - c->u->u_need_new_implicit_block = 0; - return block; -} - -static basicblock * -compiler_copy_block(struct compiler *c, basicblock *block) -{ - /* Cannot copy a block if it has a fallthrough, since - * a block can only have one fallthrough predecessor. - */ - assert(block->b_nofallthrough); - basicblock *result = compiler_new_block(c); - if (result == NULL) { - return NULL; - } - for (int i = 0; i < block->b_iused; i++) { - int n = compiler_next_instr(result); - if (n < 0) { - return NULL; + if (name == NULL) { + return ERROR; } - result->b_instr[n] = block->b_instr[i]; - } - result->b_exit = block->b_exit; - result->b_nofallthrough = 1; - return result; -} - -/* Returns the offset of the next instruction in the current block's - b_instr array. Resizes the b_instr as necessary. - Returns -1 on failure. -*/ - -static int -compiler_next_instr(basicblock *b) -{ - assert(b != NULL); - if (b->b_instr == NULL) { - b->b_instr = (struct instr *)PyObject_Calloc( - DEFAULT_BLOCK_SIZE, sizeof(struct instr)); - if (b->b_instr == NULL) { - PyErr_NoMemory(); - return -1; + PyUnicode_Append(&name, u->u_metadata.u_name); + if (name == NULL) { + return ERROR; } - b->b_ialloc = DEFAULT_BLOCK_SIZE; } - else if (b->b_iused == b->b_ialloc) { - struct instr *tmp; - size_t oldsize, newsize; - oldsize = b->b_ialloc * sizeof(struct instr); - newsize = oldsize << 1; - - if (oldsize > (SIZE_MAX >> 1)) { - PyErr_NoMemory(); - return -1; - } - - if (newsize == 0) { - PyErr_NoMemory(); - return -1; - } - b->b_ialloc <<= 1; - tmp = (struct instr *)PyObject_Realloc( - (void *)b->b_instr, newsize); - if (tmp == NULL) { - PyErr_NoMemory(); - return -1; - } - b->b_instr = tmp; - memset((char *)b->b_instr + oldsize, 0, newsize - oldsize); + else { + name = Py_NewRef(u->u_metadata.u_name); } - return b->b_iused++; -} + u->u_metadata.u_qualname = name; -/* Set the line number and column offset for the following instructions. - - The line number is reset in the following cases: - - when entering a new scope - - on each statement - - on each expression and sub-expression - - before the "except" and "finally" clauses -*/ - -#define SET_LOC(c, x) \ - (c)->u->u_lineno = (x)->lineno; \ - (c)->u->u_col_offset = (x)->col_offset; \ - (c)->u->u_end_lineno = (x)->end_lineno; \ - (c)->u->u_end_col_offset = (x)->end_col_offset; - -// Artificial instructions -#define UNSET_LOC(c) \ - (c)->u->u_lineno = -1; \ - (c)->u->u_col_offset = -1; \ - (c)->u->u_end_lineno = -1; \ - (c)->u->u_end_col_offset = -1; - -#define COPY_INSTR_LOC(old, new) \ - (new).i_lineno = (old).i_lineno; \ - (new).i_col_offset = (old).i_col_offset; \ - (new).i_end_lineno = (old).i_end_lineno; \ - (new).i_end_col_offset = (old).i_end_col_offset; + return SUCCESS; +} /* Return the stack effect of opcode with argument oparg. @@ -943,139 +802,49 @@ compiler_next_instr(basicblock *b) static int stack_effect(int opcode, int oparg, int jump) { - switch (opcode) { - case NOP: - case EXTENDED_ARG: - case RESUME: - case CACHE: - return 0; - - /* Stack manipulation */ - case POP_TOP: - return -1; - case SWAP: - return 0; - - /* Unary operators */ - case UNARY_POSITIVE: - case UNARY_NEGATIVE: - case UNARY_NOT: - case UNARY_INVERT: - return 0; - - case SET_ADD: - case LIST_APPEND: - return -1; - case MAP_ADD: - return -2; - - case BINARY_SUBSCR: - return -1; - case STORE_SUBSCR: - return -3; - case DELETE_SUBSCR: - return -2; - - case GET_ITER: - return 0; - - case PRINT_EXPR: - return -1; - case LOAD_BUILD_CLASS: - return 1; + if (0 <= opcode && opcode <= MAX_REAL_OPCODE) { + if (_PyOpcode_Deopt[opcode] != opcode) { + // Specialized instructions are not supported. + return PY_INVALID_STACK_EFFECT; + } + int popped, pushed; + if (jump > 0) { + popped = _PyOpcode_num_popped(opcode, oparg, true); + pushed = _PyOpcode_num_pushed(opcode, oparg, true); + } + else { + popped = _PyOpcode_num_popped(opcode, oparg, false); + pushed = _PyOpcode_num_pushed(opcode, oparg, false); + } + if (popped < 0 || pushed < 0) { + return PY_INVALID_STACK_EFFECT; + } + if (jump >= 0) { + return pushed - popped; + } + if (jump < 0) { + // Compute max(pushed - popped, alt_pushed - alt_popped) + int alt_popped = _PyOpcode_num_popped(opcode, oparg, true); + int alt_pushed = _PyOpcode_num_pushed(opcode, oparg, true); + if (alt_popped < 0 || alt_pushed < 0) { + return PY_INVALID_STACK_EFFECT; + } + int diff = pushed - popped; + int alt_diff = alt_pushed - alt_popped; + if (alt_diff > diff) { + return alt_diff; + } + return diff; + } + } - case RETURN_VALUE: - return -1; - case IMPORT_STAR: - return -1; - case SETUP_ANNOTATIONS: - return 0; - case ASYNC_GEN_WRAP: - case YIELD_VALUE: - return 0; + // Pseudo ops + switch (opcode) { case POP_BLOCK: - return 0; - case POP_EXCEPT: - return -1; - - case STORE_NAME: - return -1; - case DELETE_NAME: - return 0; - case UNPACK_SEQUENCE: - return oparg-1; - case UNPACK_EX: - return (oparg&0xFF) + (oparg>>8); - case FOR_ITER: - /* -1 at end of iterator, 1 if continue iterating. */ - return jump > 0 ? -1 : 1; - case SEND: - return jump > 0 ? -1 : 0; - case STORE_ATTR: - return -2; - case DELETE_ATTR: - return -1; - case STORE_GLOBAL: - return -1; - case DELETE_GLOBAL: - return 0; - case LOAD_CONST: - return 1; - case LOAD_NAME: - return 1; - case BUILD_TUPLE: - case BUILD_LIST: - case BUILD_SET: - case BUILD_STRING: - return 1-oparg; - case BUILD_MAP: - return 1 - 2*oparg; - case BUILD_CONST_KEY_MAP: - return -oparg; - case LOAD_ATTR: - return 0; - case COMPARE_OP: - case IS_OP: - case CONTAINS_OP: - return -1; - case CHECK_EXC_MATCH: - return 0; - case CHECK_EG_MATCH: - return 0; - case IMPORT_NAME: - return -1; - case IMPORT_FROM: - return 1; - - /* Jumps */ - case JUMP_FORWARD: - case JUMP_BACKWARD: case JUMP: - case JUMP_BACKWARD_NO_INTERRUPT: case JUMP_NO_INTERRUPT: return 0; - case JUMP_IF_TRUE_OR_POP: - case JUMP_IF_FALSE_OR_POP: - return jump ? 0 : -1; - - case POP_JUMP_BACKWARD_IF_NONE: - case POP_JUMP_FORWARD_IF_NONE: - case POP_JUMP_IF_NONE: - case POP_JUMP_BACKWARD_IF_NOT_NONE: - case POP_JUMP_FORWARD_IF_NOT_NONE: - case POP_JUMP_IF_NOT_NONE: - case POP_JUMP_FORWARD_IF_FALSE: - case POP_JUMP_BACKWARD_IF_FALSE: - case POP_JUMP_IF_FALSE: - case POP_JUMP_FORWARD_IF_TRUE: - case POP_JUMP_BACKWARD_IF_TRUE: - case POP_JUMP_IF_TRUE: - return -1; - - case LOAD_GLOBAL: - return (oparg & 1) + 1; - /* Exception handling pseudo-instructions */ case SETUP_FINALLY: /* 0 in the normal flow. @@ -1092,107 +861,18 @@ stack_effect(int opcode, int oparg, int jump) * if an exception be raised. */ return jump ? 1 : 0; - case PREP_RERAISE_STAR: - return -1; - case RERAISE: - return -1; - case PUSH_EXC_INFO: - return 1; - - case WITH_EXCEPT_START: - return 1; - - case LOAD_FAST: - return 1; - case STORE_FAST: - return -1; - case DELETE_FAST: - return 0; - - case RETURN_GENERATOR: - return 0; - - case RAISE_VARARGS: - return -oparg; - - /* Functions and calls */ - case PRECALL: - return -oparg; - case KW_NAMES: - return 0; - case CALL: - return -1; - - case CALL_FUNCTION_EX: - return -2 - ((oparg & 0x01) != 0); - case MAKE_FUNCTION: - return 0 - ((oparg & 0x01) != 0) - ((oparg & 0x02) != 0) - - ((oparg & 0x04) != 0) - ((oparg & 0x08) != 0); - case BUILD_SLICE: - if (oparg == 3) - return -2; - else - return -1; - - /* Closures */ - case MAKE_CELL: - case COPY_FREE_VARS: - return 0; - case LOAD_CLOSURE: - return 1; - case LOAD_DEREF: - case LOAD_CLASSDEREF: - return 1; - case STORE_DEREF: + case STORE_FAST_MAYBE_NULL: return -1; - case DELETE_DEREF: - return 0; - - /* Iterators and generators */ - case GET_AWAITABLE: - return 0; - - case BEFORE_ASYNC_WITH: - case BEFORE_WITH: - return 1; - case GET_AITER: - return 0; - case GET_ANEXT: - return 1; - case GET_YIELD_FROM_ITER: - return 0; - case END_ASYNC_FOR: - return -2; - case FORMAT_VALUE: - /* If there's a fmt_spec on the stack, we go from 2->1, - else 1->1. */ - return (oparg & FVS_MASK) == FVS_HAVE_SPEC ? -1 : 0; case LOAD_METHOD: return 1; - case LOAD_ASSERTION_ERROR: - return 1; - case LIST_TO_TUPLE: - return 0; - case LIST_EXTEND: - case SET_UPDATE: - case DICT_MERGE: - case DICT_UPDATE: - return -1; - case MATCH_CLASS: - return -2; - case GET_LEN: - case MATCH_MAPPING: - case MATCH_SEQUENCE: - case MATCH_KEYS: - return 1; - case COPY: - case PUSH_NULL: - return 1; - case BINARY_OP: + case LOAD_SUPER_METHOD: + case LOAD_ZERO_SUPER_METHOD: + case LOAD_ZERO_SUPER_ATTR: return -1; default: return PY_INVALID_STACK_EFFECT; } + return PY_INVALID_STACK_EFFECT; /* not reachable */ } @@ -1208,89 +888,16 @@ PyCompile_OpcodeStackEffect(int opcode, int oparg) return stack_effect(opcode, oparg, -1); } -static int is_end_of_basic_block(struct instr *instr) -{ - int opcode = instr->i_opcode; - - return is_jump(instr) || - opcode == RETURN_VALUE || - opcode == RAISE_VARARGS || - opcode == RERAISE; -} - -static int -compiler_use_new_implicit_block_if_needed(struct compiler *c) -{ - if (c->u->u_need_new_implicit_block) { - basicblock *b = compiler_new_block(c); - if (b == NULL) { - return -1; - } - compiler_use_next_block(c, b); - } - return 0; -} - -static void -compiler_check_if_end_of_block(struct compiler *c, struct instr *instr) -{ - if (is_end_of_basic_block(instr)) { - c->u->u_need_new_implicit_block = 1; - } -} - -/* Add an opcode with no argument. - Returns 0 on failure, 1 on success. -*/ - static int -compiler_addop_line(struct compiler *c, int opcode, int line, - int end_line, int col_offset, int end_col_offset) +codegen_addop_noarg(instr_sequence *seq, int opcode, location loc) { - assert(IS_WITHIN_OPCODE_RANGE(opcode)); + assert(!HAS_ARG(opcode)); assert(!IS_ASSEMBLER_OPCODE(opcode)); - assert(!HAS_ARG(opcode) || IS_ARTIFICIAL(opcode)); - - if (compiler_use_new_implicit_block_if_needed(c) < 0) { - return -1; - } - - basicblock *b = c->u->u_curblock; - int off = compiler_next_instr(b); - if (off < 0) { - return 0; - } - struct instr *i = &b->b_instr[off]; - i->i_opcode = opcode; - i->i_oparg = 0; - if (opcode == RETURN_VALUE) { - b->b_return = 1; - } - i->i_lineno = line; - i->i_end_lineno = end_line; - i->i_col_offset = col_offset; - i->i_end_col_offset = end_col_offset; - - compiler_check_if_end_of_block(c, i); - return 1; -} - -static int -compiler_addop(struct compiler *c, int opcode) -{ - return compiler_addop_line(c, opcode, c->u->u_lineno, c->u->u_end_lineno, - c->u->u_col_offset, c->u->u_end_col_offset); -} - -static int -compiler_addop_noline(struct compiler *c, int opcode) -{ - return compiler_addop_line(c, opcode, -1, 0, 0, 0); + return instr_sequence_addop(seq, opcode, 0, loc); } - static Py_ssize_t -compiler_add_o(PyObject *dict, PyObject *o) +dict_add_o(PyObject *dict, PyObject *o) { PyObject *v; Py_ssize_t arg; @@ -1298,16 +905,16 @@ compiler_add_o(PyObject *dict, PyObject *o) v = PyDict_GetItemWithError(dict, o); if (!v) { if (PyErr_Occurred()) { - return -1; + return ERROR; } arg = PyDict_GET_SIZE(dict); v = PyLong_FromSsize_t(arg); if (!v) { - return -1; + return ERROR; } if (PyDict_SetItem(dict, o, v) < 0) { Py_DECREF(v); - return -1; + return ERROR; } Py_DECREF(v); } @@ -1318,13 +925,13 @@ compiler_add_o(PyObject *dict, PyObject *o) // Merge const *o* recursively and return constant key object. static PyObject* -merge_consts_recursive(struct compiler *c, PyObject *o) +merge_consts_recursive(PyObject *const_cache, PyObject *o) { + assert(PyDict_CheckExact(const_cache)); // None and Ellipsis are singleton, and key is the singleton. // No need to merge object and key. if (o == Py_None || o == Py_Ellipsis) { - Py_INCREF(o); - return o; + return Py_NewRef(o); } PyObject *key = _PyCode_ConstantKey(o); @@ -1333,22 +940,22 @@ merge_consts_recursive(struct compiler *c, PyObject *o) } // t is borrowed reference - PyObject *t = PyDict_SetDefault(c->c_const_cache, key, key); + PyObject *t = PyDict_SetDefault(const_cache, key, key); if (t != key) { - // o is registered in c_const_cache. Just use it. + // o is registered in const_cache. Just use it. Py_XINCREF(t); Py_DECREF(key); return t; } - // We registered o in c_const_cache. + // We registered o in const_cache. // When o is a tuple or frozenset, we want to merge its // items too. if (PyTuple_CheckExact(o)) { Py_ssize_t len = PyTuple_GET_SIZE(o); for (Py_ssize_t i = 0; i < len; i++) { PyObject *item = PyTuple_GET_ITEM(o, i); - PyObject *u = merge_consts_recursive(c, item); + PyObject *u = merge_consts_recursive(const_cache, item); if (u == NULL) { Py_DECREF(key); return NULL; @@ -1363,8 +970,7 @@ merge_consts_recursive(struct compiler *c, PyObject *o) v = u; } if (v != item) { - Py_INCREF(v); - PyTuple_SET_ITEM(o, i, v); + PyTuple_SET_ITEM(o, i, Py_NewRef(v)); Py_DECREF(item); } @@ -1391,7 +997,7 @@ merge_consts_recursive(struct compiler *c, PyObject *o) PyObject *item; Py_hash_t hash; while (_PySet_NextEntry(o, &pos, &item, &hash)) { - PyObject *k = merge_consts_recursive(c, item); + PyObject *k = merge_consts_recursive(const_cache, item); if (k == NULL) { Py_DECREF(tuple); Py_DECREF(key); @@ -1399,8 +1005,7 @@ merge_consts_recursive(struct compiler *c, PyObject *o) } PyObject *u; if (PyTuple_CheckExact(k)) { - u = PyTuple_GET_ITEM(k, 1); - Py_INCREF(u); + u = Py_NewRef(PyTuple_GET_ITEM(k, 1)); Py_DECREF(k); } else { @@ -1427,61 +1032,85 @@ merge_consts_recursive(struct compiler *c, PyObject *o) } static Py_ssize_t -compiler_add_const(struct compiler *c, PyObject *o) +compiler_add_const(PyObject *const_cache, struct compiler_unit *u, PyObject *o) { - PyObject *key = merge_consts_recursive(c, o); + assert(PyDict_CheckExact(const_cache)); + PyObject *key = merge_consts_recursive(const_cache, o); if (key == NULL) { - return -1; + return ERROR; } - Py_ssize_t arg = compiler_add_o(c->u->u_consts, key); + Py_ssize_t arg = dict_add_o(u->u_metadata.u_consts, key); Py_DECREF(key); return arg; } static int -compiler_addop_load_const(struct compiler *c, PyObject *o) +compiler_addop_load_const(PyObject *const_cache, struct compiler_unit *u, location loc, PyObject *o) { - Py_ssize_t arg = compiler_add_const(c, o); - if (arg < 0) - return 0; - return compiler_addop_i(c, LOAD_CONST, arg); + Py_ssize_t arg = compiler_add_const(const_cache, u, o); + if (arg < 0) { + return ERROR; + } + return codegen_addop_i(&u->u_instr_sequence, LOAD_CONST, arg, loc); } static int -compiler_addop_o(struct compiler *c, int opcode, PyObject *dict, - PyObject *o) +compiler_addop_o(struct compiler_unit *u, location loc, + int opcode, PyObject *dict, PyObject *o) { - Py_ssize_t arg = compiler_add_o(dict, o); - if (arg < 0) - return 0; - return compiler_addop_i(c, opcode, arg); + Py_ssize_t arg = dict_add_o(dict, o); + if (arg < 0) { + return ERROR; + } + return codegen_addop_i(&u->u_instr_sequence, opcode, arg, loc); } static int -compiler_addop_name(struct compiler *c, int opcode, PyObject *dict, - PyObject *o) +compiler_addop_name(struct compiler_unit *u, location loc, + int opcode, PyObject *dict, PyObject *o) { - Py_ssize_t arg; - - PyObject *mangled = _Py_Mangle(c->u->u_private, o); - if (!mangled) - return 0; - arg = compiler_add_o(dict, mangled); + PyObject *mangled = _Py_Mangle(u->u_private, o); + if (!mangled) { + return ERROR; + } + Py_ssize_t arg = dict_add_o(dict, mangled); Py_DECREF(mangled); - if (arg < 0) - return 0; - return compiler_addop_i(c, opcode, arg); + if (arg < 0) { + return ERROR; + } + if (opcode == LOAD_ATTR) { + arg <<= 1; + } + if (opcode == LOAD_METHOD) { + opcode = LOAD_ATTR; + arg <<= 1; + arg |= 1; + } + if (opcode == LOAD_SUPER_ATTR) { + arg <<= 2; + arg |= 2; + } + if (opcode == LOAD_SUPER_METHOD) { + opcode = LOAD_SUPER_ATTR; + arg <<= 2; + arg |= 3; + } + if (opcode == LOAD_ZERO_SUPER_ATTR) { + opcode = LOAD_SUPER_ATTR; + arg <<= 2; + } + if (opcode == LOAD_ZERO_SUPER_METHOD) { + opcode = LOAD_SUPER_ATTR; + arg <<= 2; + arg |= 1; + } + return codegen_addop_i(&u->u_instr_sequence, opcode, arg, loc); } -/* Add an opcode with an integer argument. - Returns 0 on failure, 1 on success. -*/ - +/* Add an opcode with an integer argument */ static int -compiler_addop_i_line(struct compiler *c, int opcode, Py_ssize_t oparg, - int lineno, int end_lineno, - int col_offset, int end_col_offset) +codegen_addop_i(instr_sequence *seq, int opcode, Py_ssize_t oparg, location loc) { /* oparg value is unsigned, but a signed C int is usually used to store it in the C code (like Python/ceval.c). @@ -1491,206 +1120,101 @@ compiler_addop_i_line(struct compiler *c, int opcode, Py_ssize_t oparg, The argument of a concrete bytecode instruction is limited to 8-bit. EXTENDED_ARG is used for 16, 24, and 32-bit arguments. */ - assert(IS_WITHIN_OPCODE_RANGE(opcode)); + int oparg_ = Py_SAFE_DOWNCAST(oparg, Py_ssize_t, int); assert(!IS_ASSEMBLER_OPCODE(opcode)); - assert(HAS_ARG(opcode)); - assert(0 <= oparg && oparg <= 2147483647); - - if (compiler_use_new_implicit_block_if_needed(c) < 0) { - return -1; - } - - basicblock *b = c->u->u_curblock; - int off = compiler_next_instr(b); - if (off < 0) { - return 0; - } - struct instr *i = &b->b_instr[off]; - i->i_opcode = opcode; - i->i_oparg = Py_SAFE_DOWNCAST(oparg, Py_ssize_t, int); - i->i_lineno = lineno; - i->i_end_lineno = end_lineno; - i->i_col_offset = col_offset; - i->i_end_col_offset = end_col_offset; - - compiler_check_if_end_of_block(c, i); - return 1; -} - -static int -compiler_addop_i(struct compiler *c, int opcode, Py_ssize_t oparg) -{ - return compiler_addop_i_line(c, opcode, oparg, - c->u->u_lineno, c->u->u_end_lineno, - c->u->u_col_offset, c->u->u_end_col_offset); + return instr_sequence_addop(seq, opcode, oparg_, loc); } static int -compiler_addop_i_noline(struct compiler *c, int opcode, Py_ssize_t oparg) -{ - return compiler_addop_i_line(c, opcode, oparg, -1, 0, 0, 0); -} - -static int add_jump_to_block(struct compiler *c, int opcode, - int lineno, int end_lineno, - int col_offset, int end_col_offset, - basicblock *target) +codegen_addop_j(instr_sequence *seq, location loc, + int opcode, jump_target_label target) { - assert(IS_WITHIN_OPCODE_RANGE(opcode)); + assert(IS_LABEL(target)); + assert(IS_JUMP_OPCODE(opcode) || IS_BLOCK_PUSH_OPCODE(opcode)); assert(!IS_ASSEMBLER_OPCODE(opcode)); - assert(HAS_ARG(opcode) || IS_VIRTUAL_OPCODE(opcode)); - assert(target != NULL); - - if (compiler_use_new_implicit_block_if_needed(c) < 0) { - return -1; - } - - basicblock *b = c->u->u_curblock; - int off = compiler_next_instr(b); - struct instr *i = &b->b_instr[off]; - if (off < 0) { - return 0; - } - i->i_opcode = opcode; - i->i_target = target; - i->i_lineno = lineno; - i->i_end_lineno = end_lineno; - i->i_col_offset = col_offset; - i->i_end_col_offset = end_col_offset; - - compiler_check_if_end_of_block(c, i); - return 1; -} - -static int -compiler_addop_j(struct compiler *c, int opcode, basicblock *b) -{ - return add_jump_to_block(c, opcode, c->u->u_lineno, - c->u->u_end_lineno, c->u->u_col_offset, - c->u->u_end_col_offset, b); -} - -static int -compiler_addop_j_noline(struct compiler *c, int opcode, basicblock *b) -{ - return add_jump_to_block(c, opcode, -1, 0, 0, 0, b); + return instr_sequence_addop(seq, opcode, target.id, loc); } -#define ADDOP(C, OP) { \ - if (!compiler_addop((C), (OP))) \ - return 0; \ +#define RETURN_IF_ERROR_IN_SCOPE(C, CALL) { \ + if ((CALL) < 0) { \ + compiler_exit_scope((C)); \ + return ERROR; \ + } \ } -#define ADDOP_NOLINE(C, OP) { \ - if (!compiler_addop_noline((C), (OP))) \ - return 0; \ -} +#define ADDOP(C, LOC, OP) \ + RETURN_IF_ERROR(codegen_addop_noarg(INSTR_SEQUENCE(C), (OP), (LOC))) -#define ADDOP_IN_SCOPE(C, OP) { \ - if (!compiler_addop((C), (OP))) { \ - compiler_exit_scope(c); \ - return 0; \ - } \ -} +#define ADDOP_IN_SCOPE(C, LOC, OP) RETURN_IF_ERROR_IN_SCOPE((C), codegen_addop_noarg(INSTR_SEQUENCE(C), (OP), (LOC))) -#define ADDOP_LOAD_CONST(C, O) { \ - if (!compiler_addop_load_const((C), (O))) \ - return 0; \ -} +#define ADDOP_LOAD_CONST(C, LOC, O) \ + RETURN_IF_ERROR(compiler_addop_load_const((C)->c_const_cache, (C)->u, (LOC), (O))) /* Same as ADDOP_LOAD_CONST, but steals a reference. */ -#define ADDOP_LOAD_CONST_NEW(C, O) { \ +#define ADDOP_LOAD_CONST_NEW(C, LOC, O) { \ PyObject *__new_const = (O); \ if (__new_const == NULL) { \ - return 0; \ + return ERROR; \ } \ - if (!compiler_addop_load_const((C), __new_const)) { \ + if (compiler_addop_load_const((C)->c_const_cache, (C)->u, (LOC), __new_const) < 0) { \ Py_DECREF(__new_const); \ - return 0; \ + return ERROR; \ } \ Py_DECREF(__new_const); \ } -#define ADDOP_N(C, OP, O, TYPE) { \ +#define ADDOP_N(C, LOC, OP, O, TYPE) { \ assert(!HAS_CONST(OP)); /* use ADDOP_LOAD_CONST_NEW */ \ - if (!compiler_addop_o((C), (OP), (C)->u->u_ ## TYPE, (O))) { \ + if (compiler_addop_o((C)->u, (LOC), (OP), (C)->u->u_metadata.u_ ## TYPE, (O)) < 0) { \ Py_DECREF((O)); \ - return 0; \ + return ERROR; \ } \ Py_DECREF((O)); \ } -#define ADDOP_NAME(C, OP, O, TYPE) { \ - if (!compiler_addop_name((C), (OP), (C)->u->u_ ## TYPE, (O))) \ - return 0; \ -} +#define ADDOP_NAME(C, LOC, OP, O, TYPE) \ + RETURN_IF_ERROR(compiler_addop_name((C)->u, (LOC), (OP), (C)->u->u_metadata.u_ ## TYPE, (O))) -#define ADDOP_I(C, OP, O) { \ - if (!compiler_addop_i((C), (OP), (O))) \ - return 0; \ -} +#define ADDOP_I(C, LOC, OP, O) \ + RETURN_IF_ERROR(codegen_addop_i(INSTR_SEQUENCE(C), (OP), (O), (LOC))) -#define ADDOP_I_NOLINE(C, OP, O) { \ - if (!compiler_addop_i_noline((C), (OP), (O))) \ - return 0; \ -} +#define ADDOP_JUMP(C, LOC, OP, O) \ + RETURN_IF_ERROR(codegen_addop_j(INSTR_SEQUENCE(C), (LOC), (OP), (O))) -#define ADDOP_JUMP(C, OP, O) { \ - if (!compiler_addop_j((C), (OP), (O))) \ - return 0; \ -} +#define ADDOP_COMPARE(C, LOC, CMP) \ + RETURN_IF_ERROR(compiler_addcompare((C), (LOC), (cmpop_ty)(CMP))) -/* Add a jump with no line number. - * Used for artificial jumps that have no corresponding - * token in the source code. */ -#define ADDOP_JUMP_NOLINE(C, OP, O) { \ - if (!compiler_addop_j_noline((C), (OP), (O))) \ - return 0; \ -} +#define ADDOP_BINARY(C, LOC, BINOP) \ + RETURN_IF_ERROR(addop_binary((C), (LOC), (BINOP), false)) -#define ADDOP_COMPARE(C, CMP) { \ - if (!compiler_addcompare((C), (cmpop_ty)(CMP))) \ - return 0; \ -} +#define ADDOP_INPLACE(C, LOC, BINOP) \ + RETURN_IF_ERROR(addop_binary((C), (LOC), (BINOP), true)) + +#define ADD_YIELD_FROM(C, LOC, await) \ + RETURN_IF_ERROR(compiler_add_yield_from((C), (LOC), (await))) -#define ADDOP_BINARY(C, BINOP) \ - RETURN_IF_FALSE(addop_binary((C), (BINOP), false)) +#define POP_EXCEPT_AND_RERAISE(C, LOC) \ + RETURN_IF_ERROR(compiler_pop_except_and_reraise((C), (LOC))) -#define ADDOP_INPLACE(C, BINOP) \ - RETURN_IF_FALSE(addop_binary((C), (BINOP), true)) +#define ADDOP_YIELD(C, LOC) \ + RETURN_IF_ERROR(addop_yield((C), (LOC))) /* VISIT and VISIT_SEQ takes an ASDL type as their second argument. They use the ASDL name to synthesize the name of the C type and the visit function. */ -#define ADD_YIELD_FROM(C, await) \ - RETURN_IF_FALSE(compiler_add_yield_from((C), (await))) - -#define POP_EXCEPT_AND_RERAISE(C) \ - RETURN_IF_FALSE(compiler_pop_except_and_reraise((C))) - -#define ADDOP_YIELD(C) \ - RETURN_IF_FALSE(addop_yield(C)) - -#define VISIT(C, TYPE, V) {\ - if (!compiler_visit_ ## TYPE((C), (V))) \ - return 0; \ -} +#define VISIT(C, TYPE, V) \ + RETURN_IF_ERROR(compiler_visit_ ## TYPE((C), (V))); -#define VISIT_IN_SCOPE(C, TYPE, V) {\ - if (!compiler_visit_ ## TYPE((C), (V))) { \ - compiler_exit_scope(c); \ - return 0; \ - } \ -} +#define VISIT_IN_SCOPE(C, TYPE, V) \ + RETURN_IF_ERROR_IN_SCOPE((C), compiler_visit_ ## TYPE((C), (V))) #define VISIT_SEQ(C, TYPE, SEQ) { \ int _i; \ asdl_ ## TYPE ## _seq *seq = (SEQ); /* avoid variable capture */ \ for (_i = 0; _i < asdl_seq_LEN(seq); _i++) { \ TYPE ## _ty elt = (TYPE ## _ty)asdl_seq_GET(seq, _i); \ - if (!compiler_visit_ ## TYPE((C), elt)) \ - return 0; \ + RETURN_IF_ERROR(compiler_visit_ ## TYPE((C), elt)); \ } \ } @@ -1699,88 +1223,94 @@ compiler_addop_j_noline(struct compiler *c, int opcode, basicblock *b) asdl_ ## TYPE ## _seq *seq = (SEQ); /* avoid variable capture */ \ for (_i = 0; _i < asdl_seq_LEN(seq); _i++) { \ TYPE ## _ty elt = (TYPE ## _ty)asdl_seq_GET(seq, _i); \ - if (!compiler_visit_ ## TYPE((C), elt)) { \ - compiler_exit_scope(c); \ - return 0; \ + if (compiler_visit_ ## TYPE((C), elt) < 0) { \ + compiler_exit_scope(C); \ + return ERROR; \ } \ } \ } -#define RETURN_IF_FALSE(X) \ - if (!(X)) { \ - return 0; \ - } static int compiler_enter_scope(struct compiler *c, identifier name, int scope_type, void *key, int lineno) { + location loc = LOCATION(lineno, lineno, 0, 0); + struct compiler_unit *u; - basicblock *block; u = (struct compiler_unit *)PyObject_Calloc(1, sizeof( struct compiler_unit)); if (!u) { PyErr_NoMemory(); - return 0; + return ERROR; } u->u_scope_type = scope_type; - u->u_argcount = 0; - u->u_posonlyargcount = 0; - u->u_kwonlyargcount = 0; + u->u_metadata.u_argcount = 0; + u->u_metadata.u_posonlyargcount = 0; + u->u_metadata.u_kwonlyargcount = 0; u->u_ste = PySymtable_Lookup(c->c_st, key); if (!u->u_ste) { compiler_unit_free(u); - return 0; + return ERROR; } - Py_INCREF(name); - u->u_name = name; - u->u_varnames = list2dict(u->u_ste->ste_varnames); - if (!u->u_varnames) { + u->u_metadata.u_name = Py_NewRef(name); + u->u_metadata.u_varnames = list2dict(u->u_ste->ste_varnames); + if (!u->u_metadata.u_varnames) { compiler_unit_free(u); - return 0; + return ERROR; } - u->u_cellvars = dictbytype(u->u_ste->ste_symbols, CELL, 0, 0); - if (!u->u_cellvars) { + u->u_metadata.u_cellvars = dictbytype(u->u_ste->ste_symbols, CELL, DEF_COMP_CELL, 0); + if (!u->u_metadata.u_cellvars) { compiler_unit_free(u); - return 0; + return ERROR; } if (u->u_ste->ste_needs_class_closure) { /* Cook up an implicit __class__ cell. */ - int res; + Py_ssize_t res; assert(u->u_scope_type == COMPILER_SCOPE_CLASS); - assert(PyDict_GET_SIZE(u->u_cellvars) == 0); - res = PyDict_SetItem(u->u_cellvars, &_Py_ID(__class__), - _PyLong_GetZero()); + res = dict_add_o(u->u_metadata.u_cellvars, &_Py_ID(__class__)); if (res < 0) { compiler_unit_free(u); - return 0; + return ERROR; + } + } + if (u->u_ste->ste_needs_classdict) { + /* Cook up an implicit __classdict__ cell. */ + Py_ssize_t res; + assert(u->u_scope_type == COMPILER_SCOPE_CLASS); + res = dict_add_o(u->u_metadata.u_cellvars, &_Py_ID(__classdict__)); + if (res < 0) { + compiler_unit_free(u); + return ERROR; } } - u->u_freevars = dictbytype(u->u_ste->ste_symbols, FREE, DEF_FREE_CLASS, - PyDict_GET_SIZE(u->u_cellvars)); - if (!u->u_freevars) { + u->u_metadata.u_freevars = dictbytype(u->u_ste->ste_symbols, FREE, DEF_FREE_CLASS, + PyDict_GET_SIZE(u->u_metadata.u_cellvars)); + if (!u->u_metadata.u_freevars) { compiler_unit_free(u); - return 0; + return ERROR; + } + + u->u_metadata.u_fasthidden = PyDict_New(); + if (!u->u_metadata.u_fasthidden) { + compiler_unit_free(u); + return ERROR; } - u->u_blocks = NULL; u->u_nfblocks = 0; - u->u_firstlineno = lineno; - u->u_lineno = lineno; - u->u_col_offset = 0; - u->u_end_lineno = lineno; - u->u_end_col_offset = 0; - u->u_consts = PyDict_New(); - if (!u->u_consts) { + u->u_in_inlined_comp = 0; + u->u_metadata.u_firstlineno = lineno; + u->u_metadata.u_consts = PyDict_New(); + if (!u->u_metadata.u_consts) { compiler_unit_free(u); - return 0; + return ERROR; } - u->u_names = PyDict_New(); - if (!u->u_names) { + u->u_metadata.u_names = PyDict_New(); + if (!u->u_metadata.u_names) { compiler_unit_free(u); - return 0; + return ERROR; } u->u_private = NULL; @@ -1791,42 +1321,34 @@ compiler_enter_scope(struct compiler *c, identifier name, if (!capsule || PyList_Append(c->c_stack, capsule) < 0) { Py_XDECREF(capsule); compiler_unit_free(u); - return 0; + return ERROR; } Py_DECREF(capsule); - u->u_private = c->u->u_private; - Py_XINCREF(u->u_private); + u->u_private = Py_XNewRef(c->u->u_private); } c->u = u; c->c_nestlevel++; - block = compiler_new_block(c); - if (block == NULL) - return 0; - c->u->u_curblock = block; - if (u->u_scope_type == COMPILER_SCOPE_MODULE) { - c->u->u_lineno = 0; + loc.lineno = 0; } else { - if (!compiler_set_qualname(c)) - return 0; + RETURN_IF_ERROR(compiler_set_qualname(c)); } - ADDOP_I(c, RESUME, 0); + ADDOP_I(c, loc, RESUME, 0); if (u->u_scope_type == COMPILER_SCOPE_MODULE) { - c->u->u_lineno = -1; + loc.lineno = -1; } - return 1; + return SUCCESS; } static void compiler_exit_scope(struct compiler *c) { // Don't call PySequence_DelItem() with an exception raised - PyObject *exc_type, *exc_val, *exc_tb; - PyErr_Fetch(&exc_type, &exc_val, &exc_tb); + PyObject *exc = PyErr_GetRaisedException(); c->c_nestlevel--; compiler_unit_free(c->u); @@ -1841,18 +1363,17 @@ compiler_exit_scope(struct compiler *c) _PyErr_WriteUnraisableMsg("on removing the last compiler " "stack item", NULL); } - compiler_unit_check(c->u); } else { c->u = NULL; } - PyErr_Restore(exc_type, exc_val, exc_tb); + PyErr_SetRaisedException(exc); } /* Search if variable annotations are present statically in a block. */ -static int +static bool find_ann(asdl_stmt_seq *stmts) { int i, j, res = 0; @@ -1862,7 +1383,7 @@ find_ann(asdl_stmt_seq *stmts) st = (stmt_ty)asdl_seq_GET(stmts, i); switch (st->kind) { case AnnAssign_kind: - return 1; + return true; case For_kind: res = find_ann(st->v.For.body) || find_ann(st->v.For.orelse); @@ -1890,7 +1411,7 @@ find_ann(asdl_stmt_seq *stmts) excepthandler_ty handler = (excepthandler_ty)asdl_seq_GET( st->v.Try.handlers, j); if (find_ann(handler->v.ExceptHandler.body)) { - return 1; + return true; } } res = find_ann(st->v.Try.body) || @@ -1902,7 +1423,7 @@ find_ann(asdl_stmt_seq *stmts) excepthandler_ty handler = (excepthandler_ty)asdl_seq_GET( st->v.TryStar.handlers, j); if (find_ann(handler->v.ExceptHandler.body)) { - return 1; + return true; } } res = find_ann(st->v.TryStar.body) || @@ -1919,7 +1440,8 @@ find_ann(asdl_stmt_seq *stmts) } break; default: - res = 0; + res = false; + break; } if (res) { break; @@ -1933,63 +1455,69 @@ find_ann(asdl_stmt_seq *stmts) */ static int -compiler_push_fblock(struct compiler *c, enum fblocktype t, basicblock *b, - basicblock *exit, void *datum) +compiler_push_fblock(struct compiler *c, location loc, + enum fblocktype t, jump_target_label block_label, + jump_target_label exit, void *datum) { struct fblockinfo *f; if (c->u->u_nfblocks >= CO_MAXBLOCKS) { - return compiler_error(c, "too many statically nested blocks"); + return compiler_error(c, loc, "too many statically nested blocks"); } f = &c->u->u_fblock[c->u->u_nfblocks++]; f->fb_type = t; - f->fb_block = b; + f->fb_block = block_label; f->fb_exit = exit; f->fb_datum = datum; - return 1; + return SUCCESS; } static void -compiler_pop_fblock(struct compiler *c, enum fblocktype t, basicblock *b) +compiler_pop_fblock(struct compiler *c, enum fblocktype t, jump_target_label block_label) { struct compiler_unit *u = c->u; assert(u->u_nfblocks > 0); u->u_nfblocks--; assert(u->u_fblock[u->u_nfblocks].fb_type == t); - assert(u->u_fblock[u->u_nfblocks].fb_block == b); + assert(SAME_LABEL(u->u_fblock[u->u_nfblocks].fb_block, block_label)); } static int -compiler_call_exit_with_nones(struct compiler *c) { - ADDOP_LOAD_CONST(c, Py_None); - ADDOP_LOAD_CONST(c, Py_None); - ADDOP_LOAD_CONST(c, Py_None); - ADDOP_I(c, PRECALL, 2); - ADDOP_I(c, CALL, 2); - return 1; +compiler_call_exit_with_nones(struct compiler *c, location loc) +{ + ADDOP_LOAD_CONST(c, loc, Py_None); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADDOP_I(c, loc, CALL, 2); + return SUCCESS; } static int -compiler_add_yield_from(struct compiler *c, int await) +compiler_add_yield_from(struct compiler *c, location loc, int await) { - basicblock *start, *resume, *exit; - start = compiler_new_block(c); - resume = compiler_new_block(c); - exit = compiler_new_block(c); - if (start == NULL || resume == NULL || exit == NULL) { - return 0; - } - compiler_use_next_block(c, start); - ADDOP_JUMP(c, SEND, exit); - compiler_use_next_block(c, resume); - ADDOP(c, YIELD_VALUE); - ADDOP_I(c, RESUME, await ? 3 : 2); - ADDOP_JUMP(c, JUMP_NO_INTERRUPT, start); - compiler_use_next_block(c, exit); - return 1; + NEW_JUMP_TARGET_LABEL(c, send); + NEW_JUMP_TARGET_LABEL(c, fail); + NEW_JUMP_TARGET_LABEL(c, exit); + + USE_LABEL(c, send); + ADDOP_JUMP(c, loc, SEND, exit); + // Set up a virtual try/except to handle when StopIteration is raised during + // a close or throw call. The only way YIELD_VALUE raises if they do! + ADDOP_JUMP(c, loc, SETUP_FINALLY, fail); + ADDOP_I(c, loc, YIELD_VALUE, 0); + ADDOP(c, NO_LOCATION, POP_BLOCK); + ADDOP_I(c, loc, RESUME, await ? 3 : 2); + ADDOP_JUMP(c, loc, JUMP_NO_INTERRUPT, send); + + USE_LABEL(c, fail); + ADDOP(c, loc, CLEANUP_THROW); + + USE_LABEL(c, exit); + ADDOP(c, loc, END_SEND); + return SUCCESS; } static int -compiler_pop_except_and_reraise(struct compiler *c) +compiler_pop_except_and_reraise(struct compiler *c, location loc) { /* Stack contents * [exc_info, lasti, exc] COPY 3 @@ -1998,10 +1526,10 @@ compiler_pop_except_and_reraise(struct compiler *c) * (exception_unwind clears the stack) */ - ADDOP_I(c, COPY, 3); - ADDOP(c, POP_EXCEPT); - ADDOP_I(c, RERAISE, 1); - return 1; + ADDOP_I(c, loc, COPY, 3); + ADDOP(c, loc, POP_EXCEPT); + ADDOP_I(c, loc, RERAISE, 1); + return SUCCESS; } /* Unwind a frame block. If preserve_tos is true, the TOS before @@ -2010,140 +1538,136 @@ compiler_pop_except_and_reraise(struct compiler *c) * be popped. */ static int -compiler_unwind_fblock(struct compiler *c, struct fblockinfo *info, - int preserve_tos) +compiler_unwind_fblock(struct compiler *c, location *ploc, + struct fblockinfo *info, int preserve_tos) { switch (info->fb_type) { case WHILE_LOOP: case EXCEPTION_HANDLER: case EXCEPTION_GROUP_HANDLER: case ASYNC_COMPREHENSION_GENERATOR: - return 1; + return SUCCESS; case FOR_LOOP: /* Pop the iterator */ if (preserve_tos) { - ADDOP_I(c, SWAP, 2); + ADDOP_I(c, *ploc, SWAP, 2); } - ADDOP(c, POP_TOP); - return 1; + ADDOP(c, *ploc, POP_TOP); + return SUCCESS; case TRY_EXCEPT: - ADDOP(c, POP_BLOCK); - return 1; + ADDOP(c, *ploc, POP_BLOCK); + return SUCCESS; case FINALLY_TRY: /* This POP_BLOCK gets the line number of the unwinding statement */ - ADDOP(c, POP_BLOCK); + ADDOP(c, *ploc, POP_BLOCK); if (preserve_tos) { - if (!compiler_push_fblock(c, POP_VALUE, NULL, NULL, NULL)) { - return 0; - } + RETURN_IF_ERROR( + compiler_push_fblock(c, *ploc, POP_VALUE, NO_LABEL, NO_LABEL, NULL)); } /* Emit the finally block */ VISIT_SEQ(c, stmt, info->fb_datum); if (preserve_tos) { - compiler_pop_fblock(c, POP_VALUE, NULL); + compiler_pop_fblock(c, POP_VALUE, NO_LABEL); } /* The finally block should appear to execute after the * statement causing the unwinding, so make the unwinding * instruction artificial */ - UNSET_LOC(c); - return 1; + *ploc = NO_LOCATION; + return SUCCESS; case FINALLY_END: if (preserve_tos) { - ADDOP_I(c, SWAP, 2); + ADDOP_I(c, *ploc, SWAP, 2); } - ADDOP(c, POP_TOP); /* exc_value */ + ADDOP(c, *ploc, POP_TOP); /* exc_value */ if (preserve_tos) { - ADDOP_I(c, SWAP, 2); + ADDOP_I(c, *ploc, SWAP, 2); } - ADDOP(c, POP_BLOCK); - ADDOP(c, POP_EXCEPT); - return 1; + ADDOP(c, *ploc, POP_BLOCK); + ADDOP(c, *ploc, POP_EXCEPT); + return SUCCESS; case WITH: case ASYNC_WITH: - SET_LOC(c, (stmt_ty)info->fb_datum); - ADDOP(c, POP_BLOCK); + *ploc = LOC((stmt_ty)info->fb_datum); + ADDOP(c, *ploc, POP_BLOCK); if (preserve_tos) { - ADDOP_I(c, SWAP, 2); - } - if(!compiler_call_exit_with_nones(c)) { - return 0; + ADDOP_I(c, *ploc, SWAP, 2); } + RETURN_IF_ERROR(compiler_call_exit_with_nones(c, *ploc)); if (info->fb_type == ASYNC_WITH) { - ADDOP_I(c, GET_AWAITABLE, 2); - ADDOP_LOAD_CONST(c, Py_None); - ADD_YIELD_FROM(c, 1); + ADDOP_I(c, *ploc, GET_AWAITABLE, 2); + ADDOP_LOAD_CONST(c, *ploc, Py_None); + ADD_YIELD_FROM(c, *ploc, 1); } - ADDOP(c, POP_TOP); + ADDOP(c, *ploc, POP_TOP); /* The exit block should appear to execute after the * statement causing the unwinding, so make the unwinding * instruction artificial */ - UNSET_LOC(c); - return 1; + *ploc = NO_LOCATION; + return SUCCESS; - case HANDLER_CLEANUP: + case HANDLER_CLEANUP: { if (info->fb_datum) { - ADDOP(c, POP_BLOCK); + ADDOP(c, *ploc, POP_BLOCK); } if (preserve_tos) { - ADDOP_I(c, SWAP, 2); + ADDOP_I(c, *ploc, SWAP, 2); } - ADDOP(c, POP_BLOCK); - ADDOP(c, POP_EXCEPT); + ADDOP(c, *ploc, POP_BLOCK); + ADDOP(c, *ploc, POP_EXCEPT); if (info->fb_datum) { - ADDOP_LOAD_CONST(c, Py_None); - compiler_nameop(c, info->fb_datum, Store); - compiler_nameop(c, info->fb_datum, Del); + ADDOP_LOAD_CONST(c, *ploc, Py_None); + RETURN_IF_ERROR(compiler_nameop(c, *ploc, info->fb_datum, Store)); + RETURN_IF_ERROR(compiler_nameop(c, *ploc, info->fb_datum, Del)); } - return 1; - - case POP_VALUE: + return SUCCESS; + } + case POP_VALUE: { if (preserve_tos) { - ADDOP_I(c, SWAP, 2); + ADDOP_I(c, *ploc, SWAP, 2); } - ADDOP(c, POP_TOP); - return 1; + ADDOP(c, *ploc, POP_TOP); + return SUCCESS; + } } Py_UNREACHABLE(); } /** Unwind block stack. If loop is not NULL, then stop when the first loop is encountered. */ static int -compiler_unwind_fblock_stack(struct compiler *c, int preserve_tos, struct fblockinfo **loop) { +compiler_unwind_fblock_stack(struct compiler *c, location *ploc, + int preserve_tos, struct fblockinfo **loop) +{ if (c->u->u_nfblocks == 0) { - return 1; + return SUCCESS; } struct fblockinfo *top = &c->u->u_fblock[c->u->u_nfblocks-1]; if (top->fb_type == EXCEPTION_GROUP_HANDLER) { return compiler_error( - c, "'break', 'continue' and 'return' cannot appear in an except* block"); + c, *ploc, "'break', 'continue' and 'return' cannot appear in an except* block"); } if (loop != NULL && (top->fb_type == WHILE_LOOP || top->fb_type == FOR_LOOP)) { *loop = top; - return 1; + return SUCCESS; } struct fblockinfo copy = *top; c->u->u_nfblocks--; - if (!compiler_unwind_fblock(c, ©, preserve_tos)) { - return 0; - } - if (!compiler_unwind_fblock_stack(c, preserve_tos, loop)) { - return 0; - } + RETURN_IF_ERROR(compiler_unwind_fblock(c, ploc, ©, preserve_tos)); + RETURN_IF_ERROR(compiler_unwind_fblock_stack(c, ploc, preserve_tos, loop)); c->u->u_fblock[c->u->u_nfblocks] = copy; c->u->u_nfblocks++; - return 1; + return SUCCESS; } /* Compile a sequence of statements, checking for a docstring and for annotations. */ static int -compiler_body(struct compiler *c, asdl_stmt_seq *stmts) +compiler_body(struct compiler *c, location loc, asdl_stmt_seq *stmts) { int i = 0; stmt_ty st; @@ -2152,17 +1676,18 @@ compiler_body(struct compiler *c, asdl_stmt_seq *stmts) /* Set current line number to the line number of first statement. This way line number for SETUP_ANNOTATIONS will always coincide with the line number of first "real" statement in module. - If body is empty, then lineno will be set later in assemble. */ + If body is empty, then lineno will be set later in optimize_and_assemble. */ if (c->u->u_scope_type == COMPILER_SCOPE_MODULE && asdl_seq_LEN(stmts)) { st = (stmt_ty)asdl_seq_GET(stmts, 0); - SET_LOC(c, st); + loc = LOC(st); } /* Every annotated class and module should have __annotations__. */ if (find_ann(stmts)) { - ADDOP(c, SETUP_ANNOTATIONS); + ADDOP(c, loc, SETUP_ANNOTATIONS); + } + if (!asdl_seq_LEN(stmts)) { + return SUCCESS; } - if (!asdl_seq_LEN(stmts)) - return 1; /* if not -OO mode, set docstring */ if (c->c_optimize < 2) { docstring = _PyAST_GetDocString(stmts); @@ -2171,52 +1696,58 @@ compiler_body(struct compiler *c, asdl_stmt_seq *stmts) st = (stmt_ty)asdl_seq_GET(stmts, 0); assert(st->kind == Expr_kind); VISIT(c, expr, st->v.Expr.value); - UNSET_LOC(c); - if (!compiler_nameop(c, &_Py_ID(__doc__), Store)) - return 0; + RETURN_IF_ERROR(compiler_nameop(c, NO_LOCATION, &_Py_ID(__doc__), Store)); } } - for (; i < asdl_seq_LEN(stmts); i++) + for (; i < asdl_seq_LEN(stmts); i++) { VISIT(c, stmt, (stmt_ty)asdl_seq_GET(stmts, i)); - return 1; + } + return SUCCESS; } -static PyCodeObject * -compiler_mod(struct compiler *c, mod_ty mod) +static int +compiler_codegen(struct compiler *c, mod_ty mod) { - PyCodeObject *co; - int addNone = 1; _Py_DECLARE_STR(anon_module, ""); - if (!compiler_enter_scope(c, &_Py_STR(anon_module), COMPILER_SCOPE_MODULE, - mod, 1)) { - return NULL; - } - c->u->u_lineno = 1; + RETURN_IF_ERROR( + compiler_enter_scope(c, &_Py_STR(anon_module), COMPILER_SCOPE_MODULE, + mod, 1)); + + location loc = LOCATION(1, 1, 0, 0); switch (mod->kind) { case Module_kind: - if (!compiler_body(c, mod->v.Module.body)) { + if (compiler_body(c, loc, mod->v.Module.body) < 0) { compiler_exit_scope(c); - return 0; + return ERROR; } break; case Interactive_kind: if (find_ann(mod->v.Interactive.body)) { - ADDOP(c, SETUP_ANNOTATIONS); + ADDOP(c, loc, SETUP_ANNOTATIONS); } c->c_interactive = 1; VISIT_SEQ_IN_SCOPE(c, stmt, mod->v.Interactive.body); break; case Expression_kind: VISIT_IN_SCOPE(c, expr, mod->v.Expression.body); - addNone = 0; break; default: PyErr_Format(PyExc_SystemError, "module kind %d should not be possible", mod->kind); - return 0; + return ERROR; + } + return SUCCESS; +} + +static PyCodeObject * +compiler_mod(struct compiler *c, mod_ty mod) +{ + int addNone = mod->kind != Expression_kind; + if (compiler_codegen(c, mod) < 0) { + return NULL; } - co = assemble(c, addNone); + PyCodeObject *co = optimize_and_assemble(c, addNone); compiler_exit_scope(c); return co; } @@ -2231,8 +1762,10 @@ get_ref_type(struct compiler *c, PyObject *name) { int scope; if (c->u->u_scope_type == COMPILER_SCOPE_CLASS && - _PyUnicode_EqualToASCIIString(name, "__class__")) + (_PyUnicode_EqualToASCIIString(name, "__class__") || + _PyUnicode_EqualToASCIIString(name, "__classdict__"))) { return CELL; + } scope = _PyST_GetScope(c->u->u_ste, name); if (scope == 0) { PyErr_Format(PyExc_SystemError, @@ -2240,9 +1773,9 @@ get_ref_type(struct compiler *c, PyObject *name) "unknown scope in unit %S (%R); " "symbols: %R; locals: %R; globals: %R", name, - c->u->u_name, c->u->u_ste->ste_id, - c->u->u_ste->ste_symbols, c->u->u_varnames, c->u->u_names); - return -1; + c->u->u_metadata.u_name, c->u->u_ste->ste_id, + c->u->u_ste->ste_symbols, c->u->u_metadata.u_varnames, c->u->u_metadata.u_names); + return ERROR; } return scope; } @@ -2250,22 +1783,19 @@ get_ref_type(struct compiler *c, PyObject *name) static int compiler_lookup_arg(PyObject *dict, PyObject *name) { - PyObject *v; - v = PyDict_GetItemWithError(dict, name); - if (v == NULL) - return -1; + PyObject *v = PyDict_GetItemWithError(dict, name); + if (v == NULL) { + return ERROR; + } return PyLong_AS_LONG(v); } static int -compiler_make_closure(struct compiler *c, PyCodeObject *co, Py_ssize_t flags, - PyObject *qualname) +compiler_make_closure(struct compiler *c, location loc, + PyCodeObject *co, Py_ssize_t flags) { - if (qualname == NULL) - qualname = co->co_name; - if (co->co_nfreevars) { - int i = co->co_nlocals + co->co_nplaincellvars; + int i = PyCode_GetFirstFree(co); for (; i < co->co_nlocalsplus; ++i) { /* Bypass com_addop_varname because it will generate LOAD_DEREF but LOAD_CLOSURE is needed. @@ -2280,14 +1810,14 @@ compiler_make_closure(struct compiler *c, PyCodeObject *co, Py_ssize_t flags, */ int reftype = get_ref_type(c, name); if (reftype == -1) { - return 0; + return ERROR; } int arg; if (reftype == CELL) { - arg = compiler_lookup_arg(c->u->u_cellvars, name); + arg = compiler_lookup_arg(c->u->u_metadata.u_cellvars, name); } else { - arg = compiler_lookup_arg(c->u->u_freevars, name); + arg = compiler_lookup_arg(c->u->u_metadata.u_freevars, name); } if (arg == -1) { PyObject *freevars = _PyCode_GetFreevars(co); @@ -2299,65 +1829,56 @@ compiler_make_closure(struct compiler *c, PyCodeObject *co, Py_ssize_t flags, "freevars of code %S: %R", name, reftype, - c->u->u_name, + c->u->u_metadata.u_name, co->co_name, freevars); Py_DECREF(freevars); - return 0; + return ERROR; } - ADDOP_I(c, LOAD_CLOSURE, arg); + ADDOP_I(c, loc, LOAD_CLOSURE, arg); } flags |= 0x08; - ADDOP_I(c, BUILD_TUPLE, co->co_nfreevars); + ADDOP_I(c, loc, BUILD_TUPLE, co->co_nfreevars); } - ADDOP_LOAD_CONST(c, (PyObject*)co); - ADDOP_I(c, MAKE_FUNCTION, flags); - return 1; + ADDOP_LOAD_CONST(c, loc, (PyObject*)co); + ADDOP_I(c, loc, MAKE_FUNCTION, flags); + return SUCCESS; } static int compiler_decorators(struct compiler *c, asdl_expr_seq* decos) { - int i; - - if (!decos) - return 1; + if (!decos) { + return SUCCESS; + } - for (i = 0; i < asdl_seq_LEN(decos); i++) { + for (Py_ssize_t i = 0; i < asdl_seq_LEN(decos); i++) { VISIT(c, expr, (expr_ty)asdl_seq_GET(decos, i)); } - return 1; + return SUCCESS; } static int compiler_apply_decorators(struct compiler *c, asdl_expr_seq* decos) { - if (!decos) - return 1; + if (!decos) { + return SUCCESS; + } - int old_lineno = c->u->u_lineno; - int old_end_lineno = c->u->u_end_lineno; - int old_col_offset = c->u->u_col_offset; - int old_end_col_offset = c->u->u_end_col_offset; for (Py_ssize_t i = asdl_seq_LEN(decos) - 1; i > -1; i--) { - SET_LOC(c, (expr_ty)asdl_seq_GET(decos, i)); - ADDOP_I(c, PRECALL, 0); - ADDOP_I(c, CALL, 0); - } - c->u->u_lineno = old_lineno; - c->u->u_end_lineno = old_end_lineno; - c->u->u_col_offset = old_col_offset; - c->u->u_end_col_offset = old_end_col_offset; - return 1; + location loc = LOC((expr_ty)asdl_seq_GET(decos, i)); + ADDOP_I(c, loc, CALL, 0); + } + return SUCCESS; } static int -compiler_visit_kwonlydefaults(struct compiler *c, asdl_arg_seq *kwonlyargs, - asdl_expr_seq *kw_defaults) +compiler_visit_kwonlydefaults(struct compiler *c, location loc, + asdl_arg_seq *kwonlyargs, asdl_expr_seq *kw_defaults) { /* Push a dict of keyword-only default values. - Return 0 on error, -1 if no dict pushed, 1 if a dict is pushed. + Return -1 on error, 0 if no dict pushed, 1 if a dict is pushed. */ int i; PyObject *keys = NULL; @@ -2374,7 +1895,7 @@ compiler_visit_kwonlydefaults(struct compiler *c, asdl_arg_seq *kwonlyargs, keys = PyList_New(1); if (keys == NULL) { Py_DECREF(mangled); - return 0; + return ERROR; } PyList_SET_ITEM(keys, 0, mangled); } @@ -2385,7 +1906,7 @@ compiler_visit_kwonlydefaults(struct compiler *c, asdl_arg_seq *kwonlyargs, goto error; } } - if (!compiler_visit_expr(c, default_)) { + if (compiler_visit_expr(c, default_) < 0) { goto error; } } @@ -2394,43 +1915,43 @@ compiler_visit_kwonlydefaults(struct compiler *c, asdl_arg_seq *kwonlyargs, Py_ssize_t default_count = PyList_GET_SIZE(keys); PyObject *keys_tuple = PyList_AsTuple(keys); Py_DECREF(keys); - ADDOP_LOAD_CONST_NEW(c, keys_tuple); - ADDOP_I(c, BUILD_CONST_KEY_MAP, default_count); + ADDOP_LOAD_CONST_NEW(c, loc, keys_tuple); + ADDOP_I(c, loc, BUILD_CONST_KEY_MAP, default_count); assert(default_count > 0); return 1; } else { - return -1; + return 0; } error: Py_XDECREF(keys); - return 0; + return ERROR; } static int compiler_visit_annexpr(struct compiler *c, expr_ty annotation) { - ADDOP_LOAD_CONST_NEW(c, _PyAST_ExprAsUnicode(annotation)); - return 1; + location loc = LOC(annotation); + ADDOP_LOAD_CONST_NEW(c, loc, _PyAST_ExprAsUnicode(annotation)); + return SUCCESS; } static int compiler_visit_argannotation(struct compiler *c, identifier id, - expr_ty annotation, Py_ssize_t *annotations_len) + expr_ty annotation, Py_ssize_t *annotations_len, location loc) { if (!annotation) { - return 1; + return SUCCESS; } - PyObject *mangled = _Py_Mangle(c->u->u_private, id); if (!mangled) { - return 0; + return ERROR; } - ADDOP_LOAD_CONST(c, mangled); + ADDOP_LOAD_CONST(c, loc, mangled); Py_DECREF(mangled); - if (c->c_future->ff_features & CO_FUTURE_ANNOTATIONS) { + if (c->c_future.ff_features & CO_FUTURE_ANNOTATIONS) { VISIT(c, annexpr, annotation); } else { @@ -2440,125 +1961,131 @@ compiler_visit_argannotation(struct compiler *c, identifier id, // (Note that in theory we could end up here even for an argument // other than *args, but in practice the grammar doesn't allow it.) VISIT(c, expr, annotation->v.Starred.value); - ADDOP_I(c, UNPACK_SEQUENCE, (Py_ssize_t) 1); + ADDOP_I(c, loc, UNPACK_SEQUENCE, (Py_ssize_t) 1); } else { VISIT(c, expr, annotation); } } *annotations_len += 2; - return 1; + return SUCCESS; } static int compiler_visit_argannotations(struct compiler *c, asdl_arg_seq* args, - Py_ssize_t *annotations_len) + Py_ssize_t *annotations_len, location loc) { int i; for (i = 0; i < asdl_seq_LEN(args); i++) { arg_ty arg = (arg_ty)asdl_seq_GET(args, i); - if (!compiler_visit_argannotation( + RETURN_IF_ERROR( + compiler_visit_argannotation( c, arg->arg, arg->annotation, - annotations_len)) - return 0; + annotations_len, + loc)); } - return 1; + return SUCCESS; } static int -compiler_visit_annotations(struct compiler *c, arguments_ty args, - expr_ty returns) +compiler_visit_annotations(struct compiler *c, location loc, + arguments_ty args, expr_ty returns) { /* Push arg annotation names and values. The expressions are evaluated out-of-order wrt the source code. - Return 0 on error, -1 if no annotations pushed, 1 if a annotations is pushed. + Return -1 on error, 0 if no annotations pushed, 1 if a annotations is pushed. */ Py_ssize_t annotations_len = 0; - if (!compiler_visit_argannotations(c, args->args, &annotations_len)) - return 0; - if (!compiler_visit_argannotations(c, args->posonlyargs, &annotations_len)) - return 0; - if (args->vararg && args->vararg->annotation && - !compiler_visit_argannotation(c, args->vararg->arg, - args->vararg->annotation, &annotations_len)) - return 0; - if (!compiler_visit_argannotations(c, args->kwonlyargs, &annotations_len)) - return 0; - if (args->kwarg && args->kwarg->annotation && - !compiler_visit_argannotation(c, args->kwarg->arg, - args->kwarg->annotation, &annotations_len)) - return 0; + RETURN_IF_ERROR( + compiler_visit_argannotations(c, args->args, &annotations_len, loc)); - if (!compiler_visit_argannotation(c, &_Py_ID(return), returns, - &annotations_len)) { - return 0; + RETURN_IF_ERROR( + compiler_visit_argannotations(c, args->posonlyargs, &annotations_len, loc)); + + if (args->vararg && args->vararg->annotation) { + RETURN_IF_ERROR( + compiler_visit_argannotation(c, args->vararg->arg, + args->vararg->annotation, &annotations_len, loc)); + } + + RETURN_IF_ERROR( + compiler_visit_argannotations(c, args->kwonlyargs, &annotations_len, loc)); + + if (args->kwarg && args->kwarg->annotation) { + RETURN_IF_ERROR( + compiler_visit_argannotation(c, args->kwarg->arg, + args->kwarg->annotation, &annotations_len, loc)); } + RETURN_IF_ERROR( + compiler_visit_argannotation(c, &_Py_ID(return), returns, &annotations_len, loc)); + if (annotations_len) { - ADDOP_I(c, BUILD_TUPLE, annotations_len); + ADDOP_I(c, loc, BUILD_TUPLE, annotations_len); return 1; } - return -1; + return 0; } static int -compiler_visit_defaults(struct compiler *c, arguments_ty args) +compiler_visit_defaults(struct compiler *c, arguments_ty args, + location loc) { VISIT_SEQ(c, expr, args->defaults); - ADDOP_I(c, BUILD_TUPLE, asdl_seq_LEN(args->defaults)); - return 1; + ADDOP_I(c, loc, BUILD_TUPLE, asdl_seq_LEN(args->defaults)); + return SUCCESS; } static Py_ssize_t -compiler_default_arguments(struct compiler *c, arguments_ty args) +compiler_default_arguments(struct compiler *c, location loc, + arguments_ty args) { Py_ssize_t funcflags = 0; if (args->defaults && asdl_seq_LEN(args->defaults) > 0) { - if (!compiler_visit_defaults(c, args)) - return -1; + RETURN_IF_ERROR(compiler_visit_defaults(c, args, loc)); funcflags |= 0x01; } if (args->kwonlyargs) { - int res = compiler_visit_kwonlydefaults(c, args->kwonlyargs, + int res = compiler_visit_kwonlydefaults(c, loc, + args->kwonlyargs, args->kw_defaults); - if (res == 0) { - return -1; - } - else if (res > 0) { + RETURN_IF_ERROR(res); + if (res > 0) { funcflags |= 0x02; } } return funcflags; } -static int -forbidden_name(struct compiler *c, identifier name, expr_context_ty ctx) +static bool +forbidden_name(struct compiler *c, location loc, identifier name, + expr_context_ty ctx) { - if (ctx == Store && _PyUnicode_EqualToASCIIString(name, "__debug__")) { - compiler_error(c, "cannot assign to __debug__"); - return 1; + compiler_error(c, loc, "cannot assign to __debug__"); + return true; } if (ctx == Del && _PyUnicode_EqualToASCIIString(name, "__debug__")) { - compiler_error(c, "cannot delete __debug__"); - return 1; + compiler_error(c, loc, "cannot delete __debug__"); + return true; } - return 0; + return false; } static int compiler_check_debug_one_arg(struct compiler *c, arg_ty arg) { if (arg != NULL) { - if (forbidden_name(c, arg->arg, Store)) - return 0; + if (forbidden_name(c, LOC(arg), arg->arg, Store)) { + return ERROR; + } } - return 1; + return SUCCESS; } static int @@ -2566,50 +2093,119 @@ compiler_check_debug_args_seq(struct compiler *c, asdl_arg_seq *args) { if (args != NULL) { for (Py_ssize_t i = 0, n = asdl_seq_LEN(args); i < n; i++) { - if (!compiler_check_debug_one_arg(c, asdl_seq_GET(args, i))) - return 0; + RETURN_IF_ERROR( + compiler_check_debug_one_arg(c, asdl_seq_GET(args, i))); } } - return 1; + return SUCCESS; } static int compiler_check_debug_args(struct compiler *c, arguments_ty args) { - if (!compiler_check_debug_args_seq(c, args->posonlyargs)) - return 0; - if (!compiler_check_debug_args_seq(c, args->args)) - return 0; - if (!compiler_check_debug_one_arg(c, args->vararg)) - return 0; - if (!compiler_check_debug_args_seq(c, args->kwonlyargs)) - return 0; - if (!compiler_check_debug_one_arg(c, args->kwarg)) - return 0; - return 1; + RETURN_IF_ERROR(compiler_check_debug_args_seq(c, args->posonlyargs)); + RETURN_IF_ERROR(compiler_check_debug_args_seq(c, args->args)); + RETURN_IF_ERROR(compiler_check_debug_one_arg(c, args->vararg)); + RETURN_IF_ERROR(compiler_check_debug_args_seq(c, args->kwonlyargs)); + RETURN_IF_ERROR(compiler_check_debug_one_arg(c, args->kwarg)); + return SUCCESS; } static int -compiler_function(struct compiler *c, stmt_ty s, int is_async) +wrap_in_stopiteration_handler(struct compiler *c) { - PyCodeObject *co; - PyObject *qualname, *docstring = NULL; + NEW_JUMP_TARGET_LABEL(c, handler); + + /* Insert SETUP_CLEANUP at start */ + RETURN_IF_ERROR( + instr_sequence_insert_instruction( + INSTR_SEQUENCE(c), 0, + SETUP_CLEANUP, handler.id, NO_LOCATION)); + + ADDOP_LOAD_CONST(c, NO_LOCATION, Py_None); + ADDOP(c, NO_LOCATION, RETURN_VALUE); + USE_LABEL(c, handler); + ADDOP_I(c, NO_LOCATION, CALL_INTRINSIC_1, INTRINSIC_STOPITERATION_ERROR); + ADDOP_I(c, NO_LOCATION, RERAISE, 1); + return SUCCESS; +} + +static int +compiler_type_params(struct compiler *c, asdl_type_param_seq *type_params) +{ + if (!type_params) { + return SUCCESS; + } + Py_ssize_t n = asdl_seq_LEN(type_params); + + for (Py_ssize_t i = 0; i < n; i++) { + type_param_ty typeparam = asdl_seq_GET(type_params, i); + location loc = LOC(typeparam); + switch(typeparam->kind) { + case TypeVar_kind: + ADDOP_LOAD_CONST(c, loc, typeparam->v.TypeVar.name); + if (typeparam->v.TypeVar.bound) { + expr_ty bound = typeparam->v.TypeVar.bound; + if (compiler_enter_scope(c, typeparam->v.TypeVar.name, COMPILER_SCOPE_TYPEPARAMS, + (void *)typeparam, bound->lineno) == -1) { + return ERROR; + } + VISIT_IN_SCOPE(c, expr, bound); + ADDOP_IN_SCOPE(c, loc, RETURN_VALUE); + PyCodeObject *co = optimize_and_assemble(c, 1); + compiler_exit_scope(c); + if (co == NULL) { + return ERROR; + } + if (compiler_make_closure(c, loc, co, 0) < 0) { + Py_DECREF(co); + return ERROR; + } + Py_DECREF(co); + + int intrinsic = bound->kind == Tuple_kind + ? INTRINSIC_TYPEVAR_WITH_CONSTRAINTS + : INTRINSIC_TYPEVAR_WITH_BOUND; + ADDOP_I(c, loc, CALL_INTRINSIC_2, intrinsic); + } + else { + ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_TYPEVAR); + } + ADDOP_I(c, loc, COPY, 1); + RETURN_IF_ERROR(compiler_nameop(c, loc, typeparam->v.TypeVar.name, Store)); + break; + case TypeVarTuple_kind: + ADDOP_LOAD_CONST(c, loc, typeparam->v.TypeVarTuple.name); + ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_TYPEVARTUPLE); + ADDOP_I(c, loc, COPY, 1); + RETURN_IF_ERROR(compiler_nameop(c, loc, typeparam->v.TypeVarTuple.name, Store)); + break; + case ParamSpec_kind: + ADDOP_LOAD_CONST(c, loc, typeparam->v.ParamSpec.name); + ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_PARAMSPEC); + ADDOP_I(c, loc, COPY, 1); + RETURN_IF_ERROR(compiler_nameop(c, loc, typeparam->v.ParamSpec.name, Store)); + break; + } + } + ADDOP_I(c, LOC(asdl_seq_GET(type_params, 0)), BUILD_TUPLE, n); + return SUCCESS; +} + +static int +compiler_function_body(struct compiler *c, stmt_ty s, int is_async, Py_ssize_t funcflags, + int firstlineno) +{ + PyObject *docstring = NULL; arguments_ty args; - expr_ty returns; identifier name; - asdl_expr_seq* decos; asdl_stmt_seq *body; - Py_ssize_t i, funcflags; - int annotations; int scope_type; - int firstlineno; if (is_async) { assert(s->kind == AsyncFunctionDef_kind); args = s->v.AsyncFunctionDef.args; - returns = s->v.AsyncFunctionDef.returns; - decos = s->v.AsyncFunctionDef.decorator_list; name = s->v.AsyncFunctionDef.name; body = s->v.AsyncFunctionDef.body; @@ -2618,95 +2214,191 @@ compiler_function(struct compiler *c, stmt_ty s, int is_async) assert(s->kind == FunctionDef_kind); args = s->v.FunctionDef.args; - returns = s->v.FunctionDef.returns; - decos = s->v.FunctionDef.decorator_list; name = s->v.FunctionDef.name; body = s->v.FunctionDef.body; scope_type = COMPILER_SCOPE_FUNCTION; } - if (!compiler_check_debug_args(c, args)) - return 0; - - if (!compiler_decorators(c, decos)) - return 0; - - firstlineno = s->lineno; - if (asdl_seq_LEN(decos)) { - firstlineno = ((expr_ty)asdl_seq_GET(decos, 0))->lineno; - } - - funcflags = compiler_default_arguments(c, args); - if (funcflags == -1) { - return 0; - } - - annotations = compiler_visit_annotations(c, args, returns); - if (annotations == 0) { - return 0; - } - else if (annotations > 0) { - funcflags |= 0x04; - } - - if (!compiler_enter_scope(c, name, scope_type, (void *)s, firstlineno)) { - return 0; - } + RETURN_IF_ERROR( + compiler_enter_scope(c, name, scope_type, (void *)s, firstlineno)); /* if not -OO mode, add docstring */ if (c->c_optimize < 2) { docstring = _PyAST_GetDocString(body); } - if (compiler_add_const(c, docstring ? docstring : Py_None) < 0) { + if (compiler_add_const(c->c_const_cache, c->u, docstring ? docstring : Py_None) < 0) { compiler_exit_scope(c); - return 0; + return ERROR; } - c->u->u_argcount = asdl_seq_LEN(args->args); - c->u->u_posonlyargcount = asdl_seq_LEN(args->posonlyargs); - c->u->u_kwonlyargcount = asdl_seq_LEN(args->kwonlyargs); - for (i = docstring ? 1 : 0; i < asdl_seq_LEN(body); i++) { + c->u->u_metadata.u_argcount = asdl_seq_LEN(args->args); + c->u->u_metadata.u_posonlyargcount = asdl_seq_LEN(args->posonlyargs); + c->u->u_metadata.u_kwonlyargcount = asdl_seq_LEN(args->kwonlyargs); + for (Py_ssize_t i = docstring ? 1 : 0; i < asdl_seq_LEN(body); i++) { VISIT_IN_SCOPE(c, stmt, (stmt_ty)asdl_seq_GET(body, i)); } - co = assemble(c, 1); - qualname = c->u->u_qualname; - Py_INCREF(qualname); + if (c->u->u_ste->ste_coroutine || c->u->u_ste->ste_generator) { + if (wrap_in_stopiteration_handler(c) < 0) { + compiler_exit_scope(c); + return ERROR; + } + } + PyCodeObject *co = optimize_and_assemble(c, 1); compiler_exit_scope(c); if (co == NULL) { - Py_XDECREF(qualname); Py_XDECREF(co); - return 0; + return ERROR; } - - if (!compiler_make_closure(c, co, funcflags, qualname)) { - Py_DECREF(qualname); + location loc = LOC(s); + if (compiler_make_closure(c, loc, co, funcflags) < 0) { Py_DECREF(co); - return 0; + return ERROR; } - Py_DECREF(qualname); Py_DECREF(co); - - if (!compiler_apply_decorators(c, decos)) - return 0; - return compiler_nameop(c, name, Store); + return SUCCESS; } static int -compiler_class(struct compiler *c, stmt_ty s) +compiler_function(struct compiler *c, stmt_ty s, int is_async) { - PyCodeObject *co; - int i, firstlineno; - asdl_expr_seq *decos = s->v.ClassDef.decorator_list; + arguments_ty args; + expr_ty returns; + identifier name; + asdl_expr_seq *decos; + asdl_type_param_seq *type_params; + Py_ssize_t funcflags; + int annotations; + int firstlineno; - if (!compiler_decorators(c, decos)) - return 0; + if (is_async) { + assert(s->kind == AsyncFunctionDef_kind); + + args = s->v.AsyncFunctionDef.args; + returns = s->v.AsyncFunctionDef.returns; + decos = s->v.AsyncFunctionDef.decorator_list; + name = s->v.AsyncFunctionDef.name; + type_params = s->v.AsyncFunctionDef.type_params; + } else { + assert(s->kind == FunctionDef_kind); + + args = s->v.FunctionDef.args; + returns = s->v.FunctionDef.returns; + decos = s->v.FunctionDef.decorator_list; + name = s->v.FunctionDef.name; + type_params = s->v.FunctionDef.type_params; + } + + RETURN_IF_ERROR(compiler_check_debug_args(c, args)); + RETURN_IF_ERROR(compiler_decorators(c, decos)); firstlineno = s->lineno; if (asdl_seq_LEN(decos)) { firstlineno = ((expr_ty)asdl_seq_GET(decos, 0))->lineno; } + location loc = LOC(s); + + int is_generic = asdl_seq_LEN(type_params) > 0; + + if (is_generic) { + // Used by the CALL to the type parameters function. + ADDOP(c, loc, PUSH_NULL); + } + + funcflags = compiler_default_arguments(c, loc, args); + if (funcflags == -1) { + return ERROR; + } + + int num_typeparam_args = 0; + + if (is_generic) { + if (funcflags & 0x01) { + num_typeparam_args += 1; + } + if (funcflags & 0x02) { + num_typeparam_args += 1; + } + if (num_typeparam_args == 2) { + ADDOP_I(c, loc, SWAP, 2); + } + PyObject *type_params_name = PyUnicode_FromFormat("", name); + if (!type_params_name) { + return ERROR; + } + if (compiler_enter_scope(c, type_params_name, COMPILER_SCOPE_TYPEPARAMS, + (void *)type_params, firstlineno) == -1) { + Py_DECREF(type_params_name); + return ERROR; + } + Py_DECREF(type_params_name); + RETURN_IF_ERROR_IN_SCOPE(c, compiler_type_params(c, type_params)); + if ((funcflags & 0x01) || (funcflags & 0x02)) { + RETURN_IF_ERROR_IN_SCOPE(c, codegen_addop_i(INSTR_SEQUENCE(c), LOAD_FAST, 0, loc)); + } + if ((funcflags & 0x01) && (funcflags & 0x02)) { + RETURN_IF_ERROR_IN_SCOPE(c, codegen_addop_i(INSTR_SEQUENCE(c), LOAD_FAST, 1, loc)); + } + } + + annotations = compiler_visit_annotations(c, loc, args, returns); + if (annotations < 0) { + if (is_generic) { + compiler_exit_scope(c); + } + return ERROR; + } + if (annotations > 0) { + funcflags |= 0x04; + } + + if (compiler_function_body(c, s, is_async, funcflags, firstlineno) < 0) { + if (is_generic) { + compiler_exit_scope(c); + } + return ERROR; + } + + if (is_generic) { + RETURN_IF_ERROR_IN_SCOPE(c, codegen_addop_i( + INSTR_SEQUENCE(c), SWAP, 2, loc)); + RETURN_IF_ERROR_IN_SCOPE(c, codegen_addop_i( + INSTR_SEQUENCE(c), CALL_INTRINSIC_2, INTRINSIC_SET_FUNCTION_TYPE_PARAMS, loc)); + + c->u->u_metadata.u_argcount = num_typeparam_args; + PyCodeObject *co = optimize_and_assemble(c, 0); + compiler_exit_scope(c); + if (co == NULL) { + return ERROR; + } + if (compiler_make_closure(c, loc, co, 0) < 0) { + Py_DECREF(co); + return ERROR; + } + Py_DECREF(co); + if (num_typeparam_args > 0) { + ADDOP_I(c, loc, SWAP, num_typeparam_args + 1); + } + ADDOP_I(c, loc, CALL, num_typeparam_args); + } + + RETURN_IF_ERROR(compiler_apply_decorators(c, decos)); + return compiler_nameop(c, loc, name, Store); +} + +static int +compiler_set_type_params_in_class(struct compiler *c, location loc) +{ + _Py_DECLARE_STR(type_params, ".type_params"); + RETURN_IF_ERROR(compiler_nameop(c, loc, &_Py_STR(type_params), Load)); + RETURN_IF_ERROR(compiler_nameop(c, loc, &_Py_ID(__type_params__), Store)); + return 1; +} + +static int +compiler_class_body(struct compiler *c, stmt_ty s, int firstlineno) +{ /* ultimately generate code for: = __build_class__(, , *, **) where: @@ -2719,103 +2411,307 @@ compiler_class(struct compiler *c, stmt_ty s) */ /* 1. compile the class body into a code object */ - if (!compiler_enter_scope(c, s->v.ClassDef.name, - COMPILER_SCOPE_CLASS, (void *)s, firstlineno)) { - return 0; + RETURN_IF_ERROR( + compiler_enter_scope(c, s->v.ClassDef.name, + COMPILER_SCOPE_CLASS, (void *)s, firstlineno)); + + location loc = LOCATION(firstlineno, firstlineno, 0, 0); + /* use the class name for name mangling */ + Py_XSETREF(c->u->u_private, Py_NewRef(s->v.ClassDef.name)); + /* load (global) __name__ ... */ + if (compiler_nameop(c, loc, &_Py_ID(__name__), Load) < 0) { + compiler_exit_scope(c); + return ERROR; } - /* this block represents what we do in the new scope */ - { - /* use the class name for name mangling */ - Py_INCREF(s->v.ClassDef.name); - Py_XSETREF(c->u->u_private, s->v.ClassDef.name); - /* load (global) __name__ ... */ - if (!compiler_nameop(c, &_Py_ID(__name__), Load)) { + /* ... and store it as __module__ */ + if (compiler_nameop(c, loc, &_Py_ID(__module__), Store) < 0) { + compiler_exit_scope(c); + return ERROR; + } + assert(c->u->u_metadata.u_qualname); + ADDOP_LOAD_CONST(c, loc, c->u->u_metadata.u_qualname); + if (compiler_nameop(c, loc, &_Py_ID(__qualname__), Store) < 0) { + compiler_exit_scope(c); + return ERROR; + } + asdl_type_param_seq *type_params = s->v.ClassDef.type_params; + if (asdl_seq_LEN(type_params) > 0) { + if (!compiler_set_type_params_in_class(c, loc)) { compiler_exit_scope(c); - return 0; + return ERROR; } - /* ... and store it as __module__ */ - if (!compiler_nameop(c, &_Py_ID(__module__), Store)) { + } + if (c->u->u_ste->ste_needs_classdict) { + ADDOP(c, loc, LOAD_LOCALS); + + // We can't use compiler_nameop here because we need to generate a + // STORE_DEREF in a class namespace, and compiler_nameop() won't do + // that by default. + PyObject *cellvars = c->u->u_metadata.u_cellvars; + if (compiler_addop_o(c->u, loc, STORE_DEREF, cellvars, + &_Py_ID(__classdict__)) < 0) { compiler_exit_scope(c); - return 0; + return ERROR; } - assert(c->u->u_qualname); - ADDOP_LOAD_CONST(c, c->u->u_qualname); - if (!compiler_nameop(c, &_Py_ID(__qualname__), Store)) { + } + /* compile the body proper */ + if (compiler_body(c, loc, s->v.ClassDef.body) < 0) { + compiler_exit_scope(c); + return ERROR; + } + /* The following code is artificial */ + /* Set __classdictcell__ if necessary */ + if (c->u->u_ste->ste_needs_classdict) { + /* Store __classdictcell__ into class namespace */ + int i = compiler_lookup_arg(c->u->u_metadata.u_cellvars, &_Py_ID(__classdict__)); + if (i < 0) { compiler_exit_scope(c); - return 0; + return ERROR; } - /* compile the body proper */ - if (!compiler_body(c, s->v.ClassDef.body)) { + ADDOP_I(c, NO_LOCATION, LOAD_CLOSURE, i); + if (compiler_nameop(c, NO_LOCATION, &_Py_ID(__classdictcell__), Store) < 0) { compiler_exit_scope(c); - return 0; + return ERROR; } - /* The following code is artificial */ - UNSET_LOC(c); - /* Return __classcell__ if it is referenced, otherwise return None */ - if (c->u->u_ste->ste_needs_class_closure) { - /* Store __classcell__ into class namespace & return it */ - i = compiler_lookup_arg(c->u->u_cellvars, &_Py_ID(__class__)); - if (i < 0) { - compiler_exit_scope(c); - return 0; - } - assert(i == 0); - - ADDOP_I(c, LOAD_CLOSURE, i); - ADDOP_I(c, COPY, 1); - if (!compiler_nameop(c, &_Py_ID(__classcell__), Store)) { - compiler_exit_scope(c); - return 0; - } + } + /* Return __classcell__ if it is referenced, otherwise return None */ + if (c->u->u_ste->ste_needs_class_closure) { + /* Store __classcell__ into class namespace & return it */ + int i = compiler_lookup_arg(c->u->u_metadata.u_cellvars, &_Py_ID(__class__)); + if (i < 0) { + compiler_exit_scope(c); + return ERROR; } - else { - /* No methods referenced __class__, so just return None */ - assert(PyDict_GET_SIZE(c->u->u_cellvars) == 0); - ADDOP_LOAD_CONST(c, Py_None); + ADDOP_I(c, NO_LOCATION, LOAD_CLOSURE, i); + ADDOP_I(c, NO_LOCATION, COPY, 1); + if (compiler_nameop(c, NO_LOCATION, &_Py_ID(__classcell__), Store) < 0) { + compiler_exit_scope(c); + return ERROR; } - ADDOP_IN_SCOPE(c, RETURN_VALUE); - /* create the code object */ - co = assemble(c, 1); } + else { + /* No methods referenced __class__, so just return None */ + ADDOP_LOAD_CONST(c, NO_LOCATION, Py_None); + } + ADDOP_IN_SCOPE(c, NO_LOCATION, RETURN_VALUE); + /* create the code object */ + PyCodeObject *co = optimize_and_assemble(c, 1); + /* leave the new scope */ compiler_exit_scope(c); - if (co == NULL) - return 0; + if (co == NULL) { + return ERROR; + } /* 2. load the 'build_class' function */ - ADDOP(c, PUSH_NULL); - ADDOP(c, LOAD_BUILD_CLASS); + + // these instructions should be attributed to the class line, + // not a decorator line + loc = LOC(s); + ADDOP(c, loc, PUSH_NULL); + ADDOP(c, loc, LOAD_BUILD_CLASS); /* 3. load a function (or closure) made from the code object */ - if (!compiler_make_closure(c, co, 0, NULL)) { + if (compiler_make_closure(c, loc, co, 0) < 0) { Py_DECREF(co); - return 0; + return ERROR; } Py_DECREF(co); /* 4. load class name */ - ADDOP_LOAD_CONST(c, s->v.ClassDef.name); + ADDOP_LOAD_CONST(c, loc, s->v.ClassDef.name); - /* 5. generate the rest of the code for the call */ - if (!compiler_call_helper(c, 2, s->v.ClassDef.bases, s->v.ClassDef.keywords)) - return 0; - /* 6. apply decorators */ - if (!compiler_apply_decorators(c, decos)) - return 0; + return SUCCESS; +} - /* 7. store into */ - if (!compiler_nameop(c, s->v.ClassDef.name, Store)) - return 0; - return 1; +static int +compiler_class(struct compiler *c, stmt_ty s) +{ + asdl_expr_seq *decos = s->v.ClassDef.decorator_list; + + RETURN_IF_ERROR(compiler_decorators(c, decos)); + + int firstlineno = s->lineno; + if (asdl_seq_LEN(decos)) { + firstlineno = ((expr_ty)asdl_seq_GET(decos, 0))->lineno; + } + location loc = LOC(s); + + asdl_type_param_seq *type_params = s->v.ClassDef.type_params; + int is_generic = asdl_seq_LEN(type_params) > 0; + if (is_generic) { + Py_XSETREF(c->u->u_private, Py_NewRef(s->v.ClassDef.name)); + ADDOP(c, loc, PUSH_NULL); + PyObject *type_params_name = PyUnicode_FromFormat("", + s->v.ClassDef.name); + if (!type_params_name) { + return ERROR; + } + if (compiler_enter_scope(c, type_params_name, COMPILER_SCOPE_TYPEPARAMS, + (void *)type_params, firstlineno) == -1) { + Py_DECREF(type_params_name); + return ERROR; + } + Py_DECREF(type_params_name); + RETURN_IF_ERROR_IN_SCOPE(c, compiler_type_params(c, type_params)); + _Py_DECLARE_STR(type_params, ".type_params"); + RETURN_IF_ERROR_IN_SCOPE(c, compiler_nameop(c, loc, &_Py_STR(type_params), Store)); + } + + if (compiler_class_body(c, s, firstlineno) < 0) { + if (is_generic) { + compiler_exit_scope(c); + } + return ERROR; + } + + /* generate the rest of the code for the call */ + + if (is_generic) { + _Py_DECLARE_STR(type_params, ".type_params"); + _Py_DECLARE_STR(generic_base, ".generic_base"); + RETURN_IF_ERROR_IN_SCOPE(c, compiler_nameop(c, loc, &_Py_STR(type_params), Load)); + RETURN_IF_ERROR_IN_SCOPE( + c, codegen_addop_i(INSTR_SEQUENCE(c), CALL_INTRINSIC_1, INTRINSIC_SUBSCRIPT_GENERIC, loc) + ) + RETURN_IF_ERROR_IN_SCOPE(c, compiler_nameop(c, loc, &_Py_STR(generic_base), Store)); + + Py_ssize_t original_len = asdl_seq_LEN(s->v.ClassDef.bases); + asdl_expr_seq *bases = _Py_asdl_expr_seq_new( + original_len + 1, c->c_arena); + if (bases == NULL) { + compiler_exit_scope(c); + return ERROR; + } + for (Py_ssize_t i = 0; i < original_len; i++) { + asdl_seq_SET(bases, i, asdl_seq_GET(s->v.ClassDef.bases, i)); + } + expr_ty name_node = _PyAST_Name( + &_Py_STR(generic_base), Load, + loc.lineno, loc.col_offset, loc.end_lineno, loc.end_col_offset, c->c_arena + ); + if (name_node == NULL) { + compiler_exit_scope(c); + return ERROR; + } + asdl_seq_SET(bases, original_len, name_node); + RETURN_IF_ERROR_IN_SCOPE(c, compiler_call_helper(c, loc, 2, + bases, + s->v.ClassDef.keywords)); + + PyCodeObject *co = optimize_and_assemble(c, 0); + compiler_exit_scope(c); + if (co == NULL) { + return ERROR; + } + if (compiler_make_closure(c, loc, co, 0) < 0) { + Py_DECREF(co); + return ERROR; + } + Py_DECREF(co); + ADDOP_I(c, loc, CALL, 0); + } else { + RETURN_IF_ERROR(compiler_call_helper(c, loc, 2, + s->v.ClassDef.bases, + s->v.ClassDef.keywords)); + } + + /* 6. apply decorators */ + RETURN_IF_ERROR(compiler_apply_decorators(c, decos)); + + /* 7. store into */ + RETURN_IF_ERROR(compiler_nameop(c, loc, s->v.ClassDef.name, Store)); + return SUCCESS; +} + +static int +compiler_typealias_body(struct compiler *c, stmt_ty s) +{ + location loc = LOC(s); + PyObject *name = s->v.TypeAlias.name->v.Name.id; + RETURN_IF_ERROR( + compiler_enter_scope(c, name, COMPILER_SCOPE_FUNCTION, s, loc.lineno)); + /* Make None the first constant, so the evaluate function can't have a + docstring. */ + RETURN_IF_ERROR(compiler_add_const(c->c_const_cache, c->u, Py_None)); + VISIT_IN_SCOPE(c, expr, s->v.TypeAlias.value); + ADDOP_IN_SCOPE(c, loc, RETURN_VALUE); + PyCodeObject *co = optimize_and_assemble(c, 0); + compiler_exit_scope(c); + if (co == NULL) { + return ERROR; + } + if (compiler_make_closure(c, loc, co, 0) < 0) { + Py_DECREF(co); + return ERROR; + } + Py_DECREF(co); + ADDOP_I(c, loc, BUILD_TUPLE, 3); + ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_TYPEALIAS); + return SUCCESS; } -/* Return 0 if the expression is a constant value except named singletons. - Return 1 otherwise. */ static int +compiler_typealias(struct compiler *c, stmt_ty s) +{ + location loc = LOC(s); + asdl_type_param_seq *type_params = s->v.TypeAlias.type_params; + int is_generic = asdl_seq_LEN(type_params) > 0; + PyObject *name = s->v.TypeAlias.name->v.Name.id; + if (is_generic) { + ADDOP(c, loc, PUSH_NULL); + PyObject *type_params_name = PyUnicode_FromFormat("", + name); + if (!type_params_name) { + return ERROR; + } + if (compiler_enter_scope(c, type_params_name, COMPILER_SCOPE_TYPEPARAMS, + (void *)type_params, loc.lineno) == -1) { + Py_DECREF(type_params_name); + return ERROR; + } + Py_DECREF(type_params_name); + RETURN_IF_ERROR_IN_SCOPE( + c, compiler_addop_load_const(c->c_const_cache, c->u, loc, name) + ); + RETURN_IF_ERROR_IN_SCOPE(c, compiler_type_params(c, type_params)); + } + else { + ADDOP_LOAD_CONST(c, loc, name); + ADDOP_LOAD_CONST(c, loc, Py_None); + } + + if (compiler_typealias_body(c, s) < 0) { + if (is_generic) { + compiler_exit_scope(c); + } + return ERROR; + } + + if (is_generic) { + PyCodeObject *co = optimize_and_assemble(c, 0); + compiler_exit_scope(c); + if (co == NULL) { + return ERROR; + } + if (compiler_make_closure(c, loc, co, 0) < 0) { + Py_DECREF(co); + return ERROR; + } + Py_DECREF(co); + ADDOP_I(c, loc, CALL, 0); + } + RETURN_IF_ERROR(compiler_nameop(c, loc, name, Store)); + return SUCCESS; +} + +/* Return false if the expression is a constant value except named singletons. + Return true otherwise. */ +static bool check_is_arg(expr_ty e) { if (e->kind != Constant_kind) { - return 1; + return true; } PyObject *value = e->v.Constant.value; return (value == Py_None @@ -2824,33 +2720,50 @@ check_is_arg(expr_ty e) || value == Py_Ellipsis); } -/* Check operands of identity chacks ("is" and "is not"). +static PyTypeObject * infer_type(expr_ty e); + +/* Check operands of identity checks ("is" and "is not"). Emit a warning if any operand is a constant except named singletons. - Return 0 on error. */ static int check_compare(struct compiler *c, expr_ty e) { Py_ssize_t i, n; - int left = check_is_arg(e->v.Compare.left); + bool left = check_is_arg(e->v.Compare.left); + expr_ty left_expr = e->v.Compare.left; n = asdl_seq_LEN(e->v.Compare.ops); for (i = 0; i < n; i++) { cmpop_ty op = (cmpop_ty)asdl_seq_GET(e->v.Compare.ops, i); - int right = check_is_arg((expr_ty)asdl_seq_GET(e->v.Compare.comparators, i)); + expr_ty right_expr = (expr_ty)asdl_seq_GET(e->v.Compare.comparators, i); + bool right = check_is_arg(right_expr); if (op == Is || op == IsNot) { if (!right || !left) { const char *msg = (op == Is) - ? "\"is\" with a literal. Did you mean \"==\"?" - : "\"is not\" with a literal. Did you mean \"!=\"?"; - return compiler_warn(c, msg); + ? "\"is\" with '%.200s' literal. Did you mean \"==\"?" + : "\"is not\" with '%.200s' literal. Did you mean \"!=\"?"; + expr_ty literal = !left ? left_expr : right_expr; + return compiler_warn( + c, LOC(e), msg, infer_type(literal)->tp_name + ); } } left = right; + left_expr = right_expr; } - return 1; + return SUCCESS; } -static int compiler_addcompare(struct compiler *c, cmpop_ty op) +static const int compare_masks[] = { + [Py_LT] = COMPARISON_LESS_THAN, + [Py_LE] = COMPARISON_LESS_THAN | COMPARISON_EQUALS, + [Py_EQ] = COMPARISON_EQUALS, + [Py_NE] = COMPARISON_NOT_EQUALS, + [Py_GT] = COMPARISON_GREATER_THAN, + [Py_GE] = COMPARISON_GREATER_THAN | COMPARISON_EQUALS, +}; + +static int compiler_addcompare(struct compiler *c, location loc, + cmpop_ty op) { int cmp; switch (op) { @@ -2873,33 +2786,37 @@ static int compiler_addcompare(struct compiler *c, cmpop_ty op) cmp = Py_GE; break; case Is: - ADDOP_I(c, IS_OP, 0); - return 1; + ADDOP_I(c, loc, IS_OP, 0); + return SUCCESS; case IsNot: - ADDOP_I(c, IS_OP, 1); - return 1; + ADDOP_I(c, loc, IS_OP, 1); + return SUCCESS; case In: - ADDOP_I(c, CONTAINS_OP, 0); - return 1; + ADDOP_I(c, loc, CONTAINS_OP, 0); + return SUCCESS; case NotIn: - ADDOP_I(c, CONTAINS_OP, 1); - return 1; + ADDOP_I(c, loc, CONTAINS_OP, 1); + return SUCCESS; default: Py_UNREACHABLE(); } - ADDOP_I(c, COMPARE_OP, cmp); - return 1; + /* cmp goes in top bits of the oparg, while the low bits are used by quickened + * versions of this opcode to store the comparison mask. */ + ADDOP_I(c, loc, COMPARE_OP, (cmp << 4) | compare_masks[cmp]); + return SUCCESS; } static int -compiler_jump_if(struct compiler *c, expr_ty e, basicblock *next, int cond) +compiler_jump_if(struct compiler *c, location loc, + expr_ty e, jump_target_label next, int cond) { switch (e->kind) { case UnaryOp_kind: - if (e->v.UnaryOp.op == Not) - return compiler_jump_if(c, e->v.UnaryOp.operand, next, !cond); + if (e->v.UnaryOp.op == Not) { + return compiler_jump_if(c, loc, e->v.UnaryOp.operand, next, !cond); + } /* fallback to general implementation */ break; case BoolOp_kind: { @@ -2907,74 +2824,66 @@ compiler_jump_if(struct compiler *c, expr_ty e, basicblock *next, int cond) Py_ssize_t i, n = asdl_seq_LEN(s) - 1; assert(n >= 0); int cond2 = e->v.BoolOp.op == Or; - basicblock *next2 = next; + jump_target_label next2 = next; if (!cond2 != !cond) { - next2 = compiler_new_block(c); - if (next2 == NULL) - return 0; + NEW_JUMP_TARGET_LABEL(c, new_next2); + next2 = new_next2; } for (i = 0; i < n; ++i) { - if (!compiler_jump_if(c, (expr_ty)asdl_seq_GET(s, i), next2, cond2)) - return 0; + RETURN_IF_ERROR( + compiler_jump_if(c, loc, (expr_ty)asdl_seq_GET(s, i), next2, cond2)); } - if (!compiler_jump_if(c, (expr_ty)asdl_seq_GET(s, n), next, cond)) - return 0; - if (next2 != next) - compiler_use_next_block(c, next2); - return 1; + RETURN_IF_ERROR( + compiler_jump_if(c, loc, (expr_ty)asdl_seq_GET(s, n), next, cond)); + if (!SAME_LABEL(next2, next)) { + USE_LABEL(c, next2); + } + return SUCCESS; } case IfExp_kind: { - basicblock *end, *next2; - end = compiler_new_block(c); - if (end == NULL) - return 0; - next2 = compiler_new_block(c); - if (next2 == NULL) - return 0; - if (!compiler_jump_if(c, e->v.IfExp.test, next2, 0)) - return 0; - if (!compiler_jump_if(c, e->v.IfExp.body, next, cond)) - return 0; - ADDOP_JUMP_NOLINE(c, JUMP, end); - compiler_use_next_block(c, next2); - if (!compiler_jump_if(c, e->v.IfExp.orelse, next, cond)) - return 0; - compiler_use_next_block(c, end); - return 1; + NEW_JUMP_TARGET_LABEL(c, end); + NEW_JUMP_TARGET_LABEL(c, next2); + RETURN_IF_ERROR( + compiler_jump_if(c, loc, e->v.IfExp.test, next2, 0)); + RETURN_IF_ERROR( + compiler_jump_if(c, loc, e->v.IfExp.body, next, cond)); + ADDOP_JUMP(c, NO_LOCATION, JUMP, end); + + USE_LABEL(c, next2); + RETURN_IF_ERROR( + compiler_jump_if(c, loc, e->v.IfExp.orelse, next, cond)); + + USE_LABEL(c, end); + return SUCCESS; } case Compare_kind: { - SET_LOC(c, e); - Py_ssize_t i, n = asdl_seq_LEN(e->v.Compare.ops) - 1; + Py_ssize_t n = asdl_seq_LEN(e->v.Compare.ops) - 1; if (n > 0) { - if (!check_compare(c, e)) { - return 0; - } - basicblock *cleanup = compiler_new_block(c); - if (cleanup == NULL) - return 0; + RETURN_IF_ERROR(check_compare(c, e)); + NEW_JUMP_TARGET_LABEL(c, cleanup); VISIT(c, expr, e->v.Compare.left); - for (i = 0; i < n; i++) { + for (Py_ssize_t i = 0; i < n; i++) { VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Compare.comparators, i)); - ADDOP_I(c, SWAP, 2); - ADDOP_I(c, COPY, 2); - ADDOP_COMPARE(c, asdl_seq_GET(e->v.Compare.ops, i)); - ADDOP_JUMP(c, POP_JUMP_IF_FALSE, cleanup); + ADDOP_I(c, LOC(e), SWAP, 2); + ADDOP_I(c, LOC(e), COPY, 2); + ADDOP_COMPARE(c, LOC(e), asdl_seq_GET(e->v.Compare.ops, i)); + ADDOP_JUMP(c, LOC(e), POP_JUMP_IF_FALSE, cleanup); } VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Compare.comparators, n)); - ADDOP_COMPARE(c, asdl_seq_GET(e->v.Compare.ops, n)); - ADDOP_JUMP(c, cond ? POP_JUMP_IF_TRUE : POP_JUMP_IF_FALSE, next); - basicblock *end = compiler_new_block(c); - if (end == NULL) - return 0; - ADDOP_JUMP_NOLINE(c, JUMP, end); - compiler_use_next_block(c, cleanup); - ADDOP(c, POP_TOP); + ADDOP_COMPARE(c, LOC(e), asdl_seq_GET(e->v.Compare.ops, n)); + ADDOP_JUMP(c, LOC(e), cond ? POP_JUMP_IF_TRUE : POP_JUMP_IF_FALSE, next); + NEW_JUMP_TARGET_LABEL(c, end); + ADDOP_JUMP(c, NO_LOCATION, JUMP, end); + + USE_LABEL(c, cleanup); + ADDOP(c, LOC(e), POP_TOP); if (!cond) { - ADDOP_JUMP_NOLINE(c, JUMP, next); + ADDOP_JUMP(c, NO_LOCATION, JUMP, next); } - compiler_use_next_block(c, end); - return 1; + + USE_LABEL(c, end); + return SUCCESS; } /* fallback to general implementation */ break; @@ -2986,337 +2895,292 @@ compiler_jump_if(struct compiler *c, expr_ty e, basicblock *next, int cond) /* general implementation */ VISIT(c, expr, e); - ADDOP_JUMP(c, cond ? POP_JUMP_IF_TRUE : POP_JUMP_IF_FALSE, next); - return 1; + ADDOP_JUMP(c, LOC(e), cond ? POP_JUMP_IF_TRUE : POP_JUMP_IF_FALSE, next); + return SUCCESS; } static int compiler_ifexp(struct compiler *c, expr_ty e) { - basicblock *end, *next; - assert(e->kind == IfExp_kind); - end = compiler_new_block(c); - if (end == NULL) - return 0; - next = compiler_new_block(c); - if (next == NULL) - return 0; - if (!compiler_jump_if(c, e->v.IfExp.test, next, 0)) - return 0; + NEW_JUMP_TARGET_LABEL(c, end); + NEW_JUMP_TARGET_LABEL(c, next); + + RETURN_IF_ERROR( + compiler_jump_if(c, LOC(e), e->v.IfExp.test, next, 0)); + VISIT(c, expr, e->v.IfExp.body); - ADDOP_JUMP_NOLINE(c, JUMP, end); - compiler_use_next_block(c, next); + ADDOP_JUMP(c, NO_LOCATION, JUMP, end); + + USE_LABEL(c, next); VISIT(c, expr, e->v.IfExp.orelse); - compiler_use_next_block(c, end); - return 1; + + USE_LABEL(c, end); + return SUCCESS; } static int compiler_lambda(struct compiler *c, expr_ty e) { PyCodeObject *co; - PyObject *qualname; Py_ssize_t funcflags; arguments_ty args = e->v.Lambda.args; assert(e->kind == Lambda_kind); - if (!compiler_check_debug_args(c, args)) - return 0; + RETURN_IF_ERROR(compiler_check_debug_args(c, args)); - funcflags = compiler_default_arguments(c, args); + location loc = LOC(e); + funcflags = compiler_default_arguments(c, loc, args); if (funcflags == -1) { - return 0; + return ERROR; } _Py_DECLARE_STR(anon_lambda, ""); - if (!compiler_enter_scope(c, &_Py_STR(anon_lambda), COMPILER_SCOPE_LAMBDA, - (void *)e, e->lineno)) { - return 0; - } + RETURN_IF_ERROR( + compiler_enter_scope(c, &_Py_STR(anon_lambda), COMPILER_SCOPE_LAMBDA, + (void *)e, e->lineno)); + /* Make None the first constant, so the lambda can't have a docstring. */ - if (compiler_add_const(c, Py_None) < 0) - return 0; + RETURN_IF_ERROR(compiler_add_const(c->c_const_cache, c->u, Py_None)); - c->u->u_argcount = asdl_seq_LEN(args->args); - c->u->u_posonlyargcount = asdl_seq_LEN(args->posonlyargs); - c->u->u_kwonlyargcount = asdl_seq_LEN(args->kwonlyargs); + c->u->u_metadata.u_argcount = asdl_seq_LEN(args->args); + c->u->u_metadata.u_posonlyargcount = asdl_seq_LEN(args->posonlyargs); + c->u->u_metadata.u_kwonlyargcount = asdl_seq_LEN(args->kwonlyargs); VISIT_IN_SCOPE(c, expr, e->v.Lambda.body); if (c->u->u_ste->ste_generator) { - co = assemble(c, 0); + co = optimize_and_assemble(c, 0); } else { - ADDOP_IN_SCOPE(c, RETURN_VALUE); - co = assemble(c, 1); + location loc = LOCATION(e->lineno, e->lineno, 0, 0); + ADDOP_IN_SCOPE(c, loc, RETURN_VALUE); + co = optimize_and_assemble(c, 1); } - qualname = c->u->u_qualname; - Py_INCREF(qualname); compiler_exit_scope(c); if (co == NULL) { - Py_DECREF(qualname); - return 0; + return ERROR; } - if (!compiler_make_closure(c, co, funcflags, qualname)) { - Py_DECREF(qualname); + if (compiler_make_closure(c, loc, co, funcflags) < 0) { Py_DECREF(co); - return 0; + return ERROR; } - Py_DECREF(qualname); Py_DECREF(co); - return 1; + return SUCCESS; } static int compiler_if(struct compiler *c, stmt_ty s) { - basicblock *end, *next; + jump_target_label next; assert(s->kind == If_kind); - end = compiler_new_block(c); - if (end == NULL) { - return 0; - } + NEW_JUMP_TARGET_LABEL(c, end); if (asdl_seq_LEN(s->v.If.orelse)) { - next = compiler_new_block(c); - if (next == NULL) { - return 0; - } + NEW_JUMP_TARGET_LABEL(c, orelse); + next = orelse; } else { next = end; } - if (!compiler_jump_if(c, s->v.If.test, next, 0)) { - return 0; - } + RETURN_IF_ERROR( + compiler_jump_if(c, LOC(s), s->v.If.test, next, 0)); + VISIT_SEQ(c, stmt, s->v.If.body); if (asdl_seq_LEN(s->v.If.orelse)) { - ADDOP_JUMP_NOLINE(c, JUMP, end); - compiler_use_next_block(c, next); + ADDOP_JUMP(c, NO_LOCATION, JUMP, end); + + USE_LABEL(c, next); VISIT_SEQ(c, stmt, s->v.If.orelse); } - compiler_use_next_block(c, end); - return 1; + + USE_LABEL(c, end); + return SUCCESS; } static int compiler_for(struct compiler *c, stmt_ty s) { - basicblock *start, *body, *cleanup, *end; + location loc = LOC(s); + NEW_JUMP_TARGET_LABEL(c, start); + NEW_JUMP_TARGET_LABEL(c, body); + NEW_JUMP_TARGET_LABEL(c, cleanup); + NEW_JUMP_TARGET_LABEL(c, end); + + RETURN_IF_ERROR(compiler_push_fblock(c, loc, FOR_LOOP, start, end, NULL)); - start = compiler_new_block(c); - body = compiler_new_block(c); - cleanup = compiler_new_block(c); - end = compiler_new_block(c); - if (start == NULL || body == NULL || end == NULL || cleanup == NULL) { - return 0; - } - if (!compiler_push_fblock(c, FOR_LOOP, start, end, NULL)) { - return 0; - } VISIT(c, expr, s->v.For.iter); - ADDOP(c, GET_ITER); - compiler_use_next_block(c, start); - ADDOP_JUMP(c, FOR_ITER, cleanup); - compiler_use_next_block(c, body); + ADDOP(c, loc, GET_ITER); + + USE_LABEL(c, start); + ADDOP_JUMP(c, loc, FOR_ITER, cleanup); + + USE_LABEL(c, body); VISIT(c, expr, s->v.For.target); VISIT_SEQ(c, stmt, s->v.For.body); /* Mark jump as artificial */ - UNSET_LOC(c); - ADDOP_JUMP(c, JUMP, start); - compiler_use_next_block(c, cleanup); + ADDOP_JUMP(c, NO_LOCATION, JUMP, start); + + USE_LABEL(c, cleanup); + ADDOP(c, NO_LOCATION, END_FOR); compiler_pop_fblock(c, FOR_LOOP, start); VISIT_SEQ(c, stmt, s->v.For.orelse); - compiler_use_next_block(c, end); - return 1; + + USE_LABEL(c, end); + return SUCCESS; } static int compiler_async_for(struct compiler *c, stmt_ty s) { - basicblock *start, *except, *end; + location loc = LOC(s); if (IS_TOP_LEVEL_AWAIT(c)){ c->u->u_ste->ste_coroutine = 1; } else if (c->u->u_scope_type != COMPILER_SCOPE_ASYNC_FUNCTION) { - return compiler_error(c, "'async for' outside async function"); + return compiler_error(c, loc, "'async for' outside async function"); } - start = compiler_new_block(c); - except = compiler_new_block(c); - end = compiler_new_block(c); + NEW_JUMP_TARGET_LABEL(c, start); + NEW_JUMP_TARGET_LABEL(c, except); + NEW_JUMP_TARGET_LABEL(c, end); - if (start == NULL || except == NULL || end == NULL) { - return 0; - } VISIT(c, expr, s->v.AsyncFor.iter); - ADDOP(c, GET_AITER); + ADDOP(c, loc, GET_AITER); + + USE_LABEL(c, start); + RETURN_IF_ERROR(compiler_push_fblock(c, loc, FOR_LOOP, start, end, NULL)); - compiler_use_next_block(c, start); - if (!compiler_push_fblock(c, FOR_LOOP, start, end, NULL)) { - return 0; - } /* SETUP_FINALLY to guard the __anext__ call */ - ADDOP_JUMP(c, SETUP_FINALLY, except); - ADDOP(c, GET_ANEXT); - ADDOP_LOAD_CONST(c, Py_None); - ADD_YIELD_FROM(c, 1); - ADDOP(c, POP_BLOCK); /* for SETUP_FINALLY */ + ADDOP_JUMP(c, loc, SETUP_FINALLY, except); + ADDOP(c, loc, GET_ANEXT); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADD_YIELD_FROM(c, loc, 1); + ADDOP(c, loc, POP_BLOCK); /* for SETUP_FINALLY */ /* Success block for __anext__ */ VISIT(c, expr, s->v.AsyncFor.target); VISIT_SEQ(c, stmt, s->v.AsyncFor.body); /* Mark jump as artificial */ - UNSET_LOC(c); - ADDOP_JUMP(c, JUMP, start); + ADDOP_JUMP(c, NO_LOCATION, JUMP, start); compiler_pop_fblock(c, FOR_LOOP, start); /* Except block for __anext__ */ - compiler_use_next_block(c, except); + USE_LABEL(c, except); /* Use same line number as the iterator, * as the END_ASYNC_FOR succeeds the `for`, not the body. */ - SET_LOC(c, s->v.AsyncFor.iter); - ADDOP(c, END_ASYNC_FOR); + loc = LOC(s->v.AsyncFor.iter); + ADDOP(c, loc, END_ASYNC_FOR); /* `else` block */ VISIT_SEQ(c, stmt, s->v.For.orelse); - compiler_use_next_block(c, end); - - return 1; + USE_LABEL(c, end); + return SUCCESS; } static int compiler_while(struct compiler *c, stmt_ty s) { - basicblock *loop, *body, *end, *anchor = NULL; - loop = compiler_new_block(c); - body = compiler_new_block(c); - anchor = compiler_new_block(c); - end = compiler_new_block(c); - if (loop == NULL || body == NULL || anchor == NULL || end == NULL) { - return 0; - } - compiler_use_next_block(c, loop); - if (!compiler_push_fblock(c, WHILE_LOOP, loop, end, NULL)) { - return 0; - } - if (!compiler_jump_if(c, s->v.While.test, anchor, 0)) { - return 0; - } + NEW_JUMP_TARGET_LABEL(c, loop); + NEW_JUMP_TARGET_LABEL(c, body); + NEW_JUMP_TARGET_LABEL(c, end); + NEW_JUMP_TARGET_LABEL(c, anchor); + + USE_LABEL(c, loop); - compiler_use_next_block(c, body); + RETURN_IF_ERROR(compiler_push_fblock(c, LOC(s), WHILE_LOOP, loop, end, NULL)); + RETURN_IF_ERROR(compiler_jump_if(c, LOC(s), s->v.While.test, anchor, 0)); + + USE_LABEL(c, body); VISIT_SEQ(c, stmt, s->v.While.body); - SET_LOC(c, s); - if (!compiler_jump_if(c, s->v.While.test, body, 1)) { - return 0; - } + RETURN_IF_ERROR(compiler_jump_if(c, LOC(s), s->v.While.test, body, 1)); compiler_pop_fblock(c, WHILE_LOOP, loop); - compiler_use_next_block(c, anchor); + USE_LABEL(c, anchor); if (s->v.While.orelse) { VISIT_SEQ(c, stmt, s->v.While.orelse); } - compiler_use_next_block(c, end); - return 1; + USE_LABEL(c, end); + return SUCCESS; } static int compiler_return(struct compiler *c, stmt_ty s) { + location loc = LOC(s); int preserve_tos = ((s->v.Return.value != NULL) && (s->v.Return.value->kind != Constant_kind)); - if (c->u->u_ste->ste_type != FunctionBlock) - return compiler_error(c, "'return' outside function"); + if (!_PyST_IsFunctionLike(c->u->u_ste)) { + return compiler_error(c, loc, "'return' outside function"); + } if (s->v.Return.value != NULL && c->u->u_ste->ste_coroutine && c->u->u_ste->ste_generator) { - return compiler_error( - c, "'return' with value in async generator"); + return compiler_error(c, loc, "'return' with value in async generator"); } + if (preserve_tos) { VISIT(c, expr, s->v.Return.value); } else { /* Emit instruction with line number for return value */ if (s->v.Return.value != NULL) { - SET_LOC(c, s->v.Return.value); - ADDOP(c, NOP); + loc = LOC(s->v.Return.value); + ADDOP(c, loc, NOP); } } if (s->v.Return.value == NULL || s->v.Return.value->lineno != s->lineno) { - SET_LOC(c, s); - ADDOP(c, NOP); + loc = LOC(s); + ADDOP(c, loc, NOP); } - if (!compiler_unwind_fblock_stack(c, preserve_tos, NULL)) - return 0; + RETURN_IF_ERROR(compiler_unwind_fblock_stack(c, &loc, preserve_tos, NULL)); if (s->v.Return.value == NULL) { - ADDOP_LOAD_CONST(c, Py_None); + ADDOP_LOAD_CONST(c, loc, Py_None); } else if (!preserve_tos) { - ADDOP_LOAD_CONST(c, s->v.Return.value->v.Constant.value); + ADDOP_LOAD_CONST(c, loc, s->v.Return.value->v.Constant.value); } - ADDOP(c, RETURN_VALUE); + ADDOP(c, loc, RETURN_VALUE); - return 1; + return SUCCESS; } static int -compiler_break(struct compiler *c) +compiler_break(struct compiler *c, location loc) { struct fblockinfo *loop = NULL; - int u_lineno = c->u->u_lineno; - int u_col_offset = c->u->u_col_offset; - int u_end_lineno = c->u->u_end_lineno; - int u_end_col_offset = c->u->u_end_col_offset; + location origin_loc = loc; /* Emit instruction with line number */ - ADDOP(c, NOP); - if (!compiler_unwind_fblock_stack(c, 0, &loop)) { - return 0; - } + ADDOP(c, loc, NOP); + RETURN_IF_ERROR(compiler_unwind_fblock_stack(c, &loc, 0, &loop)); if (loop == NULL) { - c->u->u_lineno = u_lineno; - c->u->u_col_offset = u_col_offset; - c->u->u_end_lineno = u_end_lineno; - c->u->u_end_col_offset = u_end_col_offset; - return compiler_error(c, "'break' outside loop"); - } - if (!compiler_unwind_fblock(c, loop, 0)) { - return 0; + return compiler_error(c, origin_loc, "'break' outside loop"); } - ADDOP_JUMP(c, JUMP, loop->fb_exit); - return 1; + RETURN_IF_ERROR(compiler_unwind_fblock(c, &loc, loop, 0)); + ADDOP_JUMP(c, loc, JUMP, loop->fb_exit); + return SUCCESS; } static int -compiler_continue(struct compiler *c) +compiler_continue(struct compiler *c, location loc) { struct fblockinfo *loop = NULL; - int u_lineno = c->u->u_lineno; - int u_col_offset = c->u->u_col_offset; - int u_end_lineno = c->u->u_end_lineno; - int u_end_col_offset = c->u->u_end_col_offset; + location origin_loc = loc; /* Emit instruction with line number */ - ADDOP(c, NOP); - if (!compiler_unwind_fblock_stack(c, 0, &loop)) { - return 0; - } + ADDOP(c, loc, NOP); + RETURN_IF_ERROR(compiler_unwind_fblock_stack(c, &loc, 0, &loop)); if (loop == NULL) { - c->u->u_lineno = u_lineno; - c->u->u_col_offset = u_col_offset; - c->u->u_end_lineno = u_end_lineno; - c->u->u_end_col_offset = u_end_col_offset; - return compiler_error(c, "'continue' not properly in loop"); + return compiler_error(c, origin_loc, "'continue' not properly in loop"); } - ADDOP_JUMP(c, JUMP, loop->fb_block); - return 1; + ADDOP_JUMP(c, loc, JUMP, loop->fb_block); + return SUCCESS; } @@ -3352,101 +3216,103 @@ compiler_continue(struct compiler *c) static int compiler_try_finally(struct compiler *c, stmt_ty s) { - basicblock *body, *end, *exit, *cleanup; + location loc = LOC(s); + + NEW_JUMP_TARGET_LABEL(c, body); + NEW_JUMP_TARGET_LABEL(c, end); + NEW_JUMP_TARGET_LABEL(c, exit); + NEW_JUMP_TARGET_LABEL(c, cleanup); - body = compiler_new_block(c); - end = compiler_new_block(c); - exit = compiler_new_block(c); - cleanup = compiler_new_block(c); - if (body == NULL || end == NULL || exit == NULL || cleanup == NULL) { - return 0; - } /* `try` block */ - ADDOP_JUMP(c, SETUP_FINALLY, end); - compiler_use_next_block(c, body); - if (!compiler_push_fblock(c, FINALLY_TRY, body, end, s->v.Try.finalbody)) - return 0; + ADDOP_JUMP(c, loc, SETUP_FINALLY, end); + + USE_LABEL(c, body); + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, FINALLY_TRY, body, end, + s->v.Try.finalbody)); + if (s->v.Try.handlers && asdl_seq_LEN(s->v.Try.handlers)) { - if (!compiler_try_except(c, s)) - return 0; + RETURN_IF_ERROR(compiler_try_except(c, s)); } else { VISIT_SEQ(c, stmt, s->v.Try.body); } - ADDOP_NOLINE(c, POP_BLOCK); + ADDOP(c, NO_LOCATION, POP_BLOCK); compiler_pop_fblock(c, FINALLY_TRY, body); VISIT_SEQ(c, stmt, s->v.Try.finalbody); - ADDOP_JUMP_NOLINE(c, JUMP, exit); + + ADDOP_JUMP(c, NO_LOCATION, JUMP, exit); /* `finally` block */ - compiler_use_next_block(c, end); - UNSET_LOC(c); - ADDOP_JUMP(c, SETUP_CLEANUP, cleanup); - ADDOP(c, PUSH_EXC_INFO); - if (!compiler_push_fblock(c, FINALLY_END, end, NULL, NULL)) - return 0; + USE_LABEL(c, end); + + loc = NO_LOCATION; + ADDOP_JUMP(c, loc, SETUP_CLEANUP, cleanup); + ADDOP(c, loc, PUSH_EXC_INFO); + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, FINALLY_END, end, NO_LABEL, NULL)); VISIT_SEQ(c, stmt, s->v.Try.finalbody); compiler_pop_fblock(c, FINALLY_END, end); - ADDOP_I(c, RERAISE, 0); - compiler_use_next_block(c, cleanup); - POP_EXCEPT_AND_RERAISE(c); - compiler_use_next_block(c, exit); - return 1; + + loc = NO_LOCATION; + ADDOP_I(c, loc, RERAISE, 0); + + USE_LABEL(c, cleanup); + POP_EXCEPT_AND_RERAISE(c, loc); + + USE_LABEL(c, exit); + return SUCCESS; } static int compiler_try_star_finally(struct compiler *c, stmt_ty s) { - basicblock *body = compiler_new_block(c); - if (body == NULL) { - return 0; - } - basicblock *end = compiler_new_block(c); - if (!end) { - return 0; - } - basicblock *exit = compiler_new_block(c); - if (!exit) { - return 0; - } - basicblock *cleanup = compiler_new_block(c); - if (!cleanup) { - return 0; - } + location loc = LOC(s); + + NEW_JUMP_TARGET_LABEL(c, body); + NEW_JUMP_TARGET_LABEL(c, end); + NEW_JUMP_TARGET_LABEL(c, exit); + NEW_JUMP_TARGET_LABEL(c, cleanup); /* `try` block */ - ADDOP_JUMP(c, SETUP_FINALLY, end); - compiler_use_next_block(c, body); - if (!compiler_push_fblock(c, FINALLY_TRY, body, end, s->v.TryStar.finalbody)) { - return 0; - } + ADDOP_JUMP(c, loc, SETUP_FINALLY, end); + + USE_LABEL(c, body); + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, FINALLY_TRY, body, end, + s->v.TryStar.finalbody)); + if (s->v.TryStar.handlers && asdl_seq_LEN(s->v.TryStar.handlers)) { - if (!compiler_try_star_except(c, s)) { - return 0; - } + RETURN_IF_ERROR(compiler_try_star_except(c, s)); } else { VISIT_SEQ(c, stmt, s->v.TryStar.body); } - ADDOP_NOLINE(c, POP_BLOCK); + ADDOP(c, NO_LOCATION, POP_BLOCK); compiler_pop_fblock(c, FINALLY_TRY, body); VISIT_SEQ(c, stmt, s->v.TryStar.finalbody); - ADDOP_JUMP_NOLINE(c, JUMP, exit); + + ADDOP_JUMP(c, NO_LOCATION, JUMP, exit); + /* `finally` block */ - compiler_use_next_block(c, end); + USE_LABEL(c, end); + + loc = NO_LOCATION; + ADDOP_JUMP(c, loc, SETUP_CLEANUP, cleanup); + ADDOP(c, loc, PUSH_EXC_INFO); + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, FINALLY_END, end, NO_LABEL, NULL)); - UNSET_LOC(c); - ADDOP_JUMP(c, SETUP_CLEANUP, cleanup); - ADDOP(c, PUSH_EXC_INFO); - if (!compiler_push_fblock(c, FINALLY_END, end, NULL, NULL)) { - return 0; - } VISIT_SEQ(c, stmt, s->v.TryStar.finalbody); + compiler_pop_fblock(c, FINALLY_END, end); - ADDOP_I(c, RERAISE, 0); - compiler_use_next_block(c, cleanup); - POP_EXCEPT_AND_RERAISE(c); - compiler_use_next_block(c, exit); - return 1; + loc = NO_LOCATION; + ADDOP_I(c, loc, RERAISE, 0); + + USE_LABEL(c, cleanup); + POP_EXCEPT_AND_RERAISE(c, loc); + + USE_LABEL(c, exit); + return SUCCESS; } @@ -3481,60 +3347,57 @@ compiler_try_star_finally(struct compiler *c, stmt_ty s) static int compiler_try_except(struct compiler *c, stmt_ty s) { - basicblock *body, *except, *end, *cleanup; + location loc = LOC(s); Py_ssize_t i, n; - body = compiler_new_block(c); - except = compiler_new_block(c); - end = compiler_new_block(c); - cleanup = compiler_new_block(c); - if (body == NULL || except == NULL || end == NULL || cleanup == NULL) - return 0; - ADDOP_JUMP(c, SETUP_FINALLY, except); - compiler_use_next_block(c, body); - if (!compiler_push_fblock(c, TRY_EXCEPT, body, NULL, NULL)) - return 0; + NEW_JUMP_TARGET_LABEL(c, body); + NEW_JUMP_TARGET_LABEL(c, except); + NEW_JUMP_TARGET_LABEL(c, end); + NEW_JUMP_TARGET_LABEL(c, cleanup); + + ADDOP_JUMP(c, loc, SETUP_FINALLY, except); + + USE_LABEL(c, body); + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, TRY_EXCEPT, body, NO_LABEL, NULL)); VISIT_SEQ(c, stmt, s->v.Try.body); compiler_pop_fblock(c, TRY_EXCEPT, body); - ADDOP_NOLINE(c, POP_BLOCK); + ADDOP(c, NO_LOCATION, POP_BLOCK); if (s->v.Try.orelse && asdl_seq_LEN(s->v.Try.orelse)) { VISIT_SEQ(c, stmt, s->v.Try.orelse); } - ADDOP_JUMP_NOLINE(c, JUMP, end); + ADDOP_JUMP(c, NO_LOCATION, JUMP, end); n = asdl_seq_LEN(s->v.Try.handlers); - compiler_use_next_block(c, except); - UNSET_LOC(c); - ADDOP_JUMP(c, SETUP_CLEANUP, cleanup); - ADDOP(c, PUSH_EXC_INFO); + USE_LABEL(c, except); + + ADDOP_JUMP(c, NO_LOCATION, SETUP_CLEANUP, cleanup); + ADDOP(c, NO_LOCATION, PUSH_EXC_INFO); + /* Runtime will push a block here, so we need to account for that */ - if (!compiler_push_fblock(c, EXCEPTION_HANDLER, NULL, NULL, NULL)) - return 0; + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, EXCEPTION_HANDLER, NO_LABEL, NO_LABEL, NULL)); + for (i = 0; i < n; i++) { excepthandler_ty handler = (excepthandler_ty)asdl_seq_GET( s->v.Try.handlers, i); - SET_LOC(c, handler); + location loc = LOC(handler); if (!handler->v.ExceptHandler.type && i < n-1) { - return compiler_error(c, "default 'except:' must be last"); + return compiler_error(c, loc, "default 'except:' must be last"); } - except = compiler_new_block(c); - if (except == NULL) - return 0; + NEW_JUMP_TARGET_LABEL(c, next_except); + except = next_except; if (handler->v.ExceptHandler.type) { VISIT(c, expr, handler->v.ExceptHandler.type); - ADDOP(c, CHECK_EXC_MATCH); - ADDOP_JUMP(c, POP_JUMP_IF_FALSE, except); + ADDOP(c, loc, CHECK_EXC_MATCH); + ADDOP_JUMP(c, loc, POP_JUMP_IF_FALSE, except); } if (handler->v.ExceptHandler.name) { - basicblock *cleanup_end, *cleanup_body; - - cleanup_end = compiler_new_block(c); - cleanup_body = compiler_new_block(c); - if (cleanup_end == NULL || cleanup_body == NULL) { - return 0; - } + NEW_JUMP_TARGET_LABEL(c, cleanup_end); + NEW_JUMP_TARGET_LABEL(c, cleanup_body); - compiler_nameop(c, handler->v.ExceptHandler.name, Store); + RETURN_IF_ERROR( + compiler_nameop(c, loc, handler->v.ExceptHandler.name, Store)); /* try: @@ -3548,64 +3411,67 @@ compiler_try_except(struct compiler *c, stmt_ty s) */ /* second try: */ - ADDOP_JUMP(c, SETUP_CLEANUP, cleanup_end); - compiler_use_next_block(c, cleanup_body); - if (!compiler_push_fblock(c, HANDLER_CLEANUP, cleanup_body, NULL, handler->v.ExceptHandler.name)) - return 0; + ADDOP_JUMP(c, loc, SETUP_CLEANUP, cleanup_end); + + USE_LABEL(c, cleanup_body); + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, HANDLER_CLEANUP, cleanup_body, + NO_LABEL, handler->v.ExceptHandler.name)); /* second # body */ VISIT_SEQ(c, stmt, handler->v.ExceptHandler.body); compiler_pop_fblock(c, HANDLER_CLEANUP, cleanup_body); /* name = None; del name; # Mark as artificial */ - UNSET_LOC(c); - ADDOP(c, POP_BLOCK); - ADDOP(c, POP_BLOCK); - ADDOP(c, POP_EXCEPT); - ADDOP_LOAD_CONST(c, Py_None); - compiler_nameop(c, handler->v.ExceptHandler.name, Store); - compiler_nameop(c, handler->v.ExceptHandler.name, Del); - ADDOP_JUMP(c, JUMP, end); + ADDOP(c, NO_LOCATION, POP_BLOCK); + ADDOP(c, NO_LOCATION, POP_BLOCK); + ADDOP(c, NO_LOCATION, POP_EXCEPT); + ADDOP_LOAD_CONST(c, NO_LOCATION, Py_None); + RETURN_IF_ERROR( + compiler_nameop(c, NO_LOCATION, handler->v.ExceptHandler.name, Store)); + RETURN_IF_ERROR( + compiler_nameop(c, NO_LOCATION, handler->v.ExceptHandler.name, Del)); + ADDOP_JUMP(c, NO_LOCATION, JUMP, end); /* except: */ - compiler_use_next_block(c, cleanup_end); + USE_LABEL(c, cleanup_end); - /* name = None; del name; # Mark as artificial */ - UNSET_LOC(c); - - ADDOP_LOAD_CONST(c, Py_None); - compiler_nameop(c, handler->v.ExceptHandler.name, Store); - compiler_nameop(c, handler->v.ExceptHandler.name, Del); + /* name = None; del name; # artificial */ + ADDOP_LOAD_CONST(c, NO_LOCATION, Py_None); + RETURN_IF_ERROR( + compiler_nameop(c, NO_LOCATION, handler->v.ExceptHandler.name, Store)); + RETURN_IF_ERROR( + compiler_nameop(c, NO_LOCATION, handler->v.ExceptHandler.name, Del)); - ADDOP_I(c, RERAISE, 1); + ADDOP_I(c, NO_LOCATION, RERAISE, 1); } else { - basicblock *cleanup_body; + NEW_JUMP_TARGET_LABEL(c, cleanup_body); - cleanup_body = compiler_new_block(c); - if (!cleanup_body) - return 0; + ADDOP(c, loc, POP_TOP); /* exc_value */ + + USE_LABEL(c, cleanup_body); + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, HANDLER_CLEANUP, cleanup_body, + NO_LABEL, NULL)); - ADDOP(c, POP_TOP); /* exc_value */ - compiler_use_next_block(c, cleanup_body); - if (!compiler_push_fblock(c, HANDLER_CLEANUP, cleanup_body, NULL, NULL)) - return 0; VISIT_SEQ(c, stmt, handler->v.ExceptHandler.body); compiler_pop_fblock(c, HANDLER_CLEANUP, cleanup_body); - UNSET_LOC(c); - ADDOP(c, POP_BLOCK); - ADDOP(c, POP_EXCEPT); - ADDOP_JUMP(c, JUMP, end); - } - compiler_use_next_block(c, except); - } - /* Mark as artificial */ - UNSET_LOC(c); - compiler_pop_fblock(c, EXCEPTION_HANDLER, NULL); - ADDOP_I(c, RERAISE, 0); - compiler_use_next_block(c, cleanup); - POP_EXCEPT_AND_RERAISE(c); - compiler_use_next_block(c, end); - return 1; + ADDOP(c, NO_LOCATION, POP_BLOCK); + ADDOP(c, NO_LOCATION, POP_EXCEPT); + ADDOP_JUMP(c, NO_LOCATION, JUMP, end); + } + + USE_LABEL(c, except); + } + /* artificial */ + compiler_pop_fblock(c, EXCEPTION_HANDLER, NO_LABEL); + ADDOP_I(c, NO_LOCATION, RERAISE, 0); + + USE_LABEL(c, cleanup); + POP_EXCEPT_AND_RERAISE(c, NO_LOCATION); + + USE_LABEL(c, end); + return SUCCESS; } /* @@ -3620,9 +3486,8 @@ compiler_try_except(struct compiler *c, stmt_ty s) [] POP_BLOCK [] JUMP L0 - [exc] L1: COPY 1 ) save copy of the original exception - [orig, exc] BUILD_LIST ) list for raised/reraised excs ("result") - [orig, exc, res] SWAP 2 + [exc] L1: BUILD_LIST ) list for raised/reraised excs ("result") + [orig, res] COPY 2 ) make a copy of the original EG [orig, res, exc] [orig, res, exc, E1] CHECK_EG_MATCH @@ -3649,7 +3514,7 @@ compiler_try_except(struct compiler *c, stmt_ty s) [orig, res, rest] Ln+1: LIST_APPEND 1 ) add unhandled exc to res (could be None) - [orig, res] PREP_RERAISE_STAR + [orig, res] CALL_INTRINSIC_2 PREP_RERAISE_STAR [exc] COPY 1 [exc, exc] POP_JUMP_IF_NOT_NONE RER [exc] POP_TOP @@ -3664,105 +3529,73 @@ compiler_try_except(struct compiler *c, stmt_ty s) static int compiler_try_star_except(struct compiler *c, stmt_ty s) { - basicblock *body = compiler_new_block(c); - if (body == NULL) { - return 0; - } - basicblock *except = compiler_new_block(c); - if (except == NULL) { - return 0; - } - basicblock *orelse = compiler_new_block(c); - if (orelse == NULL) { - return 0; - } - basicblock *end = compiler_new_block(c); - if (end == NULL) { - return 0; - } - basicblock *cleanup = compiler_new_block(c); - if (cleanup == NULL) { - return 0; - } - basicblock *reraise_star = compiler_new_block(c); - if (reraise_star == NULL) { - return 0; - } + location loc = LOC(s); - ADDOP_JUMP(c, SETUP_FINALLY, except); - compiler_use_next_block(c, body); - if (!compiler_push_fblock(c, TRY_EXCEPT, body, NULL, NULL)) { - return 0; - } + NEW_JUMP_TARGET_LABEL(c, body); + NEW_JUMP_TARGET_LABEL(c, except); + NEW_JUMP_TARGET_LABEL(c, orelse); + NEW_JUMP_TARGET_LABEL(c, end); + NEW_JUMP_TARGET_LABEL(c, cleanup); + NEW_JUMP_TARGET_LABEL(c, reraise_star); + + ADDOP_JUMP(c, loc, SETUP_FINALLY, except); + + USE_LABEL(c, body); + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, TRY_EXCEPT, body, NO_LABEL, NULL)); VISIT_SEQ(c, stmt, s->v.TryStar.body); compiler_pop_fblock(c, TRY_EXCEPT, body); - ADDOP_NOLINE(c, POP_BLOCK); - ADDOP_JUMP_NOLINE(c, JUMP, orelse); + ADDOP(c, NO_LOCATION, POP_BLOCK); + ADDOP_JUMP(c, NO_LOCATION, JUMP, orelse); Py_ssize_t n = asdl_seq_LEN(s->v.TryStar.handlers); - compiler_use_next_block(c, except); - UNSET_LOC(c); - ADDOP_JUMP(c, SETUP_CLEANUP, cleanup); - ADDOP(c, PUSH_EXC_INFO); + USE_LABEL(c, except); + + ADDOP_JUMP(c, NO_LOCATION, SETUP_CLEANUP, cleanup); + ADDOP(c, NO_LOCATION, PUSH_EXC_INFO); + /* Runtime will push a block here, so we need to account for that */ - if (!compiler_push_fblock(c, EXCEPTION_GROUP_HANDLER, - NULL, NULL, "except handler")) { - return 0; - } + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, EXCEPTION_GROUP_HANDLER, + NO_LABEL, NO_LABEL, "except handler")); + for (Py_ssize_t i = 0; i < n; i++) { excepthandler_ty handler = (excepthandler_ty)asdl_seq_GET( s->v.TryStar.handlers, i); - SET_LOC(c, handler); - except = compiler_new_block(c); - if (except == NULL) { - return 0; - } - basicblock *except_with_error = compiler_new_block(c); - if (except_with_error == NULL) { - return 0; - } - basicblock *no_match = compiler_new_block(c); - if (no_match == NULL) { - return 0; - } + location loc = LOC(handler); + NEW_JUMP_TARGET_LABEL(c, next_except); + except = next_except; + NEW_JUMP_TARGET_LABEL(c, except_with_error); + NEW_JUMP_TARGET_LABEL(c, no_match); if (i == 0) { - /* Push the original EG into the stack */ + /* create empty list for exceptions raised/reraise in the except* blocks */ /* - [exc] COPY 1 - [orig, exc] + [orig] BUILD_LIST */ - ADDOP_I(c, COPY, 1); - - /* create empty list for exceptions raised/reraise in the except* blocks */ + /* Create a copy of the original EG */ /* - [orig, exc] BUILD_LIST - [orig, exc, []] SWAP 2 + [orig, []] COPY 2 [orig, [], exc] */ - ADDOP_I(c, BUILD_LIST, 0); - ADDOP_I(c, SWAP, 2); + ADDOP_I(c, loc, BUILD_LIST, 0); + ADDOP_I(c, loc, COPY, 2); } if (handler->v.ExceptHandler.type) { VISIT(c, expr, handler->v.ExceptHandler.type); - ADDOP(c, CHECK_EG_MATCH); - ADDOP_I(c, COPY, 1); - ADDOP_JUMP(c, POP_JUMP_IF_NONE, no_match); + ADDOP(c, loc, CHECK_EG_MATCH); + ADDOP_I(c, loc, COPY, 1); + ADDOP_JUMP(c, loc, POP_JUMP_IF_NONE, no_match); } - basicblock *cleanup_end = compiler_new_block(c); - if (cleanup_end == NULL) { - return 0; - } - basicblock *cleanup_body = compiler_new_block(c); - if (cleanup_body == NULL) { - return 0; - } + NEW_JUMP_TARGET_LABEL(c, cleanup_end); + NEW_JUMP_TARGET_LABEL(c, cleanup_body); if (handler->v.ExceptHandler.name) { - compiler_nameop(c, handler->v.ExceptHandler.name, Store); + RETURN_IF_ERROR( + compiler_nameop(c, loc, handler->v.ExceptHandler.name, Store)); } else { - ADDOP(c, POP_TOP); // match + ADDOP(c, loc, POP_TOP); // match } /* @@ -3776,84 +3609,88 @@ compiler_try_star_except(struct compiler *c, stmt_ty s) del name */ /* second try: */ - ADDOP_JUMP(c, SETUP_CLEANUP, cleanup_end); - compiler_use_next_block(c, cleanup_body); - if (!compiler_push_fblock(c, HANDLER_CLEANUP, cleanup_body, NULL, handler->v.ExceptHandler.name)) - return 0; + ADDOP_JUMP(c, loc, SETUP_CLEANUP, cleanup_end); + + USE_LABEL(c, cleanup_body); + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, HANDLER_CLEANUP, cleanup_body, + NO_LABEL, handler->v.ExceptHandler.name)); /* second # body */ VISIT_SEQ(c, stmt, handler->v.ExceptHandler.body); compiler_pop_fblock(c, HANDLER_CLEANUP, cleanup_body); - /* name = None; del name; # Mark as artificial */ - UNSET_LOC(c); - ADDOP(c, POP_BLOCK); + /* name = None; del name; # artificial */ + ADDOP(c, NO_LOCATION, POP_BLOCK); if (handler->v.ExceptHandler.name) { - ADDOP_LOAD_CONST(c, Py_None); - compiler_nameop(c, handler->v.ExceptHandler.name, Store); - compiler_nameop(c, handler->v.ExceptHandler.name, Del); + ADDOP_LOAD_CONST(c, NO_LOCATION, Py_None); + RETURN_IF_ERROR( + compiler_nameop(c, NO_LOCATION, handler->v.ExceptHandler.name, Store)); + RETURN_IF_ERROR( + compiler_nameop(c, NO_LOCATION, handler->v.ExceptHandler.name, Del)); } - ADDOP_JUMP(c, JUMP, except); + ADDOP_JUMP(c, NO_LOCATION, JUMP, except); /* except: */ - compiler_use_next_block(c, cleanup_end); - - /* name = None; del name; # Mark as artificial */ - UNSET_LOC(c); + USE_LABEL(c, cleanup_end); + /* name = None; del name; # artificial */ if (handler->v.ExceptHandler.name) { - ADDOP_LOAD_CONST(c, Py_None); - compiler_nameop(c, handler->v.ExceptHandler.name, Store); - compiler_nameop(c, handler->v.ExceptHandler.name, Del); + ADDOP_LOAD_CONST(c, NO_LOCATION, Py_None); + RETURN_IF_ERROR( + compiler_nameop(c, NO_LOCATION, handler->v.ExceptHandler.name, Store)); + RETURN_IF_ERROR( + compiler_nameop(c, NO_LOCATION, handler->v.ExceptHandler.name, Del)); } /* add exception raised to the res list */ - ADDOP_I(c, LIST_APPEND, 3); // exc - ADDOP(c, POP_TOP); // lasti + ADDOP_I(c, NO_LOCATION, LIST_APPEND, 3); // exc + ADDOP(c, NO_LOCATION, POP_TOP); // lasti + ADDOP_JUMP(c, NO_LOCATION, JUMP, except_with_error); - ADDOP_JUMP(c, JUMP, except_with_error); - compiler_use_next_block(c, except); - ADDOP(c, NOP); // to hold a propagated location info - ADDOP_JUMP(c, JUMP, except_with_error); - compiler_use_next_block(c, no_match); - ADDOP(c, POP_TOP); // match (None) + USE_LABEL(c, except); + ADDOP(c, NO_LOCATION, NOP); // to hold a propagated location info + ADDOP_JUMP(c, NO_LOCATION, JUMP, except_with_error); - compiler_use_next_block(c, except_with_error); + USE_LABEL(c, no_match); + ADDOP(c, loc, POP_TOP); // match (None) + + USE_LABEL(c, except_with_error); if (i == n - 1) { /* Add exc to the list (if not None it's the unhandled part of the EG) */ - ADDOP_I(c, LIST_APPEND, 1); - ADDOP_JUMP(c, JUMP, reraise_star); + ADDOP_I(c, NO_LOCATION, LIST_APPEND, 1); + ADDOP_JUMP(c, NO_LOCATION, JUMP, reraise_star); } } - /* Mark as artificial */ - UNSET_LOC(c); - compiler_pop_fblock(c, EXCEPTION_GROUP_HANDLER, NULL); - basicblock *reraise = compiler_new_block(c); - if (!reraise) { - return 0; - } + /* artificial */ + compiler_pop_fblock(c, EXCEPTION_GROUP_HANDLER, NO_LABEL); + NEW_JUMP_TARGET_LABEL(c, reraise); - compiler_use_next_block(c, reraise_star); - ADDOP(c, PREP_RERAISE_STAR); - ADDOP_I(c, COPY, 1); - ADDOP_JUMP(c, POP_JUMP_IF_NOT_NONE, reraise); + USE_LABEL(c, reraise_star); + ADDOP_I(c, NO_LOCATION, CALL_INTRINSIC_2, INTRINSIC_PREP_RERAISE_STAR); + ADDOP_I(c, NO_LOCATION, COPY, 1); + ADDOP_JUMP(c, NO_LOCATION, POP_JUMP_IF_NOT_NONE, reraise); /* Nothing to reraise */ - ADDOP(c, POP_TOP); - ADDOP(c, POP_BLOCK); - ADDOP(c, POP_EXCEPT); - ADDOP_JUMP(c, JUMP, end); - compiler_use_next_block(c, reraise); - ADDOP(c, POP_BLOCK); - ADDOP_I(c, SWAP, 2); - ADDOP(c, POP_EXCEPT); - ADDOP_I(c, RERAISE, 0); - compiler_use_next_block(c, cleanup); - POP_EXCEPT_AND_RERAISE(c); - compiler_use_next_block(c, orelse); + ADDOP(c, NO_LOCATION, POP_TOP); + ADDOP(c, NO_LOCATION, POP_BLOCK); + ADDOP(c, NO_LOCATION, POP_EXCEPT); + ADDOP_JUMP(c, NO_LOCATION, JUMP, end); + + USE_LABEL(c, reraise); + ADDOP(c, NO_LOCATION, POP_BLOCK); + ADDOP_I(c, NO_LOCATION, SWAP, 2); + ADDOP(c, NO_LOCATION, POP_EXCEPT); + ADDOP_I(c, NO_LOCATION, RERAISE, 0); + + USE_LABEL(c, cleanup); + POP_EXCEPT_AND_RERAISE(c, NO_LOCATION); + + USE_LABEL(c, orelse); VISIT_SEQ(c, stmt, s->v.TryStar.orelse); - compiler_use_next_block(c, end); - return 1; + + USE_LABEL(c, end); + return SUCCESS; } static int @@ -3876,7 +3713,8 @@ compiler_try_star(struct compiler *c, stmt_ty s) } static int -compiler_import_as(struct compiler *c, identifier name, identifier asname) +compiler_import_as(struct compiler *c, location loc, + identifier name, identifier asname) { /* The IMPORT_NAME opcode was already generated. This function merely needs to bind the result to a name. @@ -3886,38 +3724,40 @@ compiler_import_as(struct compiler *c, identifier name, identifier asname) */ Py_ssize_t len = PyUnicode_GET_LENGTH(name); Py_ssize_t dot = PyUnicode_FindChar(name, '.', 0, len, 1); - if (dot == -2) - return 0; + if (dot == -2) { + return ERROR; + } if (dot != -1) { /* Consume the base module name to get the first attribute */ while (1) { Py_ssize_t pos = dot + 1; PyObject *attr; dot = PyUnicode_FindChar(name, '.', pos, len, 1); - if (dot == -2) - return 0; + if (dot == -2) { + return ERROR; + } attr = PyUnicode_Substring(name, pos, (dot != -1) ? dot : len); - if (!attr) - return 0; - ADDOP_N(c, IMPORT_FROM, attr, names); + if (!attr) { + return ERROR; + } + ADDOP_N(c, loc, IMPORT_FROM, attr, names); if (dot == -1) { break; } - ADDOP_I(c, SWAP, 2); - ADDOP(c, POP_TOP); - } - if (!compiler_nameop(c, asname, Store)) { - return 0; + ADDOP_I(c, loc, SWAP, 2); + ADDOP(c, loc, POP_TOP); } - ADDOP(c, POP_TOP); - return 1; + RETURN_IF_ERROR(compiler_nameop(c, loc, asname, Store)); + ADDOP(c, loc, POP_TOP); + return SUCCESS; } - return compiler_nameop(c, asname, Store); + return compiler_nameop(c, loc, asname, Store); } static int compiler_import(struct compiler *c, stmt_ty s) { + location loc = LOC(s); /* The Import node stores a module name like a.b.c as a single string. This is convenient for all cases except import a.b.c as d @@ -3932,14 +3772,13 @@ compiler_import(struct compiler *c, stmt_ty s) alias_ty alias = (alias_ty)asdl_seq_GET(s->v.Import.names, i); int r; - ADDOP_LOAD_CONST(c, zero); - ADDOP_LOAD_CONST(c, Py_None); - ADDOP_NAME(c, IMPORT_NAME, alias->name, names); + ADDOP_LOAD_CONST(c, loc, zero); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADDOP_NAME(c, loc, IMPORT_NAME, alias->name, names); if (alias->asname) { - r = compiler_import_as(c, alias->name, alias->asname); - if (!r) - return r; + r = compiler_import_as(c, loc, alias->name, alias->asname); + RETURN_IF_ERROR(r); } else { identifier tmp = alias->name; @@ -3947,83 +3786,82 @@ compiler_import(struct compiler *c, stmt_ty s) alias->name, '.', 0, PyUnicode_GET_LENGTH(alias->name), 1); if (dot != -1) { tmp = PyUnicode_Substring(alias->name, 0, dot); - if (tmp == NULL) - return 0; + if (tmp == NULL) { + return ERROR; + } } - r = compiler_nameop(c, tmp, Store); + r = compiler_nameop(c, loc, tmp, Store); if (dot != -1) { Py_DECREF(tmp); } - if (!r) - return r; + RETURN_IF_ERROR(r); } } - return 1; + return SUCCESS; } static int compiler_from_import(struct compiler *c, stmt_ty s) { - Py_ssize_t i, n = asdl_seq_LEN(s->v.ImportFrom.names); - PyObject *names; + Py_ssize_t n = asdl_seq_LEN(s->v.ImportFrom.names); - ADDOP_LOAD_CONST_NEW(c, PyLong_FromLong(s->v.ImportFrom.level)); + ADDOP_LOAD_CONST_NEW(c, LOC(s), PyLong_FromLong(s->v.ImportFrom.level)); - names = PyTuple_New(n); - if (!names) - return 0; + PyObject *names = PyTuple_New(n); + if (!names) { + return ERROR; + } /* build up the names */ - for (i = 0; i < n; i++) { + for (Py_ssize_t i = 0; i < n; i++) { alias_ty alias = (alias_ty)asdl_seq_GET(s->v.ImportFrom.names, i); - Py_INCREF(alias->name); - PyTuple_SET_ITEM(names, i, alias->name); + PyTuple_SET_ITEM(names, i, Py_NewRef(alias->name)); } - if (s->lineno > c->c_future->ff_lineno && s->v.ImportFrom.module && - _PyUnicode_EqualToASCIIString(s->v.ImportFrom.module, "__future__")) { + if (location_is_after(LOC(s), c->c_future.ff_location) && + s->v.ImportFrom.module && + _PyUnicode_EqualToASCIIString(s->v.ImportFrom.module, "__future__")) + { Py_DECREF(names); - return compiler_error(c, "from __future__ imports must occur " + return compiler_error(c, LOC(s), "from __future__ imports must occur " "at the beginning of the file"); } - ADDOP_LOAD_CONST_NEW(c, names); + ADDOP_LOAD_CONST_NEW(c, LOC(s), names); if (s->v.ImportFrom.module) { - ADDOP_NAME(c, IMPORT_NAME, s->v.ImportFrom.module, names); + ADDOP_NAME(c, LOC(s), IMPORT_NAME, s->v.ImportFrom.module, names); } else { _Py_DECLARE_STR(empty, ""); - ADDOP_NAME(c, IMPORT_NAME, &_Py_STR(empty), names); + ADDOP_NAME(c, LOC(s), IMPORT_NAME, &_Py_STR(empty), names); } - for (i = 0; i < n; i++) { + for (Py_ssize_t i = 0; i < n; i++) { alias_ty alias = (alias_ty)asdl_seq_GET(s->v.ImportFrom.names, i); identifier store_name; if (i == 0 && PyUnicode_READ_CHAR(alias->name, 0) == '*') { assert(n == 1); - ADDOP(c, IMPORT_STAR); - return 1; + ADDOP_I(c, LOC(s), CALL_INTRINSIC_1, INTRINSIC_IMPORT_STAR); + ADDOP(c, NO_LOCATION, POP_TOP); + return SUCCESS; } - ADDOP_NAME(c, IMPORT_FROM, alias->name, names); + ADDOP_NAME(c, LOC(s), IMPORT_FROM, alias->name, names); store_name = alias->name; - if (alias->asname) + if (alias->asname) { store_name = alias->asname; - - if (!compiler_nameop(c, store_name, Store)) { - return 0; } + + RETURN_IF_ERROR(compiler_nameop(c, LOC(s), store_name, Store)); } /* remove imported module */ - ADDOP(c, POP_TOP); - return 1; + ADDOP(c, LOC(s), POP_TOP); + return SUCCESS; } static int compiler_assert(struct compiler *c, stmt_ty s) { - basicblock *end; - /* Always emit a warning if the test is a non-zero length tuple */ if ((s->v.Assert.test->kind == Tuple_kind && asdl_seq_LEN(s->v.Assert.test->v.Tuple.elts) > 0) || @@ -4031,81 +3869,76 @@ compiler_assert(struct compiler *c, stmt_ty s) PyTuple_Check(s->v.Assert.test->v.Constant.value) && PyTuple_Size(s->v.Assert.test->v.Constant.value) > 0)) { - if (!compiler_warn(c, "assertion is always true, " - "perhaps remove parentheses?")) - { - return 0; - } + RETURN_IF_ERROR( + compiler_warn(c, LOC(s), "assertion is always true, " + "perhaps remove parentheses?")); } - if (c->c_optimize) - return 1; - end = compiler_new_block(c); - if (end == NULL) - return 0; - if (!compiler_jump_if(c, s->v.Assert.test, end, 1)) - return 0; - ADDOP(c, LOAD_ASSERTION_ERROR); + if (c->c_optimize) { + return SUCCESS; + } + NEW_JUMP_TARGET_LABEL(c, end); + RETURN_IF_ERROR(compiler_jump_if(c, LOC(s), s->v.Assert.test, end, 1)); + ADDOP(c, LOC(s), LOAD_ASSERTION_ERROR); if (s->v.Assert.msg) { VISIT(c, expr, s->v.Assert.msg); - ADDOP_I(c, PRECALL, 0); - ADDOP_I(c, CALL, 0); + ADDOP_I(c, LOC(s), CALL, 0); } - ADDOP_I(c, RAISE_VARARGS, 1); - compiler_use_next_block(c, end); - return 1; + ADDOP_I(c, LOC(s), RAISE_VARARGS, 1); + + USE_LABEL(c, end); + return SUCCESS; } static int -compiler_visit_stmt_expr(struct compiler *c, expr_ty value) +compiler_stmt_expr(struct compiler *c, location loc, expr_ty value) { if (c->c_interactive && c->c_nestlevel <= 1) { VISIT(c, expr, value); - ADDOP(c, PRINT_EXPR); - return 1; + ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_PRINT); + ADDOP(c, NO_LOCATION, POP_TOP); + return SUCCESS; } if (value->kind == Constant_kind) { /* ignore constant statement */ - ADDOP(c, NOP); - return 1; + ADDOP(c, loc, NOP); + return SUCCESS; } VISIT(c, expr, value); - /* Mark POP_TOP as artificial */ - UNSET_LOC(c); - ADDOP(c, POP_TOP); - return 1; + ADDOP(c, NO_LOCATION, POP_TOP); /* artificial */ + return SUCCESS; } static int compiler_visit_stmt(struct compiler *c, stmt_ty s) { - Py_ssize_t i, n; - - /* Always assign a lineno to the next instruction for a stmt. */ - SET_LOC(c, s); switch (s->kind) { case FunctionDef_kind: return compiler_function(c, s, 0); case ClassDef_kind: return compiler_class(c, s); + case TypeAlias_kind: + return compiler_typealias(c, s); case Return_kind: return compiler_return(c, s); case Delete_kind: VISIT_SEQ(c, expr, s->v.Delete.targets) break; case Assign_kind: - n = asdl_seq_LEN(s->v.Assign.targets); + { + Py_ssize_t n = asdl_seq_LEN(s->v.Assign.targets); VISIT(c, expr, s->v.Assign.value); - for (i = 0; i < n; i++) { + for (Py_ssize_t i = 0; i < n; i++) { if (i < n - 1) { - ADDOP_I(c, COPY, 1); + ADDOP_I(c, LOC(s), COPY, 1); } VISIT(c, expr, (expr_ty)asdl_seq_GET(s->v.Assign.targets, i)); } break; + } case AugAssign_kind: return compiler_augassign(c, s); case AnnAssign_kind: @@ -4119,7 +3952,8 @@ compiler_visit_stmt(struct compiler *c, stmt_ty s) case Match_kind: return compiler_match(c, s); case Raise_kind: - n = 0; + { + Py_ssize_t n = 0; if (s->v.Raise.exc) { VISIT(c, expr, s->v.Raise.exc); n++; @@ -4128,8 +3962,9 @@ compiler_visit_stmt(struct compiler *c, stmt_ty s) n++; } } - ADDOP_I(c, RAISE_VARARGS, (int)n); + ADDOP_I(c, LOC(s), RAISE_VARARGS, (int)n); break; + } case Try_kind: return compiler_try(c, s); case TryStar_kind: @@ -4144,14 +3979,22 @@ compiler_visit_stmt(struct compiler *c, stmt_ty s) case Nonlocal_kind: break; case Expr_kind: - return compiler_visit_stmt_expr(c, s->v.Expr.value); + { + return compiler_stmt_expr(c, LOC(s), s->v.Expr.value); + } case Pass_kind: - ADDOP(c, NOP); + { + ADDOP(c, LOC(s), NOP); break; + } case Break_kind: - return compiler_break(c); + { + return compiler_break(c, LOC(s)); + } case Continue_kind: - return compiler_continue(c); + { + return compiler_continue(c, LOC(s)); + } case With_kind: return compiler_with(c, s, 0); case AsyncFunctionDef_kind: @@ -4162,7 +4005,7 @@ compiler_visit_stmt(struct compiler *c, stmt_ty s) return compiler_async_for(c, s); } - return 1; + return SUCCESS; } static int @@ -4173,8 +4016,6 @@ unaryop(unaryop_ty op) return UNARY_INVERT; case Not: return UNARY_NOT; - case UAdd: - return UNARY_POSITIVE; case USub: return UNARY_NEGATIVE; default: @@ -4185,7 +4026,8 @@ unaryop(unaryop_ty op) } static int -addop_binary(struct compiler *c, operator_ty binop, bool inplace) +addop_binary(struct compiler *c, location loc, operator_ty binop, + bool inplace) { int oparg; switch (binop) { @@ -4231,62 +4073,66 @@ addop_binary(struct compiler *c, operator_ty binop, bool inplace) default: PyErr_Format(PyExc_SystemError, "%s op %d should not be possible", inplace ? "inplace" : "binary", binop); - return 0; + return ERROR; } - ADDOP_I(c, BINARY_OP, oparg); - return 1; + ADDOP_I(c, loc, BINARY_OP, oparg); + return SUCCESS; } static int -addop_yield(struct compiler *c) { +addop_yield(struct compiler *c, location loc) { if (c->u->u_ste->ste_generator && c->u->u_ste->ste_coroutine) { - ADDOP(c, ASYNC_GEN_WRAP); + ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_ASYNC_GEN_WRAP); } - ADDOP(c, YIELD_VALUE); - ADDOP_I(c, RESUME, 1); - return 1; + ADDOP_I(c, loc, YIELD_VALUE, 0); + ADDOP_I(c, loc, RESUME, 1); + return SUCCESS; } static int -compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx) +compiler_nameop(struct compiler *c, location loc, + identifier name, expr_context_ty ctx) { int op, scope; Py_ssize_t arg; enum { OP_FAST, OP_GLOBAL, OP_DEREF, OP_NAME } optype; - PyObject *dict = c->u->u_names; + PyObject *dict = c->u->u_metadata.u_names; PyObject *mangled; assert(!_PyUnicode_EqualToASCIIString(name, "None") && !_PyUnicode_EqualToASCIIString(name, "True") && !_PyUnicode_EqualToASCIIString(name, "False")); - if (forbidden_name(c, name, ctx)) - return 0; + if (forbidden_name(c, loc, name, ctx)) { + return ERROR; + } mangled = _Py_Mangle(c->u->u_private, name); - if (!mangled) - return 0; + if (!mangled) { + return ERROR; + } op = 0; optype = OP_NAME; scope = _PyST_GetScope(c->u->u_ste, mangled); switch (scope) { case FREE: - dict = c->u->u_freevars; + dict = c->u->u_metadata.u_freevars; optype = OP_DEREF; break; case CELL: - dict = c->u->u_cellvars; + dict = c->u->u_metadata.u_cellvars; optype = OP_DEREF; break; case LOCAL: - if (c->u->u_ste->ste_type == FunctionBlock) + if (_PyST_IsFunctionLike(c->u->u_ste) || + (PyDict_GetItem(c->u->u_metadata.u_fasthidden, mangled) == Py_True)) optype = OP_FAST; break; case GLOBAL_IMPLICIT: - if (c->u->u_ste->ste_type == FunctionBlock) + if (_PyST_IsFunctionLike(c->u->u_ste)) optype = OP_GLOBAL; break; case GLOBAL_EXPLICIT: @@ -4304,7 +4150,24 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx) case OP_DEREF: switch (ctx) { case Load: - op = (c->u->u_ste->ste_type == ClassBlock) ? LOAD_CLASSDEREF : LOAD_DEREF; + if (c->u->u_ste->ste_type == ClassBlock && !c->u->u_in_inlined_comp) { + op = LOAD_FROM_DICT_OR_DEREF; + // First load the locals + if (codegen_addop_noarg(INSTR_SEQUENCE(c), LOAD_LOCALS, loc) < 0) { + return ERROR; + } + } + else if (c->u->u_ste->ste_can_see_class_scope) { + op = LOAD_FROM_DICT_OR_DEREF; + // First load the classdict + if (compiler_addop_o(c->u, loc, LOAD_DEREF, + c->u->u_metadata.u_freevars, &_Py_ID(__classdict__)) < 0) { + return ERROR; + } + } + else { + op = LOAD_DEREF; + } break; case Store: op = STORE_DEREF; break; case Del: op = DELETE_DEREF; break; @@ -4316,18 +4179,34 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx) case Store: op = STORE_FAST; break; case Del: op = DELETE_FAST; break; } - ADDOP_N(c, op, mangled, varnames); - return 1; + ADDOP_N(c, loc, op, mangled, varnames); + return SUCCESS; case OP_GLOBAL: switch (ctx) { - case Load: op = LOAD_GLOBAL; break; + case Load: + if (c->u->u_ste->ste_can_see_class_scope && scope == GLOBAL_IMPLICIT) { + op = LOAD_FROM_DICT_OR_GLOBALS; + // First load the classdict + if (compiler_addop_o(c->u, loc, LOAD_DEREF, + c->u->u_metadata.u_freevars, &_Py_ID(__classdict__)) < 0) { + return ERROR; + } + } else { + op = LOAD_GLOBAL; + } + break; case Store: op = STORE_GLOBAL; break; case Del: op = DELETE_GLOBAL; break; } break; case OP_NAME: switch (ctx) { - case Load: op = LOAD_NAME; break; + case Load: + op = (c->u->u_ste->ste_type == ClassBlock + && c->u->u_in_inlined_comp) + ? LOAD_GLOBAL + : LOAD_NAME; + break; case Store: op = STORE_NAME; break; case Del: op = DELETE_NAME; break; } @@ -4335,83 +4214,79 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx) } assert(op); - arg = compiler_add_o(dict, mangled); + arg = dict_add_o(dict, mangled); Py_DECREF(mangled); if (arg < 0) { - return 0; + return ERROR; } if (op == LOAD_GLOBAL) { arg <<= 1; } - return compiler_addop_i(c, op, arg); + return codegen_addop_i(INSTR_SEQUENCE(c), op, arg, loc); } static int compiler_boolop(struct compiler *c, expr_ty e) { - basicblock *end; int jumpi; Py_ssize_t i, n; asdl_expr_seq *s; + location loc = LOC(e); assert(e->kind == BoolOp_kind); if (e->v.BoolOp.op == And) - jumpi = JUMP_IF_FALSE_OR_POP; + jumpi = POP_JUMP_IF_FALSE; else - jumpi = JUMP_IF_TRUE_OR_POP; - end = compiler_new_block(c); - if (end == NULL) - return 0; + jumpi = POP_JUMP_IF_TRUE; + NEW_JUMP_TARGET_LABEL(c, end); s = e->v.BoolOp.values; n = asdl_seq_LEN(s) - 1; assert(n >= 0); for (i = 0; i < n; ++i) { VISIT(c, expr, (expr_ty)asdl_seq_GET(s, i)); - ADDOP_JUMP(c, jumpi, end); - basicblock *next = compiler_new_block(c); - if (next == NULL) { - return 0; - } - compiler_use_next_block(c, next); + ADDOP_I(c, loc, COPY, 1); + ADDOP_JUMP(c, loc, jumpi, end); + ADDOP(c, loc, POP_TOP); } VISIT(c, expr, (expr_ty)asdl_seq_GET(s, n)); - compiler_use_next_block(c, end); - return 1; + + USE_LABEL(c, end); + return SUCCESS; } static int -starunpack_helper(struct compiler *c, asdl_expr_seq *elts, int pushed, +starunpack_helper(struct compiler *c, location loc, + asdl_expr_seq *elts, int pushed, int build, int add, int extend, int tuple) { Py_ssize_t n = asdl_seq_LEN(elts); if (n > 2 && are_all_items_const(elts, 0, n)) { PyObject *folded = PyTuple_New(n); if (folded == NULL) { - return 0; + return ERROR; } PyObject *val; for (Py_ssize_t i = 0; i < n; i++) { val = ((expr_ty)asdl_seq_GET(elts, i))->v.Constant.value; - Py_INCREF(val); - PyTuple_SET_ITEM(folded, i, val); + PyTuple_SET_ITEM(folded, i, Py_NewRef(val)); } if (tuple && !pushed) { - ADDOP_LOAD_CONST_NEW(c, folded); + ADDOP_LOAD_CONST_NEW(c, loc, folded); } else { if (add == SET_ADD) { Py_SETREF(folded, PyFrozenSet_New(folded)); if (folded == NULL) { - return 0; + return ERROR; } } - ADDOP_I(c, build, pushed); - ADDOP_LOAD_CONST_NEW(c, folded); - ADDOP_I(c, extend, 1); + ADDOP_I(c, loc, build, pushed); + ADDOP_LOAD_CONST_NEW(c, loc, folded); + ADDOP_I(c, loc, extend, 1); if (tuple) { - ADDOP(c, LIST_TO_TUPLE); + ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_LIST_TO_TUPLE); } } - return 1; + return SUCCESS; } int big = n+pushed > STACK_USE_GUIDELINE; @@ -4420,6 +4295,7 @@ starunpack_helper(struct compiler *c, asdl_expr_seq *elts, int pushed, expr_ty elt = asdl_seq_GET(elts, i); if (elt->kind == Starred_kind) { seen_star = 1; + break; } } if (!seen_star && !big) { @@ -4428,43 +4304,43 @@ starunpack_helper(struct compiler *c, asdl_expr_seq *elts, int pushed, VISIT(c, expr, elt); } if (tuple) { - ADDOP_I(c, BUILD_TUPLE, n+pushed); + ADDOP_I(c, loc, BUILD_TUPLE, n+pushed); } else { - ADDOP_I(c, build, n+pushed); + ADDOP_I(c, loc, build, n+pushed); } - return 1; + return SUCCESS; } int sequence_built = 0; if (big) { - ADDOP_I(c, build, pushed); + ADDOP_I(c, loc, build, pushed); sequence_built = 1; } for (Py_ssize_t i = 0; i < n; i++) { expr_ty elt = asdl_seq_GET(elts, i); if (elt->kind == Starred_kind) { if (sequence_built == 0) { - ADDOP_I(c, build, i+pushed); + ADDOP_I(c, loc, build, i+pushed); sequence_built = 1; } VISIT(c, expr, elt->v.Starred.value); - ADDOP_I(c, extend, 1); + ADDOP_I(c, loc, extend, 1); } else { VISIT(c, expr, elt); if (sequence_built) { - ADDOP_I(c, add, 1); + ADDOP_I(c, loc, add, 1); } } } assert(sequence_built); if (tuple) { - ADDOP(c, LIST_TO_TUPLE); + ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_LIST_TO_TUPLE); } - return 1; + return SUCCESS; } static int -unpack_helper(struct compiler *c, asdl_expr_seq *elts) +unpack_helper(struct compiler *c, location loc, asdl_expr_seq *elts) { Py_ssize_t n = asdl_seq_LEN(elts); int seen_star = 0; @@ -4472,85 +4348,91 @@ unpack_helper(struct compiler *c, asdl_expr_seq *elts) expr_ty elt = asdl_seq_GET(elts, i); if (elt->kind == Starred_kind && !seen_star) { if ((i >= (1 << 8)) || - (n-i-1 >= (INT_MAX >> 8))) - return compiler_error(c, + (n-i-1 >= (INT_MAX >> 8))) { + return compiler_error(c, loc, "too many expressions in " "star-unpacking assignment"); - ADDOP_I(c, UNPACK_EX, (i + ((n-i-1) << 8))); + } + ADDOP_I(c, loc, UNPACK_EX, (i + ((n-i-1) << 8))); seen_star = 1; } else if (elt->kind == Starred_kind) { - return compiler_error(c, + return compiler_error(c, loc, "multiple starred expressions in assignment"); } } if (!seen_star) { - ADDOP_I(c, UNPACK_SEQUENCE, n); + ADDOP_I(c, loc, UNPACK_SEQUENCE, n); } - return 1; + return SUCCESS; } static int -assignment_helper(struct compiler *c, asdl_expr_seq *elts) +assignment_helper(struct compiler *c, location loc, asdl_expr_seq *elts) { Py_ssize_t n = asdl_seq_LEN(elts); - RETURN_IF_FALSE(unpack_helper(c, elts)); + RETURN_IF_ERROR(unpack_helper(c, loc, elts)); for (Py_ssize_t i = 0; i < n; i++) { expr_ty elt = asdl_seq_GET(elts, i); VISIT(c, expr, elt->kind != Starred_kind ? elt : elt->v.Starred.value); } - return 1; + return SUCCESS; } static int compiler_list(struct compiler *c, expr_ty e) { + location loc = LOC(e); asdl_expr_seq *elts = e->v.List.elts; if (e->v.List.ctx == Store) { - return assignment_helper(c, elts); + return assignment_helper(c, loc, elts); } else if (e->v.List.ctx == Load) { - return starunpack_helper(c, elts, 0, BUILD_LIST, - LIST_APPEND, LIST_EXTEND, 0); + return starunpack_helper(c, loc, elts, 0, + BUILD_LIST, LIST_APPEND, LIST_EXTEND, 0); } - else + else { VISIT_SEQ(c, expr, elts); - return 1; + } + return SUCCESS; } static int compiler_tuple(struct compiler *c, expr_ty e) { + location loc = LOC(e); asdl_expr_seq *elts = e->v.Tuple.elts; if (e->v.Tuple.ctx == Store) { - return assignment_helper(c, elts); + return assignment_helper(c, loc, elts); } else if (e->v.Tuple.ctx == Load) { - return starunpack_helper(c, elts, 0, BUILD_LIST, - LIST_APPEND, LIST_EXTEND, 1); + return starunpack_helper(c, loc, elts, 0, + BUILD_LIST, LIST_APPEND, LIST_EXTEND, 1); } - else + else { VISIT_SEQ(c, expr, elts); - return 1; + } + return SUCCESS; } static int compiler_set(struct compiler *c, expr_ty e) { - return starunpack_helper(c, e->v.Set.elts, 0, BUILD_SET, - SET_ADD, SET_UPDATE, 0); + location loc = LOC(e); + return starunpack_helper(c, loc, e->v.Set.elts, 0, + BUILD_SET, SET_ADD, SET_UPDATE, 0); } -static int +static bool are_all_items_const(asdl_expr_seq *seq, Py_ssize_t begin, Py_ssize_t end) { - Py_ssize_t i; - for (i = begin; i < end; i++) { + for (Py_ssize_t i = begin; i < end; i++) { expr_ty key = (expr_ty)asdl_seq_GET(seq, i); - if (key == NULL || key->kind != Constant_kind) - return 0; + if (key == NULL || key->kind != Constant_kind) { + return false; + } } - return 1; + return true; } static int @@ -4559,42 +4441,43 @@ compiler_subdict(struct compiler *c, expr_ty e, Py_ssize_t begin, Py_ssize_t end Py_ssize_t i, n = end - begin; PyObject *keys, *key; int big = n*2 > STACK_USE_GUIDELINE; + location loc = LOC(e); if (n > 1 && !big && are_all_items_const(e->v.Dict.keys, begin, end)) { for (i = begin; i < end; i++) { VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Dict.values, i)); } keys = PyTuple_New(n); if (keys == NULL) { - return 0; + return SUCCESS; } for (i = begin; i < end; i++) { key = ((expr_ty)asdl_seq_GET(e->v.Dict.keys, i))->v.Constant.value; - Py_INCREF(key); - PyTuple_SET_ITEM(keys, i - begin, key); + PyTuple_SET_ITEM(keys, i - begin, Py_NewRef(key)); } - ADDOP_LOAD_CONST_NEW(c, keys); - ADDOP_I(c, BUILD_CONST_KEY_MAP, n); - return 1; + ADDOP_LOAD_CONST_NEW(c, loc, keys); + ADDOP_I(c, loc, BUILD_CONST_KEY_MAP, n); + return SUCCESS; } if (big) { - ADDOP_I(c, BUILD_MAP, 0); + ADDOP_I(c, loc, BUILD_MAP, 0); } for (i = begin; i < end; i++) { VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Dict.keys, i)); VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Dict.values, i)); if (big) { - ADDOP_I(c, MAP_ADD, 1); + ADDOP_I(c, loc, MAP_ADD, 1); } } if (!big) { - ADDOP_I(c, BUILD_MAP, n); + ADDOP_I(c, loc, BUILD_MAP, n); } - return 1; + return SUCCESS; } static int compiler_dict(struct compiler *c, expr_ty e) { + location loc = LOC(e); Py_ssize_t i, n, elements; int have_dict; int is_unpacking = 0; @@ -4605,29 +4488,25 @@ compiler_dict(struct compiler *c, expr_ty e) is_unpacking = (expr_ty)asdl_seq_GET(e->v.Dict.keys, i) == NULL; if (is_unpacking) { if (elements) { - if (!compiler_subdict(c, e, i - elements, i)) { - return 0; - } + RETURN_IF_ERROR(compiler_subdict(c, e, i - elements, i)); if (have_dict) { - ADDOP_I(c, DICT_UPDATE, 1); + ADDOP_I(c, loc, DICT_UPDATE, 1); } have_dict = 1; elements = 0; } if (have_dict == 0) { - ADDOP_I(c, BUILD_MAP, 0); + ADDOP_I(c, loc, BUILD_MAP, 0); have_dict = 1; } VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Dict.values, i)); - ADDOP_I(c, DICT_UPDATE, 1); + ADDOP_I(c, loc, DICT_UPDATE, 1); } else { if (elements*2 > STACK_USE_GUIDELINE) { - if (!compiler_subdict(c, e, i - elements, i + 1)) { - return 0; - } + RETURN_IF_ERROR(compiler_subdict(c, e, i - elements, i + 1)); if (have_dict) { - ADDOP_I(c, DICT_UPDATE, 1); + ADDOP_I(c, loc, DICT_UPDATE, 1); } have_dict = 1; elements = 0; @@ -4638,59 +4517,56 @@ compiler_dict(struct compiler *c, expr_ty e) } } if (elements) { - if (!compiler_subdict(c, e, n - elements, n)) { - return 0; - } + RETURN_IF_ERROR(compiler_subdict(c, e, n - elements, n)); if (have_dict) { - ADDOP_I(c, DICT_UPDATE, 1); + ADDOP_I(c, loc, DICT_UPDATE, 1); } have_dict = 1; } if (!have_dict) { - ADDOP_I(c, BUILD_MAP, 0); + ADDOP_I(c, loc, BUILD_MAP, 0); } - return 1; + return SUCCESS; } static int compiler_compare(struct compiler *c, expr_ty e) { + location loc = LOC(e); Py_ssize_t i, n; - if (!check_compare(c, e)) { - return 0; - } + RETURN_IF_ERROR(check_compare(c, e)); VISIT(c, expr, e->v.Compare.left); assert(asdl_seq_LEN(e->v.Compare.ops) > 0); n = asdl_seq_LEN(e->v.Compare.ops) - 1; if (n == 0) { VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Compare.comparators, 0)); - ADDOP_COMPARE(c, asdl_seq_GET(e->v.Compare.ops, 0)); + ADDOP_COMPARE(c, loc, asdl_seq_GET(e->v.Compare.ops, 0)); } else { - basicblock *cleanup = compiler_new_block(c); - if (cleanup == NULL) - return 0; + NEW_JUMP_TARGET_LABEL(c, cleanup); for (i = 0; i < n; i++) { VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Compare.comparators, i)); - ADDOP_I(c, SWAP, 2); - ADDOP_I(c, COPY, 2); - ADDOP_COMPARE(c, asdl_seq_GET(e->v.Compare.ops, i)); - ADDOP_JUMP(c, JUMP_IF_FALSE_OR_POP, cleanup); + ADDOP_I(c, loc, SWAP, 2); + ADDOP_I(c, loc, COPY, 2); + ADDOP_COMPARE(c, loc, asdl_seq_GET(e->v.Compare.ops, i)); + ADDOP_I(c, loc, COPY, 1); + ADDOP_JUMP(c, loc, POP_JUMP_IF_FALSE, cleanup); + ADDOP(c, loc, POP_TOP); } VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Compare.comparators, n)); - ADDOP_COMPARE(c, asdl_seq_GET(e->v.Compare.ops, n)); - basicblock *end = compiler_new_block(c); - if (end == NULL) - return 0; - ADDOP_JUMP_NOLINE(c, JUMP, end); - compiler_use_next_block(c, cleanup); - ADDOP_I(c, SWAP, 2); - ADDOP(c, POP_TOP); - compiler_use_next_block(c, end); + ADDOP_COMPARE(c, loc, asdl_seq_GET(e->v.Compare.ops, n)); + NEW_JUMP_TARGET_LABEL(c, end); + ADDOP_JUMP(c, NO_LOCATION, JUMP, end); + + USE_LABEL(c, cleanup); + ADDOP_I(c, loc, SWAP, 2); + ADDOP(c, loc, POP_TOP); + + USE_LABEL(c, end); } - return 1; + return SUCCESS; } static PyTypeObject * @@ -4736,12 +4612,14 @@ check_caller(struct compiler *c, expr_ty e) case SetComp_kind: case GeneratorExp_kind: case JoinedStr_kind: - case FormattedValue_kind: - return compiler_warn(c, "'%.200s' object is not callable; " - "perhaps you missed a comma?", - infer_type(e)->tp_name); + case FormattedValue_kind: { + location loc = LOC(e); + return compiler_warn(c, loc, "'%.200s' object is not callable; " + "perhaps you missed a comma?", + infer_type(e)->tp_name); + } default: - return 1; + return SUCCESS; } } @@ -4757,18 +4635,20 @@ check_subscripter(struct compiler *c, expr_ty e) PyLong_Check(v) || PyFloat_Check(v) || PyComplex_Check(v) || PyAnySet_Check(v))) { - return 1; + return SUCCESS; } /* fall through */ case Set_kind: case SetComp_kind: case GeneratorExp_kind: - case Lambda_kind: - return compiler_warn(c, "'%.200s' object is not subscriptable; " - "perhaps you missed a comma?", - infer_type(e)->tp_name); + case Lambda_kind: { + location loc = LOC(e); + return compiler_warn(c, loc, "'%.200s' object is not subscriptable; " + "perhaps you missed a comma?", + infer_type(e)->tp_name); + } default: - return 1; + return SUCCESS; } } @@ -4781,28 +4661,30 @@ check_index(struct compiler *c, expr_ty e, expr_ty s) if (index_type == NULL || PyType_FastSubclass(index_type, Py_TPFLAGS_LONG_SUBCLASS) || index_type == &PySlice_Type) { - return 1; + return SUCCESS; } switch (e->kind) { case Constant_kind: v = e->v.Constant.value; if (!(PyUnicode_Check(v) || PyBytes_Check(v) || PyTuple_Check(v))) { - return 1; + return SUCCESS; } /* fall through */ case Tuple_kind: case List_kind: case ListComp_kind: case JoinedStr_kind: - case FormattedValue_kind: - return compiler_warn(c, "%.200s indices must be integers or slices, " - "not %.200s; " - "perhaps you missed a comma?", - infer_type(e)->tp_name, - index_type->tp_name); + case FormattedValue_kind: { + location loc = LOC(e); + return compiler_warn(c, loc, "%.200s indices must be integers " + "or slices, not %.200s; " + "perhaps you missed a comma?", + infer_type(e)->tp_name, + index_type->tp_name); + } default: - return 1; + return SUCCESS; } } @@ -4823,34 +4705,118 @@ is_import_originated(struct compiler *c, expr_ty e) return flags & DEF_IMPORT; } +static int +can_optimize_super_call(struct compiler *c, expr_ty attr) +{ + expr_ty e = attr->v.Attribute.value; + if (e->kind != Call_kind || + e->v.Call.func->kind != Name_kind || + !_PyUnicode_EqualToASCIIString(e->v.Call.func->v.Name.id, "super") || + _PyUnicode_EqualToASCIIString(attr->v.Attribute.attr, "__class__") || + asdl_seq_LEN(e->v.Call.keywords) != 0) { + return 0; + } + Py_ssize_t num_args = asdl_seq_LEN(e->v.Call.args); + + PyObject *super_name = e->v.Call.func->v.Name.id; + // detect statically-visible shadowing of 'super' name + int scope = _PyST_GetScope(c->u->u_ste, super_name); + if (scope != GLOBAL_IMPLICIT) { + return 0; + } + scope = _PyST_GetScope(c->c_st->st_top, super_name); + if (scope != 0) { + return 0; + } + + if (num_args == 2) { + for (Py_ssize_t i = 0; i < num_args; i++) { + expr_ty elt = asdl_seq_GET(e->v.Call.args, i); + if (elt->kind == Starred_kind) { + return 0; + } + } + // exactly two non-starred args; we can just load + // the provided args + return 1; + } + + if (num_args != 0) { + return 0; + } + // we need the following for zero-arg super(): + + // enclosing function should have at least one argument + if (c->u->u_metadata.u_argcount == 0 && + c->u->u_metadata.u_posonlyargcount == 0) { + return 0; + } + // __class__ cell should be available + if (get_ref_type(c, &_Py_ID(__class__)) == FREE) { + return 1; + } + return 0; +} + +static int +load_args_for_super(struct compiler *c, expr_ty e) { + location loc = LOC(e); + + // load super() global + PyObject *super_name = e->v.Call.func->v.Name.id; + RETURN_IF_ERROR(compiler_nameop(c, LOC(e->v.Call.func), super_name, Load)); + + if (asdl_seq_LEN(e->v.Call.args) == 2) { + VISIT(c, expr, asdl_seq_GET(e->v.Call.args, 0)); + VISIT(c, expr, asdl_seq_GET(e->v.Call.args, 1)); + return SUCCESS; + } + + // load __class__ cell + PyObject *name = &_Py_ID(__class__); + assert(get_ref_type(c, name) == FREE); + RETURN_IF_ERROR(compiler_nameop(c, loc, name, Load)); + + // load self (first argument) + Py_ssize_t i = 0; + PyObject *key, *value; + if (!PyDict_Next(c->u->u_metadata.u_varnames, &i, &key, &value)) { + return ERROR; + } + RETURN_IF_ERROR(compiler_nameop(c, loc, key, Load)); + + return SUCCESS; +} + // If an attribute access spans multiple lines, update the current start // location to point to the attribute name. -static void -update_start_location_to_match_attr(struct compiler *c, expr_ty attr) +static location +update_start_location_to_match_attr(struct compiler *c, location loc, + expr_ty attr) { assert(attr->kind == Attribute_kind); - if (c->u->u_lineno != attr->end_lineno) { - c->u->u_lineno = attr->end_lineno; + if (loc.lineno != attr->end_lineno) { + loc.lineno = attr->end_lineno; int len = (int)PyUnicode_GET_LENGTH(attr->v.Attribute.attr); if (len <= attr->end_col_offset) { - c->u->u_col_offset = attr->end_col_offset - len; + loc.col_offset = attr->end_col_offset - len; } else { // GH-94694: Somebody's compiling weird ASTs. Just drop the columns: - c->u->u_col_offset = -1; - c->u->u_end_col_offset = -1; + loc.col_offset = -1; + loc.end_col_offset = -1; } // Make sure the end position still follows the start position, even for // weird ASTs: - c->u->u_end_lineno = Py_MAX(c->u->u_lineno, c->u->u_end_lineno); - if (c->u->u_lineno == c->u->u_end_lineno) { - c->u->u_end_col_offset = Py_MAX(c->u->u_col_offset, - c->u->u_end_col_offset); + loc.end_lineno = Py_MAX(loc.lineno, loc.end_lineno); + if (loc.lineno == loc.end_lineno) { + loc.end_col_offset = Py_MAX(loc.col_offset, loc.end_col_offset); } } + return loc; } -// Return 1 if the method call was optimized, -1 if not, and 0 on error. +// Return 1 if the method call was optimized, 0 if not, and -1 on error. static int maybe_optimize_method_call(struct compiler *c, expr_ty e) { @@ -4861,51 +4827,60 @@ maybe_optimize_method_call(struct compiler *c, expr_ty e) /* Check that the call node is an attribute access */ if (meth->kind != Attribute_kind || meth->v.Attribute.ctx != Load) { - return -1; + return 0; } /* Check that the base object is not something that is imported */ if (is_import_originated(c, meth->v.Attribute.value)) { - return -1; + return 0; } /* Check that there aren't too many arguments */ argsl = asdl_seq_LEN(args); kwdsl = asdl_seq_LEN(kwds); if (argsl + kwdsl + (kwdsl != 0) >= STACK_USE_GUIDELINE) { - return -1; + return 0; } /* Check that there are no *varargs types of arguments. */ for (i = 0; i < argsl; i++) { expr_ty elt = asdl_seq_GET(args, i); if (elt->kind == Starred_kind) { - return -1; + return 0; } } for (i = 0; i < kwdsl; i++) { keyword_ty kw = asdl_seq_GET(kwds, i); if (kw->arg == NULL) { - return -1; + return 0; } } + /* Alright, we can optimize the code. */ - VISIT(c, expr, meth->v.Attribute.value); - SET_LOC(c, meth); - update_start_location_to_match_attr(c, meth); - ADDOP_NAME(c, LOAD_METHOD, meth->v.Attribute.attr, names); + location loc = LOC(meth); + + if (can_optimize_super_call(c, meth)) { + RETURN_IF_ERROR(load_args_for_super(c, meth->v.Attribute.value)); + int opcode = asdl_seq_LEN(meth->v.Attribute.value->v.Call.args) ? + LOAD_SUPER_METHOD : LOAD_ZERO_SUPER_METHOD; + ADDOP_NAME(c, loc, opcode, meth->v.Attribute.attr, names); + loc = update_start_location_to_match_attr(c, loc, meth); + ADDOP(c, loc, NOP); + } else { + VISIT(c, expr, meth->v.Attribute.value); + loc = update_start_location_to_match_attr(c, loc, meth); + ADDOP_NAME(c, loc, LOAD_METHOD, meth->v.Attribute.attr, names); + } + VISIT_SEQ(c, expr, e->v.Call.args); if (kwdsl) { VISIT_SEQ(c, keyword, kwds); - if (!compiler_call_simple_kw_helper(c, kwds, kwdsl)) { - return 0; - }; + RETURN_IF_ERROR( + compiler_call_simple_kw_helper(c, loc, kwds, kwdsl)); } - SET_LOC(c, e); - update_start_location_to_match_attr(c, meth); - ADDOP_I(c, PRECALL, argsl + kwdsl); - ADDOP_I(c, CALL, argsl + kwdsl); + loc = update_start_location_to_match_attr(c, LOC(e), meth); + ADDOP_I(c, loc, CALL, argsl + kwdsl); return 1; } @@ -4918,39 +4893,38 @@ validate_keywords(struct compiler *c, asdl_keyword_seq *keywords) if (key->arg == NULL) { continue; } - if (forbidden_name(c, key->arg, Store)) { - return -1; + location loc = LOC(key); + if (forbidden_name(c, loc, key->arg, Store)) { + return ERROR; } for (Py_ssize_t j = i + 1; j < nkeywords; j++) { keyword_ty other = ((keyword_ty)asdl_seq_GET(keywords, j)); if (other->arg && !PyUnicode_Compare(key->arg, other->arg)) { - SET_LOC(c, other); - compiler_error(c, "keyword argument repeated: %U", key->arg); - return -1; + compiler_error(c, LOC(other), "keyword argument repeated: %U", key->arg); + return ERROR; } } } - return 0; + return SUCCESS; } static int compiler_call(struct compiler *c, expr_ty e) { - if (validate_keywords(c, e->v.Call.keywords) == -1) { - return 0; - } + RETURN_IF_ERROR(validate_keywords(c, e->v.Call.keywords)); int ret = maybe_optimize_method_call(c, e); - if (ret >= 0) { - return ret; + if (ret < 0) { + return ERROR; } - if (!check_caller(c, e->v.Call.func)) { - return 0; + if (ret == 1) { + return SUCCESS; } - SET_LOC(c, e->v.Call.func); - ADDOP(c, PUSH_NULL); - SET_LOC(c, e); + RETURN_IF_ERROR(check_caller(c, e->v.Call.func)); + location loc = LOC(e->v.Call.func); + ADDOP(c, loc, PUSH_NULL); VISIT(c, expr, e->v.Call.func); - return compiler_call_helper(c, 0, + loc = LOC(e); + return compiler_call_helper(c, loc, 0, e->v.Call.args, e->v.Call.keywords); } @@ -4958,27 +4932,26 @@ compiler_call(struct compiler *c, expr_ty e) static int compiler_joined_str(struct compiler *c, expr_ty e) { - + location loc = LOC(e); Py_ssize_t value_count = asdl_seq_LEN(e->v.JoinedStr.values); if (value_count > STACK_USE_GUIDELINE) { _Py_DECLARE_STR(empty, ""); - ADDOP_LOAD_CONST_NEW(c, Py_NewRef(&_Py_STR(empty))); - ADDOP_NAME(c, LOAD_METHOD, &_Py_ID(join), names); - ADDOP_I(c, BUILD_LIST, 0); + ADDOP_LOAD_CONST_NEW(c, loc, Py_NewRef(&_Py_STR(empty))); + ADDOP_NAME(c, loc, LOAD_METHOD, &_Py_ID(join), names); + ADDOP_I(c, loc, BUILD_LIST, 0); for (Py_ssize_t i = 0; i < asdl_seq_LEN(e->v.JoinedStr.values); i++) { VISIT(c, expr, asdl_seq_GET(e->v.JoinedStr.values, i)); - ADDOP_I(c, LIST_APPEND, 1); + ADDOP_I(c, loc, LIST_APPEND, 1); } - ADDOP_I(c, PRECALL, 1); - ADDOP_I(c, CALL, 1); + ADDOP_I(c, loc, CALL, 1); } else { VISIT_SEQ(c, expr, e->v.JoinedStr.values); if (asdl_seq_LEN(e->v.JoinedStr.values) != 1) { - ADDOP_I(c, BUILD_STRING, asdl_seq_LEN(e->v.JoinedStr.values)); + ADDOP_I(c, loc, BUILD_STRING, asdl_seq_LEN(e->v.JoinedStr.values)); } } - return 1; + return SUCCESS; } /* Used to implement f-strings. Format a single value. */ @@ -5013,7 +4986,7 @@ compiler_formatted_value(struct compiler *c, expr_ty e) default: PyErr_Format(PyExc_SystemError, "Unrecognized conversion character %d", conversion); - return 0; + return ERROR; } if (e->v.FormattedValue.format_spec) { /* Evaluate the format spec, and update our opcode arg. */ @@ -5022,13 +4995,16 @@ compiler_formatted_value(struct compiler *c, expr_ty e) } /* And push our opcode and oparg */ - ADDOP_I(c, FORMAT_VALUE, oparg); + location loc = LOC(e); + ADDOP_I(c, loc, FORMAT_VALUE, oparg); - return 1; + return SUCCESS; } static int -compiler_subkwargs(struct compiler *c, asdl_keyword_seq *keywords, Py_ssize_t begin, Py_ssize_t end) +compiler_subkwargs(struct compiler *c, location loc, + asdl_keyword_seq *keywords, + Py_ssize_t begin, Py_ssize_t end) { Py_ssize_t i, n = end - begin; keyword_ty kw; @@ -5042,75 +5018,69 @@ compiler_subkwargs(struct compiler *c, asdl_keyword_seq *keywords, Py_ssize_t be } keys = PyTuple_New(n); if (keys == NULL) { - return 0; + return ERROR; } for (i = begin; i < end; i++) { key = ((keyword_ty) asdl_seq_GET(keywords, i))->arg; - Py_INCREF(key); - PyTuple_SET_ITEM(keys, i - begin, key); + PyTuple_SET_ITEM(keys, i - begin, Py_NewRef(key)); } - ADDOP_LOAD_CONST_NEW(c, keys); - ADDOP_I(c, BUILD_CONST_KEY_MAP, n); - return 1; + ADDOP_LOAD_CONST_NEW(c, loc, keys); + ADDOP_I(c, loc, BUILD_CONST_KEY_MAP, n); + return SUCCESS; } if (big) { - ADDOP_I_NOLINE(c, BUILD_MAP, 0); + ADDOP_I(c, NO_LOCATION, BUILD_MAP, 0); } for (i = begin; i < end; i++) { kw = asdl_seq_GET(keywords, i); - ADDOP_LOAD_CONST(c, kw->arg); + ADDOP_LOAD_CONST(c, loc, kw->arg); VISIT(c, expr, kw->value); if (big) { - ADDOP_I_NOLINE(c, MAP_ADD, 1); + ADDOP_I(c, NO_LOCATION, MAP_ADD, 1); } } if (!big) { - ADDOP_I(c, BUILD_MAP, n); + ADDOP_I(c, loc, BUILD_MAP, n); } - return 1; + return SUCCESS; } /* Used by compiler_call_helper and maybe_optimize_method_call to emit * KW_NAMES before CALL. - * Returns 1 on success, 0 on error. */ static int -compiler_call_simple_kw_helper(struct compiler *c, - asdl_keyword_seq *keywords, - Py_ssize_t nkwelts) +compiler_call_simple_kw_helper(struct compiler *c, location loc, + asdl_keyword_seq *keywords, Py_ssize_t nkwelts) { PyObject *names; names = PyTuple_New(nkwelts); if (names == NULL) { - return 0; + return ERROR; } for (int i = 0; i < nkwelts; i++) { keyword_ty kw = asdl_seq_GET(keywords, i); - Py_INCREF(kw->arg); - PyTuple_SET_ITEM(names, i, kw->arg); + PyTuple_SET_ITEM(names, i, Py_NewRef(kw->arg)); } - Py_ssize_t arg = compiler_add_const(c, names); + Py_ssize_t arg = compiler_add_const(c->c_const_cache, c->u, names); if (arg < 0) { - return 0; + return ERROR; } Py_DECREF(names); - ADDOP_I(c, KW_NAMES, arg); - return 1; + ADDOP_I(c, loc, KW_NAMES, arg); + return SUCCESS; } /* shared code between compiler_call and compiler_class */ static int -compiler_call_helper(struct compiler *c, +compiler_call_helper(struct compiler *c, location loc, int n, /* Args already pushed */ asdl_expr_seq *args, asdl_keyword_seq *keywords) { Py_ssize_t i, nseen, nelts, nkwelts; - if (validate_keywords(c, keywords) == -1) { - return 0; - } + RETURN_IF_ERROR(validate_keywords(c, keywords)); nelts = asdl_seq_LEN(args); nkwelts = asdl_seq_LEN(keywords); @@ -5139,13 +5109,11 @@ compiler_call_helper(struct compiler *c, } if (nkwelts) { VISIT_SEQ(c, keyword, keywords); - if (!compiler_call_simple_kw_helper(c, keywords, nkwelts)) { - return 0; - }; + RETURN_IF_ERROR( + compiler_call_simple_kw_helper(c, loc, keywords, nkwelts)); } - ADDOP_I(c, PRECALL, n + nelts + nkwelts); - ADDOP_I(c, CALL, n + nelts + nkwelts); - return 1; + ADDOP_I(c, loc, CALL, n + nelts + nkwelts); + return SUCCESS; ex_call: @@ -5153,9 +5121,9 @@ ex_call: if (n ==0 && nelts == 1 && ((expr_ty)asdl_seq_GET(args, 0))->kind == Starred_kind) { VISIT(c, expr, ((expr_ty)asdl_seq_GET(args, 0))->v.Starred.value); } - else if (starunpack_helper(c, args, n, BUILD_LIST, - LIST_APPEND, LIST_EXTEND, 1) == 0) { - return 0; + else { + RETURN_IF_ERROR(starunpack_helper(c, loc, args, n, BUILD_LIST, + LIST_APPEND, LIST_EXTEND, 1)); } /* Then keyword arguments */ if (nkwelts) { @@ -5168,21 +5136,19 @@ ex_call: if (kw->arg == NULL) { /* A keyword argument unpacking. */ if (nseen) { - if (!compiler_subkwargs(c, keywords, i - nseen, i)) { - return 0; - } + RETURN_IF_ERROR(compiler_subkwargs(c, loc, keywords, i - nseen, i)); if (have_dict) { - ADDOP_I(c, DICT_MERGE, 1); + ADDOP_I(c, loc, DICT_MERGE, 1); } have_dict = 1; nseen = 0; } if (!have_dict) { - ADDOP_I(c, BUILD_MAP, 0); + ADDOP_I(c, loc, BUILD_MAP, 0); have_dict = 1; } VISIT(c, expr, kw->value); - ADDOP_I(c, DICT_MERGE, 1); + ADDOP_I(c, loc, DICT_MERGE, 1); } else { nseen++; @@ -5190,18 +5156,16 @@ ex_call: } if (nseen) { /* Pack up any trailing keyword arguments. */ - if (!compiler_subkwargs(c, keywords, nkwelts - nseen, nkwelts)) { - return 0; - } + RETURN_IF_ERROR(compiler_subkwargs(c, loc, keywords, nkwelts - nseen, nkwelts)); if (have_dict) { - ADDOP_I(c, DICT_MERGE, 1); + ADDOP_I(c, loc, DICT_MERGE, 1); } have_dict = 1; } assert(have_dict); } - ADDOP_I(c, CALL_FUNCTION_EX, nkwelts > 0); - return 1; + ADDOP_I(c, loc, CALL_FUNCTION_EX, nkwelts > 0); + return SUCCESS; } @@ -5220,98 +5184,99 @@ ex_call: static int -compiler_comprehension_generator(struct compiler *c, +compiler_comprehension_generator(struct compiler *c, location loc, asdl_comprehension_seq *generators, int gen_index, int depth, - expr_ty elt, expr_ty val, int type) + expr_ty elt, expr_ty val, int type, + int iter_on_stack) { comprehension_ty gen; gen = (comprehension_ty)asdl_seq_GET(generators, gen_index); if (gen->is_async) { return compiler_async_comprehension_generator( - c, generators, gen_index, depth, elt, val, type); + c, loc, generators, gen_index, depth, elt, val, type, + iter_on_stack); } else { return compiler_sync_comprehension_generator( - c, generators, gen_index, depth, elt, val, type); + c, loc, generators, gen_index, depth, elt, val, type, + iter_on_stack); } } static int -compiler_sync_comprehension_generator(struct compiler *c, - asdl_comprehension_seq *generators, int gen_index, - int depth, - expr_ty elt, expr_ty val, int type) +compiler_sync_comprehension_generator(struct compiler *c, location loc, + asdl_comprehension_seq *generators, + int gen_index, int depth, + expr_ty elt, expr_ty val, int type, + int iter_on_stack) { /* generate code for the iterator, then each of the ifs, and then write to the element */ - comprehension_ty gen; - basicblock *start, *anchor, *if_cleanup; - Py_ssize_t i, n; - - start = compiler_new_block(c); - if_cleanup = compiler_new_block(c); - anchor = compiler_new_block(c); - - if (start == NULL || if_cleanup == NULL || anchor == NULL) { - return 0; - } + NEW_JUMP_TARGET_LABEL(c, start); + NEW_JUMP_TARGET_LABEL(c, if_cleanup); + NEW_JUMP_TARGET_LABEL(c, anchor); - gen = (comprehension_ty)asdl_seq_GET(generators, gen_index); + comprehension_ty gen = (comprehension_ty)asdl_seq_GET(generators, + gen_index); - if (gen_index == 0) { - /* Receive outermost iter as an implicit argument */ - c->u->u_argcount = 1; - ADDOP_I(c, LOAD_FAST, 0); - } - else { - /* Sub-iter - calculate on the fly */ - /* Fast path for the temporary variable assignment idiom: - for y in [f(x)] - */ - asdl_expr_seq *elts; - switch (gen->iter->kind) { - case List_kind: - elts = gen->iter->v.List.elts; - break; - case Tuple_kind: - elts = gen->iter->v.Tuple.elts; - break; - default: - elts = NULL; - } - if (asdl_seq_LEN(elts) == 1) { - expr_ty elt = asdl_seq_GET(elts, 0); - if (elt->kind != Starred_kind) { - VISIT(c, expr, elt); - start = NULL; - } + if (!iter_on_stack) { + if (gen_index == 0) { + /* Receive outermost iter as an implicit argument */ + c->u->u_metadata.u_argcount = 1; + ADDOP_I(c, loc, LOAD_FAST, 0); } - if (start) { - VISIT(c, expr, gen->iter); - ADDOP(c, GET_ITER); + else { + /* Sub-iter - calculate on the fly */ + /* Fast path for the temporary variable assignment idiom: + for y in [f(x)] + */ + asdl_expr_seq *elts; + switch (gen->iter->kind) { + case List_kind: + elts = gen->iter->v.List.elts; + break; + case Tuple_kind: + elts = gen->iter->v.Tuple.elts; + break; + default: + elts = NULL; + } + if (asdl_seq_LEN(elts) == 1) { + expr_ty elt = asdl_seq_GET(elts, 0); + if (elt->kind != Starred_kind) { + VISIT(c, expr, elt); + start = NO_LABEL; + } + } + if (IS_LABEL(start)) { + VISIT(c, expr, gen->iter); + ADDOP(c, loc, GET_ITER); + } } } - if (start) { + if (IS_LABEL(start)) { depth++; - compiler_use_next_block(c, start); - ADDOP_JUMP(c, FOR_ITER, anchor); + USE_LABEL(c, start); + ADDOP_JUMP(c, loc, FOR_ITER, anchor); } VISIT(c, expr, gen->target); /* XXX this needs to be cleaned up...a lot! */ - n = asdl_seq_LEN(gen->ifs); - for (i = 0; i < n; i++) { + Py_ssize_t n = asdl_seq_LEN(gen->ifs); + for (Py_ssize_t i = 0; i < n; i++) { expr_ty e = (expr_ty)asdl_seq_GET(gen->ifs, i); - if (!compiler_jump_if(c, e, if_cleanup, 0)) - return 0; + RETURN_IF_ERROR(compiler_jump_if(c, loc, e, if_cleanup, 0)); } - if (++gen_index < asdl_seq_LEN(generators)) - if (!compiler_comprehension_generator(c, - generators, gen_index, depth, - elt, val, type)) - return 0; + if (++gen_index < asdl_seq_LEN(generators)) { + RETURN_IF_ERROR( + compiler_comprehension_generator(c, loc, + generators, gen_index, depth, + elt, val, type, 0)); + } + + location elt_loc = LOC(elt); /* only append after the last for generator */ if (gen_index >= asdl_seq_LEN(generators)) { @@ -5319,134 +5284,360 @@ compiler_sync_comprehension_generator(struct compiler *c, switch (type) { case COMP_GENEXP: VISIT(c, expr, elt); - ADDOP_YIELD(c); - ADDOP(c, POP_TOP); + ADDOP_YIELD(c, elt_loc); + ADDOP(c, elt_loc, POP_TOP); break; case COMP_LISTCOMP: VISIT(c, expr, elt); - ADDOP_I(c, LIST_APPEND, depth + 1); + ADDOP_I(c, elt_loc, LIST_APPEND, depth + 1); break; case COMP_SETCOMP: VISIT(c, expr, elt); - ADDOP_I(c, SET_ADD, depth + 1); + ADDOP_I(c, elt_loc, SET_ADD, depth + 1); break; case COMP_DICTCOMP: /* With '{k: v}', k is evaluated before v, so we do the same. */ VISIT(c, expr, elt); VISIT(c, expr, val); - ADDOP_I(c, MAP_ADD, depth + 1); + elt_loc = LOCATION(elt->lineno, + val->end_lineno, + elt->col_offset, + val->end_col_offset); + ADDOP_I(c, elt_loc, MAP_ADD, depth + 1); break; default: - return 0; + return ERROR; } } - compiler_use_next_block(c, if_cleanup); - if (start) { - ADDOP_JUMP(c, JUMP, start); - compiler_use_next_block(c, anchor); + + USE_LABEL(c, if_cleanup); + if (IS_LABEL(start)) { + ADDOP_JUMP(c, elt_loc, JUMP, start); + + USE_LABEL(c, anchor); + ADDOP(c, NO_LOCATION, END_FOR); } - return 1; + return SUCCESS; } static int -compiler_async_comprehension_generator(struct compiler *c, - asdl_comprehension_seq *generators, int gen_index, - int depth, - expr_ty elt, expr_ty val, int type) +compiler_async_comprehension_generator(struct compiler *c, location loc, + asdl_comprehension_seq *generators, + int gen_index, int depth, + expr_ty elt, expr_ty val, int type, + int iter_on_stack) { - comprehension_ty gen; - basicblock *start, *if_cleanup, *except; - Py_ssize_t i, n; - start = compiler_new_block(c); - except = compiler_new_block(c); - if_cleanup = compiler_new_block(c); - - if (start == NULL || if_cleanup == NULL || except == NULL) { - return 0; - } + NEW_JUMP_TARGET_LABEL(c, start); + NEW_JUMP_TARGET_LABEL(c, except); + NEW_JUMP_TARGET_LABEL(c, if_cleanup); - gen = (comprehension_ty)asdl_seq_GET(generators, gen_index); + comprehension_ty gen = (comprehension_ty)asdl_seq_GET(generators, + gen_index); - if (gen_index == 0) { - /* Receive outermost iter as an implicit argument */ - c->u->u_argcount = 1; - ADDOP_I(c, LOAD_FAST, 0); - } - else { - /* Sub-iter - calculate on the fly */ - VISIT(c, expr, gen->iter); - ADDOP(c, GET_AITER); + if (!iter_on_stack) { + if (gen_index == 0) { + /* Receive outermost iter as an implicit argument */ + c->u->u_metadata.u_argcount = 1; + ADDOP_I(c, loc, LOAD_FAST, 0); + } + else { + /* Sub-iter - calculate on the fly */ + VISIT(c, expr, gen->iter); + ADDOP(c, loc, GET_AITER); + } } - compiler_use_next_block(c, start); + USE_LABEL(c, start); /* Runtime will push a block here, so we need to account for that */ - if (!compiler_push_fblock(c, ASYNC_COMPREHENSION_GENERATOR, start, - NULL, NULL)) { - return 0; - } - - ADDOP_JUMP(c, SETUP_FINALLY, except); - ADDOP(c, GET_ANEXT); - ADDOP_LOAD_CONST(c, Py_None); - ADD_YIELD_FROM(c, 1); - ADDOP(c, POP_BLOCK); + RETURN_IF_ERROR( + compiler_push_fblock(c, loc, ASYNC_COMPREHENSION_GENERATOR, + start, NO_LABEL, NULL)); + + ADDOP_JUMP(c, loc, SETUP_FINALLY, except); + ADDOP(c, loc, GET_ANEXT); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADD_YIELD_FROM(c, loc, 1); + ADDOP(c, loc, POP_BLOCK); VISIT(c, expr, gen->target); - n = asdl_seq_LEN(gen->ifs); - for (i = 0; i < n; i++) { + Py_ssize_t n = asdl_seq_LEN(gen->ifs); + for (Py_ssize_t i = 0; i < n; i++) { expr_ty e = (expr_ty)asdl_seq_GET(gen->ifs, i); - if (!compiler_jump_if(c, e, if_cleanup, 0)) - return 0; + RETURN_IF_ERROR(compiler_jump_if(c, loc, e, if_cleanup, 0)); } depth++; - if (++gen_index < asdl_seq_LEN(generators)) - if (!compiler_comprehension_generator(c, - generators, gen_index, depth, - elt, val, type)) - return 0; + if (++gen_index < asdl_seq_LEN(generators)) { + RETURN_IF_ERROR( + compiler_comprehension_generator(c, loc, + generators, gen_index, depth, + elt, val, type, 0)); + } + location elt_loc = LOC(elt); /* only append after the last for generator */ if (gen_index >= asdl_seq_LEN(generators)) { /* comprehension specific code */ switch (type) { case COMP_GENEXP: VISIT(c, expr, elt); - ADDOP_YIELD(c); - ADDOP(c, POP_TOP); + ADDOP_YIELD(c, elt_loc); + ADDOP(c, elt_loc, POP_TOP); break; case COMP_LISTCOMP: VISIT(c, expr, elt); - ADDOP_I(c, LIST_APPEND, depth + 1); + ADDOP_I(c, elt_loc, LIST_APPEND, depth + 1); break; case COMP_SETCOMP: VISIT(c, expr, elt); - ADDOP_I(c, SET_ADD, depth + 1); + ADDOP_I(c, elt_loc, SET_ADD, depth + 1); break; case COMP_DICTCOMP: /* With '{k: v}', k is evaluated before v, so we do the same. */ VISIT(c, expr, elt); VISIT(c, expr, val); - ADDOP_I(c, MAP_ADD, depth + 1); + elt_loc = LOCATION(elt->lineno, + val->end_lineno, + elt->col_offset, + val->end_col_offset); + ADDOP_I(c, elt_loc, MAP_ADD, depth + 1); break; default: - return 0; + return ERROR; } } - compiler_use_next_block(c, if_cleanup); - ADDOP_JUMP(c, JUMP, start); + + USE_LABEL(c, if_cleanup); + ADDOP_JUMP(c, elt_loc, JUMP, start); compiler_pop_fblock(c, ASYNC_COMPREHENSION_GENERATOR, start); - compiler_use_next_block(c, except); - //UNSET_LOC(c); + USE_LABEL(c, except); - ADDOP(c, END_ASYNC_FOR); + ADDOP(c, loc, END_ASYNC_FOR); - return 1; + return SUCCESS; +} + +typedef struct { + PyObject *pushed_locals; + PyObject *temp_symbols; + PyObject *fast_hidden; + jump_target_label cleanup; + jump_target_label end; +} inlined_comprehension_state; + +static int +push_inlined_comprehension_state(struct compiler *c, location loc, + PySTEntryObject *entry, + inlined_comprehension_state *state) +{ + int in_class_block = (c->u->u_ste->ste_type == ClassBlock) && !c->u->u_in_inlined_comp; + c->u->u_in_inlined_comp++; + // iterate over names bound in the comprehension and ensure we isolate + // them from the outer scope as needed + PyObject *k, *v; + Py_ssize_t pos = 0; + while (PyDict_Next(entry->ste_symbols, &pos, &k, &v)) { + assert(PyLong_Check(v)); + long symbol = PyLong_AS_LONG(v); + // only values bound in the comprehension (DEF_LOCAL) need to be handled + // at all; DEF_LOCAL | DEF_NONLOCAL can occur in the case of an + // assignment expression to a nonlocal in the comprehension, these don't + // need handling here since they shouldn't be isolated + if ((symbol & DEF_LOCAL && !(symbol & DEF_NONLOCAL)) || in_class_block) { + if (!_PyST_IsFunctionLike(c->u->u_ste)) { + // non-function scope: override this name to use fast locals + PyObject *orig = PyDict_GetItem(c->u->u_metadata.u_fasthidden, k); + if (orig != Py_True) { + if (PyDict_SetItem(c->u->u_metadata.u_fasthidden, k, Py_True) < 0) { + return ERROR; + } + if (state->fast_hidden == NULL) { + state->fast_hidden = PySet_New(NULL); + if (state->fast_hidden == NULL) { + return ERROR; + } + } + if (PySet_Add(state->fast_hidden, k) < 0) { + return ERROR; + } + } + } + long scope = (symbol >> SCOPE_OFFSET) & SCOPE_MASK; + PyObject *outv = PyDict_GetItemWithError(c->u->u_ste->ste_symbols, k); + if (outv == NULL) { + outv = _PyLong_GetZero(); + } + assert(PyLong_Check(outv)); + long outsc = (PyLong_AS_LONG(outv) >> SCOPE_OFFSET) & SCOPE_MASK; + if (scope != outsc && !(scope == CELL && outsc == FREE)) { + // If a name has different scope inside than outside the + // comprehension, we need to temporarily handle it with the + // right scope while compiling the comprehension. (If it's free + // in outer scope and cell in inner scope, we can't treat it as + // both cell and free in the same function, but treating it as + // free throughout is fine; it's *_DEREF either way.) + + if (state->temp_symbols == NULL) { + state->temp_symbols = PyDict_New(); + if (state->temp_symbols == NULL) { + return ERROR; + } + } + // update the symbol to the in-comprehension version and save + // the outer version; we'll restore it after running the + // comprehension + Py_INCREF(outv); + if (PyDict_SetItem(c->u->u_ste->ste_symbols, k, v) < 0) { + Py_DECREF(outv); + return ERROR; + } + if (PyDict_SetItem(state->temp_symbols, k, outv) < 0) { + Py_DECREF(outv); + return ERROR; + } + Py_DECREF(outv); + } + // local names bound in comprehension must be isolated from + // outer scope; push existing value (which may be NULL if + // not defined) on stack + if (state->pushed_locals == NULL) { + state->pushed_locals = PyList_New(0); + if (state->pushed_locals == NULL) { + return ERROR; + } + } + // in the case of a cell, this will actually push the cell + // itself to the stack, then we'll create a new one for the + // comprehension and restore the original one after + ADDOP_NAME(c, loc, LOAD_FAST_AND_CLEAR, k, varnames); + if (scope == CELL) { + if (outsc == FREE) { + ADDOP_NAME(c, loc, MAKE_CELL, k, freevars); + } else { + ADDOP_NAME(c, loc, MAKE_CELL, k, cellvars); + } + } + if (PyList_Append(state->pushed_locals, k) < 0) { + return ERROR; + } + } + } + if (state->pushed_locals) { + // Outermost iterable expression was already evaluated and is on the + // stack, we need to swap it back to TOS. This also rotates the order of + // `pushed_locals` on the stack, but this will be reversed when we swap + // out the comprehension result in pop_inlined_comprehension_state + ADDOP_I(c, loc, SWAP, PyList_GET_SIZE(state->pushed_locals) + 1); + + // Add our own cleanup handler to restore comprehension locals in case + // of exception, so they have the correct values inside an exception + // handler or finally block. + NEW_JUMP_TARGET_LABEL(c, cleanup); + state->cleanup = cleanup; + NEW_JUMP_TARGET_LABEL(c, end); + state->end = end; + + // no need to push an fblock for this "virtual" try/finally; there can't + // be return/continue/break inside a comprehension + ADDOP_JUMP(c, loc, SETUP_FINALLY, cleanup); + } + + return SUCCESS; +} + +static int +restore_inlined_comprehension_locals(struct compiler *c, location loc, + inlined_comprehension_state state) +{ + PyObject *k; + // pop names we pushed to stack earlier + Py_ssize_t npops = PyList_GET_SIZE(state.pushed_locals); + // Preserve the comprehension result (or exception) as TOS. This + // reverses the SWAP we did in push_inlined_comprehension_state to get + // the outermost iterable to TOS, so we can still just iterate + // pushed_locals in simple reverse order + ADDOP_I(c, loc, SWAP, npops + 1); + for (Py_ssize_t i = npops - 1; i >= 0; --i) { + k = PyList_GetItem(state.pushed_locals, i); + if (k == NULL) { + return ERROR; + } + ADDOP_NAME(c, loc, STORE_FAST_MAYBE_NULL, k, varnames); + } + return SUCCESS; +} + +static int +pop_inlined_comprehension_state(struct compiler *c, location loc, + inlined_comprehension_state state) +{ + c->u->u_in_inlined_comp--; + PyObject *k, *v; + Py_ssize_t pos = 0; + if (state.temp_symbols) { + while (PyDict_Next(state.temp_symbols, &pos, &k, &v)) { + if (PyDict_SetItem(c->u->u_ste->ste_symbols, k, v)) { + return ERROR; + } + } + Py_CLEAR(state.temp_symbols); + } + if (state.pushed_locals) { + ADDOP(c, NO_LOCATION, POP_BLOCK); + ADDOP_JUMP(c, NO_LOCATION, JUMP, state.end); + + // cleanup from an exception inside the comprehension + USE_LABEL(c, state.cleanup); + // discard incomplete comprehension result (beneath exc on stack) + ADDOP_I(c, NO_LOCATION, SWAP, 2); + ADDOP(c, NO_LOCATION, POP_TOP); + if (restore_inlined_comprehension_locals(c, loc, state) < 0) { + return ERROR; + } + ADDOP_I(c, NO_LOCATION, RERAISE, 0); + + USE_LABEL(c, state.end); + if (restore_inlined_comprehension_locals(c, loc, state) < 0) { + return ERROR; + } + Py_CLEAR(state.pushed_locals); + } + if (state.fast_hidden) { + while (PySet_Size(state.fast_hidden) > 0) { + PyObject *k = PySet_Pop(state.fast_hidden); + if (k == NULL) { + return ERROR; + } + // we set to False instead of clearing, so we can track which names + // were temporarily fast-locals and should use CO_FAST_HIDDEN + if (PyDict_SetItem(c->u->u_metadata.u_fasthidden, k, Py_False)) { + Py_DECREF(k); + return ERROR; + } + Py_DECREF(k); + } + Py_CLEAR(state.fast_hidden); + } + return SUCCESS; +} + +static inline int +compiler_comprehension_iter(struct compiler *c, location loc, + comprehension_ty comp) +{ + VISIT(c, expr, comp->iter); + if (comp->is_async) { + ADDOP(c, loc, GET_AITER); + } + else { + ADDOP(c, loc, GET_ITER); + } + return SUCCESS; } static int @@ -5455,29 +5646,44 @@ compiler_comprehension(struct compiler *c, expr_ty e, int type, expr_ty val) { PyCodeObject *co = NULL; + inlined_comprehension_state inline_state = {NULL, NULL, NULL, NO_LABEL, NO_LABEL}; comprehension_ty outermost; - PyObject *qualname = NULL; int scope_type = c->u->u_scope_type; - int is_async_generator = 0; int is_top_level_await = IS_TOP_LEVEL_AWAIT(c); - - outermost = (comprehension_ty) asdl_seq_GET(generators, 0); - if (!compiler_enter_scope(c, name, COMPILER_SCOPE_COMPREHENSION, - (void *)e, e->lineno)) - { + PySTEntryObject *entry = PySymtable_Lookup(c->c_st, (void *)e); + if (entry == NULL) { goto error; } - SET_LOC(c, e); + int is_inlined = entry->ste_comp_inlined; + int is_async_generator = entry->ste_coroutine; + + location loc = LOC(e); - is_async_generator = c->u->u_ste->ste_coroutine; + outermost = (comprehension_ty) asdl_seq_GET(generators, 0); + if (is_inlined) { + if (compiler_comprehension_iter(c, loc, outermost)) { + goto error; + } + if (push_inlined_comprehension_state(c, loc, entry, &inline_state)) { + goto error; + } + } + else { + if (compiler_enter_scope(c, name, COMPILER_SCOPE_COMPREHENSION, + (void *)e, e->lineno) < 0) + { + goto error; + } + } + Py_CLEAR(entry); if (is_async_generator && type != COMP_GENEXP && scope_type != COMPILER_SCOPE_ASYNC_FUNCTION && scope_type != COMPILER_SCOPE_COMPREHENSION && !is_top_level_await) { - compiler_error(c, "asynchronous comprehension outside of " - "an asynchronous function"); + compiler_error(c, loc, "asynchronous comprehension outside of " + "an asynchronous function"); goto error_in_scope; } @@ -5499,57 +5705,72 @@ compiler_comprehension(struct compiler *c, expr_ty e, int type, goto error_in_scope; } - ADDOP_I(c, op, 0); + ADDOP_I(c, loc, op, 0); + if (is_inlined) { + ADDOP_I(c, loc, SWAP, 2); + } } - if (!compiler_comprehension_generator(c, generators, 0, 0, elt, - val, type)) + if (compiler_comprehension_generator(c, loc, generators, 0, 0, + elt, val, type, is_inlined) < 0) { goto error_in_scope; + } + + if (is_inlined) { + if (pop_inlined_comprehension_state(c, loc, inline_state)) { + goto error; + } + return SUCCESS; + } if (type != COMP_GENEXP) { - ADDOP(c, RETURN_VALUE); + ADDOP(c, LOC(e), RETURN_VALUE); + } + if (type == COMP_GENEXP) { + if (wrap_in_stopiteration_handler(c) < 0) { + goto error_in_scope; + } } - co = assemble(c, 1); - qualname = c->u->u_qualname; - Py_INCREF(qualname); + co = optimize_and_assemble(c, 1); compiler_exit_scope(c); if (is_top_level_await && is_async_generator){ c->u->u_ste->ste_coroutine = 1; } - if (co == NULL) + if (co == NULL) { goto error; + } - if (!compiler_make_closure(c, co, 0, qualname)) { + loc = LOC(e); + if (compiler_make_closure(c, loc, co, 0) < 0) { goto error; } - Py_DECREF(qualname); - Py_DECREF(co); - - VISIT(c, expr, outermost->iter); + Py_CLEAR(co); - if (outermost->is_async) { - ADDOP(c, GET_AITER); - } else { - ADDOP(c, GET_ITER); + if (compiler_comprehension_iter(c, loc, outermost)) { + goto error; } - ADDOP_I(c, PRECALL, 0); - ADDOP_I(c, CALL, 0); + ADDOP_I(c, loc, CALL, 0); if (is_async_generator && type != COMP_GENEXP) { - ADDOP_I(c, GET_AWAITABLE, 0); - ADDOP_LOAD_CONST(c, Py_None); - ADD_YIELD_FROM(c, 1); + ADDOP_I(c, loc, GET_AWAITABLE, 0); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADD_YIELD_FROM(c, loc, 1); } - return 1; + return SUCCESS; error_in_scope: - compiler_exit_scope(c); + if (!is_inlined) { + compiler_exit_scope(c); + } error: - Py_XDECREF(qualname); Py_XDECREF(co); - return 0; + Py_XDECREF(entry); + Py_XDECREF(inline_state.pushed_locals); + Py_XDECREF(inline_state.temp_symbols); + Py_XDECREF(inline_state.fast_hidden); + return ERROR; } static int @@ -5598,28 +5819,30 @@ static int compiler_visit_keyword(struct compiler *c, keyword_ty k) { VISIT(c, expr, k->value); - return 1; + return SUCCESS; } static int -compiler_with_except_finish(struct compiler *c, basicblock * cleanup) { - UNSET_LOC(c); - basicblock *exit; - exit = compiler_new_block(c); - if (exit == NULL) - return 0; - ADDOP_JUMP(c, POP_JUMP_IF_TRUE, exit); - ADDOP_I(c, RERAISE, 2); - compiler_use_next_block(c, cleanup); - POP_EXCEPT_AND_RERAISE(c); - compiler_use_next_block(c, exit); - ADDOP(c, POP_TOP); /* exc_value */ - ADDOP(c, POP_BLOCK); - ADDOP(c, POP_EXCEPT); - ADDOP(c, POP_TOP); - ADDOP(c, POP_TOP); - return 1; +compiler_with_except_finish(struct compiler *c, jump_target_label cleanup) { + NEW_JUMP_TARGET_LABEL(c, suppress); + ADDOP_JUMP(c, NO_LOCATION, POP_JUMP_IF_TRUE, suppress); + ADDOP_I(c, NO_LOCATION, RERAISE, 2); + + USE_LABEL(c, suppress); + ADDOP(c, NO_LOCATION, POP_TOP); /* exc_value */ + ADDOP(c, NO_LOCATION, POP_BLOCK); + ADDOP(c, NO_LOCATION, POP_EXCEPT); + ADDOP(c, NO_LOCATION, POP_TOP); + ADDOP(c, NO_LOCATION, POP_TOP); + NEW_JUMP_TARGET_LABEL(c, exit); + ADDOP_JUMP(c, NO_LOCATION, JUMP, exit); + + USE_LABEL(c, cleanup); + POP_EXCEPT_AND_RERAISE(c, NO_LOCATION); + + USE_LABEL(c, exit); + return SUCCESS; } /* @@ -5649,85 +5872,82 @@ compiler_with_except_finish(struct compiler *c, basicblock * cleanup) { static int compiler_async_with(struct compiler *c, stmt_ty s, int pos) { - basicblock *block, *final, *exit, *cleanup; + location loc = LOC(s); withitem_ty item = asdl_seq_GET(s->v.AsyncWith.items, pos); assert(s->kind == AsyncWith_kind); if (IS_TOP_LEVEL_AWAIT(c)){ c->u->u_ste->ste_coroutine = 1; } else if (c->u->u_scope_type != COMPILER_SCOPE_ASYNC_FUNCTION){ - return compiler_error(c, "'async with' outside async function"); + return compiler_error(c, loc, "'async with' outside async function"); } - block = compiler_new_block(c); - final = compiler_new_block(c); - exit = compiler_new_block(c); - cleanup = compiler_new_block(c); - if (!block || !final || !exit || !cleanup) - return 0; + NEW_JUMP_TARGET_LABEL(c, block); + NEW_JUMP_TARGET_LABEL(c, final); + NEW_JUMP_TARGET_LABEL(c, exit); + NEW_JUMP_TARGET_LABEL(c, cleanup); /* Evaluate EXPR */ VISIT(c, expr, item->context_expr); - ADDOP(c, BEFORE_ASYNC_WITH); - ADDOP_I(c, GET_AWAITABLE, 1); - ADDOP_LOAD_CONST(c, Py_None); - ADD_YIELD_FROM(c, 1); + ADDOP(c, loc, BEFORE_ASYNC_WITH); + ADDOP_I(c, loc, GET_AWAITABLE, 1); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADD_YIELD_FROM(c, loc, 1); - ADDOP_JUMP(c, SETUP_WITH, final); + ADDOP_JUMP(c, loc, SETUP_WITH, final); /* SETUP_WITH pushes a finally block. */ - compiler_use_next_block(c, block); - if (!compiler_push_fblock(c, ASYNC_WITH, block, final, s)) { - return 0; - } + USE_LABEL(c, block); + RETURN_IF_ERROR(compiler_push_fblock(c, loc, ASYNC_WITH, block, final, s)); if (item->optional_vars) { VISIT(c, expr, item->optional_vars); } else { - /* Discard result from context.__aenter__() */ - ADDOP(c, POP_TOP); + /* Discard result from context.__aenter__() */ + ADDOP(c, loc, POP_TOP); } pos++; - if (pos == asdl_seq_LEN(s->v.AsyncWith.items)) + if (pos == asdl_seq_LEN(s->v.AsyncWith.items)) { /* BLOCK code */ VISIT_SEQ(c, stmt, s->v.AsyncWith.body) - else if (!compiler_async_with(c, s, pos)) - return 0; + } + else { + RETURN_IF_ERROR(compiler_async_with(c, s, pos)); + } compiler_pop_fblock(c, ASYNC_WITH, block); - ADDOP(c, POP_BLOCK); + + ADDOP(c, loc, POP_BLOCK); /* End of body; start the cleanup */ /* For successful outcome: * call __exit__(None, None, None) */ - SET_LOC(c, s); - if(!compiler_call_exit_with_nones(c)) - return 0; - ADDOP_I(c, GET_AWAITABLE, 2); - ADDOP_LOAD_CONST(c, Py_None); - ADD_YIELD_FROM(c, 1); + RETURN_IF_ERROR(compiler_call_exit_with_nones(c, loc)); + ADDOP_I(c, loc, GET_AWAITABLE, 2); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADD_YIELD_FROM(c, loc, 1); - ADDOP(c, POP_TOP); + ADDOP(c, loc, POP_TOP); - ADDOP_JUMP(c, JUMP, exit); + ADDOP_JUMP(c, loc, JUMP, exit); /* For exceptional outcome: */ - compiler_use_next_block(c, final); + USE_LABEL(c, final); - ADDOP_JUMP(c, SETUP_CLEANUP, cleanup); - ADDOP(c, PUSH_EXC_INFO); - ADDOP(c, WITH_EXCEPT_START); - ADDOP_I(c, GET_AWAITABLE, 2); - ADDOP_LOAD_CONST(c, Py_None); - ADD_YIELD_FROM(c, 1); - compiler_with_except_finish(c, cleanup); + ADDOP_JUMP(c, loc, SETUP_CLEANUP, cleanup); + ADDOP(c, loc, PUSH_EXC_INFO); + ADDOP(c, loc, WITH_EXCEPT_START); + ADDOP_I(c, loc, GET_AWAITABLE, 2); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADD_YIELD_FROM(c, loc, 1); + RETURN_IF_ERROR(compiler_with_except_finish(c, cleanup)); - compiler_use_next_block(c, exit); - return 1; + USE_LABEL(c, exit); + return SUCCESS; } @@ -5755,49 +5975,44 @@ compiler_async_with(struct compiler *c, stmt_ty s, int pos) static int compiler_with(struct compiler *c, stmt_ty s, int pos) { - basicblock *block, *final, *exit, *cleanup; withitem_ty item = asdl_seq_GET(s->v.With.items, pos); assert(s->kind == With_kind); - block = compiler_new_block(c); - final = compiler_new_block(c); - exit = compiler_new_block(c); - cleanup = compiler_new_block(c); - if (!block || !final || !exit || !cleanup) - return 0; + NEW_JUMP_TARGET_LABEL(c, block); + NEW_JUMP_TARGET_LABEL(c, final); + NEW_JUMP_TARGET_LABEL(c, exit); + NEW_JUMP_TARGET_LABEL(c, cleanup); /* Evaluate EXPR */ VISIT(c, expr, item->context_expr); /* Will push bound __exit__ */ - ADDOP(c, BEFORE_WITH); - ADDOP_JUMP(c, SETUP_WITH, final); + location loc = LOC(s); + ADDOP(c, loc, BEFORE_WITH); + ADDOP_JUMP(c, loc, SETUP_WITH, final); /* SETUP_WITH pushes a finally block. */ - compiler_use_next_block(c, block); - if (!compiler_push_fblock(c, WITH, block, final, s)) { - return 0; - } + USE_LABEL(c, block); + RETURN_IF_ERROR(compiler_push_fblock(c, loc, WITH, block, final, s)); if (item->optional_vars) { VISIT(c, expr, item->optional_vars); } else { /* Discard result from context.__enter__() */ - ADDOP(c, POP_TOP); + ADDOP(c, loc, POP_TOP); } pos++; - if (pos == asdl_seq_LEN(s->v.With.items)) + if (pos == asdl_seq_LEN(s->v.With.items)) { /* BLOCK code */ VISIT_SEQ(c, stmt, s->v.With.body) - else if (!compiler_with(c, s, pos)) - return 0; - + } + else { + RETURN_IF_ERROR(compiler_with(c, s, pos)); + } - /* Mark all following code as artificial */ - UNSET_LOC(c); - ADDOP(c, POP_BLOCK); + ADDOP(c, NO_LOCATION, POP_BLOCK); compiler_pop_fblock(c, WITH, block); /* End of body; start the cleanup. */ @@ -5805,31 +6020,31 @@ compiler_with(struct compiler *c, stmt_ty s, int pos) /* For successful outcome: * call __exit__(None, None, None) */ - SET_LOC(c, s); - if (!compiler_call_exit_with_nones(c)) - return 0; - ADDOP(c, POP_TOP); - ADDOP_JUMP(c, JUMP, exit); + loc = LOC(s); + RETURN_IF_ERROR(compiler_call_exit_with_nones(c, loc)); + ADDOP(c, loc, POP_TOP); + ADDOP_JUMP(c, loc, JUMP, exit); /* For exceptional outcome: */ - compiler_use_next_block(c, final); + USE_LABEL(c, final); - ADDOP_JUMP(c, SETUP_CLEANUP, cleanup); - ADDOP(c, PUSH_EXC_INFO); - ADDOP(c, WITH_EXCEPT_START); - compiler_with_except_finish(c, cleanup); + ADDOP_JUMP(c, loc, SETUP_CLEANUP, cleanup); + ADDOP(c, loc, PUSH_EXC_INFO); + ADDOP(c, loc, WITH_EXCEPT_START); + RETURN_IF_ERROR(compiler_with_except_finish(c, cleanup)); - compiler_use_next_block(c, exit); - return 1; + USE_LABEL(c, exit); + return SUCCESS; } static int compiler_visit_expr1(struct compiler *c, expr_ty e) { + location loc = LOC(e); switch (e->kind) { case NamedExpr_kind: VISIT(c, expr, e->v.NamedExpr.value); - ADDOP_I(c, COPY, 1); + ADDOP_I(c, loc, COPY, 1); VISIT(c, expr, e->v.NamedExpr.target); break; case BoolOp_kind: @@ -5837,11 +6052,16 @@ compiler_visit_expr1(struct compiler *c, expr_ty e) case BinOp_kind: VISIT(c, expr, e->v.BinOp.left); VISIT(c, expr, e->v.BinOp.right); - ADDOP_BINARY(c, e->v.BinOp.op); + ADDOP_BINARY(c, loc, e->v.BinOp.op); break; case UnaryOp_kind: VISIT(c, expr, e->v.UnaryOp.operand); - ADDOP(c, unaryop(e->v.UnaryOp.op)); + if (e->v.UnaryOp.op == UAdd) { + ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_UNARY_POSITIVE); + } + else { + ADDOP(c, loc, unaryop(e->v.UnaryOp.op)); + } break; case Lambda_kind: return compiler_lambda(c, e); @@ -5860,51 +6080,52 @@ compiler_visit_expr1(struct compiler *c, expr_ty e) case DictComp_kind: return compiler_dictcomp(c, e); case Yield_kind: - if (c->u->u_ste->ste_type != FunctionBlock) - return compiler_error(c, "'yield' outside function"); + if (!_PyST_IsFunctionLike(c->u->u_ste)) { + return compiler_error(c, loc, "'yield' outside function"); + } if (e->v.Yield.value) { VISIT(c, expr, e->v.Yield.value); } else { - ADDOP_LOAD_CONST(c, Py_None); + ADDOP_LOAD_CONST(c, loc, Py_None); } - ADDOP_YIELD(c); + ADDOP_YIELD(c, loc); break; case YieldFrom_kind: - if (c->u->u_ste->ste_type != FunctionBlock) - return compiler_error(c, "'yield' outside function"); - - if (c->u->u_scope_type == COMPILER_SCOPE_ASYNC_FUNCTION) - return compiler_error(c, "'yield from' inside async function"); - + if (!_PyST_IsFunctionLike(c->u->u_ste)) { + return compiler_error(c, loc, "'yield' outside function"); + } + if (c->u->u_scope_type == COMPILER_SCOPE_ASYNC_FUNCTION) { + return compiler_error(c, loc, "'yield from' inside async function"); + } VISIT(c, expr, e->v.YieldFrom.value); - ADDOP(c, GET_YIELD_FROM_ITER); - ADDOP_LOAD_CONST(c, Py_None); - ADD_YIELD_FROM(c, 0); + ADDOP(c, loc, GET_YIELD_FROM_ITER); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADD_YIELD_FROM(c, loc, 0); break; case Await_kind: if (!IS_TOP_LEVEL_AWAIT(c)){ - if (c->u->u_ste->ste_type != FunctionBlock){ - return compiler_error(c, "'await' outside function"); + if (!_PyST_IsFunctionLike(c->u->u_ste)) { + return compiler_error(c, loc, "'await' outside function"); } if (c->u->u_scope_type != COMPILER_SCOPE_ASYNC_FUNCTION && - c->u->u_scope_type != COMPILER_SCOPE_COMPREHENSION){ - return compiler_error(c, "'await' outside async function"); + c->u->u_scope_type != COMPILER_SCOPE_COMPREHENSION) { + return compiler_error(c, loc, "'await' outside async function"); } } VISIT(c, expr, e->v.Await.value); - ADDOP_I(c, GET_AWAITABLE, 0); - ADDOP_LOAD_CONST(c, Py_None); - ADD_YIELD_FROM(c, 1); + ADDOP_I(c, loc, GET_AWAITABLE, 0); + ADDOP_LOAD_CONST(c, loc, Py_None); + ADD_YIELD_FROM(c, loc, 1); break; case Compare_kind: return compiler_compare(c, e); case Call_kind: return compiler_call(c, e); case Constant_kind: - ADDOP_LOAD_CONST(c, e->v.Constant.value); + ADDOP_LOAD_CONST(c, loc, e->v.Constant.value); break; case JoinedStr_kind: return compiler_joined_str(c, e); @@ -5912,22 +6133,30 @@ compiler_visit_expr1(struct compiler *c, expr_ty e) return compiler_formatted_value(c, e); /* The following exprs can be assignment targets. */ case Attribute_kind: + if (e->v.Attribute.ctx == Load && can_optimize_super_call(c, e)) { + RETURN_IF_ERROR(load_args_for_super(c, e->v.Attribute.value)); + int opcode = asdl_seq_LEN(e->v.Attribute.value->v.Call.args) ? + LOAD_SUPER_ATTR : LOAD_ZERO_SUPER_ATTR; + ADDOP_NAME(c, loc, opcode, e->v.Attribute.attr, names); + loc = update_start_location_to_match_attr(c, loc, e); + ADDOP(c, loc, NOP); + return SUCCESS; + } VISIT(c, expr, e->v.Attribute.value); - update_start_location_to_match_attr(c, e); + loc = LOC(e); + loc = update_start_location_to_match_attr(c, loc, e); switch (e->v.Attribute.ctx) { case Load: - { - ADDOP_NAME(c, LOAD_ATTR, e->v.Attribute.attr, names); + ADDOP_NAME(c, loc, LOAD_ATTR, e->v.Attribute.attr, names); break; - } case Store: - if (forbidden_name(c, e->v.Attribute.attr, e->v.Attribute.ctx)) { - return 0; + if (forbidden_name(c, loc, e->v.Attribute.attr, e->v.Attribute.ctx)) { + return ERROR; } - ADDOP_NAME(c, STORE_ATTR, e->v.Attribute.attr, names); + ADDOP_NAME(c, loc, STORE_ATTR, e->v.Attribute.attr, names); break; case Del: - ADDOP_NAME(c, DELETE_ATTR, e->v.Attribute.attr, names); + ADDOP_NAME(c, loc, DELETE_ATTR, e->v.Attribute.attr, names); break; } break; @@ -5938,114 +6167,126 @@ compiler_visit_expr1(struct compiler *c, expr_ty e) case Store: /* In all legitimate cases, the Starred node was already replaced * by compiler_list/compiler_tuple. XXX: is that okay? */ - return compiler_error(c, + return compiler_error(c, loc, "starred assignment target must be in a list or tuple"); default: - return compiler_error(c, + return compiler_error(c, loc, "can't use starred expression here"); } break; case Slice_kind: - return compiler_slice(c, e); + { + int n = compiler_slice(c, e); + RETURN_IF_ERROR(n); + ADDOP_I(c, loc, BUILD_SLICE, n); + break; + } case Name_kind: - return compiler_nameop(c, e->v.Name.id, e->v.Name.ctx); + return compiler_nameop(c, loc, e->v.Name.id, e->v.Name.ctx); /* child nodes of List and Tuple will have expr_context set */ case List_kind: return compiler_list(c, e); case Tuple_kind: return compiler_tuple(c, e); } - return 1; + return SUCCESS; } static int compiler_visit_expr(struct compiler *c, expr_ty e) { - int old_lineno = c->u->u_lineno; - int old_end_lineno = c->u->u_end_lineno; - int old_col_offset = c->u->u_col_offset; - int old_end_col_offset = c->u->u_end_col_offset; - SET_LOC(c, e); int res = compiler_visit_expr1(c, e); - c->u->u_lineno = old_lineno; - c->u->u_end_lineno = old_end_lineno; - c->u->u_col_offset = old_col_offset; - c->u->u_end_col_offset = old_end_col_offset; return res; } +static bool +is_two_element_slice(expr_ty s) +{ + return s->kind == Slice_kind && + s->v.Slice.step == NULL; +} + static int compiler_augassign(struct compiler *c, stmt_ty s) { assert(s->kind == AugAssign_kind); expr_ty e = s->v.AugAssign.target; - int old_lineno = c->u->u_lineno; - int old_end_lineno = c->u->u_end_lineno; - int old_col_offset = c->u->u_col_offset; - int old_end_col_offset = c->u->u_end_col_offset; - SET_LOC(c, e); + location loc = LOC(e); switch (e->kind) { case Attribute_kind: VISIT(c, expr, e->v.Attribute.value); - ADDOP_I(c, COPY, 1); - update_start_location_to_match_attr(c, e); - ADDOP_NAME(c, LOAD_ATTR, e->v.Attribute.attr, names); + ADDOP_I(c, loc, COPY, 1); + loc = update_start_location_to_match_attr(c, loc, e); + ADDOP_NAME(c, loc, LOAD_ATTR, e->v.Attribute.attr, names); break; case Subscript_kind: VISIT(c, expr, e->v.Subscript.value); - VISIT(c, expr, e->v.Subscript.slice); - ADDOP_I(c, COPY, 2); - ADDOP_I(c, COPY, 2); - ADDOP(c, BINARY_SUBSCR); + if (is_two_element_slice(e->v.Subscript.slice)) { + RETURN_IF_ERROR(compiler_slice(c, e->v.Subscript.slice)); + ADDOP_I(c, loc, COPY, 3); + ADDOP_I(c, loc, COPY, 3); + ADDOP_I(c, loc, COPY, 3); + ADDOP(c, loc, BINARY_SLICE); + } + else { + VISIT(c, expr, e->v.Subscript.slice); + ADDOP_I(c, loc, COPY, 2); + ADDOP_I(c, loc, COPY, 2); + ADDOP(c, loc, BINARY_SUBSCR); + } break; case Name_kind: - if (!compiler_nameop(c, e->v.Name.id, Load)) - return 0; + RETURN_IF_ERROR(compiler_nameop(c, loc, e->v.Name.id, Load)); break; default: PyErr_Format(PyExc_SystemError, "invalid node type (%d) for augmented assignment", e->kind); - return 0; + return ERROR; } - c->u->u_lineno = old_lineno; - c->u->u_end_lineno = old_end_lineno; - c->u->u_col_offset = old_col_offset; - c->u->u_end_col_offset = old_end_col_offset; + loc = LOC(s); VISIT(c, expr, s->v.AugAssign.value); - ADDOP_INPLACE(c, s->v.AugAssign.op); + ADDOP_INPLACE(c, loc, s->v.AugAssign.op); - SET_LOC(c, e); + loc = LOC(e); switch (e->kind) { case Attribute_kind: - update_start_location_to_match_attr(c, e); - ADDOP_I(c, SWAP, 2); - ADDOP_NAME(c, STORE_ATTR, e->v.Attribute.attr, names); + loc = update_start_location_to_match_attr(c, loc, e); + ADDOP_I(c, loc, SWAP, 2); + ADDOP_NAME(c, loc, STORE_ATTR, e->v.Attribute.attr, names); break; case Subscript_kind: - ADDOP_I(c, SWAP, 3); - ADDOP_I(c, SWAP, 2); - ADDOP(c, STORE_SUBSCR); + if (is_two_element_slice(e->v.Subscript.slice)) { + ADDOP_I(c, loc, SWAP, 4); + ADDOP_I(c, loc, SWAP, 3); + ADDOP_I(c, loc, SWAP, 2); + ADDOP(c, loc, STORE_SLICE); + } + else { + ADDOP_I(c, loc, SWAP, 3); + ADDOP_I(c, loc, SWAP, 2); + ADDOP(c, loc, STORE_SUBSCR); + } break; case Name_kind: - return compiler_nameop(c, e->v.Name.id, Store); + return compiler_nameop(c, loc, e->v.Name.id, Store); default: Py_UNREACHABLE(); } - return 1; + return SUCCESS; } static int check_ann_expr(struct compiler *c, expr_ty e) { VISIT(c, expr, e); - ADDOP(c, POP_TOP); - return 1; + ADDOP(c, LOC(e), POP_TOP); + return SUCCESS; } static int @@ -6053,8 +6294,8 @@ check_annotation(struct compiler *c, stmt_ty s) { /* Annotations of complex targets does not produce anything under annotations future */ - if (c->c_future->ff_features & CO_FUTURE_ANNOTATIONS) { - return 1; + if (c->c_future.ff_features & CO_FUTURE_ANNOTATIONS) { + return SUCCESS; } /* Annotations are only evaluated in a module or class. */ @@ -6062,7 +6303,7 @@ check_annotation(struct compiler *c, stmt_ty s) c->u->u_scope_type == COMPILER_SCOPE_CLASS) { return check_ann_expr(c, s->v.AnnAssign.annotation); } - return 1; + return SUCCESS; } static int @@ -6071,26 +6312,24 @@ check_ann_subscr(struct compiler *c, expr_ty e) /* We check that everything in a subscript is defined at runtime. */ switch (e->kind) { case Slice_kind: - if (e->v.Slice.lower && !check_ann_expr(c, e->v.Slice.lower)) { - return 0; + if (e->v.Slice.lower && check_ann_expr(c, e->v.Slice.lower) < 0) { + return ERROR; } - if (e->v.Slice.upper && !check_ann_expr(c, e->v.Slice.upper)) { - return 0; + if (e->v.Slice.upper && check_ann_expr(c, e->v.Slice.upper) < 0) { + return ERROR; } - if (e->v.Slice.step && !check_ann_expr(c, e->v.Slice.step)) { - return 0; + if (e->v.Slice.step && check_ann_expr(c, e->v.Slice.step) < 0) { + return ERROR; } - return 1; + return SUCCESS; case Tuple_kind: { /* extended slice */ asdl_expr_seq *elts = e->v.Tuple.elts; Py_ssize_t i, n = asdl_seq_LEN(elts); for (i = 0; i < n; i++) { - if (!check_ann_subscr(c, asdl_seq_GET(elts, i))) { - return 0; - } + RETURN_IF_ERROR(check_ann_subscr(c, asdl_seq_GET(elts, i))); } - return 1; + return SUCCESS; } default: return check_ann_expr(c, e); @@ -6100,6 +6339,7 @@ check_ann_subscr(struct compiler *c, expr_ty e) static int compiler_annassign(struct compiler *c, stmt_ty s) { + location loc = LOC(s); expr_ty targ = s->v.AnnAssign.target; PyObject* mangled; @@ -6112,50 +6352,52 @@ compiler_annassign(struct compiler *c, stmt_ty s) } switch (targ->kind) { case Name_kind: - if (forbidden_name(c, targ->v.Name.id, Store)) - return 0; + if (forbidden_name(c, loc, targ->v.Name.id, Store)) { + return ERROR; + } /* If we have a simple name in a module or class, store annotation. */ if (s->v.AnnAssign.simple && (c->u->u_scope_type == COMPILER_SCOPE_MODULE || c->u->u_scope_type == COMPILER_SCOPE_CLASS)) { - if (c->c_future->ff_features & CO_FUTURE_ANNOTATIONS) { + if (c->c_future.ff_features & CO_FUTURE_ANNOTATIONS) { VISIT(c, annexpr, s->v.AnnAssign.annotation) } else { VISIT(c, expr, s->v.AnnAssign.annotation); } - ADDOP_NAME(c, LOAD_NAME, &_Py_ID(__annotations__), names); + ADDOP_NAME(c, loc, LOAD_NAME, &_Py_ID(__annotations__), names); mangled = _Py_Mangle(c->u->u_private, targ->v.Name.id); - ADDOP_LOAD_CONST_NEW(c, mangled); - ADDOP(c, STORE_SUBSCR); + ADDOP_LOAD_CONST_NEW(c, loc, mangled); + ADDOP(c, loc, STORE_SUBSCR); } break; case Attribute_kind: - if (forbidden_name(c, targ->v.Attribute.attr, Store)) - return 0; + if (forbidden_name(c, loc, targ->v.Attribute.attr, Store)) { + return ERROR; + } if (!s->v.AnnAssign.value && - !check_ann_expr(c, targ->v.Attribute.value)) { - return 0; + check_ann_expr(c, targ->v.Attribute.value) < 0) { + return ERROR; } break; case Subscript_kind: if (!s->v.AnnAssign.value && - (!check_ann_expr(c, targ->v.Subscript.value) || - !check_ann_subscr(c, targ->v.Subscript.slice))) { - return 0; + (check_ann_expr(c, targ->v.Subscript.value) < 0 || + check_ann_subscr(c, targ->v.Subscript.slice) < 0)) { + return ERROR; } break; default: PyErr_Format(PyExc_SystemError, "invalid node type (%d) for annotated assignment", targ->kind); - return 0; + return ERROR; } /* Annotation is evaluated last. */ - if (!s->v.AnnAssign.simple && !check_annotation(c, s)) { - return 0; + if (!s->v.AnnAssign.simple && check_annotation(c, s) < 0) { + return ERROR; } - return 1; + return SUCCESS; } /* Raises a SyntaxError and returns 0. @@ -6163,36 +6405,32 @@ compiler_annassign(struct compiler *c, stmt_ty s) */ static int -compiler_error(struct compiler *c, const char *format, ...) +compiler_error(struct compiler *c, location loc, + const char *format, ...) { va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif PyObject *msg = PyUnicode_FromFormatV(format, vargs); va_end(vargs); if (msg == NULL) { - return 0; + return ERROR; } - PyObject *loc = PyErr_ProgramTextObject(c->c_filename, c->u->u_lineno); - if (loc == NULL) { - Py_INCREF(Py_None); - loc = Py_None; + PyObject *loc_obj = PyErr_ProgramTextObject(c->c_filename, loc.lineno); + if (loc_obj == NULL) { + loc_obj = Py_NewRef(Py_None); } PyObject *args = Py_BuildValue("O(OiiOii)", msg, c->c_filename, - c->u->u_lineno, c->u->u_col_offset + 1, loc, - c->u->u_end_lineno, c->u->u_end_col_offset + 1); + loc.lineno, loc.col_offset + 1, loc_obj, + loc.end_lineno, loc.end_col_offset + 1); Py_DECREF(msg); if (args == NULL) { goto exit; } PyErr_SetObject(PyExc_SyntaxError, args); exit: - Py_DECREF(loc); + Py_DECREF(loc_obj); Py_XDECREF(args); - return 0; + return ERROR; } /* Emits a SyntaxWarning and returns 1 on success. @@ -6200,63 +6438,71 @@ compiler_error(struct compiler *c, const char *format, ...) and returns 0. */ static int -compiler_warn(struct compiler *c, const char *format, ...) +compiler_warn(struct compiler *c, location loc, + const char *format, ...) { va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif PyObject *msg = PyUnicode_FromFormatV(format, vargs); va_end(vargs); if (msg == NULL) { - return 0; + return ERROR; } if (PyErr_WarnExplicitObject(PyExc_SyntaxWarning, msg, c->c_filename, - c->u->u_lineno, NULL, NULL) < 0) + loc.lineno, NULL, NULL) < 0) { if (PyErr_ExceptionMatches(PyExc_SyntaxWarning)) { /* Replace the SyntaxWarning exception with a SyntaxError to get a more accurate error report */ PyErr_Clear(); assert(PyUnicode_AsUTF8(msg) != NULL); - compiler_error(c, PyUnicode_AsUTF8(msg)); + compiler_error(c, loc, PyUnicode_AsUTF8(msg)); } Py_DECREF(msg); - return 0; + return ERROR; } Py_DECREF(msg); - return 1; + return SUCCESS; } static int compiler_subscript(struct compiler *c, expr_ty e) { + location loc = LOC(e); expr_context_ty ctx = e->v.Subscript.ctx; int op = 0; if (ctx == Load) { - if (!check_subscripter(c, e->v.Subscript.value)) { - return 0; + RETURN_IF_ERROR(check_subscripter(c, e->v.Subscript.value)); + RETURN_IF_ERROR(check_index(c, e->v.Subscript.value, e->v.Subscript.slice)); + } + + VISIT(c, expr, e->v.Subscript.value); + if (is_two_element_slice(e->v.Subscript.slice) && ctx != Del) { + RETURN_IF_ERROR(compiler_slice(c, e->v.Subscript.slice)); + if (ctx == Load) { + ADDOP(c, loc, BINARY_SLICE); } - if (!check_index(c, e->v.Subscript.value, e->v.Subscript.slice)) { - return 0; + else { + assert(ctx == Store); + ADDOP(c, loc, STORE_SLICE); } } - - switch (ctx) { - case Load: op = BINARY_SUBSCR; break; - case Store: op = STORE_SUBSCR; break; - case Del: op = DELETE_SUBSCR; break; + else { + VISIT(c, expr, e->v.Subscript.slice); + switch (ctx) { + case Load: op = BINARY_SUBSCR; break; + case Store: op = STORE_SUBSCR; break; + case Del: op = DELETE_SUBSCR; break; + } + assert(op); + ADDOP(c, loc, op); } - assert(op); - VISIT(c, expr, e->v.Subscript.value); - VISIT(c, expr, e->v.Subscript.slice); - ADDOP(c, op); - return 1; + return SUCCESS; } +/* Returns the number of the values emitted, + * thus are needed to build the slice, or -1 if there is an error. */ static int compiler_slice(struct compiler *c, expr_ty s) { @@ -6268,22 +6514,21 @@ compiler_slice(struct compiler *c, expr_ty s) VISIT(c, expr, s->v.Slice.lower); } else { - ADDOP_LOAD_CONST(c, Py_None); + ADDOP_LOAD_CONST(c, LOC(s), Py_None); } if (s->v.Slice.upper) { VISIT(c, expr, s->v.Slice.upper); } else { - ADDOP_LOAD_CONST(c, Py_None); + ADDOP_LOAD_CONST(c, LOC(s), Py_None); } if (s->v.Slice.step) { n++; VISIT(c, expr, s->v.Slice.step); } - ADDOP_I(c, BUILD_SLICE, n); - return 1; + return n; } @@ -6315,101 +6560,104 @@ ensure_fail_pop(struct compiler *c, pattern_context *pc, Py_ssize_t n) { Py_ssize_t size = n + 1; if (size <= pc->fail_pop_size) { - return 1; + return SUCCESS; } - Py_ssize_t needed = sizeof(basicblock*) * size; - basicblock **resized = PyObject_Realloc(pc->fail_pop, needed); + Py_ssize_t needed = sizeof(jump_target_label) * size; + jump_target_label *resized = PyObject_Realloc(pc->fail_pop, needed); if (resized == NULL) { PyErr_NoMemory(); - return 0; + return ERROR; } pc->fail_pop = resized; while (pc->fail_pop_size < size) { - basicblock *new_block; - RETURN_IF_FALSE(new_block = compiler_new_block(c)); + NEW_JUMP_TARGET_LABEL(c, new_block); pc->fail_pop[pc->fail_pop_size++] = new_block; } - return 1; + return SUCCESS; } // Use op to jump to the correct fail_pop block. static int -jump_to_fail_pop(struct compiler *c, pattern_context *pc, int op) +jump_to_fail_pop(struct compiler *c, location loc, + pattern_context *pc, int op) { // Pop any items on the top of the stack, plus any objects we were going to // capture on success: Py_ssize_t pops = pc->on_top + PyList_GET_SIZE(pc->stores); - RETURN_IF_FALSE(ensure_fail_pop(c, pc, pops)); - ADDOP_JUMP(c, op, pc->fail_pop[pops]); - return 1; + RETURN_IF_ERROR(ensure_fail_pop(c, pc, pops)); + ADDOP_JUMP(c, loc, op, pc->fail_pop[pops]); + return SUCCESS; } // Build all of the fail_pop blocks and reset fail_pop. static int -emit_and_reset_fail_pop(struct compiler *c, pattern_context *pc) +emit_and_reset_fail_pop(struct compiler *c, location loc, + pattern_context *pc) { if (!pc->fail_pop_size) { assert(pc->fail_pop == NULL); - return 1; + return SUCCESS; } while (--pc->fail_pop_size) { - compiler_use_next_block(c, pc->fail_pop[pc->fail_pop_size]); - if (!compiler_addop(c, POP_TOP)) { + USE_LABEL(c, pc->fail_pop[pc->fail_pop_size]); + if (codegen_addop_noarg(INSTR_SEQUENCE(c), POP_TOP, loc) < 0) { pc->fail_pop_size = 0; PyObject_Free(pc->fail_pop); pc->fail_pop = NULL; - return 0; + return ERROR; } } - compiler_use_next_block(c, pc->fail_pop[0]); + USE_LABEL(c, pc->fail_pop[0]); PyObject_Free(pc->fail_pop); pc->fail_pop = NULL; - return 1; + return SUCCESS; } static int -compiler_error_duplicate_store(struct compiler *c, identifier n) +compiler_error_duplicate_store(struct compiler *c, location loc, identifier n) { - return compiler_error(c, "multiple assignments to name %R in pattern", n); + return compiler_error(c, loc, + "multiple assignments to name %R in pattern", n); } // Duplicate the effect of 3.10's ROT_* instructions using SWAPs. static int -pattern_helper_rotate(struct compiler *c, Py_ssize_t count) +pattern_helper_rotate(struct compiler *c, location loc, Py_ssize_t count) { while (1 < count) { - ADDOP_I(c, SWAP, count--); + ADDOP_I(c, loc, SWAP, count--); } - return 1; + return SUCCESS; } static int -pattern_helper_store_name(struct compiler *c, identifier n, pattern_context *pc) +pattern_helper_store_name(struct compiler *c, location loc, + identifier n, pattern_context *pc) { if (n == NULL) { - ADDOP(c, POP_TOP); - return 1; + ADDOP(c, loc, POP_TOP); + return SUCCESS; } - if (forbidden_name(c, n, Store)) { - return 0; + if (forbidden_name(c, loc, n, Store)) { + return ERROR; } // Can't assign to the same name twice: int duplicate = PySequence_Contains(pc->stores, n); - if (duplicate < 0) { - return 0; - } + RETURN_IF_ERROR(duplicate); if (duplicate) { - return compiler_error_duplicate_store(c, n); + return compiler_error_duplicate_store(c, loc, n); } // Rotate this object underneath any items we need to preserve: Py_ssize_t rotations = pc->on_top + PyList_GET_SIZE(pc->stores) + 1; - RETURN_IF_FALSE(pattern_helper_rotate(c, rotations)); - return !PyList_Append(pc->stores, n); + RETURN_IF_ERROR(pattern_helper_rotate(c, loc, rotations)); + RETURN_IF_ERROR(PyList_Append(pc->stores, n)); + return SUCCESS; } static int -pattern_unpack_helper(struct compiler *c, asdl_pattern_seq *elts) +pattern_unpack_helper(struct compiler *c, location loc, + asdl_pattern_seq *elts) { Py_ssize_t n = asdl_seq_LEN(elts); int seen_star = 0; @@ -6417,29 +6665,31 @@ pattern_unpack_helper(struct compiler *c, asdl_pattern_seq *elts) pattern_ty elt = asdl_seq_GET(elts, i); if (elt->kind == MatchStar_kind && !seen_star) { if ((i >= (1 << 8)) || - (n-i-1 >= (INT_MAX >> 8))) - return compiler_error(c, + (n-i-1 >= (INT_MAX >> 8))) { + return compiler_error(c, loc, "too many expressions in " "star-unpacking sequence pattern"); - ADDOP_I(c, UNPACK_EX, (i + ((n-i-1) << 8))); + } + ADDOP_I(c, loc, UNPACK_EX, (i + ((n-i-1) << 8))); seen_star = 1; } else if (elt->kind == MatchStar_kind) { - return compiler_error(c, + return compiler_error(c, loc, "multiple starred expressions in sequence pattern"); } } if (!seen_star) { - ADDOP_I(c, UNPACK_SEQUENCE, n); + ADDOP_I(c, loc, UNPACK_SEQUENCE, n); } - return 1; + return SUCCESS; } static int -pattern_helper_sequence_unpack(struct compiler *c, asdl_pattern_seq *patterns, - Py_ssize_t star, pattern_context *pc) +pattern_helper_sequence_unpack(struct compiler *c, location loc, + asdl_pattern_seq *patterns, Py_ssize_t star, + pattern_context *pc) { - RETURN_IF_FALSE(pattern_unpack_helper(c, patterns)); + RETURN_IF_ERROR(pattern_unpack_helper(c, loc, patterns)); Py_ssize_t size = asdl_seq_LEN(patterns); // We've now got a bunch of new subjects on the stack. They need to remain // there after each subpattern match: @@ -6448,17 +6698,18 @@ pattern_helper_sequence_unpack(struct compiler *c, asdl_pattern_seq *patterns, // One less item to keep track of each time we loop through: pc->on_top--; pattern_ty pattern = asdl_seq_GET(patterns, i); - RETURN_IF_FALSE(compiler_pattern_subpattern(c, pattern, pc)); + RETURN_IF_ERROR(compiler_pattern_subpattern(c, pattern, pc)); } - return 1; + return SUCCESS; } // Like pattern_helper_sequence_unpack, but uses BINARY_SUBSCR instead of // UNPACK_SEQUENCE / UNPACK_EX. This is more efficient for patterns with a // starred wildcard like [first, *_] / [first, *_, last] / [*_, last] / etc. static int -pattern_helper_sequence_subscr(struct compiler *c, asdl_pattern_seq *patterns, - Py_ssize_t star, pattern_context *pc) +pattern_helper_sequence_subscr(struct compiler *c, location loc, + asdl_pattern_seq *patterns, Py_ssize_t star, + pattern_context *pc) { // We need to keep the subject around for extracting elements: pc->on_top++; @@ -6472,35 +6723,36 @@ pattern_helper_sequence_subscr(struct compiler *c, asdl_pattern_seq *patterns, assert(WILDCARD_STAR_CHECK(pattern)); continue; } - ADDOP_I(c, COPY, 1); + ADDOP_I(c, loc, COPY, 1); if (i < star) { - ADDOP_LOAD_CONST_NEW(c, PyLong_FromSsize_t(i)); + ADDOP_LOAD_CONST_NEW(c, loc, PyLong_FromSsize_t(i)); } else { // The subject may not support negative indexing! Compute a // nonnegative index: - ADDOP(c, GET_LEN); - ADDOP_LOAD_CONST_NEW(c, PyLong_FromSsize_t(size - i)); - ADDOP_BINARY(c, Sub); + ADDOP(c, loc, GET_LEN); + ADDOP_LOAD_CONST_NEW(c, loc, PyLong_FromSsize_t(size - i)); + ADDOP_BINARY(c, loc, Sub); } - ADDOP(c, BINARY_SUBSCR); - RETURN_IF_FALSE(compiler_pattern_subpattern(c, pattern, pc)); + ADDOP(c, loc, BINARY_SUBSCR); + RETURN_IF_ERROR(compiler_pattern_subpattern(c, pattern, pc)); } // Pop the subject, we're done with it: pc->on_top--; - ADDOP(c, POP_TOP); - return 1; + ADDOP(c, loc, POP_TOP); + return SUCCESS; } // Like compiler_pattern, but turn off checks for irrefutability. static int -compiler_pattern_subpattern(struct compiler *c, pattern_ty p, pattern_context *pc) +compiler_pattern_subpattern(struct compiler *c, + pattern_ty p, pattern_context *pc) { int allow_irrefutable = pc->allow_irrefutable; pc->allow_irrefutable = 1; - RETURN_IF_FALSE(compiler_pattern(c, p, pc)); + RETURN_IF_ERROR(compiler_pattern(c, p, pc)); pc->allow_irrefutable = allow_irrefutable; - return 1; + return SUCCESS; } static int @@ -6512,29 +6764,30 @@ compiler_pattern_as(struct compiler *c, pattern_ty p, pattern_context *pc) if (!pc->allow_irrefutable) { if (p->v.MatchAs.name) { const char *e = "name capture %R makes remaining patterns unreachable"; - return compiler_error(c, e, p->v.MatchAs.name); + return compiler_error(c, LOC(p), e, p->v.MatchAs.name); } const char *e = "wildcard makes remaining patterns unreachable"; - return compiler_error(c, e); + return compiler_error(c, LOC(p), e); } - return pattern_helper_store_name(c, p->v.MatchAs.name, pc); + return pattern_helper_store_name(c, LOC(p), p->v.MatchAs.name, pc); } // Need to make a copy for (possibly) storing later: pc->on_top++; - ADDOP_I(c, COPY, 1); - RETURN_IF_FALSE(compiler_pattern(c, p->v.MatchAs.pattern, pc)); + ADDOP_I(c, LOC(p), COPY, 1); + RETURN_IF_ERROR(compiler_pattern(c, p->v.MatchAs.pattern, pc)); // Success! Store it: pc->on_top--; - RETURN_IF_FALSE(pattern_helper_store_name(c, p->v.MatchAs.name, pc)); - return 1; + RETURN_IF_ERROR(pattern_helper_store_name(c, LOC(p), p->v.MatchAs.name, pc)); + return SUCCESS; } static int compiler_pattern_star(struct compiler *c, pattern_ty p, pattern_context *pc) { assert(p->kind == MatchStar_kind); - RETURN_IF_FALSE(pattern_helper_store_name(c, p->v.MatchStar.name, pc)); - return 1; + RETURN_IF_ERROR( + pattern_helper_store_name(c, LOC(p), p->v.MatchStar.name, pc)); + return SUCCESS; } static int @@ -6545,20 +6798,20 @@ validate_kwd_attrs(struct compiler *c, asdl_identifier_seq *attrs, asdl_pattern_ Py_ssize_t nattrs = asdl_seq_LEN(attrs); for (Py_ssize_t i = 0; i < nattrs; i++) { identifier attr = ((identifier)asdl_seq_GET(attrs, i)); - SET_LOC(c, ((pattern_ty) asdl_seq_GET(patterns, i))); - if (forbidden_name(c, attr, Store)) { - return -1; + location loc = LOC((pattern_ty) asdl_seq_GET(patterns, i)); + if (forbidden_name(c, loc, attr, Store)) { + return ERROR; } for (Py_ssize_t j = i + 1; j < nattrs; j++) { identifier other = ((identifier)asdl_seq_GET(attrs, j)); if (!PyUnicode_Compare(attr, other)) { - SET_LOC(c, ((pattern_ty) asdl_seq_GET(patterns, j))); - compiler_error(c, "attribute name repeated in class pattern: %U", attr); - return -1; + location loc = LOC((pattern_ty) asdl_seq_GET(patterns, j)); + compiler_error(c, loc, "attribute name repeated in class pattern: %U", attr); + return ERROR; } } } - return 0; + return SUCCESS; } static int @@ -6575,34 +6828,34 @@ compiler_pattern_class(struct compiler *c, pattern_ty p, pattern_context *pc) // AST validator shouldn't let this happen, but if it does, // just fail, don't crash out of the interpreter const char * e = "kwd_attrs (%d) / kwd_patterns (%d) length mismatch in class pattern"; - return compiler_error(c, e, nattrs, nkwd_patterns); + return compiler_error(c, LOC(p), e, nattrs, nkwd_patterns); } if (INT_MAX < nargs || INT_MAX < nargs + nattrs - 1) { const char *e = "too many sub-patterns in class pattern %R"; - return compiler_error(c, e, p->v.MatchClass.cls); + return compiler_error(c, LOC(p), e, p->v.MatchClass.cls); } if (nattrs) { - RETURN_IF_FALSE(!validate_kwd_attrs(c, kwd_attrs, kwd_patterns)); - SET_LOC(c, p); + RETURN_IF_ERROR(validate_kwd_attrs(c, kwd_attrs, kwd_patterns)); } VISIT(c, expr, p->v.MatchClass.cls); - PyObject *attr_names; - RETURN_IF_FALSE(attr_names = PyTuple_New(nattrs)); + PyObject *attr_names = PyTuple_New(nattrs); + if (attr_names == NULL) { + return ERROR; + } Py_ssize_t i; for (i = 0; i < nattrs; i++) { PyObject *name = asdl_seq_GET(kwd_attrs, i); - Py_INCREF(name); - PyTuple_SET_ITEM(attr_names, i, name); - } - ADDOP_LOAD_CONST_NEW(c, attr_names); - ADDOP_I(c, MATCH_CLASS, nargs); - ADDOP_I(c, COPY, 1); - ADDOP_LOAD_CONST(c, Py_None); - ADDOP_I(c, IS_OP, 1); + PyTuple_SET_ITEM(attr_names, i, Py_NewRef(name)); + } + ADDOP_LOAD_CONST_NEW(c, LOC(p), attr_names); + ADDOP_I(c, LOC(p), MATCH_CLASS, nargs); + ADDOP_I(c, LOC(p), COPY, 1); + ADDOP_LOAD_CONST(c, LOC(p), Py_None); + ADDOP_I(c, LOC(p), IS_OP, 1); // TOS is now a tuple of (nargs + nattrs) attributes (or None): pc->on_top++; - RETURN_IF_FALSE(jump_to_fail_pop(c, pc, POP_JUMP_IF_FALSE)); - ADDOP_I(c, UNPACK_SEQUENCE, nargs + nattrs); + RETURN_IF_ERROR(jump_to_fail_pop(c, LOC(p), pc, POP_JUMP_IF_FALSE)); + ADDOP_I(c, LOC(p), UNPACK_SEQUENCE, nargs + nattrs); pc->on_top += nargs + nattrs - 1; for (i = 0; i < nargs + nattrs; i++) { pc->on_top--; @@ -6616,17 +6869,18 @@ compiler_pattern_class(struct compiler *c, pattern_ty p, pattern_context *pc) pattern = asdl_seq_GET(kwd_patterns, i - nargs); } if (WILDCARD_CHECK(pattern)) { - ADDOP(c, POP_TOP); + ADDOP(c, LOC(p), POP_TOP); continue; } - RETURN_IF_FALSE(compiler_pattern_subpattern(c, pattern, pc)); + RETURN_IF_ERROR(compiler_pattern_subpattern(c, pattern, pc)); } // Success! Pop the tuple of attributes: - return 1; + return SUCCESS; } static int -compiler_pattern_mapping(struct compiler *c, pattern_ty p, pattern_context *pc) +compiler_pattern_mapping(struct compiler *c, pattern_ty p, + pattern_context *pc) { assert(p->kind == MatchMapping_kind); asdl_expr_seq *keys = p->v.MatchMapping.keys; @@ -6637,29 +6891,29 @@ compiler_pattern_mapping(struct compiler *c, pattern_ty p, pattern_context *pc) // AST validator shouldn't let this happen, but if it does, // just fail, don't crash out of the interpreter const char * e = "keys (%d) / patterns (%d) length mismatch in mapping pattern"; - return compiler_error(c, e, size, npatterns); + return compiler_error(c, LOC(p), e, size, npatterns); } // We have a double-star target if "rest" is set PyObject *star_target = p->v.MatchMapping.rest; // We need to keep the subject on top during the mapping and length checks: pc->on_top++; - ADDOP(c, MATCH_MAPPING); - RETURN_IF_FALSE(jump_to_fail_pop(c, pc, POP_JUMP_IF_FALSE)); + ADDOP(c, LOC(p), MATCH_MAPPING); + RETURN_IF_ERROR(jump_to_fail_pop(c, LOC(p), pc, POP_JUMP_IF_FALSE)); if (!size && !star_target) { // If the pattern is just "{}", we're done! Pop the subject: pc->on_top--; - ADDOP(c, POP_TOP); - return 1; + ADDOP(c, LOC(p), POP_TOP); + return SUCCESS; } if (size) { // If the pattern has any keys in it, perform a length check: - ADDOP(c, GET_LEN); - ADDOP_LOAD_CONST_NEW(c, PyLong_FromSsize_t(size)); - ADDOP_COMPARE(c, GtE); - RETURN_IF_FALSE(jump_to_fail_pop(c, pc, POP_JUMP_IF_FALSE)); + ADDOP(c, LOC(p), GET_LEN); + ADDOP_LOAD_CONST_NEW(c, LOC(p), PyLong_FromSsize_t(size)); + ADDOP_COMPARE(c, LOC(p), GtE); + RETURN_IF_ERROR(jump_to_fail_pop(c, LOC(p), pc, POP_JUMP_IF_FALSE)); } if (INT_MAX < size - 1) { - return compiler_error(c, "too many sub-patterns in mapping pattern"); + return compiler_error(c, LOC(p), "too many sub-patterns in mapping pattern"); } // Collect all of the keys into a tuple for MATCH_KEYS and // **rest. They can either be dotted names or literals: @@ -6668,7 +6922,7 @@ compiler_pattern_mapping(struct compiler *c, pattern_ty p, pattern_context *pc) // SyntaxError in the case of duplicates. PyObject *seen = PySet_New(NULL); if (seen == NULL) { - return 0; + return ERROR; } // NOTE: goto error on failure in the loop below to avoid leaking `seen` @@ -6677,8 +6931,8 @@ compiler_pattern_mapping(struct compiler *c, pattern_ty p, pattern_context *pc) if (key == NULL) { const char *e = "can't use NULL keys in MatchMapping " "(set 'rest' parameter instead)"; - SET_LOC(c, ((pattern_ty) asdl_seq_GET(patterns, i))); - compiler_error(c, e); + location loc = LOC((pattern_ty) asdl_seq_GET(patterns, i)); + compiler_error(c, loc, e); goto error; } @@ -6689,7 +6943,7 @@ compiler_pattern_mapping(struct compiler *c, pattern_ty p, pattern_context *pc) } if (in_seen) { const char *e = "mapping pattern checks duplicate key (%R)"; - compiler_error(c, e, key->v.Constant.value); + compiler_error(c, LOC(p), e, key->v.Constant.value); goto error; } if (PySet_Add(seen, key->v.Constant.value)) { @@ -6699,10 +6953,10 @@ compiler_pattern_mapping(struct compiler *c, pattern_ty p, pattern_context *pc) else if (key->kind != Attribute_kind) { const char *e = "mapping pattern keys may only match literals and attribute lookups"; - compiler_error(c, e); + compiler_error(c, LOC(p), e); goto error; } - if (!compiler_visit_expr(c, key)) { + if (compiler_visit_expr(c, key) < 0) { goto error; } } @@ -6710,22 +6964,22 @@ compiler_pattern_mapping(struct compiler *c, pattern_ty p, pattern_context *pc) // all keys have been checked; there are no duplicates Py_DECREF(seen); - ADDOP_I(c, BUILD_TUPLE, size); - ADDOP(c, MATCH_KEYS); + ADDOP_I(c, LOC(p), BUILD_TUPLE, size); + ADDOP(c, LOC(p), MATCH_KEYS); // There's now a tuple of keys and a tuple of values on top of the subject: pc->on_top += 2; - ADDOP_I(c, COPY, 1); - ADDOP_LOAD_CONST(c, Py_None); - ADDOP_I(c, IS_OP, 1); - RETURN_IF_FALSE(jump_to_fail_pop(c, pc, POP_JUMP_IF_FALSE)); + ADDOP_I(c, LOC(p), COPY, 1); + ADDOP_LOAD_CONST(c, LOC(p), Py_None); + ADDOP_I(c, LOC(p), IS_OP, 1); + RETURN_IF_ERROR(jump_to_fail_pop(c, LOC(p), pc, POP_JUMP_IF_FALSE)); // So far so good. Use that tuple of values on the stack to match // sub-patterns against: - ADDOP_I(c, UNPACK_SEQUENCE, size); + ADDOP_I(c, LOC(p), UNPACK_SEQUENCE, size); pc->on_top += size - 1; for (Py_ssize_t i = 0; i < size; i++) { pc->on_top--; pattern_ty pattern = asdl_seq_GET(patterns, i); - RETURN_IF_FALSE(compiler_pattern_subpattern(c, pattern, pc)); + RETURN_IF_ERROR(compiler_pattern_subpattern(c, pattern, pc)); } // If we get this far, it's a match! Whatever happens next should consume // the tuple of keys and the subject: @@ -6737,34 +6991,33 @@ compiler_pattern_mapping(struct compiler *c, pattern_ty p, pattern_context *pc) // rest = dict(TOS1) // for key in TOS: // del rest[key] - ADDOP_I(c, BUILD_MAP, 0); // [subject, keys, empty] - ADDOP_I(c, SWAP, 3); // [empty, keys, subject] - ADDOP_I(c, DICT_UPDATE, 2); // [copy, keys] - ADDOP_I(c, UNPACK_SEQUENCE, size); // [copy, keys...] + ADDOP_I(c, LOC(p), BUILD_MAP, 0); // [subject, keys, empty] + ADDOP_I(c, LOC(p), SWAP, 3); // [empty, keys, subject] + ADDOP_I(c, LOC(p), DICT_UPDATE, 2); // [copy, keys] + ADDOP_I(c, LOC(p), UNPACK_SEQUENCE, size); // [copy, keys...] while (size) { - ADDOP_I(c, COPY, 1 + size--); // [copy, keys..., copy] - ADDOP_I(c, SWAP, 2); // [copy, keys..., copy, key] - ADDOP(c, DELETE_SUBSCR); // [copy, keys...] + ADDOP_I(c, LOC(p), COPY, 1 + size--); // [copy, keys..., copy] + ADDOP_I(c, LOC(p), SWAP, 2); // [copy, keys..., copy, key] + ADDOP(c, LOC(p), DELETE_SUBSCR); // [copy, keys...] } - RETURN_IF_FALSE(pattern_helper_store_name(c, star_target, pc)); + RETURN_IF_ERROR(pattern_helper_store_name(c, LOC(p), star_target, pc)); } else { - ADDOP(c, POP_TOP); // Tuple of keys. - ADDOP(c, POP_TOP); // Subject. + ADDOP(c, LOC(p), POP_TOP); // Tuple of keys. + ADDOP(c, LOC(p), POP_TOP); // Subject. } - return 1; + return SUCCESS; error: Py_DECREF(seen); - return 0; + return ERROR; } static int compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc) { assert(p->kind == MatchOr_kind); - basicblock *end; - RETURN_IF_FALSE(end = compiler_new_block(c)); + NEW_JUMP_TARGET_LABEL(c, end); Py_ssize_t size = asdl_seq_LEN(p->v.MatchOr.patterns); assert(size > 1); // We're going to be messing with pc. Keep the original info handy: @@ -6777,7 +7030,6 @@ compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc) // NOTE: We can't use returning macros anymore! goto error on error. for (Py_ssize_t i = 0; i < size; i++) { pattern_ty alt = asdl_seq_GET(p->v.MatchOr.patterns, i); - SET_LOC(c, alt); PyObject *pc_stores = PyList_New(0); if (pc_stores == NULL) { goto error; @@ -6788,7 +7040,8 @@ compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc) pc->fail_pop = NULL; pc->fail_pop_size = 0; pc->on_top = 0; - if (!compiler_addop_i(c, COPY, 1) || !compiler_pattern(c, alt, pc)) { + if (codegen_addop_i(INSTR_SEQUENCE(c), COPY, 1, LOC(alt)) < 0 || + compiler_pattern(c, alt, pc) < 0) { goto error; } // Success! @@ -6798,8 +7051,7 @@ compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc) // for the others (they can't bind a different set of names, and // might need to be reordered): assert(control == NULL); - control = pc->stores; - Py_INCREF(control); + control = Py_NewRef(pc->stores); } else if (nstores != PyList_GET_SIZE(control)) { goto diff; @@ -6843,7 +7095,7 @@ compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc) // Do the same thing to the stack, using several // rotations: while (rotations--) { - if (!pattern_helper_rotate(c, icontrol + 1)){ + if (pattern_helper_rotate(c, LOC(alt), icontrol + 1) < 0) { goto error; } } @@ -6851,8 +7103,8 @@ compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc) } } assert(control); - if (!compiler_addop_j(c, JUMP, end) || - !emit_and_reset_fail_pop(c, pc)) + if (codegen_addop_j(INSTR_SEQUENCE(c), LOC(alt), JUMP, end) < 0 || + emit_and_reset_fail_pop(c, LOC(alt), pc) < 0) { goto error; } @@ -6863,10 +7115,12 @@ compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc) // Need to NULL this for the PyObject_Free call in the error block. old_pc.fail_pop = NULL; // No match. Pop the remaining copy of the subject and fail: - if (!compiler_addop(c, POP_TOP) || !jump_to_fail_pop(c, pc, JUMP)) { + if (codegen_addop_noarg(INSTR_SEQUENCE(c), POP_TOP, LOC(p)) < 0 || + jump_to_fail_pop(c, LOC(p), pc, JUMP) < 0) { goto error; } - compiler_use_next_block(c, end); + + USE_LABEL(c, end); Py_ssize_t nstores = PyList_GET_SIZE(control); // There's a bunch of stuff on the stack between where the new stores // are and where they need to be: @@ -6877,7 +7131,7 @@ compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc) Py_ssize_t nrots = nstores + 1 + pc->on_top + PyList_GET_SIZE(pc->stores); for (Py_ssize_t i = 0; i < nstores; i++) { // Rotate this capture to its proper place on the stack: - if (!pattern_helper_rotate(c, nrots)) { + if (pattern_helper_rotate(c, LOC(p), nrots) < 0) { goto error; } // Update the list of previous stores with this new name, checking for @@ -6888,7 +7142,7 @@ compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc) goto error; } if (dupe) { - compiler_error_duplicate_store(c, name); + compiler_error_duplicate_store(c, LOC(p), name); goto error; } if (PyList_Append(pc->stores, name)) { @@ -6899,20 +7153,21 @@ compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc) Py_DECREF(control); // NOTE: Returning macros are safe again. // Pop the copy of the subject: - ADDOP(c, POP_TOP); - return 1; + ADDOP(c, LOC(p), POP_TOP); + return SUCCESS; diff: - compiler_error(c, "alternative patterns bind different names"); + compiler_error(c, LOC(p), "alternative patterns bind different names"); error: PyObject_Free(old_pc.fail_pop); Py_DECREF(old_pc.stores); Py_XDECREF(control); - return 0; + return ERROR; } static int -compiler_pattern_sequence(struct compiler *c, pattern_ty p, pattern_context *pc) +compiler_pattern_sequence(struct compiler *c, pattern_ty p, + pattern_context *pc) { assert(p->kind == MatchSequence_kind); asdl_pattern_seq *patterns = p->v.MatchSequence.patterns; @@ -6926,7 +7181,7 @@ compiler_pattern_sequence(struct compiler *c, pattern_ty p, pattern_context *pc) if (pattern->kind == MatchStar_kind) { if (star >= 0) { const char *e = "multiple starred names in sequence pattern"; - return compiler_error(c, e); + return compiler_error(c, LOC(p), e); } star_wildcard = WILDCARD_STAR_CHECK(pattern); only_wildcard &= star_wildcard; @@ -6937,35 +7192,35 @@ compiler_pattern_sequence(struct compiler *c, pattern_ty p, pattern_context *pc) } // We need to keep the subject on top during the sequence and length checks: pc->on_top++; - ADDOP(c, MATCH_SEQUENCE); - RETURN_IF_FALSE(jump_to_fail_pop(c, pc, POP_JUMP_IF_FALSE)); + ADDOP(c, LOC(p), MATCH_SEQUENCE); + RETURN_IF_ERROR(jump_to_fail_pop(c, LOC(p), pc, POP_JUMP_IF_FALSE)); if (star < 0) { // No star: len(subject) == size - ADDOP(c, GET_LEN); - ADDOP_LOAD_CONST_NEW(c, PyLong_FromSsize_t(size)); - ADDOP_COMPARE(c, Eq); - RETURN_IF_FALSE(jump_to_fail_pop(c, pc, POP_JUMP_IF_FALSE)); + ADDOP(c, LOC(p), GET_LEN); + ADDOP_LOAD_CONST_NEW(c, LOC(p), PyLong_FromSsize_t(size)); + ADDOP_COMPARE(c, LOC(p), Eq); + RETURN_IF_ERROR(jump_to_fail_pop(c, LOC(p), pc, POP_JUMP_IF_FALSE)); } else if (size > 1) { // Star: len(subject) >= size - 1 - ADDOP(c, GET_LEN); - ADDOP_LOAD_CONST_NEW(c, PyLong_FromSsize_t(size - 1)); - ADDOP_COMPARE(c, GtE); - RETURN_IF_FALSE(jump_to_fail_pop(c, pc, POP_JUMP_IF_FALSE)); + ADDOP(c, LOC(p), GET_LEN); + ADDOP_LOAD_CONST_NEW(c, LOC(p), PyLong_FromSsize_t(size - 1)); + ADDOP_COMPARE(c, LOC(p), GtE); + RETURN_IF_ERROR(jump_to_fail_pop(c, LOC(p), pc, POP_JUMP_IF_FALSE)); } // Whatever comes next should consume the subject: pc->on_top--; if (only_wildcard) { // Patterns like: [] / [_] / [_, _] / [*_] / [_, *_] / [_, _, *_] / etc. - ADDOP(c, POP_TOP); + ADDOP(c, LOC(p), POP_TOP); } else if (star_wildcard) { - RETURN_IF_FALSE(pattern_helper_sequence_subscr(c, patterns, star, pc)); + RETURN_IF_ERROR(pattern_helper_sequence_subscr(c, LOC(p), patterns, star, pc)); } else { - RETURN_IF_FALSE(pattern_helper_sequence_unpack(c, patterns, star, pc)); + RETURN_IF_ERROR(pattern_helper_sequence_unpack(c, LOC(p), patterns, star, pc)); } - return 1; + return SUCCESS; } static int @@ -6975,28 +7230,27 @@ compiler_pattern_value(struct compiler *c, pattern_ty p, pattern_context *pc) expr_ty value = p->v.MatchValue.value; if (!MATCH_VALUE_EXPR(value)) { const char *e = "patterns may only match literals and attribute lookups"; - return compiler_error(c, e); + return compiler_error(c, LOC(p), e); } VISIT(c, expr, value); - ADDOP_COMPARE(c, Eq); - RETURN_IF_FALSE(jump_to_fail_pop(c, pc, POP_JUMP_IF_FALSE)); - return 1; + ADDOP_COMPARE(c, LOC(p), Eq); + RETURN_IF_ERROR(jump_to_fail_pop(c, LOC(p), pc, POP_JUMP_IF_FALSE)); + return SUCCESS; } static int compiler_pattern_singleton(struct compiler *c, pattern_ty p, pattern_context *pc) { assert(p->kind == MatchSingleton_kind); - ADDOP_LOAD_CONST(c, p->v.MatchSingleton.value); - ADDOP_COMPARE(c, Is); - RETURN_IF_FALSE(jump_to_fail_pop(c, pc, POP_JUMP_IF_FALSE)); - return 1; + ADDOP_LOAD_CONST(c, LOC(p), p->v.MatchSingleton.value); + ADDOP_COMPARE(c, LOC(p), Is); + RETURN_IF_ERROR(jump_to_fail_pop(c, LOC(p), pc, POP_JUMP_IF_FALSE)); + return SUCCESS; } static int compiler_pattern(struct compiler *c, pattern_ty p, pattern_context *pc) { - SET_LOC(c, p); switch (p->kind) { case MatchValue_kind: return compiler_pattern_value(c, p, pc); @@ -7018,87 +7272,84 @@ compiler_pattern(struct compiler *c, pattern_ty p, pattern_context *pc) // AST validator shouldn't let this happen, but if it does, // just fail, don't crash out of the interpreter const char *e = "invalid match pattern node in AST (kind=%d)"; - return compiler_error(c, e, p->kind); + return compiler_error(c, LOC(p), e, p->kind); } static int compiler_match_inner(struct compiler *c, stmt_ty s, pattern_context *pc) { VISIT(c, expr, s->v.Match.subject); - basicblock *end; - RETURN_IF_FALSE(end = compiler_new_block(c)); + NEW_JUMP_TARGET_LABEL(c, end); Py_ssize_t cases = asdl_seq_LEN(s->v.Match.cases); assert(cases > 0); match_case_ty m = asdl_seq_GET(s->v.Match.cases, cases - 1); int has_default = WILDCARD_CHECK(m->pattern) && 1 < cases; for (Py_ssize_t i = 0; i < cases - has_default; i++) { m = asdl_seq_GET(s->v.Match.cases, i); - SET_LOC(c, m->pattern); // Only copy the subject if we're *not* on the last case: if (i != cases - has_default - 1) { - ADDOP_I(c, COPY, 1); + ADDOP_I(c, LOC(m->pattern), COPY, 1); + } + pc->stores = PyList_New(0); + if (pc->stores == NULL) { + return ERROR; } - RETURN_IF_FALSE(pc->stores = PyList_New(0)); // Irrefutable cases must be either guarded, last, or both: pc->allow_irrefutable = m->guard != NULL || i == cases - 1; pc->fail_pop = NULL; pc->fail_pop_size = 0; pc->on_top = 0; // NOTE: Can't use returning macros here (they'll leak pc->stores)! - if (!compiler_pattern(c, m->pattern, pc)) { + if (compiler_pattern(c, m->pattern, pc) < 0) { Py_DECREF(pc->stores); - return 0; + return ERROR; } assert(!pc->on_top); // It's a match! Store all of the captured names (they're on the stack). Py_ssize_t nstores = PyList_GET_SIZE(pc->stores); for (Py_ssize_t n = 0; n < nstores; n++) { PyObject *name = PyList_GET_ITEM(pc->stores, n); - if (!compiler_nameop(c, name, Store)) { + if (compiler_nameop(c, LOC(m->pattern), name, Store) < 0) { Py_DECREF(pc->stores); - return 0; + return ERROR; } } Py_DECREF(pc->stores); // NOTE: Returning macros are safe again. if (m->guard) { - RETURN_IF_FALSE(ensure_fail_pop(c, pc, 0)); - RETURN_IF_FALSE(compiler_jump_if(c, m->guard, pc->fail_pop[0], 0)); + RETURN_IF_ERROR(ensure_fail_pop(c, pc, 0)); + RETURN_IF_ERROR(compiler_jump_if(c, LOC(m->pattern), m->guard, pc->fail_pop[0], 0)); } // Success! Pop the subject off, we're done with it: if (i != cases - has_default - 1) { - ADDOP(c, POP_TOP); + ADDOP(c, LOC(m->pattern), POP_TOP); } VISIT_SEQ(c, stmt, m->body); - UNSET_LOC(c); - ADDOP_JUMP(c, JUMP, end); + ADDOP_JUMP(c, NO_LOCATION, JUMP, end); // If the pattern fails to match, we want the line number of the // cleanup to be associated with the failed pattern, not the last line // of the body - SET_LOC(c, m->pattern); - RETURN_IF_FALSE(emit_and_reset_fail_pop(c, pc)); + RETURN_IF_ERROR(emit_and_reset_fail_pop(c, LOC(m->pattern), pc)); } if (has_default) { // A trailing "case _" is common, and lets us save a bit of redundant // pushing and popping in the loop above: m = asdl_seq_GET(s->v.Match.cases, cases - 1); - SET_LOC(c, m->pattern); if (cases == 1) { // No matches. Done with the subject: - ADDOP(c, POP_TOP); + ADDOP(c, LOC(m->pattern), POP_TOP); } else { // Show line coverage for default case (it doesn't create bytecode) - ADDOP(c, NOP); + ADDOP(c, LOC(m->pattern), NOP); } if (m->guard) { - RETURN_IF_FALSE(compiler_jump_if(c, m->guard, end, 0)); + RETURN_IF_ERROR(compiler_jump_if(c, LOC(m->pattern), m->guard, end, 0)); } VISIT_SEQ(c, stmt, m->body); - UNSET_LOC(c); } - compiler_use_next_block(c, end); - return 1; + USE_LABEL(c, end); + return SUCCESS; } static int @@ -7114,2343 +7365,780 @@ compiler_match(struct compiler *c, stmt_ty s) #undef WILDCARD_CHECK #undef WILDCARD_STAR_CHECK -/* End of the compiler section, beginning of the assembler section */ - -/* do depth-first search of basic block graph, starting with block. - post records the block indices in post-order. - - XXX must handle implicit jumps from one block to next -*/ - - -struct assembler { - PyObject *a_bytecode; /* bytes containing bytecode */ - PyObject *a_except_table; /* bytes containing exception table */ - basicblock *a_entry; - int a_offset; /* offset into bytecode */ - int a_nblocks; /* number of reachable blocks */ - int a_except_table_off; /* offset into exception table */ - int a_prevlineno; /* lineno of last emitted line in line table */ - int a_prev_end_lineno; /* end_lineno of last emitted line in line table */ - int a_lineno; /* lineno of last emitted instruction */ - int a_end_lineno; /* end_lineno of last emitted instruction */ - int a_lineno_start; /* bytecode start offset of current lineno */ - int a_end_lineno_start; /* bytecode start offset of current end_lineno */ - /* Location Info */ - PyObject* a_linetable; /* bytes containing location info */ - int a_location_off; /* offset of last written location info frame */ -}; - -Py_LOCAL_INLINE(void) -stackdepth_push(basicblock ***sp, basicblock *b, int depth) -{ - assert(b->b_startdepth < 0 || b->b_startdepth == depth); - if (b->b_startdepth < depth && b->b_startdepth < 100) { - assert(b->b_startdepth < 0); - b->b_startdepth = depth; - *(*sp)++ = b; - } -} - -/* Find the flow path that needs the largest stack. We assume that - * cycles in the flow graph have no net effect on the stack depth. - */ -static int -stackdepth(struct compiler *c) +static PyObject * +consts_dict_keys_inorder(PyObject *dict) { - basicblock *b, *entryblock = NULL; - basicblock **stack, **sp; - int nblocks = 0, maxdepth = 0; - for (b = c->u->u_blocks; b != NULL; b = b->b_list) { - b->b_startdepth = INT_MIN; - entryblock = b; - nblocks++; - } - assert(entryblock!= NULL); - stack = (basicblock **)PyObject_Malloc(sizeof(basicblock *) * nblocks); - if (!stack) { - PyErr_NoMemory(); - return -1; - } + PyObject *consts, *k, *v; + Py_ssize_t i, pos = 0, size = PyDict_GET_SIZE(dict); - sp = stack; - if (c->u->u_ste->ste_generator || c->u->u_ste->ste_coroutine) { - stackdepth_push(&sp, entryblock, 1); - } else { - stackdepth_push(&sp, entryblock, 0); - } - while (sp != stack) { - b = *--sp; - int depth = b->b_startdepth; - assert(depth >= 0); - basicblock *next = b->b_next; - for (int i = 0; i < b->b_iused; i++) { - struct instr *instr = &b->b_instr[i]; - int effect = stack_effect(instr->i_opcode, instr->i_oparg, 0); - if (effect == PY_INVALID_STACK_EFFECT) { - PyErr_Format(PyExc_SystemError, - "compiler stack_effect(opcode=%d, arg=%i) failed", - instr->i_opcode, instr->i_oparg); - return -1; - } - int new_depth = depth + effect; - if (new_depth > maxdepth) { - maxdepth = new_depth; - } - assert(depth >= 0); /* invalid code or bug in stackdepth() */ - if (is_jump(instr) || is_block_push(instr)) { - effect = stack_effect(instr->i_opcode, instr->i_oparg, 1); - assert(effect != PY_INVALID_STACK_EFFECT); - int target_depth = depth + effect; - if (target_depth > maxdepth) { - maxdepth = target_depth; - } - assert(target_depth >= 0); /* invalid code or bug in stackdepth() */ - stackdepth_push(&sp, instr->i_target, target_depth); - } - depth = new_depth; - assert(!IS_ASSEMBLER_OPCODE(instr->i_opcode)); - if (instr->i_opcode == JUMP_NO_INTERRUPT || - instr->i_opcode == JUMP || - instr->i_opcode == RETURN_VALUE || - instr->i_opcode == RAISE_VARARGS || - instr->i_opcode == RERAISE) - { - /* remaining code is dead */ - next = NULL; - break; - } - } - if (next != NULL) { - assert(b->b_nofallthrough == 0); - stackdepth_push(&sp, next, depth); + consts = PyList_New(size); /* PyCode_Optimize() requires a list */ + if (consts == NULL) + return NULL; + while (PyDict_Next(dict, &pos, &k, &v)) { + i = PyLong_AS_LONG(v); + /* The keys of the dictionary can be tuples wrapping a constant. + * (see dict_add_o and _PyCode_ConstantKey). In that case + * the object we want is always second. */ + if (PyTuple_CheckExact(k)) { + k = PyTuple_GET_ITEM(k, 1); } + assert(i < size); + assert(i >= 0); + PyList_SET_ITEM(consts, i, Py_NewRef(k)); } - PyObject_Free(stack); - return maxdepth; + return consts; } static int -assemble_init(struct assembler *a, int nblocks, int firstlineno) +compute_code_flags(struct compiler *c) { - memset(a, 0, sizeof(struct assembler)); - a->a_prevlineno = a->a_lineno = firstlineno; - a->a_prev_end_lineno = a->a_end_lineno = firstlineno; - a->a_linetable = NULL; - a->a_location_off = 0; - a->a_except_table = NULL; - a->a_bytecode = PyBytes_FromStringAndSize(NULL, DEFAULT_CODE_SIZE); - if (a->a_bytecode == NULL) { - goto error; - } - a->a_linetable = PyBytes_FromStringAndSize(NULL, DEFAULT_CNOTAB_SIZE); - if (a->a_linetable == NULL) { - goto error; - } - a->a_except_table = PyBytes_FromStringAndSize(NULL, DEFAULT_LNOTAB_SIZE); - if (a->a_except_table == NULL) { - goto error; + PySTEntryObject *ste = c->u->u_ste; + int flags = 0; + if (_PyST_IsFunctionLike(c->u->u_ste)) { + flags |= CO_NEWLOCALS | CO_OPTIMIZED; + if (ste->ste_nested) + flags |= CO_NESTED; + if (ste->ste_generator && !ste->ste_coroutine) + flags |= CO_GENERATOR; + if (!ste->ste_generator && ste->ste_coroutine) + flags |= CO_COROUTINE; + if (ste->ste_generator && ste->ste_coroutine) + flags |= CO_ASYNC_GENERATOR; + if (ste->ste_varargs) + flags |= CO_VARARGS; + if (ste->ste_varkeywords) + flags |= CO_VARKEYWORDS; } - if ((size_t)nblocks > SIZE_MAX / sizeof(basicblock *)) { - PyErr_NoMemory(); - goto error; + + /* (Only) inherit compilerflags in PyCF_MASK */ + flags |= (c->c_flags.cf_flags & PyCF_MASK); + + if ((IS_TOP_LEVEL_AWAIT(c)) && + ste->ste_coroutine && + !ste->ste_generator) { + flags |= CO_COROUTINE; } - return 1; -error: - Py_XDECREF(a->a_bytecode); - Py_XDECREF(a->a_linetable); - Py_XDECREF(a->a_except_table); - return 0; -} -static void -assemble_free(struct assembler *a) -{ - Py_XDECREF(a->a_bytecode); - Py_XDECREF(a->a_linetable); - Py_XDECREF(a->a_except_table); + return flags; } -static int -blocksize(basicblock *b) +// Merge *obj* with constant cache. +// Unlike merge_consts_recursive(), this function doesn't work recursively. +int +_PyCompile_ConstCacheMergeOne(PyObject *const_cache, PyObject **obj) { - int i; - int size = 0; + assert(PyDict_CheckExact(const_cache)); + PyObject *key = _PyCode_ConstantKey(*obj); + if (key == NULL) { + return ERROR; + } - for (i = 0; i < b->b_iused; i++) { - size += instr_size(&b->b_instr[i]); + // t is borrowed reference + PyObject *t = PyDict_SetDefault(const_cache, key, key); + Py_DECREF(key); + if (t == NULL) { + return ERROR; + } + if (t == key) { // obj is new constant. + return SUCCESS; } - return size; -} -static basicblock * -push_except_block(ExceptStack *stack, struct instr *setup) { - assert(is_block_push(setup)); - int opcode = setup->i_opcode; - basicblock * target = setup->i_target; - if (opcode == SETUP_WITH || opcode == SETUP_CLEANUP) { - target->b_preserve_lasti = 1; + if (PyTuple_CheckExact(t)) { + // t is still borrowed reference + t = PyTuple_GET_ITEM(t, 1); } - stack->handlers[++stack->depth] = target; - return target; -} -static basicblock * -pop_except_block(ExceptStack *stack) { - assert(stack->depth > 0); - return stack->handlers[--stack->depth]; + Py_SETREF(*obj, Py_NewRef(t)); + return SUCCESS; } -static basicblock * -except_stack_top(ExceptStack *stack) { - return stack->handlers[stack->depth]; -} -static ExceptStack * -make_except_stack(void) { - ExceptStack *new = PyMem_Malloc(sizeof(ExceptStack)); - if (new == NULL) { +static int * +build_cellfixedoffsets(_PyCompile_CodeUnitMetadata *umd) +{ + int nlocals = (int)PyDict_GET_SIZE(umd->u_varnames); + int ncellvars = (int)PyDict_GET_SIZE(umd->u_cellvars); + int nfreevars = (int)PyDict_GET_SIZE(umd->u_freevars); + + int noffsets = ncellvars + nfreevars; + int *fixed = PyMem_New(int, noffsets); + if (fixed == NULL) { PyErr_NoMemory(); return NULL; } - new->depth = 0; - new->handlers[0] = NULL; - return new; -} + for (int i = 0; i < noffsets; i++) { + fixed[i] = nlocals + i; + } -static ExceptStack * -copy_except_stack(ExceptStack *stack) { - ExceptStack *copy = PyMem_Malloc(sizeof(ExceptStack)); - if (copy == NULL) { - PyErr_NoMemory(); - return NULL; + PyObject *varname, *cellindex; + Py_ssize_t pos = 0; + while (PyDict_Next(umd->u_cellvars, &pos, &varname, &cellindex)) { + PyObject *varindex = PyDict_GetItem(umd->u_varnames, varname); + if (varindex != NULL) { + assert(PyLong_AS_LONG(cellindex) < INT_MAX); + assert(PyLong_AS_LONG(varindex) < INT_MAX); + int oldindex = (int)PyLong_AS_LONG(cellindex); + int argoffset = (int)PyLong_AS_LONG(varindex); + fixed[oldindex] = argoffset; + } } - memcpy(copy, stack, sizeof(ExceptStack)); - return copy; + + return fixed; } static int -label_exception_targets(basicblock *entry) { - int nblocks = 0; - for (basicblock *b = entry; b != NULL; b = b->b_next) { - b->b_visited = 0; - nblocks++; - } - basicblock **todo_stack = PyMem_Malloc(sizeof(basicblock *)*nblocks); - if (todo_stack == NULL) { - PyErr_NoMemory(); - return -1; +insert_prefix_instructions(_PyCompile_CodeUnitMetadata *umd, basicblock *entryblock, + int *fixed, int nfreevars, int code_flags) +{ + assert(umd->u_firstlineno > 0); + + /* Add the generator prefix instructions. */ + if (code_flags & (CO_GENERATOR | CO_COROUTINE | CO_ASYNC_GENERATOR)) { + cfg_instr make_gen = { + .i_opcode = RETURN_GENERATOR, + .i_oparg = 0, + .i_loc = LOCATION(umd->u_firstlineno, umd->u_firstlineno, -1, -1), + .i_target = NULL, + }; + RETURN_IF_ERROR(_PyBasicblock_InsertInstruction(entryblock, 0, &make_gen)); + cfg_instr pop_top = { + .i_opcode = POP_TOP, + .i_oparg = 0, + .i_loc = NO_LOCATION, + .i_target = NULL, + }; + RETURN_IF_ERROR(_PyBasicblock_InsertInstruction(entryblock, 1, &pop_top)); } - ExceptStack *except_stack = make_except_stack(); - if (except_stack == NULL) { - PyMem_Free(todo_stack); - PyErr_NoMemory(); - return -1; - } - except_stack->depth = 0; - todo_stack[0] = entry; - entry->b_visited = 1; - entry->b_exceptstack = except_stack; - basicblock **todo = &todo_stack[1]; - basicblock *handler = NULL; - while (todo > todo_stack) { - todo--; - basicblock *b = todo[0]; - assert(b->b_visited == 1); - except_stack = b->b_exceptstack; - assert(except_stack != NULL); - b->b_exceptstack = NULL; - handler = except_stack_top(except_stack); - for (int i = 0; i < b->b_iused; i++) { - struct instr *instr = &b->b_instr[i]; - if (is_block_push(instr)) { - if (!instr->i_target->b_visited) { - ExceptStack *copy = copy_except_stack(except_stack); - if (copy == NULL) { - goto error; - } - instr->i_target->b_exceptstack = copy; - todo[0] = instr->i_target; - instr->i_target->b_visited = 1; - todo++; - } - handler = push_except_block(except_stack, instr); - } - else if (instr->i_opcode == POP_BLOCK) { - handler = pop_except_block(except_stack); - } - else if (is_jump(instr)) { - instr->i_except = handler; - assert(i == b->b_iused -1); - if (!instr->i_target->b_visited) { - if (b->b_nofallthrough == 0) { - ExceptStack *copy = copy_except_stack(except_stack); - if (copy == NULL) { - goto error; - } - instr->i_target->b_exceptstack = copy; - } - else { - instr->i_target->b_exceptstack = except_stack; - except_stack = NULL; - } - todo[0] = instr->i_target; - instr->i_target->b_visited = 1; - todo++; - } - } - else { - instr->i_except = handler; - } + + /* Set up cells for any variable that escapes, to be put in a closure. */ + const int ncellvars = (int)PyDict_GET_SIZE(umd->u_cellvars); + if (ncellvars) { + // umd->u_cellvars has the cells out of order so we sort them + // before adding the MAKE_CELL instructions. Note that we + // adjust for arg cells, which come first. + const int nvars = ncellvars + (int)PyDict_GET_SIZE(umd->u_varnames); + int *sorted = PyMem_RawCalloc(nvars, sizeof(int)); + if (sorted == NULL) { + PyErr_NoMemory(); + return ERROR; } - if (b->b_nofallthrough == 0 && !b->b_next->b_visited) { - assert(except_stack != NULL); - b->b_next->b_exceptstack = except_stack; - todo[0] = b->b_next; - b->b_next->b_visited = 1; - todo++; + for (int i = 0; i < ncellvars; i++) { + sorted[fixed[i]] = i + 1; } - else if (except_stack != NULL) { - PyMem_Free(except_stack); + for (int i = 0, ncellsused = 0; ncellsused < ncellvars; i++) { + int oldindex = sorted[i] - 1; + if (oldindex == -1) { + continue; + } + cfg_instr make_cell = { + .i_opcode = MAKE_CELL, + // This will get fixed in offset_derefs(). + .i_oparg = oldindex, + .i_loc = NO_LOCATION, + .i_target = NULL, + }; + if (_PyBasicblock_InsertInstruction(entryblock, ncellsused, &make_cell) < 0) { + PyMem_RawFree(sorted); + return ERROR; + } + ncellsused += 1; } + PyMem_RawFree(sorted); } -#ifdef Py_DEBUG - for (basicblock *b = entry; b != NULL; b = b->b_next) { - assert(b->b_exceptstack == NULL); + + if (nfreevars) { + cfg_instr copy_frees = { + .i_opcode = COPY_FREE_VARS, + .i_oparg = nfreevars, + .i_loc = NO_LOCATION, + .i_target = NULL, + }; + RETURN_IF_ERROR(_PyBasicblock_InsertInstruction(entryblock, 0, ©_frees)); } -#endif - PyMem_Free(todo_stack); - return 0; -error: - PyMem_Free(todo_stack); - PyMem_Free(except_stack); - return -1; + + return SUCCESS; } +static int +fix_cell_offsets(_PyCompile_CodeUnitMetadata *umd, basicblock *entryblock, int *fixedmap) +{ + int nlocals = (int)PyDict_GET_SIZE(umd->u_varnames); + int ncellvars = (int)PyDict_GET_SIZE(umd->u_cellvars); + int nfreevars = (int)PyDict_GET_SIZE(umd->u_freevars); + int noffsets = ncellvars + nfreevars; + + // First deal with duplicates (arg cells). + int numdropped = 0; + for (int i = 0; i < noffsets ; i++) { + if (fixedmap[i] == i + nlocals) { + fixedmap[i] -= numdropped; + } + else { + // It was a duplicate (cell/arg). + numdropped += 1; + } + } -static void -convert_exception_handlers_to_nops(basicblock *entry) { - for (basicblock *b = entry; b != NULL; b = b->b_next) { + // Then update offsets, either relative to locals or by cell2arg. + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { for (int i = 0; i < b->b_iused; i++) { - struct instr *instr = &b->b_instr[i]; - if (is_block_push(instr) || instr->i_opcode == POP_BLOCK) { - instr->i_opcode = NOP; + cfg_instr *inst = &b->b_instr[i]; + // This is called before extended args are generated. + assert(inst->i_opcode != EXTENDED_ARG); + int oldoffset = inst->i_oparg; + switch(inst->i_opcode) { + case MAKE_CELL: + case LOAD_CLOSURE: + case LOAD_DEREF: + case STORE_DEREF: + case DELETE_DEREF: + case LOAD_FROM_DICT_OR_DEREF: + assert(oldoffset >= 0); + assert(oldoffset < noffsets); + assert(fixedmap[oldoffset] >= 0); + inst->i_oparg = fixedmap[oldoffset]; } } } -} -static inline void -write_except_byte(struct assembler *a, int byte) { - unsigned char *p = (unsigned char *) PyBytes_AS_STRING(a->a_except_table); - p[a->a_except_table_off++] = byte; + return numdropped; } -#define CONTINUATION_BIT 64 -static void -assemble_emit_exception_table_item(struct assembler *a, int value, int msb) +static int +prepare_localsplus(_PyCompile_CodeUnitMetadata *umd, cfg_builder *g, int code_flags) { - assert ((msb | 128) == 128); - assert(value >= 0 && value < (1 << 30)); - if (value >= 1 << 24) { - write_except_byte(a, (value >> 24) | CONTINUATION_BIT | msb); - msb = 0; - } - if (value >= 1 << 18) { - write_except_byte(a, ((value >> 18)&0x3f) | CONTINUATION_BIT | msb); - msb = 0; - } - if (value >= 1 << 12) { - write_except_byte(a, ((value >> 12)&0x3f) | CONTINUATION_BIT | msb); - msb = 0; - } - if (value >= 1 << 6) { - write_except_byte(a, ((value >> 6)&0x3f) | CONTINUATION_BIT | msb); - msb = 0; + assert(PyDict_GET_SIZE(umd->u_varnames) < INT_MAX); + assert(PyDict_GET_SIZE(umd->u_cellvars) < INT_MAX); + assert(PyDict_GET_SIZE(umd->u_freevars) < INT_MAX); + int nlocals = (int)PyDict_GET_SIZE(umd->u_varnames); + int ncellvars = (int)PyDict_GET_SIZE(umd->u_cellvars); + int nfreevars = (int)PyDict_GET_SIZE(umd->u_freevars); + assert(INT_MAX - nlocals - ncellvars > 0); + assert(INT_MAX - nlocals - ncellvars - nfreevars > 0); + int nlocalsplus = nlocals + ncellvars + nfreevars; + int* cellfixedoffsets = build_cellfixedoffsets(umd); + if (cellfixedoffsets == NULL) { + return ERROR; } - write_except_byte(a, (value&0x3f) | msb); -} -/* See Objects/exception_handling_notes.txt for details of layout */ -#define MAX_SIZE_OF_ENTRY 20 -static int -assemble_emit_exception_table_entry(struct assembler *a, int start, int end, basicblock *handler) -{ - Py_ssize_t len = PyBytes_GET_SIZE(a->a_except_table); - if (a->a_except_table_off + MAX_SIZE_OF_ENTRY >= len) { - if (_PyBytes_Resize(&a->a_except_table, len * 2) < 0) - return 0; + // This must be called before fix_cell_offsets(). + if (insert_prefix_instructions(umd, g->g_entryblock, cellfixedoffsets, nfreevars, code_flags)) { + PyMem_Free(cellfixedoffsets); + return ERROR; } - int size = end-start; - assert(end > start); - int target = handler->b_offset; - int depth = handler->b_startdepth - 1; - if (handler->b_preserve_lasti) { - depth -= 1; - } - assert(depth >= 0); - int depth_lasti = (depth<<1) | handler->b_preserve_lasti; - assemble_emit_exception_table_item(a, start, (1<<7)); - assemble_emit_exception_table_item(a, size, 0); - assemble_emit_exception_table_item(a, target, 0); - assemble_emit_exception_table_item(a, depth_lasti, 0); - return 1; + + int numdropped = fix_cell_offsets(umd, g->g_entryblock, cellfixedoffsets); + PyMem_Free(cellfixedoffsets); // At this point we're done with it. + cellfixedoffsets = NULL; + if (numdropped < 0) { + return ERROR; + } + + nlocalsplus -= numdropped; + return nlocalsplus; } static int -assemble_exception_table(struct assembler *a) +add_return_at_end(struct compiler *c, int addNone) { - basicblock *b; - int ioffset = 0; - basicblock *handler = NULL; - int start = -1; - for (b = a->a_entry; b != NULL; b = b->b_next) { - ioffset = b->b_offset; - for (int i = 0; i < b->b_iused; i++) { - struct instr *instr = &b->b_instr[i]; - if (instr->i_except != handler) { - if (handler != NULL) { - RETURN_IF_FALSE(assemble_emit_exception_table_entry(a, start, ioffset, handler)); - } - start = ioffset; - handler = instr->i_except; - } - ioffset += instr_size(instr); - } - } - if (handler != NULL) { - RETURN_IF_FALSE(assemble_emit_exception_table_entry(a, start, ioffset, handler)); + /* Make sure every instruction stream that falls off the end returns None. + * This also ensures that no jump target offsets are out of bounds. + */ + if (addNone) { + ADDOP_LOAD_CONST(c, NO_LOCATION, Py_None); } - return 1; + ADDOP(c, NO_LOCATION, RETURN_VALUE); + return SUCCESS; } -/* Code location emitting code. See locations.md for a description of the format. */ +static int cfg_to_instr_sequence(cfg_builder *g, instr_sequence *seq); -#define MSB 0x80 +static PyCodeObject * +optimize_and_assemble_code_unit(struct compiler_unit *u, PyObject *const_cache, + int code_flags, PyObject *filename) +{ + instr_sequence optimized_instrs; + memset(&optimized_instrs, 0, sizeof(instr_sequence)); -static void -write_location_byte(struct assembler* a, int val) -{ - PyBytes_AS_STRING(a->a_linetable)[a->a_location_off] = val&255; - a->a_location_off++; -} + PyCodeObject *co = NULL; + PyObject *consts = consts_dict_keys_inorder(u->u_metadata.u_consts); + if (consts == NULL) { + goto error; + } + cfg_builder g; + if (instr_sequence_to_cfg(&u->u_instr_sequence, &g) < 0) { + goto error; + } + int nparams = (int)PyList_GET_SIZE(u->u_ste->ste_varnames); + int nlocals = (int)PyDict_GET_SIZE(u->u_metadata.u_varnames); + assert(u->u_metadata.u_firstlineno); + if (_PyCfg_OptimizeCodeUnit(&g, consts, const_cache, code_flags, nlocals, + nparams, u->u_metadata.u_firstlineno) < 0) { + goto error; + } + /** Assembly **/ + int nlocalsplus = prepare_localsplus(&u->u_metadata, &g, code_flags); + if (nlocalsplus < 0) { + goto error; + } -static uint8_t * -location_pointer(struct assembler* a) -{ - return (uint8_t *)PyBytes_AS_STRING(a->a_linetable) + - a->a_location_off; -} + int maxdepth = _PyCfg_Stackdepth(g.g_entryblock, code_flags); + if (maxdepth < 0) { + goto error; + } -static void -write_location_first_byte(struct assembler* a, int code, int length) -{ - a->a_location_off += write_location_entry_start( - location_pointer(a), code, length); -} + _PyCfg_ConvertPseudoOps(g.g_entryblock); -static void -write_location_varint(struct assembler* a, unsigned int val) -{ - uint8_t *ptr = location_pointer(a); - a->a_location_off += write_varint(ptr, val); -} + /* Order of basic blocks must have been determined by now */ + if (_PyCfg_ResolveJumps(&g) < 0) { + goto error; + } -static void -write_location_signed_varint(struct assembler* a, int val) -{ - uint8_t *ptr = location_pointer(a); - a->a_location_off += write_signed_varint(ptr, val); -} + /* Can't modify the bytecode after computing jump offsets. */ -static void -write_location_info_short_form(struct assembler* a, int length, int column, int end_column) -{ - assert(length > 0 && length <= 8); - int column_low_bits = column & 7; - int column_group = column >> 3; - assert(column < 80); - assert(end_column >= column); - assert(end_column - column < 16); - write_location_first_byte(a, PY_CODE_LOCATION_INFO_SHORT0 + column_group, length); - write_location_byte(a, (column_low_bits << 4) | (end_column - column)); -} + if (cfg_to_instr_sequence(&g, &optimized_instrs) < 0) { + goto error; + } -static void -write_location_info_oneline_form(struct assembler* a, int length, int line_delta, int column, int end_column) -{ - assert(length > 0 && length <= 8); - assert(line_delta >= 0 && line_delta < 3); - assert(column < 128); - assert(end_column < 128); - write_location_first_byte(a, PY_CODE_LOCATION_INFO_ONE_LINE0 + line_delta, length); - write_location_byte(a, column); - write_location_byte(a, end_column); -} + co = _PyAssemble_MakeCodeObject(&u->u_metadata, const_cache, consts, + maxdepth, &optimized_instrs, nlocalsplus, + code_flags, filename); -static void -write_location_info_long_form(struct assembler* a, struct instr* i, int length) -{ - assert(length > 0 && length <= 8); - write_location_first_byte(a, PY_CODE_LOCATION_INFO_LONG, length); - write_location_signed_varint(a, i->i_lineno - a->a_lineno); - assert(i->i_end_lineno >= i->i_lineno); - write_location_varint(a, i->i_end_lineno - i->i_lineno); - write_location_varint(a, i->i_col_offset+1); - write_location_varint(a, i->i_end_col_offset+1); +error: + Py_XDECREF(consts); + instr_sequence_fini(&optimized_instrs); + _PyCfgBuilder_Fini(&g); + return co; } -static void -write_location_info_none(struct assembler* a, int length) +static PyCodeObject * +optimize_and_assemble(struct compiler *c, int addNone) { - write_location_first_byte(a, PY_CODE_LOCATION_INFO_NONE, length); + struct compiler_unit *u = c->u; + PyObject *const_cache = c->c_const_cache; + PyObject *filename = c->c_filename; + + int code_flags = compute_code_flags(c); + if (code_flags < 0) { + return NULL; + } + + if (add_return_at_end(c, addNone) < 0) { + return NULL; + } + + return optimize_and_assemble_code_unit(u, const_cache, code_flags, filename); } -static void -write_location_info_no_column(struct assembler* a, int length, int line_delta) +static int +cfg_to_instr_sequence(cfg_builder *g, instr_sequence *seq) { - write_location_first_byte(a, PY_CODE_LOCATION_INFO_NO_COLUMNS, length); - write_location_signed_varint(a, line_delta); + int lbl = 0; + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + b->b_label = (jump_target_label){lbl}; + lbl += b->b_iused; + } + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + RETURN_IF_ERROR(instr_sequence_use_label(seq, b->b_label.id)); + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + RETURN_IF_ERROR( + instr_sequence_addop(seq, instr->i_opcode, instr->i_oparg, instr->i_loc)); + + _PyCompile_ExceptHandlerInfo *hi = &seq->s_instrs[seq->s_used-1].i_except_handler_info; + if (instr->i_except != NULL) { + hi->h_offset = instr->i_except->b_offset; + hi->h_startdepth = instr->i_except->b_startdepth; + hi->h_preserve_lasti = instr->i_except->b_preserve_lasti; + } + else { + hi->h_offset = -1; + } + } + } + return SUCCESS; } -#define THEORETICAL_MAX_ENTRY_SIZE 25 /* 1 + 6 + 6 + 6 + 6 */ + +/* Access to compiler optimizations for unit tests. + * + * _PyCompile_CodeGen takes and AST, applies code-gen and + * returns the unoptimized CFG as an instruction list. + * + * _PyCompile_OptimizeCfg takes an instruction list, constructs + * a CFG, optimizes it and converts back to an instruction list. + * + * An instruction list is a PyList where each item is either + * a tuple describing a single instruction: + * (opcode, oparg, lineno, end_lineno, col, end_col), or + * a jump target label marking the beginning of a basic block. + */ static int -write_location_info_entry(struct assembler* a, struct instr* i, int isize) +instructions_to_instr_sequence(PyObject *instructions, instr_sequence *seq) { - Py_ssize_t len = PyBytes_GET_SIZE(a->a_linetable); - if (a->a_location_off + THEORETICAL_MAX_ENTRY_SIZE >= len) { - assert(len > THEORETICAL_MAX_ENTRY_SIZE); - if (_PyBytes_Resize(&a->a_linetable, len*2) < 0) { - return 0; - } - } - if (i->i_lineno < 0) { - write_location_info_none(a, isize); - return 1; + assert(PyList_Check(instructions)); + + Py_ssize_t num_insts = PyList_GET_SIZE(instructions); + bool *is_target = PyMem_Calloc(num_insts, sizeof(bool)); + if (is_target == NULL) { + return ERROR; } - int line_delta = i->i_lineno - a->a_lineno; - int column = i->i_col_offset; - int end_column = i->i_end_col_offset; - assert(column >= -1); - assert(end_column >= -1); - if (column < 0 || end_column < 0) { - if (i->i_end_lineno == i->i_lineno || i->i_end_lineno == -1) { - write_location_info_no_column(a, isize, line_delta); - a->a_lineno = i->i_lineno; - return 1; + for (Py_ssize_t i = 0; i < num_insts; i++) { + PyObject *item = PyList_GET_ITEM(instructions, i); + if (!PyTuple_Check(item) || PyTuple_GET_SIZE(item) != 6) { + PyErr_SetString(PyExc_ValueError, "expected a 6-tuple"); + goto error; } - } - else if (i->i_end_lineno == i->i_lineno) { - if (line_delta == 0 && column < 80 && end_column - column < 16 && end_column >= column) { - write_location_info_short_form(a, isize, column, end_column); - return 1; + int opcode = PyLong_AsLong(PyTuple_GET_ITEM(item, 0)); + if (PyErr_Occurred()) { + goto error; } - if (line_delta >= 0 && line_delta < 3 && column < 128 && end_column < 128) { - write_location_info_oneline_form(a, isize, line_delta, column, end_column); - a->a_lineno = i->i_lineno; - return 1; + if (HAS_TARGET(opcode)) { + int oparg = PyLong_AsLong(PyTuple_GET_ITEM(item, 1)); + if (PyErr_Occurred()) { + goto error; + } + if (oparg < 0 || oparg >= num_insts) { + PyErr_SetString(PyExc_ValueError, "label out of range"); + goto error; + } + is_target[oparg] = true; } } - write_location_info_long_form(a, i, isize); - a->a_lineno = i->i_lineno; - return 1; -} -static int -assemble_emit_location(struct assembler* a, struct instr* i) -{ - int isize = instr_size(i); - while (isize > 8) { - if (!write_location_info_entry(a, i, 8)) { - return 0; + for (int i = 0; i < num_insts; i++) { + if (is_target[i]) { + if (instr_sequence_use_label(seq, i) < 0) { + goto error; + } + } + PyObject *item = PyList_GET_ITEM(instructions, i); + if (!PyTuple_Check(item) || PyTuple_GET_SIZE(item) != 6) { + PyErr_SetString(PyExc_ValueError, "expected a 6-tuple"); + goto error; + } + int opcode = PyLong_AsLong(PyTuple_GET_ITEM(item, 0)); + if (PyErr_Occurred()) { + goto error; + } + int oparg; + if (HAS_ARG(opcode)) { + oparg = PyLong_AsLong(PyTuple_GET_ITEM(item, 1)); + if (PyErr_Occurred()) { + goto error; + } + } + else { + oparg = 0; + } + location loc; + loc.lineno = PyLong_AsLong(PyTuple_GET_ITEM(item, 2)); + if (PyErr_Occurred()) { + goto error; + } + loc.end_lineno = PyLong_AsLong(PyTuple_GET_ITEM(item, 3)); + if (PyErr_Occurred()) { + goto error; + } + loc.col_offset = PyLong_AsLong(PyTuple_GET_ITEM(item, 4)); + if (PyErr_Occurred()) { + goto error; + } + loc.end_col_offset = PyLong_AsLong(PyTuple_GET_ITEM(item, 5)); + if (PyErr_Occurred()) { + goto error; + } + if (instr_sequence_addop(seq, opcode, oparg, loc) < 0) { + goto error; } - isize -= 8; } - return write_location_info_entry(a, i, isize); + PyMem_Free(is_target); + return SUCCESS; +error: + PyMem_Free(is_target); + return ERROR; } -/* assemble_emit() - Extend the bytecode with a new instruction. - Update lnotab if necessary. -*/ - static int -assemble_emit(struct assembler *a, struct instr *i) +instructions_to_cfg(PyObject *instructions, cfg_builder *g) { - Py_ssize_t len = PyBytes_GET_SIZE(a->a_bytecode); - _Py_CODEUNIT *code; + instr_sequence seq; + memset(&seq, 0, sizeof(instr_sequence)); - int size = instr_size(i); - if (a->a_offset + size >= len / (int)sizeof(_Py_CODEUNIT)) { - if (len > PY_SSIZE_T_MAX / 2) - return 0; - if (_PyBytes_Resize(&a->a_bytecode, len * 2) < 0) - return 0; + if (instructions_to_instr_sequence(instructions, &seq) < 0) { + goto error; } - code = (_Py_CODEUNIT *)PyBytes_AS_STRING(a->a_bytecode) + a->a_offset; - a->a_offset += size; - write_instr(code, i, size); - return 1; + if (instr_sequence_to_cfg(&seq, g) < 0) { + goto error; + } + instr_sequence_fini(&seq); + return SUCCESS; +error: + instr_sequence_fini(&seq); + return ERROR; } -static void -normalize_jumps(struct assembler *a) +static PyObject * +instr_sequence_to_instructions(instr_sequence *seq) { - for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { - b->b_visited = 0; + PyObject *instructions = PyList_New(0); + if (instructions == NULL) { + return NULL; } - for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { - b->b_visited = 1; - if (b->b_iused == 0) { - continue; + for (int i = 0; i < seq->s_used; i++) { + instruction *instr = &seq->s_instrs[i]; + location loc = instr->i_loc; + int arg = HAS_TARGET(instr->i_opcode) ? + seq->s_labelmap[instr->i_oparg] : instr->i_oparg; + + PyObject *inst_tuple = Py_BuildValue( + "(iiiiii)", instr->i_opcode, arg, + loc.lineno, loc.end_lineno, + loc.col_offset, loc.end_col_offset); + if (inst_tuple == NULL) { + goto error; } - struct instr *last = &b->b_instr[b->b_iused-1]; - assert(!IS_ASSEMBLER_OPCODE(last->i_opcode)); - if (is_jump(last)) { - bool is_forward = last->i_target->b_visited == 0; - switch(last->i_opcode) { - case JUMP: - last->i_opcode = is_forward ? JUMP_FORWARD : JUMP_BACKWARD; - break; - case JUMP_NO_INTERRUPT: - last->i_opcode = is_forward ? - JUMP_FORWARD : JUMP_BACKWARD_NO_INTERRUPT; - break; - case POP_JUMP_IF_NOT_NONE: - last->i_opcode = is_forward ? - POP_JUMP_FORWARD_IF_NOT_NONE : POP_JUMP_BACKWARD_IF_NOT_NONE; - break; - case POP_JUMP_IF_NONE: - last->i_opcode = is_forward ? - POP_JUMP_FORWARD_IF_NONE : POP_JUMP_BACKWARD_IF_NONE; - break; - case POP_JUMP_IF_FALSE: - last->i_opcode = is_forward ? - POP_JUMP_FORWARD_IF_FALSE : POP_JUMP_BACKWARD_IF_FALSE; - break; - case POP_JUMP_IF_TRUE: - last->i_opcode = is_forward ? - POP_JUMP_FORWARD_IF_TRUE : POP_JUMP_BACKWARD_IF_TRUE; - break; - case JUMP_IF_TRUE_OR_POP: - case JUMP_IF_FALSE_OR_POP: - if (!is_forward) { - /* As far as we can tell, the compiler never emits - * these jumps with a backwards target. If/when this - * exception is raised, we have found a use case for - * a backwards version of this jump (or to replace - * it with the sequence (COPY 1, POP_JUMP_IF_T/F, POP) - */ - PyErr_Format(PyExc_SystemError, - "unexpected %s jumping backwards", - last->i_opcode == JUMP_IF_TRUE_OR_POP ? - "JUMP_IF_TRUE_OR_POP" : "JUMP_IF_FALSE_OR_POP"); - } - break; - } + + int res = PyList_Append(instructions, inst_tuple); + Py_DECREF(inst_tuple); + if (res != 0) { + goto error; } } + return instructions; +error: + Py_XDECREF(instructions); + return NULL; } -static void -assemble_jump_offsets(struct assembler *a, struct compiler *c) +static PyObject * +cfg_to_instructions(cfg_builder *g) { - basicblock *b; - int bsize, totsize, extended_arg_recompile; - int i; + PyObject *instructions = PyList_New(0); + if (instructions == NULL) { + return NULL; + } + int lbl = 0; + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + b->b_label = (jump_target_label){lbl}; + lbl += b->b_iused; + } + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + location loc = instr->i_loc; + int arg = HAS_TARGET(instr->i_opcode) ? + instr->i_target->b_label.id : instr->i_oparg; + + PyObject *inst_tuple = Py_BuildValue( + "(iiiiii)", instr->i_opcode, arg, + loc.lineno, loc.end_lineno, + loc.col_offset, loc.end_col_offset); + if (inst_tuple == NULL) { + goto error; + } - /* Compute the size of each block and fixup jump args. - Replace block pointer with position in bytecode. */ - do { - totsize = 0; - for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { - bsize = blocksize(b); - b->b_offset = totsize; - totsize += bsize; - } - extended_arg_recompile = 0; - for (b = c->u->u_blocks; b != NULL; b = b->b_list) { - bsize = b->b_offset; - for (i = 0; i < b->b_iused; i++) { - struct instr *instr = &b->b_instr[i]; - int isize = instr_size(instr); - /* Relative jumps are computed relative to - the instruction pointer after fetching - the jump instruction. - */ - bsize += isize; - if (is_jump(instr)) { - instr->i_oparg = instr->i_target->b_offset; - if (is_relative_jump(instr)) { - if (instr->i_oparg < bsize) { - assert(IS_BACKWARDS_JUMP_OPCODE(instr->i_opcode)); - instr->i_oparg = bsize - instr->i_oparg; - } - else { - assert(!IS_BACKWARDS_JUMP_OPCODE(instr->i_opcode)); - instr->i_oparg -= bsize; - } - } - else { - assert(!IS_BACKWARDS_JUMP_OPCODE(instr->i_opcode)); - } - if (instr_size(instr) != isize) { - extended_arg_recompile = 1; - } - } + if (PyList_Append(instructions, inst_tuple) != 0) { + Py_DECREF(inst_tuple); + goto error; } + Py_DECREF(inst_tuple); } + } - /* XXX: This is an awful hack that could hurt performance, but - on the bright side it should work until we come up - with a better solution. - - The issue is that in the first loop blocksize() is called - which calls instr_size() which requires i_oparg be set - appropriately. There is a bootstrap problem because - i_oparg is calculated in the second loop above. - - So we loop until we stop seeing new EXTENDED_ARGs. - The only EXTENDED_ARGs that could be popping up are - ones in jump instructions. So this should converge - fairly quickly. - */ - } while (extended_arg_recompile); + return instructions; +error: + Py_DECREF(instructions); + return NULL; } -static PyObject * -dict_keys_inorder(PyObject *dict, Py_ssize_t offset) +PyObject * +_PyCompile_CodeGen(PyObject *ast, PyObject *filename, PyCompilerFlags *pflags, + int optimize, int compile_mode) { - PyObject *tuple, *k, *v; - Py_ssize_t i, pos = 0, size = PyDict_GET_SIZE(dict); + PyObject *res = NULL; + PyObject *metadata = NULL; - tuple = PyTuple_New(size); - if (tuple == NULL) + if (!PyAST_Check(ast)) { + PyErr_SetString(PyExc_TypeError, "expected an AST"); return NULL; - while (PyDict_Next(dict, &pos, &k, &v)) { - i = PyLong_AS_LONG(v); - Py_INCREF(k); - assert((i - offset) < size); - assert((i - offset) >= 0); - PyTuple_SET_ITEM(tuple, i - offset, k); } - return tuple; -} - -static PyObject * -consts_dict_keys_inorder(PyObject *dict) -{ - PyObject *consts, *k, *v; - Py_ssize_t i, pos = 0, size = PyDict_GET_SIZE(dict); - consts = PyList_New(size); /* PyCode_Optimize() requires a list */ - if (consts == NULL) + PyArena *arena = _PyArena_New(); + if (arena == NULL) { return NULL; - while (PyDict_Next(dict, &pos, &k, &v)) { - i = PyLong_AS_LONG(v); - /* The keys of the dictionary can be tuples wrapping a constant. - * (see compiler_add_o and _PyCode_ConstantKey). In that case - * the object we want is always second. */ - if (PyTuple_CheckExact(k)) { - k = PyTuple_GET_ITEM(k, 1); - } - Py_INCREF(k); - assert(i < size); - assert(i >= 0); - PyList_SET_ITEM(consts, i, k); } - return consts; -} -static int -compute_code_flags(struct compiler *c) -{ - PySTEntryObject *ste = c->u->u_ste; - int flags = 0; - if (ste->ste_type == FunctionBlock) { - flags |= CO_NEWLOCALS | CO_OPTIMIZED; - if (ste->ste_nested) - flags |= CO_NESTED; - if (ste->ste_generator && !ste->ste_coroutine) - flags |= CO_GENERATOR; - if (!ste->ste_generator && ste->ste_coroutine) - flags |= CO_COROUTINE; - if (ste->ste_generator && ste->ste_coroutine) - flags |= CO_ASYNC_GENERATOR; - if (ste->ste_varargs) - flags |= CO_VARARGS; - if (ste->ste_varkeywords) - flags |= CO_VARKEYWORDS; + mod_ty mod = PyAST_obj2mod(ast, arena, compile_mode); + if (mod == NULL || !_PyAST_Validate(mod)) { + _PyArena_Free(arena); + return NULL; } - /* (Only) inherit compilerflags in PyCF_MASK */ - flags |= (c->c_flags->cf_flags & PyCF_MASK); - - if ((IS_TOP_LEVEL_AWAIT(c)) && - ste->ste_coroutine && - !ste->ste_generator) { - flags |= CO_COROUTINE; + struct compiler *c = new_compiler(mod, filename, pflags, optimize, arena); + if (c == NULL) { + _PyArena_Free(arena); + return NULL; } - return flags; -} - -// Merge *obj* with constant cache. -// Unlike merge_consts_recursive(), this function doesn't work recursively. -static int -merge_const_one(struct compiler *c, PyObject **obj) -{ - PyObject *key = _PyCode_ConstantKey(*obj); - if (key == NULL) { - return 0; + if (compiler_codegen(c, mod) < 0) { + goto finally; } - // t is borrowed reference - PyObject *t = PyDict_SetDefault(c->c_const_cache, key, key); - Py_DECREF(key); - if (t == NULL) { - return 0; + _PyCompile_CodeUnitMetadata *umd = &c->u->u_metadata; + metadata = PyDict_New(); + if (metadata == NULL) { + goto finally; } - if (t == key) { // obj is new constant. - return 1; +#define SET_MATADATA_ITEM(key, value) \ + if (value != NULL) { \ + if (PyDict_SetItemString(metadata, key, value) < 0) goto finally; \ + } + + SET_MATADATA_ITEM("name", umd->u_name); + SET_MATADATA_ITEM("qualname", umd->u_qualname); + SET_MATADATA_ITEM("consts", umd->u_consts); + SET_MATADATA_ITEM("names", umd->u_names); + SET_MATADATA_ITEM("varnames", umd->u_varnames); + SET_MATADATA_ITEM("cellvars", umd->u_cellvars); + SET_MATADATA_ITEM("freevars", umd->u_freevars); +#undef SET_MATADATA_ITEM + +#define SET_MATADATA_INT(key, value) do { \ + PyObject *v = PyLong_FromLong((long)value); \ + if (v == NULL) goto finally; \ + int res = PyDict_SetItemString(metadata, key, v); \ + Py_XDECREF(v); \ + if (res < 0) goto finally; \ + } while (0); + + SET_MATADATA_INT("argcount", umd->u_argcount); + SET_MATADATA_INT("posonlyargcount", umd->u_posonlyargcount); + SET_MATADATA_INT("kwonlyargcount", umd->u_kwonlyargcount); +#undef SET_MATADATA_INT + + int addNone = mod->kind != Expression_kind; + if (add_return_at_end(c, addNone) < 0) { + goto finally; } - if (PyTuple_CheckExact(t)) { - // t is still borrowed reference - t = PyTuple_GET_ITEM(t, 1); + PyObject *insts = instr_sequence_to_instructions(INSTR_SEQUENCE(c)); + if (insts == NULL) { + goto finally; } + res = PyTuple_Pack(2, insts, metadata); + Py_DECREF(insts); - Py_INCREF(t); - Py_DECREF(*obj); - *obj = t; - return 1; +finally: + Py_XDECREF(metadata); + compiler_exit_scope(c); + compiler_free(c); + _PyArena_Free(arena); + return res; } -// This is in codeobject.c. -extern void _Py_set_localsplus_info(int, PyObject *, unsigned char, - PyObject *, PyObject *); - -static void -compute_localsplus_info(struct compiler *c, int nlocalsplus, - PyObject *names, PyObject *kinds) +PyObject * +_PyCompile_OptimizeCfg(PyObject *instructions, PyObject *consts, int nlocals) { - PyObject *k, *v; - Py_ssize_t pos = 0; - while (PyDict_Next(c->u->u_varnames, &pos, &k, &v)) { - int offset = (int)PyLong_AS_LONG(v); - assert(offset >= 0); - assert(offset < nlocalsplus); - // For now we do not distinguish arg kinds. - _PyLocals_Kind kind = CO_FAST_LOCAL; - if (PyDict_GetItem(c->u->u_cellvars, k) != NULL) { - kind |= CO_FAST_CELL; - } - _Py_set_localsplus_info(offset, k, kind, names, kinds); + PyObject *res = NULL; + PyObject *const_cache = PyDict_New(); + if (const_cache == NULL) { + return NULL; } - int nlocals = (int)PyDict_GET_SIZE(c->u->u_varnames); - // This counter mirrors the fix done in fix_cell_offsets(). - int numdropped = 0; - pos = 0; - while (PyDict_Next(c->u->u_cellvars, &pos, &k, &v)) { - if (PyDict_GetItem(c->u->u_varnames, k) != NULL) { - // Skip cells that are already covered by locals. - numdropped += 1; - continue; - } - int offset = (int)PyLong_AS_LONG(v); - assert(offset >= 0); - offset += nlocals - numdropped; - assert(offset < nlocalsplus); - _Py_set_localsplus_info(offset, k, CO_FAST_CELL, names, kinds); + cfg_builder g; + if (instructions_to_cfg(instructions, &g) < 0) { + goto error; } - - pos = 0; - while (PyDict_Next(c->u->u_freevars, &pos, &k, &v)) { - int offset = (int)PyLong_AS_LONG(v); - assert(offset >= 0); - offset += nlocals - numdropped; - assert(offset < nlocalsplus); - _Py_set_localsplus_info(offset, k, CO_FAST_FREE, names, kinds); + int code_flags = 0, nparams = 0, firstlineno = 1; + if (_PyCfg_OptimizeCodeUnit(&g, consts, const_cache, code_flags, nlocals, + nparams, firstlineno) < 0) { + goto error; } + res = cfg_to_instructions(&g); +error: + Py_DECREF(const_cache); + _PyCfgBuilder_Fini(&g); + return res; } -static PyCodeObject * -makecode(struct compiler *c, struct assembler *a, PyObject *constslist, - int maxdepth, int nlocalsplus) +int _PyCfg_JumpLabelsToTargets(basicblock *entryblock); + +PyCodeObject * +_PyCompile_Assemble(_PyCompile_CodeUnitMetadata *umd, PyObject *filename, + PyObject *instructions) { PyCodeObject *co = NULL; - PyObject *names = NULL; - PyObject *consts = NULL; - PyObject *localsplusnames = NULL; - PyObject *localspluskinds = NULL; - - names = dict_keys_inorder(c->u->u_names, 0); - if (!names) { - goto error; - } - if (!merge_const_one(c, &names)) { - goto error; - } - - int flags = compute_code_flags(c); - if (flags < 0) { - goto error; - } + instr_sequence optimized_instrs; + memset(&optimized_instrs, 0, sizeof(instr_sequence)); - consts = PyList_AsTuple(constslist); /* PyCode_New requires a tuple */ - if (consts == NULL) { - goto error; - } - if (!merge_const_one(c, &consts)) { - goto error; + PyObject *const_cache = PyDict_New(); + if (const_cache == NULL) { + return NULL; } - assert(c->u->u_posonlyargcount < INT_MAX); - assert(c->u->u_argcount < INT_MAX); - assert(c->u->u_kwonlyargcount < INT_MAX); - int posonlyargcount = (int)c->u->u_posonlyargcount; - int posorkwargcount = (int)c->u->u_argcount; - assert(INT_MAX - posonlyargcount - posorkwargcount > 0); - int kwonlyargcount = (int)c->u->u_kwonlyargcount; - - localsplusnames = PyTuple_New(nlocalsplus); - if (localsplusnames == NULL) { - goto error; - } - localspluskinds = PyBytes_FromStringAndSize(NULL, nlocalsplus); - if (localspluskinds == NULL) { + cfg_builder g; + if (instructions_to_cfg(instructions, &g) < 0) { goto error; } - compute_localsplus_info(c, nlocalsplus, localsplusnames, localspluskinds); - - struct _PyCodeConstructor con = { - .filename = c->c_filename, - .name = c->u->u_name, - .qualname = c->u->u_qualname ? c->u->u_qualname : c->u->u_name, - .flags = flags, - - .code = a->a_bytecode, - .firstlineno = c->u->u_firstlineno, - .linetable = a->a_linetable, - - .consts = consts, - .names = names, - - .localsplusnames = localsplusnames, - .localspluskinds = localspluskinds, - .argcount = posonlyargcount + posorkwargcount, - .posonlyargcount = posonlyargcount, - .kwonlyargcount = kwonlyargcount, - - .stacksize = maxdepth, - - .exceptiontable = a->a_except_table, - }; - - if (_PyCode_Validate(&con) < 0) { + if (_PyCfg_JumpLabelsToTargets(g.g_entryblock) < 0) { goto error; } - if (!merge_const_one(c, &localsplusnames)) { + int code_flags = 0; + int nlocalsplus = prepare_localsplus(umd, &g, code_flags); + if (nlocalsplus < 0) { goto error; } - con.localsplusnames = localsplusnames; - co = _PyCode_New(&con); - if (co == NULL) { + int maxdepth = _PyCfg_Stackdepth(g.g_entryblock, code_flags); + if (maxdepth < 0) { goto error; } - error: - Py_XDECREF(names); - Py_XDECREF(consts); - Py_XDECREF(localsplusnames); - Py_XDECREF(localspluskinds); - return co; -} - - -/* For debugging purposes only */ -#if 0 -static void -dump_instr(struct instr *i) -{ - const char *jrel = (is_relative_jump(i)) ? "jrel " : ""; - const char *jabs = (is_jump(i) && !is_relative_jump(i))? "jabs " : ""; - - char arg[128]; - - *arg = '\0'; - if (HAS_ARG(i->i_opcode)) { - sprintf(arg, "arg: %d ", i->i_oparg); - } - fprintf(stderr, "line: %d, opcode: %d %s%s%s\n", - i->i_lineno, i->i_opcode, arg, jabs, jrel); -} - -static void -dump_basicblock(const basicblock *b) -{ - const char *b_return = b->b_return ? "return " : ""; - fprintf(stderr, "used: %d, depth: %d, offset: %d %s\n", - b->b_iused, b->b_startdepth, b->b_offset, b_return); - if (b->b_instr) { - int i; - for (i = 0; i < b->b_iused; i++) { - fprintf(stderr, " [%02d] ", i); - dump_instr(b->b_instr + i); - } - } -} -#endif - - -static int -normalize_basic_block(basicblock *bb); - -static int -optimize_cfg(struct compiler *c, struct assembler *a, PyObject *consts); - -static int -trim_unused_consts(struct compiler *c, struct assembler *a, PyObject *consts); - -/* Duplicates exit BBs, so that line numbers can be propagated to them */ -static int -duplicate_exits_without_lineno(struct compiler *c); - -static int -extend_block(basicblock *bb); - -static int * -build_cellfixedoffsets(struct compiler *c) -{ - int nlocals = (int)PyDict_GET_SIZE(c->u->u_varnames); - int ncellvars = (int)PyDict_GET_SIZE(c->u->u_cellvars); - int nfreevars = (int)PyDict_GET_SIZE(c->u->u_freevars); - - int noffsets = ncellvars + nfreevars; - int *fixed = PyMem_New(int, noffsets); - if (fixed == NULL) { - PyErr_NoMemory(); - return NULL; - } - for (int i = 0; i < noffsets; i++) { - fixed[i] = nlocals + i; - } - - PyObject *varname, *cellindex; - Py_ssize_t pos = 0; - while (PyDict_Next(c->u->u_cellvars, &pos, &varname, &cellindex)) { - PyObject *varindex = PyDict_GetItem(c->u->u_varnames, varname); - if (varindex != NULL) { - assert(PyLong_AS_LONG(cellindex) < INT_MAX); - assert(PyLong_AS_LONG(varindex) < INT_MAX); - int oldindex = (int)PyLong_AS_LONG(cellindex); - int argoffset = (int)PyLong_AS_LONG(varindex); - fixed[oldindex] = argoffset; - } - } - - return fixed; -} - -static inline int -insert_instruction(basicblock *block, int pos, struct instr *instr) { - if (compiler_next_instr(block) < 0) { - return -1; - } - for (int i = block->b_iused-1; i > pos; i--) { - block->b_instr[i] = block->b_instr[i-1]; - } - block->b_instr[pos] = *instr; - return 0; -} - -static int -insert_prefix_instructions(struct compiler *c, basicblock *entryblock, - int *fixed, int nfreevars) -{ - - int flags = compute_code_flags(c); - if (flags < 0) { - return -1; - } - assert(c->u->u_firstlineno > 0); - - /* Add the generator prefix instructions. */ - if (flags & (CO_GENERATOR | CO_COROUTINE | CO_ASYNC_GENERATOR)) { - struct instr make_gen = { - .i_opcode = RETURN_GENERATOR, - .i_oparg = 0, - .i_lineno = c->u->u_firstlineno, - .i_col_offset = -1, - .i_end_lineno = c->u->u_firstlineno, - .i_end_col_offset = -1, - .i_target = NULL, - }; - if (insert_instruction(entryblock, 0, &make_gen) < 0) { - return -1; - } - struct instr pop_top = { - .i_opcode = POP_TOP, - .i_oparg = 0, - .i_lineno = -1, - .i_col_offset = -1, - .i_end_lineno = -1, - .i_end_col_offset = -1, - .i_target = NULL, - }; - if (insert_instruction(entryblock, 1, &pop_top) < 0) { - return -1; - } - } - - /* Set up cells for any variable that escapes, to be put in a closure. */ - const int ncellvars = (int)PyDict_GET_SIZE(c->u->u_cellvars); - if (ncellvars) { - // c->u->u_cellvars has the cells out of order so we sort them - // before adding the MAKE_CELL instructions. Note that we - // adjust for arg cells, which come first. - const int nvars = ncellvars + (int)PyDict_GET_SIZE(c->u->u_varnames); - int *sorted = PyMem_RawCalloc(nvars, sizeof(int)); - if (sorted == NULL) { - PyErr_NoMemory(); - return -1; - } - for (int i = 0; i < ncellvars; i++) { - sorted[fixed[i]] = i + 1; - } - for (int i = 0, ncellsused = 0; ncellsused < ncellvars; i++) { - int oldindex = sorted[i] - 1; - if (oldindex == -1) { - continue; - } - struct instr make_cell = { - .i_opcode = MAKE_CELL, - // This will get fixed in offset_derefs(). - .i_oparg = oldindex, - .i_lineno = -1, - .i_col_offset = -1, - .i_end_lineno = -1, - .i_end_col_offset = -1, - .i_target = NULL, - }; - if (insert_instruction(entryblock, ncellsused, &make_cell) < 0) { - return -1; - } - ncellsused += 1; - } - PyMem_RawFree(sorted); - } - - if (nfreevars) { - struct instr copy_frees = { - .i_opcode = COPY_FREE_VARS, - .i_oparg = nfreevars, - .i_lineno = -1, - .i_col_offset = -1, - .i_end_lineno = -1, - .i_end_col_offset = -1, - .i_target = NULL, - }; - if (insert_instruction(entryblock, 0, ©_frees) < 0) { - return -1; - } - - } - - return 0; -} - -/* Make sure that all returns have a line number, even if early passes - * have failed to propagate a correct line number. - * The resulting line number may not be correct according to PEP 626, - * but should be "good enough", and no worse than in older versions. */ -static void -guarantee_lineno_for_exits(struct assembler *a, int firstlineno) { - int lineno = firstlineno; - assert(lineno > 0); - for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { - if (b->b_iused == 0) { - continue; - } - struct instr *last = &b->b_instr[b->b_iused-1]; - if (last->i_lineno < 0) { - if (last->i_opcode == RETURN_VALUE) { - for (int i = 0; i < b->b_iused; i++) { - assert(b->b_instr[i].i_lineno < 0); - - b->b_instr[i].i_lineno = lineno; - } - } - } - else { - lineno = last->i_lineno; - } - } -} - -static int -fix_cell_offsets(struct compiler *c, basicblock *entryblock, int *fixedmap) -{ - int nlocals = (int)PyDict_GET_SIZE(c->u->u_varnames); - int ncellvars = (int)PyDict_GET_SIZE(c->u->u_cellvars); - int nfreevars = (int)PyDict_GET_SIZE(c->u->u_freevars); - int noffsets = ncellvars + nfreevars; - - // First deal with duplicates (arg cells). - int numdropped = 0; - for (int i = 0; i < noffsets ; i++) { - if (fixedmap[i] == i + nlocals) { - fixedmap[i] -= numdropped; - } - else { - // It was a duplicate (cell/arg). - numdropped += 1; - } - } - - // Then update offsets, either relative to locals or by cell2arg. - for (basicblock *b = entryblock; b != NULL; b = b->b_next) { - for (int i = 0; i < b->b_iused; i++) { - struct instr *inst = &b->b_instr[i]; - // This is called before extended args are generated. - assert(inst->i_opcode != EXTENDED_ARG); - assert(inst->i_opcode != EXTENDED_ARG_QUICK); - int oldoffset = inst->i_oparg; - switch(inst->i_opcode) { - case MAKE_CELL: - case LOAD_CLOSURE: - case LOAD_DEREF: - case STORE_DEREF: - case DELETE_DEREF: - case LOAD_CLASSDEREF: - assert(oldoffset >= 0); - assert(oldoffset < noffsets); - assert(fixedmap[oldoffset] >= 0); - inst->i_oparg = fixedmap[oldoffset]; - } - } - } - - return numdropped; -} - -static void -propagate_line_numbers(struct assembler *a); - -static PyCodeObject * -assemble(struct compiler *c, int addNone) -{ - basicblock *b, *entryblock; - struct assembler a; - int j, nblocks; - PyCodeObject *co = NULL; - PyObject *consts = NULL; - memset(&a, 0, sizeof(struct assembler)); - - /* Make sure every block that falls off the end returns None. */ - if (!c->u->u_curblock->b_return) { - UNSET_LOC(c); - if (addNone) - ADDOP_LOAD_CONST(c, Py_None); - ADDOP(c, RETURN_VALUE); - } - - for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { - if (normalize_basic_block(b)) { - return NULL; - } - } - - for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { - if (extend_block(b)) { - return NULL; - } - } - - nblocks = 0; - entryblock = NULL; - for (b = c->u->u_blocks; b != NULL; b = b->b_list) { - nblocks++; - entryblock = b; - } - assert(entryblock != NULL); - - assert(PyDict_GET_SIZE(c->u->u_varnames) < INT_MAX); - assert(PyDict_GET_SIZE(c->u->u_cellvars) < INT_MAX); - assert(PyDict_GET_SIZE(c->u->u_freevars) < INT_MAX); - int nlocals = (int)PyDict_GET_SIZE(c->u->u_varnames); - int ncellvars = (int)PyDict_GET_SIZE(c->u->u_cellvars); - int nfreevars = (int)PyDict_GET_SIZE(c->u->u_freevars); - assert(INT_MAX - nlocals - ncellvars > 0); - assert(INT_MAX - nlocals - ncellvars - nfreevars > 0); - int nlocalsplus = nlocals + ncellvars + nfreevars; - int *cellfixedoffsets = build_cellfixedoffsets(c); - if (cellfixedoffsets == NULL) { - goto error; - } + _PyCfg_ConvertPseudoOps(g.g_entryblock); - /* Set firstlineno if it wasn't explicitly set. */ - if (!c->u->u_firstlineno) { - if (entryblock->b_instr && entryblock->b_instr->i_lineno) { - c->u->u_firstlineno = entryblock->b_instr->i_lineno; - } - else { - c->u->u_firstlineno = 1; - } - } + /* Order of basic blocks must have been determined by now */ - // This must be called before fix_cell_offsets(). - if (insert_prefix_instructions(c, entryblock, cellfixedoffsets, nfreevars)) { + if (_PyCfg_ResolveJumps(&g) < 0) { goto error; } - if (!assemble_init(&a, nblocks, c->u->u_firstlineno)) - goto error; - a.a_entry = entryblock; - a.a_nblocks = nblocks; + /* Can't modify the bytecode after computing jump offsets. */ - int numdropped = fix_cell_offsets(c, entryblock, cellfixedoffsets); - PyMem_Free(cellfixedoffsets); // At this point we're done with it. - cellfixedoffsets = NULL; - if (numdropped < 0) { + if (cfg_to_instr_sequence(&g, &optimized_instrs) < 0) { goto error; } - nlocalsplus -= numdropped; - consts = consts_dict_keys_inorder(c->u->u_consts); + PyObject *consts = consts_dict_keys_inorder(umd->u_consts); if (consts == NULL) { goto error; } + co = _PyAssemble_MakeCodeObject(umd, const_cache, + consts, maxdepth, &optimized_instrs, + nlocalsplus, code_flags, filename); + Py_DECREF(consts); - if (optimize_cfg(c, &a, consts)) { - goto error; - } - if (duplicate_exits_without_lineno(c)) { - return NULL; - } - if (trim_unused_consts(c, &a, consts)) { - goto error; - } - propagate_line_numbers(&a); - guarantee_lineno_for_exits(&a, c->u->u_firstlineno); - int maxdepth = stackdepth(c); - if (maxdepth < 0) { - goto error; - } - /* TO DO -- For 3.12, make sure that `maxdepth <= MAX_ALLOWED_STACK_USE` */ - - if (label_exception_targets(entryblock)) { - goto error; - } - convert_exception_handlers_to_nops(entryblock); - for (basicblock *b = a.a_entry; b != NULL; b = b->b_next) { - clean_basic_block(b); - } - - /* Order of basic blocks must have been determined by now */ - normalize_jumps(&a); - - /* Can't modify the bytecode after computing jump offsets. */ - assemble_jump_offsets(&a, c); - - /* Emit code. */ - for(b = entryblock; b != NULL; b = b->b_next) { - for (j = 0; j < b->b_iused; j++) - if (!assemble_emit(&a, &b->b_instr[j])) - goto error; - } - - /* Emit location info */ - a.a_lineno = c->u->u_firstlineno; - for(b = entryblock; b != NULL; b = b->b_next) { - for (j = 0; j < b->b_iused; j++) - if (!assemble_emit_location(&a, &b->b_instr[j])) - goto error; - } - - if (!assemble_exception_table(&a)) { - goto error; - } - if (_PyBytes_Resize(&a.a_except_table, a.a_except_table_off) < 0) { - goto error; - } - if (!merge_const_one(c, &a.a_except_table)) { - goto error; - } - - if (_PyBytes_Resize(&a.a_linetable, a.a_location_off) < 0) { - goto error; - } - if (!merge_const_one(c, &a.a_linetable)) { - goto error; - } - - if (_PyBytes_Resize(&a.a_bytecode, a.a_offset * sizeof(_Py_CODEUNIT)) < 0) { - goto error; - } - if (!merge_const_one(c, &a.a_bytecode)) { - goto error; - } - - co = makecode(c, &a, consts, maxdepth, nlocalsplus); - error: - Py_XDECREF(consts); - assemble_free(&a); - if (cellfixedoffsets != NULL) { - PyMem_Free(cellfixedoffsets); - } - return co; -} - -static PyObject* -get_const_value(int opcode, int oparg, PyObject *co_consts) -{ - PyObject *constant = NULL; - assert(HAS_CONST(opcode)); - if (opcode == LOAD_CONST) { - constant = PyList_GET_ITEM(co_consts, oparg); - } - - if (constant == NULL) { - PyErr_SetString(PyExc_SystemError, - "Internal error: failed to get value of a constant"); - return NULL; - } - Py_INCREF(constant); - return constant; -} - -/* Replace LOAD_CONST c1, LOAD_CONST c2 ... LOAD_CONST cn, BUILD_TUPLE n - with LOAD_CONST (c1, c2, ... cn). - The consts table must still be in list form so that the - new constant (c1, c2, ... cn) can be appended. - Called with codestr pointing to the first LOAD_CONST. -*/ -static int -fold_tuple_on_constants(struct compiler *c, - struct instr *inst, - int n, PyObject *consts) -{ - /* Pre-conditions */ - assert(PyList_CheckExact(consts)); - assert(inst[n].i_opcode == BUILD_TUPLE); - assert(inst[n].i_oparg == n); - - for (int i = 0; i < n; i++) { - if (!HAS_CONST(inst[i].i_opcode)) { - return 0; - } - } - - /* Buildup new tuple of constants */ - PyObject *newconst = PyTuple_New(n); - if (newconst == NULL) { - return -1; - } - for (int i = 0; i < n; i++) { - int op = inst[i].i_opcode; - int arg = inst[i].i_oparg; - PyObject *constant = get_const_value(op, arg, consts); - if (constant == NULL) { - return -1; - } - PyTuple_SET_ITEM(newconst, i, constant); - } - if (merge_const_one(c, &newconst) == 0) { - Py_DECREF(newconst); - return -1; - } - - Py_ssize_t index; - for (index = 0; index < PyList_GET_SIZE(consts); index++) { - if (PyList_GET_ITEM(consts, index) == newconst) { - break; - } - } - if (index == PyList_GET_SIZE(consts)) { - if ((size_t)index >= (size_t)INT_MAX - 1) { - Py_DECREF(newconst); - PyErr_SetString(PyExc_OverflowError, "too many constants"); - return -1; - } - if (PyList_Append(consts, newconst)) { - Py_DECREF(newconst); - return -1; - } - } - Py_DECREF(newconst); - for (int i = 0; i < n; i++) { - inst[i].i_opcode = NOP; - } - inst[n].i_opcode = LOAD_CONST; - inst[n].i_oparg = (int)index; - return 0; -} - -#define VISITED (-1) - -// Replace an arbitrary run of SWAPs and NOPs with an optimal one that has the -// same effect. -static int -swaptimize(basicblock *block, int *ix) -{ - // NOTE: "./python -m test test_patma" serves as a good, quick stress test - // for this function. Make sure to blow away cached *.pyc files first! - assert(*ix < block->b_iused); - struct instr *instructions = &block->b_instr[*ix]; - // Find the length of the current sequence of SWAPs and NOPs, and record the - // maximum depth of the stack manipulations: - assert(instructions[0].i_opcode == SWAP); - int depth = instructions[0].i_oparg; - int len = 0; - int more = false; - int limit = block->b_iused - *ix; - while (++len < limit) { - int opcode = instructions[len].i_opcode; - if (opcode == SWAP) { - depth = Py_MAX(depth, instructions[len].i_oparg); - more = true; - } - else if (opcode != NOP) { - break; - } - } - // It's already optimal if there's only one SWAP: - if (!more) { - return 0; - } - // Create an array with elements {0, 1, 2, ..., depth - 1}: - int *stack = PyMem_Malloc(depth * sizeof(int)); - if (stack == NULL) { - PyErr_NoMemory(); - return -1; - } - for (int i = 0; i < depth; i++) { - stack[i] = i; - } - // Simulate the combined effect of these instructions by "running" them on - // our "stack": - for (int i = 0; i < len; i++) { - if (instructions[i].i_opcode == SWAP) { - int oparg = instructions[i].i_oparg; - int top = stack[0]; - // SWAPs are 1-indexed: - stack[0] = stack[oparg - 1]; - stack[oparg - 1] = top; - } - } - // Now we can begin! Our approach here is based on a solution to a closely - // related problem (https://cs.stackexchange.com/a/13938). It's easiest to - // think of this algorithm as determining the steps needed to efficiently - // "un-shuffle" our stack. By performing the moves in *reverse* order, - // though, we can efficiently *shuffle* it! For this reason, we will be - // replacing instructions starting from the *end* of the run. Since the - // solution is optimal, we don't need to worry about running out of space: - int current = len - 1; - for (int i = 0; i < depth; i++) { - // Skip items that have already been visited, or just happen to be in - // the correct location: - if (stack[i] == VISITED || stack[i] == i) { - continue; - } - // Okay, we've found an item that hasn't been visited. It forms a cycle - // with other items; traversing the cycle and swapping each item with - // the next will put them all in the correct place. The weird - // loop-and-a-half is necessary to insert 0 into every cycle, since we - // can only swap from that position: - int j = i; - while (true) { - // Skip the actual swap if our item is zero, since swapping the top - // item with itself is pointless: - if (j) { - assert(0 <= current); - // SWAPs are 1-indexed: - instructions[current].i_opcode = SWAP; - instructions[current--].i_oparg = j + 1; - } - if (stack[j] == VISITED) { - // Completed the cycle: - assert(j == i); - break; - } - int next_j = stack[j]; - stack[j] = VISITED; - j = next_j; - } - } - // NOP out any unused instructions: - while (0 <= current) { - instructions[current--].i_opcode = NOP; - } - PyMem_Free(stack); - *ix += len - 1; - return 0; -} - -// This list is pretty small, since it's only okay to reorder opcodes that: -// - can't affect control flow (like jumping or raising exceptions) -// - can't invoke arbitrary code (besides finalizers) -// - only touch the TOS (and pop it when finished) -#define SWAPPABLE(opcode) \ - ((opcode) == STORE_FAST || (opcode) == POP_TOP) - -#define STORES_TO(instr) \ - (((instr).i_opcode == STORE_FAST) ? (instr).i_oparg : -1) - -static int -next_swappable_instruction(basicblock *block, int i, int lineno) -{ - while (++i < block->b_iused) { - struct instr *instruction = &block->b_instr[i]; - if (0 <= lineno && instruction->i_lineno != lineno) { - // Optimizing across this instruction could cause user-visible - // changes in the names bound between line tracing events! - return -1; - } - if (instruction->i_opcode == NOP) { - continue; - } - if (SWAPPABLE(instruction->i_opcode)) { - return i; - } - return -1; - } - return -1; -} - -// Attempt to apply SWAPs statically by swapping *instructions* rather than -// stack items. For example, we can replace SWAP(2), POP_TOP, STORE_FAST(42) -// with the more efficient NOP, STORE_FAST(42), POP_TOP. -static void -apply_static_swaps(basicblock *block, int i) -{ - // SWAPs are to our left, and potential swaperands are to our right: - for (; 0 <= i; i--) { - assert(i < block->b_iused); - struct instr *swap = &block->b_instr[i]; - if (swap->i_opcode != SWAP) { - if (swap->i_opcode == NOP || SWAPPABLE(swap->i_opcode)) { - // Nope, but we know how to handle these. Keep looking: - continue; - } - // We can't reason about what this instruction does. Bail: - return; - } - int j = next_swappable_instruction(block, i, -1); - if (j < 0) { - return; - } - int k = j; - int lineno = block->b_instr[j].i_lineno; - for (int count = swap->i_oparg - 1; 0 < count; count--) { - k = next_swappable_instruction(block, k, lineno); - if (k < 0) { - return; - } - } - // The reordering is not safe if the two instructions to be swapped - // store to the same location, or if any intervening instruction stores - // to the same location as either of them. - int store_j = STORES_TO(block->b_instr[j]); - int store_k = STORES_TO(block->b_instr[k]); - if (store_j >= 0 || store_k >= 0) { - if (store_j == store_k) { - return; - } - for (int idx = j + 1; idx < k; idx++) { - int store_idx = STORES_TO(block->b_instr[idx]); - if (store_idx >= 0 && (store_idx == store_j || store_idx == store_k)) { - return; - } - } - } - - // Success! - swap->i_opcode = NOP; - struct instr temp = block->b_instr[j]; - block->b_instr[j] = block->b_instr[k]; - block->b_instr[k] = temp; - } -} - -// Attempt to eliminate jumps to jumps by updating inst to jump to -// target->i_target using the provided opcode. Return whether or not the -// optimization was successful. -static bool -jump_thread(struct instr *inst, struct instr *target, int opcode) -{ - assert(!IS_VIRTUAL_OPCODE(opcode) || IS_VIRTUAL_JUMP_OPCODE(opcode)); - assert(is_jump(inst)); - assert(is_jump(target)); - // bpo-45773: If inst->i_target == target->i_target, then nothing actually - // changes (and we fall into an infinite loop): - if (inst->i_lineno == target->i_lineno && - inst->i_target != target->i_target) - { - inst->i_target = target->i_target; - inst->i_opcode = opcode; - return true; - } - return false; -} - -/* Maximum size of basic block that should be copied in optimizer */ -#define MAX_COPY_SIZE 4 - -/* Optimization */ -static int -optimize_basic_block(struct compiler *c, basicblock *bb, PyObject *consts) -{ - assert(PyList_CheckExact(consts)); - struct instr nop; - nop.i_opcode = NOP; - struct instr *target; - for (int i = 0; i < bb->b_iused; i++) { - struct instr *inst = &bb->b_instr[i]; - int oparg = inst->i_oparg; - int nextop = i+1 < bb->b_iused ? bb->b_instr[i+1].i_opcode : 0; - if (is_jump(inst) || is_block_push(inst)) { - /* Skip over empty basic blocks. */ - while (inst->i_target->b_iused == 0) { - inst->i_target = inst->i_target->b_next; - } - target = &inst->i_target->b_instr[0]; - assert(!IS_ASSEMBLER_OPCODE(target->i_opcode)); - } - else { - target = &nop; - } - assert(!IS_ASSEMBLER_OPCODE(inst->i_opcode)); - switch (inst->i_opcode) { - /* Remove LOAD_CONST const; conditional jump */ - case LOAD_CONST: - { - PyObject* cnt; - int is_true; - int jump_if_true; - switch(nextop) { - case POP_JUMP_IF_FALSE: - case POP_JUMP_IF_TRUE: - cnt = get_const_value(inst->i_opcode, oparg, consts); - if (cnt == NULL) { - goto error; - } - is_true = PyObject_IsTrue(cnt); - Py_DECREF(cnt); - if (is_true == -1) { - goto error; - } - inst->i_opcode = NOP; - jump_if_true = nextop == POP_JUMP_IF_TRUE; - if (is_true == jump_if_true) { - bb->b_instr[i+1].i_opcode = JUMP; - bb->b_nofallthrough = 1; - } - else { - bb->b_instr[i+1].i_opcode = NOP; - } - break; - case JUMP_IF_FALSE_OR_POP: - case JUMP_IF_TRUE_OR_POP: - cnt = get_const_value(inst->i_opcode, oparg, consts); - if (cnt == NULL) { - goto error; - } - is_true = PyObject_IsTrue(cnt); - Py_DECREF(cnt); - if (is_true == -1) { - goto error; - } - jump_if_true = nextop == JUMP_IF_TRUE_OR_POP; - if (is_true == jump_if_true) { - bb->b_instr[i+1].i_opcode = JUMP; - bb->b_nofallthrough = 1; - } - else { - inst->i_opcode = NOP; - bb->b_instr[i+1].i_opcode = NOP; - } - break; - case IS_OP: - cnt = get_const_value(inst->i_opcode, oparg, consts); - if (cnt == NULL) { - goto error; - } - int jump_op = i+2 < bb->b_iused ? bb->b_instr[i+2].i_opcode : 0; - if (Py_IsNone(cnt) && (jump_op == POP_JUMP_IF_FALSE || jump_op == POP_JUMP_IF_TRUE)) { - unsigned char nextarg = bb->b_instr[i+1].i_oparg; - inst->i_opcode = NOP; - bb->b_instr[i+1].i_opcode = NOP; - bb->b_instr[i+2].i_opcode = nextarg ^ (jump_op == POP_JUMP_IF_FALSE) ? - POP_JUMP_IF_NOT_NONE : POP_JUMP_IF_NONE; - } - Py_DECREF(cnt); - break; - } - break; - } - - /* Try to fold tuples of constants. - Skip over BUILD_TUPLE(1) UNPACK_SEQUENCE(1). - Replace BUILD_TUPLE(2) UNPACK_SEQUENCE(2) with SWAP(2). - Replace BUILD_TUPLE(3) UNPACK_SEQUENCE(3) with SWAP(3). */ - case BUILD_TUPLE: - if (nextop == UNPACK_SEQUENCE && oparg == bb->b_instr[i+1].i_oparg) { - switch(oparg) { - case 1: - inst->i_opcode = NOP; - bb->b_instr[i+1].i_opcode = NOP; - continue; - case 2: - case 3: - inst->i_opcode = NOP; - bb->b_instr[i+1].i_opcode = SWAP; - continue; - } - } - if (i >= oparg) { - if (fold_tuple_on_constants(c, inst-oparg, oparg, consts)) { - goto error; - } - } - break; - - /* Simplify conditional jump to conditional jump where the - result of the first test implies the success of a similar - test or the failure of the opposite test. - Arises in code like: - "a and b or c" - "(a and b) and c" - "(a or b) or c" - "(a or b) and c" - x:JUMP_IF_FALSE_OR_POP y y:JUMP_IF_FALSE_OR_POP z - --> x:JUMP_IF_FALSE_OR_POP z - x:JUMP_IF_FALSE_OR_POP y y:JUMP_IF_TRUE_OR_POP z - --> x:POP_JUMP_IF_FALSE y+1 - where y+1 is the instruction following the second test. - */ - case JUMP_IF_FALSE_OR_POP: - switch (target->i_opcode) { - case POP_JUMP_IF_FALSE: - i -= jump_thread(inst, target, POP_JUMP_IF_FALSE); - break; - case JUMP: - case JUMP_IF_FALSE_OR_POP: - i -= jump_thread(inst, target, JUMP_IF_FALSE_OR_POP); - break; - case JUMP_IF_TRUE_OR_POP: - case POP_JUMP_IF_TRUE: - if (inst->i_lineno == target->i_lineno) { - // We don't need to bother checking for loops here, - // since a block's b_next cannot point to itself: - assert(inst->i_target != inst->i_target->b_next); - inst->i_opcode = POP_JUMP_IF_FALSE; - inst->i_target = inst->i_target->b_next; - --i; - } - break; - } - break; - case JUMP_IF_TRUE_OR_POP: - switch (target->i_opcode) { - case POP_JUMP_IF_TRUE: - i -= jump_thread(inst, target, POP_JUMP_IF_TRUE); - break; - case JUMP: - case JUMP_IF_TRUE_OR_POP: - i -= jump_thread(inst, target, JUMP_IF_TRUE_OR_POP); - break; - case JUMP_IF_FALSE_OR_POP: - case POP_JUMP_IF_FALSE: - if (inst->i_lineno == target->i_lineno) { - // We don't need to bother checking for loops here, - // since a block's b_next cannot point to itself: - assert(inst->i_target != inst->i_target->b_next); - inst->i_opcode = POP_JUMP_IF_TRUE; - inst->i_target = inst->i_target->b_next; - --i; - } - break; - } - break; - case POP_JUMP_IF_NOT_NONE: - case POP_JUMP_IF_NONE: - switch (target->i_opcode) { - case JUMP: - i -= jump_thread(inst, target, inst->i_opcode); - } - break; - case POP_JUMP_IF_FALSE: - switch (target->i_opcode) { - case JUMP: - i -= jump_thread(inst, target, POP_JUMP_IF_FALSE); - } - break; - case POP_JUMP_IF_TRUE: - switch (target->i_opcode) { - case JUMP: - i -= jump_thread(inst, target, POP_JUMP_IF_TRUE); - } - break; - case JUMP: - switch (target->i_opcode) { - case JUMP: - i -= jump_thread(inst, target, JUMP); - } - break; - case FOR_ITER: - if (target->i_opcode == JUMP) { - /* This will not work now because the jump (at target) could - * be forward or backward and FOR_ITER only jumps forward. We - * can re-enable this if ever we implement a backward version - * of FOR_ITER. - */ - /* - i -= jump_thread(inst, target, FOR_ITER); - */ - } - break; - case SWAP: - if (oparg == 1) { - inst->i_opcode = NOP; - break; - } - if (swaptimize(bb, &i)) { - goto error; - } - apply_static_swaps(bb, i); - break; - case KW_NAMES: - break; - case PUSH_NULL: - if (nextop == LOAD_GLOBAL && (inst[1].i_opcode & 1) == 0) { - inst->i_opcode = NOP; - inst->i_oparg = 0; - inst[1].i_oparg |= 1; - } - break; - default: - /* All HAS_CONST opcodes should be handled with LOAD_CONST */ - assert (!HAS_CONST(inst->i_opcode)); - } - } - return 0; error: - return -1; -} - -static bool -basicblock_has_lineno(const basicblock *bb) { - for (int i = 0; i < bb->b_iused; i++) { - if (bb->b_instr[i].i_lineno > 0) { - return true; - } - } - return false; -} - -/* If this block ends with an unconditional jump to an exit block, - * then remove the jump and extend this block with the target. - */ -static int -extend_block(basicblock *bb) { - if (bb->b_iused == 0) { - return 0; - } - struct instr *last = &bb->b_instr[bb->b_iused-1]; - if (last->i_opcode != JUMP && - last->i_opcode != JUMP_FORWARD && - last->i_opcode != JUMP_BACKWARD) { - return 0; - } - if (last->i_target->b_exit && last->i_target->b_iused <= MAX_COPY_SIZE) { - basicblock *to_copy = last->i_target; - if (basicblock_has_lineno(to_copy)) { - /* copy only blocks without line number (like implicit 'return None's) */ - return 0; - } - last->i_opcode = NOP; - for (int i = 0; i < to_copy->b_iused; i++) { - int index = compiler_next_instr(bb); - if (index < 0) { - return -1; - } - bb->b_instr[index] = to_copy->b_instr[i]; - } - bb->b_exit = 1; - } - return 0; -} - -static void -clean_basic_block(basicblock *bb) { - /* Remove NOPs when legal to do so. */ - int dest = 0; - int prev_lineno = -1; - for (int src = 0; src < bb->b_iused; src++) { - int lineno = bb->b_instr[src].i_lineno; - if (bb->b_instr[src].i_opcode == NOP) { - /* Eliminate no-op if it doesn't have a line number */ - if (lineno < 0) { - continue; - } - /* or, if the previous instruction had the same line number. */ - if (prev_lineno == lineno) { - continue; - } - /* or, if the next instruction has same line number or no line number */ - if (src < bb->b_iused - 1) { - int next_lineno = bb->b_instr[src+1].i_lineno; - if (next_lineno == lineno) { - continue; - } - if (next_lineno < 0) { - COPY_INSTR_LOC(bb->b_instr[src], bb->b_instr[src+1]); - continue; - } - } - else { - basicblock* next = bb->b_next; - while (next && next->b_iused == 0) { - next = next->b_next; - } - /* or if last instruction in BB and next BB has same line number */ - if (next) { - if (lineno == next->b_instr[0].i_lineno) { - continue; - } - } - } - - } - if (dest != src) { - bb->b_instr[dest] = bb->b_instr[src]; - } - dest++; - prev_lineno = lineno; - } - assert(dest <= bb->b_iused); - bb->b_iused = dest; -} - -static int -normalize_basic_block(basicblock *bb) { - /* Mark blocks as exit and/or nofallthrough. - Raise SystemError if CFG is malformed. */ - for (int i = 0; i < bb->b_iused; i++) { - assert(!IS_ASSEMBLER_OPCODE(bb->b_instr[i].i_opcode)); - switch(bb->b_instr[i].i_opcode) { - case RETURN_VALUE: - case RAISE_VARARGS: - case RERAISE: - bb->b_exit = 1; - bb->b_nofallthrough = 1; - break; - case JUMP: - case JUMP_NO_INTERRUPT: - bb->b_nofallthrough = 1; - /* fall through */ - case POP_JUMP_IF_NOT_NONE: - case POP_JUMP_IF_NONE: - case POP_JUMP_IF_FALSE: - case POP_JUMP_IF_TRUE: - case JUMP_IF_FALSE_OR_POP: - case JUMP_IF_TRUE_OR_POP: - case FOR_ITER: - if (i != bb->b_iused-1) { - PyErr_SetString(PyExc_SystemError, "malformed control flow graph."); - return -1; - } - /* Skip over empty basic blocks. */ - while (bb->b_instr[i].i_target->b_iused == 0) { - bb->b_instr[i].i_target = bb->b_instr[i].i_target->b_next; - } - - } - } - return 0; -} - -static int -mark_reachable(struct assembler *a) { - basicblock **stack, **sp; - sp = stack = (basicblock **)PyObject_Malloc(sizeof(basicblock *) * a->a_nblocks); - if (stack == NULL) { - return -1; - } - a->a_entry->b_predecessors = 1; - *sp++ = a->a_entry; - while (sp > stack) { - basicblock *b = *(--sp); - if (b->b_next && !b->b_nofallthrough) { - if (b->b_next->b_predecessors == 0) { - *sp++ = b->b_next; - } - b->b_next->b_predecessors++; - } - for (int i = 0; i < b->b_iused; i++) { - basicblock *target; - struct instr *instr = &b->b_instr[i]; - if (is_jump(instr) || is_block_push(instr)) { - target = instr->i_target; - if (target->b_predecessors == 0) { - *sp++ = target; - } - target->b_predecessors++; - } - } - } - PyObject_Free(stack); - return 0; -} - -static void -eliminate_empty_basic_blocks(basicblock *entry) { - /* Eliminate empty blocks */ - for (basicblock *b = entry; b != NULL; b = b->b_next) { - basicblock *next = b->b_next; - if (next) { - while (next->b_iused == 0 && next->b_next) { - next = next->b_next; - } - b->b_next = next; - } - } - for (basicblock *b = entry; b != NULL; b = b->b_next) { - if (b->b_iused == 0) { - continue; - } - if (is_jump(&b->b_instr[b->b_iused-1])) { - basicblock *target = b->b_instr[b->b_iused-1].i_target; - while (target->b_iused == 0) { - target = target->b_next; - } - b->b_instr[b->b_iused-1].i_target = target; - } - } -} - - -/* If an instruction has no line number, but it's predecessor in the BB does, - * then copy the line number. If a successor block has no line number, and only - * one predecessor, then inherit the line number. - * This ensures that all exit blocks (with one predecessor) receive a line number. - * Also reduces the size of the line number table, - * but has no impact on the generated line number events. - */ -static void -propagate_line_numbers(struct assembler *a) { - for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { - if (b->b_iused == 0) { - continue; - } - - // Not a real instruction, only to store positions - // from previous instructions and propagate them. - struct instr prev_instr = { - .i_lineno = -1, - .i_col_offset = -1, - .i_end_lineno = -1, - .i_end_col_offset = -1, - }; - for (int i = 0; i < b->b_iused; i++) { - if (b->b_instr[i].i_lineno < 0) { - COPY_INSTR_LOC(prev_instr, b->b_instr[i]); - } - else { - COPY_INSTR_LOC(b->b_instr[i], prev_instr); - } - } - if (!b->b_nofallthrough && b->b_next->b_predecessors == 1) { - assert(b->b_next->b_iused); - if (b->b_next->b_instr[0].i_lineno < 0) { - COPY_INSTR_LOC(prev_instr, b->b_next->b_instr[0]); - } - } - if (is_jump(&b->b_instr[b->b_iused-1])) { - basicblock *target = b->b_instr[b->b_iused-1].i_target; - if (target->b_predecessors == 1) { - if (target->b_instr[0].i_lineno < 0) { - COPY_INSTR_LOC(prev_instr, target->b_instr[0]); - } - } - } - } -} - -/* Perform optimizations on a control flow graph. - The consts object should still be in list form to allow new constants - to be appended. - - All transformations keep the code size the same or smaller. - For those that reduce size, the gaps are initially filled with - NOPs. Later those NOPs are removed. -*/ - -static int -optimize_cfg(struct compiler *c, struct assembler *a, PyObject *consts) -{ - for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { - if (optimize_basic_block(c, b, consts)) { - return -1; - } - clean_basic_block(b); - assert(b->b_predecessors == 0); - } - for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { - if (extend_block(b)) { - return -1; - } - } - if (mark_reachable(a)) { - return -1; - } - /* Delete unreachable instructions */ - for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { - if (b->b_predecessors == 0) { - b->b_iused = 0; - b->b_nofallthrough = 0; - } - } - eliminate_empty_basic_blocks(a->a_entry); - for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { - clean_basic_block(b); - } - /* Delete jump instructions made redundant by previous step. If a non-empty - block ends with a jump instruction, check if the next non-empty block - reached through normal flow control is the target of that jump. If it - is, then the jump instruction is redundant and can be deleted. - */ - int maybe_empty_blocks = 0; - for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { - if (b->b_iused > 0) { - struct instr *b_last_instr = &b->b_instr[b->b_iused - 1]; - assert(!IS_ASSEMBLER_OPCODE(b_last_instr->i_opcode)); - if (b_last_instr->i_opcode == JUMP || - b_last_instr->i_opcode == JUMP_NO_INTERRUPT) { - if (b_last_instr->i_target == b->b_next) { - assert(b->b_next->b_iused); - b->b_nofallthrough = 0; - b_last_instr->i_opcode = NOP; - maybe_empty_blocks = 1; - } - } - } - } - if (maybe_empty_blocks) { - eliminate_empty_basic_blocks(a->a_entry); - } - return 0; -} - -// Remove trailing unused constants. -static int -trim_unused_consts(struct compiler *c, struct assembler *a, PyObject *consts) -{ - assert(PyList_CheckExact(consts)); - - // The first constant may be docstring; keep it always. - int max_const_index = 0; - for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { - for (int i = 0; i < b->b_iused; i++) { - if ((b->b_instr[i].i_opcode == LOAD_CONST || - b->b_instr[i].i_opcode == KW_NAMES) && - b->b_instr[i].i_oparg > max_const_index) { - max_const_index = b->b_instr[i].i_oparg; - } - } - } - if (max_const_index+1 < PyList_GET_SIZE(consts)) { - //fprintf(stderr, "removing trailing consts: max=%d, size=%d\n", - // max_const_index, (int)PyList_GET_SIZE(consts)); - if (PyList_SetSlice(consts, max_const_index+1, - PyList_GET_SIZE(consts), NULL) < 0) { - return 1; - } - } - return 0; -} - -static inline int -is_exit_without_lineno(basicblock *b) { - if (!b->b_exit) { - return 0; - } - for (int i = 0; i < b->b_iused; i++) { - if (b->b_instr[i].i_lineno >= 0) { - return 0; - } - } - return 1; -} - -/* PEP 626 mandates that the f_lineno of a frame is correct - * after a frame terminates. It would be prohibitively expensive - * to continuously update the f_lineno field at runtime, - * so we make sure that all exiting instruction (raises and returns) - * have a valid line number, allowing us to compute f_lineno lazily. - * We can do this by duplicating the exit blocks without line number - * so that none have more than one predecessor. We can then safely - * copy the line number from the sole predecessor block. - */ -static int -duplicate_exits_without_lineno(struct compiler *c) -{ - /* Copy all exit blocks without line number that are targets of a jump. - */ - for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { - if (b->b_iused > 0 && is_jump(&b->b_instr[b->b_iused-1])) { - basicblock *target = b->b_instr[b->b_iused-1].i_target; - if (is_exit_without_lineno(target) && target->b_predecessors > 1) { - basicblock *new_target = compiler_copy_block(c, target); - if (new_target == NULL) { - return -1; - } - COPY_INSTR_LOC(b->b_instr[b->b_iused-1], new_target->b_instr[0]); - b->b_instr[b->b_iused-1].i_target = new_target; - target->b_predecessors--; - new_target->b_predecessors = 1; - new_target->b_next = target->b_next; - target->b_next = new_target; - } - } - } - /* Eliminate empty blocks */ - for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { - while (b->b_next && b->b_next->b_iused == 0) { - b->b_next = b->b_next->b_next; - } - } - /* Any remaining reachable exit blocks without line number can only be reached by - * fall through, and thus can only have a single predecessor */ - for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { - if (!b->b_nofallthrough && b->b_next && b->b_iused > 0) { - if (is_exit_without_lineno(b->b_next)) { - assert(b->b_next->b_iused > 0); - COPY_INSTR_LOC(b->b_instr[b->b_iused-1], b->b_next->b_instr[0]); - } - } - } - return 0; + Py_DECREF(const_cache); + _PyCfgBuilder_Fini(&g); + instr_sequence_fini(&optimized_instrs); + return co; } /* Retained for API compatibility. - * Optimization is now done in optimize_cfg */ + * Optimization is now done in _PyCfg_OptimizeCodeUnit */ PyObject * PyCode_Optimize(PyObject *code, PyObject* Py_UNUSED(consts), PyObject *Py_UNUSED(names), PyObject *Py_UNUSED(lnotab_obj)) { - Py_INCREF(code); - return code; + return Py_NewRef(code); } diff --git a/contrib/tools/python3/src/Python/condvar.h b/contrib/tools/python3/src/Python/condvar.h index e5df7ff1328..4ddc5311cf8 100644 --- a/contrib/tools/python3/src/Python/condvar.h +++ b/contrib/tools/python3/src/Python/condvar.h @@ -68,9 +68,9 @@ void _PyThread_cond_after(long long us, struct timespec *abs); Py_LOCAL_INLINE(int) PyCOND_TIMEDWAIT(PyCOND_T *cond, PyMUTEX_T *mut, long long us) { - struct timespec abs; - _PyThread_cond_after(us, &abs); - int ret = pthread_cond_timedwait(cond, mut, &abs); + struct timespec abs_timeout; + _PyThread_cond_after(us, &abs_timeout); + int ret = pthread_cond_timedwait(cond, mut, &abs_timeout); if (ret == ETIMEDOUT) { return 1; } diff --git a/contrib/tools/python3/src/Python/context.c b/contrib/tools/python3/src/Python/context.c index ef9db6a9cd0..1ffae9871be 100644 --- a/contrib/tools/python3/src/Python/context.c +++ b/contrib/tools/python3/src/Python/context.c @@ -124,8 +124,7 @@ _PyContext_Enter(PyThreadState *ts, PyObject *octx) ctx->ctx_prev = (PyContext *)ts->context; /* borrow */ ctx->ctx_entered = 1; - Py_INCREF(ctx); - ts->context = (PyObject *)ctx; + ts->context = Py_NewRef(ctx); ts->context_ver++; return 0; @@ -400,8 +399,7 @@ context_new_from_vars(PyHamtObject *vars) return NULL; } - Py_INCREF(vars); - ctx->ctx_vars = vars; + ctx->ctx_vars = (PyHamtObject*)Py_NewRef(vars); _PyObject_GC_TRACK(ctx); return ctx; @@ -546,8 +544,7 @@ context_tp_subscript(PyContext *self, PyObject *key) PyErr_SetObject(PyExc_KeyError, key); return NULL; } - Py_INCREF(val); - return val; + return Py_NewRef(val); } static int @@ -588,11 +585,9 @@ _contextvars_Context_get_impl(PyContext *self, PyObject *key, return NULL; } if (found == 0) { - Py_INCREF(default_value); - return default_value; + return Py_NewRef(default_value); } - Py_INCREF(val); - return val; + return Py_NewRef(val); } @@ -831,11 +826,9 @@ contextvar_new(PyObject *name, PyObject *def) return NULL; } - Py_INCREF(name); - var->var_name = name; + var->var_name = Py_NewRef(name); - Py_XINCREF(def); - var->var_default = def; + var->var_default = Py_XNewRef(def); var->var_cached = NULL; var->var_cached_tsid = 0; @@ -1176,8 +1169,7 @@ error: static PyObject * token_get_var(PyContextToken *self, void *Py_UNUSED(ignored)) { - Py_INCREF(self->tok_var); - return (PyObject *)self->tok_var; + return Py_NewRef(self->tok_var);; } static PyObject * @@ -1187,8 +1179,7 @@ token_get_old_value(PyContextToken *self, void *Py_UNUSED(ignored)) return get_token_missing(); } - Py_INCREF(self->tok_oldval); - return self->tok_oldval; + return Py_NewRef(self->tok_oldval); } static PyGetSetDef PyContextTokenType_getsetlist[] = { @@ -1228,14 +1219,11 @@ token_new(PyContext *ctx, PyContextVar *var, PyObject *val) return NULL; } - Py_INCREF(ctx); - tok->tok_ctx = ctx; + tok->tok_ctx = (PyContext*)Py_NewRef(ctx); - Py_INCREF(var); - tok->tok_var = var; + tok->tok_var = (PyContextVar*)Py_NewRef(var); - Py_XINCREF(val); - tok->tok_oldval = val; + tok->tok_oldval = Py_XNewRef(val); tok->tok_used = 0; @@ -1247,25 +1235,29 @@ token_new(PyContext *ctx, PyContextVar *var, PyObject *val) /////////////////////////// Token.MISSING -static PyObject *_token_missing; - - -typedef struct { - PyObject_HEAD -} PyContextTokenMissing; - - static PyObject * context_token_missing_tp_repr(PyObject *self) { return PyUnicode_FromString(""); } +static void +context_token_missing_tp_dealloc(_PyContextTokenMissing *Py_UNUSED(self)) +{ +#ifdef Py_DEBUG + /* The singleton is statically allocated. */ + _Py_FatalRefcountError("deallocating the token missing singleton"); +#else + return; +#endif +} + PyTypeObject _PyContextTokenMissing_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "Token.MISSING", - sizeof(PyContextTokenMissing), + sizeof(_PyContextTokenMissing), + .tp_dealloc = (destructor)context_token_missing_tp_dealloc, .tp_getattro = PyObject_GenericGetAttr, .tp_flags = Py_TPFLAGS_DEFAULT, .tp_repr = context_token_missing_tp_repr, @@ -1275,19 +1267,7 @@ PyTypeObject _PyContextTokenMissing_Type = { static PyObject * get_token_missing(void) { - if (_token_missing != NULL) { - Py_INCREF(_token_missing); - return _token_missing; - } - - _token_missing = (PyObject *)PyObject_New( - PyContextTokenMissing, &_PyContextTokenMissing_Type); - if (_token_missing == NULL) { - return NULL; - } - - Py_INCREF(_token_missing); - return _token_missing; + return Py_NewRef(&_Py_SINGLETON(context_token_missing)); } @@ -1312,15 +1292,11 @@ _PyContext_ClearFreeList(PyInterpreterState *interp) void _PyContext_Fini(PyInterpreterState *interp) { - if (_Py_IsMainInterpreter(interp)) { - Py_CLEAR(_token_missing); - } _PyContext_ClearFreeList(interp); #if defined(Py_DEBUG) && PyContext_MAXFREELIST > 0 struct _Py_context_state *state = &interp->context; state->numfree = -1; #endif - _PyHamt_Fini(interp); } @@ -1333,7 +1309,7 @@ _PyContext_Init(PyInterpreterState *interp) PyObject *missing = get_token_missing(); if (PyDict_SetItemString( - PyContextToken_Type.tp_dict, "MISSING", missing)) + _PyType_GetDict(&PyContextToken_Type), "MISSING", missing)) { Py_DECREF(missing); return _PyStatus_ERR("can't init context types"); diff --git a/contrib/tools/python3/src/Python/deepfreeze/README.txt b/contrib/tools/python3/src/Python/deepfreeze/README.txt index da55d4e7c74..276ab51143a 100644 --- a/contrib/tools/python3/src/Python/deepfreeze/README.txt +++ b/contrib/tools/python3/src/Python/deepfreeze/README.txt @@ -3,4 +3,4 @@ modules. Python/frozen.c depends on these files. None of these files are committed into the repo. -See Tools/scripts/freeze_modules.py for more info. +See Tools/build/freeze_modules.py for more info. diff --git a/contrib/tools/python3/src/Python/deepfreeze/deepfreeze.c b/contrib/tools/python3/src/Python/deepfreeze/deepfreeze.c index 32b81fcb81e..d6ce3426b45 100644 --- a/contrib/tools/python3/src/Python/deepfreeze/deepfreeze.c +++ b/contrib/tools/python3/src/Python/deepfreeze/deepfreeze.c @@ -1,6 +1,7 @@ #include "Python.h" #include "internal/pycore_gc.h" #include "internal/pycore_code.h" +#include "internal/pycore_frame.h" #include "internal/pycore_long.h" static @@ -11,7 +12,7 @@ static importlib__bootstrap_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 339, @@ -20,7 +21,7 @@ importlib__bootstrap_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x43\x6f\x72\x65\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\x69\x6d\x70\x6f\x72\x74\x2e\x0a\x0a\x54\x68\x69\x73\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x4e\x4f\x54\x20\x6d\x65\x61\x6e\x74\x20\x74\x6f\x20\x62\x65\x20\x64\x69\x72\x65\x63\x74\x6c\x79\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x21\x20\x49\x74\x20\x68\x61\x73\x20\x62\x65\x65\x6e\x20\x64\x65\x73\x69\x67\x6e\x65\x64\x20\x73\x75\x63\x68\x0a\x74\x68\x61\x74\x20\x69\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x62\x6f\x6f\x74\x73\x74\x72\x61\x70\x70\x65\x64\x20\x69\x6e\x74\x6f\x20\x50\x79\x74\x68\x6f\x6e\x20\x61\x73\x20\x74\x68\x65\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\x69\x6d\x70\x6f\x72\x74\x2e\x20\x41\x73\x0a\x73\x75\x63\x68\x20\x69\x74\x20\x72\x65\x71\x75\x69\x72\x65\x73\x20\x74\x68\x65\x20\x69\x6e\x6a\x65\x63\x74\x69\x6f\x6e\x20\x6f\x66\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x6d\x6f\x64\x75\x6c\x65\x73\x20\x61\x6e\x64\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73\x20\x69\x6e\x20\x6f\x72\x64\x65\x72\x20\x74\x6f\x0a\x77\x6f\x72\x6b\x2e\x20\x4f\x6e\x65\x20\x73\x68\x6f\x75\x6c\x64\x20\x75\x73\x65\x20\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x20\x61\x73\x20\x74\x68\x65\x20\x70\x75\x62\x6c\x69\x63\x2d\x66\x61\x63\x69\x6e\x67\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x0a\x0a", @@ -37,7 +38,7 @@ importlib__bootstrap_toplevel_consts_1_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -55,7 +56,7 @@ static const_str_AttributeError = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -64,33 +65,11 @@ const_str_AttributeError = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AttributeError", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[5]; - } -const_str_type = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 4, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "type", -}; static struct { PyGC_Head _gc_head; @@ -103,7 +82,7 @@ importlib__bootstrap_toplevel_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -111,7 +90,7 @@ importlib__bootstrap_toplevel_consts_1_names = { .ob_item = { &_Py_ID(__qualname__), & const_str_AttributeError._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), }, }, }; @@ -123,7 +102,7 @@ static importlib__bootstrap_toplevel_consts_1_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 29, @@ -132,7 +111,7 @@ importlib__bootstrap_toplevel_consts_1_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -145,7 +124,7 @@ static const_str__object_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -154,7 +133,7 @@ const_str__object_name = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_object_name", @@ -163,18 +142,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[65]; + char ob_sval[51]; } importlib__bootstrap_toplevel_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 64, + .ob_size = 50, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x02\x03\x05\x26\xd8\x0f\x12\xd4\x0f\x1f\xd0\x08\x1f\xf8\xdd\x0b\x19\xf0\x00\x01\x05\x26\xf0\x00\x01\x05\x26\xf0\x00\x01\x05\x26\xdd\x0f\x13\x90\x43\x89\x79\x8c\x79\xd4\x0f\x25\xd0\x08\x25\xd0\x08\x25\xd0\x08\x25\xf0\x03\x01\x05\x26\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x02\x03\x05\x26\xd8\x0f\x12\xd7\x0f\x1f\xd1\x0f\x1f\xd0\x08\x1f\xf8\xdc\x0b\x19\xf2\x00\x01\x05\x26\xdc\x0f\x13\x90\x43\x8b\x79\xd7\x0f\x25\xd1\x0f\x25\xd2\x08\x25\xf0\x03\x01\x05\x26\xfa", }; static struct { @@ -185,13 +164,13 @@ static importlib__bootstrap_toplevel_consts_1_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x82\x06\x09\x00\x89\x1e\x2a\x03\xa9\x01\x2a\x03", + .ob_sval = "\x82\x0b\x0e\x00\x8e\x1e\x2f\x03\xae\x01\x2f\x03", }; static struct { @@ -205,7 +184,7 @@ importlib__bootstrap_toplevel_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -216,40 +195,38 @@ importlib__bootstrap_toplevel_consts_1_localsplusnames = { }, }; static - struct _PyCode_DEF(90) + struct _PyCode_DEF(100) importlib__bootstrap_toplevel_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 45, + .ob_size = 50, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & importlib__bootstrap_toplevel_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = & importlib__bootstrap_toplevel_consts_1_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 23, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 1, .co_localsplusnames = & importlib__bootstrap_toplevel_consts_1_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str__object_name._ascii.ob_base, .co_qualname = & const_str__object_name._ascii.ob_base, .co_linetable = & importlib__bootstrap_toplevel_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x17\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x18\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -260,7 +237,7 @@ static importlib__bootstrap_toplevel_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 47, @@ -269,7 +246,7 @@ importlib__bootstrap_toplevel_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Simple substitute for functools.update_wrapper.", @@ -286,7 +263,7 @@ importlib__bootstrap_toplevel_consts_3_consts_1 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -311,7 +288,7 @@ importlib__bootstrap_toplevel_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -331,7 +308,7 @@ static const_str_hasattr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -340,7 +317,7 @@ const_str_hasattr = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "hasattr", @@ -353,7 +330,7 @@ static const_str_setattr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -362,7 +339,7 @@ const_str_setattr = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "setattr", @@ -375,7 +352,7 @@ static const_str_update = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -384,7 +361,7 @@ const_str_update = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "update", @@ -401,7 +378,7 @@ importlib__bootstrap_toplevel_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -423,7 +400,7 @@ static const_str__wrap = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -432,7 +409,7 @@ const_str__wrap = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_wrap", @@ -441,18 +418,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[95]; + char ob_sval[71]; } importlib__bootstrap_toplevel_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 94, + .ob_size = 70, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x13\x48\xf0\x00\x02\x05\x39\xf0\x00\x02\x05\x39\x88\x07\xdd\x0b\x12\x90\x33\x98\x07\xd1\x0b\x20\xd4\x0b\x20\xf0\x00\x01\x09\x39\xdd\x0c\x13\x90\x43\x98\x17\xa5\x27\xa8\x23\xa8\x77\xd1\x22\x37\xd4\x22\x37\xd1\x0c\x38\xd4\x0c\x38\xd0\x0c\x38\xf8\xd8\x04\x07\x84\x4c\xd7\x04\x17\xd2\x04\x17\x98\x03\x9c\x0c\xd1\x04\x25\xd4\x04\x25\xd0\x04\x25\xd0\x04\x25\xd0\x04\x25", + .ob_sval = "\x80\x00\xe0\x13\x48\xf2\x00\x02\x05\x39\x88\x07\xdc\x0b\x12\x90\x33\x98\x07\xd5\x0b\x20\xdc\x0c\x13\x90\x43\x98\x17\xa4\x27\xa8\x23\xa8\x77\xd3\x22\x37\xd5\x0c\x38\xf0\x05\x02\x05\x39\xf0\x06\x00\x05\x08\x87\x4c\x81\x4c\xd7\x04\x17\xd1\x04\x17\x98\x03\x9f\x0c\x99\x0c\xd5\x04\x25", }; static struct { @@ -462,7 +439,7 @@ static const_str_new = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -471,7 +448,7 @@ const_str_new = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "new", @@ -484,7 +461,7 @@ static const_str_old = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -493,7 +470,7 @@ const_str_old = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "old", @@ -510,7 +487,7 @@ importlib__bootstrap_toplevel_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -531,7 +508,7 @@ static importlib__bootstrap_toplevel_consts_3_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 3, @@ -540,40 +517,38 @@ importlib__bootstrap_toplevel_consts_3_localspluskinds = { .ob_sval = " ", }; static - struct _PyCode_DEF(172) + struct _PyCode_DEF(164) importlib__bootstrap_toplevel_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 86, + .ob_size = 82, }, .co_consts = & importlib__bootstrap_toplevel_consts_3_consts._object.ob_base.ob_base, .co_names = & importlib__bootstrap_toplevel_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 9, .co_firstlineno = 40, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 2, .co_localsplusnames = & importlib__bootstrap_toplevel_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str__wrap._ascii.ob_base, .co_qualname = & const_str__wrap._ascii.ob_base, .co_linetable = & importlib__bootstrap_toplevel_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x44\x00\x5d\x31\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1f\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x32\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x44\x00\x5d\x26\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x73\x01\x8c\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x28\x04\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -584,7 +559,7 @@ static const_str_sys = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -593,7 +568,7 @@ const_str_sys = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sys", @@ -610,13 +585,13 @@ importlib__bootstrap_toplevel_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_type._ascii.ob_base, + &_Py_ID(type), & const_str_sys._ascii.ob_base, }, }, @@ -629,7 +604,7 @@ static const_str__new_module = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -638,7 +613,7 @@ const_str__new_module = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_new_module", @@ -647,18 +622,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[19]; } importlib__bootstrap_toplevel_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0b\x14\x8d\x34\x95\x03\x89\x39\x8c\x39\x90\x54\x89\x3f\x8c\x3f\xd0\x04\x1a", + .ob_sval = "\x80\x00\xd8\x0b\x14\x8c\x34\x94\x03\x8b\x39\x90\x54\x8b\x3f\xd0\x04\x1a", }; static struct { @@ -672,7 +647,7 @@ importlib__bootstrap_toplevel_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -683,63 +658,61 @@ importlib__bootstrap_toplevel_consts_4_localsplusnames = { }, }; static - struct _PyCode_DEF(60) + struct _PyCode_DEF(44) importlib__bootstrap_toplevel_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 30, + .ob_size = 22, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & importlib__bootstrap_toplevel_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 48, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 3, .co_localsplusnames = & importlib__bootstrap_toplevel_consts_4_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str__new_module._ascii.ob_base, .co_qualname = & const_str__new_module._ascii.ob_base, .co_linetable = & importlib__bootstrap_toplevel_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x02\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x02\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[15]; + uint8_t _data[6]; } -const_str__DeadlockError = { +const_str__List = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 14, + .length = 5, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_DeadlockError", + ._data = "_List", }; static struct { @@ -753,13 +726,13 @@ importlib__bootstrap_toplevel_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str__DeadlockError._ascii.ob_base, + & const_str__List._ascii.ob_base, Py_None, }, }, @@ -776,7 +749,7 @@ importlib__bootstrap_toplevel_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -792,242 +765,129 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[6]; } importlib__bootstrap_toplevel_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xd8\x04\x08\x80\x44", + .ob_sval = "\x84\x00\xd8\x04\x08", }; static - struct _PyCode_DEF(14) + struct _PyCode_DEF(12) importlib__bootstrap_toplevel_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 7, + .ob_size = 6, }, .co_consts = & importlib__bootstrap_toplevel_consts_5_consts._object.ob_base.ob_base, .co_names = & importlib__bootstrap_toplevel_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 61, + .co_firstlineno = 55, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 4, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__DeadlockError._ascii.ob_base, - .co_qualname = & const_str__DeadlockError._ascii.ob_base, + .co_name = & const_str__List._ascii.ob_base, + .co_qualname = & const_str__List._ascii.ob_base, .co_linetable = & importlib__bootstrap_toplevel_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x79\x01", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[12]; + uint8_t _data[21]; } -const_str__ModuleLock = { +const_str__WeakValueDictionary = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 11, + .length = 20, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_ModuleLock", + ._data = "_WeakValueDictionary", }; static struct { PyASCIIObject _ascii; - uint8_t _data[170]; + uint8_t _data[48]; } -importlib__bootstrap_toplevel_consts_7_consts_1 = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 169, + .length = 47, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x41\x20\x72\x65\x63\x75\x72\x73\x69\x76\x65\x20\x6c\x6f\x63\x6b\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x77\x68\x69\x63\x68\x20\x69\x73\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\x64\x65\x74\x65\x63\x74\x20\x64\x65\x61\x64\x6c\x6f\x63\x6b\x73\x0a\x20\x20\x20\x20\x28\x65\x2e\x67\x2e\x20\x74\x68\x72\x65\x61\x64\x20\x31\x20\x74\x72\x79\x69\x6e\x67\x20\x74\x6f\x20\x74\x61\x6b\x65\x20\x6c\x6f\x63\x6b\x73\x20\x41\x20\x74\x68\x65\x6e\x20\x42\x2c\x20\x61\x6e\x64\x20\x74\x68\x72\x65\x61\x64\x20\x32\x20\x74\x72\x79\x69\x6e\x67\x20\x74\x6f\x0a\x20\x20\x20\x20\x74\x61\x6b\x65\x20\x6c\x6f\x63\x6b\x73\x20\x42\x20\x74\x68\x65\x6e\x20\x41\x29\x2e\x0a\x20\x20\x20\x20", + ._data = "_WeakValueDictionary.__init__..KeyedRef", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[1]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_2_consts = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_1 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 1, }, .ob_item = { - Py_None, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + &_Py_ID(key), }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[8]; - } -const_str__thread = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 7, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "_thread", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[14]; - } -const_str_allocate_lock = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 13, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "allocate_lock", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[5]; - } -const_str_lock = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 4, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "lock", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[7]; - } -const_str_wakeup = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 6, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "wakeup", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[6]; - } -const_str_owner = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 5, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "owner", -}; static struct { PyASCIIObject _ascii; uint8_t _data[6]; } -const_str_count = { +const_str_super = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -1036,143 +896,142 @@ const_str_count = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "count", + ._data = "super", }; static struct { PyASCIIObject _ascii; - uint8_t _data[8]; + uint8_t _data[7]; } -const_str_waiters = { +const_str_remove = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 7, + .length = 6, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "waiters", + ._data = "remove", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[8]; + PyObject *ob_item[4]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_2_names = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 8, + .ob_size = 4, }, .ob_item = { - & const_str__thread._ascii.ob_base, - & const_str_allocate_lock._ascii.ob_base, - & const_str_lock._ascii.ob_base, - & const_str_wakeup._ascii.ob_base, - &_Py_ID(name), - & const_str_owner._ascii.ob_base, - & const_str_count._ascii.ob_base, - & const_str_waiters._ascii.ob_base, + & const_str_super._ascii.ob_base, + &_Py_ID(__new__), + & const_str_remove._ascii.ob_base, + &_Py_ID(key), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[21]; + uint8_t _data[56]; } -importlib__bootstrap_toplevel_consts_7_consts_2_qualname = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 20, + .length = 55, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_ModuleLock.__init__", + ._data = "_WeakValueDictionary.__init__..KeyedRef.__new__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[73]; + char ob_sval[38]; } -importlib__bootstrap_toplevel_consts_7_consts_2_linetable = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 72, + .ob_size = 37, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x14\x1b\xd7\x14\x29\xd2\x14\x29\xd1\x14\x2b\xd4\x14\x2b\x88\x04\x8c\x09\xdd\x16\x1d\xd7\x16\x2b\xd2\x16\x2b\xd1\x16\x2d\xd4\x16\x2d\x88\x04\x8c\x0b\xd8\x14\x18\x88\x04\x8c\x09\xd8\x15\x19\x88\x04\x8c\x0a\xd8\x15\x16\x88\x04\x8c\x0a\xd8\x17\x18\x88\x04\x8c\x0c\x88\x0c\x88\x0c", + .ob_sval = "\xf8\x80\x00\xdc\x17\x1c\x91\x77\x91\x7f\xa0\x74\xa8\x52\xb0\x14\xb7\x1b\xb1\x1b\xd3\x17\x3d\x90\x04\xd8\x1b\x1e\x90\x04\x94\x08\xd8\x17\x1b\x90\x0b", }; static struct { PyASCIIObject _ascii; - uint8_t _data[5]; + uint8_t _data[3]; } -const_str_self = { +const_str_ob = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 4, + .length = 2, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "self", + ._data = "ob", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[5]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 5, }, .ob_item = { - & const_str_self._ascii.ob_base, - &_Py_ID(name), + &_Py_ID(type), + & const_str_ob._ascii.ob_base, + &_Py_ID(key), + &_Py_ID(self), + &_Py_ID(__class__), }, }, }; @@ -1180,55 +1039,53 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[3]; + char ob_sval[6]; } -importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 2, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = " ", + .ob_sval = "\x20\x20\x20\x20\x80", }; static - struct _PyCode_DEF(182) -importlib__bootstrap_toplevel_consts_7_consts_2 = { + struct _PyCode_DEF(76) +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 91, + .ob_size = 38, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_7_consts_2_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, + .co_flags = 19, + .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 2, - .co_firstlineno = 71, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 74, + .co_nlocalsplus = 5, + .co_nlocals = 4, .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_nfreevars = 1, + .co_version = 5, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = &_Py_ID(__init__), - .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_2_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x7c\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", - ._co_firsttraceable = 0, + .co_name = &_Py_ID(__new__), + .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x04\x7c\x00\x8d\x05\x00\x00\x7c\x00\x7c\x01\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x02\x7c\x03\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x53\x00", + ._co_firsttraceable = 1, }; static struct { @@ -1238,366 +1095,225 @@ static PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_3_consts = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - Py_None, - Py_True, - Py_False, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[10]; - } -const_str_get_ident = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 9, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + & const_str_super._ascii.ob_base, + &_Py_ID(__init__), + & const_str_remove._ascii.ob_base, }, }, - ._data = "get_ident", }; static struct { PyASCIIObject _ascii; - uint8_t _data[4]; + uint8_t _data[57]; } -const_str_set = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 3, + .length = 56, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "set", + ._data = "_WeakValueDictionary.__init__..KeyedRef.__init__", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[13]; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[23]; } -const_str__blocking_on = { - ._ascii = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_linetable = { + .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 12, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, + .ob_size = 22, }, - ._data = "_blocking_on", + .ob_shash = -1, + .ob_sval = "\xf8\x80\x00\xdc\x10\x15\x91\x07\xd1\x10\x20\xa0\x12\xa0\x54\xa7\x5b\xa1\x5b\xd5\x10\x31", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[7]; + PyObject *ob_item[4]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_3_names = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 7, + .ob_size = 4, }, .ob_item = { - & const_str__thread._ascii.ob_base, - & const_str_get_ident._ascii.ob_base, - & const_str_owner._ascii.ob_base, - & const_str_set._ascii.ob_base, - & const_str__blocking_on._ascii.ob_base, - &_Py_ID(get), - &_Py_ID(add), - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[13]; - } -const_str_has_deadlock = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 12, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "has_deadlock", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[25]; - } -importlib__bootstrap_toplevel_consts_7_consts_3_qualname = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 24, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + &_Py_ID(self), + & const_str_ob._ascii.ob_base, + &_Py_ID(key), + &_Py_ID(__class__), }, }, - ._data = "_ModuleLock.has_deadlock", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[127]; + char ob_sval[5]; } -importlib__bootstrap_toplevel_consts_7_consts_3_linetable = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 126, + .ob_size = 4, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0d\x14\xd7\x0d\x1e\xd2\x0d\x1e\xd1\x0d\x20\xd4\x0d\x20\x88\x02\xd8\x0e\x12\x8c\x6a\x88\x03\xdd\x0f\x12\x89\x75\x8c\x75\x88\x04\xf0\x02\x0e\x09\x1a\xdd\x13\x1f\xd7\x13\x23\xd2\x13\x23\xa0\x43\xd1\x13\x28\xd4\x13\x28\x88\x44\xd8\x0f\x13\x88\x7c\xd8\x17\x1c\x90\x75\xd8\x12\x16\x94\x2a\x88\x43\xd8\x0f\x12\x90\x62\x8a\x79\x88\x79\xd8\x17\x1b\x90\x74\xd8\x0f\x12\x90\x64\x88\x7b\x88\x7b\xf0\x0c\x00\x18\x1d\x90\x75\xd8\x0c\x10\x8f\x48\x8a\x48\x90\x53\x89\x4d\x8c\x4d\x88\x4d\xf0\x1d\x0e\x09\x1a", + .ob_sval = "\x20\x20\x20\x80", }; static - struct { - PyASCIIObject _ascii; - uint8_t _data[3]; - } -const_str_me = { - ._ascii = { + struct _PyCode_DEF(58) +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3 = { + .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 2, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 29, }, - ._data = "me", + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 19, + .co_argcount = 3, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 79, + .co_nlocalsplus = 4, + .co_nlocals = 3, + .co_ncellvars = 0, + .co_nfreevars = 1, + .co_version = 6, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = &_Py_ID(__init__), + .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x03\x7c\x00\x8d\x05\x00\x00\x7c\x01\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", + ._co_firsttraceable = 1, }; static struct { PyASCIIObject _ascii; - uint8_t _data[4]; + uint8_t _data[11]; } -const_str_tid = { +const_str__iterating = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 3, + .length = 10, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "tid", + ._data = "_iterating", }; static struct { PyASCIIObject _ascii; - uint8_t _data[5]; + uint8_t _data[18]; } -const_str_seen = { +const_str__pending_removals = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 4, + .length = 17, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, - }, - }, - ._data = "seen", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[5]; - }_object; - } -importlib__bootstrap_toplevel_consts_7_consts_3_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 5, - }, - .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_me._ascii.ob_base, - & const_str_tid._ascii.ob_base, - & const_str_seen._ascii.ob_base, - & const_str_lock._ascii.ob_base, + .statically_allocated = 1, }, }, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[6]; - } -importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 5, - }, - .ob_shash = -1, - .ob_sval = " ", -}; -static - struct _PyCode_DEF(242) -importlib__bootstrap_toplevel_consts_7_consts_3 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 121, - }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_3_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_7_consts_3_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 79, - .co_nlocalsplus = 5, - .co_nlocals = 5, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, - .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_has_deadlock._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_3_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x09\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x80\x02\x64\x02\x53\x00\x7c\x04\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x7c\x01\x6b\x02\x00\x00\x00\x00\x72\x02\x64\x01\x53\x00\x7c\x02\x7c\x03\x76\x00\x72\x02\x64\x02\x53\x00\x7c\x03\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x49", - ._co_firsttraceable = 0, + ._data = "_pending_removals", }; static struct { PyASCIIObject _ascii; - uint8_t _data[186]; + uint8_t _data[9]; } -importlib__bootstrap_toplevel_consts_7_consts_4_consts_0 = { +const_str__weakref = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 185, + .length = 8, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x71\x75\x69\x72\x65\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6c\x6f\x63\x6b\x2e\x20\x20\x49\x66\x20\x61\x20\x70\x6f\x74\x65\x6e\x74\x69\x61\x6c\x20\x64\x65\x61\x64\x6c\x6f\x63\x6b\x20\x69\x73\x20\x64\x65\x74\x65\x63\x74\x65\x64\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x20\x5f\x44\x65\x61\x64\x6c\x6f\x63\x6b\x45\x72\x72\x6f\x72\x20\x69\x73\x20\x72\x61\x69\x73\x65\x64\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x4f\x74\x68\x65\x72\x77\x69\x73\x65\x2c\x20\x74\x68\x65\x20\x6c\x6f\x63\x6b\x20\x69\x73\x20\x61\x6c\x77\x61\x79\x73\x20\x61\x63\x71\x75\x69\x72\x65\x64\x20\x61\x6e\x64\x20\x54\x72\x75\x65\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", + ._data = "_weakref", }; static struct { PyASCIIObject _ascii; - uint8_t _data[24]; + uint8_t _data[21]; } -importlib__bootstrap_toplevel_consts_7_consts_4_consts_5 = { +const_str__remove_dead_weakref = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 23, + .length = 20, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "deadlock detected by %r", + ._data = "_remove_dead_weakref", }; static struct { @@ -1607,263 +1323,208 @@ static PyObject *ob_item[7]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_4_consts = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_7_consts_4_consts_0._ascii.ob_base, - Py_True, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], - Py_None, - & importlib__bootstrap_toplevel_consts_7_consts_4_consts_5._ascii.ob_base, - Py_False, + & const_str__iterating._ascii.ob_base, + & const_str__pending_removals._ascii.ob_base, + &_Py_ID(append), + &_Py_ID(key), + & const_str__weakref._ascii.ob_base, + & const_str__remove_dead_weakref._ascii.ob_base, + &_Py_ID(data), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[8]; + uint8_t _data[55]; } -const_str_acquire = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 7, + .length = 54, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "acquire", + ._data = "_WeakValueDictionary.__init__..KeyedRef.remove", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[79]; + } +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 78, + }, + .ob_shash = -1, + .ob_sval = "\xf8\x80\x00\xf1\x08\x00\x18\x24\x93\x7e\x90\x04\xd8\x13\x17\xd0\x13\x23\xd8\x17\x1b\x97\x7f\x92\x7f\xd8\x18\x1c\xd7\x18\x2e\xd1\x18\x2e\xd7\x18\x35\xd1\x18\x35\xb0\x62\xb7\x66\xb1\x66\xd5\x18\x3d\xe4\x18\x20\xd7\x18\x35\xd1\x18\x35\xb0\x64\xb7\x69\xb1\x69\xc0\x12\xc7\x16\xc1\x16\xd5\x18\x48\xf0\x09\x00\x14\x24", }; static struct { PyASCIIObject _ascii; - uint8_t _data[8]; + uint8_t _data[3]; } -const_str_release = { +const_str_wr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 7, + .length = 2, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, - }, - }, - ._data = "release", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[12]; - }_object; - } -importlib__bootstrap_toplevel_consts_7_consts_4_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 12, - }, - .ob_item = { - & const_str__thread._ascii.ob_base, - & const_str_get_ident._ascii.ob_base, - & const_str__blocking_on._ascii.ob_base, - & const_str_lock._ascii.ob_base, - & const_str_count._ascii.ob_base, - & const_str_owner._ascii.ob_base, - & const_str_has_deadlock._ascii.ob_base, - & const_str__DeadlockError._ascii.ob_base, - & const_str_wakeup._ascii.ob_base, - & const_str_acquire._ascii.ob_base, - & const_str_waiters._ascii.ob_base, - & const_str_release._ascii.ob_base, + .statically_allocated = 1, }, }, + ._data = "wr", }; static struct { PyASCIIObject _ascii; - uint8_t _data[20]; + uint8_t _data[13]; } -importlib__bootstrap_toplevel_consts_7_consts_4_qualname = { +const_str_self_weakref = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 19, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_ModuleLock.acquire", + ._data = "self_weakref", }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[382]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; } -importlib__bootstrap_toplevel_consts_7_consts_4_linetable = { - .ob_base = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localsplusnames = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + & const_str_wr._ascii.ob_base, + &_Py_ID(self), + & const_str_self_weakref._ascii.ob_base, }, - .ob_size = 381, }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0c\x00\x0f\x16\xd7\x0e\x1f\xd2\x0e\x1f\xd1\x0e\x21\xd4\x0e\x21\x88\x03\xd8\x1c\x20\x8d\x0c\x90\x53\xd1\x08\x19\xf0\x02\x0f\x09\x22\xf0\x02\x0c\x0d\x26\xd8\x15\x19\x94\x59\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xd8\x17\x1b\x94\x7a\xa0\x51\x92\x7f\x90\x7f\xa8\x24\xac\x2a\xb8\x03\xd2\x2a\x3b\xd0\x2a\x3b\xd8\x25\x28\x98\x04\x9c\x0a\xd8\x18\x1c\x98\x0a\x9c\x0a\xa0\x61\x99\x0f\x98\x0a\x9c\x0a\xd8\x1f\x23\xf0\x09\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf1\x00\x08\x11\x2a\xf4\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf5\x1a\x00\x11\x1d\x98\x53\xd0\x10\x21\xd0\x10\x21\xd0\x10\x21\xf0\x11\x00\x18\x1c\xd7\x17\x28\xd2\x17\x28\xd1\x17\x2a\xd4\x17\x2a\xf0\x00\x01\x15\x4f\x01\xdd\x1e\x2c\xd0\x2d\x46\xc8\x14\xd1\x2d\x4d\xd1\x1e\x4e\xd4\x1e\x4e\xd0\x18\x4e\xd8\x17\x1b\x94\x7b\xd7\x17\x2a\xd2\x17\x2a\xa8\x35\xd1\x17\x31\xd4\x17\x31\xf0\x00\x01\x15\x2a\xd8\x18\x1c\x98\x0c\x9c\x0c\xa8\x01\xd1\x18\x29\x98\x0c\x9c\x0c\xf0\x11\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf1\x00\x08\x11\x2a\xf4\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf8\xf8\xf8\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf0\x00\x08\x11\x2a\xf0\x14\x00\x11\x15\x94\x0b\xd7\x10\x23\xd2\x10\x23\xd1\x10\x25\xd4\x10\x25\xd0\x10\x25\xd8\x10\x14\x94\x0b\xd7\x10\x23\xd2\x10\x23\xd1\x10\x25\xd4\x10\x25\xd0\x10\x25\xf0\x19\x0c\x0d\x26\xf8\xf5\x1c\x00\x11\x1d\x98\x53\xd0\x10\x21\xd0\x0c\x21\xd0\x0c\x21\xd0\x0c\x21\xd0\x0c\x21", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[60]; + char ob_sval[4]; } -importlib__bootstrap_toplevel_consts_7_consts_4_exceptiontable = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 59, + .ob_size = 3, }, .ob_shash = -1, - .ob_sval = "\xa5\x08\x44\x0b\x00\xad\x2f\x43\x0d\x03\xc1\x1c\x0b\x44\x0b\x00\xc1\x31\x41\x10\x43\x0d\x03\xc3\x01\x0c\x44\x0b\x00\xc3\x0d\x04\x43\x11\x07\xc3\x11\x03\x44\x0b\x00\xc3\x14\x01\x43\x11\x07\xc3\x15\x36\x44\x0b\x00\xc4\x0b\x0a\x44\x15\x03", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -importlib__bootstrap_toplevel_consts_7_consts_4_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_tid._ascii.ob_base, - }, - }, + .ob_sval = "\x20\x20\x80", }; static - struct _PyCode_DEF(560) -importlib__bootstrap_toplevel_consts_7_consts_4 = { + struct _PyCode_DEF(210) +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 280, + .ob_size = 105, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_4_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_7_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = & importlib__bootstrap_toplevel_consts_7_consts_4_exceptiontable.ob_base.ob_base, - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 19, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 100, - .co_nlocalsplus = 2, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 82, + .co_nlocalsplus = 3, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_nfreevars = 1, + .co_version = 7, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_acquire._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_4_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3c\x00\x00\x00\x09\x00\x09\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x02\x00\x00\x00\x00\x73\x0b\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6b\x02\x00\x00\x00\x00\x72\x2d\x7c\x01\x7c\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x78\x01\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7a\x0d\x00\x00\x63\x02\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x64\x04\x64\x04\x64\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3d\x00\x64\x01\x53\x00\x7c\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x12\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x7c\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x10\x7c\x00\x78\x01\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7a\x0d\x00\x00\x63\x02\x5f\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x64\x04\x64\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\xe5\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3d\x00\x77\x00\x78\x03\x59\x00\x77\x01", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[32]; - } -importlib__bootstrap_toplevel_consts_7_consts_5_consts_1 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 31, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "cannot release un-acquired lock", + .co_name = & const_str_remove._ascii.ob_base, + .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x02\x00\x89\x02\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x81\x5d\x7c\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x26\x7c\x01\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x79\x00", + ._co_firsttraceable = 1, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[5]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_5_consts = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 5, }, .ob_item = { - Py_None, - & importlib__bootstrap_toplevel_consts_7_consts_5_consts_1._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_0._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_1._object.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4.ob_base.ob_base, }, }, }; @@ -1872,10 +1533,10 @@ static PyASCIIObject _ascii; uint8_t _data[13]; } -const_str_RuntimeError = { +const_str_staticmethod = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -1884,10 +1545,10 @@ const_str_RuntimeError = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "RuntimeError", + ._data = "staticmethod", }; static struct { @@ -1897,755 +1558,763 @@ static PyObject *ob_item[9]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_5_names = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, }, .ob_item = { - & const_str__thread._ascii.ob_base, - & const_str_get_ident._ascii.ob_base, - & const_str_lock._ascii.ob_base, - & const_str_owner._ascii.ob_base, - & const_str_RuntimeError._ascii.ob_base, - & const_str_count._ascii.ob_base, - & const_str_waiters._ascii.ob_base, - & const_str_wakeup._ascii.ob_base, - & const_str_release._ascii.ob_base, + &_Py_ID(__name__), + &_Py_ID(__module__), + &_Py_ID(__qualname__), + &_Py_ID(__slots__), + &_Py_ID(__new__), + &_Py_ID(__init__), + & const_str_staticmethod._ascii.ob_base, + & const_str_remove._ascii.ob_base, + &_Py_ID(__classcell__), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[20]; + uint8_t _data[9]; } -importlib__bootstrap_toplevel_consts_7_consts_5_qualname = { +const_str_KeyedRef = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 19, + .length = 8, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_ModuleLock.release", + ._data = "KeyedRef", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[250]; + char ob_sval[41]; } -importlib__bootstrap_toplevel_consts_7_consts_5_linetable = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 249, + .ob_size = 40, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0e\x15\xd7\x0e\x1f\xd2\x0e\x1f\xd1\x0e\x21\xd4\x0e\x21\x88\x03\xd8\x0d\x11\x8c\x59\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xd8\x0f\x13\x8c\x7a\x98\x53\xd2\x0f\x20\xd0\x0f\x20\xdd\x16\x22\xd0\x23\x44\xd1\x16\x45\xd4\x16\x45\xd0\x10\x45\xd8\x13\x17\x94\x3a\xa0\x01\x92\x3e\x90\x3e\x90\x3e\x90\x3e\xd8\x0c\x10\x88\x4a\x8c\x4a\x98\x21\x89\x4f\x88\x4a\x8c\x4a\xd8\x0f\x13\x8c\x7a\x98\x51\x8a\x7f\x88\x7f\xd8\x1d\x21\x90\x04\x94\x0a\xd8\x13\x17\x94\x3c\xf0\x00\x02\x11\x2a\xd8\x14\x18\x90\x4c\x94\x4c\xa0\x41\xd1\x14\x25\x90\x4c\x94\x4c\xd8\x14\x18\x94\x4b\xd7\x14\x27\xd2\x14\x27\xd1\x14\x29\xd4\x14\x29\xd0\x14\x29\xf0\x13\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf1\x00\x09\x09\x2a\xf4\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf8\xf8\xf8\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a", + .ob_sval = "\xf9\x84\x00\xe0\x18\x1e\x88\x49\xf4\x04\x03\x0d\x1c\xf4\x0a\x01\x0d\x32\xf0\x06\x00\x0e\x1a\xf3\x02\x08\x0d\x49\x01\xf3\x03\x00\x0e\x1a\xf4\x02\x08\x0d\x49\x01", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + &_Py_ID(__class__), + & const_str_self_weakref._ascii.ob_base, + }, + }, }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[19]; + char ob_sval[3]; } -importlib__bootstrap_toplevel_consts_7_consts_5_exceptiontable = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 18, + .ob_size = 2, }, .ob_shash = -1, - .ob_sval = "\xa1\x41\x3a\x42\x28\x03\xc2\x28\x04\x42\x2c\x07\xc2\x2f\x01\x42\x2c\x07", + .ob_sval = "\x40\x80", }; static - struct _PyCode_DEF(362) -importlib__bootstrap_toplevel_consts_7_consts_5 = { + struct _PyCode_DEF(66) +importlib__bootstrap_toplevel_consts_7_consts_1_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 181, + .ob_size = 33, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_5_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_7_consts_5_names._object.ob_base.ob_base, - .co_exceptiontable = & importlib__bootstrap_toplevel_consts_7_consts_5_exceptiontable.ob_base.ob_base, - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, + .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 0, + .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 125, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 70, .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_nlocals = 0, + .co_ncellvars = 1, + .co_nfreevars = 1, + .co_version = 8, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_release._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_5_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6b\x03\x00\x00\x00\x00\x72\x0f\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x04\x00\x00\x00\x00\x73\x02\x4a\x00\x82\x01\x7c\x00\x78\x01\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7a\x17\x00\x00\x63\x02\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x02\x00\x00\x00\x00\x72\x37\x64\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x72\x29\x7c\x00\x78\x01\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7a\x17\x00\x00\x63\x02\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x64\x00\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x64\x00\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[24]; - } -importlib__bootstrap_toplevel_consts_7_consts_6_consts_1 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 23, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "_ModuleLock({!r}) at {}", + .co_name = & const_str_KeyedRef._ascii.ob_base, + .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_0._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x87\x00\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x88\x00\x66\x01\x64\x02\x84\x08\x5a\x04\x88\x00\x66\x01\x64\x03\x84\x08\x5a\x05\x65\x06\x88\x01\x66\x01\x64\x04\x84\x08\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x88\x00\x78\x01\x5a\x08\x53\x00", + ._co_firsttraceable = 2, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_6_consts = { +importlib__bootstrap_toplevel_consts_7_consts_1_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 3, }, .ob_item = { Py_None, - & importlib__bootstrap_toplevel_consts_7_consts_6_consts_1._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1.ob_base.ob_base, + & const_str_KeyedRef._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[7]; + uint8_t _data[4]; } -const_str_format = { +const_str_ref = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 6, + .length = 3, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "format", + ._data = "ref", }; static struct { PyASCIIObject _ascii; - uint8_t _data[3]; + uint8_t _data[10]; } -const_str_id = { +const_str__KeyedRef = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 2, + .length = 9, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "id", + ._data = "_KeyedRef", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[4]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_6_names = { +importlib__bootstrap_toplevel_consts_7_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 4, }, .ob_item = { - & const_str_format._ascii.ob_base, - &_Py_ID(name), - & const_str_id._ascii.ob_base, + & const_str__weakref._ascii.ob_base, + & const_str_ref._ascii.ob_base, + & const_str__KeyedRef._ascii.ob_base, + &_Py_ID(clear), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[21]; + uint8_t _data[30]; } -importlib__bootstrap_toplevel_consts_7_consts_6_qualname = { +importlib__bootstrap_toplevel_consts_7_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 20, + .length = 29, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_ModuleLock.__repr__", + ._data = "_WeakValueDictionary.__init__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[33]; + char ob_sval[54]; } -importlib__bootstrap_toplevel_consts_7_consts_6_linetable = { +importlib__bootstrap_toplevel_consts_7_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 32, + .ob_size = 53, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x28\xd7\x0f\x2f\xd2\x0f\x2f\xb0\x04\xb4\x09\xbd\x32\xb8\x64\xb9\x38\xbc\x38\xd1\x0f\x44\xd4\x0f\x44\xd0\x08\x44", + .ob_sval = "\xf8\x80\x00\xdc\x17\x1f\x97\x7c\x91\x7c\xa0\x44\xd3\x17\x29\x88\x0c\xf6\x0a\x15\x09\x49\x01\x94\x78\x97\x7c\x91\x7c\xf4\x00\x15\x09\x49\x01\xf0\x2e\x00\x1a\x22\x88\x04\x8c\x0e\xd8\x08\x0c\x8f\x0a\x89\x0a\x8d\x0c", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames = { +importlib__bootstrap_toplevel_consts_7_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), + & const_str_KeyedRef._ascii.ob_base, + & const_str_self_weakref._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(82) -importlib__bootstrap_toplevel_consts_7_consts_6 = { + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[4]; + } +importlib__bootstrap_toplevel_consts_7_consts_1_localspluskinds = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 3, + }, + .ob_shash = -1, + .ob_sval = " @", +}; +static + struct _PyCode_DEF(148) +importlib__bootstrap_toplevel_consts_7_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 41, + .ob_size = 74, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_6_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_7_consts_6_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_7_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 138, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, - .co_ncellvars = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 64, + .co_nlocalsplus = 3, + .co_nlocals = 2, + .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_version = 9, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = &_Py_ID(__repr__), - .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_6_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", - ._co_firsttraceable = 0, + .co_name = &_Py_ID(__init__), + .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_1_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x02\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x8a\x02\x02\x00\x47\x00\x88\x02\x66\x01\x64\x01\x84\x08\x64\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", + ._co_firsttraceable = 1, }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[8]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[4]; } -importlib__bootstrap_toplevel_consts_7_consts = { - ._object = { +const_str_set = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 8, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_item = { - & const_str__ModuleLock._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_7_consts_1._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_7_consts_2.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_7_consts_3.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_7_consts_4.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_7_consts_5.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_7_consts_6.ob_base.ob_base, - Py_None, + .length = 3, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "set", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[9]; + PyObject *ob_item[4]; }_object; } -importlib__bootstrap_toplevel_consts_7_names = { +importlib__bootstrap_toplevel_consts_7_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 9, + .ob_size = 4, }, .ob_item = { - &_Py_ID(__name__), - &_Py_ID(__module__), - &_Py_ID(__qualname__), - &_Py_ID(__doc__), - &_Py_ID(__init__), - & const_str_has_deadlock._ascii.ob_base, - & const_str_acquire._ascii.ob_base, - & const_str_release._ascii.ob_base, - &_Py_ID(__repr__), + & const_str__pending_removals._ascii.ob_base, + & const_str_set._ascii.ob_base, + & const_str__iterating._ascii.ob_base, + &_Py_ID(data), + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[27]; + } +importlib__bootstrap_toplevel_consts_7_consts_2_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 26, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "_WeakValueDictionary.clear", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[111]; + char ob_sval[27]; } -importlib__bootstrap_toplevel_consts_7_linetable = { +importlib__bootstrap_toplevel_consts_7_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 110, + .ob_size = 26, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x03\x05\x08\xf0\x00\x03\x05\x08\xf0\x0a\x06\x05\x19\xf0\x00\x06\x05\x19\xf0\x00\x06\x05\x19\xf0\x10\x13\x05\x1a\xf0\x00\x13\x05\x1a\xf0\x00\x13\x05\x1a\xf0\x2a\x17\x05\x22\xf0\x00\x17\x05\x22\xf0\x00\x17\x05\x22\xf0\x32\x0b\x05\x2a\xf0\x00\x0b\x05\x2a\xf0\x00\x0b\x05\x2a\xf0\x1a\x01\x05\x45\x01\xf0\x00\x01\x05\x45\x01\xf0\x00\x01\x05\x45\x01\xf0\x00\x01\x05\x45\x01\xf0\x00\x01\x05\x45\x01", + .ob_sval = "\x80\x00\xd8\x21\x23\x88\x04\xd4\x08\x1e\xdc\x1a\x1d\x9b\x25\x88\x04\x8c\x0f\xd8\x14\x16\x88\x04\x8d\x09", }; static - struct _PyCode_DEF(48) -importlib__bootstrap_toplevel_consts_7 = { + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; + } +importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, + }, + .ob_item = { + &_Py_ID(self), + }, + }, +}; +static + struct _PyCode_DEF(62) +importlib__bootstrap_toplevel_consts_7_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 24, + .ob_size = 31, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_7_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_7_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 0, + .co_flags = 3, + .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 65, - .co_nlocalsplus = 0, - .co_nlocals = 0, - .co_nplaincellvars = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 96, + .co_nlocalsplus = 1, + .co_nlocals = 1, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_version = 10, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__ModuleLock._ascii.ob_base, - .co_qualname = & const_str__ModuleLock._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x64\x07\x53\x00", + .co_name = &_Py_ID(clear), + .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_2_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x67\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[17]; + uint8_t _data[4]; } -const_str__DummyModuleLock = { +const_str_pop = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 16, + .length = 3, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_DummyModuleLock", + ._data = "pop", }; static struct { PyASCIIObject _ascii; - uint8_t _data[87]; + uint8_t _data[11]; } -importlib__bootstrap_toplevel_consts_9_consts_1 = { +const_str_IndexError = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 86, + .length = 10, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x41\x20\x73\x69\x6d\x70\x6c\x65\x20\x5f\x4d\x6f\x64\x75\x6c\x65\x4c\x6f\x63\x6b\x20\x65\x71\x75\x69\x76\x61\x6c\x65\x6e\x74\x20\x66\x6f\x72\x20\x50\x79\x74\x68\x6f\x6e\x20\x62\x75\x69\x6c\x64\x73\x20\x77\x69\x74\x68\x6f\x75\x74\x0a\x20\x20\x20\x20\x6d\x75\x6c\x74\x69\x2d\x74\x68\x72\x65\x61\x64\x69\x6e\x67\x20\x73\x75\x70\x70\x6f\x72\x74\x2e", + ._data = "IndexError", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[6]; }_object; } -importlib__bootstrap_toplevel_consts_9_consts_2_names = { +importlib__bootstrap_toplevel_consts_7_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 6, }, .ob_item = { - &_Py_ID(name), - & const_str_count._ascii.ob_base, + & const_str__pending_removals._ascii.ob_base, + & const_str_pop._ascii.ob_base, + &_Py_ID(data), + & const_str_IndexError._ascii.ob_base, + & const_str__weakref._ascii.ob_base, + & const_str__remove_dead_weakref._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[26]; + uint8_t _data[17]; } -importlib__bootstrap_toplevel_consts_9_consts_2_qualname = { +const_str__commit_removals = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 25, + .length = 16, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_DummyModuleLock.__init__", + ._data = "_commit_removals", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[38]; + } +importlib__bootstrap_toplevel_consts_7_consts_3_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 37, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "_WeakValueDictionary._commit_removals", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[21]; + char ob_sval[87]; } -importlib__bootstrap_toplevel_consts_9_consts_2_linetable = { +importlib__bootstrap_toplevel_consts_7_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 20, + .ob_size = 86, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x14\x18\x88\x04\x8c\x09\xd8\x15\x16\x88\x04\x8c\x0a\x88\x0a\x88\x0a", -}; -static - struct _PyCode_DEF(34) -importlib__bootstrap_toplevel_consts_9_consts_2 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 17, - }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_9_consts_2_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 2, - .co_firstlineno = 146, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = &_Py_ID(__init__), - .co_qualname = & importlib__bootstrap_toplevel_consts_9_consts_2_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_9_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", - ._co_firsttraceable = 0, + .ob_sval = "\x80\x00\xd8\x0e\x12\xd7\x0e\x24\xd1\x0e\x24\xd7\x0e\x28\xd1\x0e\x28\x88\x03\xd8\x0c\x10\x8f\x49\x89\x49\x88\x01\xd8\x0e\x12\xf0\x02\x03\x0d\x17\xd9\x16\x19\x93\x65\x90\x03\xf4\x06\x00\x0d\x15\xd7\x0c\x29\xd1\x0c\x29\xa8\x21\xa8\x53\xd4\x0c\x31\xf0\x0b\x00\x0f\x13\xf8\xf4\x06\x00\x14\x1e\xf2\x00\x01\x0d\x17\xd9\x10\x16\xf0\x03\x01\x0d\x17\xfa", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[3]; - }_object; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[18]; } -importlib__bootstrap_toplevel_consts_9_consts_3_consts = { - ._object = { +importlib__bootstrap_toplevel_consts_7_consts_3_exceptiontable = { + .ob_base = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 3, - }, - .ob_item = { - Py_None, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], - Py_True, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, + .ob_size = 17, }, + .ob_shash = -1, + .ob_sval = "\xa5\x07\x41\x03\x00\xc1\x03\x09\x41\x0f\x03\xc1\x0e\x01\x41\x0f\x03", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[4]; }_object; } -importlib__bootstrap_toplevel_consts_9_consts_3_names = { +importlib__bootstrap_toplevel_consts_7_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 4, }, .ob_item = { - & const_str_count._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[25]; - } -importlib__bootstrap_toplevel_consts_9_consts_3_qualname = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 24, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + &_Py_ID(self), + & const_str_pop._ascii.ob_base, + &_Py_ID(d), + &_Py_ID(key), }, }, - ._data = "_DummyModuleLock.acquire", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[5]; } -importlib__bootstrap_toplevel_consts_9_consts_3_linetable = { +importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 4, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x0c\x88\x0a\x8c\x0a\x90\x61\x89\x0f\x88\x0a\x8c\x0a\xd8\x0f\x13\x88\x74", + .ob_sval = " ", }; static - struct _PyCode_DEF(38) -importlib__bootstrap_toplevel_consts_9_consts_3 = { + struct _PyCode_DEF(164) +importlib__bootstrap_toplevel_consts_7_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 19, + .ob_size = 82, }, - .co_consts = & importlib__bootstrap_toplevel_consts_9_consts_3_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_9_consts_3_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_7_consts_3_names._object.ob_base.ob_base, + .co_exceptiontable = & importlib__bootstrap_toplevel_consts_7_consts_3_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 150, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 101, + .co_nlocalsplus = 4, + .co_nlocals = 4, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_version = 11, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_acquire._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_9_consts_3_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_9_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x78\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7a\x0d\x00\x00\x63\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x53\x00", + .co_name = & const_str__commit_removals._ascii.ob_base, + .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_3_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x09\x00\x09\x00\x02\x00\x7c\x01\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x03\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x1f\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[4]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[9]; } -importlib__bootstrap_toplevel_consts_9_consts_4_consts = { - ._object = { +const_str_KeyError = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 4, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_item = { - Py_None, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & importlib__bootstrap_toplevel_consts_7_consts_5_consts_1._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + .length = 8, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "KeyError", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[4]; }_object; } -importlib__bootstrap_toplevel_consts_9_consts_4_names = { +importlib__bootstrap_toplevel_consts_7_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 4, }, .ob_item = { - & const_str_count._ascii.ob_base, - & const_str_RuntimeError._ascii.ob_base, + & const_str__pending_removals._ascii.ob_base, + & const_str__commit_removals._ascii.ob_base, + &_Py_ID(data), + & const_str_KeyError._ascii.ob_base, }, }, }; @@ -2654,10 +2323,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -importlib__bootstrap_toplevel_consts_9_consts_4_qualname = { +importlib__bootstrap_toplevel_consts_7_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -2666,184 +2335,285 @@ importlib__bootstrap_toplevel_consts_9_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_DummyModuleLock.release", + ._data = "_WeakValueDictionary.get", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[48]; + char ob_sval[88]; } -importlib__bootstrap_toplevel_consts_9_consts_4_linetable = { +importlib__bootstrap_toplevel_consts_7_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 47, + .ob_size = 87, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0b\x0f\x8c\x3a\x98\x11\x8a\x3f\x88\x3f\xdd\x12\x1e\xd0\x1f\x40\xd1\x12\x41\xd4\x12\x41\xd0\x0c\x41\xd8\x08\x0c\x88\x0a\x8c\x0a\x90\x61\x89\x0f\x88\x0a\x8c\x0a\x88\x0a\x88\x0a", + .ob_sval = "\x80\x00\xd8\x0b\x0f\xd7\x0b\x21\xd2\x0b\x21\xd8\x0c\x10\xd7\x0c\x21\xd1\x0c\x21\xd4\x0c\x23\xf0\x02\x08\x09\x19\xd8\x11\x15\x97\x19\x91\x19\x98\x33\x91\x1e\x88\x42\xf1\x08\x00\x16\x18\x93\x54\x90\x09\x90\x01\xd0\x0f\x22\xd8\x17\x1e\x90\x0e\xe0\x17\x18\x90\x08\xf8\xf4\x0d\x00\x10\x18\xf2\x00\x01\x09\x1b\xd8\x13\x1a\x8a\x4e\xf0\x03\x01\x09\x1b\xfa", }; static - struct _PyCode_DEF(90) -importlib__bootstrap_toplevel_consts_9_consts_4 = { + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[16]; + } +importlib__bootstrap_toplevel_consts_7_consts_5_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, - .ob_size = 45, + .ob_size = 15, }, - .co_consts = & importlib__bootstrap_toplevel_consts_9_consts_4_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_9_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 154, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), - .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_release._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_9_consts_4_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_9_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x0f\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x78\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7a\x17\x00\x00\x63\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", - ._co_firsttraceable = 0, + .ob_shash = -1, + .ob_sval = "\x9e\x0f\x3a\x00\xba\x0b\x41\x08\x03\xc1\x07\x01\x41\x08\x03", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[29]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[5]; + }_object; } -importlib__bootstrap_toplevel_consts_9_consts_5_consts_1 = { - ._ascii = { +importlib__bootstrap_toplevel_consts_7_consts_5_localsplusnames = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 5, }, - .length = 28, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + &_Py_ID(self), + &_Py_ID(key), + &_Py_ID(default), + & const_str_wr._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[111], + }, + }, +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[6]; + } +importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 5, + }, + .ob_shash = -1, + .ob_sval = " ", +}; +static + struct _PyCode_DEF(150) +importlib__bootstrap_toplevel_consts_7_consts_5 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 75, }, - ._data = "_DummyModuleLock({!r}) at {}", + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_7_consts_5_names._object.ob_base.ob_base, + .co_exceptiontable = & importlib__bootstrap_toplevel_consts_7_consts_5_exceptiontable.ob_base.ob_base, + .co_flags = 3, + .co_argcount = 3, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 111, + .co_nlocalsplus = 5, + .co_nlocals = 5, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 12, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_5_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = &_Py_ID(get), + .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_5_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x10\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x7d\x03\x02\x00\x7c\x03\xab\x00\x00\x00\x00\x00\x00\x00\x78\x01\x7d\x04\x80\x02\x7c\x02\x53\x00\x7c\x04\x53\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x02\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 0, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[5]; }_object; } -importlib__bootstrap_toplevel_consts_9_consts_5_consts = { +importlib__bootstrap_toplevel_consts_7_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 5, }, .ob_item = { - Py_None, - & importlib__bootstrap_toplevel_consts_9_consts_5_consts_1._ascii.ob_base, + &_Py_ID(data), + & const_str_KeyError._ascii.ob_base, + & const_str__pending_removals._ascii.ob_base, + & const_str__commit_removals._ascii.ob_base, + & const_str__KeyedRef._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[26]; + uint8_t _data[11]; } -importlib__bootstrap_toplevel_consts_9_consts_5_qualname = { +const_str_setdefault = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 25, + .length = 10, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_DummyModuleLock.__repr__", + ._data = "setdefault", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[32]; + } +importlib__bootstrap_toplevel_consts_7_consts_6_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 31, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "_WeakValueDictionary.setdefault", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[33]; + char ob_sval[110]; } -importlib__bootstrap_toplevel_consts_9_consts_5_linetable = { +importlib__bootstrap_toplevel_consts_7_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 32, + .ob_size = 109, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x2d\xd7\x0f\x34\xd2\x0f\x34\xb0\x54\xb4\x59\xc5\x02\xc0\x34\xc1\x08\xc4\x08\xd1\x0f\x49\xd4\x0f\x49\xd0\x08\x49", + .ob_sval = "\x80\x00\xf0\x02\x03\x09\x15\xd8\x10\x1e\x90\x04\x97\x09\x91\x09\x98\x23\x91\x0e\xd3\x10\x20\x88\x41\xf0\x06\x00\x0c\x0d\x88\x39\xd8\x0f\x13\xd7\x0f\x25\xd2\x0f\x25\xd8\x10\x14\xd7\x10\x25\xd1\x10\x25\xd4\x10\x27\xd8\x1d\x21\x9f\x5e\x99\x5e\xa8\x47\xb0\x53\xd3\x1d\x39\x88\x44\x8f\x49\x89\x49\x90\x63\x89\x4e\xd8\x13\x1a\x88\x4e\xe0\x13\x14\x88\x48\xf8\xf4\x11\x00\x10\x18\xf2\x00\x01\x09\x15\xd8\x10\x14\x8a\x41\xf0\x03\x01\x09\x15\xfa", }; static - struct _PyCode_DEF(82) -importlib__bootstrap_toplevel_consts_9_consts_5 = { + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[18]; + } +importlib__bootstrap_toplevel_consts_7_consts_6_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 17, + }, + .ob_shash = -1, + .ob_sval = "\x82\x14\x41\x17\x00\xc1\x17\x0b\x41\x25\x03\xc1\x24\x01\x41\x25\x03", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[4]; + }_object; + } +importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 4, + }, + .ob_item = { + &_Py_ID(self), + &_Py_ID(key), + &_Py_ID(default), + (PyObject *)&_Py_SINGLETON(strings).ascii[111], + }, + }, +}; +static + struct _PyCode_DEF(208) +importlib__bootstrap_toplevel_consts_7_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 41, + .ob_size = 104, }, - .co_consts = & importlib__bootstrap_toplevel_consts_9_consts_5_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & importlib__bootstrap_toplevel_consts_7_consts_6_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & importlib__bootstrap_toplevel_consts_7_consts_6_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, + .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 159, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 124, + .co_nlocalsplus = 4, + .co_nlocals = 4, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 13, .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = &_Py_ID(__repr__), - .co_qualname = & importlib__bootstrap_toplevel_consts_9_consts_5_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_9_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_name = & const_str_setdefault._ascii.ob_base, + .co_qualname = & importlib__bootstrap_toplevel_consts_7_consts_6_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_7_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x02\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x80\x3d\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x10\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3c\x00\x00\x00\x7c\x02\x53\x00\x7c\x03\x53\x00\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x00\x7d\x03\x59\x00\x8c\x4e\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -2851,26 +2621,27 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[7]; + PyObject *ob_item[8]; }_object; } -importlib__bootstrap_toplevel_consts_9_consts = { +importlib__bootstrap_toplevel_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 7, + .ob_size = 8, }, .ob_item = { - & const_str__DummyModuleLock._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_9_consts_1._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_9_consts_2.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_9_consts_3.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_9_consts_4.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_9_consts_5.ob_base.ob_base, + & const_str__WeakValueDictionary._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_7_consts_1.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_7_consts_2.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_7_consts_3.ob_base.ob_base, Py_None, + & importlib__bootstrap_toplevel_consts_7_consts_5.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_7_consts_6.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, }, }, }; @@ -2882,11 +2653,11 @@ static PyObject *ob_item[8]; }_object; } -importlib__bootstrap_toplevel_consts_9_names = { +importlib__bootstrap_toplevel_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -2895,11 +2666,11 @@ importlib__bootstrap_toplevel_consts_9_names = { &_Py_ID(__name__), &_Py_ID(__module__), &_Py_ID(__qualname__), - &_Py_ID(__doc__), &_Py_ID(__init__), - & const_str_acquire._ascii.ob_base, - & const_str_release._ascii.ob_base, - &_Py_ID(__repr__), + &_Py_ID(clear), + & const_str__commit_removals._ascii.ob_base, + &_Py_ID(get), + & const_str_setdefault._ascii.ob_base, }, }, }; @@ -2907,54 +2678,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[96]; + char ob_sval[29]; } -importlib__bootstrap_toplevel_consts_9_linetable = { +importlib__bootstrap_toplevel_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 95, + .ob_size = 28, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x01\x05\x20\xf0\x00\x01\x05\x20\xf0\x06\x02\x05\x17\xf0\x00\x02\x05\x17\xf0\x00\x02\x05\x17\xf0\x08\x02\x05\x14\xf0\x00\x02\x05\x14\xf0\x00\x02\x05\x14\xf0\x08\x03\x05\x18\xf0\x00\x03\x05\x18\xf0\x00\x03\x05\x18\xf0\x0a\x01\x05\x4a\x01\xf0\x00\x01\x05\x4a\x01\xf0\x00\x01\x05\x4a\x01\xf0\x00\x01\x05\x4a\x01\xf0\x00\x01\x05\x4a\x01", + .ob_sval = "\x84\x00\xf2\x04\x1e\x05\x15\xf2\x40\x01\x03\x05\x17\xf2\x0a\x08\x05\x32\xf3\x14\x0b\x05\x19\xf4\x1a\x0b\x05\x15", }; static - struct _PyCode_DEF(42) -importlib__bootstrap_toplevel_consts_9 = { + struct _PyCode_DEF(46) +importlib__bootstrap_toplevel_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 23, }, - .co_consts = & importlib__bootstrap_toplevel_consts_9_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_9_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_7_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 142, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 62, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 14, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__DummyModuleLock._ascii.ob_base, - .co_qualname = & const_str__DummyModuleLock._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x53\x00", + .co_name = & const_str__WeakValueDictionary._ascii.ob_base, + .co_qualname = & const_str__WeakValueDictionary._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x07\x64\x05\x84\x01\x5a\x06\x64\x07\x64\x06\x84\x01\x5a\x07\x79\x04", ._co_firsttraceable = 0, }; static @@ -2962,10 +2731,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -const_str__ModuleLockManager = { +const_str__BlockingOnManager = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -2974,54 +2743,76 @@ const_str__ModuleLockManager = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_ModuleLockManager", + ._data = "_BlockingOnManager", }; static struct { PyASCIIObject _ascii; - uint8_t _data[6]; + uint8_t _data[60]; } -const_str__name = { +importlib__bootstrap_toplevel_consts_9_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 5, + .length = 59, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_name", + ._data = "A context manager responsible to updating ``_blocking_on``.", }; static struct { PyASCIIObject _ascii; - uint8_t _data[6]; + uint8_t _data[10]; } -const_str__lock = { +const_str_thread_id = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 5, + .length = 9, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_lock", + ._data = "thread_id", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[5]; + } +const_str_lock = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 4, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "lock", }; static struct { @@ -3031,18 +2822,18 @@ static PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_11_consts_1_names = { +importlib__bootstrap_toplevel_consts_9_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str__name._ascii.ob_base, - & const_str__lock._ascii.ob_base, + & const_str_thread_id._ascii.ob_base, + & const_str_lock._ascii.ob_base, }, }, }; @@ -3051,10 +2842,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -importlib__bootstrap_toplevel_consts_11_consts_1_qualname = { +importlib__bootstrap_toplevel_consts_9_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -3063,188 +2854,300 @@ importlib__bootstrap_toplevel_consts_11_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_ModuleLockManager.__init__", + ._data = "_BlockingOnManager.__init__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[21]; + char ob_sval[17]; } -importlib__bootstrap_toplevel_consts_11_consts_1_linetable = { +importlib__bootstrap_toplevel_consts_9_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 20, + .ob_size = 16, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x15\x19\x88\x04\x8c\x0a\xd8\x15\x19\x88\x04\x8c\x0a\x88\x0a\x88\x0a", + .ob_sval = "\x80\x00\xd8\x19\x22\x88\x04\x8c\x0e\xd8\x14\x18\x88\x04\x8d\x09", }; static - struct _PyCode_DEF(34) -importlib__bootstrap_toplevel_consts_11_consts_1 = { + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +importlib__bootstrap_toplevel_consts_9_consts_2_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + &_Py_ID(self), + & const_str_thread_id._ascii.ob_base, + & const_str_lock._ascii.ob_base, + }, + }, +}; +static + struct _PyCode_DEF(32) +importlib__bootstrap_toplevel_consts_9_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 16, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_11_consts_1_names._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_9_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, + .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 165, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, + .co_firstlineno = 158, + .co_nlocalsplus = 3, + .co_nlocals = 3, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 15, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_9_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & importlib__bootstrap_toplevel_consts_11_consts_1_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_11_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & importlib__bootstrap_toplevel_consts_9_consts_2_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_9_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[17]; + uint8_t _data[68]; } -const_str__get_module_lock = { +importlib__bootstrap_toplevel_consts_9_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 16, + .length = 67, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_get_module_lock", + ._data = "Mark the running thread as waiting for self.lock. via _blocking_on.", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_11_consts_2_names = { +importlib__bootstrap_toplevel_consts_9_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 2, }, .ob_item = { - & const_str__get_module_lock._ascii.ob_base, - & const_str__name._ascii.ob_base, - & const_str__lock._ascii.ob_base, - & const_str_acquire._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_9_consts_3_consts_0._ascii.ob_base, + Py_None, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[29]; + uint8_t _data[13]; } -importlib__bootstrap_toplevel_consts_11_consts_2_qualname = { +const_str__blocking_on = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 28, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_ModuleLockManager.__enter__", + ._data = "_blocking_on", }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[46]; + PyASCIIObject _ascii; + uint8_t _data[11]; } -importlib__bootstrap_toplevel_consts_11_consts_2_linetable = { - .ob_base = { +const_str_blocked_on = { + ._ascii = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_size = 45, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x15\x25\xa0\x64\xa4\x6a\xd1\x15\x31\xd4\x15\x31\x88\x04\x8c\x0a\xd8\x08\x0c\x8c\x0a\xd7\x08\x1a\xd2\x08\x1a\xd1\x08\x1c\xd4\x08\x1c\xd0\x08\x1c\xd0\x08\x1c\xd0\x08\x1c", -}; -static - struct _PyCode_DEF(106) -importlib__bootstrap_toplevel_consts_11_consts_2 = { - .ob_base = { + .length = 10, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "blocked_on", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[7]; + }_object; + } +importlib__bootstrap_toplevel_consts_9_consts_3_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 7, + }, + .ob_item = { + & const_str__blocking_on._ascii.ob_base, + & const_str_setdefault._ascii.ob_base, + & const_str_thread_id._ascii.ob_base, + & const_str__List._ascii.ob_base, + & const_str_blocked_on._ascii.ob_base, + &_Py_ID(append), + & const_str_lock._ascii.ob_base, + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[29]; + } +importlib__bootstrap_toplevel_consts_9_consts_3_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 28, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "_BlockingOnManager.__enter__", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[53]; + } +importlib__bootstrap_toplevel_consts_9_consts_3_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 52, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xf4\x10\x00\x1b\x27\xd7\x1a\x31\xd1\x1a\x31\xb0\x24\xb7\x2e\xb1\x2e\xc4\x25\xc3\x27\xd3\x1a\x4a\x88\x04\x8c\x0f\xd8\x08\x0c\x8f\x0f\x89\x0f\xd7\x08\x1e\xd1\x08\x1e\x98\x74\x9f\x79\x99\x79\xd5\x08\x29", +}; +static + struct _PyCode_DEF(168) +importlib__bootstrap_toplevel_consts_9_consts_3 = { + .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 53, + .ob_size = 84, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_11_consts_2_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_9_consts_3_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_9_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 169, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 162, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 16, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__enter__), - .co_qualname = & importlib__bootstrap_toplevel_consts_11_consts_2_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_11_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & importlib__bootstrap_toplevel_consts_9_consts_3_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_9_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[55]; + } +importlib__bootstrap_toplevel_consts_9_consts_4_consts_0 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 54, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "Remove self.lock from this thread's _blocking_on list.", +}; static struct { PyGC_Head _gc_head; @@ -3253,18 +3156,42 @@ static PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_11_consts_3_names = { +importlib__bootstrap_toplevel_consts_9_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str__lock._ascii.ob_base, - & const_str_release._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_9_consts_4_consts_0._ascii.ob_base, + Py_None, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +importlib__bootstrap_toplevel_consts_9_consts_4_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + & const_str_blocked_on._ascii.ob_base, + & const_str_remove._ascii.ob_base, + & const_str_lock._ascii.ob_base, }, }, }; @@ -3273,10 +3200,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -importlib__bootstrap_toplevel_consts_11_consts_3_qualname = { +importlib__bootstrap_toplevel_consts_9_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -3285,49 +3212,27 @@ importlib__bootstrap_toplevel_consts_11_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_ModuleLockManager.__exit__", + ._data = "_BlockingOnManager.__exit__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[29]; + char ob_sval[25]; } -importlib__bootstrap_toplevel_consts_11_consts_3_linetable = { +importlib__bootstrap_toplevel_consts_9_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 28, + .ob_size = 24, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x0c\x8c\x0a\xd7\x08\x1a\xd2\x08\x1a\xd1\x08\x1c\xd4\x08\x1c\xd0\x08\x1c\xd0\x08\x1c\xd0\x08\x1c", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[5]; - } -const_str_args = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 4, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "args", + .ob_sval = "\x80\x00\xe0\x08\x0c\x8f\x0f\x89\x0f\xd7\x08\x1e\xd1\x08\x1e\x98\x74\x9f\x79\x99\x79\xd5\x08\x29", }; static struct { @@ -3337,7 +3242,7 @@ static const_str_kwargs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -3346,7 +3251,7 @@ const_str_kwargs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "kwargs", @@ -3359,57 +3264,55 @@ static PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_11_consts_3_localsplusnames = { +importlib__bootstrap_toplevel_consts_9_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_args._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(args), & const_str_kwargs._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(56) -importlib__bootstrap_toplevel_consts_11_consts_3 = { + struct _PyCode_DEF(78) +importlib__bootstrap_toplevel_consts_9_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 28, + .ob_size = 39, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_11_consts_3_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_9_consts_4_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_9_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 15, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 2, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, .co_firstlineno = 173, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_11_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 17, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_9_consts_4_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__exit__), - .co_qualname = & importlib__bootstrap_toplevel_consts_11_consts_3_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_11_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & importlib__bootstrap_toplevel_consts_9_consts_4_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_9_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -3417,23 +3320,24 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[5]; + PyObject *ob_item[6]; }_object; } -importlib__bootstrap_toplevel_consts_11_consts = { +importlib__bootstrap_toplevel_consts_9_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 5, + .ob_size = 6, }, .ob_item = { - & const_str__ModuleLockManager._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_11_consts_1.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_11_consts_2.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_11_consts_3.ob_base.ob_base, + & const_str__BlockingOnManager._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_9_consts_1._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_9_consts_2.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_9_consts_3.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_9_consts_4.ob_base.ob_base, Py_None, }, }, @@ -3443,22 +3347,23 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[6]; + PyObject *ob_item[7]; }_object; } -importlib__bootstrap_toplevel_consts_11_names = { +importlib__bootstrap_toplevel_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 6, + .ob_size = 7, }, .ob_item = { &_Py_ID(__name__), &_Py_ID(__module__), &_Py_ID(__qualname__), + &_Py_ID(__doc__), &_Py_ID(__init__), &_Py_ID(__enter__), &_Py_ID(__exit__), @@ -3469,131 +3374,187 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[66]; + char ob_sval[21]; } -importlib__bootstrap_toplevel_consts_11_linetable = { +importlib__bootstrap_toplevel_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 65, + .ob_size = 20, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x04\x02\x05\x1a\xf0\x00\x02\x05\x1a\xf0\x00\x02\x05\x1a\xf0\x08\x02\x05\x1d\xf0\x00\x02\x05\x1d\xf0\x00\x02\x05\x1d\xf0\x08\x01\x05\x1d\xf0\x00\x01\x05\x1d\xf0\x00\x01\x05\x1d\xf0\x00\x01\x05\x1d\xf0\x00\x01\x05\x1d", + .ob_sval = "\x84\x00\xd9\x04\x45\xf2\x02\x02\x05\x19\xf2\x08\x09\x05\x2a\xf3\x16\x02\x05\x2a", }; static - struct _PyCode_DEF(32) -importlib__bootstrap_toplevel_consts_11 = { + struct _PyCode_DEF(34) +importlib__bootstrap_toplevel_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 16, + .ob_size = 17, }, - .co_consts = & importlib__bootstrap_toplevel_consts_11_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_11_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_9_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 163, + .co_firstlineno = 156, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 18, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__ModuleLockManager._ascii.ob_base, - .co_qualname = & const_str__ModuleLockManager._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x53\x00", + .co_name = & const_str__BlockingOnManager._ascii.ob_base, + .co_qualname = & const_str__BlockingOnManager._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x79\x05", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[140]; + uint8_t _data[15]; } -importlib__bootstrap_toplevel_consts_13_consts_0 = { +const_str__DeadlockError = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 139, + .length = 14, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x47\x65\x74\x20\x6f\x72\x20\x63\x72\x65\x61\x74\x65\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6c\x6f\x63\x6b\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\x6e\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6e\x61\x6d\x65\x2e\x0a\x0a\x20\x20\x20\x20\x41\x63\x71\x75\x69\x72\x65\x2f\x72\x65\x6c\x65\x61\x73\x65\x20\x69\x6e\x74\x65\x72\x6e\x61\x6c\x6c\x79\x20\x74\x68\x65\x20\x67\x6c\x6f\x62\x61\x6c\x20\x69\x6d\x70\x6f\x72\x74\x20\x6c\x6f\x63\x6b\x20\x74\x6f\x20\x70\x72\x6f\x74\x65\x63\x74\x0a\x20\x20\x20\x20\x5f\x6d\x6f\x64\x75\x6c\x65\x5f\x6c\x6f\x63\x6b\x73\x2e", + ._data = "_DeadlockError", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +importlib__bootstrap_toplevel_consts_11_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + & const_str__DeadlockError._ascii.ob_base, + Py_None, + }, + }, +}; +static + struct _PyCode_DEF(12) +importlib__bootstrap_toplevel_consts_11 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 6, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_11_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_5_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 0, + .co_argcount = 0, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 1, + .co_firstlineno = 178, + .co_nlocalsplus = 0, + .co_nlocals = 0, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 19, + .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = & const_str__DeadlockError._ascii.ob_base, + .co_qualname = & const_str__DeadlockError._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x79\x01", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[5]; + uint8_t _data[755]; } -const_str__imp = { +importlib__bootstrap_toplevel_consts_13_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 4, + .length = 754, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_imp", + ._data = "\x43\x68\x65\x63\x6b\x20\x69\x66\x20\x27\x74\x61\x72\x67\x65\x74\x5f\x69\x64\x27\x20\x69\x73\x20\x68\x6f\x6c\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x6c\x6f\x63\x6b\x20\x61\x73\x20\x61\x6e\x6f\x74\x68\x65\x72\x20\x74\x68\x72\x65\x61\x64\x28\x73\x29\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x73\x65\x61\x72\x63\x68\x20\x77\x69\x74\x68\x69\x6e\x20\x27\x62\x6c\x6f\x63\x6b\x69\x6e\x67\x5f\x6f\x6e\x27\x20\x73\x74\x61\x72\x74\x73\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x74\x68\x72\x65\x61\x64\x73\x20\x6c\x69\x73\x74\x65\x64\x20\x69\x6e\x0a\x20\x20\x20\x20\x27\x63\x61\x6e\x64\x69\x64\x61\x74\x65\x5f\x69\x64\x73\x27\x2e\x20\x20\x27\x73\x65\x65\x6e\x5f\x69\x64\x73\x27\x20\x63\x6f\x6e\x74\x61\x69\x6e\x73\x20\x61\x6e\x79\x20\x74\x68\x72\x65\x61\x64\x73\x20\x74\x68\x61\x74\x20\x61\x72\x65\x20\x63\x6f\x6e\x73\x69\x64\x65\x72\x65\x64\x0a\x20\x20\x20\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x74\x72\x61\x76\x65\x72\x73\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x73\x65\x61\x72\x63\x68\x2e\x0a\x0a\x20\x20\x20\x20\x4b\x65\x79\x77\x6f\x72\x64\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x3a\x0a\x20\x20\x20\x20\x74\x61\x72\x67\x65\x74\x5f\x69\x64\x20\x20\x20\x20\x20\x2d\x2d\x20\x54\x68\x65\x20\x74\x68\x72\x65\x61\x64\x20\x69\x64\x20\x74\x6f\x20\x74\x72\x79\x20\x74\x6f\x20\x72\x65\x61\x63\x68\x2e\x0a\x20\x20\x20\x20\x73\x65\x65\x6e\x5f\x69\x64\x73\x20\x20\x20\x20\x20\x20\x2d\x2d\x20\x41\x20\x73\x65\x74\x20\x6f\x66\x20\x74\x68\x72\x65\x61\x64\x73\x20\x74\x68\x61\x74\x20\x68\x61\x76\x65\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x62\x65\x65\x6e\x20\x76\x69\x73\x69\x74\x65\x64\x2e\x0a\x20\x20\x20\x20\x63\x61\x6e\x64\x69\x64\x61\x74\x65\x5f\x69\x64\x73\x20\x2d\x2d\x20\x54\x68\x65\x20\x74\x68\x72\x65\x61\x64\x20\x69\x64\x73\x20\x66\x72\x6f\x6d\x20\x77\x68\x69\x63\x68\x20\x74\x6f\x20\x62\x65\x67\x69\x6e\x2e\x0a\x20\x20\x20\x20\x62\x6c\x6f\x63\x6b\x69\x6e\x67\x5f\x6f\x6e\x20\x20\x20\x2d\x2d\x20\x41\x20\x64\x69\x63\x74\x20\x72\x65\x70\x72\x65\x73\x65\x6e\x74\x69\x6e\x67\x20\x74\x68\x65\x20\x74\x68\x72\x65\x61\x64\x2f\x62\x6c\x6f\x63\x6b\x69\x6e\x67\x2d\x6f\x6e\x20\x67\x72\x61\x70\x68\x2e\x20\x20\x54\x68\x69\x73\x20\x6d\x61\x79\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x65\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x6f\x62\x6a\x65\x63\x74\x20\x61\x73\x20\x74\x68\x65\x20\x67\x6c\x6f\x62\x61\x6c\x20\x27\x5f\x62\x6c\x6f\x63\x6b\x69\x6e\x67\x5f\x6f\x6e\x27\x20\x62\x75\x74\x20\x69\x74\x20\x69\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x61\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x20\x74\x6f\x20\x72\x65\x64\x75\x63\x65\x20\x74\x68\x65\x20\x69\x6d\x70\x61\x63\x74\x20\x74\x68\x61\x74\x20\x67\x6c\x6f\x62\x61\x6c\x20\x6d\x75\x74\x61\x62\x6c\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x61\x74\x65\x20\x68\x61\x73\x20\x6f\x6e\x20\x74\x68\x65\x20\x72\x65\x73\x75\x6c\x74\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20", }; static struct { PyASCIIObject _ascii; - uint8_t _data[13]; + uint8_t _data[9]; } -const_str_acquire_lock = { +const_str_seen_ids = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 12, + .length = 8, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "acquire_lock", + ._data = "seen_ids", }; static struct { PyASCIIObject _ascii; uint8_t _data[14]; } -const_str__module_locks = { +const_str_candidate_ids = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -3602,1271 +3563,1084 @@ const_str__module_locks = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_module_locks", + ._data = "candidate_ids", }; static struct { PyASCIIObject _ascii; - uint8_t _data[13]; + uint8_t _data[12]; } -const_str_release_lock = { +const_str_blocking_on = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 12, + .length = 11, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "release_lock", + ._data = "blocking_on", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[5]; + PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_13_consts_2_names = { +importlib__bootstrap_toplevel_consts_13_consts_3 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 5, + .ob_size = 3, }, .ob_item = { - & const_str__imp._ascii.ob_base, - & const_str_acquire_lock._ascii.ob_base, - & const_str__module_locks._ascii.ob_base, - &_Py_ID(get), - & const_str_release_lock._ascii.ob_base, + & const_str_seen_ids._ascii.ob_base, + & const_str_candidate_ids._ascii.ob_base, + & const_str_blocking_on._ascii.ob_base, }, }, }; static struct { - PyASCIIObject _ascii; - uint8_t _data[3]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[4]; + }_object; } -const_str_cb = { - ._ascii = { +importlib__bootstrap_toplevel_consts_13_consts = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 4, }, - .length = 2, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + & importlib__bootstrap_toplevel_consts_13_consts_0._ascii.ob_base, + Py_True, + Py_False, + & importlib__bootstrap_toplevel_consts_13_consts_3._object.ob_base.ob_base, }, }, - ._data = "cb", }; static struct { PyASCIIObject _ascii; - uint8_t _data[29]; + uint8_t _data[16]; } -importlib__bootstrap_toplevel_consts_13_consts_2_qualname = { +const_str__has_deadlocked = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 28, + .length = 15, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, + }, + }, + ._data = "_has_deadlocked", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[4]; + }_object; + } +importlib__bootstrap_toplevel_consts_13_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 4, + }, + .ob_item = { + &_Py_ID(get), + &_Py_ID(add), + &_Py_ID(owner), + & const_str__has_deadlocked._ascii.ob_base, }, }, - ._data = "_get_module_lock..cb", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[109]; + char ob_sval[138]; } -importlib__bootstrap_toplevel_consts_13_consts_2_linetable = { +importlib__bootstrap_toplevel_consts_13_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 108, + .ob_size = 137, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x10\x14\xd7\x10\x21\xd2\x10\x21\xd1\x10\x23\xd4\x10\x23\xd0\x10\x23\xf0\x02\x07\x11\x28\xf5\x08\x00\x18\x25\xd7\x17\x28\xd2\x17\x28\xa8\x14\xd1\x17\x2e\xd4\x17\x2e\xb0\x23\xd0\x17\x35\xd0\x17\x35\xdd\x1c\x29\xa8\x24\xd0\x1c\x2f\xe5\x14\x18\xd7\x14\x25\xd2\x14\x25\xd1\x14\x27\xd4\x14\x27\xd0\x14\x27\xd0\x14\x27\xd0\x14\x27\xf8\x95\x44\xd7\x14\x25\xd2\x14\x25\xd1\x14\x27\xd4\x14\x27\xd0\x14\x27\xd0\x14\x27\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x20\x00\x08\x11\x90\x4d\xd1\x07\x21\xf0\x06\x00\x10\x14\xf0\x06\x00\x10\x1d\xf2\x00\x10\x05\x18\x88\x03\xd8\x29\x34\xaf\x1f\xa9\x1f\xb8\x13\xd3\x29\x3d\xd0\x10\x3d\xd0\x10\x25\xd0\x10\x3d\xe0\x0c\x14\xd8\x0d\x10\x90\x48\x89\x5f\xf1\x0a\x00\x14\x19\xd8\x08\x10\x8f\x0c\x89\x0c\x90\x53\xd4\x08\x19\xf0\x06\x00\x29\x3e\xd6\x10\x3e\xa0\x04\x90\x14\x97\x1a\x93\x1a\xd0\x10\x3e\x88\x05\xd0\x10\x3e\xdc\x0b\x1a\x98\x39\xa8\x78\xc0\x75\xd8\x1c\x27\xf6\x03\x01\x0c\x29\xe1\x13\x17\xf0\x21\x10\x05\x18\xf0\x24\x00\x0c\x11\xf9\xf2\x0b\x00\x11\x3f", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[12]; + char ob_sval[6]; } -importlib__bootstrap_toplevel_consts_13_consts_2_exceptiontable = { +importlib__bootstrap_toplevel_consts_13_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 11, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = "\x9b\x24\x41\x1a\x00\xc1\x1a\x1b\x41\x35\x03", + .ob_sval = "\xba\x13\x41\x23\x06", }; static struct { PyASCIIObject _ascii; - uint8_t _data[4]; + uint8_t _data[10]; } -const_str_ref = { +const_str_target_id = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 3, + .length = 9, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, - }, - }, - ._data = "ref", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -importlib__bootstrap_toplevel_consts_13_consts_2_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & const_str_ref._ascii.ob_base, - &_Py_ID(name), - }, - }, -}; -static - struct _PyCode_DEF(240) -importlib__bootstrap_toplevel_consts_13_consts_2 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .statically_allocated = 1, }, - .ob_size = 120, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_13_consts_2_names._object.ob_base.ob_base, - .co_exceptiontable = & importlib__bootstrap_toplevel_consts_13_consts_2_exceptiontable.ob_base.ob_base, - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 198, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_13_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_cb._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_13_consts_2_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_13_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x75\x00\x72\x08\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3d\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x78\x03\x59\x00\x77\x01", - ._co_firsttraceable = 0, + ._data = "target_id", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[3]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[4]; } -importlib__bootstrap_toplevel_consts_13_consts = { - ._object = { +const_str_tid = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 3, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_item = { - & importlib__bootstrap_toplevel_consts_13_consts_0._ascii.ob_base, - Py_None, - & importlib__bootstrap_toplevel_consts_13_consts_2.ob_base.ob_base, + .length = 3, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "tid", }; static struct { PyASCIIObject _ascii; - uint8_t _data[9]; + uint8_t _data[22]; } -const_str_KeyError = { +const_str_candidate_blocking_on = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 8, + .length = 21, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "KeyError", + ._data = "candidate_blocking_on", }; static struct { PyASCIIObject _ascii; - uint8_t _data[9]; + uint8_t _data[6]; } -const_str__weakref = { +const_str_edges = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 8, + .length = 5, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_weakref", + ._data = "edges", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[10]; + PyObject *ob_item[8]; }_object; } -importlib__bootstrap_toplevel_consts_13_names = { +importlib__bootstrap_toplevel_consts_13_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 10, + .ob_size = 8, }, .ob_item = { - & const_str__imp._ascii.ob_base, - & const_str_acquire_lock._ascii.ob_base, - & const_str__module_locks._ascii.ob_base, - & const_str_KeyError._ascii.ob_base, - & const_str__thread._ascii.ob_base, - & const_str__DummyModuleLock._ascii.ob_base, - & const_str__ModuleLock._ascii.ob_base, - & const_str__weakref._ascii.ob_base, - & const_str_ref._ascii.ob_base, - & const_str_release_lock._ascii.ob_base, - }, - }, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[226]; - } -importlib__bootstrap_toplevel_consts_13_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + & const_str_target_id._ascii.ob_base, + & const_str_seen_ids._ascii.ob_base, + & const_str_candidate_ids._ascii.ob_base, + & const_str_blocking_on._ascii.ob_base, + & const_str_tid._ascii.ob_base, + & const_str_candidate_blocking_on._ascii.ob_base, + & const_str_lock._ascii.ob_base, + & const_str_edges._ascii.ob_base, }, - .ob_size = 225, }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0c\x00\x05\x09\xd7\x04\x15\xd2\x04\x15\xd1\x04\x17\xd4\x04\x17\xd0\x04\x17\xf0\x02\x19\x05\x1c\xf0\x02\x03\x09\x18\xdd\x13\x20\xa0\x14\xd4\x13\x26\xd1\x13\x28\xd4\x13\x28\x88\x44\x88\x44\xf8\xdd\x0f\x17\xf0\x00\x01\x09\x18\xf0\x00\x01\x09\x18\xf0\x00\x01\x09\x18\xd8\x13\x17\x88\x44\x88\x44\x88\x44\xf0\x03\x01\x09\x18\xf8\xf8\xf8\xf0\x06\x00\x0c\x10\x88\x3c\xdd\x0f\x16\x88\x7f\xdd\x17\x27\xa8\x04\xd1\x17\x2d\xd4\x17\x2d\x90\x04\x90\x04\xe5\x17\x22\xa0\x34\xd1\x17\x28\xd4\x17\x28\x90\x04\xe0\x1d\x21\xf0\x00\x09\x0d\x28\xf0\x00\x09\x0d\x28\xf0\x00\x09\x0d\x28\xf0\x00\x09\x0d\x28\xf5\x16\x00\x23\x2b\xa7\x2c\xa2\x2c\xa8\x74\xb0\x52\xd1\x22\x38\xd4\x22\x38\x8d\x4d\x98\x24\xd1\x0c\x1f\xe5\x08\x0c\xd7\x08\x19\xd2\x08\x19\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd0\x08\x1b\xf8\x8d\x04\xd7\x08\x19\xd2\x08\x19\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd0\x08\x1b\xf8\xf8\xf8\xe0\x0b\x0f\x80\x4b", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[38]; + char ob_sval[9]; } -importlib__bootstrap_toplevel_consts_13_exceptiontable = { +importlib__bootstrap_toplevel_consts_13_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 37, + .ob_size = 8, }, .ob_shash = -1, - .ob_sval = "\x9c\x14\x31\x00\xb0\x01\x42\x2d\x00\xb1\x0c\x41\x00\x03\xbd\x02\x42\x2d\x00\xbf\x01\x41\x00\x03\xc1\x00\x41\x13\x42\x2d\x00\xc2\x2d\x1b\x43\x08\x03", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[3]; - }_object; - } -importlib__bootstrap_toplevel_consts_13_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 3, - }, - .ob_item = { - &_Py_ID(name), - & const_str_lock._ascii.ob_base, - & const_str_cb._ascii.ob_base, - }, - }, + .ob_sval = " ", }; static - struct _PyCode_DEF(410) + struct _PyCode_DEF(208) importlib__bootstrap_toplevel_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 205, + .ob_size = 104, }, .co_consts = & importlib__bootstrap_toplevel_consts_13_consts._object.ob_base.ob_base, .co_names = & importlib__bootstrap_toplevel_consts_13_names._object.ob_base.ob_base, .co_exceptiontable = & importlib__bootstrap_toplevel_consts_13_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 179, - .co_nlocalsplus = 3, - .co_nlocals = 3, - .co_nplaincellvars = 0, + .co_kwonlyargcount = 3, + .co_framesize = 15 + FRAME_SPECIALS_SIZE, + .co_stacksize = 7, + .co_firstlineno = 183, + .co_nlocalsplus = 8, + .co_nlocals = 8, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 20, .co_localsplusnames = & importlib__bootstrap_toplevel_consts_13_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_13_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__get_module_lock._ascii.ob_base, - .co_qualname = & const_str__get_module_lock._ascii.ob_base, + .co_name = & const_str__has_deadlocked._ascii.ob_base, + .co_qualname = & const_str__has_deadlocked._ascii.ob_base, .co_linetable = & importlib__bootstrap_toplevel_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x12\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x01\x7d\x01\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x01\x80\x4e\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x10\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x0f\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x66\x01\x64\x02\x84\x01\x7d\x02\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x3c\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x1e\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x7c\x02\x76\x00\x72\x01\x79\x01\x7c\x02\x44\x00\x5d\x57\x00\x00\x7d\x04\x7c\x03\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x78\x01\x7d\x05\x73\x01\x8c\x17\x7c\x04\x7c\x01\x76\x00\x72\x02\x01\x00\x79\x02\x7c\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x05\x44\x00\x8f\x06\x63\x02\x67\x00\x63\x02\x5d\x0e\x00\x00\x7d\x06\x7c\x06\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x10\x04\x00\x7d\x07\x7d\x06\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x07\x7c\x03\xac\x03\xab\x04\x00\x00\x00\x00\x00\x00\x73\x01\x8c\x57\x01\x00\x79\x01\x04\x00\x79\x02\x63\x02\x01\x00\x63\x02\x7d\x06\x77\x00", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[190]; + uint8_t _data[12]; } -importlib__bootstrap_toplevel_consts_14_consts_0 = { +const_str__ModuleLock = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 189, + .length = 11, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x41\x63\x71\x75\x69\x72\x65\x73\x20\x74\x68\x65\x6e\x20\x72\x65\x6c\x65\x61\x73\x65\x73\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6c\x6f\x63\x6b\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\x6e\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6e\x61\x6d\x65\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x69\x73\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x65\x6e\x73\x75\x72\x65\x20\x61\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x6c\x79\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x2c\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x65\x76\x65\x6e\x74\x20\x69\x74\x20\x69\x73\x20\x62\x65\x69\x6e\x67\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x20\x62\x79\x20\x61\x6e\x6f\x74\x68\x65\x72\x20\x74\x68\x72\x65\x61\x64\x2e\x0a\x20\x20\x20\x20", + ._data = "_ModuleLock", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[170]; } -importlib__bootstrap_toplevel_consts_14_consts = { - ._object = { +importlib__bootstrap_toplevel_consts_14_consts_1 = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_item = { - & importlib__bootstrap_toplevel_consts_14_consts_0._ascii.ob_base, - Py_None, + .length = 169, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "\x41\x20\x72\x65\x63\x75\x72\x73\x69\x76\x65\x20\x6c\x6f\x63\x6b\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x77\x68\x69\x63\x68\x20\x69\x73\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\x64\x65\x74\x65\x63\x74\x20\x64\x65\x61\x64\x6c\x6f\x63\x6b\x73\x0a\x20\x20\x20\x20\x28\x65\x2e\x67\x2e\x20\x74\x68\x72\x65\x61\x64\x20\x31\x20\x74\x72\x79\x69\x6e\x67\x20\x74\x6f\x20\x74\x61\x6b\x65\x20\x6c\x6f\x63\x6b\x73\x20\x41\x20\x74\x68\x65\x6e\x20\x42\x2c\x20\x61\x6e\x64\x20\x74\x68\x72\x65\x61\x64\x20\x32\x20\x74\x72\x79\x69\x6e\x67\x20\x74\x6f\x0a\x20\x20\x20\x20\x74\x61\x6b\x65\x20\x6c\x6f\x63\x6b\x73\x20\x42\x20\x74\x68\x65\x6e\x20\x41\x29\x2e\x0a\x20\x20\x20\x20", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[4]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[8]; } -importlib__bootstrap_toplevel_consts_14_names = { - ._object = { +const_str__thread = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 4, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_item = { - & const_str__get_module_lock._ascii.ob_base, - & const_str_acquire._ascii.ob_base, - & const_str_release._ascii.ob_base, - & const_str__DeadlockError._ascii.ob_base, + .length = 7, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "_thread", }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[93]; + PyASCIIObject _ascii; + uint8_t _data[6]; } -importlib__bootstrap_toplevel_consts_14_linetable = { - .ob_base = { +const_str_RLock = { + ._ascii = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 5, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 92, }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0c\x00\x0c\x1c\x98\x44\xd1\x0b\x21\xd4\x0b\x21\x80\x44\xf0\x02\x07\x05\x17\xd8\x08\x0c\x8f\x0c\x8a\x0c\x89\x0e\x8c\x0e\x88\x0e\xf0\x0c\x00\x09\x0d\x8f\x0c\x8a\x0c\x89\x0e\x8c\x0e\x88\x0e\x88\x0e\x88\x0e\xf8\xf5\x0b\x00\x0c\x1a\xf0\x00\x03\x05\x0d\xf0\x00\x03\x05\x0d\xf0\x00\x03\x05\x0d\xf0\x06\x00\x09\x0d\x88\x04\x88\x04\xf0\x07\x03\x05\x0d\xf8\xf8\xf8", + ._data = "RLock", }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[16]; + PyASCIIObject _ascii; + uint8_t _data[14]; } -importlib__bootstrap_toplevel_consts_14_exceptiontable = { - .ob_base = { +const_str_allocate_lock = { + ._ascii = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 13, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 15, }, - .ob_shash = -1, - .ob_sval = "\x91\x14\x3b\x00\xbb\x0a\x41\x09\x03\xc1\x08\x01\x41\x09\x03", + ._data = "allocate_lock", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[7]; } -importlib__bootstrap_toplevel_consts_14_localsplusnames = { - ._object = { +const_str_wakeup = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - &_Py_ID(name), - & const_str_lock._ascii.ob_base, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - }, -}; -static - struct _PyCode_DEF(152) -importlib__bootstrap_toplevel_consts_14 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .length = 6, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 76, }, - .co_consts = & importlib__bootstrap_toplevel_consts_14_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_14_names._object.ob_base.ob_base, - .co_exceptiontable = & importlib__bootstrap_toplevel_consts_14_exceptiontable.ob_base.ob_base, - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 216, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_14_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = &_Py_ID(_lock_unlock_module), - .co_qualname = &_Py_ID(_lock_unlock_module), - .co_linetable = & importlib__bootstrap_toplevel_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x7c\x01\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", - ._co_firsttraceable = 0, + ._data = "wakeup", }; static struct { PyASCIIObject _ascii; - uint8_t _data[303]; + uint8_t _data[8]; } -importlib__bootstrap_toplevel_consts_15_consts_0 = { +const_str_waiters = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 302, + .length = 7, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x72\x65\x6d\x6f\x76\x65\x5f\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x5f\x66\x72\x61\x6d\x65\x73\x20\x69\x6e\x20\x69\x6d\x70\x6f\x72\x74\x2e\x63\x20\x77\x69\x6c\x6c\x20\x61\x6c\x77\x61\x79\x73\x20\x72\x65\x6d\x6f\x76\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x73\x0a\x20\x20\x20\x20\x6f\x66\x20\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x20\x66\x72\x61\x6d\x65\x73\x20\x74\x68\x61\x74\x20\x65\x6e\x64\x20\x77\x69\x74\x68\x20\x61\x20\x63\x61\x6c\x6c\x20\x74\x6f\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x0a\x0a\x20\x20\x20\x20\x55\x73\x65\x20\x69\x74\x20\x69\x6e\x73\x74\x65\x61\x64\x20\x6f\x66\x20\x61\x20\x6e\x6f\x72\x6d\x61\x6c\x20\x63\x61\x6c\x6c\x20\x69\x6e\x20\x70\x6c\x61\x63\x65\x73\x20\x77\x68\x65\x72\x65\x20\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x0a\x20\x20\x20\x20\x66\x72\x61\x6d\x65\x73\x20\x69\x6e\x74\x72\x6f\x64\x75\x63\x65\x73\x20\x75\x6e\x77\x61\x6e\x74\x65\x64\x20\x6e\x6f\x69\x73\x65\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x20\x74\x72\x61\x63\x65\x62\x61\x63\x6b\x20\x28\x65\x2e\x67\x2e\x20\x77\x68\x65\x6e\x20\x65\x78\x65\x63\x75\x74\x69\x6e\x67\x0a\x20\x20\x20\x20\x6d\x6f\x64\x75\x6c\x65\x20\x63\x6f\x64\x65\x29\x0a\x20\x20\x20\x20", + ._data = "waiters", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[9]; }_object; } -importlib__bootstrap_toplevel_consts_15_consts = { +importlib__bootstrap_toplevel_consts_14_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 9, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_15_consts_0._ascii.ob_base, + & const_str__thread._ascii.ob_base, + & const_str_RLock._ascii.ob_base, + & const_str_lock._ascii.ob_base, + & const_str_allocate_lock._ascii.ob_base, + & const_str_wakeup._ascii.ob_base, + &_Py_ID(name), + &_Py_ID(owner), + &_Py_ID(count), + & const_str_waiters._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[26]; + uint8_t _data[21]; } -const_str__call_with_frames_removed = { +importlib__bootstrap_toplevel_consts_14_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 25, + .length = 20, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_call_with_frames_removed", + ._data = "_ModuleLock.__init__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[26]; + char ob_sval[70]; } -importlib__bootstrap_toplevel_consts_15_linetable = { +importlib__bootstrap_toplevel_consts_14_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 25, + .ob_size = 69, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x10\x00\x0c\x0d\x88\x31\x88\x64\xd0\x0b\x1b\x90\x64\xd0\x0b\x1b\xd0\x0b\x1b\xd0\x04\x1b", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_f = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "f", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[5]; - } -const_str_kwds = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 4, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "kwds", + .ob_sval = "\x80\x00\xf4\x2a\x00\x15\x1c\x97\x4d\x91\x4d\x93\x4f\x88\x04\x8c\x09\xdc\x16\x1d\xd7\x16\x2b\xd1\x16\x2b\xd3\x16\x2d\x88\x04\x8c\x0b\xf0\x06\x00\x15\x19\x88\x04\x8c\x09\xf0\x08\x00\x16\x1a\x88\x04\x8c\x0a\xf0\x16\x00\x16\x18\x88\x04\x8c\x0a\xf0\x1c\x00\x18\x1a\x88\x04\x8d\x0c", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_15_localsplusnames = { +importlib__bootstrap_toplevel_consts_14_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 2, }, .ob_item = { - & const_str_f._ascii.ob_base, - & const_str_args._ascii.ob_base, - & const_str_kwds._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(name), }, }, }; static - struct _PyCode_DEF(18) -importlib__bootstrap_toplevel_consts_15 = { + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[3]; + } +importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 2, + }, + .ob_shash = -1, + .ob_sval = " ", +}; +static + struct _PyCode_DEF(160) +importlib__bootstrap_toplevel_consts_14_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 9, + .ob_size = 80, }, - .co_consts = & importlib__bootstrap_toplevel_consts_15_consts._object.ob_base.ob_base, - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 15, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, + .co_flags = 3, + .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 233, - .co_nlocalsplus = 3, - .co_nlocals = 3, - .co_nplaincellvars = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 232, + .co_nlocalsplus = 2, + .co_nlocals = 2, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_15_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 21, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_14_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__call_with_frames_removed._ascii.ob_base, - .co_qualname = & const_str__call_with_frames_removed._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x02\x00\x7c\x00\x7c\x01\x69\x00\x7c\x02\xa4\x01\x8e\x01\x53\x00", + .co_name = &_Py_ID(__init__), + .co_qualname = & importlib__bootstrap_toplevel_consts_14_consts_2_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_14_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x7c\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x7c\x00\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x7c\x00\x5f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[10]; - } -const_str_verbosity = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 9, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "verbosity", -}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[4]; }_object; } -importlib__bootstrap_toplevel_consts_17 = { +importlib__bootstrap_toplevel_consts_14_consts_3_consts_1 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 4, }, .ob_item = { - & const_str_verbosity._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[62]; - } -importlib__bootstrap_toplevel_consts_18_consts_0 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 61, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + & const_str_target_id._ascii.ob_base, + & const_str_seen_ids._ascii.ob_base, + & const_str_candidate_ids._ascii.ob_base, + & const_str_blocking_on._ascii.ob_base, }, }, - ._data = "Print the message to stderr if -v/PYTHONVERBOSE is turned on.", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[2]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; } -importlib__bootstrap_toplevel_consts_18_consts_1_0 = { - ._ascii = { +importlib__bootstrap_toplevel_consts_14_consts_3_consts = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + Py_None, + & importlib__bootstrap_toplevel_consts_14_consts_3_consts_1._object.ob_base.ob_base, }, }, - ._data = "#", }; static struct { PyASCIIObject _ascii; - uint8_t _data[8]; + uint8_t _data[10]; } -importlib__bootstrap_toplevel_consts_18_consts_1_1 = { +const_str_get_ident = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 7, + .length = 9, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "import ", + ._data = "get_ident", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[6]; }_object; } -importlib__bootstrap_toplevel_consts_18_consts_1 = { +importlib__bootstrap_toplevel_consts_14_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 6, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_18_consts_1_0._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_18_consts_1_1._ascii.ob_base, + & const_str__has_deadlocked._ascii.ob_base, + & const_str__thread._ascii.ob_base, + & const_str_get_ident._ascii.ob_base, + & const_str_set._ascii.ob_base, + &_Py_ID(owner), + & const_str__blocking_on._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[3]; + uint8_t _data[13]; } -importlib__bootstrap_toplevel_consts_18_consts_2 = { +const_str_has_deadlock = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 2, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "# ", + ._data = "has_deadlock", }; static struct { PyASCIIObject _ascii; - uint8_t _data[5]; + uint8_t _data[25]; } -const_str_file = { +importlib__bootstrap_toplevel_consts_14_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 4, + .length = 24, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "file", + ._data = "_ModuleLock.has_deadlock", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[1]; - }_object; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[49]; } -importlib__bootstrap_toplevel_consts_18_consts_3 = { - ._object = { +importlib__bootstrap_toplevel_consts_14_consts_3_linetable = { + .ob_base = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 1, - }, - .ob_item = { - & const_str_file._ascii.ob_base, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, + .ob_size = 48, }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xf4\x0a\x00\x10\x1f\xe4\x16\x1d\xd7\x16\x27\xd1\x16\x27\xd3\x16\x29\xdc\x15\x18\x93\x55\xf0\x06\x00\x1c\x20\x9f\x3a\x99\x3a\x98\x2c\xe4\x18\x24\xf4\x11\x09\x10\x0a\xf0\x00\x09\x09\x0a", }; static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[5]; - }_object; - } -importlib__bootstrap_toplevel_consts_18_consts = { - ._object = { + struct _PyCode_DEF(114) +importlib__bootstrap_toplevel_consts_14_consts_3 = { + .ob_base = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 5, - }, - .ob_item = { - & importlib__bootstrap_toplevel_consts_18_consts_0._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_18_consts_1._object.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_18_consts_2._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_18_consts_3._object.ob_base.ob_base, - Py_None, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 57, }, + .co_consts = & importlib__bootstrap_toplevel_consts_14_consts_3_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 6, + .co_firstlineno = 288, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 22, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = & const_str_has_deadlock._ascii.ob_base, + .co_qualname = & importlib__bootstrap_toplevel_consts_14_consts_3_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_14_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xac\x01\xab\x04\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[6]; + uint8_t _data[186]; } -const_str_flags = { +importlib__bootstrap_toplevel_consts_14_consts_4_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 5, + .length = 185, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "flags", + ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x71\x75\x69\x72\x65\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6c\x6f\x63\x6b\x2e\x20\x20\x49\x66\x20\x61\x20\x70\x6f\x74\x65\x6e\x74\x69\x61\x6c\x20\x64\x65\x61\x64\x6c\x6f\x63\x6b\x20\x69\x73\x20\x64\x65\x74\x65\x63\x74\x65\x64\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x20\x5f\x44\x65\x61\x64\x6c\x6f\x63\x6b\x45\x72\x72\x6f\x72\x20\x69\x73\x20\x72\x61\x69\x73\x65\x64\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x4f\x74\x68\x65\x72\x77\x69\x73\x65\x2c\x20\x74\x68\x65\x20\x6c\x6f\x63\x6b\x20\x69\x73\x20\x61\x6c\x77\x61\x79\x73\x20\x61\x63\x71\x75\x69\x72\x65\x64\x20\x61\x6e\x64\x20\x54\x72\x75\x65\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", }; static struct { PyASCIIObject _ascii; - uint8_t _data[8]; + uint8_t _data[22]; } -const_str_verbose = { +importlib__bootstrap_toplevel_consts_14_consts_4_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 7, + .length = 21, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "verbose", + ._data = "deadlock detected by ", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[11]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[5]; + }_object; } -const_str_startswith = { - ._ascii = { +importlib__bootstrap_toplevel_consts_14_consts_4_consts = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 5, }, - .length = 10, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + & importlib__bootstrap_toplevel_consts_14_consts_4_consts_0._ascii.ob_base, + Py_True, + Py_None, + & importlib__bootstrap_toplevel_consts_14_consts_4_consts_3._ascii.ob_base, + Py_False, }, }, - ._data = "startswith", }; static struct { PyASCIIObject _ascii; - uint8_t _data[6]; + uint8_t _data[8]; } -const_str_print = { +const_str_acquire = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 5, + .length = 7, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "print", + ._data = "acquire", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[7]; + PyObject *ob_item[13]; }_object; } -importlib__bootstrap_toplevel_consts_18_names = { +importlib__bootstrap_toplevel_consts_14_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 7, + .ob_size = 13, }, .ob_item = { - & const_str_sys._ascii.ob_base, - & const_str_flags._ascii.ob_base, - & const_str_verbose._ascii.ob_base, - & const_str_startswith._ascii.ob_base, - & const_str_print._ascii.ob_base, - & const_str_format._ascii.ob_base, - &_Py_ID(stderr), + & const_str__thread._ascii.ob_base, + & const_str_get_ident._ascii.ob_base, + & const_str__BlockingOnManager._ascii.ob_base, + & const_str_lock._ascii.ob_base, + &_Py_ID(count), + &_Py_ID(owner), + &_Py_ID(append), + & const_str_has_deadlock._ascii.ob_base, + & const_str__DeadlockError._ascii.ob_base, + & const_str_wakeup._ascii.ob_base, + & const_str_acquire._ascii.ob_base, + & const_str_waiters._ascii.ob_base, + &_Py_ID(release), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[17]; + uint8_t _data[20]; } -const_str__verbose_message = { +importlib__bootstrap_toplevel_consts_14_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 16, + .length = 19, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_verbose_message", + ._data = "_ModuleLock.acquire", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[95]; + char ob_sval[262]; } -importlib__bootstrap_toplevel_consts_18_linetable = { +importlib__bootstrap_toplevel_consts_14_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 94, + .ob_size = 261, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x07\x0a\x84\x79\xd4\x07\x18\x98\x49\xd2\x07\x25\xd0\x07\x25\xd8\x0f\x16\xd7\x0f\x21\xd2\x0f\x21\xd0\x22\x32\xd1\x0f\x33\xd4\x0f\x33\xf0\x00\x01\x09\x25\xd8\x16\x1a\x98\x57\x91\x6e\x88\x47\xdd\x08\x0d\x88\x6e\x88\x67\x8c\x6e\x98\x64\xd0\x0e\x23\xad\x23\xac\x2a\xd0\x08\x35\xd1\x08\x35\xd4\x08\x35\xd0\x08\x35\xd0\x08\x35\xd0\x08\x35\xf0\x07\x00\x08\x26\xd0\x07\x25", + .ob_sval = "\x80\x00\xf4\x0c\x00\x0f\x16\xd7\x0e\x1f\xd1\x0e\x1f\xd3\x0e\x21\x88\x03\xdc\x0d\x1f\xa0\x03\xa0\x54\xd3\x0d\x2a\xf1\x00\x3b\x09\x26\xd8\x12\x16\xf0\x08\x00\x16\x1a\x97\x59\x91\x59\xf1\x00\x2c\x11\x32\xd8\x17\x1b\x97\x7a\x91\x7a\xa0\x52\xd2\x17\x27\xa8\x34\xaf\x3a\xa9\x3a\xb8\x13\xd2\x2b\x3c\xf0\x0e\x00\x26\x29\x98\x04\x9c\x0a\xd8\x18\x1c\x9f\x0a\x99\x0a\xd7\x18\x29\xd1\x18\x29\xa8\x24\xd4\x18\x2f\xd8\x1f\x23\xf7\x15\x2c\x11\x32\xf7\x0b\x3b\x09\x26\xf0\x00\x3b\x09\x26\xf0\x44\x01\x00\x18\x1c\xd7\x17\x28\xd1\x17\x28\xd4\x17\x2a\xdc\x1e\x2c\xd0\x2f\x44\xc0\x54\xc0\x48\xd0\x2d\x4d\xd3\x1e\x4e\xd0\x18\x4e\xf0\x1a\x00\x18\x1c\x97\x7b\x91\x7b\xd7\x17\x2a\xd1\x17\x2a\xa8\x35\xd4\x17\x31\xd8\x18\x1c\x9f\x0c\x99\x0c\xd7\x18\x2b\xd1\x18\x2b\xa8\x44\xd4\x18\x31\xf7\x59\x01\x2c\x11\x32\xf0\x62\x01\x00\x11\x15\x97\x0b\x91\x0b\xd7\x10\x23\xd1\x10\x23\xd4\x10\x25\xf0\x0a\x00\x11\x15\x97\x0b\x91\x0b\xd7\x10\x23\xd1\x10\x23\xd4\x10\x25\xf0\x75\x01\x00\x13\x17\xf7\x08\x2c\x11\x32\xf0\x00\x2c\x11\x32\xfa\xf7\x0b\x3b\x09\x26\xf0\x00\x3b\x09\x26\xfa", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[8]; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[49]; } -const_str_message = { - ._ascii = { +importlib__bootstrap_toplevel_consts_14_consts_4_exceptiontable = { + .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 7, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, + .ob_size = 48, }, - ._data = "message", + .ob_shash = -1, + .ob_sval = "\xa1\x0e\x44\x1f\x03\xaf\x41\x02\x44\x13\x05\xc1\x31\x08\x44\x1f\x03\xc2\x02\x41\x14\x44\x13\x05\xc3\x16\x3d\x44\x1f\x03\xc4\x13\x05\x44\x1c\x09\xc4\x18\x07\x44\x1f\x03\xc4\x1f\x05\x44\x28\x07", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_18_localsplusnames = { +importlib__bootstrap_toplevel_consts_14_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 2, }, .ob_item = { - & const_str_message._ascii.ob_base, - & const_str_verbosity._ascii.ob_base, - & const_str_args._ascii.ob_base, + &_Py_ID(self), + & const_str_tid._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(174) -importlib__bootstrap_toplevel_consts_18 = { + struct _PyCode_DEF(598) +importlib__bootstrap_toplevel_consts_14_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 87, + .ob_size = 299, }, - .co_consts = & importlib__bootstrap_toplevel_consts_18_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_18_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, + .co_consts = & importlib__bootstrap_toplevel_consts_14_consts_4_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_14_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = & importlib__bootstrap_toplevel_consts_14_consts_4_exceptiontable.ob_base.ob_base, + .co_flags = 3, .co_argcount = 1, .co_posonlyargcount = 0, - .co_kwonlyargcount = 1, - .co_stacksize = 5, - .co_firstlineno = 244, - .co_nlocalsplus = 3, - .co_nlocals = 3, - .co_nplaincellvars = 0, + .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, + .co_stacksize = 7, + .co_firstlineno = 304, + .co_nlocalsplus = 2, + .co_nlocals = 2, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 23, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_14_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__verbose_message._ascii.ob_base, - .co_qualname = & const_str__verbose_message._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_18_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6b\x05\x00\x00\x00\x00\x72\x3f\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x05\x64\x02\x7c\x00\x7a\x00\x00\x00\x7d\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x8e\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xac\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x04\x53\x00\x64\x04\x53\x00", + .co_name = & const_str_acquire._ascii.ob_base, + .co_qualname = & importlib__bootstrap_toplevel_consts_14_consts_4_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_14_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x09\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x6b\x28\x00\x00\x73\x0f\x7c\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6b\x28\x00\x00\x72\x34\x7c\x01\x7c\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x64\x02\x64\x02\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x64\x02\x64\x02\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01\x7c\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x72\x0e\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x9b\x02\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xab\x01\x00\x00\x00\x00\x00\x00\x72\x1b\x7c\x00\x6a\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x02\x64\x02\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\xf0\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x8c\x3e\x78\x03\x59\x00\x77\x01\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x79\x02\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[50]; - } -importlib__bootstrap_toplevel_consts_19_consts_0 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 49, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "Decorator to verify the named module is built-in.", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[30]; + uint8_t _data[32]; } -importlib__bootstrap_toplevel_consts_19_consts_1_consts_1 = { +importlib__bootstrap_toplevel_consts_14_consts_5_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 29, + .length = 31, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "{!r} is not a built-in module", + ._data = "cannot release un-acquired lock", }; static struct { @@ -4876,195 +4650,210 @@ static PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_19_consts_1_consts = { +importlib__bootstrap_toplevel_consts_14_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { Py_None, - & importlib__bootstrap_toplevel_consts_19_consts_1_consts_1._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_4_localsplusnames._object.ob_base.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[21]; - } -const_str_builtin_module_names = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 20, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + & importlib__bootstrap_toplevel_consts_14_consts_5_consts_1._ascii.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], }, }, - ._data = "builtin_module_names", }; static struct { PyASCIIObject _ascii; - uint8_t _data[12]; + uint8_t _data[13]; } -const_str_ImportError = { +const_str_RuntimeError = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 11, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "ImportError", + ._data = "RuntimeError", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[11]; }_object; } -importlib__bootstrap_toplevel_consts_19_consts_1_names = { +importlib__bootstrap_toplevel_consts_14_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 11, }, .ob_item = { - & const_str_sys._ascii.ob_base, - & const_str_builtin_module_names._ascii.ob_base, - & const_str_ImportError._ascii.ob_base, - & const_str_format._ascii.ob_base, + & const_str__thread._ascii.ob_base, + & const_str_get_ident._ascii.ob_base, + & const_str_lock._ascii.ob_base, + &_Py_ID(owner), + & const_str_RuntimeError._ascii.ob_base, + &_Py_ID(len), + &_Py_ID(count), + & const_str_pop._ascii.ob_base, + & const_str_waiters._ascii.ob_base, + & const_str_wakeup._ascii.ob_base, + &_Py_ID(release), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[26]; + uint8_t _data[20]; } -const_str__requires_builtin_wrapper = { +importlib__bootstrap_toplevel_consts_14_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 25, + .length = 19, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_requires_builtin_wrapper", + ._data = "_ModuleLock.release", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[53]; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[169]; } -importlib__bootstrap_toplevel_consts_19_consts_1_qualname = { - ._ascii = { +importlib__bootstrap_toplevel_consts_14_consts_5_linetable = { + .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 52, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, + .ob_size = 168, }, - ._data = "_requires_builtin.._requires_builtin_wrapper", + .ob_shash = -1, + .ob_sval = "\x80\x00\xdc\x0e\x15\xd7\x0e\x1f\xd1\x0e\x1f\xd3\x0e\x21\x88\x03\xd8\x0d\x11\x8f\x59\x89\x59\xf1\x00\x09\x09\x2a\xd8\x0f\x13\x8f\x7a\x89\x7a\x98\x53\xd2\x0f\x20\xdc\x16\x22\xd0\x23\x44\xd3\x16\x45\xd0\x10\x45\xdc\x13\x16\x90\x74\x97\x7a\x91\x7a\x93\x3f\xa0\x51\xd2\x13\x26\xd1\x0c\x26\xd8\x0c\x10\x8f\x4a\x89\x4a\x8f\x4e\x89\x4e\xd4\x0c\x1c\xdc\x13\x16\x90\x74\x97\x7a\x91\x7a\x94\x3f\xd8\x1d\x21\x90\x04\x94\x0a\xdc\x13\x16\x90\x74\x97\x7c\x91\x7c\xd3\x13\x24\xa0\x71\xd2\x13\x28\xd8\x14\x18\x97\x4c\x91\x4c\xd7\x14\x24\xd1\x14\x24\xd4\x14\x26\xd8\x14\x18\x97\x4b\x91\x4b\xd7\x14\x27\xd1\x14\x27\xd4\x14\x29\xf7\x13\x09\x09\x2a\xf7\x00\x09\x09\x2a\xf1\x00\x09\x09\x2a\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[79]; + char ob_sval[13]; } -importlib__bootstrap_toplevel_consts_19_consts_1_linetable = { +importlib__bootstrap_toplevel_consts_14_consts_5_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 78, + .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd8\x0b\x13\x9d\x33\xd4\x1b\x33\xd0\x0b\x33\xd0\x0b\x33\xdd\x12\x1d\xd0\x1e\x3d\xd7\x1e\x44\xd2\x1e\x44\xc0\x58\xd1\x1e\x4e\xd4\x1e\x4e\xd8\x23\x2b\xf0\x03\x01\x13\x2d\xf1\x00\x01\x13\x2d\xf4\x00\x01\x13\x2d\xf0\x00\x01\x0d\x2d\xe0\x0f\x12\x88\x73\x90\x34\x98\x18\xd1\x0f\x22\xd4\x0f\x22\xd0\x08\x22", + .ob_sval = "\xa1\x42\x37\x43\x21\x03\xc3\x21\x05\x43\x2a\x07", +}; +static + struct _PyCode_DEF(474) +importlib__bootstrap_toplevel_consts_14_consts_5 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 237, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_14_consts_5_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_14_consts_5_names._object.ob_base.ob_base, + .co_exceptiontable = & importlib__bootstrap_toplevel_consts_14_consts_5_exceptiontable.ob_base.ob_base, + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 6, + .co_firstlineno = 372, + .co_nlocalsplus = 2, + .co_nlocals = 2, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 24, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_14_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = &_Py_ID(release), + .co_qualname = & importlib__bootstrap_toplevel_consts_14_consts_5_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_14_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6b\x37\x00\x00\x72\x0b\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x44\x00\x00\x73\x02\x4a\x00\x82\x01\x7c\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x73\x53\x64\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x44\x00\x00\x72\x34\x7c\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x64\x00\x64\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x79\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[9]; + uint8_t _data[13]; } -const_str_fullname = { +importlib__bootstrap_toplevel_consts_14_consts_6_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 8, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "fullname", + ._data = "_ModuleLock(", }; static struct { PyASCIIObject _ascii; - uint8_t _data[4]; + uint8_t _data[6]; } -const_str_fxn = { +importlib__bootstrap_toplevel_consts_14_consts_6_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 3, + .length = 5, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "fxn", + ._data = ") at ", }; static struct { @@ -5074,75 +4863,21 @@ static PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_19_consts_1_localsplusnames = { +importlib__bootstrap_toplevel_consts_14_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_fullname._ascii.ob_base, - & const_str_fxn._ascii.ob_base, - }, - }, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[4]; - } -importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 3, - }, - .ob_shash = -1, - .ob_sval = "\x20\x20\x80", -}; -static - struct _PyCode_DEF(128) -importlib__bootstrap_toplevel_consts_19_consts_1 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + Py_None, + & importlib__bootstrap_toplevel_consts_14_consts_6_consts_1._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_14_consts_6_consts_2._ascii.ob_base, }, - .ob_size = 64, }, - .co_consts = & importlib__bootstrap_toplevel_consts_19_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_19_consts_1_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 254, - .co_nlocalsplus = 3, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_19_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, - .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__requires_builtin_wrapper._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_19_consts_1_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_19_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x7c\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x24\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x02\x00\x89\x02\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", - ._co_firsttraceable = 1, }; static struct { @@ -5152,102 +4887,151 @@ static PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_19_consts = { +importlib__bootstrap_toplevel_consts_14_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_19_consts_0._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_19_consts_1.ob_base.ob_base, - }, - }, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[1]; - }_object; - } -importlib__bootstrap_toplevel_consts_19_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 1, - }, - .ob_item = { - & const_str__wrap._ascii.ob_base, + &_Py_ID(name), + &_Py_ID(id), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[18]; + uint8_t _data[21]; } -const_str__requires_builtin = { +importlib__bootstrap_toplevel_consts_14_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 17, + .length = 20, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_requires_builtin", + ._data = "_ModuleLock.__repr__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[54]; + char ob_sval[30]; } -importlib__bootstrap_toplevel_consts_19_linetable = { +importlib__bootstrap_toplevel_consts_14_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 53, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf0\x04\x04\x05\x23\xf0\x00\x04\x05\x23\xf0\x00\x04\x05\x23\xf0\x00\x04\x05\x23\xf0\x00\x04\x05\x23\xf5\x0a\x00\x05\x0a\xd0\x0a\x23\xa0\x53\xd1\x04\x29\xd4\x04\x29\xd0\x04\x29\xd8\x0b\x24\xd0\x04\x24", + .ob_sval = "\x80\x00\xd8\x11\x1d\x98\x64\x9f\x69\x99\x69\x98\x5d\xa8\x25\xb4\x02\xb0\x34\xb3\x08\xa8\x7a\xd0\x0f\x3a\xd0\x08\x3a", +}; +static + struct _PyCode_DEF(56) +importlib__bootstrap_toplevel_consts_14_consts_6 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 28, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_14_consts_6_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_14_consts_6_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 6, + .co_firstlineno = 385, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 25, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = &_Py_ID(__repr__), + .co_qualname = & importlib__bootstrap_toplevel_consts_14_consts_6_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_14_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x64\x02\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x9b\x00\x9d\x04\x53\x00", + ._co_firsttraceable = 0, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[8]; }_object; } -importlib__bootstrap_toplevel_consts_19_localsplusnames = { +importlib__bootstrap_toplevel_consts_14_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 8, }, .ob_item = { - & const_str_fxn._ascii.ob_base, - & const_str__requires_builtin_wrapper._ascii.ob_base, + & const_str__ModuleLock._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_14_consts_1._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_14_consts_2.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_14_consts_3.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_14_consts_4.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_14_consts_5.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_14_consts_6.ob_base.ob_base, + Py_None, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[9]; + }_object; + } +importlib__bootstrap_toplevel_consts_14_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 9, + }, + .ob_item = { + &_Py_ID(__name__), + &_Py_ID(__module__), + &_Py_ID(__qualname__), + &_Py_ID(__doc__), + &_Py_ID(__init__), + & const_str_has_deadlock._ascii.ob_base, + & const_str_acquire._ascii.ob_base, + &_Py_ID(release), + &_Py_ID(__repr__), }, }, }; @@ -5255,268 +5039,362 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[3]; + char ob_sval[36]; } -importlib__bootstrap_toplevel_consts_19_localspluskinds = { +importlib__bootstrap_toplevel_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 2, + .ob_size = 35, }, .ob_shash = -1, - .ob_sval = "` ", + .ob_sval = "\x84\x00\xf1\x02\x03\x05\x08\xf2\x0a\x36\x05\x1a\xf2\x70\x01\x0e\x05\x0a\xf2\x20\x42\x01\x05\x26\xf2\x48\x02\x0b\x05\x2a\xf3\x1a\x01\x05\x3b", }; static - struct _PyCode_DEF(50) -importlib__bootstrap_toplevel_consts_19 = { + struct _PyCode_DEF(46) +importlib__bootstrap_toplevel_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 23, }, - .co_consts = & importlib__bootstrap_toplevel_consts_19_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_19_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_14_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_14_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, + .co_flags = 0, + .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 252, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 1, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 1, + .co_firstlineno = 226, + .co_nlocalsplus = 0, + .co_nlocals = 0, + .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_19_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_localspluskinds.ob_base.ob_base, + .co_version = 26, + .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__requires_builtin._ascii.ob_base, - .co_qualname = & const_str__requires_builtin._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_19_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x97\x00\x88\x00\x66\x01\x64\x01\x84\x08\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x89\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x53\x00", - ._co_firsttraceable = 1, + .co_name = & const_str__ModuleLock._ascii.ob_base, + .co_qualname = & const_str__ModuleLock._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_14_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x79\x07", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[48]; + uint8_t _data[17]; } -importlib__bootstrap_toplevel_consts_20_consts_0 = { +const_str__DummyModuleLock = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 47, + .length = 16, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "Decorator to verify the named module is frozen.", + ._data = "_DummyModuleLock", }; static struct { PyASCIIObject _ascii; - uint8_t _data[28]; + uint8_t _data[87]; } -importlib__bootstrap_toplevel_consts_20_consts_1_consts_1 = { +importlib__bootstrap_toplevel_consts_16_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 27, + .length = 86, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "{!r} is not a frozen module", + ._data = "\x41\x20\x73\x69\x6d\x70\x6c\x65\x20\x5f\x4d\x6f\x64\x75\x6c\x65\x4c\x6f\x63\x6b\x20\x65\x71\x75\x69\x76\x61\x6c\x65\x6e\x74\x20\x66\x6f\x72\x20\x50\x79\x74\x68\x6f\x6e\x20\x62\x75\x69\x6c\x64\x73\x20\x77\x69\x74\x68\x6f\x75\x74\x0a\x20\x20\x20\x20\x6d\x75\x6c\x74\x69\x2d\x74\x68\x72\x65\x61\x64\x69\x6e\x67\x20\x73\x75\x70\x70\x6f\x72\x74\x2e", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_20_consts_1_consts = { +importlib__bootstrap_toplevel_consts_16_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 2, }, .ob_item = { Py_None, - & importlib__bootstrap_toplevel_consts_20_consts_1_consts_1._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_4_localsplusnames._object.ob_base.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +importlib__bootstrap_toplevel_consts_16_consts_2_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + &_Py_ID(name), + &_Py_ID(count), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[10]; + uint8_t _data[26]; } -const_str_is_frozen = { +importlib__bootstrap_toplevel_consts_16_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 9, + .length = 25, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "is_frozen", + ._data = "_DummyModuleLock.__init__", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[17]; + } +importlib__bootstrap_toplevel_consts_16_consts_2_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 16, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xd8\x14\x18\x88\x04\x8c\x09\xd8\x15\x16\x88\x04\x8d\x0a", +}; +static + struct _PyCode_DEF(32) +importlib__bootstrap_toplevel_consts_16_consts_2 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 16, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_16_consts_2_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 393, + .co_nlocalsplus = 2, + .co_nlocals = 2, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 27, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_14_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = &_Py_ID(__init__), + .co_qualname = & importlib__bootstrap_toplevel_consts_16_consts_2_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_16_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", + ._co_firsttraceable = 0, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_20_consts_1_names = { +importlib__bootstrap_toplevel_consts_16_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 3, }, .ob_item = { - & const_str__imp._ascii.ob_base, - & const_str_is_frozen._ascii.ob_base, - & const_str_ImportError._ascii.ob_base, - & const_str_format._ascii.ob_base, + Py_None, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + Py_True, }, }, }; static struct { - PyASCIIObject _ascii; - uint8_t _data[25]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; } -const_str__requires_frozen_wrapper = { - ._ascii = { +importlib__bootstrap_toplevel_consts_16_consts_3_names = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, }, - .length = 24, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + &_Py_ID(count), }, }, - ._data = "_requires_frozen_wrapper", }; static struct { PyASCIIObject _ascii; - uint8_t _data[51]; + uint8_t _data[25]; } -importlib__bootstrap_toplevel_consts_20_consts_1_qualname = { +importlib__bootstrap_toplevel_consts_16_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 50, + .length = 24, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_requires_frozen.._requires_frozen_wrapper", + ._data = "_DummyModuleLock.acquire", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[85]; + char ob_sval[19]; } -importlib__bootstrap_toplevel_consts_20_consts_1_linetable = { +importlib__bootstrap_toplevel_consts_16_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 84, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xdd\x0f\x13\x8f\x7e\x8a\x7e\x98\x68\xd1\x0f\x27\xd4\x0f\x27\xf0\x00\x02\x09\x2d\xdd\x12\x1d\xd0\x1e\x3b\xd7\x1e\x42\xd2\x1e\x42\xc0\x38\xd1\x1e\x4c\xd4\x1e\x4c\xd8\x23\x2b\xf0\x03\x01\x13\x2d\xf1\x00\x01\x13\x2d\xf4\x00\x01\x13\x2d\xf0\x00\x01\x0d\x2d\xe0\x0f\x12\x88\x73\x90\x34\x98\x18\xd1\x0f\x22\xd4\x0f\x22\xd0\x08\x22", + .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0a\x8a\x0a\x90\x61\x89\x0f\x8d\x0a\xd8\x0f\x13", }; static - struct _PyCode_DEF(152) -importlib__bootstrap_toplevel_consts_20_consts_1 = { + struct _PyCode_DEF(46) +importlib__bootstrap_toplevel_consts_16_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 76, + .ob_size = 23, }, - .co_consts = & importlib__bootstrap_toplevel_consts_20_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_20_consts_1_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_3_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_16_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, + .co_flags = 3, + .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 265, - .co_nlocalsplus = 3, - .co_nlocals = 2, - .co_nplaincellvars = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 397, + .co_nlocalsplus = 1, + .co_nlocals = 1, .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_19_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, + .co_nfreevars = 0, + .co_version = 28, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__requires_frozen_wrapper._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_20_consts_1_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_20_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x24\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x02\x00\x89\x02\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", - ._co_firsttraceable = 1, + .co_name = & const_str_acquire._ascii.ob_base, + .co_qualname = & importlib__bootstrap_toplevel_consts_16_consts_3_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_16_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x78\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7a\x0d\x00\x00\x63\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x02", + ._co_firsttraceable = 0, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[4]; + }_object; + } +importlib__bootstrap_toplevel_consts_16_consts_4_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 4, + }, + .ob_item = { + Py_None, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & importlib__bootstrap_toplevel_consts_14_consts_5_consts_1._ascii.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + }, + }, }; static struct { @@ -5526,430 +5404,704 @@ static PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_20_consts = { +importlib__bootstrap_toplevel_consts_16_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_20_consts_0._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_20_consts_1.ob_base.ob_base, + &_Py_ID(count), + & const_str_RuntimeError._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[17]; + uint8_t _data[25]; } -const_str__requires_frozen = { +importlib__bootstrap_toplevel_consts_16_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 16, + .length = 24, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_requires_frozen", + ._data = "_DummyModuleLock.release", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[54]; + char ob_sval[39]; } -importlib__bootstrap_toplevel_consts_20_linetable = { +importlib__bootstrap_toplevel_consts_16_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 53, + .ob_size = 38, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf0\x04\x04\x05\x23\xf0\x00\x04\x05\x23\xf0\x00\x04\x05\x23\xf0\x00\x04\x05\x23\xf0\x00\x04\x05\x23\xf5\x0a\x00\x05\x0a\xd0\x0a\x22\xa0\x43\xd1\x04\x28\xd4\x04\x28\xd0\x04\x28\xd8\x0b\x23\xd0\x04\x23", + .ob_sval = "\x80\x00\xd8\x0b\x0f\x8f\x3a\x89\x3a\x98\x11\x8a\x3f\xdc\x12\x1e\xd0\x1f\x40\xd3\x12\x41\xd0\x0c\x41\xd8\x08\x0c\x8f\x0a\x8a\x0a\x90\x61\x89\x0f\x8e\x0a", }; static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -importlib__bootstrap_toplevel_consts_20_localsplusnames = { - ._object = { + struct _PyCode_DEF(98) +importlib__bootstrap_toplevel_consts_16_consts_4 = { + .ob_base = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & const_str_fxn._ascii.ob_base, - & const_str__requires_frozen_wrapper._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(50) -importlib__bootstrap_toplevel_consts_20 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 49, }, - .co_consts = & importlib__bootstrap_toplevel_consts_20_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_19_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_4_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_16_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 263, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 1, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 401, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_localspluskinds.ob_base.ob_base, + .co_version = 29, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__requires_frozen._ascii.ob_base, - .co_qualname = & const_str__requires_frozen._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x97\x00\x88\x00\x66\x01\x64\x01\x84\x08\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x89\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x53\x00", - ._co_firsttraceable = 1, + .co_name = &_Py_ID(release), + .co_qualname = & importlib__bootstrap_toplevel_consts_16_consts_4_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_16_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x28\x00\x00\x72\x0b\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x78\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7a\x17\x00\x00\x63\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[131]; + uint8_t _data[18]; } -importlib__bootstrap_toplevel_consts_21_consts_0 = { +importlib__bootstrap_toplevel_consts_16_consts_5_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 130, + .length = 17, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, + }, + }, + ._data = "_DummyModuleLock(", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +importlib__bootstrap_toplevel_consts_16_consts_5_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + Py_None, + & importlib__bootstrap_toplevel_consts_16_consts_5_consts_1._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_14_consts_6_consts_2._ascii.ob_base, }, }, - ._data = "\x4c\x6f\x61\x64\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x6e\x74\x6f\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x20\x69\x74\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x6d\x65\x74\x68\x6f\x64\x20\x69\x73\x20\x64\x65\x70\x72\x65\x63\x61\x74\x65\x64\x2e\x20\x20\x55\x73\x65\x20\x6c\x6f\x61\x64\x65\x72\x2e\x65\x78\x65\x63\x5f\x6d\x6f\x64\x75\x6c\x65\x28\x29\x20\x69\x6e\x73\x74\x65\x61\x64\x2e\x0a\x0a\x20\x20\x20\x20", }; static struct { PyASCIIObject _ascii; - uint8_t _data[104]; + uint8_t _data[26]; } -importlib__bootstrap_toplevel_consts_21_consts_1 = { +importlib__bootstrap_toplevel_consts_16_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 103, + .length = 25, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "the load_module() method is deprecated and slated for removal in Python 3.12; use exec_module() instead", + ._data = "_DummyModuleLock.__repr__", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[30]; + } +importlib__bootstrap_toplevel_consts_16_consts_5_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 29, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xd8\x11\x22\xa0\x34\xa7\x39\xa1\x39\xa0\x2d\xa8\x75\xb4\x52\xb8\x04\xb3\x58\xb0\x4a\xd0\x0f\x3f\xd0\x08\x3f", +}; +static + struct _PyCode_DEF(56) +importlib__bootstrap_toplevel_consts_16_consts_5 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 28, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_5_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_14_consts_6_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 6, + .co_firstlineno = 406, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 30, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = &_Py_ID(__repr__), + .co_qualname = & importlib__bootstrap_toplevel_consts_16_consts_5_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_16_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x64\x02\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x9b\x00\x9d\x04\x53\x00", + ._co_firsttraceable = 0, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[7]; }_object; } -importlib__bootstrap_toplevel_consts_21_consts = { +importlib__bootstrap_toplevel_consts_16_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 7, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_21_consts_0._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_21_consts_1._ascii.ob_base, + & const_str__DummyModuleLock._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_16_consts_1._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_16_consts_2.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_16_consts_3.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_16_consts_4.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_16_consts_5.ob_base.ob_base, + Py_None, }, }, }; static struct { - PyASCIIObject _ascii; - uint8_t _data[10]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[8]; + }_object; } -const_str__warnings = { - ._ascii = { +importlib__bootstrap_toplevel_consts_16_names = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 8, }, - .length = 9, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + &_Py_ID(__name__), + &_Py_ID(__module__), + &_Py_ID(__qualname__), + &_Py_ID(__doc__), + &_Py_ID(__init__), + & const_str_acquire._ascii.ob_base, + &_Py_ID(release), + &_Py_ID(__repr__), }, }, - ._data = "_warnings", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[29]; + } +importlib__bootstrap_toplevel_consts_16_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 28, + }, + .ob_shash = -1, + .ob_sval = "\x84\x00\xf1\x02\x01\x05\x20\xf2\x06\x02\x05\x17\xf2\x08\x02\x05\x14\xf2\x08\x03\x05\x18\xf3\x0a\x01\x05\x40\x01", +}; +static + struct _PyCode_DEF(40) +importlib__bootstrap_toplevel_consts_16 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 20, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_16_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 0, + .co_argcount = 0, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 1, + .co_firstlineno = 389, + .co_nlocalsplus = 0, + .co_nlocals = 0, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 31, + .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = & const_str__DummyModuleLock._ascii.ob_base, + .co_qualname = & const_str__DummyModuleLock._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_16_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x79\x06", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[5]; + uint8_t _data[19]; } -const_str_warn = { +const_str__ModuleLockManager = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 4, + .length = 18, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "warn", + ._data = "_ModuleLockManager", }; static struct { PyASCIIObject _ascii; - uint8_t _data[19]; + uint8_t _data[6]; } -const_str_DeprecationWarning = { +const_str__name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 18, + .length = 5, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "DeprecationWarning", + ._data = "_name", }; static struct { PyASCIIObject _ascii; - uint8_t _data[17]; + uint8_t _data[6]; } -const_str_spec_from_loader = { +const_str__lock = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 16, + .length = 5, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, + }, + }, + ._data = "_lock", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +importlib__bootstrap_toplevel_consts_18_consts_1_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + & const_str__name._ascii.ob_base, + & const_str__lock._ascii.ob_base, }, }, - ._data = "spec_from_loader", }; static struct { PyASCIIObject _ascii; - uint8_t _data[6]; + uint8_t _data[28]; } -const_str__exec = { +importlib__bootstrap_toplevel_consts_18_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 5, + .length = 27, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_exec", + ._data = "_ModuleLockManager.__init__", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[17]; + } +importlib__bootstrap_toplevel_consts_18_consts_1_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 16, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xd8\x15\x19\x88\x04\x8c\x0a\xd8\x15\x19\x88\x04\x8d\x0a", +}; +static + struct _PyCode_DEF(32) +importlib__bootstrap_toplevel_consts_18_consts_1 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 16, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_18_consts_1_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 412, + .co_nlocalsplus = 2, + .co_nlocals = 2, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 32, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_14_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = &_Py_ID(__init__), + .co_qualname = & importlib__bootstrap_toplevel_consts_18_consts_1_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_18_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[6]; + uint8_t _data[17]; } -const_str__load = { +const_str__get_module_lock = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 5, + .length = 16, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_load", + ._data = "_get_module_lock", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[8]; + PyObject *ob_item[4]; }_object; } -importlib__bootstrap_toplevel_consts_21_names = { +importlib__bootstrap_toplevel_consts_18_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 8, + .ob_size = 4, }, .ob_item = { - & const_str__warnings._ascii.ob_base, - & const_str_warn._ascii.ob_base, - & const_str_DeprecationWarning._ascii.ob_base, - & const_str_spec_from_loader._ascii.ob_base, - & const_str_sys._ascii.ob_base, - &_Py_ID(modules), - & const_str__exec._ascii.ob_base, - & const_str__load._ascii.ob_base, + & const_str__get_module_lock._ascii.ob_base, + & const_str__name._ascii.ob_base, + & const_str__lock._ascii.ob_base, + & const_str_acquire._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[18]; + uint8_t _data[29]; } -const_str__load_module_shim = { +importlib__bootstrap_toplevel_consts_18_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 17, + .length = 28, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_load_module_shim", + ._data = "_ModuleLockManager.__enter__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[112]; + char ob_sval[35]; } -importlib__bootstrap_toplevel_consts_21_linetable = { +importlib__bootstrap_toplevel_consts_18_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 111, + .ob_size = 34, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0c\x01\x0c\x33\x80\x43\xe5\x04\x0d\x87\x4e\x82\x4e\x90\x33\xd5\x18\x2a\xd1\x04\x2b\xd4\x04\x2b\xd0\x04\x2b\xdd\x0b\x1b\x98\x48\xa0\x64\xd1\x0b\x2b\xd4\x0b\x2b\x80\x44\xd8\x07\x0f\x95\x33\x94\x3b\xd0\x07\x1e\xd0\x07\x1e\xdd\x11\x14\x94\x1b\x98\x58\xd4\x11\x26\x88\x06\xdd\x08\x0d\x88\x64\x90\x46\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xdd\x0f\x12\x8c\x7b\x98\x38\xd4\x0f\x24\xd0\x08\x24\xe5\x0f\x14\x90\x54\x89\x7b\x8c\x7b\xd0\x08\x1a", + .ob_sval = "\x80\x00\xdc\x15\x25\xa0\x64\xa7\x6a\xa1\x6a\xd3\x15\x31\x88\x04\x8c\x0a\xd8\x08\x0c\x8f\x0a\x89\x0a\xd7\x08\x1a\xd1\x08\x1a\xd5\x08\x1c", +}; +static + struct _PyCode_DEF(108) +importlib__bootstrap_toplevel_consts_18_consts_2 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 54, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_18_consts_2_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 416, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 33, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = &_Py_ID(__enter__), + .co_qualname = & importlib__bootstrap_toplevel_consts_18_consts_2_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_18_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", + ._co_firsttraceable = 0, }; static struct { - PyASCIIObject _ascii; - uint8_t _data[5]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; } -const_str_spec = { - ._ascii = { +importlib__bootstrap_toplevel_consts_18_consts_3_names = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, }, - .length = 4, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + & const_str__lock._ascii.ob_base, + &_Py_ID(release), }, }, - ._data = "spec", }; static struct { PyASCIIObject _ascii; - uint8_t _data[7]; + uint8_t _data[28]; } -const_str_module = { +importlib__bootstrap_toplevel_consts_18_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 6, + .length = 27, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, + }, + }, + ._data = "_ModuleLockManager.__exit__", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[19]; + } +importlib__bootstrap_toplevel_consts_18_consts_3_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 18, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0a\x89\x0a\xd7\x08\x1a\xd1\x08\x1a\xd5\x08\x1c", +}; +static + struct _PyCode_DEF(56) +importlib__bootstrap_toplevel_consts_18_consts_3 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 28, }, - ._data = "module", + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_18_consts_3_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 15, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 420, + .co_nlocalsplus = 3, + .co_nlocals = 3, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 34, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_9_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = &_Py_ID(__exit__), + .co_qualname = & importlib__bootstrap_toplevel_consts_18_consts_3_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_18_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", + ._co_firsttraceable = 0, }; static struct { @@ -5959,547 +6111,789 @@ static PyObject *ob_item[5]; }_object; } -importlib__bootstrap_toplevel_consts_21_localsplusnames = { +importlib__bootstrap_toplevel_consts_18_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_fullname._ascii.ob_base, - &_Py_ID(msg), - & const_str_spec._ascii.ob_base, - & const_str_module._ascii.ob_base, + & const_str__ModuleLockManager._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_18_consts_1.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_18_consts_2.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_18_consts_3.ob_base.ob_base, + Py_None, }, }, }; static - struct _PyCode_DEF(264) -importlib__bootstrap_toplevel_consts_21 = { + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[6]; + }_object; + } +importlib__bootstrap_toplevel_consts_18_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 6, + }, + .ob_item = { + &_Py_ID(__name__), + &_Py_ID(__module__), + &_Py_ID(__qualname__), + &_Py_ID(__init__), + &_Py_ID(__enter__), + &_Py_ID(__exit__), + }, + }, +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[18]; + } +importlib__bootstrap_toplevel_consts_18_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 17, + }, + .ob_shash = -1, + .ob_sval = "\x84\x00\xf2\x04\x02\x05\x1a\xf2\x08\x02\x05\x1d\xf3\x08\x01\x05\x1d", +}; +static + struct _PyCode_DEF(30) +importlib__bootstrap_toplevel_consts_18 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 132, + .ob_size = 15, }, - .co_consts = & importlib__bootstrap_toplevel_consts_21_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_21_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_18_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_18_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, + .co_flags = 0, + .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 275, - .co_nlocalsplus = 5, - .co_nlocals = 5, - .co_nplaincellvars = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 1, + .co_firstlineno = 410, + .co_nlocalsplus = 0, + .co_nlocals = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_21_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 35, + .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__load_module_shim._ascii.ob_base, - .co_qualname = & const_str__load_module_shim._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_21_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x7d\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x01\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x34\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_name = & const_str__ModuleLockManager._ascii.ob_base, + .co_qualname = & const_str__ModuleLockManager._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_18_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x79\x04", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[45]; + uint8_t _data[140]; } -importlib__bootstrap_toplevel_consts_22_consts_0 = { +importlib__bootstrap_toplevel_consts_20_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 44, + .length = 139, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "The implementation of ModuleType.__repr__().", + ._data = "\x47\x65\x74\x20\x6f\x72\x20\x63\x72\x65\x61\x74\x65\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6c\x6f\x63\x6b\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\x6e\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6e\x61\x6d\x65\x2e\x0a\x0a\x20\x20\x20\x20\x41\x63\x71\x75\x69\x72\x65\x2f\x72\x65\x6c\x65\x61\x73\x65\x20\x69\x6e\x74\x65\x72\x6e\x61\x6c\x6c\x79\x20\x74\x68\x65\x20\x67\x6c\x6f\x62\x61\x6c\x20\x69\x6d\x70\x6f\x72\x74\x20\x6c\x6f\x63\x6b\x20\x74\x6f\x20\x70\x72\x6f\x74\x65\x63\x74\x0a\x20\x20\x20\x20\x5f\x6d\x6f\x64\x75\x6c\x65\x5f\x6c\x6f\x63\x6b\x73\x2e", }; static struct { PyASCIIObject _ascii; - uint8_t _data[12]; + uint8_t _data[5]; } -const_str_module_repr = { +const_str__imp = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 11, + .length = 4, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "module_repr", + ._data = "_imp", }; static struct { PyASCIIObject _ascii; - uint8_t _data[2]; + uint8_t _data[13]; } -importlib__bootstrap_toplevel_consts_22_consts_5 = { +const_str_acquire_lock = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 1, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "?", + ._data = "acquire_lock", }; static struct { PyASCIIObject _ascii; - uint8_t _data[24]; + uint8_t _data[14]; } -importlib__bootstrap_toplevel_consts_22_consts_6 = { +const_str__module_locks = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 23, + .length = 13, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "", + ._data = "_module_locks", }; static struct { PyASCIIObject _ascii; - uint8_t _data[14]; + uint8_t _data[13]; } -importlib__bootstrap_toplevel_consts_22_consts_7 = { +const_str_release_lock = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 13, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[21]; - } -importlib__bootstrap_toplevel_consts_22_consts_8 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 20, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "", + ._data = "release_lock", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[9]; + PyObject *ob_item[5]; }_object; } -importlib__bootstrap_toplevel_consts_22_consts = { +importlib__bootstrap_toplevel_consts_20_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 9, + .ob_size = 5, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_22_consts_0._ascii.ob_base, - &_Py_ID(__loader__), - Py_None, - &_Py_ID(__spec__), - & const_str_module_repr._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_22_consts_5._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_22_consts_6._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_22_consts_7._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_22_consts_8._ascii.ob_base, + & const_str__imp._ascii.ob_base, + & const_str_acquire_lock._ascii.ob_base, + & const_str__module_locks._ascii.ob_base, + &_Py_ID(get), + & const_str_release_lock._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[23]; + uint8_t _data[3]; } -const_str__module_repr_from_spec = { +const_str_cb = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 22, + .length = 2, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_module_repr_from_spec", + ._data = "cb", }; static struct { PyASCIIObject _ascii; - uint8_t _data[10]; + uint8_t _data[29]; } -const_str_Exception = { +importlib__bootstrap_toplevel_consts_20_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 9, + .length = 28, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "Exception", + ._data = "_get_module_lock..cb", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[74]; + } +importlib__bootstrap_toplevel_consts_20_consts_2_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 73, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xdc\x10\x14\xd7\x10\x21\xd1\x10\x21\xd4\x10\x23\xf0\x02\x07\x11\x28\xf4\x08\x00\x18\x25\xd7\x17\x28\xd1\x17\x28\xa8\x14\xd3\x17\x2e\xb0\x23\xd1\x17\x35\xdc\x1c\x29\xa8\x24\xd0\x1c\x2f\xe4\x14\x18\xd7\x14\x25\xd1\x14\x25\xd5\x14\x27\xf8\x94\x44\xd7\x14\x25\xd1\x14\x25\xd5\x14\x27\xfa", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[12]; + } +importlib__bootstrap_toplevel_consts_20_consts_2_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 11, + }, + .ob_shash = -1, + .ob_sval = "\x96\x1e\x41\x09\x00\xc1\x09\x16\x41\x1f\x03", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[9]; + PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_22_names = { +importlib__bootstrap_toplevel_consts_20_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 9, + .ob_size = 2, }, .ob_item = { - &_Py_ID(getattr), - & const_str__module_repr_from_spec._ascii.ob_base, - & const_str_hasattr._ascii.ob_base, - & const_str_module_repr._ascii.ob_base, - & const_str_Exception._ascii.ob_base, - &_Py_ID(__name__), - & const_str_AttributeError._ascii.ob_base, - &_Py_ID(__file__), - & const_str_format._ascii.ob_base, + & const_str_ref._ascii.ob_base, + &_Py_ID(name), + }, + }, +}; +static + struct _PyCode_DEF(196) +importlib__bootstrap_toplevel_consts_20_consts_2 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 98, }, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_20_consts_2_names._object.ob_base.ob_base, + .co_exceptiontable = & importlib__bootstrap_toplevel_consts_20_consts_2_exceptiontable.ob_base.ob_base, + .co_flags = 19, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 445, + .co_nlocalsplus = 2, + .co_nlocals = 2, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 36, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_20_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = & const_str_cb._ascii.ob_base, + .co_qualname = & importlib__bootstrap_toplevel_consts_20_consts_2_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_20_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x75\x00\x72\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3d\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 0, }; static struct { - PyASCIIObject _ascii; - uint8_t _data[13]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; } -const_str__module_repr = { - ._ascii = { +importlib__bootstrap_toplevel_consts_20_consts = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, }, - .length = 12, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + & importlib__bootstrap_toplevel_consts_20_consts_0._ascii.ob_base, + Py_None, + & importlib__bootstrap_toplevel_consts_20_consts_2.ob_base.ob_base, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[10]; + }_object; + } +importlib__bootstrap_toplevel_consts_20_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 10, + }, + .ob_item = { + & const_str__imp._ascii.ob_base, + & const_str_acquire_lock._ascii.ob_base, + & const_str__module_locks._ascii.ob_base, + & const_str_KeyError._ascii.ob_base, + & const_str__thread._ascii.ob_base, + & const_str__DummyModuleLock._ascii.ob_base, + & const_str__ModuleLock._ascii.ob_base, + & const_str__weakref._ascii.ob_base, + & const_str_ref._ascii.ob_base, + & const_str_release_lock._ascii.ob_base, }, }, - ._data = "_module_repr", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[309]; + char ob_sval[157]; } -importlib__bootstrap_toplevel_consts_22_linetable = { +importlib__bootstrap_toplevel_consts_20_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 308, + .ob_size = 156, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0d\x14\x90\x56\x98\x5c\xa8\x34\xd1\x0d\x30\xd4\x0d\x30\x80\x46\xdd\x0f\x16\x90\x76\x98\x7a\xa8\x34\xd1\x0f\x30\xd4\x0f\x30\xd0\x07\x30\x80\x74\xf0\x00\x06\x05\x11\xdd\x0f\x25\xa0\x64\xd1\x0f\x2b\xd4\x0f\x2b\xd0\x08\x2b\xdd\x09\x10\x90\x16\x98\x1d\xd1\x09\x27\xd4\x09\x27\xf0\x00\x04\x05\x11\xf0\x02\x03\x09\x11\xd8\x13\x19\xd7\x13\x25\xd2\x13\x25\xa0\x66\xd1\x13\x2d\xd4\x13\x2d\xd0\x0c\x2d\xf8\xdd\x0f\x18\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8\xf0\x06\x03\x05\x13\xd8\x0f\x15\x8c\x7f\x88\x04\x88\x04\xf8\xdd\x0b\x19\xf0\x00\x01\x05\x13\xf0\x00\x01\x05\x13\xf0\x00\x01\x05\x13\xd8\x0f\x12\x88\x04\x88\x04\x88\x04\xf0\x03\x01\x05\x13\xf8\xf8\xf8\xf0\x04\x08\x05\x40\x01\xd8\x13\x19\x94\x3f\x88\x08\xf0\x0e\x00\x10\x29\xd7\x0f\x2f\xd2\x0f\x2f\xb0\x04\xb0\x68\xd1\x0f\x3f\xd4\x0f\x3f\xd0\x08\x3f\xf8\xf5\x0d\x00\x0c\x1a\xf0\x00\x04\x05\x3f\xf0\x00\x04\x05\x3f\xf0\x00\x04\x05\x3f\xd8\x0b\x11\x88\x3e\xd8\x13\x22\xd7\x13\x29\xd2\x13\x29\xa8\x24\xd1\x13\x2f\xd4\x13\x2f\xd0\x0c\x2f\xd0\x0c\x2f\xd0\x0c\x2f\xe0\x13\x29\xd7\x13\x30\xd2\x13\x30\xb0\x14\xb0\x76\xd1\x13\x3e\xd4\x13\x3e\xd0\x0c\x3e\xd0\x0c\x3e\xd0\x0c\x3e\xf0\x09\x04\x05\x3f\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf4\x0c\x00\x05\x09\xd7\x04\x15\xd1\x04\x15\xd4\x04\x17\xf0\x02\x19\x05\x1c\xf0\x02\x03\x09\x18\xdc\x13\x20\xa0\x14\xd1\x13\x26\xd3\x13\x28\x88\x44\xf0\x08\x00\x0c\x10\x88\x3c\xdc\x0f\x16\x88\x7f\xdc\x17\x27\xa8\x04\xd3\x17\x2d\x91\x04\xe4\x17\x22\xa0\x34\xd3\x17\x28\x90\x04\xe0\x1d\x21\xf3\x00\x09\x0d\x28\xf4\x16\x00\x23\x2b\xa7\x2c\xa1\x2c\xa8\x74\xb0\x52\xd3\x22\x38\x8c\x4d\x98\x24\xd1\x0c\x1f\xe4\x08\x0c\xd7\x08\x19\xd1\x08\x19\xd4\x08\x1b\xe0\x0b\x0f\x80\x4b\xf8\xf4\x31\x00\x10\x18\xf2\x00\x01\x09\x18\xd8\x13\x17\x8a\x44\xf0\x03\x01\x09\x18\xfb\xf4\x2c\x00\x09\x0d\xd7\x08\x19\xd1\x08\x19\xd5\x08\x1b\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[61]; + char ob_sval[42]; } -importlib__bootstrap_toplevel_consts_22_exceptiontable = { +importlib__bootstrap_toplevel_consts_20_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 60, + .ob_size = 41, }, .ob_shash = -1, - .ob_sval = "\xc1\x05\x14\x41\x1a\x00\xc1\x1a\x0a\x41\x27\x03\xc1\x26\x01\x41\x27\x03\xc1\x2b\x07\x41\x33\x00\xc1\x33\x0c\x42\x02\x03\xc2\x01\x01\x42\x02\x03\xc2\x06\x07\x42\x23\x00\xc2\x23\x21\x43\x1f\x03\xc3\x06\x16\x43\x1f\x03\xc3\x1e\x01\x43\x1f\x03", + .ob_sval = "\x97\x0d\x41\x3b\x00\xa4\x41\x01\x42\x0c\x00\xc1\x3b\x0b\x42\x09\x03\xc2\x06\x02\x42\x0c\x00\xc2\x08\x01\x42\x09\x03\xc2\x09\x03\x42\x0c\x00\xc2\x0c\x16\x42\x22\x03", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +importlib__bootstrap_toplevel_consts_20_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + &_Py_ID(name), + & const_str_lock._ascii.ob_base, + & const_str_cb._ascii.ob_base, + }, + }, +}; +static + struct _PyCode_DEF(330) +importlib__bootstrap_toplevel_consts_20 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 165, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_20_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_20_names._object.ob_base.ob_base, + .co_exceptiontable = & importlib__bootstrap_toplevel_consts_20_exceptiontable.ob_base.ob_base, + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 426, + .co_nlocalsplus = 3, + .co_nlocals = 3, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 37, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = & const_str__get_module_lock._ascii.ob_base, + .co_qualname = & const_str__get_module_lock._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_20_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x19\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x80\x3f\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0c\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x0b\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x66\x01\x64\x02\x84\x01\x7d\x02\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x3c\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x53\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x01\x7d\x01\x59\x00\x8c\x64\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[7]; + uint8_t _data[190]; } -const_str_loader = { +importlib__bootstrap_toplevel_consts_21_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 6, + .length = 189, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "loader", + ._data = "\x41\x63\x71\x75\x69\x72\x65\x73\x20\x74\x68\x65\x6e\x20\x72\x65\x6c\x65\x61\x73\x65\x73\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6c\x6f\x63\x6b\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\x6e\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6e\x61\x6d\x65\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x69\x73\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x65\x6e\x73\x75\x72\x65\x20\x61\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x6c\x79\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x2c\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x65\x76\x65\x6e\x74\x20\x69\x74\x20\x69\x73\x20\x62\x65\x69\x6e\x67\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x20\x62\x79\x20\x61\x6e\x6f\x74\x68\x65\x72\x20\x74\x68\x72\x65\x61\x64\x2e\x0a\x20\x20\x20\x20", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[5]; + PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_22_localsplusnames = { +importlib__bootstrap_toplevel_consts_21_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 5, + .ob_size = 2, + }, + .ob_item = { + & importlib__bootstrap_toplevel_consts_21_consts_0._ascii.ob_base, + Py_None, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[4]; + }_object; + } +importlib__bootstrap_toplevel_consts_21_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 4, + }, + .ob_item = { + & const_str__get_module_lock._ascii.ob_base, + & const_str_acquire._ascii.ob_base, + &_Py_ID(release), + & const_str__DeadlockError._ascii.ob_base, + }, + }, +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[62]; + } +importlib__bootstrap_toplevel_consts_21_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 61, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xf4\x0c\x00\x0c\x1c\x98\x44\xd3\x0b\x21\x80\x44\xf0\x02\x07\x05\x17\xd8\x08\x0c\x8f\x0c\x89\x0c\x8c\x0e\xf0\x0c\x00\x09\x0d\x8f\x0c\x89\x0c\x8d\x0e\xf8\xf4\x0b\x00\x0c\x1a\xf2\x00\x03\x05\x0d\xf1\x06\x00\x09\x0d\xf0\x07\x03\x05\x0d\xfa", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[13]; + } +importlib__bootstrap_toplevel_consts_21_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 12, + }, + .ob_shash = -1, + .ob_sval = "\x8d\x10\x2e\x00\xae\x09\x3a\x03\xb9\x01\x3a\x03", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +importlib__bootstrap_toplevel_consts_21_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, }, .ob_item = { - & const_str_module._ascii.ob_base, - & const_str_loader._ascii.ob_base, - & const_str_spec._ascii.ob_base, &_Py_ID(name), - &_Py_ID(filename), + & const_str_lock._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(452) -importlib__bootstrap_toplevel_consts_22 = { + struct _PyCode_DEF(122) +importlib__bootstrap_toplevel_consts_21 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 226, + .ob_size = 61, }, - .co_consts = & importlib__bootstrap_toplevel_consts_22_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_22_names._object.ob_base.ob_base, - .co_exceptiontable = & importlib__bootstrap_toplevel_consts_22_exceptiontable.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_21_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_21_names._object.ob_base.ob_base, + .co_exceptiontable = & importlib__bootstrap_toplevel_consts_21_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 294, - .co_nlocalsplus = 5, - .co_nlocals = 5, - .co_nplaincellvars = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 463, + .co_nlocalsplus = 2, + .co_nlocals = 2, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_22_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 38, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_21_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str__module_repr._ascii.ob_base, - .co_qualname = & const_str__module_repr._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_22_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\x64\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x03\x64\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x78\x01\x7d\x02\x72\x0f\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x26\x09\x00\x7c\x01\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x09\x00\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x6e\x12\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x05\x7d\x03\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x09\x00\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x64\x06\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x32\x01\x00\x7c\x01\x80\x17\x64\x07\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x59\x00\x53\x00\x64\x08\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_name = &_Py_ID(_lock_unlock_module), + .co_qualname = &_Py_ID(_lock_unlock_module), + .co_linetable = & importlib__bootstrap_toplevel_consts_21_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x7c\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[11]; + uint8_t _data[303]; } -const_str_ModuleSpec = { +importlib__bootstrap_toplevel_consts_22_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 10, + .length = 302, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "ModuleSpec", + ._data = "\x72\x65\x6d\x6f\x76\x65\x5f\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x5f\x66\x72\x61\x6d\x65\x73\x20\x69\x6e\x20\x69\x6d\x70\x6f\x72\x74\x2e\x63\x20\x77\x69\x6c\x6c\x20\x61\x6c\x77\x61\x79\x73\x20\x72\x65\x6d\x6f\x76\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x73\x0a\x20\x20\x20\x20\x6f\x66\x20\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x20\x66\x72\x61\x6d\x65\x73\x20\x74\x68\x61\x74\x20\x65\x6e\x64\x20\x77\x69\x74\x68\x20\x61\x20\x63\x61\x6c\x6c\x20\x74\x6f\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x0a\x0a\x20\x20\x20\x20\x55\x73\x65\x20\x69\x74\x20\x69\x6e\x73\x74\x65\x61\x64\x20\x6f\x66\x20\x61\x20\x6e\x6f\x72\x6d\x61\x6c\x20\x63\x61\x6c\x6c\x20\x69\x6e\x20\x70\x6c\x61\x63\x65\x73\x20\x77\x68\x65\x72\x65\x20\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x0a\x20\x20\x20\x20\x66\x72\x61\x6d\x65\x73\x20\x69\x6e\x74\x72\x6f\x64\x75\x63\x65\x73\x20\x75\x6e\x77\x61\x6e\x74\x65\x64\x20\x6e\x6f\x69\x73\x65\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x20\x74\x72\x61\x63\x65\x62\x61\x63\x6b\x20\x28\x65\x2e\x67\x2e\x20\x77\x68\x65\x6e\x20\x65\x78\x65\x63\x75\x74\x69\x6e\x67\x0a\x20\x20\x20\x20\x6d\x6f\x64\x75\x6c\x65\x20\x63\x6f\x64\x65\x29\x0a\x20\x20\x20\x20", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[1489]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; } -importlib__bootstrap_toplevel_consts_23_consts_1 = { - ._ascii = { +importlib__bootstrap_toplevel_consts_22_consts = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, }, - .length = 1488, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + & importlib__bootstrap_toplevel_consts_22_consts_0._ascii.ob_base, }, }, - ._data = "\x54\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x66\x6f\x72\x20\x61\x20\x6d\x6f\x64\x75\x6c\x65\x2c\x20\x75\x73\x65\x64\x20\x66\x6f\x72\x20\x6c\x6f\x61\x64\x69\x6e\x67\x2e\x0a\x0a\x20\x20\x20\x20\x41\x20\x6d\x6f\x64\x75\x6c\x65\x27\x73\x20\x73\x70\x65\x63\x20\x69\x73\x20\x74\x68\x65\x20\x73\x6f\x75\x72\x63\x65\x20\x66\x6f\x72\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e\x20\x61\x62\x6f\x75\x74\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x20\x20\x46\x6f\x72\x0a\x20\x20\x20\x20\x64\x61\x74\x61\x20\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x2c\x20\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x73\x6f\x75\x72\x63\x65\x2c\x20\x75\x73\x65\x20\x74\x68\x65\x20\x73\x70\x65\x63\x27\x73\x0a\x20\x20\x20\x20\x6c\x6f\x61\x64\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x60\x6e\x61\x6d\x65\x60\x20\x69\x73\x20\x74\x68\x65\x20\x61\x62\x73\x6f\x6c\x75\x74\x65\x20\x6e\x61\x6d\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x20\x20\x60\x6c\x6f\x61\x64\x65\x72\x60\x20\x69\x73\x20\x74\x68\x65\x20\x6c\x6f\x61\x64\x65\x72\x0a\x20\x20\x20\x20\x74\x6f\x20\x75\x73\x65\x20\x77\x68\x65\x6e\x20\x6c\x6f\x61\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x20\x20\x60\x70\x61\x72\x65\x6e\x74\x60\x20\x69\x73\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x20\x6f\x66\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x70\x61\x63\x6b\x61\x67\x65\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x69\x6e\x2e\x20\x20\x54\x68\x65\x20\x70\x61\x72\x65\x6e\x74\x20\x69\x73\x20\x64\x65\x72\x69\x76\x65\x64\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x2e\x0a\x0a\x20\x20\x20\x20\x60\x69\x73\x5f\x70\x61\x63\x6b\x61\x67\x65\x60\x20\x64\x65\x74\x65\x72\x6d\x69\x6e\x65\x73\x20\x69\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x63\x6f\x6e\x73\x69\x64\x65\x72\x65\x64\x20\x61\x20\x70\x61\x63\x6b\x61\x67\x65\x20\x6f\x72\x0a\x20\x20\x20\x20\x6e\x6f\x74\x2e\x20\x20\x4f\x6e\x20\x6d\x6f\x64\x75\x6c\x65\x73\x20\x74\x68\x69\x73\x20\x69\x73\x20\x72\x65\x66\x6c\x65\x63\x74\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x60\x5f\x5f\x70\x61\x74\x68\x5f\x5f\x60\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x2e\x0a\x0a\x20\x20\x20\x20\x60\x6f\x72\x69\x67\x69\x6e\x60\x20\x69\x73\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x20\x75\x73\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x6c\x6f\x61\x64\x65\x72\x20\x66\x72\x6f\x6d\x20\x77\x68\x69\x63\x68\x20\x74\x6f\x0a\x20\x20\x20\x20\x6c\x6f\x61\x64\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x2c\x20\x69\x66\x20\x74\x68\x61\x74\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e\x20\x69\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x2e\x20\x20\x57\x68\x65\x6e\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x20\x69\x73\x0a\x20\x20\x20\x20\x73\x65\x74\x2c\x20\x6f\x72\x69\x67\x69\x6e\x20\x77\x69\x6c\x6c\x20\x6d\x61\x74\x63\x68\x2e\x0a\x0a\x20\x20\x20\x20\x60\x68\x61\x73\x5f\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x60\x20\x69\x6e\x64\x69\x63\x61\x74\x65\x73\x20\x74\x68\x61\x74\x20\x61\x20\x73\x70\x65\x63\x27\x73\x20\x22\x6f\x72\x69\x67\x69\x6e\x22\x20\x72\x65\x66\x6c\x65\x63\x74\x73\x20\x61\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x57\x68\x65\x6e\x20\x74\x68\x69\x73\x20\x69\x73\x20\x54\x72\x75\x65\x2c\x20\x60\x5f\x5f\x66\x69\x6c\x65\x5f\x5f\x60\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x73\x65\x74\x2e\x0a\x0a\x20\x20\x20\x20\x60\x63\x61\x63\x68\x65\x64\x60\x20\x69\x73\x20\x74\x68\x65\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x63\x61\x63\x68\x65\x64\x20\x62\x79\x74\x65\x63\x6f\x64\x65\x20\x66\x69\x6c\x65\x2c\x20\x69\x66\x20\x61\x6e\x79\x2e\x20\x20\x49\x74\x0a\x20\x20\x20\x20\x63\x6f\x72\x72\x65\x73\x70\x6f\x6e\x64\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x60\x5f\x5f\x63\x61\x63\x68\x65\x64\x5f\x5f\x60\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x2e\x0a\x0a\x20\x20\x20\x20\x60\x73\x75\x62\x6d\x6f\x64\x75\x6c\x65\x5f\x73\x65\x61\x72\x63\x68\x5f\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x73\x60\x20\x69\x73\x20\x74\x68\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x20\x6f\x66\x20\x70\x61\x74\x68\x20\x65\x6e\x74\x72\x69\x65\x73\x20\x74\x6f\x0a\x20\x20\x20\x20\x73\x65\x61\x72\x63\x68\x20\x77\x68\x65\x6e\x20\x69\x6d\x70\x6f\x72\x74\x69\x6e\x67\x20\x73\x75\x62\x6d\x6f\x64\x75\x6c\x65\x73\x2e\x20\x20\x49\x66\x20\x73\x65\x74\x2c\x20\x69\x73\x5f\x70\x61\x63\x6b\x61\x67\x65\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x0a\x20\x20\x20\x20\x54\x72\x75\x65\x2d\x2d\x61\x6e\x64\x20\x46\x61\x6c\x73\x65\x20\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x2e\x0a\x0a\x20\x20\x20\x20\x50\x61\x63\x6b\x61\x67\x65\x73\x20\x61\x72\x65\x20\x73\x69\x6d\x70\x6c\x79\x20\x6d\x6f\x64\x75\x6c\x65\x73\x20\x74\x68\x61\x74\x20\x28\x6d\x61\x79\x29\x20\x68\x61\x76\x65\x20\x73\x75\x62\x6d\x6f\x64\x75\x6c\x65\x73\x2e\x20\x20\x49\x66\x20\x61\x20\x73\x70\x65\x63\x0a\x20\x20\x20\x20\x68\x61\x73\x20\x61\x20\x6e\x6f\x6e\x2d\x4e\x6f\x6e\x65\x20\x76\x61\x6c\x75\x65\x20\x69\x6e\x20\x60\x73\x75\x62\x6d\x6f\x64\x75\x6c\x65\x5f\x73\x65\x61\x72\x63\x68\x5f\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x73\x60\x2c\x20\x74\x68\x65\x20\x69\x6d\x70\x6f\x72\x74\x0a\x20\x20\x20\x20\x73\x79\x73\x74\x65\x6d\x20\x77\x69\x6c\x6c\x20\x63\x6f\x6e\x73\x69\x64\x65\x72\x20\x6d\x6f\x64\x75\x6c\x65\x73\x20\x6c\x6f\x61\x64\x65\x64\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x73\x70\x65\x63\x20\x61\x73\x20\x70\x61\x63\x6b\x61\x67\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20\x4f\x6e\x6c\x79\x20\x66\x69\x6e\x64\x65\x72\x73\x20\x28\x73\x65\x65\x20\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x2e\x61\x62\x63\x2e\x4d\x65\x74\x61\x50\x61\x74\x68\x46\x69\x6e\x64\x65\x72\x20\x61\x6e\x64\x0a\x20\x20\x20\x20\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x2e\x61\x62\x63\x2e\x50\x61\x74\x68\x45\x6e\x74\x72\x79\x46\x69\x6e\x64\x65\x72\x29\x20\x73\x68\x6f\x75\x6c\x64\x20\x6d\x6f\x64\x69\x66\x79\x20\x4d\x6f\x64\x75\x6c\x65\x53\x70\x65\x63\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20", }; static struct { PyASCIIObject _ascii; - uint8_t _data[7]; + uint8_t _data[26]; } -const_str_origin = { +const_str__call_with_frames_removed = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 6, + .length = 25, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "origin", + ._data = "_call_with_frames_removed", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[13]; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[21]; } -const_str_loader_state = { - ._ascii = { +importlib__bootstrap_toplevel_consts_22_linetable = { + .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 12, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, + .ob_size = 20, }, - ._data = "loader_state", + .ob_shash = -1, + .ob_sval = "\x80\x00\xf1\x10\x00\x0c\x0d\x88\x64\xd0\x0b\x1b\x90\x64\xd1\x0b\x1b\xd0\x04\x1b", }; static struct { PyASCIIObject _ascii; - uint8_t _data[11]; + uint8_t _data[5]; } -const_str_is_package = { +const_str_kwds = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 10, + .length = 4, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "is_package", + ._data = "kwds", }; static struct { @@ -6509,98 +6903,132 @@ static PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_3 = { +importlib__bootstrap_toplevel_consts_22_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_origin._ascii.ob_base, - & const_str_loader_state._ascii.ob_base, - & const_str_is_package._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[102], + &_Py_ID(args), + & const_str_kwds._ascii.ob_base, }, }, }; static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -importlib__bootstrap_toplevel_consts_23_consts_4_consts = { - ._object = { + struct _PyCode_DEF(18) +importlib__bootstrap_toplevel_consts_22 = { + .ob_base = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - Py_None, - Py_False, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 9, }, + .co_consts = & importlib__bootstrap_toplevel_consts_22_consts._object.ob_base.ob_base, + .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 15, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 480, + .co_nlocalsplus = 3, + .co_nlocals = 3, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 39, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_22_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = & const_str__call_with_frames_removed._ascii.ob_base, + .co_qualname = & const_str__call_with_frames_removed._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_22_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x02\x00\x7c\x00\x7c\x01\x69\x00\x7c\x02\xa4\x01\x8e\x01\x53\x00", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[27]; + uint8_t _data[10]; } -const_str_submodule_search_locations = { +const_str_verbosity = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 26, + .length = 9, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, + }, + }, + ._data = "verbosity", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; + } +importlib__bootstrap_toplevel_consts_24 = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, + }, + .ob_item = { + & const_str_verbosity._ascii.ob_base, }, }, - ._data = "submodule_search_locations", }; static struct { PyASCIIObject _ascii; - uint8_t _data[14]; + uint8_t _data[62]; } -const_str__set_fileattr = { +importlib__bootstrap_toplevel_consts_25_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 13, + .length = 61, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_set_fileattr", + ._data = "Print the message to stderr if -v/PYTHONVERBOSE is turned on.", }; static struct { PyASCIIObject _ascii; uint8_t _data[8]; } -const_str__cached = { +importlib__bootstrap_toplevel_consts_25_consts_1_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -6609,269 +7037,169 @@ const_str__cached = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_cached", + ._data = "import ", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[8]; + PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_4_names = { +importlib__bootstrap_toplevel_consts_25_consts_1 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 8, + .ob_size = 2, }, .ob_item = { - &_Py_ID(name), - & const_str_loader._ascii.ob_base, - & const_str_origin._ascii.ob_base, - & const_str_loader_state._ascii.ob_base, - & const_str_submodule_search_locations._ascii.ob_base, - &_Py_ID(_uninitialized_submodules), - & const_str__set_fileattr._ascii.ob_base, - & const_str__cached._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[35], + & importlib__bootstrap_toplevel_consts_25_consts_1_1._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[20]; + uint8_t _data[3]; } -importlib__bootstrap_toplevel_consts_23_consts_4_qualname = { +importlib__bootstrap_toplevel_consts_25_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 19, + .length = 2, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "ModuleSpec.__init__", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[78]; - } -importlib__bootstrap_toplevel_consts_23_consts_4_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 77, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x14\x18\x88\x04\x8c\x09\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x1c\x28\x88\x04\xd4\x08\x19\xd8\x30\x3a\xd0\x2a\x44\xa8\x22\xa8\x22\xc0\x04\x88\x04\xd4\x08\x27\xd8\x29\x2b\x88\x04\xd4\x08\x26\xf0\x06\x00\x1e\x23\x88\x04\xd4\x08\x1a\xd8\x17\x1b\x88\x04\x8c\x0c\x88\x0c\x88\x0c", + ._data = "# ", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[6]; + PyObject *ob_item[1]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_4_localsplusnames = { +importlib__bootstrap_toplevel_consts_25_consts_3 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 6, + .ob_size = 1, }, .ob_item = { - & const_str_self._ascii.ob_base, - &_Py_ID(name), - & const_str_loader._ascii.ob_base, - & const_str_origin._ascii.ob_base, - & const_str_loader_state._ascii.ob_base, - & const_str_is_package._ascii.ob_base, - }, - }, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[7]; - } -importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 6, - }, - .ob_shash = -1, - .ob_sval = " ", -}; -static - struct _PyCode_DEF(126) -importlib__bootstrap_toplevel_consts_23_consts_4 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 63, - }, - .co_consts = & importlib__bootstrap_toplevel_consts_23_consts_4_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_23_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 3, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 3, - .co_stacksize = 2, - .co_firstlineno = 357, - .co_nlocalsplus = 6, - .co_nlocals = 6, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, - .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = &_Py_ID(__init__), - .co_qualname = & importlib__bootstrap_toplevel_consts_23_consts_4_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_23_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x72\x02\x67\x00\x6e\x01\x64\x00\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x7c\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x7c\x00\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[10]; - } -importlib__bootstrap_toplevel_consts_23_consts_5_consts_1 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 9, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + &_Py_ID(file), }, }, - ._data = "name={!r}", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[12]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[5]; + }_object; } -importlib__bootstrap_toplevel_consts_23_consts_5_consts_2 = { - ._ascii = { +importlib__bootstrap_toplevel_consts_25_consts = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 5, }, - .length = 11, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + & importlib__bootstrap_toplevel_consts_25_consts_0._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_25_consts_1._object.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_25_consts_2._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_25_consts_3._object.ob_base.ob_base, + Py_None, }, }, - ._data = "loader={!r}", }; static struct { PyASCIIObject _ascii; - uint8_t _data[12]; + uint8_t _data[8]; } -importlib__bootstrap_toplevel_consts_23_consts_5_consts_3 = { +const_str_verbose = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 11, + .length = 7, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "origin={!r}", + ._data = "verbose", }; static struct { PyASCIIObject _ascii; - uint8_t _data[30]; + uint8_t _data[11]; } -importlib__bootstrap_toplevel_consts_23_consts_5_consts_4 = { +const_str_startswith = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 29, + .length = 10, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "submodule_search_locations={}", + ._data = "startswith", }; static struct { PyASCIIObject _ascii; - uint8_t _data[7]; + uint8_t _data[6]; } -importlib__bootstrap_toplevel_consts_23_consts_5_consts_5 = { +const_str_print = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 6, + .length = 5, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "{}({})", + ._data = "print", }; static struct { @@ -6881,349 +7209,364 @@ static PyObject *ob_item[7]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_5_consts = { +importlib__bootstrap_toplevel_consts_25_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { - Py_None, - & importlib__bootstrap_toplevel_consts_23_consts_5_consts_1._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_5_consts_2._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_5_consts_3._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_5_consts_4._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_5_consts_5._ascii.ob_base, - &_Py_STR(comma_sep), - }, - }, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[9]; - }_object; - } -importlib__bootstrap_toplevel_consts_23_consts_5_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 9, - }, - .ob_item = { - & const_str_format._ascii.ob_base, - &_Py_ID(name), - & const_str_loader._ascii.ob_base, - & const_str_origin._ascii.ob_base, - &_Py_ID(append), - & const_str_submodule_search_locations._ascii.ob_base, - &_Py_ID(__class__), - &_Py_ID(__name__), - &_Py_ID(join), + & const_str_sys._ascii.ob_base, + &_Py_ID(flags), + & const_str_verbose._ascii.ob_base, + & const_str_startswith._ascii.ob_base, + & const_str_print._ascii.ob_base, + &_Py_ID(format), + &_Py_ID(stderr), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[20]; + uint8_t _data[17]; } -importlib__bootstrap_toplevel_consts_23_consts_5_qualname = { +const_str__verbose_message = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 19, + .length = 16, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "ModuleSpec.__repr__", + ._data = "_verbose_message", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[178]; + char ob_sval[75]; } -importlib__bootstrap_toplevel_consts_23_consts_5_linetable = { +importlib__bootstrap_toplevel_consts_25_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 177, + .ob_size = 74, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x10\x1b\xd7\x10\x22\xd2\x10\x22\xa0\x34\xa4\x39\xd1\x10\x2d\xd4\x10\x2d\xd8\x10\x1d\xd7\x10\x24\xd2\x10\x24\xa0\x54\xa4\x5b\xd1\x10\x31\xd4\x10\x31\xf0\x03\x01\x10\x33\x88\x04\xe0\x0b\x0f\x8c\x3b\xd0\x0b\x22\xd8\x0c\x10\x8f\x4b\x8a\x4b\x98\x0d\xd7\x18\x2c\xd2\x18\x2c\xa8\x54\xac\x5b\xd1\x18\x39\xd4\x18\x39\xd1\x0c\x3a\xd4\x0c\x3a\xd0\x0c\x3a\xd8\x0b\x0f\xd4\x0b\x2a\xd0\x0b\x36\xd8\x0c\x10\x8f\x4b\x8a\x4b\xd0\x18\x37\xdf\x19\x1f\x9a\x16\xa0\x04\xd4\x20\x3f\xd1\x19\x40\xd4\x19\x40\xf1\x03\x01\x0d\x42\x01\xf4\x00\x01\x0d\x42\x01\xf0\x00\x01\x0d\x42\x01\xe0\x0f\x17\x8f\x7f\x8a\x7f\x98\x74\x9c\x7e\xd4\x1f\x36\xb8\x04\xbf\x09\xba\x09\xc0\x24\xb9\x0f\xbc\x0f\xd1\x0f\x48\xd4\x0f\x48\xd0\x08\x48", + .ob_sval = "\x80\x00\xe4\x07\x0a\x87\x79\x81\x79\xd7\x07\x18\xd1\x07\x18\x98\x49\xd2\x07\x25\xd8\x0f\x16\xd7\x0f\x21\xd1\x0f\x21\xd0\x22\x32\xd4\x0f\x33\xd8\x16\x1a\x98\x57\x91\x6e\x88\x47\xdc\x08\x0d\x88\x6e\x88\x67\x8f\x6e\x89\x6e\x98\x64\xd0\x0e\x23\xac\x23\xaf\x2a\xa9\x2a\xd6\x08\x35\xf0\x07\x00\x08\x26", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_5_localsplusnames = { +importlib__bootstrap_toplevel_consts_25_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_args._ascii.ob_base, + &_Py_ID(message), + & const_str_verbosity._ascii.ob_base, + &_Py_ID(args), }, }, }; static - struct _PyCode_DEF(416) -importlib__bootstrap_toplevel_consts_23_consts_5 = { + struct _PyCode_DEF(188) +importlib__bootstrap_toplevel_consts_25 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 208, + .ob_size = 94, }, - .co_consts = & importlib__bootstrap_toplevel_consts_23_consts_5_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_23_consts_5_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_25_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_25_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, + .co_flags = 7, .co_argcount = 1, .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 370, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, + .co_kwonlyargcount = 1, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 491, + .co_nlocalsplus = 3, + .co_nlocals = 3, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 40, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_25_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = &_Py_ID(__repr__), - .co_qualname = & importlib__bootstrap_toplevel_consts_23_consts_5_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_23_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x67\x02\x7d\x01\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x81\x2d\x7c\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x81\x2d\x7c\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x05\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_name = & const_str__verbose_message._ascii.ob_base, + .co_qualname = & const_str__verbose_message._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_25_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6b\x5c\x00\x00\x72\x3f\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x73\x05\x64\x02\x7c\x00\x7a\x00\x00\x00\x7d\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x7c\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x8e\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x03\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x04\x79\x04", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[7]; + uint8_t _data[50]; } -const_str_cached = { +importlib__bootstrap_toplevel_consts_26_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 6, + .length = 49, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "cached", + ._data = "Decorator to verify the named module is built-in.", }; static struct { PyASCIIObject _ascii; - uint8_t _data[13]; + uint8_t _data[26]; } -const_str_has_location = { +importlib__bootstrap_toplevel_consts_26_consts_1_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 12, + .length = 25, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, + }, + }, + ._data = " is not a built-in module", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +importlib__bootstrap_toplevel_consts_26_consts_1_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + Py_None, + & importlib__bootstrap_toplevel_consts_26_consts_1_consts_1._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_4_localsplusnames._object.ob_base.ob_base, }, }, - ._data = "has_location", }; static struct { PyASCIIObject _ascii; - uint8_t _data[15]; + uint8_t _data[21]; } -const_str_NotImplemented = { +const_str_builtin_module_names = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 14, + .length = 20, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "NotImplemented", + ._data = "builtin_module_names", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[12]; + } +const_str_ImportError = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 11, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "ImportError", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[8]; + PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_6_names = { +importlib__bootstrap_toplevel_consts_26_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 8, + .ob_size = 3, }, .ob_item = { - & const_str_submodule_search_locations._ascii.ob_base, - &_Py_ID(name), - & const_str_loader._ascii.ob_base, - & const_str_origin._ascii.ob_base, - & const_str_cached._ascii.ob_base, - & const_str_has_location._ascii.ob_base, - & const_str_AttributeError._ascii.ob_base, - & const_str_NotImplemented._ascii.ob_base, + & const_str_sys._ascii.ob_base, + & const_str_builtin_module_names._ascii.ob_base, + & const_str_ImportError._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[18]; + uint8_t _data[26]; } -importlib__bootstrap_toplevel_consts_23_consts_6_qualname = { +const_str__requires_builtin_wrapper = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 17, + .length = 25, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "ModuleSpec.__eq__", + ._data = "_requires_builtin_wrapper", }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[166]; + PyASCIIObject _ascii; + uint8_t _data[53]; } -importlib__bootstrap_toplevel_consts_23_consts_6_linetable = { - .ob_base = { +importlib__bootstrap_toplevel_consts_26_consts_1_qualname = { + ._ascii = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 52, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 165, }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x13\xd4\x0f\x2e\x88\x04\xf0\x02\x08\x09\x22\xd8\x14\x18\x94\x49\xa0\x15\xa4\x1a\xd2\x14\x2b\xf0\x00\x05\x15\x3c\xd8\x14\x18\x94\x4b\xa0\x35\xa4\x3c\xd2\x14\x2f\xf0\x03\x05\x15\x3c\xe0\x14\x18\x94\x4b\xa0\x35\xa4\x3c\xd2\x14\x2f\xf0\x05\x05\x15\x3c\xf0\x06\x00\x15\x19\x98\x45\xd4\x1c\x3c\xd2\x14\x3c\xf0\x07\x05\x15\x3c\xf0\x08\x00\x15\x19\x94\x4b\xa0\x35\xa4\x3c\xd2\x14\x2f\xf0\x09\x05\x15\x3c\xf0\x0a\x00\x15\x19\xd4\x14\x25\xa8\x15\xd4\x29\x3b\xd2\x14\x3b\xf0\x0b\x05\x0d\x3d\xf8\xf5\x0c\x00\x10\x1e\xf0\x00\x01\x09\x22\xf0\x00\x01\x09\x22\xf0\x00\x01\x09\x22\xdd\x13\x21\xd0\x0c\x21\xd0\x0c\x21\xd0\x0c\x21\xf0\x03\x01\x09\x22\xf8\xf8\xf8", + ._data = "_requires_builtin.._requires_builtin_wrapper", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[19]; + char ob_sval[57]; } -importlib__bootstrap_toplevel_consts_23_consts_6_exceptiontable = { +importlib__bootstrap_toplevel_consts_26_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 18, + .ob_size = 56, }, .ob_shash = -1, - .ob_sval = "\x89\x41\x1a\x41\x24\x00\xc1\x24\x11\x41\x38\x03\xc1\x37\x01\x41\x38\x03", + .ob_sval = "\xf8\x80\x00\xd8\x0b\x13\x9c\x33\xd7\x1b\x33\xd1\x1b\x33\xd1\x0b\x33\xdc\x12\x1d\xa0\x18\xa0\x0c\xd0\x2c\x45\xd0\x1e\x46\xd8\x23\x2b\xf4\x03\x01\x13\x2d\xf0\x00\x01\x0d\x2d\xe1\x0f\x12\x90\x34\x98\x18\xd3\x0f\x22\xd0\x08\x22", }; static struct { PyASCIIObject _ascii; - uint8_t _data[6]; + uint8_t _data[9]; } -const_str_other = { +const_str_fullname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 5, + .length = 8, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "other", + ._data = "fullname", }; static struct { PyASCIIObject _ascii; - uint8_t _data[5]; + uint8_t _data[4]; } -const_str_smsl = { +const_str_fxn = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 4, + .length = 3, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "smsl", + ._data = "fxn", }; static struct { @@ -7233,149 +7576,99 @@ static PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_6_localsplusnames = { +importlib__bootstrap_toplevel_consts_26_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_other._ascii.ob_base, - & const_str_smsl._ascii.ob_base, + &_Py_ID(self), + & const_str_fullname._ascii.ob_base, + & const_str_fxn._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(246) -importlib__bootstrap_toplevel_consts_23_consts_6 = { + struct _PyCode_DEF(90) +importlib__bootstrap_toplevel_consts_26_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 123, + .ob_size = 45, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_23_consts_6_names._object.ob_base.ob_base, - .co_exceptiontable = & importlib__bootstrap_toplevel_consts_23_consts_6_exceptiontable.ob_base.ob_base, - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, + .co_consts = & importlib__bootstrap_toplevel_consts_26_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_26_consts_1_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 19, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 380, + .co_firstlineno = 501, .co_nlocalsplus = 3, - .co_nlocals = 3, - .co_nplaincellvars = 0, + .co_nlocals = 2, .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_nfreevars = 1, + .co_version = 41, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_26_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = &_Py_ID(__eq__), - .co_qualname = & importlib__bootstrap_toplevel_consts_23_consts_6_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_23_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x09\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x6f\x4a\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x6f\x3a\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x6f\x2a\x7c\x02\x7c\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x6f\x1f\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x6f\x0f\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0a\x01\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[20]; - } -const_str__bootstrap_external = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 19, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "_bootstrap_external", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[20]; - } -const_str_NotImplementedError = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 19, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "NotImplementedError", + .co_name = & const_str__requires_builtin_wrapper._ascii.ob_base, + .co_qualname = & importlib__bootstrap_toplevel_consts_26_consts_1_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_26_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x7c\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x10\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x9b\x02\x64\x01\x9d\x02\x7c\x01\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x02\x00\x89\x02\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_firsttraceable = 1, }; static struct { - PyASCIIObject _ascii; - uint8_t _data[12]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; } -const_str__get_cached = { - ._ascii = { +importlib__bootstrap_toplevel_consts_26_consts = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, }, - .length = 11, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + & importlib__bootstrap_toplevel_consts_26_consts_0._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_26_consts_1.ob_base.ob_base, }, }, - ._data = "_get_cached", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[6]; + PyObject *ob_item[1]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_7_names = { +importlib__bootstrap_toplevel_consts_26_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 6, + .ob_size = 1, }, .ob_item = { - & const_str__cached._ascii.ob_base, - & const_str_origin._ascii.ob_base, - & const_str__set_fileattr._ascii.ob_base, - & const_str__bootstrap_external._ascii.ob_base, - & const_str_NotImplementedError._ascii.ob_base, - & const_str__get_cached._ascii.ob_base, + & const_str__wrap._ascii.ob_base, }, }, }; @@ -7384,10 +7677,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -importlib__bootstrap_toplevel_consts_23_consts_7_qualname = { +const_str__requires_builtin = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -7396,84 +7689,48 @@ importlib__bootstrap_toplevel_consts_23_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "ModuleSpec.cached", + ._data = "_requires_builtin", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[70]; + char ob_sval[28]; } -importlib__bootstrap_toplevel_consts_23_consts_7_linetable = { +importlib__bootstrap_toplevel_consts_26_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 69, + .ob_size = 27, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0f\x8c\x3c\xd0\x0b\x1f\xd8\x0f\x13\x8c\x7b\xd0\x0f\x26\xa8\x34\xd4\x2b\x3d\xd0\x0f\x26\xdd\x13\x26\xd0\x13\x2e\xdd\x1a\x2d\xd0\x14\x2d\xdd\x1f\x32\xd7\x1f\x3e\xd2\x1f\x3e\xb8\x74\xbc\x7b\xd1\x1f\x4b\xd4\x1f\x4b\x90\x04\x94\x0c\xd8\x0f\x13\x8c\x7c\xd0\x08\x1b", -}; -static - struct _PyCode_DEF(158) -importlib__bootstrap_toplevel_consts_23_consts_7 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 79, - }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_23_consts_7_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 392, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), - .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_cached._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_23_consts_7_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_23_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x40\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x81\x39\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x32\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x07\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", - ._co_firsttraceable = 0, + .ob_sval = "\xf8\x80\x00\xf4\x04\x04\x05\x23\xf4\x0a\x00\x05\x0a\xd0\x0a\x23\xa0\x53\xd4\x04\x29\xd8\x0b\x24\xd0\x04\x24", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_8_names = { +importlib__bootstrap_toplevel_consts_26_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 2, }, .ob_item = { - & const_str__cached._ascii.ob_base, + & const_str_fxn._ascii.ob_base, + & const_str__requires_builtin_wrapper._ascii.ob_base, }, }, }; @@ -7481,147 +7738,143 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[14]; + char ob_sval[3]; } -importlib__bootstrap_toplevel_consts_23_consts_8_linetable = { +importlib__bootstrap_toplevel_consts_26_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 13, + .ob_size = 2, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x17\x1d\x88\x04\x8c\x0c\x88\x0c\x88\x0c", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -importlib__bootstrap_toplevel_consts_23_consts_8_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_cached._ascii.ob_base, - }, - }, + .ob_sval = "` ", }; static - struct _PyCode_DEF(20) -importlib__bootstrap_toplevel_consts_23_consts_8 = { + struct _PyCode_DEF(42) +importlib__bootstrap_toplevel_consts_26 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 10, + .ob_size = 21, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_23_consts_8_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_26_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_26_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, + .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 2, - .co_firstlineno = 401, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 499, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, + .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 42, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_26_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_26_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_cached._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_23_consts_7_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_23_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", - ._co_firsttraceable = 0, + .co_name = & const_str__requires_builtin._ascii.ob_base, + .co_qualname = & const_str__requires_builtin._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_26_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x00\x97\x00\x88\x00\x66\x01\x64\x01\x84\x08\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x89\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x53\x00", + ._co_firsttraceable = 1, }; static struct { PyASCIIObject _ascii; - uint8_t _data[33]; + uint8_t _data[48]; } -importlib__bootstrap_toplevel_consts_23_consts_9_consts_0 = { +importlib__bootstrap_toplevel_consts_27_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 32, + .length = 47, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "The name of the module's parent.", + ._data = "Decorator to verify the named module is frozen.", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[24]; + } +importlib__bootstrap_toplevel_consts_27_consts_1_consts_1 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 23, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = " is not a frozen module", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_9_consts = { +importlib__bootstrap_toplevel_consts_27_consts_1_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 3, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_23_consts_9_consts_0._ascii.ob_base, Py_None, - &_Py_STR(dot), - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & importlib__bootstrap_toplevel_consts_27_consts_1_consts_1._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_4_localsplusnames._object.ob_base.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[11]; + uint8_t _data[10]; } -const_str_rpartition = { +const_str_is_frozen = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 10, + .length = 9, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "rpartition", + ._data = "is_frozen", }; static struct { @@ -7631,217 +7884,281 @@ static PyObject *ob_item[3]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_9_names = { +importlib__bootstrap_toplevel_consts_27_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_submodule_search_locations._ascii.ob_base, - &_Py_ID(name), - & const_str_rpartition._ascii.ob_base, + & const_str__imp._ascii.ob_base, + & const_str_is_frozen._ascii.ob_base, + & const_str_ImportError._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[18]; + uint8_t _data[25]; } -importlib__bootstrap_toplevel_consts_23_consts_9_qualname = { +const_str__requires_frozen_wrapper = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 17, + .length = 24, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "ModuleSpec.parent", + ._data = "_requires_frozen_wrapper", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[51]; + } +importlib__bootstrap_toplevel_consts_27_consts_1_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 50, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "_requires_frozen.._requires_frozen_wrapper", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[49]; + char ob_sval[55]; } -importlib__bootstrap_toplevel_consts_23_consts_9_linetable = { +importlib__bootstrap_toplevel_consts_27_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 48, + .ob_size = 54, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x06\x00\x0c\x10\xd4\x0b\x2a\xd0\x0b\x32\xd8\x13\x17\x94\x39\xd7\x13\x27\xd2\x13\x27\xa8\x03\xd1\x13\x2c\xd4\x13\x2c\xa8\x51\xd4\x13\x2f\xd0\x0c\x2f\xe0\x13\x17\x94\x39\xd0\x0c\x1c", + .ob_sval = "\xf8\x80\x00\xdc\x0f\x13\x8f\x7e\x89\x7e\x98\x68\xd4\x0f\x27\xdc\x12\x1d\xa0\x18\xa0\x0c\xd0\x2c\x43\xd0\x1e\x44\xd8\x23\x2b\xf4\x03\x01\x13\x2d\xf0\x00\x01\x0d\x2d\xe1\x0f\x12\x90\x34\x98\x18\xd3\x0f\x22\xd0\x08\x22", }; static - struct _PyCode_DEF(94) -importlib__bootstrap_toplevel_consts_23_consts_9 = { + struct _PyCode_DEF(96) +importlib__bootstrap_toplevel_consts_27_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 47, + .ob_size = 48, }, - .co_consts = & importlib__bootstrap_toplevel_consts_23_consts_9_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_23_consts_9_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_27_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_27_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, + .co_flags = 19, + .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 405, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 512, + .co_nlocalsplus = 3, + .co_nlocals = 2, .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_nfreevars = 1, + .co_version = 43, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_26_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = &_Py_ID(parent), - .co_qualname = & importlib__bootstrap_toplevel_consts_23_consts_9_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_23_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x20\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", - ._co_firsttraceable = 0, + .co_name = & const_str__requires_frozen_wrapper._ascii.ob_base, + .co_qualname = & importlib__bootstrap_toplevel_consts_27_consts_1_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_27_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x73\x10\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x9b\x02\x64\x01\x9d\x02\x7c\x01\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x02\x00\x89\x02\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_firsttraceable = 1, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_10_names = { +importlib__bootstrap_toplevel_consts_27_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 2, }, .ob_item = { - & const_str__set_fileattr._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_27_consts_0._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_27_consts_1.ob_base.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[24]; + uint8_t _data[17]; } -importlib__bootstrap_toplevel_consts_23_consts_10_qualname = { +const_str__requires_frozen = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 23, + .length = 16, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "ModuleSpec.has_location", + ._data = "_requires_frozen", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[12]; + char ob_sval[28]; } -importlib__bootstrap_toplevel_consts_23_consts_10_linetable = { +importlib__bootstrap_toplevel_consts_27_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 11, + .ob_size = 27, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x13\xd4\x0f\x21\xd0\x08\x21", + .ob_sval = "\xf8\x80\x00\xf4\x04\x04\x05\x23\xf4\x0a\x00\x05\x0a\xd0\x0a\x22\xa0\x43\xd4\x04\x28\xd8\x0b\x23\xd0\x04\x23", }; static - struct _PyCode_DEF(16) -importlib__bootstrap_toplevel_consts_23_consts_10 = { + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +importlib__bootstrap_toplevel_consts_27_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + & const_str_fxn._ascii.ob_base, + & const_str__requires_frozen_wrapper._ascii.ob_base, + }, + }, +}; +static + struct _PyCode_DEF(42) +importlib__bootstrap_toplevel_consts_27 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 21, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_23_consts_10_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_27_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_26_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 413, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, - .co_ncellvars = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 510, + .co_nlocalsplus = 2, + .co_nlocals = 2, + .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_version = 44, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_27_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_26_localspluskinds.ob_base.ob_base, .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_has_location._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_23_consts_10_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_23_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", - ._co_firsttraceable = 0, + .co_name = & const_str__requires_frozen._ascii.ob_base, + .co_qualname = & const_str__requires_frozen._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_27_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x00\x97\x00\x88\x00\x66\x01\x64\x01\x84\x08\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x89\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x53\x00", + ._co_firsttraceable = 1, }; static struct { PyASCIIObject _ascii; - uint8_t _data[5]; + uint8_t _data[131]; } -const_str_bool = { +importlib__bootstrap_toplevel_consts_28_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 4, + .length = 130, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "bool", + ._data = "\x4c\x6f\x61\x64\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x6e\x74\x6f\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x20\x69\x74\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x6d\x65\x74\x68\x6f\x64\x20\x69\x73\x20\x64\x65\x70\x72\x65\x63\x61\x74\x65\x64\x2e\x20\x20\x55\x73\x65\x20\x6c\x6f\x61\x64\x65\x72\x2e\x65\x78\x65\x63\x5f\x6d\x6f\x64\x75\x6c\x65\x28\x29\x20\x69\x6e\x73\x74\x65\x61\x64\x2e\x0a\x0a\x20\x20\x20\x20", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[104]; + } +importlib__bootstrap_toplevel_consts_28_consts_1 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 103, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "the load_module() method is deprecated and slated for removal in Python 3.12; use exec_module() instead", }; static struct { @@ -7851,542 +8168,558 @@ static PyObject *ob_item[2]; }_object; } -importlib__bootstrap_toplevel_consts_23_consts_11_names = { +importlib__bootstrap_toplevel_consts_28_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_bool._ascii.ob_base, - & const_str__set_fileattr._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_28_consts_0._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_28_consts_1._ascii.ob_base, }, }, }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[23]; + PyASCIIObject _ascii; + uint8_t _data[10]; } -importlib__bootstrap_toplevel_consts_23_consts_11_linetable = { - .ob_base = { +const_str__warnings = { + ._ascii = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 9, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 22, }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x1d\x21\xa0\x25\x99\x5b\x9c\x5b\x88\x04\xd4\x08\x1a\xd0\x08\x1a\xd0\x08\x1a", + ._data = "_warnings", }; static struct { PyASCIIObject _ascii; - uint8_t _data[6]; + uint8_t _data[5]; } -const_str_value = { +const_str_warn = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 5, + .length = 4, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "value", + ._data = "warn", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[19]; } -importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames = { - ._object = { +const_str_DeprecationWarning = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_value._ascii.ob_base, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - }, -}; -static - struct _PyCode_DEF(46) -importlib__bootstrap_toplevel_consts_23_consts_11 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .length = 18, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 23, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_23_consts_11_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 417, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_has_location._ascii.ob_base, - .co_qualname = & importlib__bootstrap_toplevel_consts_23_consts_10_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_23_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", - ._co_firsttraceable = 0, + ._data = "DeprecationWarning", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[12]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[17]; } -importlib__bootstrap_toplevel_consts_23_consts = { - ._object = { +const_str_spec_from_loader = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 12, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_item = { - & const_str_ModuleSpec._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_1._ascii.ob_base, - Py_None, - & importlib__bootstrap_toplevel_consts_23_consts_3._object.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_4.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_5.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_6.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_7.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_8.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_9.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_10.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_23_consts_11.ob_base.ob_base, + .length = 16, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "spec_from_loader", }; static struct { PyASCIIObject _ascii; - uint8_t _data[9]; + uint8_t _data[6]; } -const_str_property = { +const_str__exec = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 8, + .length = 5, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "property", + ._data = "_exec", }; static struct { PyASCIIObject _ascii; - uint8_t _data[7]; + uint8_t _data[6]; } -const_str_setter = { +const_str__load = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 6, + .length = 5, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "setter", + ._data = "_load", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[12]; + PyObject *ob_item[8]; }_object; } -importlib__bootstrap_toplevel_consts_23_names = { +importlib__bootstrap_toplevel_consts_28_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 12, + .ob_size = 8, }, .ob_item = { - &_Py_ID(__name__), - &_Py_ID(__module__), - &_Py_ID(__qualname__), - &_Py_ID(__doc__), - &_Py_ID(__init__), - &_Py_ID(__repr__), - &_Py_ID(__eq__), - & const_str_property._ascii.ob_base, - & const_str_cached._ascii.ob_base, - & const_str_setter._ascii.ob_base, - &_Py_ID(parent), - & const_str_has_location._ascii.ob_base, + & const_str__warnings._ascii.ob_base, + & const_str_warn._ascii.ob_base, + & const_str_DeprecationWarning._ascii.ob_base, + & const_str_spec_from_loader._ascii.ob_base, + & const_str_sys._ascii.ob_base, + &_Py_ID(modules), + & const_str__exec._ascii.ob_base, + & const_str__load._ascii.ob_base, + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[18]; + } +const_str__load_module_shim = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 17, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "_load_module_shim", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[241]; + char ob_sval[98]; } -importlib__bootstrap_toplevel_consts_23_linetable = { +importlib__bootstrap_toplevel_consts_28_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 240, + .ob_size = 97, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x22\x05\x08\xf0\x00\x22\x05\x08\xf0\x48\x01\x00\x30\x34\xc0\x24\xd8\x1c\x20\xf0\x03\x0b\x05\x1c\xf0\x00\x0b\x05\x1c\xf0\x00\x0b\x05\x1c\xf0\x00\x0b\x05\x1c\xf0\x00\x0b\x05\x1c\xf0\x1a\x08\x05\x49\x01\xf0\x00\x08\x05\x49\x01\xf0\x00\x08\x05\x49\x01\xf0\x14\x0a\x05\x22\xf0\x00\x0a\x05\x22\xf0\x00\x0a\x05\x22\xf0\x18\x00\x06\x0e\xf0\x02\x06\x05\x1c\xf0\x00\x06\x05\x1c\xf1\x03\x00\x06\x0e\x84\x58\xf0\x02\x06\x05\x1c\xf0\x10\x00\x06\x0c\x84\x5d\xf0\x02\x01\x05\x1e\xf0\x00\x01\x05\x1e\xf1\x03\x00\x06\x13\x84\x5d\xf0\x02\x01\x05\x1e\xf0\x06\x00\x06\x0e\xf0\x02\x05\x05\x1d\xf0\x00\x05\x05\x1d\xf1\x03\x00\x06\x0e\x84\x58\xf0\x02\x05\x05\x1d\xf0\x0e\x00\x06\x0e\xf0\x02\x01\x05\x22\xf0\x00\x01\x05\x22\xf1\x03\x00\x06\x0e\x84\x58\xf0\x02\x01\x05\x22\xf0\x06\x00\x06\x12\xd4\x05\x18\xf0\x02\x01\x05\x29\xf0\x00\x01\x05\x29\xf1\x03\x00\x06\x19\xd4\x05\x18\xf0\x02\x01\x05\x29\xf0\x00\x01\x05\x29\xf0\x00\x01\x05\x29", + .ob_sval = "\x80\x00\xf0\x0c\x01\x0c\x33\x80\x43\xe4\x04\x0d\x87\x4e\x81\x4e\x90\x33\xd4\x18\x2a\xd4\x04\x2b\xdc\x0b\x1b\x98\x48\xa0\x64\xd3\x0b\x2b\x80\x44\xd8\x07\x0f\x94\x33\x97\x3b\x91\x3b\xd1\x07\x1e\xdc\x11\x14\x97\x1b\x91\x1b\x98\x58\xd1\x11\x26\x88\x06\xdc\x08\x0d\x88\x64\x90\x46\xd4\x08\x1b\xdc\x0f\x12\x8f\x7b\x89\x7b\x98\x38\xd1\x0f\x24\xd0\x08\x24\xe4\x0f\x14\x90\x54\x8b\x7b\xd0\x08\x1a", }; static - struct _PyCode_DEF(176) -importlib__bootstrap_toplevel_consts_23 = { - .ob_base = { + struct { + PyASCIIObject _ascii; + uint8_t _data[5]; + } +const_str_spec = { + ._ascii = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 4, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 88, }, - .co_consts = & importlib__bootstrap_toplevel_consts_23_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_23_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 0, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 320, - .co_nlocalsplus = 0, - .co_nlocals = 0, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, - .co_name = & const_str_ModuleSpec._ascii.ob_base, - .co_qualname = & const_str_ModuleSpec._ascii.ob_base, - .co_linetable = & importlib__bootstrap_toplevel_consts_23_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x64\x02\x64\x02\x64\x03\x9c\x03\x64\x04\x84\x02\x5a\x04\x64\x05\x84\x00\x5a\x05\x64\x06\x84\x00\x5a\x06\x65\x07\x64\x07\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x65\x08\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x65\x07\x64\x09\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0a\x65\x07\x64\x0a\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0b\x65\x0b\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0b\x64\x02\x53\x00", - ._co_firsttraceable = 0, + ._data = "spec", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[5]; }_object; } -importlib__bootstrap_toplevel_consts_25 = { +importlib__bootstrap_toplevel_consts_28_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 5, }, .ob_item = { - & const_str_origin._ascii.ob_base, - & const_str_is_package._ascii.ob_base, + &_Py_ID(self), + & const_str_fullname._ascii.ob_base, + &_Py_ID(msg), + & const_str_spec._ascii.ob_base, + &_Py_ID(module), + }, + }, +}; +static + struct _PyCode_DEF(240) +importlib__bootstrap_toplevel_consts_28 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 120, }, + .co_consts = & importlib__bootstrap_toplevel_consts_28_consts._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_28_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 522, + .co_nlocalsplus = 5, + .co_nlocals = 5, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 45, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_28_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, + .co_filename = & importlib__bootstrap_toplevel_consts_1_filename._ascii.ob_base, + .co_name = & const_str__load_module_shim._ascii.ob_base, + .co_qualname = & const_str__load_module_shim._ascii.ob_base, + .co_linetable = & importlib__bootstrap_toplevel_consts_28_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7d\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x01\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x32\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x7d\x04\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x04\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x53\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[54]; + uint8_t _data[45]; } -importlib__bootstrap_toplevel_consts_26_consts_0 = { +importlib__bootstrap_toplevel_consts_29_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 53, + .length = 44, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "Return a module spec based on various loader methods.", + ._data = "The implementation of ModuleType.__repr__().", }; static struct { PyASCIIObject _ascii; - uint8_t _data[8]; + uint8_t _data[9]; } -const_str__ORIGIN = { +importlib__bootstrap_toplevel_consts_29_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 7, + .length = 8, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_ORIGIN", + ._data = "", @@ -49206,19 +47855,19 @@ static PyObject *ob_item[3]; }_object; } -zipimport_toplevel_consts_11_consts_15_consts = { +zipimport_toplevel_consts_11_consts_13_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { Py_None, - & zipimport_toplevel_consts_11_consts_15_consts_1._ascii.ob_base, - & zipimport_toplevel_consts_11_consts_15_consts_2._ascii.ob_base, + & zipimport_toplevel_consts_11_consts_13_consts_1._ascii.ob_base, + & zipimport_toplevel_consts_11_consts_13_consts_2._ascii.ob_base, }, }, }; @@ -49230,11 +47879,11 @@ static PyObject *ob_item[3]; }_object; } -zipimport_toplevel_consts_11_consts_15_names = { +zipimport_toplevel_consts_11_consts_13_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -49251,10 +47900,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -zipimport_toplevel_consts_11_consts_15_qualname = { +zipimport_toplevel_consts_11_consts_13_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -49263,7 +47912,7 @@ zipimport_toplevel_consts_11_consts_15_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "zipimporter.__repr__", @@ -49274,52 +47923,50 @@ static Py_hash_t ob_shash; char ob_sval[34]; } -zipimport_toplevel_consts_11_consts_15_linetable = { +zipimport_toplevel_consts_11_consts_13_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 33, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x4e\xa0\x74\xa4\x7c\xd0\x0f\x4e\xb5\x58\xd0\x0f\x4e\xb8\x74\xbc\x7b\xd0\x0f\x4e\xd0\x0f\x4e\xd0\x0f\x4e\xd0\x08\x4e", + .ob_sval = "\x80\x00\xd8\x11\x26\xa0\x74\xa7\x7c\xa1\x7c\xa0\x6e\xb4\x58\xb0\x4a\xb8\x74\xbf\x7b\xb9\x7b\xb8\x6d\xc8\x32\xd0\x0f\x4e\xd0\x08\x4e", }; static - struct _PyCode_DEF(52) -zipimport_toplevel_consts_11_consts_15 = { + struct _PyCode_DEF(70) +zipimport_toplevel_consts_11_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 35, }, - .co_consts = & zipimport_toplevel_consts_11_consts_15_consts._object.ob_base.ob_base, - .co_names = & zipimport_toplevel_consts_11_consts_15_names._object.ob_base.ob_base, + .co_consts = & zipimport_toplevel_consts_11_consts_13_consts._object.ob_base.ob_base, + .co_names = & zipimport_toplevel_consts_11_consts_13_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 339, + .co_firstlineno = 281, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 232, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = &_Py_ID(__repr__), - .co_qualname = & zipimport_toplevel_consts_11_consts_15_qualname._ascii.ob_base, - .co_linetable = & zipimport_toplevel_consts_11_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x02\x9d\x05\x53\x00", + .co_qualname = & zipimport_toplevel_consts_11_consts_13_qualname._ascii.ob_base, + .co_linetable = & zipimport_toplevel_consts_11_consts_13_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x02\x9d\x05\x53\x00", ._co_firsttraceable = 0, }; static @@ -49327,20 +47974,20 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[17]; + PyObject *ob_item[15]; }_object; } zipimport_toplevel_consts_11_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 17, + .ob_size = 15, }, .ob_item = { - &_Py_ID(zipimporter), + & const_str_zipimporter._ascii.ob_base, & zipimport_toplevel_consts_11_consts_1._ascii.ob_base, & zipimport_toplevel_consts_11_consts_2.ob_base.ob_base, Py_None, @@ -49354,8 +48001,6 @@ zipimport_toplevel_consts_11_consts = { & zipimport_toplevel_consts_11_consts_11.ob_base.ob_base, & zipimport_toplevel_consts_11_consts_12.ob_base.ob_base, & zipimport_toplevel_consts_11_consts_13.ob_base.ob_base, - & zipimport_toplevel_consts_11_consts_14.ob_base.ob_base, - & zipimport_toplevel_consts_11_consts_15.ob_base.ob_base, & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, }, }, @@ -49365,17 +48010,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[17]; + PyObject *ob_item[15]; }_object; } zipimport_toplevel_consts_11_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 17, + .ob_size = 15, }, .ob_item = { &_Py_ID(__name__), @@ -49383,8 +48028,6 @@ zipimport_toplevel_consts_11_names = { &_Py_ID(__qualname__), &_Py_ID(__doc__), &_Py_ID(__init__), - & const_str_find_loader._ascii.ob_base, - & const_str_find_module._ascii.ob_base, & const_str_find_spec._ascii.ob_base, & const_str_get_code._ascii.ob_base, & const_str_get_data._ascii.ob_base, @@ -49402,54 +48045,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[249]; + char ob_sval[66]; } zipimport_toplevel_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 248, + .ob_size = 65, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x0c\x05\x08\xf0\x00\x0c\x05\x08\xf0\x22\x25\x05\x24\xf0\x00\x25\x05\x24\xf0\x00\x25\x05\x24\xf0\x5a\x01\x20\x05\x18\xf0\x00\x20\x05\x18\xf0\x00\x20\x05\x18\xf0\x00\x20\x05\x18\xf0\x4a\x01\x0e\x05\x33\xf0\x00\x0e\x05\x33\xf0\x00\x0e\x05\x33\xf0\x00\x0e\x05\x33\xf0\x20\x19\x05\x1c\xf0\x00\x19\x05\x1c\xf0\x00\x19\x05\x1c\xf0\x00\x19\x05\x1c\xf0\x36\x07\x05\x14\xf0\x00\x07\x05\x14\xf0\x00\x07\x05\x14\xf0\x14\x11\x05\x32\xf0\x00\x11\x05\x32\xf0\x00\x11\x05\x32\xf0\x2a\x09\x05\x17\xf0\x00\x09\x05\x17\xf0\x00\x09\x05\x17\xf0\x18\x16\x05\x3b\xf0\x00\x16\x05\x3b\xf0\x00\x16\x05\x3b\xf0\x34\x09\x05\x12\xf0\x00\x09\x05\x12\xf0\x00\x09\x05\x12\xf0\x1a\x28\x05\x13\xf0\x00\x28\x05\x13\xf0\x00\x28\x05\x13\xf0\x56\x01\x0c\x05\x29\xf0\x00\x0c\x05\x29\xf0\x00\x0c\x05\x29\xf0\x1e\x07\x05\x1d\xf0\x00\x07\x05\x1d\xf0\x00\x07\x05\x1d\xf0\x14\x01\x05\x4f\x01\xf0\x00\x01\x05\x4f\x01\xf0\x00\x01\x05\x4f\x01\xf0\x00\x01\x05\x4f\x01\xf0\x00\x01\x05\x4f\x01", + .ob_sval = "\x84\x00\xf1\x02\x0c\x05\x08\xf2\x22\x25\x05\x24\xf3\x50\x01\x19\x05\x1c\xf2\x36\x07\x05\x14\xf2\x14\x11\x05\x32\xf2\x2a\x09\x05\x17\xf2\x18\x16\x05\x3b\xf2\x34\x09\x05\x12\xf2\x1a\x28\x05\x13\xf2\x56\x01\x0c\x05\x29\xf2\x1e\x07\x05\x1d\xf3\x14\x01\x05\x4f\x01", }; static - struct _PyCode_DEF(102) + struct _PyCode_DEF(84) zipimport_toplevel_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 51, + .ob_size = 42, }, .co_consts = & zipimport_toplevel_consts_11_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_11_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 46, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 233, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, - .co_name = &_Py_ID(zipimporter), - .co_qualname = &_Py_ID(zipimporter), + .co_name = & const_str_zipimporter._ascii.ob_base, + .co_qualname = & const_str_zipimporter._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x10\x64\x04\x84\x01\x5a\x05\x64\x10\x64\x05\x84\x01\x5a\x06\x64\x10\x64\x06\x84\x01\x5a\x07\x64\x07\x84\x00\x5a\x08\x64\x08\x84\x00\x5a\x09\x64\x09\x84\x00\x5a\x0a\x64\x0a\x84\x00\x5a\x0b\x64\x0b\x84\x00\x5a\x0c\x64\x0c\x84\x00\x5a\x0d\x64\x0d\x84\x00\x5a\x0e\x64\x0e\x84\x00\x5a\x0f\x64\x0f\x84\x00\x5a\x10\x64\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x0e\x64\x04\x84\x01\x5a\x05\x64\x05\x84\x00\x5a\x06\x64\x06\x84\x00\x5a\x07\x64\x07\x84\x00\x5a\x08\x64\x08\x84\x00\x5a\x09\x64\x09\x84\x00\x5a\x0a\x64\x0a\x84\x00\x5a\x0b\x64\x0b\x84\x00\x5a\x0c\x64\x0c\x84\x00\x5a\x0d\x64\x0d\x84\x00\x5a\x0e\x79\x03", ._co_firsttraceable = 0, }; static @@ -49460,7 +48101,7 @@ static zipimport_toplevel_consts_12 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -49469,7 +48110,7 @@ zipimport_toplevel_consts_12 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "__init__.pyc", @@ -49486,7 +48127,7 @@ zipimport_toplevel_consts_16 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -49510,13 +48151,13 @@ zipimport_toplevel_consts_17 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_12._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_46_consts_5_consts_12._ascii.ob_base, Py_False, Py_False, }, @@ -49534,7 +48175,7 @@ zipimport_toplevel_consts_18_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -49558,7 +48199,7 @@ zipimport_toplevel_consts_18_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -49573,54 +48214,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[35]; + char ob_sval[34]; } zipimport_toplevel_consts_18_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 34, + .ob_size = 33, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0b\x0f\x8c\x3b\x98\x18\xd7\x19\x2c\xd2\x19\x2c\xa8\x53\xd1\x19\x31\xd4\x19\x31\xb0\x21\xd4\x19\x34\xd1\x0b\x34\xd0\x04\x34", + .ob_sval = "\x80\x00\xd8\x0b\x0f\x8f\x3b\x89\x3b\x98\x18\xd7\x19\x2c\xd1\x19\x2c\xa8\x53\xd3\x19\x31\xb0\x21\xd1\x19\x34\xd1\x0b\x34\xd0\x04\x34", }; static - struct _PyCode_DEF(72) + struct _PyCode_DEF(68) zipimport_toplevel_consts_18 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 36, + .ob_size = 34, }, .co_consts = & zipimport_toplevel_consts_18_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_18_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 357, + .co_firstlineno = 299, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_55_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 234, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_54_consts_5_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__get_module_path._ascii.ob_base, .co_qualname = & const_str__get_module_path._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_18_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x7a\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -49635,7 +48274,7 @@ zipimport_toplevel_consts_19_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -49650,18 +48289,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[27]; + char ob_sval[29]; } zipimport_toplevel_consts_19_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 26, + .ob_size = 28, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x00\x0f\x13\x95\x58\x89\x6f\x80\x47\xe0\x0b\x12\x90\x64\x94\x6b\xd0\x0b\x21\xd0\x04\x21", + .ob_sval = "\x80\x00\xf0\x08\x00\x0f\x13\x94\x58\x89\x6f\x80\x47\xe0\x0b\x12\x90\x64\x97\x6b\x91\x6b\xd0\x0b\x21\xd0\x04\x21", }; static struct { @@ -49671,7 +48310,7 @@ static const_str_dirpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -49680,7 +48319,7 @@ const_str_dirpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dirpath", @@ -49697,53 +48336,51 @@ zipimport_toplevel_consts_19_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(path), & const_str_dirpath._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(40) + struct _PyCode_DEF(48) zipimport_toplevel_consts_19 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 20, + .ob_size = 24, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_19_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 361, + .co_firstlineno = 303, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 235, .co_localsplusnames = & zipimport_toplevel_consts_19_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__is_dir._ascii.ob_base, .co_qualname = & const_str__is_dir._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_19_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7d\x02\x7c\x02\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7d\x02\x7c\x02\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -49754,7 +48391,7 @@ static const_str__zip_searchorder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -49763,7 +48400,7 @@ const_str__zip_searchorder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_zip_searchorder", @@ -49780,7 +48417,7 @@ zipimport_toplevel_consts_20_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -49796,18 +48433,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[84]; + char ob_sval[69]; } zipimport_toplevel_consts_20_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 83, + .ob_size = 68, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0b\x1b\x98\x44\xa0\x28\xd1\x0b\x2b\xd4\x0b\x2b\x80\x44\xdd\x29\x39\xf0\x00\x03\x05\x1d\xf0\x00\x03\x05\x1d\xd1\x08\x25\x88\x06\x90\x0a\x98\x49\xd8\x13\x17\x98\x26\x91\x3d\x88\x08\xd8\x0b\x13\x90\x74\x94\x7b\xd0\x0b\x22\xd0\x0b\x22\xd8\x13\x1c\xd0\x0c\x1c\xd0\x0c\x1c\xd0\x0c\x1c\xf0\x03\x00\x0c\x23\xe0\x0b\x0f\x88\x34", + .ob_sval = "\x80\x00\xdc\x0b\x1b\x98\x44\xa0\x28\xd3\x0b\x2b\x80\x44\xdc\x29\x39\xf2\x00\x03\x05\x1d\xd1\x08\x25\x88\x06\x90\x0a\x98\x49\xd8\x13\x17\x98\x26\x91\x3d\x88\x08\xd8\x0b\x13\x90\x74\x97\x7b\x91\x7b\xd2\x0b\x22\xd8\x13\x1c\xd2\x0c\x1c\xf0\x07\x03\x05\x1d\xf0\x08\x00\x0c\x10", }; static struct { @@ -49817,7 +48454,7 @@ static const_str_isbytecode = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -49826,7 +48463,7 @@ const_str_isbytecode = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "isbytecode", @@ -49843,13 +48480,13 @@ zipimport_toplevel_consts_20_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_fullname._ascii.ob_base, &_Py_ID(path), & const_str_suffix._ascii.ob_base, @@ -49860,40 +48497,38 @@ zipimport_toplevel_consts_20_localsplusnames = { }, }; static - struct _PyCode_DEF(102) + struct _PyCode_DEF(104) zipimport_toplevel_consts_20 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 51, + .ob_size = 52, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_20_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 370, + .co_firstlineno = 312, .co_nlocalsplus = 7, .co_nlocals = 7, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 236, .co_localsplusnames = & zipimport_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_12_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__get_module_info._ascii.ob_base, .co_qualname = & const_str__get_module_info._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x18\x5c\x03\x00\x00\x7d\x03\x7d\x04\x7d\x05\x7c\x02\x7c\x03\x7a\x00\x00\x00\x7d\x06\x7c\x06\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x04\x7c\x05\x63\x02\x01\x00\x53\x00\x8c\x19\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x1d\x00\x00\x5c\x03\x00\x00\x7d\x03\x7d\x04\x7d\x05\x7c\x02\x7c\x03\x7a\x00\x00\x00\x7d\x06\x7c\x06\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x73\x01\x8c\x1b\x7c\x05\x63\x02\x01\x00\x53\x00\x04\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -49904,7 +48539,7 @@ static zipimport_toplevel_consts_21_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -49913,7 +48548,7 @@ zipimport_toplevel_consts_21_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "can't open Zip file: ", @@ -49926,7 +48561,7 @@ static zipimport_toplevel_consts_21_consts_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -49935,7 +48570,7 @@ zipimport_toplevel_consts_21_consts_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "can't read Zip file: ", @@ -49948,7 +48583,7 @@ static zipimport_toplevel_consts_21_consts_7 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -49957,7 +48592,7 @@ zipimport_toplevel_consts_21_consts_7 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "not a Zip file: ", @@ -49970,7 +48605,7 @@ static zipimport_toplevel_consts_21_consts_8 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -49979,7 +48614,7 @@ zipimport_toplevel_consts_21_consts_8 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "corrupt Zip file: ", @@ -49992,7 +48627,7 @@ static zipimport_toplevel_consts_21_consts_12 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -50001,7 +48636,7 @@ zipimport_toplevel_consts_21_consts_12 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bad central directory size: ", @@ -50014,7 +48649,7 @@ static zipimport_toplevel_consts_21_consts_13 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -50023,7 +48658,7 @@ zipimport_toplevel_consts_21_consts_13 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bad central directory offset: ", @@ -50036,7 +48671,7 @@ static zipimport_toplevel_consts_21_consts_14 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 38, @@ -50045,7 +48680,7 @@ zipimport_toplevel_consts_21_consts_14 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bad central directory size or offset: ", @@ -50055,10 +48690,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -zipimport_toplevel_consts_21_consts_17 = { +zipimport_toplevel_consts_21_consts_16 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -50067,7 +48702,7 @@ zipimport_toplevel_consts_21_consts_17 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "EOF read where not expected", @@ -50078,10 +48713,10 @@ static Py_hash_t ob_shash; char ob_sval[5]; } -zipimport_toplevel_consts_21_consts_18 = { +zipimport_toplevel_consts_21_consts_17 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 4, @@ -50094,10 +48729,10 @@ static PyASCIIObject _ascii; uint8_t _data[26]; } -zipimport_toplevel_consts_21_consts_28 = { +zipimport_toplevel_consts_21_consts_27 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -50106,24 +48741,23 @@ zipimport_toplevel_consts_21_consts_28 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bad local header offset: ", }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_2048 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 2048 }, }; static @@ -50134,7 +48768,7 @@ static const_str_ascii = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -50143,7 +48777,7 @@ const_str_ascii = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ascii", @@ -50153,10 +48787,10 @@ static PyASCIIObject _ascii; uint8_t _data[34]; } -zipimport_toplevel_consts_21_consts_34 = { +zipimport_toplevel_consts_21_consts_33 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 33, @@ -50165,7 +48799,7 @@ zipimport_toplevel_consts_21_consts_34 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "zipimport: found {} names in {!r}", @@ -50175,17 +48809,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[35]; + PyObject *ob_item[34]; }_object; } zipimport_toplevel_consts_21_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 35, + .ob_size = 34, }, .ob_item = { Py_None, @@ -50203,10 +48837,9 @@ zipimport_toplevel_consts_21_consts = { & zipimport_toplevel_consts_21_consts_12._ascii.ob_base, & zipimport_toplevel_consts_21_consts_13._ascii.ob_base, & zipimport_toplevel_consts_21_consts_14._ascii.ob_base, - Py_True, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 46], - & zipimport_toplevel_consts_21_consts_17._ascii.ob_base, - & zipimport_toplevel_consts_21_consts_18.ob_base.ob_base, + & zipimport_toplevel_consts_21_consts_16._ascii.ob_base, + & zipimport_toplevel_consts_21_consts_17.ob_base.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 8], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 10], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 14], @@ -50216,13 +48849,13 @@ zipimport_toplevel_consts_21_consts = { (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 32], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 34], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 42], - & zipimport_toplevel_consts_21_consts_28._ascii.ob_base, - & const_int_2048.ob_base.ob_base, + & zipimport_toplevel_consts_21_consts_27._ascii.ob_base, + & const_int_2048.ob_base, & const_str_ascii._ascii.ob_base, &_Py_ID(latin1), - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], - & zipimport_toplevel_consts_21_consts_34._ascii.ob_base, + & zipimport_toplevel_consts_21_consts_33._ascii.ob_base, }, }, }; @@ -50234,7 +48867,7 @@ static const_str_END_CENTRAL_DIR_SIZE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -50243,7 +48876,7 @@ const_str_END_CENTRAL_DIR_SIZE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "END_CENTRAL_DIR_SIZE", @@ -50256,7 +48889,7 @@ static const_str_STRING_END_ARCHIVE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -50265,7 +48898,7 @@ const_str_STRING_END_ARCHIVE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "STRING_END_ARCHIVE", @@ -50278,7 +48911,7 @@ static const_str_MAX_COMMENT_LEN = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -50287,7 +48920,7 @@ const_str_MAX_COMMENT_LEN = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MAX_COMMENT_LEN", @@ -50300,7 +48933,7 @@ static const_str_UnicodeDecodeError = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -50309,33 +48942,11 @@ const_str_UnicodeDecodeError = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "UnicodeDecodeError", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[10]; - } -const_str_translate = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 9, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "translate", -}; static struct { PyASCIIObject _ascii; @@ -50344,7 +48955,7 @@ static const_str_cp437_table = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -50353,7 +48964,7 @@ const_str_cp437_table = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "cp437_table", @@ -50370,13 +48981,13 @@ zipimport_toplevel_consts_21_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 26, }, .ob_item = { - & const_str__io._ascii.ob_base, + &_Py_ID(_io), & const_str_open_code._ascii.ob_base, & const_str_OSError._ascii.ob_base, & const_str_ZipImportError._ascii.ob_base, @@ -50394,7 +49005,7 @@ zipimport_toplevel_consts_21_names = { & const_str__unpack_uint16._ascii.ob_base, &_Py_ID(decode), & const_str_UnicodeDecodeError._ascii.ob_base, - & const_str_translate._ascii.ob_base, + &_Py_ID(translate), & const_str_cp437_table._ascii.ob_base, &_Py_ID(replace), & const_str_path_sep._ascii.ob_base, @@ -50409,35 +49020,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[2052]; + char ob_sval[1506]; } zipimport_toplevel_consts_21_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 2051, + .ob_size = 1505, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x02\x03\x05\x50\x01\xdd\x0d\x10\x8c\x5d\x98\x37\xd1\x0d\x23\xd4\x0d\x23\x88\x02\x88\x02\xf8\xdd\x0b\x12\xf0\x00\x01\x05\x50\x01\xf0\x00\x01\x05\x50\x01\xf0\x00\x01\x05\x50\x01\xdd\x0e\x1c\xd0\x1d\x40\xb0\x57\xd0\x1d\x40\xd0\x1d\x40\xc0\x77\xd0\x0e\x4f\xd1\x0e\x4f\xd4\x0e\x4f\xd0\x08\x4f\xf0\x03\x01\x05\x50\x01\xf8\xf8\xf8\xf0\x06\x00\x0a\x0c\xf0\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf0\x08\x00\x18\x1a\x97\x77\x92\x77\x91\x79\x94\x79\x88\x0c\xf0\x02\x6e\x01\x09\x22\xf0\x02\x05\x0d\x58\x01\xd8\x10\x12\x97\x07\x92\x07\xd5\x19\x2d\xd0\x18\x2d\xa8\x71\xd1\x10\x31\xd4\x10\x31\xd0\x10\x31\xd8\x22\x24\xa7\x27\xa2\x27\xa1\x29\xa4\x29\x90\x0f\xd8\x19\x1b\x9f\x17\x9a\x17\xd5\x21\x35\xd1\x19\x36\xd4\x19\x36\x90\x06\x90\x06\xf8\xdd\x13\x1a\xf0\x00\x01\x0d\x58\x01\xf0\x00\x01\x0d\x58\x01\xf0\x00\x01\x0d\x58\x01\xdd\x16\x24\xd0\x25\x48\xb8\x57\xd0\x25\x48\xd0\x25\x48\xc8\x77\xd0\x16\x57\xd1\x16\x57\xd4\x16\x57\xd0\x10\x57\xf0\x03\x01\x0d\x58\x01\xf8\xf8\xf8\xe5\x0f\x12\x90\x36\x89\x7b\x8c\x7b\xd5\x1e\x32\xd2\x0f\x32\xd0\x0f\x32\xdd\x16\x24\xd0\x25\x48\xb8\x57\xd0\x25\x48\xd0\x25\x48\xc8\x77\xd0\x16\x57\xd1\x16\x57\xd4\x16\x57\xd0\x10\x57\xd8\x0f\x15\x90\x62\x90\x71\x90\x62\x8c\x7a\xd5\x1d\x2f\xd2\x0f\x2f\xd1\x0f\x2f\xf0\x06\x05\x11\x37\xd8\x14\x16\x97\x47\x92\x47\x98\x41\x98\x71\x91\x4d\x94\x4d\x90\x4d\xd8\x20\x22\xa7\x07\xa2\x07\xa1\x09\xa4\x09\x90\x49\x90\x49\xf8\xdd\x17\x1e\xf0\x00\x02\x11\x37\xf0\x00\x02\x11\x37\xf0\x00\x02\x11\x37\xdd\x1a\x28\xd0\x29\x4c\xc0\x17\xd0\x29\x4c\xd0\x29\x4c\xd8\x2e\x35\xf0\x03\x01\x1b\x37\xf1\x00\x01\x1b\x37\xf4\x00\x01\x1b\x37\xf0\x00\x01\x15\x37\xf0\x03\x02\x11\x37\xf8\xf8\xf8\xf5\x06\x00\x25\x28\xa8\x09\xb5\x4f\xd1\x28\x43\xdd\x28\x3c\xf1\x03\x01\x29\x3d\xd8\x3e\x3f\xf1\x03\x01\x25\x41\x01\xf4\x00\x01\x25\x41\x01\xd0\x10\x21\xf0\x04\x05\x11\x37\xd8\x14\x16\x97\x47\x92\x47\xd0\x1c\x2d\xd1\x14\x2e\xd4\x14\x2e\xd0\x14\x2e\xd8\x1b\x1d\x9f\x37\x9a\x37\x99\x39\x9c\x39\x90\x44\x90\x44\xf8\xdd\x17\x1e\xf0\x00\x02\x11\x37\xf0\x00\x02\x11\x37\xf0\x00\x02\x11\x37\xdd\x1a\x28\xd0\x29\x4c\xc0\x17\xd0\x29\x4c\xd0\x29\x4c\xd8\x2e\x35\xf0\x03\x01\x1b\x37\xf1\x00\x01\x1b\x37\xf4\x00\x01\x1b\x37\xf0\x00\x01\x15\x37\xf0\x03\x02\x11\x37\xf8\xf8\xf8\xf0\x06\x00\x17\x1b\x97\x6a\x92\x6a\xd5\x21\x33\xd1\x16\x34\xd4\x16\x34\x90\x03\xd8\x13\x16\x98\x11\x92\x37\x90\x37\xdd\x1a\x28\xd0\x29\x47\xb8\x47\xd0\x29\x47\xd0\x29\x47\xd8\x2e\x35\xf0\x03\x01\x1b\x37\xf1\x00\x01\x1b\x37\xf4\x00\x01\x1b\x37\xf0\x00\x01\x15\x37\xe0\x19\x1d\x98\x63\xa0\x23\xd5\x26\x3a\xd1\x22\x3a\xd0\x1e\x3a\xd4\x19\x3b\x90\x06\xdd\x13\x16\x90\x76\x91\x3b\x94\x3b\xd5\x22\x36\xd2\x13\x36\xd0\x13\x36\xdd\x1a\x28\xd0\x29\x49\xb8\x67\xd0\x29\x49\xd0\x29\x49\xd8\x2e\x35\xf0\x03\x01\x1b\x37\xf1\x00\x01\x1b\x37\xf4\x00\x01\x1b\x37\xf0\x00\x01\x15\x37\xe0\x22\x2b\xad\x63\xb0\x24\xa9\x69\xac\x69\xd1\x22\x37\xb8\x23\xd1\x22\x3d\x90\x0f\xe5\x1a\x28\xa8\x16\xb0\x02\xb0\x32\xb0\x05\xac\x1d\xd1\x1a\x37\xd4\x1a\x37\x88\x4b\xdd\x1c\x2a\xa8\x36\xb0\x22\xb0\x52\xb0\x25\xac\x3d\xd1\x1c\x39\xd4\x1c\x39\x88\x4d\xd8\x0f\x1e\xa0\x1b\xd2\x0f\x2c\xd0\x0f\x2c\xdd\x16\x24\xd0\x25\x4f\xc0\x47\xd0\x25\x4f\xd0\x25\x4f\xd0\x56\x5d\xd0\x16\x5e\xd1\x16\x5e\xd4\x16\x5e\xd0\x10\x5e\xd8\x0f\x1e\xa0\x1d\xd2\x0f\x2e\xd0\x0f\x2e\xdd\x16\x24\xd0\x25\x51\xc0\x67\xd0\x25\x51\xd0\x25\x51\xd0\x58\x5f\xd0\x16\x60\xd1\x16\x60\xd4\x16\x60\xd0\x10\x60\xd8\x0c\x1b\x98\x7b\xd1\x0c\x2a\x88\x4f\xd8\x19\x28\xa8\x3d\xd1\x19\x38\x88\x4a\xd8\x0f\x19\x98\x41\x8a\x7e\x88\x7e\xdd\x16\x24\xd0\x25\x59\xc8\x67\xd0\x25\x59\xd0\x25\x59\xd0\x60\x67\xd0\x16\x68\xd1\x16\x68\xd4\x16\x68\xd0\x10\x68\xe0\x14\x16\x88\x45\xe0\x14\x15\x88\x45\xf0\x02\x03\x0d\x58\x01\xd8\x10\x12\x97\x07\x92\x07\x98\x0f\xd1\x10\x28\xd4\x10\x28\xd0\x10\x28\xd0\x10\x28\xf8\xdd\x13\x1a\xf0\x00\x01\x0d\x58\x01\xf0\x00\x01\x0d\x58\x01\xf0\x00\x01\x0d\x58\x01\xdd\x16\x24\xd0\x25\x48\xb8\x57\xd0\x25\x48\xd0\x25\x48\xc8\x77\xd0\x16\x57\xd1\x16\x57\xd4\x16\x57\xd0\x10\x57\xf0\x03\x01\x0d\x58\x01\xf8\xf8\xf8\xf0\x04\x36\x0d\x1b\xd8\x19\x1b\x9f\x17\x9a\x17\xa0\x12\x99\x1b\x9c\x1b\x90\x06\xdd\x13\x16\x90\x76\x91\x3b\x94\x3b\xa0\x11\x92\x3f\x90\x3f\xdd\x1a\x22\xd0\x23\x40\xd1\x1a\x41\xd4\x1a\x41\xd0\x14\x41\xe0\x13\x19\x98\x22\x98\x31\x98\x22\x94\x3a\xa0\x1d\xd2\x13\x2e\xd0\x13\x2e\xd9\x14\x19\xdd\x13\x16\x90\x76\x91\x3b\x94\x3b\xa0\x22\xd2\x13\x24\xd0\x13\x24\xdd\x1a\x22\xd0\x23\x40\xd1\x1a\x41\xd4\x1a\x41\xd0\x14\x41\xdd\x18\x26\xa0\x76\xa8\x61\xb0\x02\xa8\x64\xa4\x7c\xd1\x18\x34\xd4\x18\x34\x90\x05\xdd\x1b\x29\xa8\x26\xb0\x12\xb0\x42\xb0\x15\xac\x2d\xd1\x1b\x38\xd4\x1b\x38\x90\x08\xdd\x17\x25\xa0\x66\xa8\x52\xb0\x02\xa8\x55\xa4\x6d\xd1\x17\x34\xd4\x17\x34\x90\x04\xdd\x17\x25\xa0\x66\xa8\x52\xb0\x02\xa8\x55\xa4\x6d\xd1\x17\x34\xd4\x17\x34\x90\x04\xdd\x16\x24\xa0\x56\xa8\x42\xa8\x72\xa8\x45\xa4\x5d\xd1\x16\x33\xd4\x16\x33\x90\x03\xdd\x1c\x2a\xa8\x36\xb0\x22\xb0\x52\xb0\x25\xac\x3d\xd1\x1c\x39\xd4\x1c\x39\x90\x09\xdd\x1c\x2a\xa8\x36\xb0\x22\xb0\x52\xb0\x25\xac\x3d\xd1\x1c\x39\xd4\x1c\x39\x90\x09\xdd\x1c\x2a\xa8\x36\xb0\x22\xb0\x52\xb0\x25\xac\x3d\xd1\x1c\x39\xd4\x1c\x39\x90\x09\xdd\x1d\x2b\xa8\x46\xb0\x32\xb0\x62\xb0\x35\xac\x4d\xd1\x1d\x3a\xd4\x1d\x3a\x90\x0a\xdd\x1f\x2d\xa8\x66\xb0\x52\xb8\x02\xb0\x55\xac\x6d\xd1\x1f\x3c\xd4\x1f\x3c\x90\x0c\xdd\x1e\x2c\xa8\x56\xb0\x42\xb0\x72\xb0\x45\xac\x5d\xd1\x1e\x3b\xd4\x1e\x3b\x90\x0b\xd8\x1e\x27\xa8\x2a\xd1\x1e\x34\xb0\x7c\xd1\x1e\x43\x90\x0b\xd8\x13\x1e\xa0\x1d\xd2\x13\x2e\xd0\x13\x2e\xdd\x1a\x28\xd0\x29\x50\xc0\x57\xd0\x29\x50\xd0\x29\x50\xd0\x57\x5e\xd0\x1a\x5f\xd1\x1a\x5f\xd4\x1a\x5f\xd0\x14\x5f\xd8\x10\x1b\x98\x7a\xd1\x10\x29\x90\x0b\xf0\x04\x03\x11\x5c\x01\xd8\x1b\x1d\x9f\x37\x9a\x37\xa0\x39\xd1\x1b\x2d\xd4\x1b\x2d\x90\x44\x90\x44\xf8\xdd\x17\x1e\xf0\x00\x01\x11\x5c\x01\xf0\x00\x01\x11\x5c\x01\xf0\x00\x01\x11\x5c\x01\xdd\x1a\x28\xd0\x29\x4c\xc0\x17\xd0\x29\x4c\xd0\x29\x4c\xd0\x53\x5a\xd0\x1a\x5b\xd1\x1a\x5b\xd4\x1a\x5b\xd0\x14\x5b\xf0\x03\x01\x11\x5c\x01\xf8\xf8\xf8\xe5\x13\x16\x90\x74\x91\x39\x94\x39\xa0\x09\xd2\x13\x29\xd0\x13\x29\xdd\x1a\x28\xd0\x29\x4c\xc0\x17\xd0\x29\x4c\xd0\x29\x4c\xd0\x53\x5a\xd0\x1a\x5b\xd1\x1a\x5b\xd4\x1a\x5b\xd0\x14\x5b\xf0\x08\x04\x11\x5c\x01\xdd\x17\x1a\x98\x32\x9f\x37\x9a\x37\xa0\x3b\xb0\x19\xd1\x23\x3a\xd1\x1b\x3b\xd4\x1b\x3b\xd1\x17\x3c\xd4\x17\x3c\xc0\x0b\xc8\x69\xd1\x40\x57\xd2\x17\x57\xd0\x17\x57\xdd\x1e\x2c\xd0\x2d\x50\xc0\x57\xd0\x2d\x50\xd0\x2d\x50\xd0\x57\x5e\xd0\x1e\x5f\xd1\x1e\x5f\xd4\x1e\x5f\xd0\x18\x5f\xf0\x03\x00\x18\x58\x01\xf8\xe5\x17\x1e\xf0\x00\x01\x11\x5c\x01\xf0\x00\x01\x11\x5c\x01\xf0\x00\x01\x11\x5c\x01\xdd\x1a\x28\xd0\x29\x4c\xc0\x17\xd0\x29\x4c\xd0\x29\x4c\xd0\x53\x5a\xd0\x1a\x5b\xd1\x1a\x5b\xd4\x1a\x5b\xd0\x14\x5b\xf0\x03\x01\x11\x5c\x01\xf8\xf8\xf8\xf0\x06\x00\x14\x19\x98\x35\x91\x3d\xf0\x00\x08\x11\x4c\x01\xe0\x1b\x1f\x9f\x3b\x9a\x3b\x99\x3d\x9c\x3d\x90\x44\x90\x44\xf0\x06\x03\x15\x4c\x01\xd8\x1f\x23\x9f\x7b\x9a\x7b\xa8\x37\xd1\x1f\x33\xd4\x1f\x33\x98\x04\x98\x04\xf8\xdd\x1b\x2d\xf0\x00\x01\x15\x4c\x01\xf0\x00\x01\x15\x4c\x01\xf0\x00\x01\x15\x4c\x01\xd8\x1f\x23\x9f\x7b\x9a\x7b\xa8\x38\xd1\x1f\x34\xd4\x1f\x34\xd7\x1f\x3e\xd2\x1f\x3e\xbd\x7b\xd1\x1f\x4b\xd4\x1f\x4b\x98\x04\x98\x04\x98\x04\xf0\x03\x01\x15\x4c\x01\xf8\xf8\xf8\xf0\x06\x00\x18\x1c\x97\x7c\x92\x7c\xa0\x43\xad\x18\xd1\x17\x32\xd4\x17\x32\x90\x04\xdd\x17\x2a\xd4\x17\x35\xb0\x67\xb8\x74\xd1\x17\x44\xd4\x17\x44\x90\x04\xd8\x15\x19\x98\x38\xa0\x59\xb0\x09\xb8\x3b\xc8\x04\xc8\x64\xd0\x54\x57\xd0\x14\x58\x90\x01\xd8\x1e\x1f\x90\x05\x90\x64\x91\x0b\xd8\x10\x15\x98\x11\x91\x0a\x90\x05\xf1\x6d\x01\x36\x0d\x1b\xf0\x0c\x00\x15\x1a\xf0\x64\x01\x00\x0d\x0f\x8f\x47\x8a\x47\x90\x4c\xd1\x0c\x21\xd4\x0c\x21\xd0\x0c\x21\xd0\x0c\x21\xf8\x88\x42\x8f\x47\x8a\x47\x90\x4c\xd1\x0c\x21\xd4\x0c\x21\xd0\x0c\x21\xd0\x0c\x21\xf8\xf8\xf8\xd0\x0c\x21\xf0\x67\x03\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf1\x00\x73\x01\x05\x22\xf4\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf8\xf8\xf8\xf0\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf0\x00\x73\x01\x05\x22\xf5\x68\x03\x00\x05\x0f\xd4\x04\x1f\xd0\x20\x43\xc0\x55\xc8\x47\xd1\x04\x54\xd4\x04\x54\xd0\x04\x54\xd8\x0b\x10\x80\x4c", + .ob_sval = "\x80\x00\xf0\x02\x03\x05\x50\x01\xdc\x0d\x10\x8f\x5d\x89\x5d\x98\x37\xd3\x0d\x23\x88\x02\xf0\x08\x00\x0a\x0c\xf1\x00\x73\x01\x05\x22\xf0\x08\x00\x18\x1a\x97\x77\x91\x77\x93\x79\x88\x0c\xf0\x02\x6e\x01\x09\x22\xf0\x02\x05\x0d\x58\x01\xd8\x10\x12\x97\x07\x91\x07\xd4\x19\x2d\xd0\x18\x2d\xa8\x71\xd4\x10\x31\xd8\x22\x24\xa7\x27\xa1\x27\xa3\x29\x90\x0f\xd8\x19\x1b\x9f\x17\x99\x17\xd4\x21\x35\xd3\x19\x36\x90\x06\xf4\x06\x00\x10\x13\x90\x36\x8b\x7b\xd4\x1e\x32\xd2\x0f\x32\xdc\x16\x24\xd0\x27\x3c\xb8\x57\xb8\x4b\xd0\x25\x48\xc8\x77\xd4\x16\x57\xd0\x10\x57\xd8\x0f\x15\x90\x62\x90\x71\x88\x7a\xd4\x1d\x2f\xd2\x0f\x2f\xf0\x06\x05\x11\x37\xd8\x14\x16\x97\x47\x91\x47\x98\x41\x98\x71\x94\x4d\xd8\x20\x22\xa7\x07\xa1\x07\xa3\x09\x90\x49\xf4\x08\x00\x25\x28\xa8\x09\xb4\x4f\xd1\x28\x43\xdc\x28\x3c\xf1\x03\x01\x29\x3d\xd8\x3e\x3f\xf3\x03\x01\x25\x41\x01\xd0\x10\x21\xf0\x04\x05\x11\x37\xd8\x14\x16\x97\x47\x91\x47\xd0\x1c\x2d\xd4\x14\x2e\xd8\x1b\x1d\x9f\x37\x99\x37\x9b\x39\x90\x44\xf0\x08\x00\x17\x1b\x97\x6a\x91\x6a\xd4\x21\x33\xd3\x16\x34\x90\x03\xd8\x13\x16\x98\x11\x92\x37\xdc\x1a\x28\xd0\x2b\x3b\xb8\x47\xb8\x3b\xd0\x29\x47\xd8\x2e\x35\xf4\x03\x01\x1b\x37\xf0\x00\x01\x15\x37\xe0\x19\x1d\x98\x63\xa0\x23\xd4\x26\x3a\xd1\x22\x3a\xd0\x19\x3b\x90\x06\xdc\x13\x16\x90\x76\x93\x3b\xd4\x22\x36\xd2\x13\x36\xdc\x1a\x28\xd0\x2b\x3d\xb8\x67\xb8\x5b\xd0\x29\x49\xd8\x2e\x35\xf4\x03\x01\x1b\x37\xf0\x00\x01\x15\x37\xe0\x22\x2b\xac\x63\xb0\x24\xab\x69\xd1\x22\x37\xb8\x23\xd1\x22\x3d\x90\x0f\xe4\x1a\x28\xa8\x16\xb0\x02\xb0\x32\xa8\x1d\xd3\x1a\x37\x88\x4b\xdc\x1c\x2a\xa8\x36\xb0\x22\xb0\x52\xa8\x3d\xd3\x1c\x39\x88\x4d\xd8\x0f\x1e\xa0\x1b\xd2\x0f\x2c\xdc\x16\x24\xd0\x27\x43\xc0\x47\xc0\x3b\xd0\x25\x4f\xd0\x56\x5d\xd4\x16\x5e\xd0\x10\x5e\xd8\x0f\x1e\xa0\x1d\xd2\x0f\x2e\xdc\x16\x24\xd0\x27\x45\xc0\x67\xc0\x5b\xd0\x25\x51\xd0\x58\x5f\xd4\x16\x60\xd0\x10\x60\xd8\x0c\x1b\x98\x7b\xd1\x0c\x2a\x88\x4f\xd8\x19\x28\xa8\x3d\xd1\x19\x38\x88\x4a\xd8\x0f\x19\x98\x41\x8a\x7e\xdc\x16\x24\xd0\x27\x4d\xc8\x67\xc8\x5b\xd0\x25\x59\xd0\x60\x67\xd4\x16\x68\xd0\x10\x68\xe0\x14\x16\x88\x45\xe0\x14\x15\x88\x45\xf0\x02\x03\x0d\x58\x01\xd8\x10\x12\x97\x07\x91\x07\x98\x0f\xd4\x10\x28\xf0\x06\x00\x13\x17\xd8\x19\x1b\x9f\x17\x99\x17\xa0\x12\x9b\x1b\x90\x06\xdc\x13\x16\x90\x76\x93\x3b\xa0\x11\x92\x3f\xdc\x1a\x22\xd0\x23\x40\xd3\x1a\x41\xd0\x14\x41\xe0\x13\x19\x98\x22\x98\x31\x90\x3a\xa0\x1d\xd2\x13\x2e\xd9\x14\x19\xdc\x13\x16\x90\x76\x93\x3b\xa0\x22\xd2\x13\x24\xdc\x1a\x22\xd0\x23\x40\xd3\x1a\x41\xd0\x14\x41\xdc\x18\x26\xa0\x76\xa8\x61\xb0\x02\xa0\x7c\xd3\x18\x34\x90\x05\xdc\x1b\x29\xa8\x26\xb0\x12\xb0\x42\xa8\x2d\xd3\x1b\x38\x90\x08\xdc\x17\x25\xa0\x66\xa8\x52\xb0\x02\xa0\x6d\xd3\x17\x34\x90\x04\xdc\x17\x25\xa0\x66\xa8\x52\xb0\x02\xa0\x6d\xd3\x17\x34\x90\x04\xdc\x16\x24\xa0\x56\xa8\x42\xa8\x72\xa0\x5d\xd3\x16\x33\x90\x03\xdc\x1c\x2a\xa8\x36\xb0\x22\xb0\x52\xa8\x3d\xd3\x1c\x39\x90\x09\xdc\x1c\x2a\xa8\x36\xb0\x22\xb0\x52\xa8\x3d\xd3\x1c\x39\x90\x09\xdc\x1c\x2a\xa8\x36\xb0\x22\xb0\x52\xa8\x3d\xd3\x1c\x39\x90\x09\xdc\x1d\x2b\xa8\x46\xb0\x32\xb0\x62\xa8\x4d\xd3\x1d\x3a\x90\x0a\xdc\x1f\x2d\xa8\x66\xb0\x52\xb8\x02\xa8\x6d\xd3\x1f\x3c\x90\x0c\xdc\x1e\x2c\xa8\x56\xb0\x42\xb0\x72\xa8\x5d\xd3\x1e\x3b\x90\x0b\xd8\x1e\x27\xa8\x2a\xd1\x1e\x34\xb0\x7c\xd1\x1e\x43\x90\x0b\xd8\x13\x1e\xa0\x1d\xd2\x13\x2e\xdc\x1a\x28\xd0\x2b\x44\xc0\x57\xc0\x4b\xd0\x29\x50\xd0\x57\x5e\xd4\x1a\x5f\xd0\x14\x5f\xd8\x10\x1b\x98\x7a\xd1\x10\x29\x90\x0b\xf0\x04\x03\x11\x5c\x01\xd8\x1b\x1d\x9f\x37\x99\x37\xa0\x39\xd3\x1b\x2d\x90\x44\xf4\x06\x00\x14\x17\x90\x74\x93\x39\xa0\x09\xd2\x13\x29\xdc\x1a\x28\xd0\x2b\x40\xc0\x17\xc0\x0b\xd0\x29\x4c\xd0\x53\x5a\xd4\x1a\x5b\xd0\x14\x5b\xf0\x08\x04\x11\x5c\x01\xdc\x17\x1a\x98\x32\x9f\x37\x99\x37\xa0\x3b\xb0\x19\xd1\x23\x3a\xd3\x1b\x3b\xd3\x17\x3c\xc0\x0b\xc8\x69\xd1\x40\x57\xd2\x17\x57\xdc\x1e\x2c\xd0\x2f\x44\xc0\x57\xc0\x4b\xd0\x2d\x50\xd0\x57\x5e\xd4\x1e\x5f\xd0\x18\x5f\xf0\x03\x00\x18\x58\x01\xf0\x0a\x00\x14\x19\x98\x35\x92\x3d\xe0\x1b\x1f\x9f\x3b\x99\x3b\x9b\x3d\x91\x44\xf0\x06\x03\x15\x4c\x01\xd8\x1f\x23\x9f\x7b\x99\x7b\xa8\x37\xd3\x1f\x33\x98\x04\xf0\x08\x00\x18\x1c\x97\x7c\x91\x7c\xa0\x43\xac\x18\xd3\x17\x32\x90\x04\xdc\x17\x2a\xd7\x17\x35\xd1\x17\x35\xb0\x67\xb8\x74\xd3\x17\x44\x90\x04\xd8\x15\x19\x98\x38\xa0\x59\xb0\x09\xb8\x3b\xc8\x04\xc8\x64\xd0\x54\x57\xd0\x14\x58\x90\x01\xd8\x1e\x1f\x90\x05\x90\x64\x91\x0b\xd8\x10\x15\x98\x11\x91\x0a\x90\x05\xf1\x6d\x01\x00\x13\x17\xf0\x0c\x00\x15\x1a\xf0\x64\x01\x00\x0d\x0f\x8f\x47\x89\x47\x90\x4c\xd5\x0c\x21\xf7\x67\x03\x73\x01\x05\x22\xf4\x68\x03\x00\x05\x0f\xd7\x04\x1f\xd1\x04\x1f\xd0\x20\x43\xc0\x55\xc8\x47\xd4\x04\x54\xd8\x0b\x10\x80\x4c\xf8\xf4\x71\x03\x00\x0c\x13\xf2\x00\x01\x05\x50\x01\xdc\x0e\x1c\xd0\x1f\x34\xb0\x57\xb0\x4b\xd0\x1d\x40\xc0\x77\xd4\x0e\x4f\xd0\x08\x4f\xf0\x03\x01\x05\x50\x01\xfb\xf4\x1a\x00\x14\x1b\xf2\x00\x01\x0d\x58\x01\xdc\x16\x24\xd0\x27\x3c\xb8\x57\xb8\x4b\xd0\x25\x48\xc8\x77\xd4\x16\x57\xd0\x10\x57\xf0\x03\x01\x0d\x58\x01\xfb\xf4\x14\x00\x18\x1f\xf2\x00\x02\x11\x37\xdc\x1a\x28\xd0\x2b\x40\xc0\x17\xc0\x0b\xd0\x29\x4c\xd8\x2e\x35\xf4\x03\x01\x1b\x37\xf0\x00\x01\x15\x37\xf0\x03\x02\x11\x37\xfb\xf4\x10\x00\x18\x1f\xf2\x00\x02\x11\x37\xdc\x1a\x28\xd0\x2b\x40\xc0\x17\xc0\x0b\xd0\x29\x4c\xd8\x2e\x35\xf4\x03\x01\x1b\x37\xf0\x00\x01\x15\x37\xf0\x03\x02\x11\x37\xfb\xf4\x3a\x00\x14\x1b\xf2\x00\x01\x0d\x58\x01\xdc\x16\x24\xd0\x27\x3c\xb8\x57\xb8\x4b\xd0\x25\x48\xc8\x77\xd4\x16\x57\xd0\x10\x57\xf0\x03\x01\x0d\x58\x01\xfb\xf4\x3a\x00\x18\x1f\xf2\x00\x01\x11\x5c\x01\xdc\x1a\x28\xd0\x2b\x40\xc0\x17\xc0\x0b\xd0\x29\x4c\xd0\x53\x5a\xd4\x1a\x5b\xd0\x14\x5b\xf0\x03\x01\x11\x5c\x01\xfb\xf4\x14\x00\x18\x1f\xf2\x00\x01\x11\x5c\x01\xdc\x1a\x28\xd0\x2b\x40\xc0\x17\xc0\x0b\xd0\x29\x4c\xd0\x53\x5a\xd4\x1a\x5b\xd0\x14\x5b\xf0\x03\x01\x11\x5c\x01\xfb\xf4\x14\x00\x1c\x2e\xf2\x00\x01\x15\x4c\x01\xd8\x1f\x23\x9f\x7b\x99\x7b\xa8\x38\xd3\x1f\x34\xd7\x1f\x3e\xd1\x1f\x3e\xbc\x7b\xd3\x1f\x4b\x9b\x04\xf0\x03\x01\x15\x4c\x01\xfb\xf0\x12\x00\x0d\x0f\x8f\x47\x89\x47\x90\x4c\xd5\x0c\x21\xfa\xf7\x67\x03\x73\x01\x05\x22\xf1\x00\x73\x01\x05\x22\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[230]; + char ob_sval[223]; } zipimport_toplevel_consts_21_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 229, + .ob_size = 222, }, .ob_shash = -1, - .ob_sval = "\x82\x14\x17\x00\x97\x1f\x36\x03\xbb\x15\x59\x08\x03\xc1\x12\x41\x0a\x42\x1d\x02\xc2\x1c\x01\x58\x21\x02\xc2\x1d\x1f\x42\x3c\x05\xc2\x3c\x41\x03\x58\x21\x02\xc4\x00\x2a\x44\x2b\x02\xc4\x2a\x01\x58\x21\x02\xc4\x2b\x1f\x45\x0a\x05\xc5\x0a\x23\x58\x21\x02\xc5\x2e\x29\x46\x18\x02\xc6\x17\x01\x58\x21\x02\xc6\x18\x1f\x46\x37\x05\xc6\x37\x44\x14\x58\x21\x02\xcb\x0c\x15\x4b\x22\x02\xcb\x21\x01\x58\x21\x02\xcb\x22\x1f\x4c\x01\x05\xcc\x01\x46\x11\x58\x21\x02\xd2\x13\x15\x52\x29\x02\xd2\x28\x01\x58\x21\x02\xd2\x29\x1f\x53\x08\x05\xd3\x08\x2a\x58\x21\x02\xd3\x33\x41\x00\x54\x34\x02\xd4\x33\x01\x58\x21\x02\xd4\x34\x1f\x55\x13\x05\xd5\x13\x1d\x58\x21\x02\xd5\x31\x15\x56\x07\x02\xd6\x06\x01\x58\x21\x02\xd6\x07\x37\x57\x01\x05\xd6\x3e\x02\x58\x21\x02\xd7\x00\x01\x57\x01\x05\xd7\x01\x41\x09\x58\x21\x02\xd8\x0b\x16\x59\x08\x03\xd8\x21\x17\x58\x38\x05\xd8\x38\x03\x59\x08\x03\xd9\x08\x04\x59\x0c\x07\xd9\x0f\x01\x59\x0c\x07", + .ob_sval = "\x82\x15\x4f\x26\x00\x99\x11\x53\x3b\x03\xac\x3c\x50\x03\x02\xc1\x28\x2e\x53\x25\x02\xc2\x17\x22\x50\x20\x02\xc2\x39\x1a\x53\x25\x02\xc3\x14\x21\x50\x3d\x02\xc3\x35\x43\x12\x53\x25\x02\xc7\x08\x11\x51\x1a\x02\xc7\x19\x44\x0a\x53\x25\x02\xcb\x24\x11\x51\x37\x02\xcb\x35\x1e\x53\x25\x02\xcc\x14\x33\x52\x14\x02\xcd\x07\x17\x53\x25\x02\xcd\x1f\x11\x52\x31\x02\xcd\x30\x41\x02\x53\x25\x02\xce\x33\x11\x53\x3b\x03\xcf\x26\x1a\x50\x00\x03\xd0\x03\x1a\x50\x1d\x05\xd0\x1d\x03\x53\x25\x02\xd0\x20\x1a\x50\x3a\x05\xd0\x3a\x03\x53\x25\x02\xd0\x3d\x1a\x51\x17\x05\xd1\x17\x03\x53\x25\x02\xd1\x1a\x1a\x51\x34\x05\xd1\x34\x03\x53\x25\x02\xd1\x37\x1a\x52\x11\x05\xd2\x11\x03\x53\x25\x02\xd2\x14\x1a\x52\x2e\x05\xd2\x2e\x03\x53\x25\x02\xd2\x31\x2d\x53\x22\x05\xd3\x1e\x03\x53\x25\x02\xd3\x21\x01\x53\x22\x05\xd3\x22\x03\x53\x25\x02\xd3\x25\x13\x53\x38\x05\xd3\x38\x03\x53\x3b\x03\xd3\x3b\x05\x54\x05\x07", }; static struct { @@ -50447,7 +49058,7 @@ static const_str_fp = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -50456,7 +49067,7 @@ const_str_fp = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fp", @@ -50469,7 +49080,7 @@ static const_str_start_offset = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -50478,7 +49089,7 @@ const_str_start_offset = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "start_offset", @@ -50491,7 +49102,7 @@ static const_str_header_position = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -50500,7 +49111,7 @@ const_str_header_position = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "header_position", @@ -50513,7 +49124,7 @@ static const_str_file_size = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -50522,7 +49133,7 @@ const_str_file_size = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "file_size", @@ -50535,7 +49146,7 @@ static const_str_max_comment_start = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -50544,33 +49155,11 @@ const_str_max_comment_start = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "max_comment_start", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[4]; - } -const_str_pos = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 3, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "pos", -}; static struct { PyASCIIObject _ascii; @@ -50579,7 +49168,7 @@ static const_str_header_size = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -50588,7 +49177,7 @@ const_str_header_size = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "header_size", @@ -50601,7 +49190,7 @@ static const_str_header_offset = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -50610,7 +49199,7 @@ const_str_header_offset = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "header_offset", @@ -50623,7 +49212,7 @@ static const_str_arc_offset = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -50632,7 +49221,7 @@ const_str_arc_offset = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "arc_offset", @@ -50645,7 +49234,7 @@ static const_str_compress = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -50654,7 +49243,7 @@ const_str_compress = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "compress", @@ -50667,7 +49256,7 @@ static const_str_time = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -50676,7 +49265,7 @@ const_str_time = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "time", @@ -50689,7 +49278,7 @@ static const_str_date = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -50698,7 +49287,7 @@ const_str_date = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "date", @@ -50711,7 +49300,7 @@ static const_str_crc = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -50720,7 +49309,7 @@ const_str_crc = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "crc", @@ -50733,7 +49322,7 @@ static const_str_data_size = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -50742,7 +49331,7 @@ const_str_data_size = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "data_size", @@ -50755,7 +49344,7 @@ static const_str_name_size = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -50764,7 +49353,7 @@ const_str_name_size = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "name_size", @@ -50777,7 +49366,7 @@ static const_str_extra_size = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -50786,7 +49375,7 @@ const_str_extra_size = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "extra_size", @@ -50799,7 +49388,7 @@ static const_str_comment_size = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -50808,7 +49397,7 @@ const_str_comment_size = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "comment_size", @@ -50821,7 +49410,7 @@ static const_str_file_offset = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -50830,33 +49419,11 @@ const_str_file_offset = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "file_offset", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_t = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "t", -}; static struct { PyGC_Head _gc_head; @@ -50869,7 +49436,7 @@ zipimport_toplevel_consts_21_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 27, @@ -50882,14 +49449,14 @@ zipimport_toplevel_consts_21_localsplusnames = { &_Py_ID(buffer), & const_str_file_size._ascii.ob_base, & const_str_max_comment_start._ascii.ob_base, - & const_str_data._ascii.ob_base, - & const_str_pos._ascii.ob_base, + &_Py_ID(data), + &_Py_ID(pos), & const_str_header_size._ascii.ob_base, & const_str_header_offset._ascii.ob_base, & const_str_arc_offset._ascii.ob_base, & const_str_files._ascii.ob_base, - & const_str_count._ascii.ob_base, - & const_str_flags._ascii.ob_base, + &_Py_ID(count), + &_Py_ID(flags), & const_str_compress._ascii.ob_base, & const_str_time._ascii.ob_base, & const_str_date._ascii.ob_base, @@ -50901,7 +49468,7 @@ zipimport_toplevel_consts_21_localsplusnames = { & const_str_file_offset._ascii.ob_base, &_Py_ID(name), &_Py_ID(path), - & const_str_t._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[116], }, }, }; @@ -50914,7 +49481,7 @@ static zipimport_toplevel_consts_21_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 27, @@ -50923,40 +49490,38 @@ zipimport_toplevel_consts_21_localspluskinds = { .ob_sval = " ", }; static - struct _PyCode_DEF(3286) + struct _PyCode_DEF(2576) zipimport_toplevel_consts_21 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 1643, + .ob_size = 1288, }, .co_consts = & zipimport_toplevel_consts_21_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_21_names._object.ob_base.ob_base, .co_exceptiontable = & zipimport_toplevel_consts_21_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 36 + FRAME_SPECIALS_SIZE, .co_stacksize = 9, - .co_firstlineno = 401, + .co_firstlineno = 343, .co_nlocalsplus = 27, .co_nlocals = 27, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 237, .co_localsplusnames = & zipimport_toplevel_consts_21_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & zipimport_toplevel_consts_21_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__read_directory._ascii.ob_base, .co_qualname = & const_str__read_directory._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_21_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x22\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x15\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x01\x35\x00\x01\x00\x7c\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x09\x00\x09\x00\x7c\x01\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x64\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x01\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x6e\x22\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x15\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x14\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x04\x64\x00\x64\x05\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x90\x01\x72\x42\x09\x00\x7c\x01\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x64\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x22\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x15\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0a\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0a\x00\x00\x64\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x09\x00\x7c\x01\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x6e\x22\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x15\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x07\xa0\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x08\x64\x06\x6b\x00\x00\x00\x00\x00\x72\x14\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x07\x7c\x08\x7c\x08\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x14\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x05\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0a\x00\x00\x7c\x08\x7a\x00\x00\x00\x7d\x03\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x09\x64\x0a\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x0a\x64\x0b\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x03\x7c\x09\x6b\x00\x00\x00\x00\x00\x72\x14\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x03\x7c\x0a\x6b\x00\x00\x00\x00\x00\x72\x14\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x03\x7c\x09\x7a\x17\x00\x00\x7d\x03\x7c\x03\x7c\x0a\x7a\x0a\x00\x00\x7d\x0b\x7c\x0b\x64\x06\x6b\x00\x00\x00\x00\x00\x72\x14\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0e\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x69\x00\x7d\x0c\x64\x06\x7d\x0d\x09\x00\x7c\x01\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x22\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x15\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x09\x00\x7c\x01\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x6b\x00\x00\x00\x00\x00\x72\x0f\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x11\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x04\x64\x00\x64\x05\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x12\x6b\x03\x00\x00\x00\x00\x72\x02\x90\x02\x6e\xbe\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\x6b\x03\x00\x00\x00\x00\x72\x0f\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x11\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x13\x64\x14\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x14\x64\x09\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0f\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x09\x64\x15\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x10\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x15\x64\x0a\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x11\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x0a\x64\x0b\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x12\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x0b\x64\x16\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x13\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x16\x64\x17\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x17\x64\x18\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x14\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x18\x64\x19\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x15\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x19\x64\x1a\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x16\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x1b\x64\x10\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x17\x7c\x14\x7c\x15\x7a\x00\x00\x00\x7c\x16\x7a\x00\x00\x00\x7d\x09\x7c\x17\x7c\x0a\x6b\x04\x00\x00\x00\x00\x72\x14\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x1c\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x17\x7c\x0b\x7a\x0d\x00\x00\x7d\x17\x09\x00\x7c\x01\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x14\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x18\x6e\x22\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x15\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x18\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x14\x6b\x03\x00\x00\x00\x00\x72\x14\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x09\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x7c\x14\x7a\x0a\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x7c\x14\x7a\x0a\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x14\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x6e\x22\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x15\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x0e\x64\x1d\x7a\x01\x00\x00\x72\x15\x7c\x18\xa0\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x18\x6e\x54\x09\x00\x7c\x18\xa0\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x1e\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x18\x6e\x3d\x23\x00\x74\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x30\x01\x00\x7c\x18\xa0\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x1f\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x18\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x18\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x20\x74\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x18\x74\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x18\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x19\x7c\x19\x7c\x0f\x7c\x13\x7c\x05\x7c\x17\x7c\x10\x7c\x11\x7c\x12\x66\x08\x7d\x1a\x7c\x1a\x7c\x0c\x7c\x18\x3c\x00\x00\x00\x7c\x0d\x64\x21\x7a\x0d\x00\x00\x7d\x0d\x90\x03\x8c\x05\x09\x00\x7c\x01\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x1a\x23\x00\x7c\x01\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x78\x03\x59\x00\x77\x01\x09\x00\x64\x00\x64\x00\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x74\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x64\x22\x7c\x0d\x7c\x00\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x0c\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x35\x00\x01\x00\x7c\x01\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x09\x00\x09\x00\x7c\x01\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x64\x03\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x01\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\x10\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x04\x64\x00\x64\x05\x1a\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\xc8\x09\x00\x7c\x01\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x64\x03\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0a\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0a\x00\x00\x64\x06\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x06\x09\x00\x7c\x01\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x07\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x08\x64\x06\x6b\x02\x00\x00\x72\x10\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x07\x7c\x08\x7c\x08\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x1a\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\x10\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x05\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x0a\x00\x00\x7c\x08\x7a\x00\x00\x00\x7d\x03\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x09\x64\x0a\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x09\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x0a\x64\x0b\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x03\x7c\x09\x6b\x02\x00\x00\x72\x10\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x03\x7c\x0a\x6b\x02\x00\x00\x72\x10\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x03\x7c\x09\x7a\x17\x00\x00\x7d\x03\x7c\x03\x7c\x0a\x7a\x0a\x00\x00\x7d\x0b\x7c\x0b\x64\x06\x6b\x02\x00\x00\x72\x10\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0e\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x69\x00\x7d\x0c\x64\x06\x7d\x0d\x09\x00\x7c\x01\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x7c\x01\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0f\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x64\x05\x6b\x02\x00\x00\x72\x0b\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x04\x64\x00\x64\x05\x1a\x00\x64\x11\x6b\x37\x00\x00\x72\x02\x90\x01\x6e\xa4\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x64\x0f\x6b\x37\x00\x00\x72\x0b\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x12\x64\x13\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0e\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x13\x64\x09\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0f\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x09\x64\x14\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x10\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x14\x64\x0a\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x11\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x0a\x64\x0b\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x12\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x0b\x64\x15\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x13\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x15\x64\x16\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x16\x64\x17\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x14\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x17\x64\x18\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x15\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x18\x64\x19\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x16\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x1a\x64\x0f\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x17\x7c\x14\x7c\x15\x7a\x00\x00\x00\x7c\x16\x7a\x00\x00\x00\x7d\x09\x7c\x17\x7c\x0a\x6b\x44\x00\x00\x72\x10\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x1b\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x17\x7c\x0b\x7a\x0d\x00\x00\x7d\x17\x09\x00\x7c\x01\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x14\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x18\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x18\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x14\x6b\x37\x00\x00\x72\x10\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x09\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x7c\x14\x7a\x0a\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x09\x7c\x14\x7a\x0a\x00\x00\x6b\x37\x00\x00\x72\x10\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x09\x00\x7c\x0e\x64\x1c\x7a\x01\x00\x00\x72\x11\x7c\x18\x6a\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x18\x6e\x12\x09\x00\x7c\x18\x6a\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x1d\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x18\x7c\x18\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x1f\x74\x2a\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x18\x74\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x18\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x19\x7c\x19\x7c\x0f\x7c\x13\x7c\x05\x7c\x17\x7c\x10\x7c\x11\x7c\x12\x66\x08\x7d\x1a\x7c\x1a\x7c\x0c\x7c\x18\x3c\x00\x00\x00\x7c\x0d\x64\x20\x7a\x0d\x00\x00\x7d\x0d\x90\x01\x8c\xd8\x09\x00\x7c\x01\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x64\x00\x64\x00\x64\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x31\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x21\x7f\x0d\x7c\x00\xab\x03\x00\x00\x00\x00\x00\x00\x01\x00\x7f\x0c\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x22\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x28\x01\x00\x7c\x18\x6a\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x1e\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x26\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x18\x59\x00\x90\x01\x8c\x71\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x7c\x01\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x90\x01\x8c\x38\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -50968,7 +49533,7 @@ zipimport_toplevel_consts_22 = { ._compact = { ._base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 256, @@ -50977,9 +49542,11 @@ zipimport_toplevel_consts_22 = { .kind = 2, .compact = 1, .ascii = 0, - .ready = 1, + .statically_allocated = 1, }, }, + .utf8 = "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f\xc3\x87\xc3\xbc\xc3\xa9\xc3\xa2\xc3\xa4\xc3\xa0\xc3\xa5\xc3\xa7\xc3\xaa\xc3\xab\xc3\xa8\xc3\xaf\xc3\xae\xc3\xac\xc3\x84\xc3\x85\xc3\x89\xc3\xa6\xc3\x86\xc3\xb4\xc3\xb6\xc3\xb2\xc3\xbb\xc3\xb9\xc3\xbf\xc3\x96\xc3\x9c\xc2\xa2\xc2\xa3\xc2\xa5\xe2\x82\xa7\xc6\x92\xc3\xa1\xc3\xad\xc3\xb3\xc3\xba\xc3\xb1\xc3\x91\xc2\xaa\xc2\xba\xc2\xbf\xe2\x8c\x90\xc2\xac\xc2\xbd\xc2\xbc\xc2\xa1\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xe2\x95\xa1\xe2\x95\xa2\xe2\x95\x96\xe2\x95\x95\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xe2\x95\x9c\xe2\x95\x9b\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa4\xe2\x95\xa5\xe2\x95\x99\xe2\x95\x98\xe2\x95\x92\xe2\x95\x93\xe2\x95\xab\xe2\x95\xaa\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x80\xce\xb1\xc3\x9f\xce\x93\xcf\x80\xce\xa3\xcf\x83\xc2\xb5\xcf\x84\xce\xa6\xce\x98\xce\xa9\xce\xb4\xe2\x88\x9e\xcf\x86\xce\xb5\xe2\x88\xa9\xe2\x89\xa1\xc2\xb1\xe2\x89\xa5\xe2\x89\xa4\xe2\x8c\xa0\xe2\x8c\xa1\xc3\xb7\xe2\x89\x88\xc2\xb0\xe2\x88\x99\xc2\xb7\xe2\x88\x9a\xe2\x81\xbf\xc2\xb2\xe2\x96\xa0\xc2\xa0", + .utf8_length = 446, }, ._data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, @@ -51008,7 +49575,7 @@ static zipimport_toplevel_consts_23_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -51017,7 +49584,7 @@ zipimport_toplevel_consts_23_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "zipimport: zlib UNAVAILABLE", @@ -51030,7 +49597,7 @@ static zipimport_toplevel_consts_23_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 41, @@ -51039,7 +49606,7 @@ zipimport_toplevel_consts_23_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "can't decompress data; zlib not available", @@ -51052,7 +49619,7 @@ static const_str_decompress = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -51061,7 +49628,7 @@ const_str_decompress = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "decompress", @@ -51078,7 +49645,7 @@ zipimport_toplevel_consts_23_consts_5 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -51096,7 +49663,7 @@ static zipimport_toplevel_consts_23_consts_7 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -51105,7 +49672,7 @@ zipimport_toplevel_consts_23_consts_7 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "zipimport: zlib available", @@ -51122,7 +49689,7 @@ zipimport_toplevel_consts_23_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -51147,7 +49714,7 @@ static const_str__importing_zlib = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -51156,7 +49723,7 @@ const_str__importing_zlib = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_importing_zlib", @@ -51169,7 +49736,7 @@ static const_str_zlib = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -51178,7 +49745,7 @@ const_str_zlib = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "zlib", @@ -51195,7 +49762,7 @@ zipimport_toplevel_consts_23_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -51219,7 +49786,7 @@ static const_str__get_decompress_func = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -51228,7 +49795,7 @@ const_str__get_decompress_func = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_decompress_func", @@ -51237,71 +49804,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[197]; + char ob_sval[130]; } zipimport_toplevel_consts_23_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 196, + .ob_size = 129, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x07\x16\xf0\x00\x04\x05\x4a\x01\xf5\x06\x00\x09\x13\xd4\x08\x23\xd0\x24\x41\xd1\x08\x42\xd4\x08\x42\xd0\x08\x42\xdd\x0e\x1c\xd0\x1d\x48\xd1\x0e\x49\xd4\x0e\x49\xd0\x08\x49\xe0\x16\x1a\x80\x4f\xf0\x02\x06\x05\x20\xd8\x08\x23\xd0\x08\x23\xd0\x08\x23\xd0\x08\x23\xd0\x08\x23\xd0\x08\x23\xd0\x08\x23\xf8\xdd\x0b\x14\xf0\x00\x02\x05\x4a\x01\xf0\x00\x02\x05\x4a\x01\xf0\x00\x02\x05\x4a\x01\xdd\x08\x12\xd4\x08\x23\xd0\x24\x41\xd1\x08\x42\xd4\x08\x42\xd0\x08\x42\xdd\x0e\x1c\xd0\x1d\x48\xd1\x0e\x49\xd4\x0e\x49\xd0\x08\x49\xf0\x05\x02\x05\x4a\x01\xf8\xf8\xf8\xf0\x03\x00\x09\x24\xf0\x0a\x00\x1b\x20\x88\x0f\x88\x0f\xf8\x98\x25\x88\x0f\xd0\x08\x1f\xd0\x08\x1f\xd0\x08\x1f\xd0\x08\x1f\xe5\x04\x0e\xd4\x04\x1f\xd0\x20\x3b\xd1\x04\x3c\xd4\x04\x3c\xd0\x04\x3c\xd8\x0b\x15\xd0\x04\x15", + .ob_sval = "\x80\x00\xe5\x07\x16\xf4\x06\x00\x09\x13\xd7\x08\x23\xd1\x08\x23\xd0\x24\x41\xd4\x08\x42\xdc\x0e\x1c\xd0\x1d\x48\xd3\x0e\x49\xd0\x08\x49\xe0\x16\x1a\x80\x4f\xf0\x02\x06\x05\x20\xde\x08\x23\xf0\x0a\x00\x1b\x20\x88\x0f\xe4\x04\x0e\xd7\x04\x1f\xd1\x04\x1f\xd0\x20\x3b\xd4\x04\x3c\xd8\x0b\x15\xd0\x04\x15\xf8\xf4\x0f\x00\x0c\x15\xf2\x00\x02\x05\x4a\x01\xdc\x08\x12\xd7\x08\x23\xd1\x08\x23\xd0\x24\x41\xd4\x08\x42\xdc\x0e\x1c\xd0\x1d\x48\xd3\x0e\x49\xd0\x08\x49\xf0\x05\x02\x05\x4a\x01\xfb\xf0\x08\x00\x1b\x20\x89\x0f\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[27]; + char ob_sval[24]; } zipimport_toplevel_consts_23_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 26, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\xae\x06\x35\x00\xb4\x01\x41\x2a\x00\xb5\x2e\x41\x23\x03\xc1\x23\x03\x41\x2a\x00\xc1\x2a\x04\x41\x2e\x03", + .ob_sval = "\xaa\x06\x41\x0a\x00\xc1\x0a\x2a\x41\x34\x03\xc1\x34\x03\x41\x37\x00\xc1\x37\x04\x41\x3b\x03", }; static - struct _PyCode_DEF(270) + struct _PyCode_DEF(252) zipimport_toplevel_consts_23 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 135, + .ob_size = 126, }, .co_consts = & zipimport_toplevel_consts_23_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_23_names._object.ob_base.ob_base, .co_exceptiontable = & zipimport_toplevel_consts_23_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 566, + .co_firstlineno = 508, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 238, .co_localsplusnames = & zipimport_toplevel_consts_23_consts_5._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__get_decompress_func._ascii.ob_base, .co_qualname = & const_str__get_decompress_func._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_23_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x23\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x64\x03\x61\x00\x09\x00\x64\x04\x64\x05\x6c\x04\x6d\x05\x7d\x00\x01\x00\x6e\x31\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x24\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x09\x00\x64\x06\x61\x00\x6e\x07\x23\x00\x64\x06\x61\x00\x77\x00\x78\x03\x59\x00\x77\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x20\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x64\x03\x61\x00\x09\x00\x64\x04\x64\x05\x6c\x04\x6d\x05\x7d\x00\x01\x00\x09\x00\x64\x06\x61\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x21\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x64\x06\x61\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -51312,7 +49877,7 @@ static zipimport_toplevel_consts_24_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -51321,7 +49886,7 @@ zipimport_toplevel_consts_24_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "negative data size", @@ -51335,7 +49900,7 @@ static zipimport_toplevel_consts_24_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 4, @@ -51351,7 +49916,7 @@ static zipimport_toplevel_consts_24_consts_9 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -51360,7 +49925,7 @@ zipimport_toplevel_consts_24_consts_9 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bad local file header: ", @@ -51373,7 +49938,7 @@ static zipimport_toplevel_consts_24_consts_12 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -51382,24 +49947,23 @@ zipimport_toplevel_consts_24_consts_12 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "zipimport: can't read data", }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_negative_15 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = -1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(-1, 1), .ob_digit = { 15 }, }; static @@ -51414,7 +49978,7 @@ zipimport_toplevel_consts_24_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -51426,7 +49990,7 @@ zipimport_toplevel_consts_24_consts = { & zipimport_toplevel_consts_21_consts_4._ascii.ob_base, & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 30], - & zipimport_toplevel_consts_21_consts_17._ascii.ob_base, + & zipimport_toplevel_consts_21_consts_16._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 4], & zipimport_toplevel_consts_24_consts_8.ob_base.ob_base, & zipimport_toplevel_consts_24_consts_9._ascii.ob_base, @@ -51434,7 +49998,7 @@ zipimport_toplevel_consts_24_consts = { (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 28], & zipimport_toplevel_consts_24_consts_12._ascii.ob_base, & zipimport_toplevel_consts_23_consts_2._ascii.ob_base, - & const_int_negative_15.ob_base.ob_base, + & const_int_negative_15.ob_base, }, }, }; @@ -51450,14 +50014,14 @@ zipimport_toplevel_consts_24_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, }, .ob_item = { & const_str_ZipImportError._ascii.ob_base, - & const_str__io._ascii.ob_base, + &_Py_ID(_io), & const_str_open_code._ascii.ob_base, &_Py_ID(seek), & const_str_OSError._ascii.ob_base, @@ -51474,35 +50038,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[632]; + char ob_sval[443]; } zipimport_toplevel_consts_24_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 631, + .ob_size = 442, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x4d\x56\xd1\x04\x4a\x80\x48\x88\x68\x98\x09\xa0\x39\xa8\x6b\xb8\x34\xc0\x14\xc0\x73\xd8\x07\x10\x90\x31\x82\x7d\x80\x7d\xdd\x0e\x1c\xd0\x1d\x31\xd1\x0e\x32\xd4\x0e\x32\xd0\x08\x32\xe5\x09\x0c\x8c\x1d\x90\x77\xd1\x09\x1f\xd4\x09\x1f\xf0\x00\x18\x05\x38\xa0\x32\xf0\x04\x03\x09\x54\x01\xd8\x0c\x0e\x8f\x47\x8a\x47\x90\x4b\xd1\x0c\x20\xd4\x0c\x20\xd0\x0c\x20\xd0\x0c\x20\xf8\xdd\x0f\x16\xf0\x00\x01\x09\x54\x01\xf0\x00\x01\x09\x54\x01\xf0\x00\x01\x09\x54\x01\xdd\x12\x20\xd0\x21\x44\xb8\x17\xd0\x21\x44\xd0\x21\x44\xc8\x37\xd0\x12\x53\xd1\x12\x53\xd4\x12\x53\xd0\x0c\x53\xf0\x03\x01\x09\x54\x01\xf8\xf8\xf8\xe0\x11\x13\x97\x17\x92\x17\x98\x12\x91\x1b\x94\x1b\x88\x06\xdd\x0b\x0e\x88\x76\x89\x3b\x8c\x3b\x98\x22\xd2\x0b\x1c\xd0\x0b\x1c\xdd\x12\x1a\xd0\x1b\x38\xd1\x12\x39\xd4\x12\x39\xd0\x0c\x39\xe0\x0b\x11\x90\x22\x90\x31\x90\x22\x8c\x3a\x98\x1d\xd2\x0b\x26\xd0\x0b\x26\xe5\x12\x20\xd0\x21\x46\xb8\x37\xd0\x21\x46\xd0\x21\x46\xc8\x57\xd0\x12\x55\xd1\x12\x55\xd4\x12\x55\xd0\x0c\x55\xe5\x14\x22\xa0\x36\xa8\x22\xa8\x52\xa8\x25\xa4\x3d\xd1\x14\x31\xd4\x14\x31\x88\x09\xdd\x15\x23\xa0\x46\xa8\x32\xa8\x62\xa8\x35\xa4\x4d\xd1\x15\x32\xd4\x15\x32\x88\x0a\xd8\x16\x18\x98\x39\x91\x6e\xa0\x7a\xd1\x16\x31\x88\x0b\xd8\x08\x13\x90\x7b\xd1\x08\x22\x88\x0b\xf0\x02\x03\x09\x54\x01\xd8\x0c\x0e\x8f\x47\x8a\x47\x90\x4b\xd1\x0c\x20\xd4\x0c\x20\xd0\x0c\x20\xd0\x0c\x20\xf8\xdd\x0f\x16\xf0\x00\x01\x09\x54\x01\xf0\x00\x01\x09\x54\x01\xf0\x00\x01\x09\x54\x01\xdd\x12\x20\xd0\x21\x44\xb8\x17\xd0\x21\x44\xd0\x21\x44\xc8\x37\xd0\x12\x53\xd1\x12\x53\xd4\x12\x53\xd0\x0c\x53\xf0\x03\x01\x09\x54\x01\xf8\xf8\xf8\xe0\x13\x15\x97\x37\x92\x37\x98\x39\xd1\x13\x25\xd4\x13\x25\x88\x08\xdd\x0b\x0e\x88\x78\x89\x3d\x8c\x3d\x98\x49\xd2\x0b\x25\xd0\x0b\x25\xdd\x12\x19\xd0\x1a\x36\xd1\x12\x37\xd4\x12\x37\xd0\x0c\x37\xf0\x03\x00\x0c\x26\xf0\x2f\x18\x05\x38\xf0\x00\x18\x05\x38\xf0\x00\x18\x05\x38\xf1\x00\x18\x05\x38\xf4\x00\x18\x05\x38\xf0\x00\x18\x05\x38\xf0\x00\x18\x05\x38\xf0\x00\x18\x05\x38\xf0\x00\x18\x05\x38\xf0\x00\x18\x05\x38\xf0\x00\x18\x05\x38\xf8\xf8\xf8\xf0\x00\x18\x05\x38\xf0\x00\x18\x05\x38\xf0\x00\x18\x05\x38\xf0\x00\x18\x05\x38\xf0\x34\x00\x08\x10\x90\x31\x82\x7d\x80\x7d\xe0\x0f\x17\x88\x0f\xf0\x06\x03\x05\x4a\x01\xdd\x15\x29\xd1\x15\x2b\xd4\x15\x2b\x88\x0a\x88\x0a\xf8\xdd\x0b\x14\xf0\x00\x01\x05\x4a\x01\xf0\x00\x01\x05\x4a\x01\xf0\x00\x01\x05\x4a\x01\xdd\x0e\x1c\xd0\x1d\x48\xd1\x0e\x49\xd4\x0e\x49\xd0\x08\x49\xf0\x03\x01\x05\x4a\x01\xf8\xf8\xf8\xe0\x0b\x15\x88\x3a\x90\x68\xa0\x03\xd1\x0b\x24\xd4\x0b\x24\xd0\x04\x24", + .ob_sval = "\x80\x00\xd8\x4d\x56\xd1\x04\x4a\x80\x48\x88\x68\x98\x09\xa0\x39\xa8\x6b\xb8\x34\xc0\x14\xc0\x73\xd8\x07\x10\x90\x31\x82\x7d\xdc\x0e\x1c\xd0\x1d\x31\xd3\x0e\x32\xd0\x08\x32\xe4\x09\x0c\x8f\x1d\x89\x1d\x90\x77\xd3\x09\x1f\xf0\x00\x18\x05\x38\xa0\x32\xf0\x04\x03\x09\x54\x01\xd8\x0c\x0e\x8f\x47\x89\x47\x90\x4b\xd4\x0c\x20\xf0\x06\x00\x12\x14\x97\x17\x91\x17\x98\x12\x93\x1b\x88\x06\xdc\x0b\x0e\x88\x76\x8b\x3b\x98\x22\xd2\x0b\x1c\xdc\x12\x1a\xd0\x1b\x38\xd3\x12\x39\xd0\x0c\x39\xe0\x0b\x11\x90\x22\x90\x31\x88\x3a\x98\x1d\xd2\x0b\x26\xe4\x12\x20\xd0\x23\x3a\xb8\x37\xb8\x2b\xd0\x21\x46\xc8\x57\xd4\x12\x55\xd0\x0c\x55\xe4\x14\x22\xa0\x36\xa8\x22\xa8\x52\xa0\x3d\xd3\x14\x31\x88\x09\xdc\x15\x23\xa0\x46\xa8\x32\xa8\x62\xa0\x4d\xd3\x15\x32\x88\x0a\xd8\x16\x18\x98\x39\x91\x6e\xa0\x7a\xd1\x16\x31\x88\x0b\xd8\x08\x13\x90\x7b\xd1\x08\x22\x88\x0b\xf0\x02\x03\x09\x54\x01\xd8\x0c\x0e\x8f\x47\x89\x47\x90\x4b\xd4\x0c\x20\xf0\x06\x00\x14\x16\x97\x37\x91\x37\x98\x39\xd3\x13\x25\x88\x08\xdc\x0b\x0e\x88\x78\x8b\x3d\x98\x49\xd2\x0b\x25\xdc\x12\x19\xd0\x1a\x36\xd3\x12\x37\xd0\x0c\x37\xf0\x03\x00\x0c\x26\xf7\x2f\x18\x05\x38\xf0\x34\x00\x08\x10\x90\x31\x82\x7d\xe0\x0f\x17\x88\x0f\xf0\x06\x03\x05\x4a\x01\xdc\x15\x29\xd3\x15\x2b\x88\x0a\xf1\x06\x00\x0c\x16\x90\x68\xa0\x03\xd3\x0b\x24\xd0\x04\x24\xf8\xf4\x3f\x00\x10\x17\xf2\x00\x01\x09\x54\x01\xdc\x12\x20\xd0\x23\x38\xb8\x17\xb8\x0b\xd0\x21\x44\xc8\x37\xd4\x12\x53\xd0\x0c\x53\xf0\x03\x01\x09\x54\x01\xfb\xf4\x20\x00\x10\x17\xf2\x00\x01\x09\x54\x01\xdc\x12\x20\xd0\x23\x38\xb8\x17\xb8\x0b\xd0\x21\x44\xc8\x37\xd4\x12\x53\xd0\x0c\x53\xf0\x03\x01\x09\x54\x01\xfa\xf7\x29\x18\x05\x38\xf0\x00\x18\x05\x38\xfb\xf4\x42\x01\x00\x0c\x15\xf2\x00\x01\x05\x4a\x01\xdc\x0e\x1c\xd0\x1d\x48\xd3\x0e\x49\xd0\x08\x49\xf0\x03\x01\x05\x4a\x01\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[78]; + char ob_sval[72]; } zipimport_toplevel_consts_24_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 77, + .ob_size = 71, }, .ob_shash = -1, - .ob_sval = "\xb5\x01\x46\x00\x03\xb7\x15\x41\x0d\x02\xc1\x0c\x01\x46\x00\x03\xc1\x0d\x1f\x41\x2c\x05\xc1\x2c\x42\x17\x46\x00\x03\xc4\x04\x15\x44\x1a\x02\xc4\x19\x01\x46\x00\x03\xc4\x1a\x1f\x44\x39\x05\xc4\x39\x3a\x46\x00\x03\xc6\x00\x04\x46\x04\x07\xc6\x07\x01\x46\x04\x07\xc6\x14\x0e\x46\x23\x00\xc6\x23\x1a\x46\x3d\x03", + .ob_sval = "\xb1\x01\x45\x09\x03\xb3\x11\x44\x0f\x02\xc1\x04\x41\x2b\x45\x09\x03\xc2\x30\x11\x44\x2c\x02\xc3\x01\x2a\x45\x09\x03\xc3\x3c\x0a\x45\x15\x00\xc4\x0f\x1a\x44\x29\x05\xc4\x29\x03\x45\x09\x03\xc4\x2c\x1a\x45\x06\x05\xc5\x06\x03\x45\x09\x03\xc5\x09\x05\x45\x12\x07\xc5\x15\x15\x45\x2a\x03", }; static struct { @@ -51512,7 +50076,7 @@ static const_str_datapath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -51521,7 +50085,7 @@ const_str_datapath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "datapath", @@ -51534,7 +50098,7 @@ static const_str_raw_data = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -51543,7 +50107,7 @@ const_str_raw_data = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "raw_data", @@ -51560,7 +50124,7 @@ zipimport_toplevel_consts_24_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 17, @@ -51595,7 +50159,7 @@ static zipimport_toplevel_consts_24_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 17, @@ -51604,40 +50168,38 @@ zipimport_toplevel_consts_24_localspluskinds = { .ob_sval = " ", }; static - struct _PyCode_DEF(920) + struct _PyCode_DEF(730) zipimport_toplevel_consts_24 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 460, + .ob_size = 365, }, .co_consts = & zipimport_toplevel_consts_24_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_24_names._object.ob_base.ob_base, .co_exceptiontable = & zipimport_toplevel_consts_24_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 25 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, - .co_firstlineno = 587, + .co_firstlineno = 529, .co_nlocalsplus = 17, .co_nlocals = 17, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 239, .co_localsplusnames = & zipimport_toplevel_consts_24_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & zipimport_toplevel_consts_24_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__get_data._ascii.ob_base, .co_qualname = & const_str__get_data._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_24_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x5c\x08\x00\x00\x7d\x02\x7d\x03\x7d\x04\x7d\x05\x7d\x06\x7d\x07\x7d\x08\x7d\x09\x7c\x04\x64\x01\x6b\x00\x00\x00\x00\x00\x72\x0f\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x0a\x09\x00\x7c\x0a\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x22\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x15\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x0a\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x6b\x03\x00\x00\x00\x00\x72\x0f\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x0b\x64\x00\x64\x07\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x6b\x03\x00\x00\x00\x00\x72\x14\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x64\x0a\x64\x0b\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x64\x0b\x64\x05\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0d\x64\x05\x7c\x0c\x7a\x00\x00\x00\x7c\x0d\x7a\x00\x00\x00\x7d\x0e\x7c\x06\x7c\x0e\x7a\x0d\x00\x00\x7d\x06\x09\x00\x7c\x0a\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x22\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x15\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x0a\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0f\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0f\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6b\x03\x00\x00\x00\x00\x72\x0f\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x09\x00\x64\x00\x64\x00\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x7c\x03\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x02\x7c\x0f\x53\x00\x09\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x10\x6e\x1d\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x10\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x02\x00\x7c\x10\x7c\x0f\x64\x0e\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x5c\x08\x00\x00\x7d\x02\x7d\x03\x7d\x04\x7d\x05\x7d\x06\x7d\x07\x7d\x08\x7d\x09\x7c\x04\x64\x01\x6b\x02\x00\x00\x72\x0b\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x0a\x09\x00\x7c\x0a\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x0a\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0b\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x64\x05\x6b\x37\x00\x00\x72\x0b\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x0b\x64\x00\x64\x07\x1a\x00\x64\x08\x6b\x37\x00\x00\x72\x10\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x04\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x64\x0a\x64\x0b\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0c\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x64\x0b\x64\x05\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0d\x64\x05\x7c\x0c\x7a\x00\x00\x00\x7c\x0d\x7a\x00\x00\x00\x7d\x0e\x7c\x06\x7c\x0e\x7a\x0d\x00\x00\x7d\x06\x09\x00\x7c\x0a\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x0a\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0f\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0f\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x04\x6b\x37\x00\x00\x72\x0b\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x09\x00\x64\x00\x64\x00\x64\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x03\x64\x01\x6b\x28\x00\x00\x72\x02\x7f\x0f\x53\x00\x09\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x10\x02\x00\x7c\x10\x7f\x0f\x64\x0e\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x04\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x9b\x02\x9d\x02\x7c\x00\xac\x04\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x8c\x5e\x78\x03\x59\x00\x77\x01\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0c\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -51652,7 +50214,7 @@ zipimport_toplevel_consts_25_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -51671,7 +50233,7 @@ static const_str_abs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -51680,7 +50242,7 @@ const_str_abs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abs", @@ -51697,7 +50259,7 @@ zipimport_toplevel_consts_25_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -51715,7 +50277,7 @@ static const_str__eq_mtime = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -51724,7 +50286,7 @@ const_str__eq_mtime = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_eq_mtime", @@ -51733,18 +50295,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[24]; + char ob_sval[22]; } zipimport_toplevel_consts_25_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 23, + .ob_size = 21, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x0e\x88\x72\x90\x42\x89\x77\x89\x3c\x8c\x3c\x98\x31\xd2\x0b\x1c\xd0\x04\x1c", + .ob_sval = "\x80\x00\xe4\x0b\x0e\x88\x72\x90\x42\x89\x77\x8b\x3c\x98\x31\xd1\x0b\x1c\xd0\x04\x1c", }; static struct { @@ -51754,7 +50316,7 @@ static const_str_t1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -51763,7 +50325,7 @@ const_str_t1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "t1", @@ -51776,7 +50338,7 @@ static const_str_t2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -51785,7 +50347,7 @@ const_str_t2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "t2", @@ -51802,7 +50364,7 @@ zipimport_toplevel_consts_25_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -51814,40 +50376,38 @@ zipimport_toplevel_consts_25_localsplusnames = { }, }; static - struct _PyCode_DEF(46) + struct _PyCode_DEF(36) zipimport_toplevel_consts_25 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 23, + .ob_size = 18, }, .co_consts = & zipimport_toplevel_consts_25_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_25_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 633, + .co_firstlineno = 575, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 240, .co_localsplusnames = & zipimport_toplevel_consts_25_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__eq_mtime._ascii.ob_base, .co_qualname = & const_str__eq_mtime._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_25_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7a\x0a\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x01\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7a\x0a\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x1a\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -51858,7 +50418,7 @@ static zipimport_toplevel_consts_26_consts_11 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -51867,7 +50427,7 @@ zipimport_toplevel_consts_26_consts_11 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "compiled module ", @@ -51880,7 +50440,7 @@ static zipimport_toplevel_consts_26_consts_12 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -51889,7 +50449,7 @@ zipimport_toplevel_consts_26_consts_12 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = " is not a code object", @@ -51906,14 +50466,14 @@ zipimport_toplevel_consts_26_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, }, .ob_item = { Py_None, - & importlib__bootstrap_external_toplevel_consts_46_consts_4._object.ob_base.ob_base, + & importlib__bootstrap_external_toplevel_consts_45_consts_3._object.ob_base.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], @@ -51922,7 +50482,7 @@ zipimport_toplevel_consts_26_consts = { (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 8], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 12], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 16], - & importlib__bootstrap_external_toplevel_consts_44_consts_4._ascii.ob_base, + & importlib__bootstrap_external_toplevel_consts_43_consts_4._ascii.ob_base, & zipimport_toplevel_consts_26_consts_11._ascii.ob_base, & zipimport_toplevel_consts_26_consts_12._ascii.ob_base, }, @@ -51936,7 +50496,7 @@ static const_str__get_pyc_source = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -51945,7 +50505,7 @@ const_str__get_pyc_source = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_pyc_source", @@ -51958,7 +50518,7 @@ static const_str__get_mtime_and_size_of_source = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 29, @@ -51967,7 +50527,7 @@ const_str__get_mtime_and_size_of_source = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_mtime_and_size_of_source", @@ -51984,7 +50544,7 @@ zipimport_toplevel_consts_26_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 18, @@ -52019,7 +50579,7 @@ static const_str__unmarshal_code = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -52028,7 +50588,7 @@ const_str__unmarshal_code = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_unmarshal_code", @@ -52037,18 +50597,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[403]; + char ob_sval[322]; } zipimport_toplevel_consts_26_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 402, + .ob_size = 321, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x10\x18\xd8\x10\x18\xf0\x05\x03\x13\x06\xf0\x00\x03\x13\x06\x80\x4b\xf5\x0a\x00\x0d\x20\xd4\x0c\x2d\xa8\x64\xb0\x48\xb8\x6b\xd1\x0c\x4a\xd4\x0c\x4a\x80\x45\xe0\x11\x16\x98\x13\x91\x1b\xa0\x01\xd2\x11\x21\x80\x4a\xd8\x07\x11\xf0\x00\x18\x05\x1c\xd8\x17\x1c\x98\x74\x91\x7c\xa0\x71\xd2\x17\x28\x88\x0c\xdd\x0c\x10\xd4\x0c\x26\xa8\x27\xd2\x0c\x31\xd0\x0c\x31\xd8\x11\x1d\xf0\x03\x00\x0d\x32\xdd\x21\x25\xd4\x21\x3b\xb8\x78\xd2\x21\x47\xd0\x21\x47\xdd\x1b\x2a\xa8\x34\xb0\x18\xd1\x1b\x3a\xd4\x1b\x3a\x88\x4c\xd8\x0f\x1b\xd0\x0f\x27\xdd\x1e\x22\xd4\x1e\x2e\xdd\x14\x27\xd4\x14\x39\xd8\x14\x20\xf1\x05\x03\x1f\x12\xf4\x00\x03\x1f\x12\x90\x0b\xf5\x0a\x00\x11\x24\xd4\x10\x36\xd8\x14\x18\x98\x2b\xa0\x78\xb0\x1b\xf1\x03\x01\x11\x3e\xf4\x00\x01\x11\x3e\xf0\x00\x01\x11\x3e\xf8\xf5\x08\x00\x0d\x2a\xa8\x24\xb0\x08\xd1\x0c\x39\xd4\x0c\x39\xf1\x03\x00\x09\x22\x88\x0c\x90\x6b\xf0\x06\x00\x0c\x18\xf0\x00\x07\x09\x1c\xf5\x06\x00\x15\x1e\x9d\x6e\xa8\x54\xb0\x21\xb0\x42\xb0\x24\xac\x5a\xd1\x1e\x38\xd4\x1e\x38\xb8\x2c\xd1\x14\x47\xd4\x14\x47\xf0\x00\x04\x0d\x1c\xdd\x14\x22\xa0\x34\xa8\x02\xa8\x32\xa8\x05\xa4\x3b\xd1\x14\x2f\xd4\x14\x2f\xb0\x3b\xd2\x14\x3e\xd0\x14\x3e\xdd\x10\x1a\xd4\x10\x2b\xd8\x14\x39\xa8\x58\xd0\x14\x39\xd0\x14\x39\xf1\x03\x01\x11\x3b\xf4\x00\x01\x11\x3b\xf0\x00\x01\x11\x3b\xe0\x17\x1b\x90\x74\xe5\x0b\x12\x8c\x3d\x98\x14\x98\x62\x98\x63\x98\x63\x9c\x19\xd1\x0b\x23\xd4\x0b\x23\x80\x44\xdd\x0b\x15\x90\x64\x9d\x4a\xd1\x0b\x27\xd4\x0b\x27\xf0\x00\x01\x05\x4e\x01\xdd\x0e\x17\xd0\x18\x4c\xa8\x38\xd0\x18\x4c\xd0\x18\x4c\xd0\x18\x4c\xd1\x0e\x4d\xd4\x0e\x4d\xd0\x08\x4d\xd8\x0b\x0f\x80\x4b", + .ob_sval = "\x80\x00\xe0\x10\x18\xd8\x10\x18\xf1\x05\x03\x13\x06\x80\x4b\xf4\x0a\x00\x0d\x20\xd7\x0c\x2d\xd1\x0c\x2d\xa8\x64\xb0\x48\xb8\x6b\xd3\x0c\x4a\x80\x45\xe0\x11\x16\x98\x13\x91\x1b\xa0\x01\xd1\x11\x21\x80\x4a\xd9\x07\x11\xd8\x17\x1c\x98\x74\x91\x7c\xa0\x71\xd1\x17\x28\x88\x0c\xdc\x0c\x10\xd7\x0c\x26\xd1\x0c\x26\xa8\x27\xd2\x0c\x31\xd9\x11\x1d\xa4\x14\xd7\x21\x3b\xd1\x21\x3b\xb8\x78\xd2\x21\x47\xdc\x1b\x2a\xa8\x34\xb0\x18\xd3\x1b\x3a\x88\x4c\xd8\x0f\x1b\xd0\x0f\x27\xdc\x1e\x22\xd7\x1e\x2e\xd1\x1e\x2e\xdc\x14\x27\xd7\x14\x39\xd1\x14\x39\xd8\x14\x20\xf3\x05\x03\x1f\x12\x90\x0b\xf4\x0a\x00\x11\x24\xd7\x10\x36\xd1\x10\x36\xd8\x14\x18\x98\x2b\xa0\x78\xb0\x1b\xf5\x03\x01\x11\x3e\xf4\x08\x00\x0d\x2a\xa8\x24\xb0\x08\xd3\x0c\x39\xf1\x03\x00\x09\x22\x88\x0c\x90\x6b\xf1\x06\x00\x0c\x18\xf4\x06\x00\x15\x1e\x9c\x6e\xa8\x54\xb0\x21\xb0\x42\xa8\x5a\xd3\x1e\x38\xb8\x2c\xd4\x14\x47\xdc\x14\x22\xa0\x34\xa8\x02\xa8\x32\xa0\x3b\xd3\x14\x2f\xb0\x3b\xd2\x14\x3e\xdc\x10\x1a\xd7\x10\x2b\xd1\x10\x2b\xd8\x16\x2c\xa8\x58\xa8\x4c\xd0\x14\x39\xf4\x03\x01\x11\x3b\xe0\x17\x1b\xe4\x0b\x12\x8f\x3d\x89\x3d\x98\x14\x98\x62\x98\x63\x98\x19\xd3\x0b\x23\x80\x44\xdc\x0b\x15\x90\x64\x9c\x4a\xd4\x0b\x27\xdc\x0e\x17\xd0\x1a\x2a\xa8\x38\xa8\x2c\xd0\x36\x4b\xd0\x18\x4c\xd3\x0e\x4d\xd0\x08\x4d\xd8\x0b\x0f\x80\x4b", }; static struct { @@ -52062,19 +50622,19 @@ zipimport_toplevel_consts_26_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 14, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_pathname._ascii.ob_base, & const_str_fullpath._ascii.ob_base, & const_str_fullname._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(data), & const_str_exc_details._ascii.ob_base, - & const_str_flags._ascii.ob_base, + &_Py_ID(flags), & const_str_hash_based._ascii.ob_base, & const_str_check_source._ascii.ob_base, & const_str_source_bytes._ascii.ob_base, @@ -52086,40 +50646,38 @@ zipimport_toplevel_consts_26_localsplusnames = { }, }; static - struct _PyCode_DEF(670) + struct _PyCode_DEF(604) zipimport_toplevel_consts_26 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 335, + .ob_size = 302, }, .co_consts = & zipimport_toplevel_consts_26_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_26_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 5, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 21 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 641, + .co_firstlineno = 583, .co_nlocalsplus = 14, .co_nlocals = 14, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 241, .co_localsplusnames = & zipimport_toplevel_consts_26_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_73_consts_7_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_72_consts_6_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__unmarshal_code._ascii.ob_base, .co_qualname = & const_str__unmarshal_code._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_26_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x03\x7c\x02\x64\x01\x9c\x02\x7d\x05\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x03\x7c\x05\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x64\x02\x7a\x01\x00\x00\x64\x03\x6b\x03\x00\x00\x00\x00\x7d\x07\x7c\x07\x72\x74\x7c\x06\x64\x04\x7a\x01\x00\x00\x64\x03\x6b\x03\x00\x00\x00\x00\x7d\x08\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x6b\x03\x00\x00\x00\x00\x72\x5a\x7c\x08\x73\x10\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x6b\x02\x00\x00\x00\x00\x72\x48\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x7c\x09\x81\x36\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x0a\x7c\x03\x7c\x05\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x6e\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x0b\x7d\x0c\x7c\x0b\x72\x59\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x07\x64\x08\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1b\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x08\x64\x09\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0c\x6b\x03\x00\x00\x00\x00\x72\x19\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\x7c\x03\x9b\x02\x9d\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x09\x64\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0d\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x74\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x13\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\x7c\x01\x9b\x02\x64\x0c\x9d\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x0d\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x03\x7c\x02\x64\x01\x9c\x02\x7d\x05\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x03\x7c\x05\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x64\x02\x7a\x01\x00\x00\x64\x03\x6b\x37\x00\x00\x7d\x07\x7c\x07\x72\x7b\x7c\x06\x64\x04\x7a\x01\x00\x00\x64\x03\x6b\x37\x00\x00\x7d\x08\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x6b\x37\x00\x00\x72\xb3\x7c\x08\x73\x13\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x6b\x28\x00\x00\x72\x9e\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x09\x7c\x09\x81\x90\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x0a\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x0a\x7c\x03\x7c\x05\xab\x04\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x53\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x0b\x7d\x0c\x7c\x0b\x72\x42\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x07\x64\x08\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x0b\xab\x02\x00\x00\x00\x00\x00\x00\x72\x11\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x08\x64\x09\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x0c\x6b\x37\x00\x00\x72\x19\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\x7c\x03\x9b\x02\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x09\x64\x00\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0d\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x74\x20\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x0f\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\x7c\x01\x9b\x02\x64\x0c\x9d\x03\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x0d\x53\x00", ._co_firsttraceable = 0, }; static @@ -52134,7 +50692,7 @@ zipimport_toplevel_consts_27_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -52159,7 +50717,7 @@ zipimport_toplevel_consts_27_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -52177,7 +50735,7 @@ static const_str__normalize_line_endings = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -52186,7 +50744,7 @@ const_str__normalize_line_endings = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_normalize_line_endings", @@ -52195,18 +50753,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[46]; + char ob_sval[40]; } zipimport_toplevel_consts_27_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 45, + .ob_size = 39, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0d\x13\x8f\x5e\x8a\x5e\x98\x47\xa0\x55\xd1\x0d\x2b\xd4\x0d\x2b\x80\x46\xd8\x0d\x13\x8f\x5e\x8a\x5e\x98\x45\xa0\x35\xd1\x0d\x29\xd4\x0d\x29\x80\x46\xd8\x0b\x11\x80\x4d", + .ob_sval = "\x80\x00\xd8\x0d\x13\x8f\x5e\x89\x5e\x98\x47\xa0\x55\xd3\x0d\x2b\x80\x46\xd8\x0d\x13\x8f\x5e\x89\x5e\x98\x45\xa0\x35\xd3\x0d\x29\x80\x46\xd8\x0b\x11\x80\x4d", }; static struct { @@ -52220,51 +50778,49 @@ zipimport_toplevel_consts_27_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_source._ascii.ob_base, + &_Py_ID(source), }, }, }; static - struct _PyCode_DEF(94) + struct _PyCode_DEF(78) zipimport_toplevel_consts_27 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 47, + .ob_size = 39, }, .co_consts = & zipimport_toplevel_consts_27_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_27_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 686, + .co_firstlineno = 628, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 242, .co_localsplusnames = & zipimport_toplevel_consts_27_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__normalize_line_endings._ascii.ob_base, .co_qualname = & const_str__normalize_line_endings._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_27_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -52279,7 +50835,7 @@ zipimport_toplevel_consts_28_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -52288,7 +50844,7 @@ zipimport_toplevel_consts_28_consts = { Py_None, & const_str_exec._ascii.ob_base, Py_True, - & importlib__bootstrap_external_toplevel_consts_69_consts_5_consts_5._object.ob_base.ob_base, + & importlib__bootstrap_external_toplevel_consts_68_consts_4_consts_5._object.ob_base.ob_base, }, }, }; @@ -52304,7 +50860,7 @@ zipimport_toplevel_consts_28_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -52323,7 +50879,7 @@ static const_str__compile_source = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -52332,7 +50888,7 @@ const_str__compile_source = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_compile_source", @@ -52341,18 +50897,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[39]; + char ob_sval[30]; } zipimport_toplevel_consts_28_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 38, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0d\x24\xa0\x56\xd1\x0d\x2c\xd4\x0d\x2c\x80\x46\xdd\x0b\x12\x90\x36\x98\x38\xa0\x56\xb8\x24\xd0\x0b\x3f\xd1\x0b\x3f\xd4\x0b\x3f\xd0\x04\x3f", + .ob_sval = "\x80\x00\xdc\x0d\x24\xa0\x56\xd3\x0d\x2c\x80\x46\xdc\x0b\x12\x90\x36\x98\x38\xa0\x56\xb8\x24\xd4\x0b\x3f\xd0\x04\x3f", }; static struct { @@ -52366,67 +50922,64 @@ zipimport_toplevel_consts_28_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { & const_str_pathname._ascii.ob_base, - & const_str_source._ascii.ob_base, + &_Py_ID(source), }, }, }; static - struct _PyCode_DEF(70) + struct _PyCode_DEF(54) zipimport_toplevel_consts_28 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 35, + .ob_size = 27, }, .co_consts = & zipimport_toplevel_consts_28_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_28_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 693, + .co_firstlineno = 635, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 243, .co_localsplusnames = & zipimport_toplevel_consts_28_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__compile_source._ascii.ob_base, .co_qualname = & const_str__compile_source._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_28_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x64\x01\x64\x02\xac\x03\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x64\x01\x64\x02\xac\x03\xab\x04\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_1980 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 1980 }, }; static @@ -52441,7 +50994,7 @@ zipimport_toplevel_consts_29_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -52449,7 +51002,7 @@ zipimport_toplevel_consts_29_consts = { .ob_item = { Py_None, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 9], - & const_int_1980.ob_base.ob_base, + & const_int_1980.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 5], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 15], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 31], @@ -52468,7 +51021,7 @@ static const_str_mktime = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -52477,7 +51030,7 @@ const_str_mktime = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "mktime", @@ -52494,7 +51047,7 @@ zipimport_toplevel_consts_29_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -52513,7 +51066,7 @@ static const_str__parse_dostime = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -52522,7 +51075,7 @@ const_str__parse_dostime = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_parse_dostime", @@ -52531,40 +51084,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[93]; + char ob_sval[90]; } zipimport_toplevel_consts_29_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 92, + .ob_size = 89, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0b\x0f\x8c\x3b\xd8\x09\x0a\x88\x61\x89\x16\x90\x34\x89\x0f\xd8\x09\x0a\x88\x61\x89\x16\x90\x33\x89\x0e\xd8\x08\x09\x88\x44\x89\x08\xd8\x08\x09\x88\x52\x89\x07\xd8\x09\x0a\x88\x61\x89\x16\x90\x34\x89\x0f\xd8\x09\x0a\x88\x54\x89\x18\x90\x51\x89\x0e\xd8\x08\x0a\x88\x42\x90\x02\xf0\x0f\x07\x18\x14\xf1\x00\x07\x0c\x15\xf4\x00\x07\x0c\x15\xf0\x00\x07\x05\x15", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_d = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "d", + .ob_sval = "\x80\x00\xdc\x0b\x0f\x8f\x3b\x89\x3b\xd8\x09\x0a\x88\x61\x89\x16\x90\x34\x89\x0f\xd8\x09\x0a\x88\x61\x89\x16\x90\x33\x89\x0e\xd8\x08\x09\x88\x44\x89\x08\xd8\x08\x09\x88\x52\x89\x07\xd8\x09\x0a\x88\x61\x89\x16\x90\x34\x89\x0f\xd8\x09\x0a\x88\x54\x89\x18\x90\x51\x89\x0e\xd8\x08\x0a\x88\x42\x90\x02\xf0\x0f\x07\x18\x14\xf3\x00\x07\x0c\x15\xf0\x00\x07\x05\x15", }; static struct { @@ -52578,98 +51109,52 @@ zipimport_toplevel_consts_29_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_d._ascii.ob_base, - & const_str_t._ascii.ob_base, + &_Py_ID(d), + (PyObject *)&_Py_SINGLETON(strings).ascii[116], }, }, }; static - struct _PyCode_DEF(120) + struct _PyCode_DEF(122) zipimport_toplevel_consts_29 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 60, + .ob_size = 61, }, .co_consts = & zipimport_toplevel_consts_29_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_29_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 13 + FRAME_SPECIALS_SIZE, .co_stacksize = 11, - .co_firstlineno = 699, + .co_firstlineno = 641, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 244, .co_localsplusnames = & zipimport_toplevel_consts_29_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__parse_dostime._ascii.ob_base, .co_qualname = & const_str__parse_dostime._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_29_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\x7a\x09\x00\x00\x64\x02\x7a\x00\x00\x00\x7c\x00\x64\x03\x7a\x09\x00\x00\x64\x04\x7a\x01\x00\x00\x7c\x00\x64\x05\x7a\x01\x00\x00\x7c\x01\x64\x06\x7a\x09\x00\x00\x7c\x01\x64\x03\x7a\x09\x00\x00\x64\x07\x7a\x01\x00\x00\x7c\x01\x64\x05\x7a\x01\x00\x00\x64\x08\x7a\x05\x00\x00\x64\x09\x64\x09\x64\x09\x66\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\x7a\x09\x00\x00\x64\x02\x7a\x00\x00\x00\x7c\x00\x64\x03\x7a\x09\x00\x00\x64\x04\x7a\x01\x00\x00\x7c\x00\x64\x05\x7a\x01\x00\x00\x7c\x01\x64\x06\x7a\x09\x00\x00\x7c\x01\x64\x03\x7a\x09\x00\x00\x64\x07\x7a\x01\x00\x00\x7c\x01\x64\x05\x7a\x01\x00\x00\x64\x08\x7a\x05\x00\x00\x64\x09\x64\x09\x64\x09\x66\x09\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_c = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "c", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_o = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "o", -}; static struct { PyGC_Head _gc_head; @@ -52682,14 +51167,14 @@ zipimport_toplevel_consts_30_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_c._ascii.ob_base, - & const_str_o._ascii.ob_base, + &_Py_ID(c), + (PyObject *)&_Py_SINGLETON(strings).ascii[111], }, }, }; @@ -52705,7 +51190,7 @@ zipimport_toplevel_consts_30_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -52717,31 +51202,9 @@ zipimport_toplevel_consts_30_consts = { (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 5], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 6], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 3], - & importlib__bootstrap_external_toplevel_consts_82._object.ob_base.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[11]; - } -const_str_IndexError = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 10, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + & importlib__bootstrap_external_toplevel_consts_81._object.ob_base.ob_base, }, }, - ._data = "IndexError", }; static struct { @@ -52755,7 +51218,7 @@ zipimport_toplevel_consts_30_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -52773,35 +51236,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[151]; + char ob_sval[124]; } zipimport_toplevel_consts_30_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 150, + .ob_size = 123, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x02\x0c\x05\x14\xe0\x0f\x13\x90\x42\x90\x43\x90\x43\x8c\x79\x98\x4a\xd0\x0f\x26\xd0\x0f\x26\xd0\x0f\x26\xd0\x0f\x26\xd8\x0f\x13\x90\x43\x90\x52\x90\x43\x8c\x79\x88\x04\xd8\x14\x18\x94\x4b\xa0\x04\xd4\x14\x25\x88\x09\xf0\x06\x00\x10\x19\x98\x11\x8c\x7c\x88\x04\xd8\x0f\x18\x98\x11\x8c\x7c\x88\x04\xd8\x1c\x25\xa0\x61\x9c\x4c\xd0\x08\x19\xdd\x0f\x1d\x98\x64\xa0\x44\xd1\x0f\x29\xd4\x0f\x29\xd0\x2b\x3c\xd0\x0f\x3c\xd0\x08\x3c\xf8\xdd\x0c\x14\x95\x6a\xa5\x29\xd0\x0b\x2c\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xd8\x0f\x13\x88\x74\x88\x74\xf0\x03\x01\x05\x14\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x02\x0c\x05\x14\xe0\x0f\x13\x90\x42\x90\x43\x88\x79\x98\x4a\xd1\x0f\x26\xd1\x08\x26\xd8\x0f\x13\x90\x43\x90\x52\x88\x79\x88\x04\xd8\x14\x18\x97\x4b\x91\x4b\xa0\x04\xd1\x14\x25\x88\x09\xf0\x06\x00\x10\x19\x98\x11\x89\x7c\x88\x04\xd8\x0f\x18\x98\x11\x89\x7c\x88\x04\xd8\x1c\x25\xa0\x61\x99\x4c\xd0\x08\x19\xdc\x0f\x1d\x98\x64\xa0\x44\xd3\x0f\x29\xd0\x2b\x3c\xd0\x0f\x3c\xd0\x08\x3c\xf8\xdc\x0c\x14\x94\x6a\xa4\x29\xd0\x0b\x2c\xf2\x00\x01\x05\x14\xd9\x0f\x13\xf0\x03\x01\x05\x14\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[19]; + char ob_sval[16]; } zipimport_toplevel_consts_30_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 18, + .ob_size = 15, }, .ob_shash = -1, - .ob_sval = "\x82\x41\x0e\x41\x11\x00\xc1\x11\x17\x41\x2c\x03\xc1\x2b\x01\x41\x2c\x03", + .ob_sval = "\x82\x39\x3c\x00\xbc\x14\x41\x13\x03\xc1\x12\x01\x41\x13\x03", }; static struct { @@ -52811,7 +51274,7 @@ static const_str_uncompressed_size = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -52820,7 +51283,7 @@ const_str_uncompressed_size = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "uncompressed_size", @@ -52837,13 +51300,13 @@ zipimport_toplevel_consts_30_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(path), & const_str_toc_entry._ascii.ob_base, & const_str_time._ascii.ob_base, @@ -52853,40 +51316,38 @@ zipimport_toplevel_consts_30_localsplusnames = { }, }; static - struct _PyCode_DEF(222) + struct _PyCode_DEF(172) zipimport_toplevel_consts_30 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 111, + .ob_size = 86, }, .co_consts = & zipimport_toplevel_consts_30_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_30_names._object.ob_base.ob_base, .co_exceptiontable = & zipimport_toplevel_consts_30_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 712, + .co_firstlineno = 654, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 245, .co_localsplusnames = & zipimport_toplevel_consts_30_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__get_mtime_and_size_of_source._ascii.ob_base, .co_qualname = & const_str__get_mtime_and_size_of_source._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_30_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x7c\x01\x64\x01\x64\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x76\x00\x73\x02\x4a\x00\x82\x01\x7c\x01\x64\x00\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x64\x03\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x02\x64\x04\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x02\x64\x05\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x66\x02\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x04\x01\x00\x59\x00\x64\x06\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x7c\x01\x64\x01\x64\x00\x1a\x00\x64\x02\x76\x00\x73\x02\x4a\x00\x82\x01\x7c\x01\x64\x00\x64\x01\x1a\x00\x7d\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x7d\x02\x7c\x02\x64\x03\x19\x00\x00\x00\x7d\x03\x7c\x02\x64\x04\x19\x00\x00\x00\x7d\x04\x7c\x02\x64\x05\x19\x00\x00\x00\x7d\x05\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x03\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x05\x66\x02\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x03\x01\x00\x59\x00\x79\x06\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -52901,7 +51362,7 @@ zipimport_toplevel_consts_31_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -52925,7 +51386,7 @@ zipimport_toplevel_consts_31_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -52942,18 +51403,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[114]; + char ob_sval[89]; } zipimport_toplevel_consts_31_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 113, + .ob_size = 88, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0f\x90\x02\x90\x03\x90\x03\x8c\x39\x98\x0a\xd0\x0b\x22\xd0\x0b\x22\xd0\x0b\x22\xd0\x0b\x22\xd8\x0b\x0f\x90\x03\x90\x12\x90\x03\x8c\x39\x80\x44\xf0\x04\x05\x05\x32\xd8\x14\x18\x94\x4b\xa0\x04\xd4\x14\x25\x88\x09\xf5\x08\x00\x10\x19\x98\x14\x9c\x1c\xa0\x79\xd1\x0f\x31\xd4\x0f\x31\xd0\x08\x31\xf8\xf5\x07\x00\x0c\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xd8\x0f\x13\x88\x74\x88\x74\xf0\x03\x01\x05\x14\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xe0\x0b\x0f\x90\x02\x90\x03\x88\x39\x98\x0a\xd1\x0b\x22\xd1\x04\x22\xd8\x0b\x0f\x90\x03\x90\x12\x88\x39\x80\x44\xf0\x04\x05\x05\x32\xd8\x14\x18\x97\x4b\x91\x4b\xa0\x04\xd1\x14\x25\x88\x09\xf4\x08\x00\x10\x19\x98\x14\x9f\x1c\x99\x1c\xa0\x79\xd3\x0f\x31\xd0\x08\x31\xf8\xf4\x07\x00\x0c\x14\xf2\x00\x01\x05\x14\xd9\x0f\x13\xf0\x03\x01\x05\x14\xfa", }; static struct { @@ -52964,13 +51425,13 @@ static zipimport_toplevel_consts_31_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 15, }, .ob_shash = -1, - .ob_sval = "\x9a\x0d\x3c\x00\xbc\x0a\x41\x0a\x03\xc1\x09\x01\x41\x0a\x03", + .ob_sval = "\x90\x0f\x35\x00\xb5\x09\x41\x01\x03\xc1\x00\x01\x41\x01\x03", }; static struct { @@ -52984,53 +51445,51 @@ zipimport_toplevel_consts_31_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(path), & const_str_toc_entry._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(154) + struct _PyCode_DEF(136) zipimport_toplevel_consts_31 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 77, + .ob_size = 68, }, .co_consts = & zipimport_toplevel_consts_31_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_31_names._object.ob_base.ob_base, .co_exceptiontable = & zipimport_toplevel_consts_31_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 731, + .co_firstlineno = 673, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 246, .co_localsplusnames = & zipimport_toplevel_consts_31_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__get_pyc_source._ascii.ob_base, .co_qualname = & const_str__get_pyc_source._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_31_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x64\x01\x64\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x76\x00\x73\x02\x4a\x00\x82\x01\x7c\x01\x64\x00\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x64\x01\x64\x00\x1a\x00\x64\x02\x76\x00\x73\x02\x4a\x00\x82\x01\x7c\x01\x64\x00\x64\x01\x1a\x00\x7d\x01\x09\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x7d\x02\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -53041,7 +51500,7 @@ static zipimport_toplevel_consts_32_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -53050,7 +51509,7 @@ zipimport_toplevel_consts_32_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "trying {}{}{}", @@ -53063,7 +51522,7 @@ static zipimport_toplevel_consts_32_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -53072,7 +51531,7 @@ zipimport_toplevel_consts_32_consts_5 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "module load failed: ", @@ -53089,7 +51548,7 @@ zipimport_toplevel_consts_32_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -53098,11 +51557,11 @@ zipimport_toplevel_consts_32_consts = { Py_None, & zipimport_toplevel_consts_32_consts_1._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - & importlib__bootstrap_toplevel_consts_17._object.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_24._object.ob_base.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], & zipimport_toplevel_consts_32_consts_5._ascii.ob_base, & importlib__bootstrap_toplevel_consts_4_localsplusnames._object.ob_base.ob_base, - & zipimport_toplevel_consts_11_consts_10_consts_2._ascii.ob_base, + & zipimport_toplevel_consts_11_consts_8_consts_2._ascii.ob_base, }, }, }; @@ -53118,7 +51577,7 @@ zipimport_toplevel_consts_32_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -53144,18 +51603,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[381]; + char ob_sval[298]; } zipimport_toplevel_consts_32_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 380, + .ob_size = 297, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0b\x1b\x98\x44\xa0\x28\xd1\x0b\x2b\xd4\x0b\x2b\x80\x44\xd8\x13\x17\x80\x4c\xdd\x29\x39\xf0\x00\x1d\x05\x53\x01\xf0\x00\x1d\x05\x53\x01\xd1\x08\x25\x88\x06\x90\x0a\x98\x49\xd8\x13\x17\x98\x26\x91\x3d\x88\x08\xdd\x08\x12\xd4\x08\x23\xa0\x4f\xb0\x54\xb4\x5c\xc5\x38\xc8\x58\xd0\x61\x62\xd0\x08\x63\xd1\x08\x63\xd4\x08\x63\xd0\x08\x63\xf0\x02\x14\x09\x2c\xd8\x18\x1c\x9c\x0b\xa0\x48\xd4\x18\x2d\x88\x49\xf0\x08\x00\x17\x20\xa0\x01\x94\x6c\x88\x47\xdd\x13\x1c\x98\x54\x9c\x5c\xa8\x39\xd1\x13\x35\xd4\x13\x35\x88\x44\xd8\x13\x17\x88\x44\xd8\x0f\x19\xf0\x00\x06\x0d\x36\xf0\x02\x03\x11\x27\xdd\x1b\x2a\xa8\x34\xb0\x17\xb8\x28\xc0\x48\xc8\x64\xd1\x1b\x53\xd4\x1b\x53\x90\x44\x90\x44\xf8\xdd\x17\x22\xf0\x00\x01\x11\x27\xf0\x00\x01\x11\x27\xf0\x00\x01\x11\x27\xd8\x23\x26\x90\x4c\x90\x4c\x90\x4c\x90\x4c\x90\x4c\x90\x4c\xf8\xf8\xf8\xf8\xf0\x03\x01\x11\x27\xf8\xf8\xf8\xf5\x06\x00\x18\x27\xa0\x77\xb0\x04\xd1\x17\x35\xd4\x17\x35\x90\x04\xd8\x0f\x13\x88\x7c\xf0\x06\x00\x11\x19\xd8\x16\x1f\xa0\x01\x94\x6c\x88\x47\xd8\x13\x17\x98\x19\xa0\x47\xd0\x13\x2b\xd0\x0c\x2b\xd0\x0c\x2b\xd0\x0c\x2b\xf8\xf5\x25\x00\x10\x18\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8\xf0\x28\x00\x0c\x18\xf0\x00\x04\x09\x53\x01\xd8\x12\x37\xa8\x1c\xd0\x12\x37\xd0\x12\x37\x88\x43\xdd\x12\x20\xa0\x13\xa8\x38\xd0\x12\x34\xd1\x12\x34\xd4\x12\x34\xb8\x2c\xd0\x0c\x46\xe5\x12\x20\xd0\x21\x42\xb0\x68\xd0\x21\x42\xd0\x21\x42\xc8\x18\xd0\x12\x52\xd1\x12\x52\xd4\x12\x52\xd0\x0c\x52", + .ob_sval = "\x80\x00\xdc\x0b\x1b\x98\x44\xa0\x28\xd3\x0b\x2b\x80\x44\xd8\x13\x17\x80\x4c\xdc\x29\x39\xf2\x00\x1d\x05\x53\x01\xd1\x08\x25\x88\x06\x90\x0a\x98\x49\xd8\x13\x17\x98\x26\x91\x3d\x88\x08\xdc\x08\x12\xd7\x08\x23\xd1\x08\x23\xa0\x4f\xb0\x54\xb7\x5c\xb1\x5c\xc4\x38\xc8\x58\xd0\x61\x62\xd5\x08\x63\xf0\x02\x14\x09\x2c\xd8\x18\x1c\x9f\x0b\x99\x0b\xa0\x48\xd1\x18\x2d\x88\x49\xf0\x08\x00\x17\x20\xa0\x01\x91\x6c\x88\x47\xdc\x13\x1c\x98\x54\x9f\x5c\x99\x5c\xa8\x39\xd3\x13\x35\x88\x44\xd8\x13\x17\x88\x44\xd9\x0f\x19\xf0\x02\x03\x11\x27\xdc\x1b\x2a\xa8\x34\xb0\x17\xb8\x28\xc0\x48\xc8\x64\xd3\x1b\x53\x91\x44\xf4\x08\x00\x18\x27\xa0\x77\xb0\x04\xd3\x17\x35\x90\x04\xd8\x0f\x13\x88\x7c\xf0\x06\x00\x11\x19\xd8\x16\x1f\xa0\x01\x91\x6c\x88\x47\xd8\x13\x17\x98\x19\xa0\x47\xd0\x13\x2b\xd2\x0c\x2b\xf0\x2f\x1d\x05\x53\x01\xf1\x32\x00\x0c\x18\xd8\x14\x28\xa8\x1c\xa8\x0e\xd0\x12\x37\x88\x43\xdc\x12\x20\xa0\x13\xa8\x38\xd4\x12\x34\xb8\x2c\xd0\x0c\x46\xe4\x12\x20\xd0\x23\x35\xb0\x68\xb0\x5c\xd0\x21\x42\xc8\x18\xd4\x12\x52\xd0\x0c\x52\xf8\xf4\x1f\x00\x18\x23\xf2\x00\x01\x11\x27\xd8\x23\x26\x95\x4c\xfb\xf0\x03\x01\x11\x27\xfb\xf4\x13\x00\x10\x18\xf2\x00\x01\x09\x11\xd9\x0c\x10\xf0\x03\x01\x09\x11\xfa", }; static struct { @@ -53166,13 +51625,13 @@ static zipimport_toplevel_consts_32_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 42, }, .ob_shash = -1, - .ob_sval = "\xc1\x09\x0d\x43\x07\x02\xc1\x38\x13\x42\x0c\x02\xc2\x0c\x0a\x42\x22\x05\xc2\x16\x02\x42\x1d\x05\xc2\x1d\x05\x42\x22\x05\xc3\x07\x0a\x43\x14\x05\xc3\x13\x01\x43\x14\x05", + .ob_sval = "\xc1\x0a\x0f\x43\x22\x02\xc1\x39\x0f\x43\x0a\x02\xc3\x0a\x09\x43\x1f\x05\xc3\x13\x02\x43\x1a\x05\xc3\x1a\x05\x43\x1f\x05\xc3\x22\x09\x43\x2e\x05\xc3\x2d\x01\x43\x2e\x05", }; static struct { @@ -53182,7 +51641,7 @@ static const_str_import_error = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -53191,7 +51650,7 @@ const_str_import_error = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "import_error", @@ -53208,13 +51667,13 @@ zipimport_toplevel_consts_32_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 14, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_fullname._ascii.ob_base, &_Py_ID(path), & const_str_import_error._ascii.ob_base, @@ -53224,7 +51683,7 @@ zipimport_toplevel_consts_32_localsplusnames = { & const_str_fullpath._ascii.ob_base, & const_str_toc_entry._ascii.ob_base, & const_str_modpath._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(data), &_Py_ID(code), & const_str_exc._ascii.ob_base, &_Py_ID(msg), @@ -53232,40 +51691,38 @@ zipimport_toplevel_consts_32_localsplusnames = { }, }; static - struct _PyCode_DEF(520) + struct _PyCode_DEF(482) zipimport_toplevel_consts_32 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 260, + .ob_size = 241, }, .co_consts = & zipimport_toplevel_consts_32_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_consts_32_names._object.ob_base.ob_base, .co_exceptiontable = & zipimport_toplevel_consts_32_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 22 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, - .co_firstlineno = 746, + .co_firstlineno = 688, .co_nlocalsplus = 14, .co_nlocals = 14, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 247, .co_localsplusnames = & zipimport_toplevel_consts_32_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_73_consts_7_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_72_consts_6_localspluskinds.ob_base.ob_base, .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = & const_str__get_module_code._ascii.ob_base, .co_qualname = & const_str__get_module_code._ascii.ob_base, .co_linetable = & zipimport_toplevel_consts_32_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x00\x7d\x03\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\xbc\x5c\x03\x00\x00\x7d\x04\x7d\x05\x7d\x06\x7c\x02\x7c\x04\x7a\x00\x00\x00\x7d\x07\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x64\x02\xac\x03\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x08\x64\x04\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x64\x00\x7d\x0b\x7c\x05\x72\x2e\x09\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x09\x7c\x07\x7c\x01\x7c\x0a\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x6e\x29\x23\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0c\x7d\x0c\x7c\x0c\x7d\x03\x59\x00\x64\x00\x7d\x0c\x7e\x0c\x6e\x18\x64\x00\x7d\x0c\x7e\x0c\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x7c\x0a\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x0b\x80\x01\x8c\x9e\x7c\x08\x64\x04\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x7c\x0b\x7c\x06\x7c\x09\x66\x03\x63\x02\x01\x00\x53\x00\x23\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\xb9\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x03\x72\x17\x64\x05\x7c\x03\x9b\x00\x9d\x02\x7d\x0d\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x7c\x01\xac\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x82\x02\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x7c\x01\x9b\x02\x9d\x02\x7c\x01\xac\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x00\x7d\x03\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x8d\x00\x00\x5c\x03\x00\x00\x7d\x04\x7d\x05\x7d\x06\x7c\x02\x7c\x04\x7a\x00\x00\x00\x7d\x07\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x64\x02\xac\x03\xab\x05\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x7c\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x19\x00\x00\x00\x7d\x08\x7c\x08\x64\x04\x19\x00\x00\x00\x7d\x09\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x0a\x64\x00\x7d\x0b\x7c\x05\x72\x11\x09\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x09\x7c\x07\x7c\x01\x7c\x0a\xab\x05\x00\x00\x00\x00\x00\x00\x7d\x0b\x6e\x0c\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x7c\x0a\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x0b\x80\x01\x8c\x83\x7c\x08\x64\x04\x19\x00\x00\x00\x7d\x09\x7c\x0b\x7c\x06\x7c\x09\x66\x03\x63\x02\x01\x00\x53\x00\x04\x00\x7c\x03\x72\x13\x64\x05\x7c\x03\x9b\x00\x9d\x02\x7d\x0d\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x7c\x01\xac\x06\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x03\x82\x02\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x7c\x01\x9b\x02\x9d\x02\x7c\x01\xac\x06\xab\x02\x00\x00\x00\x00\x00\x00\x82\x01\x23\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0c\x7d\x0c\x7c\x0c\x7d\x03\x59\x00\x64\x00\x7d\x0c\x7e\x0c\x8c\x45\x64\x00\x7d\x0c\x7e\x0c\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\xd8\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -53280,7 +51737,7 @@ zipimport_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 33, @@ -53291,16 +51748,16 @@ zipimport_toplevel_consts = { Py_None, & zipimport_toplevel_consts_3._object.ob_base.ob_base, & const_str_ZipImportError._ascii.ob_base, - &_Py_ID(zipimporter), + & const_str_zipimporter._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], & zipimport_toplevel_consts_7.ob_base.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 22], & zipimport_toplevel_consts_9.ob_base.ob_base, - & const_int_65535.ob_base.ob_base, + & const_int_65535.ob_base, & zipimport_toplevel_consts_11.ob_base.ob_base, & zipimport_toplevel_consts_12._ascii.ob_base, Py_True, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_11._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_46_consts_5_consts_11._ascii.ob_base, Py_False, & zipimport_toplevel_consts_16._object.ob_base.ob_base, & zipimport_toplevel_consts_17._object.ob_base.ob_base, @@ -53330,7 +51787,7 @@ static const_str__frozen_importlib = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -53339,7 +51796,7 @@ const_str__frozen_importlib = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_frozen_importlib", @@ -53356,7 +51813,7 @@ zipimport_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 46, @@ -53370,7 +51827,7 @@ zipimport_toplevel_names = { & const_str__frozen_importlib._ascii.ob_base, &_Py_ID(_bootstrap), & const_str__imp._ascii.ob_base, - & const_str__io._ascii.ob_base, + &_Py_ID(_io), & const_str_marshal._ascii.ob_base, & const_str_sys._ascii.ob_base, & const_str_time._ascii.ob_base, @@ -53382,13 +51839,13 @@ zipimport_toplevel_names = { & const_str_ImportError._ascii.ob_base, & const_str_ZipImportError._ascii.ob_base, & const_str__zip_directory_cache._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), & const_str__module_type._ascii.ob_base, & const_str_END_CENTRAL_DIR_SIZE._ascii.ob_base, & const_str_STRING_END_ARCHIVE._ascii.ob_base, & const_str_MAX_COMMENT_LEN._ascii.ob_base, & const_str__LoaderBasics._ascii.ob_base, - &_Py_ID(zipimporter), + & const_str_zipimporter._ascii.ob_base, & const_str__zip_searchorder._ascii.ob_base, & const_str__get_module_path._ascii.ob_base, & const_str__is_dir._ascii.ob_base, @@ -53415,67 +51872,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[620]; + char ob_sval[308]; } zipimport_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 619, + .ob_size = 307, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x02\x0c\x01\x04\xf0\x00\x0c\x01\x04\xf0\x20\x00\x01\x39\xd0\x00\x38\xd0\x00\x38\xd0\x00\x38\xd8\x00\x45\xd0\x00\x45\xd0\x00\x45\xd0\x00\x45\xd0\x00\x45\xd0\x00\x45\xd0\x00\x45\xd0\x00\x45\xd8\x00\x26\xd0\x00\x26\xd0\x00\x26\xd0\x00\x26\xd8\x00\x0b\x80\x0b\x80\x0b\x80\x0b\xd8\x00\x0a\x80\x0a\x80\x0a\x80\x0a\xd8\x00\x0e\x80\x0e\x80\x0e\x80\x0e\xd8\x00\x0a\x80\x0a\x80\x0a\x80\x0a\xd8\x00\x0b\x80\x0b\x80\x0b\x80\x0b\xd8\x00\x10\xd0\x00\x10\xd0\x00\x10\xd0\x00\x10\xe0\x0b\x1b\x98\x5d\xd0\x0a\x2b\x80\x07\xf0\x06\x00\x0c\x1f\xd4\x0b\x27\x80\x08\xd8\x0f\x22\xd4\x0f\x32\xb0\x31\xb0\x32\xb0\x32\xd4\x0f\x36\x80\x0c\xf0\x06\x01\x01\x09\xf0\x00\x01\x01\x09\xf0\x00\x01\x01\x09\xf0\x00\x01\x01\x09\xf0\x00\x01\x01\x09\x90\x5b\xf1\x00\x01\x01\x09\xf4\x00\x01\x01\x09\xf0\x00\x01\x01\x09\xf0\x08\x00\x18\x1a\xd0\x00\x14\xe0\x0f\x13\x88\x74\x90\x43\x89\x79\x8c\x79\x80\x0c\xe0\x17\x19\xd0\x00\x14\xd8\x15\x22\xd0\x00\x12\xd8\x12\x1f\x80\x0f\xf0\x04\x66\x04\x01\x4f\x01\xf0\x00\x66\x04\x01\x4f\x01\xf0\x00\x66\x04\x01\x4f\x01\xf0\x00\x66\x04\x01\x4f\x01\xf0\x00\x66\x04\x01\x4f\x01\xd0\x12\x25\xd4\x12\x33\xf1\x00\x66\x04\x01\x4f\x01\xf4\x00\x66\x04\x01\x4f\x01\xf0\x00\x66\x04\x01\x4f\x01\xf0\x5e\x09\x00\x06\x0e\x90\x0e\xd1\x05\x1e\xa0\x04\xa0\x64\xd0\x04\x2b\xd8\x05\x0d\x90\x0d\xd1\x05\x1d\x98\x75\xa0\x64\xd0\x04\x2b\xd8\x04\x19\xd8\x04\x19\xf0\x09\x05\x14\x02\xd0\x00\x10\xf0\x12\x01\x01\x35\xf0\x00\x01\x01\x35\xf0\x00\x01\x01\x35\xf0\x08\x06\x01\x22\xf0\x00\x06\x01\x22\xf0\x00\x06\x01\x22\xf0\x12\x06\x01\x10\xf0\x00\x06\x01\x10\xf0\x00\x06\x01\x10\xf0\x3e\x7b\x01\x01\x11\xf0\x00\x7b\x01\x01\x11\xf0\x00\x7b\x01\x01\x11\xf0\x4a\x04\x18\x05\x2f\xf0\x05\x00\x01\x0c\xf0\x3a\x00\x13\x18\x80\x0f\xf0\x0a\x12\x01\x16\xf0\x00\x12\x01\x16\xf0\x00\x12\x01\x16\xf0\x2a\x28\x01\x25\xf0\x00\x28\x01\x25\xf0\x00\x28\x01\x25\xf0\x5c\x01\x02\x01\x1d\xf0\x00\x02\x01\x1d\xf0\x00\x02\x01\x1d\xf0\x10\x26\x01\x10\xf0\x00\x26\x01\x10\xf0\x00\x26\x01\x10\xf0\x50\x01\x00\x0e\x12\x88\x54\x90\x2f\xd4\x12\x2a\xd1\x0d\x2b\xd4\x0d\x2b\x80\x0a\xf0\x0a\x03\x01\x12\xf0\x00\x03\x01\x12\xf0\x00\x03\x01\x12\xf0\x0e\x02\x01\x40\x01\xf0\x00\x02\x01\x40\x01\xf0\x00\x02\x01\x40\x01\xf0\x0c\x08\x01\x15\xf0\x00\x08\x01\x15\xf0\x00\x08\x01\x15\xf0\x1a\x0d\x01\x14\xf0\x00\x0d\x01\x14\xf0\x00\x0d\x01\x14\xf0\x26\x0a\x01\x32\xf0\x00\x0a\x01\x32\xf0\x00\x0a\x01\x32\xf0\x1e\x20\x01\x53\x01\xf0\x00\x20\x01\x53\x01\xf0\x00\x20\x01\x53\x01\xf0\x00\x20\x01\x53\x01\xf0\x00\x20\x01\x53\x01", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x02\x0c\x01\x04\xf3\x20\x00\x01\x39\xdf\x00\x45\xdb\x00\x26\xdb\x00\x0b\xdb\x00\x0a\xdb\x00\x0e\xdb\x00\x0a\xdb\x00\x0b\xdb\x00\x10\xe0\x0b\x1b\x98\x5d\xd0\x0a\x2b\x80\x07\xf0\x06\x00\x0c\x1f\xd7\x0b\x27\xd1\x0b\x27\x80\x08\xd8\x0f\x22\xd7\x0f\x32\xd1\x0f\x32\xb0\x31\xb0\x32\xd0\x0f\x36\x80\x0c\xf4\x06\x01\x01\x09\x90\x5b\xf4\x00\x01\x01\x09\xf0\x08\x00\x18\x1a\xd0\x00\x14\xe1\x0f\x13\x90\x43\x8b\x79\x80\x0c\xe0\x17\x19\xd0\x00\x14\xd8\x15\x22\xd0\x00\x12\xd8\x12\x1f\x80\x0f\xf4\x04\x6c\x03\x01\x4f\x01\xd0\x12\x25\xd7\x12\x33\xd1\x12\x33\xf4\x00\x6c\x03\x01\x4f\x01\xf0\x6a\x07\x00\x06\x0e\x90\x0e\xd1\x05\x1e\xa0\x04\xa0\x64\xd0\x04\x2b\xd8\x05\x0d\x90\x0d\xd1\x05\x1d\x98\x75\xa0\x64\xd0\x04\x2b\xd8\x04\x19\xd8\x04\x19\xf0\x09\x05\x14\x02\xd0\x00\x10\xf2\x12\x01\x01\x35\xf2\x08\x06\x01\x22\xf2\x12\x06\x01\x10\xf2\x3e\x7b\x01\x01\x11\xf0\x4a\x04\x18\x05\x2f\xf0\x05\x00\x01\x0c\xf0\x3a\x00\x13\x18\x80\x0f\xf2\x0a\x12\x01\x16\xf2\x2a\x28\x01\x25\xf2\x5c\x01\x02\x01\x1d\xf2\x10\x26\x01\x10\xf1\x50\x01\x00\x0e\x12\x90\x2f\xd7\x12\x2a\xd1\x12\x2a\xd3\x0d\x2b\x80\x0a\xf2\x0a\x03\x01\x12\xf2\x0e\x02\x01\x40\x01\xf2\x0c\x08\x01\x15\xf2\x1a\x0d\x01\x14\xf2\x26\x0a\x01\x32\xf3\x1e\x20\x01\x53\x01", }; static - struct _PyCode_DEF(406) + struct _PyCode_DEF(410) zipimport_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 203, + .ob_size = 205, }, .co_consts = & zipimport_toplevel_consts._object.ob_base.ob_base, .co_names = & zipimport_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 248, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & zipimport_toplevel_consts_7_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & zipimport_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x02\x64\x01\x64\x03\x6c\x01\x6d\x03\x5a\x03\x6d\x04\x5a\x04\x01\x00\x64\x01\x64\x02\x6c\x05\x5a\x06\x64\x01\x64\x02\x6c\x07\x5a\x07\x64\x01\x64\x02\x6c\x08\x5a\x08\x64\x01\x64\x02\x6c\x09\x5a\x09\x64\x01\x64\x02\x6c\x0a\x5a\x0a\x64\x01\x64\x02\x6c\x0b\x5a\x0b\x64\x01\x64\x02\x6c\x0c\x5a\x0c\x64\x04\x64\x05\x67\x02\x5a\x0d\x65\x02\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0e\x65\x02\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x64\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x10\x02\x00\x47\x00\x64\x07\x84\x00\x64\x04\x65\x11\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x12\x69\x00\x5a\x13\x02\x00\x65\x14\x65\x0a\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x15\x64\x08\x5a\x16\x64\x09\x5a\x17\x64\x0a\x5a\x18\x02\x00\x47\x00\x64\x0b\x84\x00\x64\x05\x65\x02\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1a\x65\x0e\x64\x0c\x7a\x00\x00\x00\x64\x0d\x64\x0d\x66\x03\x65\x0e\x64\x0e\x7a\x00\x00\x00\x64\x0f\x64\x0d\x66\x03\x64\x10\x64\x11\x66\x04\x5a\x1b\x64\x12\x84\x00\x5a\x1c\x64\x13\x84\x00\x5a\x1d\x64\x14\x84\x00\x5a\x1e\x64\x15\x84\x00\x5a\x1f\x64\x16\x5a\x20\x64\x0f\x61\x21\x64\x17\x84\x00\x5a\x22\x64\x18\x84\x00\x5a\x23\x64\x19\x84\x00\x5a\x24\x64\x1a\x84\x00\x5a\x25\x02\x00\x65\x14\x65\x25\x6a\x26\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x27\x64\x1b\x84\x00\x5a\x28\x64\x1c\x84\x00\x5a\x29\x64\x1d\x84\x00\x5a\x2a\x64\x1e\x84\x00\x5a\x2b\x64\x1f\x84\x00\x5a\x2c\x64\x20\x84\x00\x5a\x2d\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x02\x64\x01\x64\x03\x6c\x01\x6d\x03\x5a\x03\x6d\x04\x5a\x04\x01\x00\x64\x01\x64\x02\x6c\x05\x5a\x06\x64\x01\x64\x02\x6c\x07\x5a\x07\x64\x01\x64\x02\x6c\x08\x5a\x08\x64\x01\x64\x02\x6c\x09\x5a\x09\x64\x01\x64\x02\x6c\x0a\x5a\x0a\x64\x01\x64\x02\x6c\x0b\x5a\x0b\x64\x01\x64\x02\x6c\x0c\x5a\x0c\x64\x04\x64\x05\x67\x02\x5a\x0d\x65\x02\x6a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0e\x65\x02\x6a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x64\x02\x1a\x00\x5a\x10\x02\x00\x47\x00\x64\x07\x84\x00\x64\x04\x65\x11\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x12\x69\x00\x5a\x13\x02\x00\x65\x14\x65\x0a\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x15\x64\x08\x5a\x16\x64\x09\x5a\x17\x64\x0a\x5a\x18\x02\x00\x47\x00\x64\x0b\x84\x00\x64\x05\x65\x02\x6a\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x1a\x65\x0e\x64\x0c\x7a\x00\x00\x00\x64\x0d\x64\x0d\x66\x03\x65\x0e\x64\x0e\x7a\x00\x00\x00\x64\x0f\x64\x0d\x66\x03\x64\x10\x64\x11\x66\x04\x5a\x1b\x64\x12\x84\x00\x5a\x1c\x64\x13\x84\x00\x5a\x1d\x64\x14\x84\x00\x5a\x1e\x64\x15\x84\x00\x5a\x1f\x64\x16\x5a\x20\x64\x0f\x61\x21\x64\x17\x84\x00\x5a\x22\x64\x18\x84\x00\x5a\x23\x64\x19\x84\x00\x5a\x24\x64\x1a\x84\x00\x5a\x25\x02\x00\x65\x14\x65\x25\x6a\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x27\x64\x1b\x84\x00\x5a\x28\x64\x1c\x84\x00\x5a\x29\x64\x1d\x84\x00\x5a\x2a\x64\x1e\x84\x00\x5a\x2b\x64\x1f\x84\x00\x5a\x2c\x64\x20\x84\x00\x5a\x2d\x79\x02", ._co_firsttraceable = 0, }; -static void zipimport_do_patchups(void) { - if (sizeof(wchar_t) == 2) { - zipimport_toplevel_consts_22._compact._base.wstr = (wchar_t *) zipimport_toplevel_consts_22._data; - zipimport_toplevel_consts_22._compact.wstr_length = 256; - } -} PyObject * _Py_get_zipimport_toplevel(void) { - zipimport_do_patchups(); return Py_NewRef((PyObject *) &zipimport_toplevel); } @@ -53487,7 +51935,7 @@ static abc_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 51, @@ -53496,7 +51944,7 @@ abc_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Abstract Base Classes (ABCs) according to PEP 3119.", @@ -53509,7 +51957,7 @@ static abc_toplevel_consts_1_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 585, @@ -53518,7 +51966,7 @@ abc_toplevel_consts_1_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x20\x64\x65\x63\x6f\x72\x61\x74\x6f\x72\x20\x69\x6e\x64\x69\x63\x61\x74\x69\x6e\x67\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x6d\x65\x74\x68\x6f\x64\x73\x2e\x0a\x0a\x20\x20\x20\x20\x52\x65\x71\x75\x69\x72\x65\x73\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x6d\x65\x74\x61\x63\x6c\x61\x73\x73\x20\x69\x73\x20\x41\x42\x43\x4d\x65\x74\x61\x20\x6f\x72\x20\x64\x65\x72\x69\x76\x65\x64\x20\x66\x72\x6f\x6d\x20\x69\x74\x2e\x20\x20\x41\x0a\x20\x20\x20\x20\x63\x6c\x61\x73\x73\x20\x74\x68\x61\x74\x20\x68\x61\x73\x20\x61\x20\x6d\x65\x74\x61\x63\x6c\x61\x73\x73\x20\x64\x65\x72\x69\x76\x65\x64\x20\x66\x72\x6f\x6d\x20\x41\x42\x43\x4d\x65\x74\x61\x20\x63\x61\x6e\x6e\x6f\x74\x20\x62\x65\x0a\x20\x20\x20\x20\x69\x6e\x73\x74\x61\x6e\x74\x69\x61\x74\x65\x64\x20\x75\x6e\x6c\x65\x73\x73\x20\x61\x6c\x6c\x20\x6f\x66\x20\x69\x74\x73\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x61\x72\x65\x20\x6f\x76\x65\x72\x72\x69\x64\x64\x65\x6e\x2e\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x63\x61\x6c\x6c\x65\x64\x20\x75\x73\x69\x6e\x67\x20\x61\x6e\x79\x20\x6f\x66\x20\x74\x68\x65\x20\x6e\x6f\x72\x6d\x61\x6c\x0a\x20\x20\x20\x20\x27\x73\x75\x70\x65\x72\x27\x20\x63\x61\x6c\x6c\x20\x6d\x65\x63\x68\x61\x6e\x69\x73\x6d\x73\x2e\x20\x20\x61\x62\x73\x74\x72\x61\x63\x74\x6d\x65\x74\x68\x6f\x64\x28\x29\x20\x6d\x61\x79\x20\x62\x65\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x64\x65\x63\x6c\x61\x72\x65\x0a\x20\x20\x20\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x66\x6f\x72\x20\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x20\x61\x6e\x64\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x55\x73\x61\x67\x65\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6c\x61\x73\x73\x20\x43\x28\x6d\x65\x74\x61\x63\x6c\x61\x73\x73\x3d\x41\x42\x43\x4d\x65\x74\x61\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x40\x61\x62\x73\x74\x72\x61\x63\x74\x6d\x65\x74\x68\x6f\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x65\x66\x20\x6d\x79\x5f\x61\x62\x73\x74\x72\x61\x63\x74\x5f\x6d\x65\x74\x68\x6f\x64\x28\x73\x65\x6c\x66\x2c\x20\x61\x72\x67\x31\x2c\x20\x61\x72\x67\x32\x2c\x20\x61\x72\x67\x4e\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x2e\x2e\x0a\x20\x20\x20\x20", @@ -53535,7 +51983,7 @@ abc_toplevel_consts_1_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -53558,7 +52006,7 @@ abc_toplevel_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -53576,7 +52024,7 @@ static abc_toplevel_consts_1_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -53585,7 +52033,7 @@ abc_toplevel_consts_1_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -53598,7 +52046,7 @@ static const_str_abstractmethod = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -53607,7 +52055,7 @@ const_str_abstractmethod = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abstractmethod", @@ -53621,7 +52069,7 @@ static abc_toplevel_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 17, @@ -53637,7 +52085,7 @@ static const_str_funcobj = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -53646,7 +52094,7 @@ const_str_funcobj = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "funcobj", @@ -53663,7 +52111,7 @@ abc_toplevel_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -53678,7 +52126,7 @@ static abc_toplevel_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 10, @@ -53687,26 +52135,24 @@ abc_toplevel_consts_1 = { .co_names = & abc_toplevel_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 7, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 249, .co_localsplusnames = & abc_toplevel_consts_1_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_abstractmethod._ascii.ob_base, .co_qualname = & const_str_abstractmethod._ascii.ob_base, .co_linetable = & abc_toplevel_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -53718,7 +52164,7 @@ static const_str_abstractclassmethod = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -53727,7 +52173,7 @@ const_str_abstractclassmethod = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abstractclassmethod", @@ -53740,7 +52186,7 @@ static abc_toplevel_consts_2_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 264, @@ -53749,7 +52195,7 @@ abc_toplevel_consts_2_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x20\x64\x65\x63\x6f\x72\x61\x74\x6f\x72\x20\x69\x6e\x64\x69\x63\x61\x74\x69\x6e\x67\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x63\x6c\x61\x73\x73\x6d\x65\x74\x68\x6f\x64\x73\x2e\x0a\x0a\x20\x20\x20\x20\x44\x65\x70\x72\x65\x63\x61\x74\x65\x64\x2c\x20\x75\x73\x65\x20\x27\x63\x6c\x61\x73\x73\x6d\x65\x74\x68\x6f\x64\x27\x20\x77\x69\x74\x68\x20\x27\x61\x62\x73\x74\x72\x61\x63\x74\x6d\x65\x74\x68\x6f\x64\x27\x20\x69\x6e\x73\x74\x65\x61\x64\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6c\x61\x73\x73\x20\x43\x28\x41\x42\x43\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x40\x63\x6c\x61\x73\x73\x6d\x65\x74\x68\x6f\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x40\x61\x62\x73\x74\x72\x61\x63\x74\x6d\x65\x74\x68\x6f\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x65\x66\x20\x6d\x79\x5f\x61\x62\x73\x74\x72\x61\x63\x74\x5f\x63\x6c\x61\x73\x73\x6d\x65\x74\x68\x6f\x64\x28\x63\x6c\x73\x2c\x20\x2e\x2e\x2e\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x2e\x2e\x0a\x0a\x20\x20\x20\x20", @@ -53766,7 +52212,7 @@ abc_toplevel_consts_2_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -53786,7 +52232,7 @@ static abc_toplevel_consts_2_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -53795,7 +52241,7 @@ abc_toplevel_consts_2_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abstractclassmethod.__init__", @@ -53804,18 +52250,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[42]; + char ob_sval[25]; } abc_toplevel_consts_2_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 41, + .ob_size = 24, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd8\x28\x2c\x88\x08\xd4\x08\x25\xdd\x08\x0d\x89\x07\x8c\x07\xd7\x08\x18\xd2\x08\x18\x98\x18\xd1\x08\x22\xd4\x08\x22\xd0\x08\x22\xd0\x08\x22\xd0\x08\x22", + .ob_sval = "\xf8\x80\x00\xd8\x28\x2c\x88\x08\xd4\x08\x25\xdc\x08\x0d\x89\x07\xd1\x08\x18\x98\x18\xd5\x08\x22", }; static struct { @@ -53825,7 +52271,7 @@ static const_str_callable = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -53834,7 +52280,7 @@ const_str_callable = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "callable", @@ -53851,53 +52297,51 @@ abc_toplevel_consts_2_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_callable._ascii.ob_base, &_Py_ID(__class__), }, }, }; static - struct _PyCode_DEF(88) + struct _PyCode_DEF(50) abc_toplevel_consts_2_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 44, + .ob_size = 25, }, - .co_consts = & importlib__bootstrap_external_toplevel_consts_69_consts_3_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_external_toplevel_consts_68_consts_2_consts._object.ob_base.ob_base, .co_names = & abc_toplevel_consts_2_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 43, .co_nlocalsplus = 3, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, + .co_version = 250, .co_localsplusnames = & abc_toplevel_consts_2_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), .co_qualname = & abc_toplevel_consts_2_consts_3_qualname._ascii.ob_base, .co_linetable = & abc_toplevel_consts_2_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x64\x01\x7c\x01\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x64\x01\x7c\x01\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x89\x02\x7c\x00\x8d\x09\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 1, }; static @@ -53912,7 +52356,7 @@ abc_toplevel_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -53937,7 +52381,7 @@ abc_toplevel_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -53957,25 +52401,25 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[75]; + char ob_sval[27]; } abc_toplevel_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 74, + .ob_size = 26, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x0a\x05\x08\xf0\x00\x0a\x05\x08\xf0\x18\x00\x1c\x20\xd0\x04\x18\xf0\x04\x02\x05\x23\xf0\x00\x02\x05\x23\xf0\x00\x02\x05\x23\xf0\x00\x02\x05\x23\xf0\x00\x02\x05\x23\xf0\x00\x02\x05\x23\xf0\x00\x02\x05\x23\xf0\x00\x02\x05\x23\xf0\x00\x02\x05\x23", + .ob_sval = "\xf8\x84\x00\xf1\x02\x0a\x05\x08\xf0\x18\x00\x1c\x20\xd0\x04\x18\xf7\x04\x02\x05\x23\xf0\x00\x02\x05\x23", }; static struct _PyCode_DEF(38) abc_toplevel_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 19, @@ -53984,26 +52428,24 @@ abc_toplevel_consts_2 = { .co_names = & abc_toplevel_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 28, .co_nlocalsplus = 1, .co_nlocals = 0, - .co_nplaincellvars = 1, .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_localsplusnames._object.ob_base.ob_base, + .co_version = 251, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[64]), .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_abstractclassmethod._ascii.ob_base, .co_qualname = & const_str_abstractclassmethod._ascii.ob_base, .co_linetable = & abc_toplevel_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + ._co_cached = NULL, .co_code_adaptive = "\x87\x00\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x88\x00\x66\x01\x64\x03\x84\x08\x5a\x05\x88\x00\x78\x01\x5a\x06\x53\x00", ._co_firsttraceable = 1, }; @@ -54015,7 +52457,7 @@ static const_str_abstractstaticmethod = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -54024,7 +52466,7 @@ const_str_abstractstaticmethod = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abstractstaticmethod", @@ -54037,7 +52479,7 @@ static abc_toplevel_consts_4_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 263, @@ -54046,7 +52488,7 @@ abc_toplevel_consts_4_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x20\x64\x65\x63\x6f\x72\x61\x74\x6f\x72\x20\x69\x6e\x64\x69\x63\x61\x74\x69\x6e\x67\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x73\x74\x61\x74\x69\x63\x6d\x65\x74\x68\x6f\x64\x73\x2e\x0a\x0a\x20\x20\x20\x20\x44\x65\x70\x72\x65\x63\x61\x74\x65\x64\x2c\x20\x75\x73\x65\x20\x27\x73\x74\x61\x74\x69\x63\x6d\x65\x74\x68\x6f\x64\x27\x20\x77\x69\x74\x68\x20\x27\x61\x62\x73\x74\x72\x61\x63\x74\x6d\x65\x74\x68\x6f\x64\x27\x20\x69\x6e\x73\x74\x65\x61\x64\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6c\x61\x73\x73\x20\x43\x28\x41\x42\x43\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x40\x73\x74\x61\x74\x69\x63\x6d\x65\x74\x68\x6f\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x40\x61\x62\x73\x74\x72\x61\x63\x74\x6d\x65\x74\x68\x6f\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x65\x66\x20\x6d\x79\x5f\x61\x62\x73\x74\x72\x61\x63\x74\x5f\x73\x74\x61\x74\x69\x63\x6d\x65\x74\x68\x6f\x64\x28\x2e\x2e\x2e\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x2e\x2e\x0a\x0a\x20\x20\x20\x20", @@ -54059,7 +52501,7 @@ static abc_toplevel_consts_4_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 29, @@ -54068,46 +52510,44 @@ abc_toplevel_consts_4_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abstractstaticmethod.__init__", }; static - struct _PyCode_DEF(88) + struct _PyCode_DEF(50) abc_toplevel_consts_4_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 44, + .ob_size = 25, }, - .co_consts = & importlib__bootstrap_external_toplevel_consts_69_consts_3_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_external_toplevel_consts_68_consts_2_consts._object.ob_base.ob_base, .co_names = & abc_toplevel_consts_2_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 63, .co_nlocalsplus = 3, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, + .co_version = 252, .co_localsplusnames = & abc_toplevel_consts_2_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), .co_qualname = & abc_toplevel_consts_4_consts_3_qualname._ascii.ob_base, .co_linetable = & abc_toplevel_consts_2_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x64\x01\x7c\x01\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x64\x01\x7c\x01\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x89\x02\x7c\x00\x8d\x09\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 1, }; static @@ -54122,7 +52562,7 @@ abc_toplevel_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -54140,7 +52580,7 @@ static abc_toplevel_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 19, @@ -54149,26 +52589,24 @@ abc_toplevel_consts_4 = { .co_names = & abc_toplevel_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 48, .co_nlocalsplus = 1, .co_nlocals = 0, - .co_nplaincellvars = 1, .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_localsplusnames._object.ob_base.ob_base, + .co_version = 253, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[64]), .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_abstractstaticmethod._ascii.ob_base, .co_qualname = & const_str_abstractstaticmethod._ascii.ob_base, .co_linetable = & abc_toplevel_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + ._co_cached = NULL, .co_code_adaptive = "\x87\x00\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x88\x00\x66\x01\x64\x03\x84\x08\x5a\x05\x88\x00\x78\x01\x5a\x06\x53\x00", ._co_firsttraceable = 1, }; @@ -54180,7 +52618,7 @@ static const_str_abstractproperty = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -54189,7 +52627,7 @@ const_str_abstractproperty = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abstractproperty", @@ -54202,7 +52640,7 @@ static abc_toplevel_consts_6_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 249, @@ -54211,7 +52649,7 @@ abc_toplevel_consts_6_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x20\x64\x65\x63\x6f\x72\x61\x74\x6f\x72\x20\x69\x6e\x64\x69\x63\x61\x74\x69\x6e\x67\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20\x44\x65\x70\x72\x65\x63\x61\x74\x65\x64\x2c\x20\x75\x73\x65\x20\x27\x70\x72\x6f\x70\x65\x72\x74\x79\x27\x20\x77\x69\x74\x68\x20\x27\x61\x62\x73\x74\x72\x61\x63\x74\x6d\x65\x74\x68\x6f\x64\x27\x20\x69\x6e\x73\x74\x65\x61\x64\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6c\x61\x73\x73\x20\x43\x28\x41\x42\x43\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x40\x70\x72\x6f\x70\x65\x72\x74\x79\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x40\x61\x62\x73\x74\x72\x61\x63\x74\x6d\x65\x74\x68\x6f\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x65\x66\x20\x6d\x79\x5f\x61\x62\x73\x74\x72\x61\x63\x74\x5f\x70\x72\x6f\x70\x65\x72\x74\x79\x28\x73\x65\x6c\x66\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x2e\x2e\x0a\x0a\x20\x20\x20\x20", @@ -54228,7 +52666,7 @@ abc_toplevel_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -54253,7 +52691,7 @@ abc_toplevel_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -54271,54 +52709,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[35]; + char ob_sval[16]; } abc_toplevel_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 34, + .ob_size = 15, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x0a\x05\x08\xf0\x00\x0a\x05\x08\xf0\x18\x00\x1c\x20\xd0\x04\x18\xd0\x04\x18\xd0\x04\x18", + .ob_sval = "\x84\x00\xf1\x02\x0a\x05\x08\xf0\x18\x00\x1c\x20\xd1\x04\x18", }; static - struct _PyCode_DEF(22) + struct _PyCode_DEF(20) abc_toplevel_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 11, + .ob_size = 10, }, .co_consts = & abc_toplevel_consts_6_consts._object.ob_base.ob_base, .co_names = & abc_toplevel_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 68, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 254, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_abstractproperty._ascii.ob_base, .co_qualname = & const_str_abstractproperty._ascii.ob_base, .co_linetable = & abc_toplevel_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x79\x03", ._co_firsttraceable = 0, }; static @@ -54329,7 +52765,7 @@ static const_str_get_cache_token = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -54338,7 +52774,7 @@ const_str_get_cache_token = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "get_cache_token", @@ -54351,7 +52787,7 @@ static const_str__abc_init = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -54360,7 +52796,7 @@ const_str__abc_init = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_init", @@ -54373,7 +52809,7 @@ static const_str__abc_register = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -54382,7 +52818,7 @@ const_str__abc_register = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_register", @@ -54395,7 +52831,7 @@ static const_str__abc_instancecheck = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -54404,7 +52840,7 @@ const_str__abc_instancecheck = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_instancecheck", @@ -54417,7 +52853,7 @@ static const_str__abc_subclasscheck = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -54426,7 +52862,7 @@ const_str__abc_subclasscheck = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_subclasscheck", @@ -54439,7 +52875,7 @@ static const_str__get_dump = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -54448,7 +52884,7 @@ const_str__get_dump = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_dump", @@ -54461,7 +52897,7 @@ static const_str__reset_registry = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -54470,7 +52906,7 @@ const_str__reset_registry = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_reset_registry", @@ -54483,7 +52919,7 @@ static const_str__reset_caches = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -54492,7 +52928,7 @@ const_str__reset_caches = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_reset_caches", @@ -54509,7 +52945,7 @@ abc_toplevel_consts_9 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -54534,7 +52970,7 @@ static const_str_ABCMeta = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -54543,7 +52979,7 @@ const_str_ABCMeta = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ABCMeta", @@ -54556,7 +52992,7 @@ static abc_toplevel_consts_10_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 656, @@ -54565,7 +53001,7 @@ abc_toplevel_consts_10_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x4d\x65\x74\x61\x63\x6c\x61\x73\x73\x20\x66\x6f\x72\x20\x64\x65\x66\x69\x6e\x69\x6e\x67\x20\x41\x62\x73\x74\x72\x61\x63\x74\x20\x42\x61\x73\x65\x20\x43\x6c\x61\x73\x73\x65\x73\x20\x28\x41\x42\x43\x73\x29\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x55\x73\x65\x20\x74\x68\x69\x73\x20\x6d\x65\x74\x61\x63\x6c\x61\x73\x73\x20\x74\x6f\x20\x63\x72\x65\x61\x74\x65\x20\x61\x6e\x20\x41\x42\x43\x2e\x20\x20\x41\x6e\x20\x41\x42\x43\x20\x63\x61\x6e\x20\x62\x65\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x65\x63\x74\x6c\x79\x2c\x20\x61\x6e\x64\x20\x74\x68\x65\x6e\x20\x61\x63\x74\x73\x20\x61\x73\x20\x61\x20\x6d\x69\x78\x2d\x69\x6e\x20\x63\x6c\x61\x73\x73\x2e\x20\x20\x59\x6f\x75\x20\x63\x61\x6e\x20\x61\x6c\x73\x6f\x20\x72\x65\x67\x69\x73\x74\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x75\x6e\x72\x65\x6c\x61\x74\x65\x64\x20\x63\x6f\x6e\x63\x72\x65\x74\x65\x20\x63\x6c\x61\x73\x73\x65\x73\x20\x28\x65\x76\x65\x6e\x20\x62\x75\x69\x6c\x74\x2d\x69\x6e\x20\x63\x6c\x61\x73\x73\x65\x73\x29\x20\x61\x6e\x64\x20\x75\x6e\x72\x65\x6c\x61\x74\x65\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x41\x42\x43\x73\x20\x61\x73\x20\x27\x76\x69\x72\x74\x75\x61\x6c\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x27\x20\x2d\x2d\x20\x74\x68\x65\x73\x65\x20\x61\x6e\x64\x20\x74\x68\x65\x69\x72\x20\x64\x65\x73\x63\x65\x6e\x64\x61\x6e\x74\x73\x20\x77\x69\x6c\x6c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x62\x65\x20\x63\x6f\x6e\x73\x69\x64\x65\x72\x65\x64\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x69\x6e\x67\x20\x41\x42\x43\x20\x62\x79\x20\x74\x68\x65\x20\x62\x75\x69\x6c\x74\x2d\x69\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x73\x75\x62\x63\x6c\x61\x73\x73\x28\x29\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x2c\x20\x62\x75\x74\x20\x74\x68\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x69\x6e\x67\x20\x41\x42\x43\x20\x77\x6f\x6e\x27\x74\x20\x73\x68\x6f\x77\x20\x75\x70\x20\x69\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x65\x69\x72\x20\x4d\x52\x4f\x20\x28\x4d\x65\x74\x68\x6f\x64\x20\x52\x65\x73\x6f\x6c\x75\x74\x69\x6f\x6e\x20\x4f\x72\x64\x65\x72\x29\x20\x6e\x6f\x72\x20\x77\x69\x6c\x6c\x20\x6d\x65\x74\x68\x6f\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x73\x20\x64\x65\x66\x69\x6e\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x69\x6e\x67\x20\x41\x42\x43\x20\x62\x65\x20\x63\x61\x6c\x6c\x61\x62\x6c\x65\x20\x28\x6e\x6f\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x65\x6e\x20\x76\x69\x61\x20\x73\x75\x70\x65\x72\x28\x29\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -54582,7 +53018,7 @@ abc_toplevel_consts_10_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -54602,7 +53038,7 @@ static abc_toplevel_consts_10_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -54611,7 +53047,7 @@ abc_toplevel_consts_10_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ABCMeta.__new__", @@ -54620,18 +53056,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[55]; + char ob_sval[41]; } abc_toplevel_consts_10_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 54, + .ob_size = 40, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd8\x12\x21\x95\x25\x91\x27\x94\x27\x94\x2f\xa0\x24\xa8\x04\xa8\x65\xb0\x59\xd0\x12\x49\xd0\x12\x49\xc0\x26\xd0\x12\x49\xd0\x12\x49\x88\x43\xdd\x0c\x15\x90\x63\x89\x4e\x8c\x4e\x88\x4e\xd8\x13\x16\x88\x4a", + .ob_sval = "\xf8\x80\x00\xdc\x12\x17\x91\x27\x91\x2f\xa0\x24\xa8\x04\xa8\x65\xb0\x59\xd1\x12\x49\xc0\x26\xd1\x12\x49\x88\x43\xdc\x0c\x15\x90\x63\x8c\x4e\xd8\x13\x16\x88\x4a", }; static struct { @@ -54641,7 +53077,7 @@ static const_str_mcls = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -54650,7 +53086,7 @@ const_str_mcls = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "mcls", @@ -54663,7 +53099,7 @@ static const_str_bases = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -54672,7 +53108,7 @@ const_str_bases = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bases", @@ -54685,7 +53121,7 @@ static const_str_namespace = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -54694,7 +53130,7 @@ const_str_namespace = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "namespace", @@ -54711,7 +53147,7 @@ abc_toplevel_consts_10_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -54736,7 +53172,7 @@ static abc_toplevel_consts_10_consts_2_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 7, @@ -54745,40 +53181,38 @@ abc_toplevel_consts_10_consts_2_localspluskinds = { .ob_sval = "\x20\x20\x20\x20\x20\x20\x80", }; static - struct _PyCode_DEF(96) + struct _PyCode_DEF(68) abc_toplevel_consts_10_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 48, + .ob_size = 34, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & abc_toplevel_consts_10_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 11, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 4, .co_kwonlyargcount = 0, + .co_framesize = 13 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 105, .co_nlocalsplus = 7, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, + .co_version = 255, .co_localsplusnames = & abc_toplevel_consts_10_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & abc_toplevel_consts_10_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__new__), .co_qualname = & abc_toplevel_consts_10_consts_2_qualname._ascii.ob_base, .co_linetable = & abc_toplevel_consts_10_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x02\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x66\x04\x69\x00\x7c\x04\xa4\x01\x8e\x01\x7d\x05\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x05\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x89\x06\x7c\x00\x8d\x04\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x66\x04\x69\x00\x7c\x04\xa4\x01\x8e\x01\x7d\x05\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x05\x53\x00", ._co_firsttraceable = 1, }; static @@ -54789,7 +53223,7 @@ static abc_toplevel_consts_10_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 123, @@ -54798,7 +53232,7 @@ abc_toplevel_consts_10_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x67\x69\x73\x74\x65\x72\x20\x61\x20\x76\x69\x72\x74\x75\x61\x6c\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x20\x6f\x66\x20\x61\x6e\x20\x41\x42\x43\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x74\x68\x65\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x2c\x20\x74\x6f\x20\x61\x6c\x6c\x6f\x77\x20\x75\x73\x61\x67\x65\x20\x61\x73\x20\x61\x20\x63\x6c\x61\x73\x73\x20\x64\x65\x63\x6f\x72\x61\x74\x6f\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20", @@ -54815,7 +53249,7 @@ abc_toplevel_consts_10_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -54837,7 +53271,7 @@ abc_toplevel_consts_10_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -54855,7 +53289,7 @@ static const_str_register = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -54864,7 +53298,7 @@ const_str_register = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "register", @@ -54877,7 +53311,7 @@ static abc_toplevel_consts_10_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -54886,7 +53320,7 @@ abc_toplevel_consts_10_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ABCMeta.register", @@ -54895,18 +53329,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[21]; + char ob_sval[18]; } abc_toplevel_consts_10_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 20, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0a\x00\x14\x21\xa0\x13\xa0\x68\xd1\x13\x2f\xd4\x13\x2f\xd0\x0c\x2f", + .ob_sval = "\x80\x00\xf4\x0a\x00\x14\x21\xa0\x13\xa0\x68\xd3\x13\x2f\xd0\x0c\x2f", }; static struct { @@ -54916,7 +53350,7 @@ static const_str_subclass = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -54925,7 +53359,7 @@ const_str_subclass = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "subclass", @@ -54942,7 +53376,7 @@ abc_toplevel_consts_10_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -54954,40 +53388,38 @@ abc_toplevel_consts_10_consts_3_localsplusnames = { }, }; static - struct _PyCode_DEF(34) + struct _PyCode_DEF(26) abc_toplevel_consts_10_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 13, }, .co_consts = & abc_toplevel_consts_10_consts_3_consts._object.ob_base.ob_base, .co_names = & abc_toplevel_consts_10_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 110, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 256, .co_localsplusnames = & abc_toplevel_consts_10_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_register._ascii.ob_base, .co_qualname = & abc_toplevel_consts_10_consts_3_qualname._ascii.ob_base, .co_linetable = & abc_toplevel_consts_10_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -54998,7 +53430,7 @@ static abc_toplevel_consts_10_consts_4_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 39, @@ -55007,7 +53439,7 @@ abc_toplevel_consts_10_consts_4_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Override for isinstance(instance, cls).", @@ -55024,7 +53456,7 @@ abc_toplevel_consts_10_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -55046,7 +53478,7 @@ abc_toplevel_consts_10_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -55064,7 +53496,7 @@ static abc_toplevel_consts_10_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -55073,7 +53505,7 @@ abc_toplevel_consts_10_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ABCMeta.__instancecheck__", @@ -55082,18 +53514,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[19]; + char ob_sval[16]; } abc_toplevel_consts_10_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 18, + .ob_size = 15, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x13\x25\xa0\x63\xa8\x38\xd1\x13\x34\xd4\x13\x34\xd0\x0c\x34", + .ob_sval = "\x80\x00\xe4\x13\x25\xa0\x63\xa8\x38\xd3\x13\x34\xd0\x0c\x34", }; static struct { @@ -55103,7 +53535,7 @@ static const_str_instance = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -55112,7 +53544,7 @@ const_str_instance = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "instance", @@ -55129,7 +53561,7 @@ abc_toplevel_consts_10_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -55141,40 +53573,38 @@ abc_toplevel_consts_10_consts_4_localsplusnames = { }, }; static - struct _PyCode_DEF(34) + struct _PyCode_DEF(26) abc_toplevel_consts_10_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 13, }, .co_consts = & abc_toplevel_consts_10_consts_4_consts._object.ob_base.ob_base, .co_names = & abc_toplevel_consts_10_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 117, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 257, .co_localsplusnames = & abc_toplevel_consts_10_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__instancecheck__), .co_qualname = & abc_toplevel_consts_10_consts_4_qualname._ascii.ob_base, .co_linetable = & abc_toplevel_consts_10_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -55185,7 +53615,7 @@ static abc_toplevel_consts_10_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 39, @@ -55194,7 +53624,7 @@ abc_toplevel_consts_10_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Override for issubclass(subclass, cls).", @@ -55211,7 +53641,7 @@ abc_toplevel_consts_10_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -55233,7 +53663,7 @@ abc_toplevel_consts_10_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -55251,7 +53681,7 @@ static abc_toplevel_consts_10_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -55260,46 +53690,44 @@ abc_toplevel_consts_10_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ABCMeta.__subclasscheck__", }; static - struct _PyCode_DEF(34) + struct _PyCode_DEF(26) abc_toplevel_consts_10_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 13, }, .co_consts = & abc_toplevel_consts_10_consts_5_consts._object.ob_base.ob_base, .co_names = & abc_toplevel_consts_10_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 121, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 258, .co_localsplusnames = & abc_toplevel_consts_10_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasscheck__), .co_qualname = & abc_toplevel_consts_10_consts_5_qualname._ascii.ob_base, .co_linetable = & abc_toplevel_consts_10_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -55307,10 +53735,10 @@ static PyASCIIObject _ascii; uint8_t _data[40]; } -abc_toplevel_consts_10_consts_7_consts_0 = { +abc_toplevel_consts_10_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 39, @@ -55319,7 +53747,7 @@ abc_toplevel_consts_10_consts_7_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Debug helper to print the ABC registry.", @@ -55329,10 +53757,10 @@ static PyASCIIObject _ascii; uint8_t _data[8]; } -abc_toplevel_consts_10_consts_7_consts_1 = { +abc_toplevel_consts_10_consts_6_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -55341,7 +53769,7 @@ abc_toplevel_consts_10_consts_7_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Class: ", @@ -55351,10 +53779,10 @@ static PyASCIIObject _ascii; uint8_t _data[15]; } -abc_toplevel_consts_10_consts_7_consts_4 = { +abc_toplevel_consts_10_consts_6_consts_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -55363,7 +53791,7 @@ abc_toplevel_consts_10_consts_7_consts_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Inv. counter: ", @@ -55373,10 +53801,10 @@ static PyASCIIObject _ascii; uint8_t _data[16]; } -abc_toplevel_consts_10_consts_7_consts_5 = { +abc_toplevel_consts_10_consts_6_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -55385,7 +53813,7 @@ abc_toplevel_consts_10_consts_7_consts_5 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_registry: ", @@ -55395,10 +53823,10 @@ static PyASCIIObject _ascii; uint8_t _data[13]; } -abc_toplevel_consts_10_consts_7_consts_6 = { +abc_toplevel_consts_10_consts_6_consts_6 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -55407,7 +53835,7 @@ abc_toplevel_consts_10_consts_7_consts_6 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_cache: ", @@ -55417,10 +53845,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -abc_toplevel_consts_10_consts_7_consts_7 = { +abc_toplevel_consts_10_consts_6_consts_7 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -55429,7 +53857,7 @@ abc_toplevel_consts_10_consts_7_consts_7 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_negative_cache: ", @@ -55439,10 +53867,10 @@ static PyASCIIObject _ascii; uint8_t _data[30]; } -abc_toplevel_consts_10_consts_7_consts_8 = { +abc_toplevel_consts_10_consts_6_consts_8 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 29, @@ -55451,7 +53879,7 @@ abc_toplevel_consts_10_consts_7_consts_8 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_negative_cache_version: ", @@ -55464,25 +53892,25 @@ static PyObject *ob_item[10]; }_object; } -abc_toplevel_consts_10_consts_7_consts = { +abc_toplevel_consts_10_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, }, .ob_item = { - & abc_toplevel_consts_10_consts_7_consts_0._ascii.ob_base, - & abc_toplevel_consts_10_consts_7_consts_1._ascii.ob_base, + & abc_toplevel_consts_10_consts_6_consts_0._ascii.ob_base, + & abc_toplevel_consts_10_consts_6_consts_1._ascii.ob_base, &_Py_STR(dot), - & importlib__bootstrap_toplevel_consts_18_consts_3._object.ob_base.ob_base, - & abc_toplevel_consts_10_consts_7_consts_4._ascii.ob_base, - & abc_toplevel_consts_10_consts_7_consts_5._ascii.ob_base, - & abc_toplevel_consts_10_consts_7_consts_6._ascii.ob_base, - & abc_toplevel_consts_10_consts_7_consts_7._ascii.ob_base, - & abc_toplevel_consts_10_consts_7_consts_8._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_25_consts_3._object.ob_base.ob_base, + & abc_toplevel_consts_10_consts_6_consts_4._ascii.ob_base, + & abc_toplevel_consts_10_consts_6_consts_5._ascii.ob_base, + & abc_toplevel_consts_10_consts_6_consts_6._ascii.ob_base, + & abc_toplevel_consts_10_consts_6_consts_7._ascii.ob_base, + & abc_toplevel_consts_10_consts_6_consts_8._ascii.ob_base, Py_None, }, }, @@ -55495,11 +53923,11 @@ static PyObject *ob_item[5]; }_object; } -abc_toplevel_consts_10_consts_7_names = { +abc_toplevel_consts_10_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -55521,7 +53949,7 @@ static const_str__dump_registry = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -55530,7 +53958,7 @@ const_str__dump_registry = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_dump_registry", @@ -55540,10 +53968,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -abc_toplevel_consts_10_consts_7_qualname = { +abc_toplevel_consts_10_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -55552,7 +53980,7 @@ abc_toplevel_consts_10_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ABCMeta._dump_registry", @@ -55561,18 +53989,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[235]; + char ob_sval[159]; } -abc_toplevel_consts_10_consts_7_linetable = { +abc_toplevel_consts_10_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 234, + .ob_size = 158, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0c\x11\xd0\x12\x3f\x98\x43\x9c\x4e\xd0\x12\x3f\xd0\x12\x3f\xa8\x53\xd4\x2d\x3d\xd0\x12\x3f\xd0\x12\x3f\xc0\x64\xd0\x0c\x4b\xd1\x0c\x4b\xd4\x0c\x4b\xd0\x0c\x4b\xdd\x0c\x11\xd0\x12\x36\xa5\x3f\xd1\x23\x34\xd4\x23\x34\xd0\x12\x36\xd0\x12\x36\xb8\x54\xd0\x0c\x42\xd1\x0c\x42\xd4\x0c\x42\xd0\x0c\x42\xe5\x2c\x35\xb0\x63\xa9\x4e\xac\x4e\xf1\x03\x01\x0d\x2a\x88\x5d\x98\x4a\xd0\x28\x3b\xd8\x0d\x28\xdd\x0c\x11\xd0\x12\x35\xa0\x4d\xd0\x12\x35\xd0\x12\x35\xb8\x44\xd0\x0c\x41\xd1\x0c\x41\xd4\x0c\x41\xd0\x0c\x41\xdd\x0c\x11\xd0\x12\x2f\xa0\x1a\xd0\x12\x2f\xd0\x12\x2f\xb0\x64\xd0\x0c\x3b\xd1\x0c\x3b\xd4\x0c\x3b\xd0\x0c\x3b\xdd\x0c\x11\xd0\x12\x41\xd0\x2a\x3d\xd0\x12\x41\xd0\x12\x41\xc8\x04\xd0\x0c\x4d\xd1\x0c\x4d\xd4\x0c\x4d\xd0\x0c\x4d\xdd\x0c\x11\xd0\x12\x51\xd0\x32\x4d\xd0\x12\x51\xd0\x12\x51\xd8\x17\x1b\xf0\x03\x01\x0d\x1d\xf1\x00\x01\x0d\x1d\xf4\x00\x01\x0d\x1d\xf0\x00\x01\x0d\x1d\xf0\x00\x01\x0d\x1d\xf0\x00\x01\x0d\x1d", + .ob_sval = "\x80\x00\xe4\x0c\x11\x90\x47\x98\x43\x9f\x4e\x99\x4e\xd0\x1b\x2b\xa8\x31\xa8\x53\xd7\x2d\x3d\xd1\x2d\x3d\xd0\x2c\x3e\xd0\x12\x3f\xc0\x64\xd5\x0c\x4b\xdc\x0c\x11\x90\x4e\xa4\x3f\xd3\x23\x34\xd0\x22\x35\xd0\x12\x36\xb8\x54\xd5\x0c\x42\xe4\x2c\x35\xb0\x63\xab\x4e\xf1\x03\x01\x0d\x2a\x88\x5d\x98\x4a\xd0\x28\x3b\xd8\x0d\x28\xdc\x0c\x11\x90\x4f\xa0\x4d\xd0\x23\x34\xd0\x12\x35\xb8\x44\xd5\x0c\x41\xdc\x0c\x11\x90\x4c\xa0\x1a\xa0\x0e\xd0\x12\x2f\xb0\x64\xd5\x0c\x3b\xdc\x0c\x11\xd0\x14\x29\xd0\x2a\x3d\xd0\x29\x40\xd0\x12\x41\xc8\x04\xd5\x0c\x4d\xdc\x0c\x11\xd0\x14\x31\xd0\x32\x4d\xd0\x31\x50\xd0\x12\x51\xd8\x17\x1b\xf6\x03\x01\x0d\x1d", }; static struct { @@ -55582,7 +54010,7 @@ static const_str__abc_registry = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -55591,7 +54019,7 @@ const_str__abc_registry = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_registry", @@ -55604,7 +54032,7 @@ static const_str__abc_cache = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -55613,7 +54041,7 @@ const_str__abc_cache = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_cache", @@ -55626,7 +54054,7 @@ static const_str__abc_negative_cache = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -55635,7 +54063,7 @@ const_str__abc_negative_cache = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_negative_cache", @@ -55648,7 +54076,7 @@ static const_str__abc_negative_cache_version = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -55657,7 +54085,7 @@ const_str__abc_negative_cache_version = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_negative_cache_version", @@ -55670,18 +54098,18 @@ static PyObject *ob_item[6]; }_object; } -abc_toplevel_consts_10_consts_7_localsplusnames = { +abc_toplevel_consts_10_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { & const_str_cls._ascii.ob_base, - & const_str_file._ascii.ob_base, + &_Py_ID(file), & const_str__abc_registry._ascii.ob_base, & const_str__abc_cache._ascii.ob_base, & const_str__abc_negative_cache._ascii.ob_base, @@ -55690,40 +54118,38 @@ abc_toplevel_consts_10_consts_7_localsplusnames = { }, }; static - struct _PyCode_DEF(336) -abc_toplevel_consts_10_consts_7 = { + struct _PyCode_DEF(290) +abc_toplevel_consts_10_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 168, + .ob_size = 145, }, - .co_consts = & abc_toplevel_consts_10_consts_7_consts._object.ob_base.ob_base, - .co_names = & abc_toplevel_consts_10_consts_7_names._object.ob_base.ob_base, + .co_consts = & abc_toplevel_consts_10_consts_6_consts._object.ob_base.ob_base, + .co_names = & abc_toplevel_consts_10_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 125, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & abc_toplevel_consts_10_consts_7_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 259, + .co_localsplusnames = & abc_toplevel_consts_10_consts_6_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str__dump_registry._ascii.ob_base, - .co_qualname = & abc_toplevel_consts_10_consts_7_qualname._ascii.ob_base, - .co_linetable = & abc_toplevel_consts_10_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x02\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9d\x04\x7c\x01\xac\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9d\x02\x7c\x01\xac\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x04\x00\x00\x7d\x02\x7d\x03\x7d\x04\x7d\x05\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x7c\x02\x9b\x02\x9d\x02\x7c\x01\xac\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x7c\x03\x9b\x02\x9d\x02\x7c\x01\xac\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x7c\x04\x9b\x02\x9d\x02\x7c\x01\xac\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x7c\x05\x9b\x02\x9d\x02\x7c\x01\xac\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x09\x53\x00", + .co_qualname = & abc_toplevel_consts_10_consts_6_qualname._ascii.ob_base, + .co_linetable = & abc_toplevel_consts_10_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x02\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9d\x04\x7c\x01\xac\x03\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9d\x02\x7c\x01\xac\x03\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x04\x00\x00\x7d\x02\x7d\x03\x7d\x04\x7d\x05\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x7c\x02\x9b\x02\x9d\x02\x7c\x01\xac\x03\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x7c\x03\x9b\x02\x9d\x02\x7c\x01\xac\x03\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x7c\x04\x9b\x02\x9d\x02\x7c\x01\xac\x03\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x7c\x05\x9b\x02\x9d\x02\x7c\x01\xac\x03\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x09", ._co_firsttraceable = 0, }; static @@ -55731,10 +54157,10 @@ static PyASCIIObject _ascii; uint8_t _data[47]; } -abc_toplevel_consts_10_consts_8_consts_0 = { +abc_toplevel_consts_10_consts_7_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 46, @@ -55743,7 +54169,7 @@ abc_toplevel_consts_10_consts_8_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Clear the registry (for debugging or testing).", @@ -55756,17 +54182,17 @@ static PyObject *ob_item[2]; }_object; } -abc_toplevel_consts_10_consts_8_consts = { +abc_toplevel_consts_10_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & abc_toplevel_consts_10_consts_8_consts_0._ascii.ob_base, + & abc_toplevel_consts_10_consts_7_consts_0._ascii.ob_base, Py_None, }, }, @@ -55779,11 +54205,11 @@ static PyObject *ob_item[1]; }_object; } -abc_toplevel_consts_10_consts_8_names = { +abc_toplevel_consts_10_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -55801,7 +54227,7 @@ static const_str__abc_registry_clear = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -55810,7 +54236,7 @@ const_str__abc_registry_clear = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_registry_clear", @@ -55820,10 +54246,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -abc_toplevel_consts_10_consts_8_qualname = { +abc_toplevel_consts_10_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -55832,7 +54258,7 @@ abc_toplevel_consts_10_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ABCMeta._abc_registry_clear", @@ -55841,18 +54267,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[11]; } -abc_toplevel_consts_10_consts_8_linetable = { +abc_toplevel_consts_10_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0c\x1b\x98\x43\xd1\x0c\x20\xd4\x0c\x20\xd0\x0c\x20\xd0\x0c\x20\xd0\x0c\x20", + .ob_sval = "\x80\x00\xe4\x0c\x1b\x98\x43\xd5\x0c\x20", }; static struct { @@ -55862,11 +54288,11 @@ static PyObject *ob_item[1]; }_object; } -abc_toplevel_consts_10_consts_8_localsplusnames = { +abc_toplevel_consts_10_consts_7_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -55877,40 +54303,38 @@ abc_toplevel_consts_10_consts_8_localsplusnames = { }, }; static - struct _PyCode_DEF(36) -abc_toplevel_consts_10_consts_8 = { + struct _PyCode_DEF(26) +abc_toplevel_consts_10_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 13, }, - .co_consts = & abc_toplevel_consts_10_consts_8_consts._object.ob_base.ob_base, - .co_names = & abc_toplevel_consts_10_consts_8_names._object.ob_base.ob_base, + .co_consts = & abc_toplevel_consts_10_consts_7_consts._object.ob_base.ob_base, + .co_names = & abc_toplevel_consts_10_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 137, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & abc_toplevel_consts_10_consts_8_localsplusnames._object.ob_base.ob_base, + .co_version = 260, + .co_localsplusnames = & abc_toplevel_consts_10_consts_7_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str__abc_registry_clear._ascii.ob_base, - .co_qualname = & abc_toplevel_consts_10_consts_8_qualname._ascii.ob_base, - .co_linetable = & abc_toplevel_consts_10_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", + .co_qualname = & abc_toplevel_consts_10_consts_7_qualname._ascii.ob_base, + .co_linetable = & abc_toplevel_consts_10_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -55918,10 +54342,10 @@ static PyASCIIObject _ascii; uint8_t _data[45]; } -abc_toplevel_consts_10_consts_9_consts_0 = { +abc_toplevel_consts_10_consts_8_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 44, @@ -55930,7 +54354,7 @@ abc_toplevel_consts_10_consts_9_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Clear the caches (for debugging or testing).", @@ -55943,17 +54367,17 @@ static PyObject *ob_item[2]; }_object; } -abc_toplevel_consts_10_consts_9_consts = { +abc_toplevel_consts_10_consts_8_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & abc_toplevel_consts_10_consts_9_consts_0._ascii.ob_base, + & abc_toplevel_consts_10_consts_8_consts_0._ascii.ob_base, Py_None, }, }, @@ -55966,11 +54390,11 @@ static PyObject *ob_item[1]; }_object; } -abc_toplevel_consts_10_consts_9_names = { +abc_toplevel_consts_10_consts_8_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -55988,7 +54412,7 @@ static const_str__abc_caches_clear = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -55997,7 +54421,7 @@ const_str__abc_caches_clear = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc_caches_clear", @@ -56007,10 +54431,10 @@ static PyASCIIObject _ascii; uint8_t _data[26]; } -abc_toplevel_consts_10_consts_9_qualname = { +abc_toplevel_consts_10_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -56019,7 +54443,7 @@ abc_toplevel_consts_10_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ABCMeta._abc_caches_clear", @@ -56028,54 +54452,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[11]; } -abc_toplevel_consts_10_consts_9_linetable = { +abc_toplevel_consts_10_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0c\x19\x98\x23\xd1\x0c\x1e\xd4\x0c\x1e\xd0\x0c\x1e\xd0\x0c\x1e\xd0\x0c\x1e", + .ob_sval = "\x80\x00\xe4\x0c\x19\x98\x23\xd5\x0c\x1e", }; static - struct _PyCode_DEF(36) -abc_toplevel_consts_10_consts_9 = { + struct _PyCode_DEF(26) +abc_toplevel_consts_10_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 13, }, - .co_consts = & abc_toplevel_consts_10_consts_9_consts._object.ob_base.ob_base, - .co_names = & abc_toplevel_consts_10_consts_9_names._object.ob_base.ob_base, + .co_consts = & abc_toplevel_consts_10_consts_8_consts._object.ob_base.ob_base, + .co_names = & abc_toplevel_consts_10_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 141, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & abc_toplevel_consts_10_consts_8_localsplusnames._object.ob_base.ob_base, + .co_version = 261, + .co_localsplusnames = & abc_toplevel_consts_10_consts_7_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str__abc_caches_clear._ascii.ob_base, - .co_qualname = & abc_toplevel_consts_10_consts_9_qualname._ascii.ob_base, - .co_linetable = & abc_toplevel_consts_10_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", + .co_qualname = & abc_toplevel_consts_10_consts_8_qualname._ascii.ob_base, + .co_linetable = & abc_toplevel_consts_10_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -56083,17 +54505,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[11]; + PyObject *ob_item[10]; }_object; } abc_toplevel_consts_10_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 11, + .ob_size = 10, }, .ob_item = { & const_str_ABCMeta._ascii.ob_base, @@ -56102,10 +54524,9 @@ abc_toplevel_consts_10_consts = { & abc_toplevel_consts_10_consts_3.ob_base.ob_base, & abc_toplevel_consts_10_consts_4.ob_base.ob_base, & abc_toplevel_consts_10_consts_5.ob_base.ob_base, - Py_None, + & abc_toplevel_consts_10_consts_6.ob_base.ob_base, & abc_toplevel_consts_10_consts_7.ob_base.ob_base, & abc_toplevel_consts_10_consts_8.ob_base.ob_base, - & abc_toplevel_consts_10_consts_9.ob_base.ob_base, & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, }, }, @@ -56122,7 +54543,7 @@ abc_toplevel_consts_10_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 12, @@ -56147,25 +54568,25 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[162]; + char ob_sval[44]; } abc_toplevel_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 161, + .ob_size = 43, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x0b\x09\x0c\xf0\x00\x0b\x09\x0c\xf0\x18\x03\x09\x17\xf0\x00\x03\x09\x17\xf0\x00\x03\x09\x17\xf0\x00\x03\x09\x17\xf0\x00\x03\x09\x17\xf0\x0a\x05\x09\x30\xf0\x00\x05\x09\x30\xf0\x00\x05\x09\x30\xf0\x0e\x02\x09\x35\xf0\x00\x02\x09\x35\xf0\x00\x02\x09\x35\xf0\x08\x02\x09\x35\xf0\x00\x02\x09\x35\xf0\x00\x02\x09\x35\xf0\x08\x0a\x09\x1d\xf0\x00\x0a\x09\x1d\xf0\x00\x0a\x09\x1d\xf0\x00\x0a\x09\x1d\xf0\x18\x02\x09\x21\xf0\x00\x02\x09\x21\xf0\x00\x02\x09\x21\xf0\x08\x02\x09\x1f\xf0\x00\x02\x09\x1f\xf0\x00\x02\x09\x1f\xf0\x00\x02\x09\x1f\xf0\x00\x02\x09\x1f\xf0\x00\x02\x09\x1f\xf0\x00\x02\x09\x1f", + .ob_sval = "\xf8\x84\x00\xf1\x02\x0b\x09\x0c\xf4\x18\x03\x09\x17\xf2\x0a\x05\x09\x30\xf2\x0e\x02\x09\x35\xf2\x08\x02\x09\x35\xf3\x08\x0a\x09\x1d\xf2\x18\x02\x09\x21\xf6\x08\x02\x09\x1f", }; static struct _PyCode_DEF(72) abc_toplevel_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 36, @@ -56174,27 +54595,25 @@ abc_toplevel_consts_10 = { .co_names = & abc_toplevel_consts_10_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 92, .co_nlocalsplus = 1, .co_nlocals = 0, - .co_nplaincellvars = 1, .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_localsplusnames._object.ob_base.ob_base, + .co_version = 262, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[64]), .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_ABCMeta._ascii.ob_base, .co_qualname = & const_str_ABCMeta._ascii.ob_base, .co_linetable = & abc_toplevel_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x88\x00\x66\x01\x64\x02\x84\x08\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x0a\x64\x07\x84\x01\x5a\x08\x64\x08\x84\x00\x5a\x09\x64\x09\x84\x00\x5a\x0a\x88\x00\x78\x01\x5a\x0b\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x87\x00\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x88\x00\x66\x01\x64\x02\x84\x08\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x09\x64\x06\x84\x01\x5a\x08\x64\x07\x84\x00\x5a\x09\x64\x08\x84\x00\x5a\x0a\x88\x00\x78\x01\x5a\x0b\x53\x00", ._co_firsttraceable = 1, }; static @@ -56209,7 +54628,7 @@ abc_toplevel_consts_12 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -56228,7 +54647,7 @@ static const_str_abc = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -56237,7 +54656,7 @@ const_str_abc = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abc", @@ -56250,7 +54669,7 @@ static abc_toplevel_consts_14_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 667, @@ -56259,7 +54678,7 @@ abc_toplevel_consts_14_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x63\x61\x6c\x63\x75\x6c\x61\x74\x65\x20\x74\x68\x65\x20\x73\x65\x74\x20\x6f\x66\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x6f\x66\x20\x61\x6e\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x63\x6c\x61\x73\x73\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x61\x20\x63\x6c\x61\x73\x73\x20\x68\x61\x73\x20\x68\x61\x64\x20\x6f\x6e\x65\x20\x6f\x66\x20\x69\x74\x73\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x61\x66\x74\x65\x72\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x63\x6c\x61\x73\x73\x20\x77\x61\x73\x20\x63\x72\x65\x61\x74\x65\x64\x2c\x20\x74\x68\x65\x20\x6d\x65\x74\x68\x6f\x64\x20\x77\x69\x6c\x6c\x20\x6e\x6f\x74\x20\x62\x65\x20\x63\x6f\x6e\x73\x69\x64\x65\x72\x65\x64\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x75\x6e\x74\x69\x6c\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x63\x61\x6c\x6c\x65\x64\x2e\x20\x41\x6c\x74\x65\x72\x6e\x61\x74\x69\x76\x65\x6c\x79\x2c\x20\x69\x66\x20\x61\x20\x6e\x65\x77\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x6d\x65\x74\x68\x6f\x64\x20\x68\x61\x73\x20\x62\x65\x65\x6e\x0a\x20\x20\x20\x20\x61\x64\x64\x65\x64\x20\x74\x6f\x20\x74\x68\x65\x20\x63\x6c\x61\x73\x73\x2c\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x6f\x6e\x6c\x79\x20\x62\x65\x20\x63\x6f\x6e\x73\x69\x64\x65\x72\x65\x64\x20\x61\x6e\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x6d\x65\x74\x68\x6f\x64\x20\x6f\x66\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x63\x6c\x61\x73\x73\x20\x61\x66\x74\x65\x72\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x63\x61\x6c\x6c\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x63\x61\x6c\x6c\x65\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x61\x6e\x79\x20\x75\x73\x65\x20\x69\x73\x20\x6d\x61\x64\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x63\x6c\x61\x73\x73\x2c\x0a\x20\x20\x20\x20\x75\x73\x75\x61\x6c\x6c\x79\x20\x69\x6e\x20\x63\x6c\x61\x73\x73\x20\x64\x65\x63\x6f\x72\x61\x74\x6f\x72\x73\x20\x74\x68\x61\x74\x20\x61\x64\x64\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x75\x62\x6a\x65\x63\x74\x20\x63\x6c\x61\x73\x73\x2e\x0a\x0a\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x63\x6c\x73\x2c\x20\x74\x6f\x20\x61\x6c\x6c\x6f\x77\x20\x75\x73\x61\x67\x65\x20\x61\x73\x20\x61\x20\x63\x6c\x61\x73\x73\x20\x64\x65\x63\x6f\x72\x61\x74\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x63\x6c\x73\x20\x69\x73\x20\x6e\x6f\x74\x20\x61\x6e\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x6f\x66\x20\x41\x42\x43\x4d\x65\x74\x61\x2c\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x68\x69\x6e\x67\x2e\x0a\x20\x20\x20\x20", @@ -56276,7 +54695,7 @@ abc_toplevel_consts_14_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -56299,7 +54718,7 @@ static const_str_frozenset = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -56308,7 +54727,7 @@ const_str_frozenset = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "frozenset", @@ -56325,7 +54744,7 @@ abc_toplevel_consts_14_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -56351,7 +54770,7 @@ static const_str_update_abstractmethods = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -56360,7 +54779,7 @@ const_str_update_abstractmethods = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "update_abstractmethods", @@ -56369,18 +54788,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[245]; + char ob_sval[194]; } abc_toplevel_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 244, + .ob_size = 193, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x20\x00\x0c\x13\x90\x33\xd0\x18\x2d\xd1\x0b\x2e\xd4\x0b\x2e\xf0\x00\x04\x05\x13\xf0\x08\x00\x10\x13\x88\x0a\xe5\x10\x13\x91\x05\x94\x05\x80\x49\xf0\x06\x00\x11\x14\x94\x0d\xf0\x00\x04\x05\x24\xf0\x00\x04\x05\x24\x88\x04\xdd\x14\x1b\x98\x44\xd0\x22\x37\xb8\x12\xd1\x14\x3c\xd4\x14\x3c\xf0\x00\x03\x09\x24\xf0\x00\x03\x09\x24\x88\x44\xdd\x14\x1b\x98\x43\xa0\x14\xa0\x74\xd1\x14\x2c\xd4\x14\x2c\x88\x45\xdd\x0f\x16\x90\x75\xd0\x1e\x34\xb0\x65\xd1\x0f\x3c\xd4\x0f\x3c\xf0\x00\x01\x0d\x24\xd8\x10\x19\x97\x0d\x92\x0d\x98\x64\xd1\x10\x23\xd4\x10\x23\xd0\x10\x23\xf8\xf0\x07\x03\x09\x24\xf0\x0a\x00\x18\x1b\x94\x7c\xd7\x17\x29\xd2\x17\x29\xd1\x17\x2b\xd4\x17\x2b\xf0\x00\x02\x05\x20\xf0\x00\x02\x05\x20\x89\x0b\x88\x04\x88\x65\xdd\x0b\x12\x90\x35\xd0\x1a\x30\xb0\x25\xd1\x0b\x38\xd4\x0b\x38\xf0\x00\x01\x09\x20\xd8\x0c\x15\x8f\x4d\x8a\x4d\x98\x24\xd1\x0c\x1f\xd4\x0c\x1f\xd0\x0c\x1f\xf8\xdd\x1e\x27\xa8\x09\xd1\x1e\x32\xd4\x1e\x32\x80\x43\xd4\x04\x1b\xd8\x0b\x0e\x80\x4a", + .ob_sval = "\x80\x00\xf4\x20\x00\x0c\x13\x90\x33\xd0\x18\x2d\xd4\x0b\x2e\xf0\x08\x00\x10\x13\x88\x0a\xe4\x10\x13\x93\x05\x80\x49\xf0\x06\x00\x11\x14\x97\x0d\x91\x0d\xf2\x00\x04\x05\x24\x88\x04\xdc\x14\x1b\x98\x44\xd0\x22\x37\xb8\x12\xd3\x14\x3c\xf2\x00\x03\x09\x24\x88\x44\xdc\x14\x1b\x98\x43\xa0\x14\xa0\x74\xd3\x14\x2c\x88\x45\xdc\x0f\x16\x90\x75\xd0\x1e\x34\xb0\x65\xd5\x0f\x3c\xd8\x10\x19\x97\x0d\x91\x0d\x98\x64\xd5\x10\x23\xf1\x07\x03\x09\x24\xf0\x03\x04\x05\x24\xf0\x0c\x00\x18\x1b\x97\x7c\x91\x7c\xd7\x17\x29\xd1\x17\x29\xd3\x17\x2b\xf2\x00\x02\x05\x20\x89\x0b\x88\x04\x88\x65\xdc\x0b\x12\x90\x35\xd0\x1a\x30\xb0\x25\xd5\x0b\x38\xd8\x0c\x15\x8f\x4d\x89\x4d\x98\x24\xd5\x0c\x1f\xf0\x05\x02\x05\x20\xf4\x06\x00\x1f\x28\xa8\x09\xd3\x1e\x32\x80\x43\xd4\x04\x1b\xd8\x0b\x0e\x80\x4a", }; static struct { @@ -56390,7 +54809,7 @@ static const_str_abstracts = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -56399,7 +54818,7 @@ const_str_abstracts = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abstracts", @@ -56412,7 +54831,7 @@ static const_str_scls = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -56421,7 +54840,7 @@ const_str_scls = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "scls", @@ -56438,7 +54857,7 @@ abc_toplevel_consts_14_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -56448,45 +54867,43 @@ abc_toplevel_consts_14_localsplusnames = { & const_str_abstracts._ascii.ob_base, & const_str_scls._ascii.ob_base, &_Py_ID(name), - & const_str_value._ascii.ob_base, + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(418) + struct _PyCode_DEF(374) abc_toplevel_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 209, + .ob_size = 187, }, .co_consts = & abc_toplevel_consts_14_consts._object.ob_base.ob_base, .co_names = & abc_toplevel_consts_14_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, .co_firstlineno = 146, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 263, .co_localsplusnames = & abc_toplevel_consts_14_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_update_abstractmethods._ascii.ob_base, .co_qualname = & const_str_update_abstractmethods._ascii.ob_base, .co_linetable = & abc_toplevel_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x7c\x00\x53\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x4d\x7d\x02\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x01\x64\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x39\x7d\x03\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x03\x64\x03\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x04\x64\x05\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x72\x15\x7c\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x3a\x8c\x4e\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x2b\x5c\x02\x00\x00\x7d\x03\x7d\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x04\x64\x05\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x72\x15\x7c\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x2c\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x73\x02\x7c\x00\x53\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x40\x00\x00\x7d\x02\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x01\x64\x02\xab\x03\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x2e\x00\x00\x7d\x03\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x03\x64\x03\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x04\x64\x05\xab\x03\x00\x00\x00\x00\x00\x00\x73\x01\x8c\x1e\x7c\x01\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x30\x04\x00\x8c\x42\x04\x00\x7c\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x24\x00\x00\x5c\x02\x00\x00\x7d\x03\x7d\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x04\x64\x05\xab\x03\x00\x00\x00\x00\x00\x00\x73\x01\x8c\x14\x7c\x01\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x26\x04\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -56497,7 +54914,7 @@ static const_str_ABC = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -56506,7 +54923,7 @@ const_str_ABC = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ABC", @@ -56519,7 +54936,7 @@ static abc_toplevel_consts_15_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 86, @@ -56528,7 +54945,7 @@ abc_toplevel_consts_15_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x48\x65\x6c\x70\x65\x72\x20\x63\x6c\x61\x73\x73\x20\x74\x68\x61\x74\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x61\x20\x73\x74\x61\x6e\x64\x61\x72\x64\x20\x77\x61\x79\x20\x74\x6f\x20\x63\x72\x65\x61\x74\x65\x20\x61\x6e\x20\x41\x42\x43\x20\x75\x73\x69\x6e\x67\x0a\x20\x20\x20\x20\x69\x6e\x68\x65\x72\x69\x74\x61\x6e\x63\x65\x2e\x0a\x20\x20\x20\x20", @@ -56545,7 +54962,7 @@ abc_toplevel_consts_15_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -56570,7 +54987,7 @@ abc_toplevel_consts_15_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -56588,54 +55005,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[32]; + char ob_sval[15]; } abc_toplevel_consts_15_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 31, + .ob_size = 14, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x02\x05\x08\xf0\x00\x02\x05\x08\xf0\x06\x00\x11\x13\x80\x49\x80\x49\x80\x49", + .ob_sval = "\x84\x00\xf1\x02\x02\x05\x08\xf0\x06\x00\x11\x13\x81\x49", }; static - struct _PyCode_DEF(22) + struct _PyCode_DEF(20) abc_toplevel_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 11, + .ob_size = 10, }, .co_consts = & abc_toplevel_consts_15_consts._object.ob_base.ob_base, .co_names = & abc_toplevel_consts_15_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 184, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 264, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_ABC._ascii.ob_base, .co_qualname = & const_str_ABC._ascii.ob_base, .co_linetable = & abc_toplevel_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x79\x03", ._co_firsttraceable = 0, }; static @@ -56650,7 +55065,7 @@ abc_toplevel_consts_17 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -56672,7 +55087,7 @@ abc_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 19, @@ -56708,7 +55123,7 @@ static const_str__abc = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -56717,7 +55132,7 @@ const_str__abc = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abc", @@ -56730,7 +55145,7 @@ static const_str__py_abc = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -56739,7 +55154,7 @@ const_str__py_abc = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_py_abc", @@ -56756,7 +55171,7 @@ abc_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 24, @@ -56779,7 +55194,7 @@ abc_toplevel_names = { & const_str__get_dump._ascii.ob_base, & const_str__reset_registry._ascii.ob_base, & const_str__reset_caches._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), & const_str_ABCMeta._ascii.ob_base, & const_str_ImportError._ascii.ob_base, & const_str__py_abc._ascii.ob_base, @@ -56793,18 +55208,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[448]; + char ob_sval[132]; } abc_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 447, + .ob_size = 131, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x08\x00\x01\x3a\xd0\x00\x39\xf0\x06\x12\x01\x13\xf0\x00\x12\x01\x13\xf0\x00\x12\x01\x13\xf0\x2a\x11\x01\x23\xf0\x00\x11\x01\x23\xf0\x00\x11\x01\x23\xf0\x00\x11\x01\x23\xf0\x00\x11\x01\x23\x98\x2b\xf1\x00\x11\x01\x23\xf4\x00\x11\x01\x23\xf0\x00\x11\x01\x23\xf0\x28\x11\x01\x23\xf0\x00\x11\x01\x23\xf0\x00\x11\x01\x23\xf0\x00\x11\x01\x23\xf0\x00\x11\x01\x23\x98\x3c\xf1\x00\x11\x01\x23\xf4\x00\x11\x01\x23\xf0\x00\x11\x01\x23\xf0\x28\x0d\x01\x20\xf0\x00\x0d\x01\x20\xf0\x00\x0d\x01\x20\xf0\x00\x0d\x01\x20\xf0\x00\x0d\x01\x20\x90\x78\xf1\x00\x0d\x01\x20\xf4\x00\x0d\x01\x20\xf0\x00\x0d\x01\x20\xf0\x20\x3b\x01\x1f\xf0\x02\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x0e\x33\x05\x1f\xf0\x00\x33\x05\x1f\xf0\x00\x33\x05\x1f\xf0\x00\x33\x05\x1f\xf0\x00\x33\x05\x1f\x90\x24\xf1\x00\x33\x05\x1f\xf4\x00\x33\x05\x1f\xf0\x00\x33\x05\x1f\xf0\x00\x33\x05\x1f\xf8\xf0\x09\x00\x08\x13\xf0\x00\x02\x01\x1f\xf0\x00\x02\x01\x1f\xf0\x00\x02\x01\x1f\xd8\x04\x30\xd0\x04\x30\xd0\x04\x30\xd0\x04\x30\xd0\x04\x30\xd0\x04\x30\xd0\x04\x30\xd0\x04\x30\xd8\x19\x1e\x80\x47\xd4\x04\x16\xd0\x04\x16\xd0\x04\x16\xf0\x05\x02\x01\x1f\xf8\xf8\xf8\xf0\x74\x01\x23\x01\x0f\xf0\x00\x23\x01\x0f\xf0\x00\x23\x01\x0f\xf0\x4c\x01\x04\x01\x13\xf0\x00\x04\x01\x13\xf0\x00\x04\x01\x13\xf0\x00\x04\x01\x13\xf0\x00\x04\x01\x13\x90\x47\xf0\x00\x04\x01\x13\xf1\x00\x04\x01\x13\xf4\x00\x04\x01\x13\xf0\x00\x04\x01\x13\xf0\x00\x04\x01\x13\xf0\x00\x04\x01\x13", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x08\x00\x01\x3a\xf2\x06\x12\x01\x13\xf4\x2a\x11\x01\x23\x98\x2b\xf4\x00\x11\x01\x23\xf4\x28\x11\x01\x23\x98\x3c\xf4\x00\x11\x01\x23\xf4\x28\x0d\x01\x20\x90\x78\xf4\x00\x0d\x01\x20\xf0\x20\x3b\x01\x1f\xf7\x02\x02\x05\x36\xf7\x00\x02\x05\x36\xf3\x00\x02\x05\x36\xf4\x0e\x33\x05\x1f\x90\x24\xf4\x00\x33\x05\x1f\xf2\x6c\x01\x23\x01\x0f\xf4\x4c\x01\x04\x01\x13\x90\x47\xf6\x00\x04\x01\x13\xf8\xf0\x41\x03\x00\x08\x13\xf2\x00\x02\x01\x1f\xdf\x04\x30\xd8\x19\x1e\x80\x47\xd6\x04\x16\xf0\x05\x02\x01\x1f\xfa", }; static struct { @@ -56815,58 +55230,53 @@ static abc_toplevel_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\xb1\x14\x41\x14\x00\xc1\x14\x14\x41\x2b\x03\xc1\x2a\x01\x41\x2b\x03", + .ob_sval = "\xa8\x14\x41\x17\x00\xc1\x17\x14\x41\x2e\x03\xc1\x2d\x01\x41\x2e\x03", }; static - struct _PyCode_DEF(260) + struct _PyCode_DEF(226) abc_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 130, + .ob_size = 113, }, .co_consts = & abc_toplevel_consts._object.ob_base.ob_base, .co_names = & abc_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = & abc_toplevel_exceptiontable.ob_base.ob_base, .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 265, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & abc_toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & abc_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x84\x00\x5a\x01\x02\x00\x47\x00\x64\x02\x84\x00\x64\x03\x65\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x03\x02\x00\x47\x00\x64\x04\x84\x00\x64\x05\x65\x04\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x02\x00\x47\x00\x64\x06\x84\x00\x64\x07\x65\x06\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x09\x00\x64\x08\x64\x09\x6c\x08\x6d\x09\x5a\x09\x6d\x0a\x5a\x0a\x6d\x0b\x5a\x0b\x6d\x0c\x5a\x0c\x6d\x0d\x5a\x0d\x6d\x0e\x5a\x0e\x6d\x0f\x5a\x0f\x6d\x10\x5a\x10\x01\x00\x02\x00\x47\x00\x64\x0a\x84\x00\x64\x0b\x65\x11\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x12\x6e\x1a\x23\x00\x65\x13\x24\x00\x72\x12\x01\x00\x64\x08\x64\x0c\x6c\x14\x6d\x12\x5a\x12\x6d\x09\x5a\x09\x01\x00\x64\x0d\x65\x12\x5f\x15\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x0e\x84\x00\x5a\x16\x02\x00\x47\x00\x64\x0f\x84\x00\x64\x10\x65\x12\xac\x11\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x17\x64\x12\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x84\x00\x5a\x01\x02\x00\x47\x00\x64\x02\x84\x00\x64\x03\x65\x02\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x03\x02\x00\x47\x00\x64\x04\x84\x00\x64\x05\x65\x04\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x05\x02\x00\x47\x00\x64\x06\x84\x00\x64\x07\x65\x06\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x07\x09\x00\x64\x08\x64\x09\x6c\x08\x6d\x09\x5a\x09\x6d\x0a\x5a\x0a\x6d\x0b\x5a\x0b\x6d\x0c\x5a\x0c\x6d\x0d\x5a\x0d\x6d\x0e\x5a\x0e\x6d\x0f\x5a\x0f\x6d\x10\x5a\x10\x01\x00\x02\x00\x47\x00\x64\x0a\x84\x00\x64\x0b\x65\x11\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x12\x64\x0e\x84\x00\x5a\x16\x02\x00\x47\x00\x64\x0f\x84\x00\x64\x10\x65\x12\xac\x11\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x17\x79\x12\x23\x00\x65\x13\x24\x00\x72\x12\x01\x00\x64\x08\x64\x0c\x6c\x14\x6d\x12\x5a\x12\x6d\x09\x5a\x09\x01\x00\x64\x0d\x65\x12\x5f\x15\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x8c\x26\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; -static void abc_do_patchups(void) { -} PyObject * _Py_get_abc_toplevel(void) { - abc_do_patchups(); return Py_NewRef((PyObject *) &abc_toplevel); } @@ -56878,7 +55288,7 @@ static codecs_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 158, @@ -56887,7 +55297,7 @@ codecs_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x63\x6f\x64\x65\x63\x73\x20\x2d\x2d\x20\x50\x79\x74\x68\x6f\x6e\x20\x43\x6f\x64\x65\x63\x20\x52\x65\x67\x69\x73\x74\x72\x79\x2c\x20\x41\x50\x49\x20\x61\x6e\x64\x20\x68\x65\x6c\x70\x65\x72\x73\x2e\x0a\x0a\x0a\x57\x72\x69\x74\x74\x65\x6e\x20\x62\x79\x20\x4d\x61\x72\x63\x2d\x41\x6e\x64\x72\x65\x20\x4c\x65\x6d\x62\x75\x72\x67\x20\x28\x6d\x61\x6c\x40\x6c\x65\x6d\x62\x75\x72\x67\x2e\x63\x6f\x6d\x29\x2e\x0a\x0a\x28\x63\x29\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x43\x4e\x52\x49\x2c\x20\x41\x6c\x6c\x20\x52\x69\x67\x68\x74\x73\x20\x52\x65\x73\x65\x72\x76\x65\x64\x2e\x20\x4e\x4f\x20\x57\x41\x52\x52\x41\x4e\x54\x59\x2e\x0a\x0a", @@ -56904,13 +55314,13 @@ codecs_toplevel_consts_3 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_54_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[42], }, }, }; @@ -56922,7 +55332,7 @@ static codecs_toplevel_consts_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 37, @@ -56931,7 +55341,7 @@ codecs_toplevel_consts_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Failed to load the builtin codecs: %s", @@ -56944,7 +55354,7 @@ static const_str_lookup = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -56953,7 +55363,7 @@ const_str_lookup = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "lookup", @@ -56966,7 +55376,7 @@ static const_str_EncodedFile = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -56975,7 +55385,7 @@ const_str_EncodedFile = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "EncodedFile", @@ -56988,7 +55398,7 @@ static const_str_BOM = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -56997,7 +55407,7 @@ const_str_BOM = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM", @@ -57010,7 +55420,7 @@ static const_str_BOM_BE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -57019,7 +55429,7 @@ const_str_BOM_BE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM_BE", @@ -57032,7 +55442,7 @@ static const_str_BOM_LE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -57041,7 +55451,7 @@ const_str_BOM_LE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM_LE", @@ -57054,7 +55464,7 @@ static const_str_BOM32_BE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -57063,7 +55473,7 @@ const_str_BOM32_BE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM32_BE", @@ -57076,7 +55486,7 @@ static const_str_BOM32_LE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -57085,7 +55495,7 @@ const_str_BOM32_LE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM32_LE", @@ -57098,7 +55508,7 @@ static const_str_BOM64_BE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -57107,7 +55517,7 @@ const_str_BOM64_BE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM64_BE", @@ -57120,7 +55530,7 @@ static const_str_BOM64_LE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -57129,7 +55539,7 @@ const_str_BOM64_LE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM64_LE", @@ -57142,7 +55552,7 @@ static const_str_BOM_UTF8 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -57151,7 +55561,7 @@ const_str_BOM_UTF8 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM_UTF8", @@ -57164,7 +55574,7 @@ static const_str_BOM_UTF16 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -57173,7 +55583,7 @@ const_str_BOM_UTF16 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM_UTF16", @@ -57186,7 +55596,7 @@ static const_str_BOM_UTF16_LE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -57195,7 +55605,7 @@ const_str_BOM_UTF16_LE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM_UTF16_LE", @@ -57208,7 +55618,7 @@ static const_str_BOM_UTF16_BE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -57217,7 +55627,7 @@ const_str_BOM_UTF16_BE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM_UTF16_BE", @@ -57230,7 +55640,7 @@ static const_str_BOM_UTF32 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -57239,7 +55649,7 @@ const_str_BOM_UTF32 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM_UTF32", @@ -57252,7 +55662,7 @@ static const_str_BOM_UTF32_LE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -57261,7 +55671,7 @@ const_str_BOM_UTF32_LE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM_UTF32_LE", @@ -57274,7 +55684,7 @@ static const_str_BOM_UTF32_BE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -57283,7 +55693,7 @@ const_str_BOM_UTF32_BE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BOM_UTF32_BE", @@ -57296,7 +55706,7 @@ static const_str_CodecInfo = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -57305,7 +55715,7 @@ const_str_CodecInfo = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "CodecInfo", @@ -57318,7 +55728,7 @@ static const_str_Codec = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -57327,7 +55737,7 @@ const_str_Codec = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Codec", @@ -57340,7 +55750,7 @@ static const_str_IncrementalEncoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -57349,7 +55759,7 @@ const_str_IncrementalEncoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalEncoder", @@ -57362,7 +55772,7 @@ static const_str_IncrementalDecoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -57371,7 +55781,7 @@ const_str_IncrementalDecoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalDecoder", @@ -57384,7 +55794,7 @@ static const_str_StreamReader = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -57393,7 +55803,7 @@ const_str_StreamReader = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader", @@ -57406,7 +55816,7 @@ static const_str_StreamWriter = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -57415,7 +55825,7 @@ const_str_StreamWriter = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamWriter", @@ -57428,7 +55838,7 @@ static const_str_StreamReaderWriter = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -57437,7 +55847,7 @@ const_str_StreamReaderWriter = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter", @@ -57450,7 +55860,7 @@ static const_str_StreamRecoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -57459,7 +55869,7 @@ const_str_StreamRecoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder", @@ -57472,7 +55882,7 @@ static const_str_getencoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -57481,7 +55891,7 @@ const_str_getencoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getencoder", @@ -57494,7 +55904,7 @@ static const_str_getdecoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -57503,7 +55913,7 @@ const_str_getdecoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getdecoder", @@ -57516,7 +55926,7 @@ static const_str_getincrementalencoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -57525,7 +55935,7 @@ const_str_getincrementalencoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getincrementalencoder", @@ -57538,7 +55948,7 @@ static const_str_getincrementaldecoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -57547,7 +55957,7 @@ const_str_getincrementaldecoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getincrementaldecoder", @@ -57560,7 +55970,7 @@ static const_str_getreader = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -57569,7 +55979,7 @@ const_str_getreader = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getreader", @@ -57582,7 +55992,7 @@ static const_str_getwriter = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -57591,7 +56001,7 @@ const_str_getwriter = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getwriter", @@ -57604,7 +56014,7 @@ static const_str_iterencode = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -57613,7 +56023,7 @@ const_str_iterencode = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "iterencode", @@ -57626,7 +56036,7 @@ static const_str_iterdecode = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -57635,7 +56045,7 @@ const_str_iterdecode = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "iterdecode", @@ -57648,7 +56058,7 @@ static const_str_strict_errors = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -57657,7 +56067,7 @@ const_str_strict_errors = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "strict_errors", @@ -57670,7 +56080,7 @@ static const_str_ignore_errors = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -57679,7 +56089,7 @@ const_str_ignore_errors = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ignore_errors", @@ -57692,7 +56102,7 @@ static const_str_replace_errors = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -57701,7 +56111,7 @@ const_str_replace_errors = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "replace_errors", @@ -57714,7 +56124,7 @@ static const_str_xmlcharrefreplace_errors = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -57723,7 +56133,7 @@ const_str_xmlcharrefreplace_errors = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "xmlcharrefreplace_errors", @@ -57736,7 +56146,7 @@ static const_str_backslashreplace_errors = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -57745,7 +56155,7 @@ const_str_backslashreplace_errors = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "backslashreplace_errors", @@ -57758,7 +56168,7 @@ static const_str_namereplace_errors = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -57767,7 +56177,7 @@ const_str_namereplace_errors = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "namereplace_errors", @@ -57780,7 +56190,7 @@ static const_str_register_error = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -57789,7 +56199,7 @@ const_str_register_error = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "register_error", @@ -57802,7 +56212,7 @@ static const_str_lookup_error = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -57811,7 +56221,7 @@ const_str_lookup_error = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "lookup_error", @@ -57828,7 +56238,7 @@ codecs_toplevel_consts_5 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 44, @@ -57890,7 +56300,7 @@ static codecs_toplevel_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 3, @@ -57907,7 +56317,7 @@ static codecs_toplevel_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 2, @@ -57924,7 +56334,7 @@ static codecs_toplevel_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 2, @@ -57941,7 +56351,7 @@ static codecs_toplevel_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 4, @@ -57958,7 +56368,7 @@ static codecs_toplevel_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 4, @@ -57974,7 +56384,7 @@ static codecs_toplevel_consts_12_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 48, @@ -57983,7 +56393,7 @@ codecs_toplevel_consts_12_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Codec details when looking up the codec registry", @@ -58000,7 +56410,7 @@ codecs_toplevel_consts_12_consts_4 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -58018,7 +56428,7 @@ static const_str_incrementalencoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -58027,7 +56437,7 @@ const_str_incrementalencoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "incrementalencoder", @@ -58040,7 +56450,7 @@ static const_str_incrementaldecoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -58049,7 +56459,7 @@ const_str_incrementaldecoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "incrementaldecoder", @@ -58062,7 +56472,7 @@ static const_str_streamwriter = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -58071,7 +56481,7 @@ const_str_streamwriter = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "streamwriter", @@ -58084,7 +56494,7 @@ static const_str_streamreader = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -58093,7 +56503,7 @@ const_str_streamreader = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "streamreader", @@ -58110,7 +56520,7 @@ codecs_toplevel_consts_12_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -58137,7 +56547,7 @@ static codecs_toplevel_consts_12_consts_5_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -58146,7 +56556,7 @@ codecs_toplevel_consts_12_consts_5_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -58159,7 +56569,7 @@ static codecs_toplevel_consts_12_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -58168,7 +56578,7 @@ codecs_toplevel_consts_12_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "CodecInfo.__new__", @@ -58177,18 +56587,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[105]; + char ob_sval[102]; } codecs_toplevel_consts_12_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 104, + .ob_size = 101, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x10\x15\x8f\x7d\x8a\x7d\x98\x53\xa0\x36\xa8\x36\xb0\x3c\xc0\x1c\xd0\x22\x4e\xd1\x0f\x4f\xd4\x0f\x4f\x88\x04\xd8\x14\x18\x88\x04\x8c\x09\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x22\x34\x88\x04\xd4\x08\x1f\xd8\x22\x34\x88\x04\xd4\x08\x1f\xd8\x1c\x28\x88\x04\xd4\x08\x19\xd8\x1c\x28\x88\x04\xd4\x08\x19\xd8\x0b\x1c\xd0\x0b\x28\xd8\x25\x36\x88\x44\xd4\x0c\x22\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xf4\x06\x00\x10\x15\x8f\x7d\x89\x7d\x98\x53\xa0\x36\xa8\x36\xb0\x3c\xc0\x1c\xd0\x22\x4e\xd3\x0f\x4f\x88\x04\xd8\x14\x18\x88\x04\x8c\x09\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x22\x34\x88\x04\xd4\x08\x1f\xd8\x22\x34\x88\x04\xd4\x08\x1f\xd8\x1c\x28\x88\x04\xd4\x08\x19\xd8\x1c\x28\x88\x04\xd4\x08\x19\xd8\x0b\x1c\xd0\x0b\x28\xd8\x25\x36\x88\x44\xd4\x0c\x22\xd8\x0f\x13\x88\x0b", }; static struct { @@ -58202,7 +56612,7 @@ codecs_toplevel_consts_12_consts_5_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -58217,45 +56627,43 @@ codecs_toplevel_consts_12_consts_5_localsplusnames = { & const_str_incrementaldecoder._ascii.ob_base, &_Py_ID(name), &_Py_ID(_is_text_encoding), - & const_str_self._ascii.ob_base, + &_Py_ID(self), }, }, }; static - struct _PyCode_DEF(184) + struct _PyCode_DEF(174) codecs_toplevel_consts_12_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 92, + .ob_size = 87, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_12_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 8, .co_posonlyargcount = 0, .co_kwonlyargcount = 1, + .co_framesize = 17 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, .co_firstlineno = 94, .co_nlocalsplus = 10, .co_nlocals = 10, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 266, .co_localsplusnames = & codecs_toplevel_consts_12_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_4_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__new__), .co_qualname = & codecs_toplevel_consts_12_consts_5_qualname._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_12_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x7c\x04\x66\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x7c\x07\x7c\x09\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x09\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x09\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x09\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7c\x09\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x09\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x09\x5f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\x81\x07\x7c\x08\x7c\x09\x5f\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x7c\x04\x66\x04\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x09\x7c\x07\x7c\x09\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x09\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x09\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x09\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7c\x09\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x09\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x09\x5f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\x81\x07\x7c\x08\x7c\x09\x5f\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x53\x00", ._co_firsttraceable = 0, }; static @@ -58266,7 +56674,7 @@ static codecs_toplevel_consts_12_consts_6_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 37, @@ -58275,7 +56683,7 @@ codecs_toplevel_consts_12_consts_6_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "<%s.%s object for encoding %s at %#x>", @@ -58292,7 +56700,7 @@ codecs_toplevel_consts_12_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -58315,7 +56723,7 @@ codecs_toplevel_consts_12_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -58325,7 +56733,7 @@ codecs_toplevel_consts_12_consts_6_names = { &_Py_ID(__module__), &_Py_ID(__qualname__), &_Py_ID(name), - & const_str_id._ascii.ob_base, + &_Py_ID(id), }, }, }; @@ -58337,7 +56745,7 @@ static codecs_toplevel_consts_12_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -58346,7 +56754,7 @@ codecs_toplevel_consts_12_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "CodecInfo.__repr__", @@ -58355,54 +56763,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[49]; + char ob_sval[59]; } codecs_toplevel_consts_12_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 48, + .ob_size = 58, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x36\xd8\x11\x15\x94\x1e\xd4\x11\x2a\xa8\x44\xac\x4e\xd4\x2c\x47\xd8\x11\x15\x94\x19\x9d\x42\x98\x74\x99\x48\x9c\x48\xf0\x03\x01\x11\x26\xf1\x03\x02\x10\x26\xf0\x00\x02\x09\x26", + .ob_sval = "\x80\x00\xd8\x0f\x36\xd8\x11\x15\x97\x1e\x91\x1e\xd7\x11\x2a\xd1\x11\x2a\xa8\x44\xaf\x4e\xa9\x4e\xd7\x2c\x47\xd1\x2c\x47\xd8\x11\x15\x97\x19\x91\x19\x9c\x42\x98\x74\x9b\x48\xf0\x03\x01\x11\x26\xf1\x03\x02\x10\x26\xf0\x00\x02\x09\x26", }; static - struct _PyCode_DEF(96) + struct _PyCode_DEF(138) codecs_toplevel_consts_12_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 48, + .ob_size = 69, }, .co_consts = & codecs_toplevel_consts_12_consts_6_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_12_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, .co_firstlineno = 109, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 267, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__repr__), .co_qualname = & codecs_toplevel_consts_12_consts_6_qualname._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_12_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x66\x04\x7a\x06\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x66\x04\x7a\x06\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -58417,7 +56823,7 @@ codecs_toplevel_consts_12_consts_7 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -58443,7 +56849,7 @@ codecs_toplevel_consts_12_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -58472,7 +56878,7 @@ codecs_toplevel_consts_12_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -58492,54 +56898,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[89]; + char ob_sval[38]; } codecs_toplevel_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 88, + .ob_size = 37, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xd8\x04\x3a\xd0\x04\x3a\xf0\x10\x00\x19\x1d\xd0\x04\x15\xe0\x45\x49\xd8\x3f\x43\xf0\x03\x0d\x05\x14\xe0\x1d\x21\xf0\x05\x0d\x05\x14\xf0\x00\x0d\x05\x14\xf0\x00\x0d\x05\x14\xf0\x00\x0d\x05\x14\xf0\x00\x0d\x05\x14\xf0\x1e\x03\x05\x26\xf0\x00\x03\x05\x26\xf0\x00\x03\x05\x26\xf0\x00\x03\x05\x26\xf0\x00\x03\x05\x26", + .ob_sval = "\x84\x00\xd9\x04\x3a\xf0\x10\x00\x19\x1d\xd0\x04\x15\xe0\x45\x49\xd8\x3f\x43\xf0\x03\x0d\x05\x14\xe0\x1d\x21\xf4\x05\x0d\x05\x14\xf3\x1e\x03\x05\x26", }; static - struct _PyCode_DEF(46) + struct _PyCode_DEF(44) codecs_toplevel_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 23, + .ob_size = 22, }, .co_consts = & codecs_toplevel_consts_12_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 83, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 268, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_CodecInfo._ascii.ob_base, .co_qualname = & const_str_CodecInfo._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x09\x00\x09\x00\x64\x07\x64\x03\x64\x04\x9c\x01\x64\x05\x84\x03\x5a\x05\x64\x06\x84\x00\x5a\x06\x64\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x09\x00\x09\x00\x64\x07\x64\x03\x64\x04\x9c\x01\x64\x05\x84\x03\x5a\x05\x64\x06\x84\x00\x5a\x06\x79\x03", ._co_firsttraceable = 0, }; static @@ -58550,7 +56954,7 @@ static codecs_toplevel_consts_14_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 1081, @@ -58559,7 +56963,7 @@ codecs_toplevel_consts_14_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x44\x65\x66\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x20\x66\x6f\x72\x20\x73\x74\x61\x74\x65\x6c\x65\x73\x73\x20\x65\x6e\x63\x6f\x64\x65\x72\x73\x2f\x64\x65\x63\x6f\x64\x65\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x2e\x65\x6e\x63\x6f\x64\x65\x28\x29\x2f\x2e\x64\x65\x63\x6f\x64\x65\x28\x29\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x6d\x61\x79\x20\x75\x73\x65\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x65\x72\x72\x6f\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x20\x73\x63\x68\x65\x6d\x65\x73\x20\x62\x79\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x73\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x2e\x20\x54\x68\x65\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x69\x6e\x67\x20\x76\x61\x6c\x75\x65\x73\x20\x61\x72\x65\x20\x70\x72\x65\x64\x65\x66\x69\x6e\x65\x64\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x73\x74\x72\x69\x63\x74\x27\x20\x2d\x20\x72\x61\x69\x73\x65\x20\x61\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x20\x65\x72\x72\x6f\x72\x20\x28\x6f\x72\x20\x61\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x69\x67\x6e\x6f\x72\x65\x27\x20\x2d\x20\x69\x67\x6e\x6f\x72\x65\x20\x74\x68\x65\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x20\x61\x6e\x64\x20\x63\x6f\x6e\x74\x69\x6e\x75\x65\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x6e\x65\x78\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x72\x65\x70\x6c\x61\x63\x65\x27\x20\x2d\x20\x72\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x61\x20\x73\x75\x69\x74\x61\x62\x6c\x65\x20\x72\x65\x70\x6c\x61\x63\x65\x6d\x65\x6e\x74\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x50\x79\x74\x68\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x75\x73\x65\x20\x74\x68\x65\x20\x6f\x66\x66\x69\x63\x69\x61\x6c\x20\x55\x2b\x46\x46\x46\x44\x20\x52\x45\x50\x4c\x41\x43\x45\x4d\x45\x4e\x54\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x43\x48\x41\x52\x41\x43\x54\x45\x52\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x62\x75\x69\x6c\x74\x69\x6e\x20\x55\x6e\x69\x63\x6f\x64\x65\x20\x63\x6f\x64\x65\x63\x73\x20\x6f\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x65\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x27\x3f\x27\x20\x6f\x6e\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x73\x75\x72\x72\x6f\x67\x61\x74\x65\x65\x73\x63\x61\x70\x65\x27\x20\x2d\x20\x72\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x70\x72\x69\x76\x61\x74\x65\x20\x63\x6f\x64\x65\x20\x70\x6f\x69\x6e\x74\x73\x20\x55\x2b\x44\x43\x6e\x6e\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x78\x6d\x6c\x63\x68\x61\x72\x72\x65\x66\x72\x65\x70\x6c\x61\x63\x65\x27\x20\x2d\x20\x52\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x61\x70\x70\x72\x6f\x70\x72\x69\x61\x74\x65\x20\x58\x4d\x4c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x20\x28\x6f\x6e\x6c\x79\x20\x66\x6f\x72\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x62\x61\x63\x6b\x73\x6c\x61\x73\x68\x72\x65\x70\x6c\x61\x63\x65\x27\x20\x20\x2d\x20\x52\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x62\x61\x63\x6b\x73\x6c\x61\x73\x68\x65\x64\x20\x65\x73\x63\x61\x70\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x73\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x6e\x61\x6d\x65\x72\x65\x70\x6c\x61\x63\x65\x27\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x52\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x5c\x4e\x7b\x2e\x2e\x2e\x7d\x20\x65\x73\x63\x61\x70\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x28\x6f\x6e\x6c\x79\x20\x66\x6f\x72\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x29\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x73\x65\x74\x20\x6f\x66\x20\x61\x6c\x6c\x6f\x77\x65\x64\x20\x76\x61\x6c\x75\x65\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x65\x78\x74\x65\x6e\x64\x65\x64\x20\x76\x69\x61\x20\x72\x65\x67\x69\x73\x74\x65\x72\x5f\x65\x72\x72\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20", @@ -58569,10 +56973,10 @@ static PyASCIIObject _ascii; uint8_t _data[548]; } -codecs_toplevel_consts_14_consts_3_consts_0 = { +codecs_toplevel_consts_14_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 547, @@ -58581,7 +56985,7 @@ codecs_toplevel_consts_14_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x45\x6e\x63\x6f\x64\x65\x73\x20\x74\x68\x65\x20\x6f\x62\x6a\x65\x63\x74\x20\x69\x6e\x70\x75\x74\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x73\x20\x61\x20\x74\x75\x70\x6c\x65\x20\x28\x6f\x75\x74\x70\x75\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x62\x6a\x65\x63\x74\x2c\x20\x6c\x65\x6e\x67\x74\x68\x20\x63\x6f\x6e\x73\x75\x6d\x65\x64\x29\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x72\x72\x6f\x72\x73\x20\x64\x65\x66\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x20\x74\x6f\x20\x61\x70\x70\x6c\x79\x2e\x20\x49\x74\x20\x64\x65\x66\x61\x75\x6c\x74\x73\x20\x74\x6f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x73\x74\x72\x69\x63\x74\x27\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x6d\x65\x74\x68\x6f\x64\x20\x6d\x61\x79\x20\x6e\x6f\x74\x20\x73\x74\x6f\x72\x65\x20\x73\x74\x61\x74\x65\x20\x69\x6e\x20\x74\x68\x65\x20\x43\x6f\x64\x65\x63\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x20\x55\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x53\x74\x72\x65\x61\x6d\x57\x72\x69\x74\x65\x72\x20\x66\x6f\x72\x20\x63\x6f\x64\x65\x63\x73\x20\x77\x68\x69\x63\x68\x20\x68\x61\x76\x65\x20\x74\x6f\x20\x6b\x65\x65\x70\x20\x73\x74\x61\x74\x65\x20\x69\x6e\x20\x6f\x72\x64\x65\x72\x20\x74\x6f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x61\x6b\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x65\x66\x66\x69\x63\x69\x65\x6e\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x65\x6e\x63\x6f\x64\x65\x72\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\x68\x61\x6e\x64\x6c\x65\x20\x7a\x65\x72\x6f\x20\x6c\x65\x6e\x67\x74\x68\x20\x69\x6e\x70\x75\x74\x20\x61\x6e\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x61\x6e\x20\x65\x6d\x70\x74\x79\x20\x6f\x62\x6a\x65\x63\x74\x20\x6f\x66\x20\x74\x68\x65\x20\x6f\x75\x74\x70\x75\x74\x20\x6f\x62\x6a\x65\x63\x74\x20\x74\x79\x70\x65\x20\x69\x6e\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x69\x74\x75\x61\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -58594,17 +56998,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_14_consts_3_consts = { +codecs_toplevel_consts_14_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_14_consts_3_consts_0._ascii.ob_base, + & codecs_toplevel_consts_14_consts_2_consts_0._ascii.ob_base, }, }, }; @@ -58616,11 +57020,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_14_consts_3_names = { +codecs_toplevel_consts_14_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -58635,10 +57039,10 @@ static PyASCIIObject _ascii; uint8_t _data[13]; } -codecs_toplevel_consts_14_consts_3_qualname = { +codecs_toplevel_consts_14_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -58647,7 +57051,7 @@ codecs_toplevel_consts_14_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Codec.encode", @@ -58658,38 +57062,16 @@ static Py_hash_t ob_shash; char ob_sval[11]; } -codecs_toplevel_consts_14_consts_3_linetable = { +codecs_toplevel_consts_14_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x22\x00\x0f\x22\xd0\x08\x21", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[6]; - } -const_str_input = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 5, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "input", + .ob_sval = "\x80\x00\xf4\x22\x00\x0f\x22\xd0\x08\x21", }; static struct { @@ -58699,57 +57081,55 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_14_consts_3_localsplusnames = { +codecs_toplevel_consts_14_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_input._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(input), &_Py_ID(errors), }, }, }; static - struct _PyCode_DEF(16) -codecs_toplevel_consts_14_consts_3 = { + struct _PyCode_DEF(14) +codecs_toplevel_consts_14_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, - .co_consts = & codecs_toplevel_consts_14_consts_3_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_14_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 138, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_14_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 269, + .co_localsplusnames = & codecs_toplevel_consts_14_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(encode), - .co_qualname = & codecs_toplevel_consts_14_consts_3_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_14_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_14_consts_2_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_14_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -58757,10 +57137,10 @@ static PyASCIIObject _ascii; uint8_t _data[755]; } -codecs_toplevel_consts_14_consts_4_consts_0 = { +codecs_toplevel_consts_14_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 754, @@ -58769,7 +57149,7 @@ codecs_toplevel_consts_14_consts_4_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x44\x65\x63\x6f\x64\x65\x73\x20\x74\x68\x65\x20\x6f\x62\x6a\x65\x63\x74\x20\x69\x6e\x70\x75\x74\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x73\x20\x61\x20\x74\x75\x70\x6c\x65\x20\x28\x6f\x75\x74\x70\x75\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x62\x6a\x65\x63\x74\x2c\x20\x6c\x65\x6e\x67\x74\x68\x20\x63\x6f\x6e\x73\x75\x6d\x65\x64\x29\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x70\x75\x74\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x6e\x20\x6f\x62\x6a\x65\x63\x74\x20\x77\x68\x69\x63\x68\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x74\x68\x65\x20\x62\x66\x5f\x67\x65\x74\x72\x65\x61\x64\x62\x75\x66\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x65\x72\x20\x73\x6c\x6f\x74\x2e\x20\x50\x79\x74\x68\x6f\x6e\x20\x73\x74\x72\x69\x6e\x67\x73\x2c\x20\x62\x75\x66\x66\x65\x72\x20\x6f\x62\x6a\x65\x63\x74\x73\x20\x61\x6e\x64\x20\x6d\x65\x6d\x6f\x72\x79\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x61\x70\x70\x65\x64\x20\x66\x69\x6c\x65\x73\x20\x61\x72\x65\x20\x65\x78\x61\x6d\x70\x6c\x65\x73\x20\x6f\x66\x20\x6f\x62\x6a\x65\x63\x74\x73\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x73\x6c\x6f\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x72\x72\x6f\x72\x73\x20\x64\x65\x66\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x20\x74\x6f\x20\x61\x70\x70\x6c\x79\x2e\x20\x49\x74\x20\x64\x65\x66\x61\x75\x6c\x74\x73\x20\x74\x6f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x73\x74\x72\x69\x63\x74\x27\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x6d\x65\x74\x68\x6f\x64\x20\x6d\x61\x79\x20\x6e\x6f\x74\x20\x73\x74\x6f\x72\x65\x20\x73\x74\x61\x74\x65\x20\x69\x6e\x20\x74\x68\x65\x20\x43\x6f\x64\x65\x63\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x20\x55\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x61\x64\x65\x72\x20\x66\x6f\x72\x20\x63\x6f\x64\x65\x63\x73\x20\x77\x68\x69\x63\x68\x20\x68\x61\x76\x65\x20\x74\x6f\x20\x6b\x65\x65\x70\x20\x73\x74\x61\x74\x65\x20\x69\x6e\x20\x6f\x72\x64\x65\x72\x20\x74\x6f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x61\x6b\x65\x20\x64\x65\x63\x6f\x64\x69\x6e\x67\x20\x65\x66\x66\x69\x63\x69\x65\x6e\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x64\x65\x63\x6f\x64\x65\x72\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\x68\x61\x6e\x64\x6c\x65\x20\x7a\x65\x72\x6f\x20\x6c\x65\x6e\x67\x74\x68\x20\x69\x6e\x70\x75\x74\x20\x61\x6e\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x61\x6e\x20\x65\x6d\x70\x74\x79\x20\x6f\x62\x6a\x65\x63\x74\x20\x6f\x66\x20\x74\x68\x65\x20\x6f\x75\x74\x70\x75\x74\x20\x6f\x62\x6a\x65\x63\x74\x20\x74\x79\x70\x65\x20\x69\x6e\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x69\x74\x75\x61\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -58782,17 +57162,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_14_consts_4_consts = { +codecs_toplevel_consts_14_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_14_consts_4_consts_0._ascii.ob_base, + & codecs_toplevel_consts_14_consts_3_consts_0._ascii.ob_base, }, }, }; @@ -58801,10 +57181,10 @@ static PyASCIIObject _ascii; uint8_t _data[13]; } -codecs_toplevel_consts_14_consts_4_qualname = { +codecs_toplevel_consts_14_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -58813,7 +57193,7 @@ codecs_toplevel_consts_14_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Codec.decode", @@ -58824,52 +57204,50 @@ static Py_hash_t ob_shash; char ob_sval[11]; } -codecs_toplevel_consts_14_consts_4_linetable = { +codecs_toplevel_consts_14_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x2a\x00\x0f\x22\xd0\x08\x21", + .ob_sval = "\x80\x00\xf4\x2a\x00\x0f\x22\xd0\x08\x21", }; static - struct _PyCode_DEF(16) -codecs_toplevel_consts_14_consts_4 = { + struct _PyCode_DEF(14) +codecs_toplevel_consts_14_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, - .co_consts = & codecs_toplevel_consts_14_consts_4_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_14_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 157, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_14_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 270, + .co_localsplusnames = & codecs_toplevel_consts_14_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(decode), - .co_qualname = & codecs_toplevel_consts_14_consts_4_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_14_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_14_consts_3_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_14_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -58880,11 +57258,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_14_consts_6 = { +codecs_toplevel_consts_14_consts_5 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -58899,26 +57277,25 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[7]; + PyObject *ob_item[6]; }_object; } codecs_toplevel_consts_14_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 7, + .ob_size = 6, }, .ob_item = { & const_str_Codec._ascii.ob_base, & codecs_toplevel_consts_14_consts_1._ascii.ob_base, - &_Py_ID(strict), + & codecs_toplevel_consts_14_consts_2.ob_base.ob_base, & codecs_toplevel_consts_14_consts_3.ob_base.ob_base, - & codecs_toplevel_consts_14_consts_4.ob_base.ob_base, Py_None, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, }, }, }; @@ -58934,7 +57311,7 @@ codecs_toplevel_consts_14_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -58953,54 +57330,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[71]; + char ob_sval[18]; } codecs_toplevel_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 70, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x04\x15\x05\x08\xf0\x00\x15\x05\x08\xf0\x2c\x11\x05\x22\xf0\x00\x11\x05\x22\xf0\x00\x11\x05\x22\xf0\x00\x11\x05\x22\xf0\x26\x15\x05\x22\xf0\x00\x15\x05\x22\xf0\x00\x15\x05\x22\xf0\x00\x15\x05\x22\xf0\x00\x15\x05\x22\xf0\x00\x15\x05\x22", + .ob_sval = "\x84\x00\xf1\x04\x15\x05\x08\xf3\x2c\x11\x05\x22\xf4\x26\x15\x05\x22", }; static - struct _PyCode_DEF(34) + struct _PyCode_DEF(32) codecs_toplevel_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 16, }, .co_consts = & codecs_toplevel_consts_14_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_14_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 114, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 271, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_Codec._ascii.ob_base, .co_qualname = & const_str_Codec._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x06\x64\x03\x84\x01\x5a\x04\x64\x06\x64\x04\x84\x01\x5a\x05\x64\x05\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x05\x64\x02\x84\x01\x5a\x04\x64\x05\x64\x03\x84\x01\x5a\x05\x79\x04", ._co_firsttraceable = 0, }; static @@ -59011,7 +57386,7 @@ static codecs_toplevel_consts_16_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 232, @@ -59020,7 +57395,7 @@ codecs_toplevel_consts_16_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x41\x6e\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x45\x6e\x63\x6f\x64\x65\x72\x20\x65\x6e\x63\x6f\x64\x65\x73\x20\x61\x6e\x20\x69\x6e\x70\x75\x74\x20\x69\x6e\x20\x6d\x75\x6c\x74\x69\x70\x6c\x65\x20\x73\x74\x65\x70\x73\x2e\x20\x54\x68\x65\x20\x69\x6e\x70\x75\x74\x20\x63\x61\x6e\x0a\x20\x20\x20\x20\x62\x65\x20\x70\x61\x73\x73\x65\x64\x20\x70\x69\x65\x63\x65\x20\x62\x79\x20\x70\x69\x65\x63\x65\x20\x74\x6f\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x65\x28\x29\x20\x6d\x65\x74\x68\x6f\x64\x2e\x20\x54\x68\x65\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x45\x6e\x63\x6f\x64\x65\x72\x0a\x20\x20\x20\x20\x72\x65\x6d\x65\x6d\x62\x65\x72\x73\x20\x74\x68\x65\x20\x73\x74\x61\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x63\x61\x6c\x6c\x73\x20\x74\x6f\x20\x65\x6e\x63\x6f\x64\x65\x28\x29\x2e\x0a\x20\x20\x20\x20", @@ -59030,10 +57405,10 @@ static PyASCIIObject _ascii; uint8_t _data[245]; } -codecs_toplevel_consts_16_consts_3_consts_0 = { +codecs_toplevel_consts_16_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 244, @@ -59042,7 +57417,7 @@ codecs_toplevel_consts_16_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x6e\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x45\x6e\x63\x6f\x64\x65\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x45\x6e\x63\x6f\x64\x65\x72\x20\x6d\x61\x79\x20\x75\x73\x65\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x20\x73\x63\x68\x65\x6d\x65\x73\x20\x62\x79\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x73\x20\x6b\x65\x79\x77\x6f\x72\x64\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x2e\x20\x53\x65\x65\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x64\x6f\x63\x73\x74\x72\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x70\x6f\x73\x73\x69\x62\x6c\x65\x20\x76\x61\x6c\x75\x65\x73\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -59055,17 +57430,17 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_16_consts_3_consts = { +codecs_toplevel_consts_16_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & codecs_toplevel_consts_16_consts_3_consts_0._ascii.ob_base, + & codecs_toplevel_consts_16_consts_2_consts_0._ascii.ob_base, &_Py_STR(empty), Py_None, }, @@ -59079,11 +57454,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_16_consts_3_names = { +codecs_toplevel_consts_16_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -59099,10 +57474,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_16_consts_3_qualname = { +codecs_toplevel_consts_16_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -59111,7 +57486,7 @@ codecs_toplevel_consts_16_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalEncoder.__init__", @@ -59120,18 +57495,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[19]; } -codecs_toplevel_consts_16_consts_3_linetable = { +codecs_toplevel_consts_16_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x10\x00\x17\x1d\x88\x04\x8c\x0b\xd8\x16\x18\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xf0\x10\x00\x17\x1d\x88\x04\x8c\x0b\xd8\x16\x18\x88\x04\x8d\x0b", }; static struct { @@ -59141,56 +57516,54 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_16_consts_3_localsplusnames = { +codecs_toplevel_consts_16_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(errors), }, }, }; static - struct _PyCode_DEF(34) -codecs_toplevel_consts_16_consts_3 = { + struct _PyCode_DEF(32) +codecs_toplevel_consts_16_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 16, }, - .co_consts = & codecs_toplevel_consts_16_consts_3_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_16_consts_3_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_16_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 186, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_16_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 272, + .co_localsplusnames = & codecs_toplevel_consts_16_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & codecs_toplevel_consts_16_consts_3_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_16_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x53\x00", + .co_qualname = & codecs_toplevel_consts_16_consts_2_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_16_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -59198,10 +57571,10 @@ static PyASCIIObject _ascii; uint8_t _data[66]; } -codecs_toplevel_consts_16_consts_5_consts_0 = { +codecs_toplevel_consts_16_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 65, @@ -59210,7 +57583,7 @@ codecs_toplevel_consts_16_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x45\x6e\x63\x6f\x64\x65\x73\x20\x69\x6e\x70\x75\x74\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x73\x20\x74\x68\x65\x20\x72\x65\x73\x75\x6c\x74\x69\x6e\x67\x20\x6f\x62\x6a\x65\x63\x74\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -59223,17 +57596,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_16_consts_5_consts = { +codecs_toplevel_consts_16_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_16_consts_5_consts_0._ascii.ob_base, + & codecs_toplevel_consts_16_consts_3_consts_0._ascii.ob_base, }, }, }; @@ -59242,10 +57615,10 @@ static PyASCIIObject _ascii; uint8_t _data[26]; } -codecs_toplevel_consts_16_consts_5_qualname = { +codecs_toplevel_consts_16_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -59254,7 +57627,7 @@ codecs_toplevel_consts_16_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalEncoder.encode", @@ -59265,38 +57638,16 @@ static Py_hash_t ob_shash; char ob_sval[11]; } -codecs_toplevel_consts_16_consts_5_linetable = { +codecs_toplevel_consts_16_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x08\x00\x0f\x22\xd0\x08\x21", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[6]; - } -const_str_final = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 5, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "final", + .ob_sval = "\x80\x00\xf4\x08\x00\x0f\x22\xd0\x08\x21", }; static struct { @@ -59306,57 +57657,55 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_16_consts_5_localsplusnames = { +codecs_toplevel_consts_16_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_input._ascii.ob_base, - & const_str_final._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(input), + &_Py_ID(final), }, }, }; static - struct _PyCode_DEF(16) -codecs_toplevel_consts_16_consts_5 = { + struct _PyCode_DEF(14) +codecs_toplevel_consts_16_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, - .co_consts = & codecs_toplevel_consts_16_consts_5_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_16_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 197, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_16_consts_5_localsplusnames._object.ob_base.ob_base, + .co_version = 273, + .co_localsplusnames = & codecs_toplevel_consts_16_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(encode), - .co_qualname = & codecs_toplevel_consts_16_consts_5_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_16_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_16_consts_3_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_16_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -59364,10 +57713,10 @@ static PyASCIIObject _ascii; uint8_t _data[59]; } -codecs_toplevel_consts_16_consts_6_consts_0 = { +codecs_toplevel_consts_16_consts_4_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 58, @@ -59376,7 +57725,7 @@ codecs_toplevel_consts_16_consts_6_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x73\x65\x74\x73\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x65\x72\x20\x74\x6f\x20\x74\x68\x65\x20\x69\x6e\x69\x74\x69\x61\x6c\x20\x73\x74\x61\x74\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -59389,17 +57738,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_16_consts_6_consts = { +codecs_toplevel_consts_16_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_16_consts_6_consts_0._ascii.ob_base, + & codecs_toplevel_consts_16_consts_4_consts_0._ascii.ob_base, Py_None, }, }, @@ -59409,10 +57758,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -codecs_toplevel_consts_16_consts_6_qualname = { +codecs_toplevel_consts_16_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -59421,46 +57770,44 @@ codecs_toplevel_consts_16_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalEncoder.reset", }; static - struct _PyCode_DEF(6) -codecs_toplevel_consts_16_consts_6 = { + struct _PyCode_DEF(4) +codecs_toplevel_consts_16_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & codecs_toplevel_consts_16_consts_6_consts._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_16_consts_4_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 203, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 274, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(reset), - .co_qualname = & codecs_toplevel_consts_16_consts_6_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_external_toplevel_consts_55_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_16_consts_4_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_external_toplevel_consts_54_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -59468,10 +57815,10 @@ static PyASCIIObject _ascii; uint8_t _data[59]; } -codecs_toplevel_consts_16_consts_7_consts_0 = { +codecs_toplevel_consts_16_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 58, @@ -59480,7 +57827,7 @@ codecs_toplevel_consts_16_consts_7_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x73\x74\x61\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x65\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -59493,17 +57840,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_16_consts_7_consts = { +codecs_toplevel_consts_16_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_16_consts_7_consts_0._ascii.ob_base, + & codecs_toplevel_consts_16_consts_5_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], }, }, @@ -59513,10 +57860,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_16_consts_7_qualname = { +codecs_toplevel_consts_16_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -59525,7 +57872,7 @@ codecs_toplevel_consts_16_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalEncoder.getstate", @@ -59534,54 +57881,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[10]; + char ob_sval[8]; } -codecs_toplevel_consts_16_consts_7_linetable = { +codecs_toplevel_consts_16_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 9, + .ob_size = 7, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x00\x10\x11\x88\x71", + .ob_sval = "\x80\x00\xf0\x08\x00\x10\x11", }; static - struct _PyCode_DEF(6) -codecs_toplevel_consts_16_consts_7 = { + struct _PyCode_DEF(4) +codecs_toplevel_consts_16_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & codecs_toplevel_consts_16_consts_7_consts._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_16_consts_5_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 208, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 275, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(getstate), - .co_qualname = & codecs_toplevel_consts_16_consts_7_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_16_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_16_consts_5_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_16_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -59589,10 +57934,10 @@ static PyASCIIObject _ascii; uint8_t _data[109]; } -codecs_toplevel_consts_16_consts_8_consts_0 = { +codecs_toplevel_consts_16_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 108, @@ -59601,7 +57946,7 @@ codecs_toplevel_consts_16_consts_8_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x53\x65\x74\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x73\x74\x61\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x65\x72\x2e\x20\x73\x74\x61\x74\x65\x20\x6d\x75\x73\x74\x20\x68\x61\x76\x65\x20\x62\x65\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x62\x79\x20\x67\x65\x74\x73\x74\x61\x74\x65\x28\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -59614,17 +57959,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_16_consts_8_consts = { +codecs_toplevel_consts_16_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_16_consts_8_consts_0._ascii.ob_base, + & codecs_toplevel_consts_16_consts_6_consts_0._ascii.ob_base, Py_None, }, }, @@ -59634,10 +57979,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_16_consts_8_qualname = { +codecs_toplevel_consts_16_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -59646,7 +57991,7 @@ codecs_toplevel_consts_16_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalEncoder.setstate", @@ -59659,56 +58004,54 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_16_consts_8_localsplusnames = { +codecs_toplevel_consts_16_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_state._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(6) -codecs_toplevel_consts_16_consts_8 = { + struct _PyCode_DEF(4) +codecs_toplevel_consts_16_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & codecs_toplevel_consts_16_consts_8_consts._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_16_consts_6_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 214, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_16_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 276, + .co_localsplusnames = & codecs_toplevel_consts_16_consts_6_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(setstate), - .co_qualname = & codecs_toplevel_consts_16_consts_8_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_external_toplevel_consts_55_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_16_consts_6_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_external_toplevel_consts_54_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -59719,11 +58062,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_16_consts_11 = { +codecs_toplevel_consts_16_consts_9 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -59738,31 +58081,29 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[12]; + PyObject *ob_item[10]; }_object; } codecs_toplevel_consts_16_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 12, + .ob_size = 10, }, .ob_item = { & const_str_IncrementalEncoder._ascii.ob_base, & codecs_toplevel_consts_16_consts_1._ascii.ob_base, - &_Py_ID(strict), + & codecs_toplevel_consts_16_consts_2.ob_base.ob_base, & codecs_toplevel_consts_16_consts_3.ob_base.ob_base, - Py_False, + & codecs_toplevel_consts_16_consts_4.ob_base.ob_base, & codecs_toplevel_consts_16_consts_5.ob_base.ob_base, & codecs_toplevel_consts_16_consts_6.ob_base.ob_base, - & codecs_toplevel_consts_16_consts_7.ob_base.ob_base, - & codecs_toplevel_consts_16_consts_8.ob_base.ob_base, Py_None, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, - & codecs_toplevel_consts_16_consts_11._object.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, + & codecs_toplevel_consts_16_consts_9._object.ob_base.ob_base, }, }, }; @@ -59778,7 +58119,7 @@ codecs_toplevel_consts_16_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -59800,54 +58141,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[116]; + char ob_sval[33]; } codecs_toplevel_consts_16_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 115, + .ob_size = 32, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x04\x05\x08\xf0\x00\x04\x05\x08\xf0\x0a\x09\x05\x19\xf0\x00\x09\x05\x19\xf0\x00\x09\x05\x19\xf0\x00\x09\x05\x19\xf0\x16\x04\x05\x22\xf0\x00\x04\x05\x22\xf0\x00\x04\x05\x22\xf0\x00\x04\x05\x22\xf0\x0c\x03\x05\x0c\xf0\x00\x03\x05\x0c\xf0\x00\x03\x05\x0c\xf0\x0a\x04\x05\x11\xf0\x00\x04\x05\x11\xf0\x00\x04\x05\x11\xf0\x0c\x04\x05\x0c\xf0\x00\x04\x05\x0c\xf0\x00\x04\x05\x0c\xf0\x00\x04\x05\x0c\xf0\x00\x04\x05\x0c", + .ob_sval = "\x84\x00\xf1\x02\x04\x05\x08\xf3\x0a\x09\x05\x19\xf3\x16\x04\x05\x22\xf2\x0c\x03\x05\x0c\xf2\x0a\x04\x05\x11\xf3\x0c\x04\x05\x0c", }; static - struct _PyCode_DEF(52) + struct _PyCode_DEF(50) codecs_toplevel_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 25, }, .co_consts = & codecs_toplevel_consts_16_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_16_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 180, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 277, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_IncrementalEncoder._ascii.ob_base, .co_qualname = & const_str_IncrementalEncoder._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_16_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x0a\x64\x03\x84\x01\x5a\x04\x64\x0b\x64\x05\x84\x01\x5a\x05\x64\x06\x84\x00\x5a\x06\x64\x07\x84\x00\x5a\x07\x64\x08\x84\x00\x5a\x08\x64\x09\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x08\x64\x02\x84\x01\x5a\x04\x64\x09\x64\x03\x84\x01\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x79\x07", ._co_firsttraceable = 0, }; static @@ -59858,7 +58197,7 @@ static const_str_BufferedIncrementalEncoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -59867,7 +58206,7 @@ const_str_BufferedIncrementalEncoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalEncoder", @@ -59880,7 +58219,7 @@ static codecs_toplevel_consts_18_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 192, @@ -59889,7 +58228,7 @@ codecs_toplevel_consts_18_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x20\x6f\x66\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x45\x6e\x63\x6f\x64\x65\x72\x20\x63\x61\x6e\x20\x62\x65\x20\x75\x73\x65\x64\x20\x61\x73\x20\x74\x68\x65\x20\x62\x61\x73\x65\x63\x6c\x61\x73\x73\x20\x66\x6f\x72\x20\x61\x6e\x0a\x20\x20\x20\x20\x69\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x20\x65\x6e\x63\x6f\x64\x65\x72\x20\x69\x66\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x65\x72\x20\x6d\x75\x73\x74\x20\x6b\x65\x65\x70\x20\x73\x6f\x6d\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x6f\x75\x74\x70\x75\x74\x20\x69\x6e\x20\x61\x0a\x20\x20\x20\x20\x62\x75\x66\x66\x65\x72\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x63\x61\x6c\x6c\x73\x20\x74\x6f\x20\x65\x6e\x63\x6f\x64\x65\x28\x29\x2e\x0a\x20\x20\x20\x20", @@ -59902,11 +58241,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_18_consts_3_names = { +codecs_toplevel_consts_18_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -59923,10 +58262,10 @@ static PyASCIIObject _ascii; uint8_t _data[36]; } -codecs_toplevel_consts_18_consts_3_qualname = { +codecs_toplevel_consts_18_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 35, @@ -59935,7 +58274,7 @@ codecs_toplevel_consts_18_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalEncoder.__init__", @@ -59944,54 +58283,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[36]; + char ob_sval[26]; } -codecs_toplevel_consts_18_consts_3_linetable = { +codecs_toplevel_consts_18_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 35, + .ob_size = 25, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x08\x1a\xd7\x08\x23\xd2\x08\x23\xa0\x44\xa8\x26\xd1\x08\x31\xd4\x08\x31\xd0\x08\x31\xe0\x16\x18\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xdc\x08\x1a\xd7\x08\x23\xd1\x08\x23\xa0\x44\xa8\x26\xd4\x08\x31\xe0\x16\x18\x88\x04\x8d\x0b", }; static - struct _PyCode_DEF(74) -codecs_toplevel_consts_18_consts_3 = { + struct _PyCode_DEF(62) +codecs_toplevel_consts_18_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 37, + .ob_size = 31, }, - .co_consts = & importlib__bootstrap_external_toplevel_consts_69_consts_4_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_18_consts_3_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_external_toplevel_consts_68_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_18_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 226, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_16_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 278, + .co_localsplusnames = & codecs_toplevel_consts_16_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & codecs_toplevel_consts_18_consts_3_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_18_consts_2_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -60002,7 +58339,7 @@ static const_str__buffer_encode = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -60011,7 +58348,7 @@ const_str__buffer_encode = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_buffer_encode", @@ -60021,10 +58358,10 @@ static PyASCIIObject _ascii; uint8_t _data[42]; } -codecs_toplevel_consts_18_consts_4_qualname = { +codecs_toplevel_consts_18_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 41, @@ -60033,7 +58370,7 @@ codecs_toplevel_consts_18_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalEncoder._buffer_encode", @@ -60044,16 +58381,16 @@ static Py_hash_t ob_shash; char ob_sval[11]; } -codecs_toplevel_consts_18_consts_4_linetable = { +codecs_toplevel_consts_18_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x0f\x22\xd0\x08\x21", + .ob_sval = "\x80\x00\xf4\x06\x00\x0f\x22\xd0\x08\x21", }; static struct { @@ -60063,58 +58400,56 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_18_consts_4_localsplusnames = { +codecs_toplevel_consts_18_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_input._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(input), &_Py_ID(errors), - & const_str_final._ascii.ob_base, + &_Py_ID(final), }, }, }; static - struct _PyCode_DEF(16) -codecs_toplevel_consts_18_consts_4 = { + struct _PyCode_DEF(14) +codecs_toplevel_consts_18_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 231, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_18_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 279, + .co_localsplusnames = & codecs_toplevel_consts_18_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str__buffer_encode._ascii.ob_base, - .co_qualname = & codecs_toplevel_consts_18_consts_4_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_18_consts_3_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -60125,11 +58460,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_18_consts_6_names = { +codecs_toplevel_consts_18_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -60146,10 +58481,10 @@ static PyASCIIObject _ascii; uint8_t _data[34]; } -codecs_toplevel_consts_18_consts_6_qualname = { +codecs_toplevel_consts_18_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 33, @@ -60158,7 +58493,7 @@ codecs_toplevel_consts_18_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalEncoder.encode", @@ -60167,18 +58502,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[65]; + char ob_sval[64]; } -codecs_toplevel_consts_18_consts_6_linetable = { +codecs_toplevel_consts_18_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 64, + .ob_size = 63, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x13\x8c\x7b\x98\x55\xd1\x0f\x22\x88\x04\xd8\x1d\x21\xd7\x1d\x30\xd2\x1d\x30\xb0\x14\xb0\x74\xb4\x7b\xc0\x45\xd1\x1d\x4a\xd4\x1d\x4a\xd1\x08\x1a\x88\x16\x90\x18\xe0\x16\x1a\x98\x38\x98\x39\x98\x39\x94\x6f\x88\x04\x8c\x0b\xd8\x0f\x15\x88\x0d", + .ob_sval = "\x80\x00\xe0\x0f\x13\x8f\x7b\x89\x7b\x98\x55\xd1\x0f\x22\x88\x04\xd8\x1d\x21\xd7\x1d\x30\xd1\x1d\x30\xb0\x14\xb0\x74\xb7\x7b\xb1\x7b\xc0\x45\xd3\x1d\x4a\xd1\x08\x1a\x88\x16\x90\x18\xe0\x16\x1a\x98\x38\x98\x39\x90\x6f\x88\x04\x8c\x0b\xd8\x0f\x15\x88\x0d", }; static struct { @@ -60188,7 +58523,7 @@ static const_str_result = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -60197,7 +58532,7 @@ const_str_result = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "result", @@ -60210,7 +58545,7 @@ static const_str_consumed = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -60219,7 +58554,7 @@ const_str_consumed = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "consumed", @@ -60232,60 +58567,58 @@ static PyObject *ob_item[6]; }_object; } -codecs_toplevel_consts_18_consts_6_localsplusnames = { +codecs_toplevel_consts_18_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_input._ascii.ob_base, - & const_str_final._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(input), + &_Py_ID(final), + &_Py_ID(data), & const_str_result._ascii.ob_base, & const_str_consumed._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(118) -codecs_toplevel_consts_18_consts_6 = { + struct _PyCode_DEF(120) +codecs_toplevel_consts_18_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 59, + .ob_size = 60, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_18_consts_6_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_18_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 236, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_18_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 280, + .co_localsplusnames = & codecs_toplevel_consts_18_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(encode), - .co_qualname = & codecs_toplevel_consts_18_consts_6_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7a\x00\x00\x00\x7d\x03\x7c\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x04\x7d\x05\x7c\x03\x7c\x05\x64\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x53\x00", + .co_qualname = & codecs_toplevel_consts_18_consts_4_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7a\x00\x00\x00\x7d\x03\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x03\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x04\x7d\x05\x7c\x03\x7c\x05\x64\x00\x1a\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x53\x00", ._co_firsttraceable = 0, }; static @@ -60296,11 +58629,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_18_consts_7_names = { +codecs_toplevel_consts_18_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -60317,10 +58650,10 @@ static PyASCIIObject _ascii; uint8_t _data[33]; } -codecs_toplevel_consts_18_consts_7_qualname = { +codecs_toplevel_consts_18_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 32, @@ -60329,7 +58662,7 @@ codecs_toplevel_consts_18_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalEncoder.reset", @@ -60338,54 +58671,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[34]; + char ob_sval[24]; } -codecs_toplevel_consts_18_consts_7_linetable = { +codecs_toplevel_consts_18_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 33, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x08\x1a\xd7\x08\x20\xd2\x08\x20\xa0\x14\xd1\x08\x26\xd4\x08\x26\xd0\x08\x26\xd8\x16\x18\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xdc\x08\x1a\xd7\x08\x20\xd1\x08\x20\xa0\x14\xd4\x08\x26\xd8\x16\x18\x88\x04\x8d\x0b", }; static - struct _PyCode_DEF(72) -codecs_toplevel_consts_18_consts_7 = { + struct _PyCode_DEF(60) +codecs_toplevel_consts_18_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 36, + .ob_size = 30, }, - .co_consts = & importlib__bootstrap_external_toplevel_consts_69_consts_4_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_18_consts_7_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_external_toplevel_consts_68_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_18_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 244, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 281, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(reset), - .co_qualname = & codecs_toplevel_consts_18_consts_7_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_18_consts_5_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -60396,11 +58727,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_18_consts_8_names = { +codecs_toplevel_consts_18_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -60415,10 +58746,10 @@ static PyASCIIObject _ascii; uint8_t _data[36]; } -codecs_toplevel_consts_18_consts_8_qualname = { +codecs_toplevel_consts_18_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 35, @@ -60427,7 +58758,7 @@ codecs_toplevel_consts_18_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalEncoder.getstate", @@ -60436,54 +58767,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[18]; } -codecs_toplevel_consts_18_consts_8_linetable = { +codecs_toplevel_consts_18_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x13\x8c\x7b\xd0\x0f\x1f\x98\x61\xd0\x08\x1f", + .ob_sval = "\x80\x00\xd8\x0f\x13\x8f\x7b\x89\x7b\xd2\x0f\x1f\x98\x61\xd0\x08\x1f", }; static - struct _PyCode_DEF(20) -codecs_toplevel_consts_18_consts_8 = { + struct _PyCode_DEF(34) +codecs_toplevel_consts_18_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 10, + .ob_size = 17, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_18_consts_8_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_18_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, .co_firstlineno = 248, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 282, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(getstate), - .co_qualname = & codecs_toplevel_consts_18_consts_8_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x01\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_18_consts_6_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x01\x73\x02\x01\x00\x64\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -60491,10 +58820,10 @@ static PyASCIIObject _ascii; uint8_t _data[36]; } -codecs_toplevel_consts_18_consts_9_qualname = { +codecs_toplevel_consts_18_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 35, @@ -60503,7 +58832,7 @@ codecs_toplevel_consts_18_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalEncoder.setstate", @@ -60512,54 +58841,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[18]; + char ob_sval[14]; } -codecs_toplevel_consts_18_consts_9_linetable = { +codecs_toplevel_consts_18_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 17, + .ob_size = 13, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x16\x1b\x90\x6b\x98\x72\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xd8\x16\x1b\x92\x6b\x98\x72\x88\x04\x8d\x0b", }; static - struct _PyCode_DEF(24) -codecs_toplevel_consts_18_consts_9 = { + struct _PyCode_DEF(26) +codecs_toplevel_consts_18_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 12, + .ob_size = 13, }, - .co_consts = & importlib__bootstrap_external_toplevel_consts_69_consts_4_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_18_consts_8_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_external_toplevel_consts_68_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_18_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 251, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_16_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 283, + .co_localsplusnames = & codecs_toplevel_consts_16_consts_6_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(setstate), - .co_qualname = & codecs_toplevel_consts_18_consts_9_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x70\x01\x64\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_18_consts_7_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x78\x01\x73\x02\x01\x00\x64\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -60567,32 +58894,30 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[13]; + PyObject *ob_item[11]; }_object; } codecs_toplevel_consts_18_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 13, + .ob_size = 11, }, .ob_item = { & const_str_BufferedIncrementalEncoder._ascii.ob_base, & codecs_toplevel_consts_18_consts_1._ascii.ob_base, - &_Py_ID(strict), + & codecs_toplevel_consts_18_consts_2.ob_base.ob_base, & codecs_toplevel_consts_18_consts_3.ob_base.ob_base, & codecs_toplevel_consts_18_consts_4.ob_base.ob_base, - Py_False, + & codecs_toplevel_consts_18_consts_5.ob_base.ob_base, & codecs_toplevel_consts_18_consts_6.ob_base.ob_base, & codecs_toplevel_consts_18_consts_7.ob_base.ob_base, - & codecs_toplevel_consts_18_consts_8.ob_base.ob_base, - & codecs_toplevel_consts_18_consts_9.ob_base.ob_base, Py_None, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, - & codecs_toplevel_consts_16_consts_11._object.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, + & codecs_toplevel_consts_16_consts_9._object.ob_base.ob_base, }, }, }; @@ -60608,7 +58933,7 @@ codecs_toplevel_consts_18_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -60631,54 +58956,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[131]; + char ob_sval[38]; } codecs_toplevel_consts_18_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 130, + .ob_size = 37, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x04\x05\x08\xf0\x00\x04\x05\x08\xf0\x0a\x03\x05\x19\xf0\x00\x03\x05\x19\xf0\x00\x03\x05\x19\xf0\x00\x03\x05\x19\xf0\x0a\x03\x05\x22\xf0\x00\x03\x05\x22\xf0\x00\x03\x05\x22\xf0\x0a\x06\x05\x16\xf0\x00\x06\x05\x16\xf0\x00\x06\x05\x16\xf0\x00\x06\x05\x16\xf0\x10\x02\x05\x19\xf0\x00\x02\x05\x19\xf0\x00\x02\x05\x19\xf0\x08\x01\x05\x20\xf0\x00\x01\x05\x20\xf0\x00\x01\x05\x20\xf0\x06\x01\x05\x22\xf0\x00\x01\x05\x22\xf0\x00\x01\x05\x22\xf0\x00\x01\x05\x22\xf0\x00\x01\x05\x22", + .ob_sval = "\x84\x00\xf1\x02\x04\x05\x08\xf3\x0a\x03\x05\x19\xf2\x0a\x03\x05\x22\xf3\x0a\x06\x05\x16\xf2\x10\x02\x05\x19\xf2\x08\x01\x05\x20\xf3\x06\x01\x05\x22", }; static - struct _PyCode_DEF(58) + struct _PyCode_DEF(56) codecs_toplevel_consts_18 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 28, }, .co_consts = & codecs_toplevel_consts_18_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_18_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 220, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 284, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_BufferedIncrementalEncoder._ascii.ob_base, .co_qualname = & const_str_BufferedIncrementalEncoder._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_18_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x0b\x64\x03\x84\x01\x5a\x04\x64\x04\x84\x00\x5a\x05\x64\x0c\x64\x06\x84\x01\x5a\x06\x64\x07\x84\x00\x5a\x07\x64\x08\x84\x00\x5a\x08\x64\x09\x84\x00\x5a\x09\x64\x0a\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x09\x64\x02\x84\x01\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x0a\x64\x04\x84\x01\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x64\x07\x84\x00\x5a\x09\x79\x08", ._co_firsttraceable = 0, }; static @@ -60689,7 +59012,7 @@ static codecs_toplevel_consts_20_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 232, @@ -60698,7 +59021,7 @@ codecs_toplevel_consts_20_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x41\x6e\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x44\x65\x63\x6f\x64\x65\x72\x20\x64\x65\x63\x6f\x64\x65\x73\x20\x61\x6e\x20\x69\x6e\x70\x75\x74\x20\x69\x6e\x20\x6d\x75\x6c\x74\x69\x70\x6c\x65\x20\x73\x74\x65\x70\x73\x2e\x20\x54\x68\x65\x20\x69\x6e\x70\x75\x74\x20\x63\x61\x6e\x0a\x20\x20\x20\x20\x62\x65\x20\x70\x61\x73\x73\x65\x64\x20\x70\x69\x65\x63\x65\x20\x62\x79\x20\x70\x69\x65\x63\x65\x20\x74\x6f\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x64\x65\x28\x29\x20\x6d\x65\x74\x68\x6f\x64\x2e\x20\x54\x68\x65\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x44\x65\x63\x6f\x64\x65\x72\x0a\x20\x20\x20\x20\x72\x65\x6d\x65\x6d\x62\x65\x72\x73\x20\x74\x68\x65\x20\x73\x74\x61\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x64\x69\x6e\x67\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x63\x61\x6c\x6c\x73\x20\x74\x6f\x20\x64\x65\x63\x6f\x64\x65\x28\x29\x2e\x0a\x20\x20\x20\x20", @@ -60708,10 +59031,10 @@ static PyASCIIObject _ascii; uint8_t _data[244]; } -codecs_toplevel_consts_20_consts_3_consts_0 = { +codecs_toplevel_consts_20_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 243, @@ -60720,7 +59043,7 @@ codecs_toplevel_consts_20_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x43\x72\x65\x61\x74\x65\x20\x61\x6e\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x44\x65\x63\x6f\x64\x65\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x44\x65\x63\x6f\x64\x65\x72\x20\x6d\x61\x79\x20\x75\x73\x65\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x20\x73\x63\x68\x65\x6d\x65\x73\x20\x62\x79\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x73\x20\x6b\x65\x79\x77\x6f\x72\x64\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x2e\x20\x53\x65\x65\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x64\x6f\x63\x73\x74\x72\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x70\x6f\x73\x73\x69\x62\x6c\x65\x20\x76\x61\x6c\x75\x65\x73\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -60733,17 +59056,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_20_consts_3_consts = { +codecs_toplevel_consts_20_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_20_consts_3_consts_0._ascii.ob_base, + & codecs_toplevel_consts_20_consts_2_consts_0._ascii.ob_base, Py_None, }, }, @@ -60756,11 +59079,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_20_consts_3_names = { +codecs_toplevel_consts_20_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -60775,10 +59098,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_20_consts_3_qualname = { +codecs_toplevel_consts_20_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -60787,7 +59110,7 @@ codecs_toplevel_consts_20_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalDecoder.__init__", @@ -60796,54 +59119,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[12]; } -codecs_toplevel_consts_20_consts_3_linetable = { +codecs_toplevel_consts_20_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 11, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x10\x00\x17\x1d\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xf0\x10\x00\x17\x1d\x88\x04\x8d\x0b", }; static - struct _PyCode_DEF(20) -codecs_toplevel_consts_20_consts_3 = { + struct _PyCode_DEF(18) +codecs_toplevel_consts_20_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 10, + .ob_size = 9, }, - .co_consts = & codecs_toplevel_consts_20_consts_3_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_20_consts_3_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_20_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_20_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 260, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_16_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 285, + .co_localsplusnames = & codecs_toplevel_consts_16_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & codecs_toplevel_consts_20_consts_3_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_20_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_20_consts_2_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_20_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -60851,10 +59172,10 @@ static PyASCIIObject _ascii; uint8_t _data[65]; } -codecs_toplevel_consts_20_consts_5_consts_0 = { +codecs_toplevel_consts_20_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 64, @@ -60863,7 +59184,7 @@ codecs_toplevel_consts_20_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x44\x65\x63\x6f\x64\x65\x20\x69\x6e\x70\x75\x74\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x73\x20\x74\x68\x65\x20\x72\x65\x73\x75\x6c\x74\x69\x6e\x67\x20\x6f\x62\x6a\x65\x63\x74\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -60876,17 +59197,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_20_consts_5_consts = { +codecs_toplevel_consts_20_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_20_consts_5_consts_0._ascii.ob_base, + & codecs_toplevel_consts_20_consts_3_consts_0._ascii.ob_base, }, }, }; @@ -60895,10 +59216,10 @@ static PyASCIIObject _ascii; uint8_t _data[26]; } -codecs_toplevel_consts_20_consts_5_qualname = { +codecs_toplevel_consts_20_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -60907,46 +59228,44 @@ codecs_toplevel_consts_20_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalDecoder.decode", }; static - struct _PyCode_DEF(16) -codecs_toplevel_consts_20_consts_5 = { + struct _PyCode_DEF(14) +codecs_toplevel_consts_20_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, - .co_consts = & codecs_toplevel_consts_20_consts_5_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_20_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 270, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_16_consts_5_localsplusnames._object.ob_base.ob_base, + .co_version = 286, + .co_localsplusnames = & codecs_toplevel_consts_16_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(decode), - .co_qualname = & codecs_toplevel_consts_20_consts_5_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_16_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_20_consts_3_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_16_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -60954,10 +59273,10 @@ static PyASCIIObject _ascii; uint8_t _data[58]; } -codecs_toplevel_consts_20_consts_6_consts_0 = { +codecs_toplevel_consts_20_consts_4_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 57, @@ -60966,7 +59285,7 @@ codecs_toplevel_consts_20_consts_6_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x73\x65\x74\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x64\x65\x72\x20\x74\x6f\x20\x74\x68\x65\x20\x69\x6e\x69\x74\x69\x61\x6c\x20\x73\x74\x61\x74\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -60979,17 +59298,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_20_consts_6_consts = { +codecs_toplevel_consts_20_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_20_consts_6_consts_0._ascii.ob_base, + & codecs_toplevel_consts_20_consts_4_consts_0._ascii.ob_base, Py_None, }, }, @@ -60999,10 +59318,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -codecs_toplevel_consts_20_consts_6_qualname = { +codecs_toplevel_consts_20_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -61011,46 +59330,44 @@ codecs_toplevel_consts_20_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalDecoder.reset", }; static - struct _PyCode_DEF(6) -codecs_toplevel_consts_20_consts_6 = { + struct _PyCode_DEF(4) +codecs_toplevel_consts_20_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & codecs_toplevel_consts_20_consts_6_consts._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_20_consts_4_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 276, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 287, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(reset), - .co_qualname = & codecs_toplevel_consts_20_consts_6_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_external_toplevel_consts_55_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_20_consts_4_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_external_toplevel_consts_54_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -61058,10 +59375,10 @@ static PyASCIIObject _ascii; uint8_t _data[522]; } -codecs_toplevel_consts_20_consts_7_consts_0 = { +codecs_toplevel_consts_20_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 521, @@ -61070,7 +59387,7 @@ codecs_toplevel_consts_20_consts_7_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x73\x74\x61\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x64\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x69\x73\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x20\x28\x62\x75\x66\x66\x65\x72\x65\x64\x5f\x69\x6e\x70\x75\x74\x2c\x20\x61\x64\x64\x69\x74\x69\x6f\x6e\x61\x6c\x5f\x73\x74\x61\x74\x65\x5f\x69\x6e\x66\x6f\x29\x20\x74\x75\x70\x6c\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x65\x72\x65\x64\x5f\x69\x6e\x70\x75\x74\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x20\x62\x79\x74\x65\x73\x20\x6f\x62\x6a\x65\x63\x74\x20\x63\x6f\x6e\x74\x61\x69\x6e\x69\x6e\x67\x20\x62\x79\x74\x65\x73\x20\x74\x68\x61\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x77\x65\x72\x65\x20\x70\x61\x73\x73\x65\x64\x20\x74\x6f\x20\x64\x65\x63\x6f\x64\x65\x28\x29\x20\x74\x68\x61\x74\x20\x68\x61\x76\x65\x20\x6e\x6f\x74\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x63\x6f\x6e\x76\x65\x72\x74\x65\x64\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x64\x64\x69\x74\x69\x6f\x6e\x61\x6c\x5f\x73\x74\x61\x74\x65\x5f\x69\x6e\x66\x6f\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x20\x6e\x6f\x6e\x2d\x6e\x65\x67\x61\x74\x69\x76\x65\x20\x69\x6e\x74\x65\x67\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x70\x72\x65\x73\x65\x6e\x74\x69\x6e\x67\x20\x74\x68\x65\x20\x73\x74\x61\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x64\x65\x72\x20\x57\x49\x54\x48\x4f\x55\x54\x20\x79\x65\x74\x20\x68\x61\x76\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x65\x64\x20\x74\x68\x65\x20\x63\x6f\x6e\x74\x65\x6e\x74\x73\x20\x6f\x66\x20\x62\x75\x66\x66\x65\x72\x65\x64\x5f\x69\x6e\x70\x75\x74\x2e\x20\x20\x49\x6e\x20\x74\x68\x65\x20\x69\x6e\x69\x74\x69\x61\x6c\x20\x73\x74\x61\x74\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x6e\x64\x20\x61\x66\x74\x65\x72\x20\x72\x65\x73\x65\x74\x28\x29\x2c\x20\x67\x65\x74\x73\x74\x61\x74\x65\x28\x29\x20\x6d\x75\x73\x74\x20\x72\x65\x74\x75\x72\x6e\x20\x28\x62\x22\x22\x2c\x20\x30\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -61083,11 +59400,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_20_consts_7_consts_1 = { +codecs_toplevel_consts_20_consts_5_consts_1 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -61106,18 +59423,18 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_20_consts_7_consts = { +codecs_toplevel_consts_20_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_20_consts_7_consts_0._ascii.ob_base, - & codecs_toplevel_consts_20_consts_7_consts_1._object.ob_base.ob_base, + & codecs_toplevel_consts_20_consts_5_consts_0._ascii.ob_base, + & codecs_toplevel_consts_20_consts_5_consts_1._object.ob_base.ob_base, }, }, }; @@ -61126,10 +59443,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_20_consts_7_qualname = { +codecs_toplevel_consts_20_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -61138,7 +59455,7 @@ codecs_toplevel_consts_20_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalDecoder.getstate", @@ -61147,54 +59464,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[10]; + char ob_sval[8]; } -codecs_toplevel_consts_20_consts_7_linetable = { +codecs_toplevel_consts_20_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 9, + .ob_size = 7, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x18\x00\x10\x18\x88\x78", + .ob_sval = "\x80\x00\xf0\x18\x00\x10\x18", }; static - struct _PyCode_DEF(6) -codecs_toplevel_consts_20_consts_7 = { + struct _PyCode_DEF(4) +codecs_toplevel_consts_20_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & codecs_toplevel_consts_20_consts_7_consts._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_20_consts_5_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 281, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 288, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(getstate), - .co_qualname = & codecs_toplevel_consts_20_consts_7_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_20_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_20_consts_5_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_20_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -61202,10 +59517,10 @@ static PyASCIIObject _ascii; uint8_t _data[183]; } -codecs_toplevel_consts_20_consts_8_consts_0 = { +codecs_toplevel_consts_20_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 182, @@ -61214,7 +59529,7 @@ codecs_toplevel_consts_20_consts_8_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x53\x65\x74\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x73\x74\x61\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x64\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x61\x74\x65\x20\x6d\x75\x73\x74\x20\x68\x61\x76\x65\x20\x62\x65\x65\x6e\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x62\x79\x20\x67\x65\x74\x73\x74\x61\x74\x65\x28\x29\x2e\x20\x20\x54\x68\x65\x20\x65\x66\x66\x65\x63\x74\x20\x6f\x66\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x73\x74\x61\x74\x65\x28\x28\x62\x22\x22\x2c\x20\x30\x29\x29\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x65\x71\x75\x69\x76\x61\x6c\x65\x6e\x74\x20\x74\x6f\x20\x72\x65\x73\x65\x74\x28\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -61227,17 +59542,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_20_consts_8_consts = { +codecs_toplevel_consts_20_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_20_consts_8_consts_0._ascii.ob_base, + & codecs_toplevel_consts_20_consts_6_consts_0._ascii.ob_base, Py_None, }, }, @@ -61247,10 +59562,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_20_consts_8_qualname = { +codecs_toplevel_consts_20_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -61259,46 +59574,44 @@ codecs_toplevel_consts_20_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IncrementalDecoder.setstate", }; static - struct _PyCode_DEF(6) -codecs_toplevel_consts_20_consts_8 = { + struct _PyCode_DEF(4) +codecs_toplevel_consts_20_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & codecs_toplevel_consts_20_consts_8_consts._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_20_consts_6_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 295, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_16_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 289, + .co_localsplusnames = & codecs_toplevel_consts_16_consts_6_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(setstate), - .co_qualname = & codecs_toplevel_consts_20_consts_8_qualname._ascii.ob_base, - .co_linetable = & importlib__bootstrap_external_toplevel_consts_55_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_20_consts_6_qualname._ascii.ob_base, + .co_linetable = & importlib__bootstrap_external_toplevel_consts_54_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -61306,31 +59619,29 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[12]; + PyObject *ob_item[10]; }_object; } codecs_toplevel_consts_20_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 12, + .ob_size = 10, }, .ob_item = { & const_str_IncrementalDecoder._ascii.ob_base, & codecs_toplevel_consts_20_consts_1._ascii.ob_base, - &_Py_ID(strict), + & codecs_toplevel_consts_20_consts_2.ob_base.ob_base, & codecs_toplevel_consts_20_consts_3.ob_base.ob_base, - Py_False, + & codecs_toplevel_consts_20_consts_4.ob_base.ob_base, & codecs_toplevel_consts_20_consts_5.ob_base.ob_base, & codecs_toplevel_consts_20_consts_6.ob_base.ob_base, - & codecs_toplevel_consts_20_consts_7.ob_base.ob_base, - & codecs_toplevel_consts_20_consts_8.ob_base.ob_base, Py_None, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, - & codecs_toplevel_consts_16_consts_11._object.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, + & codecs_toplevel_consts_16_consts_9._object.ob_base.ob_base, }, }, }; @@ -61346,7 +59657,7 @@ codecs_toplevel_consts_20_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -61368,54 +59679,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[116]; + char ob_sval[33]; } codecs_toplevel_consts_20_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 115, + .ob_size = 32, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x04\x05\x08\xf0\x00\x04\x05\x08\xf0\x0a\x08\x05\x1d\xf0\x00\x08\x05\x1d\xf0\x00\x08\x05\x1d\xf0\x00\x08\x05\x1d\xf0\x14\x04\x05\x22\xf0\x00\x04\x05\x22\xf0\x00\x04\x05\x22\xf0\x00\x04\x05\x22\xf0\x0c\x03\x05\x0c\xf0\x00\x03\x05\x0c\xf0\x00\x03\x05\x0c\xf0\x0a\x0c\x05\x18\xf0\x00\x0c\x05\x18\xf0\x00\x0c\x05\x18\xf0\x1c\x06\x05\x0c\xf0\x00\x06\x05\x0c\xf0\x00\x06\x05\x0c\xf0\x00\x06\x05\x0c\xf0\x00\x06\x05\x0c", + .ob_sval = "\x84\x00\xf1\x02\x04\x05\x08\xf3\x0a\x08\x05\x1d\xf3\x14\x04\x05\x22\xf2\x0c\x03\x05\x0c\xf2\x0a\x0c\x05\x18\xf3\x1c\x06\x05\x0c", }; static - struct _PyCode_DEF(52) + struct _PyCode_DEF(50) codecs_toplevel_consts_20 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 25, }, .co_consts = & codecs_toplevel_consts_20_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_20_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 254, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 290, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_IncrementalDecoder._ascii.ob_base, .co_qualname = & const_str_IncrementalDecoder._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x0a\x64\x03\x84\x01\x5a\x04\x64\x0b\x64\x05\x84\x01\x5a\x05\x64\x06\x84\x00\x5a\x06\x64\x07\x84\x00\x5a\x07\x64\x08\x84\x00\x5a\x08\x64\x09\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x08\x64\x02\x84\x01\x5a\x04\x64\x09\x64\x03\x84\x01\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x79\x07", ._co_firsttraceable = 0, }; static @@ -61426,7 +59735,7 @@ static const_str_BufferedIncrementalDecoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -61435,7 +59744,7 @@ const_str_BufferedIncrementalDecoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalDecoder", @@ -61448,7 +59757,7 @@ static codecs_toplevel_consts_22_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 174, @@ -61457,7 +59766,7 @@ codecs_toplevel_consts_22_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x20\x6f\x66\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x44\x65\x63\x6f\x64\x65\x72\x20\x63\x61\x6e\x20\x62\x65\x20\x75\x73\x65\x64\x20\x61\x73\x20\x74\x68\x65\x20\x62\x61\x73\x65\x63\x6c\x61\x73\x73\x20\x66\x6f\x72\x20\x61\x6e\x0a\x20\x20\x20\x20\x69\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x20\x64\x65\x63\x6f\x64\x65\x72\x20\x69\x66\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x64\x65\x72\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\x68\x61\x6e\x64\x6c\x65\x20\x69\x6e\x63\x6f\x6d\x70\x6c\x65\x74\x65\x0a\x20\x20\x20\x20\x62\x79\x74\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x73\x2e\x0a\x20\x20\x20\x20", @@ -61470,11 +59779,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_22_consts_3_consts = { +codecs_toplevel_consts_22_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -61493,11 +59802,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_22_consts_3_names = { +codecs_toplevel_consts_22_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -61514,10 +59823,10 @@ static PyASCIIObject _ascii; uint8_t _data[36]; } -codecs_toplevel_consts_22_consts_3_qualname = { +codecs_toplevel_consts_22_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 35, @@ -61526,7 +59835,7 @@ codecs_toplevel_consts_22_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalDecoder.__init__", @@ -61535,54 +59844,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[36]; + char ob_sval[26]; } -codecs_toplevel_consts_22_consts_3_linetable = { +codecs_toplevel_consts_22_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 35, + .ob_size = 25, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x08\x1a\xd7\x08\x23\xd2\x08\x23\xa0\x44\xa8\x26\xd1\x08\x31\xd4\x08\x31\xd0\x08\x31\xe0\x16\x19\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xdc\x08\x1a\xd7\x08\x23\xd1\x08\x23\xa0\x44\xa8\x26\xd4\x08\x31\xe0\x16\x19\x88\x04\x8d\x0b", }; static - struct _PyCode_DEF(74) -codecs_toplevel_consts_22_consts_3 = { + struct _PyCode_DEF(62) +codecs_toplevel_consts_22_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 37, + .ob_size = 31, }, - .co_consts = & codecs_toplevel_consts_22_consts_3_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_22_consts_3_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_22_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_22_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 309, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_16_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 291, + .co_localsplusnames = & codecs_toplevel_consts_16_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & codecs_toplevel_consts_22_consts_3_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_22_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_22_consts_2_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_22_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -61593,7 +59900,7 @@ static const_str__buffer_decode = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -61602,7 +59909,7 @@ const_str__buffer_decode = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_buffer_decode", @@ -61612,10 +59919,10 @@ static PyASCIIObject _ascii; uint8_t _data[42]; } -codecs_toplevel_consts_22_consts_4_qualname = { +codecs_toplevel_consts_22_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 41, @@ -61624,46 +59931,44 @@ codecs_toplevel_consts_22_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalDecoder._buffer_decode", }; static - struct _PyCode_DEF(16) -codecs_toplevel_consts_22_consts_4 = { + struct _PyCode_DEF(14) +codecs_toplevel_consts_22_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 314, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_18_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 292, + .co_localsplusnames = & codecs_toplevel_consts_18_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str__buffer_decode._ascii.ob_base, - .co_qualname = & codecs_toplevel_consts_22_consts_4_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_22_consts_3_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -61674,11 +59979,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_22_consts_6_names = { +codecs_toplevel_consts_22_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -61695,10 +60000,10 @@ static PyASCIIObject _ascii; uint8_t _data[34]; } -codecs_toplevel_consts_22_consts_6_qualname = { +codecs_toplevel_consts_22_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 33, @@ -61707,46 +60012,44 @@ codecs_toplevel_consts_22_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalDecoder.decode", }; static - struct _PyCode_DEF(118) -codecs_toplevel_consts_22_consts_6 = { + struct _PyCode_DEF(120) +codecs_toplevel_consts_22_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 59, + .ob_size = 60, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_22_consts_6_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_22_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 319, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_18_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 293, + .co_localsplusnames = & codecs_toplevel_consts_18_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(decode), - .co_qualname = & codecs_toplevel_consts_22_consts_6_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7a\x00\x00\x00\x7d\x03\x7c\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x04\x7d\x05\x7c\x03\x7c\x05\x64\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x53\x00", + .co_qualname = & codecs_toplevel_consts_22_consts_4_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7a\x00\x00\x00\x7d\x03\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x03\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x04\x7d\x05\x7c\x03\x7c\x05\x64\x00\x1a\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x53\x00", ._co_firsttraceable = 0, }; static @@ -61757,11 +60060,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_22_consts_7_names = { +codecs_toplevel_consts_22_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -61778,10 +60081,10 @@ static PyASCIIObject _ascii; uint8_t _data[33]; } -codecs_toplevel_consts_22_consts_7_qualname = { +codecs_toplevel_consts_22_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 32, @@ -61790,7 +60093,7 @@ codecs_toplevel_consts_22_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalDecoder.reset", @@ -61799,54 +60102,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[34]; + char ob_sval[24]; } -codecs_toplevel_consts_22_consts_7_linetable = { +codecs_toplevel_consts_22_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 33, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x08\x1a\xd7\x08\x20\xd2\x08\x20\xa0\x14\xd1\x08\x26\xd4\x08\x26\xd0\x08\x26\xd8\x16\x19\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xdc\x08\x1a\xd7\x08\x20\xd1\x08\x20\xa0\x14\xd4\x08\x26\xd8\x16\x19\x88\x04\x8d\x0b", }; static - struct _PyCode_DEF(72) -codecs_toplevel_consts_22_consts_7 = { + struct _PyCode_DEF(60) +codecs_toplevel_consts_22_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 36, + .ob_size = 30, }, - .co_consts = & codecs_toplevel_consts_22_consts_3_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_22_consts_7_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_22_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_22_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 327, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 294, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(reset), - .co_qualname = & codecs_toplevel_consts_22_consts_7_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_22_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_22_consts_5_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_22_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -61854,10 +60155,10 @@ static PyASCIIObject _ascii; uint8_t _data[36]; } -codecs_toplevel_consts_22_consts_8_qualname = { +codecs_toplevel_consts_22_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 35, @@ -61866,7 +60167,7 @@ codecs_toplevel_consts_22_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalDecoder.getstate", @@ -61875,54 +60176,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[18]; } -codecs_toplevel_consts_22_consts_8_linetable = { +codecs_toplevel_consts_22_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x10\x14\x94\x0b\x98\x51\xd0\x0f\x1f\xd0\x08\x1f", + .ob_sval = "\x80\x00\xe0\x10\x14\x97\x0b\x91\x0b\x98\x51\xd0\x0f\x1f\xd0\x08\x1f", }; static - struct _PyCode_DEF(20) -codecs_toplevel_consts_22_consts_8 = { + struct _PyCode_DEF(30) +codecs_toplevel_consts_22_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 10, + .ob_size = 15, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_18_consts_8_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_18_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 331, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 295, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(getstate), - .co_qualname = & codecs_toplevel_consts_22_consts_8_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_22_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x66\x02\x53\x00", + .co_qualname = & codecs_toplevel_consts_22_consts_6_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_22_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x66\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -61930,10 +60229,10 @@ static PyASCIIObject _ascii; uint8_t _data[36]; } -codecs_toplevel_consts_22_consts_9_qualname = { +codecs_toplevel_consts_22_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 35, @@ -61942,7 +60241,7 @@ codecs_toplevel_consts_22_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIncrementalDecoder.setstate", @@ -61951,54 +60250,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[18]; + char ob_sval[14]; } -codecs_toplevel_consts_22_consts_9_linetable = { +codecs_toplevel_consts_22_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 17, + .ob_size = 13, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x16\x1b\x98\x41\x94\x68\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xe0\x16\x1b\x98\x41\x91\x68\x88\x04\x8d\x0b", }; static - struct _PyCode_DEF(32) -codecs_toplevel_consts_22_consts_9 = { + struct _PyCode_DEF(24) +codecs_toplevel_consts_22_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 16, + .ob_size = 12, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_18_consts_8_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_18_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 335, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_16_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 296, + .co_localsplusnames = & codecs_toplevel_consts_16_consts_6_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(setstate), - .co_qualname = & codecs_toplevel_consts_22_consts_9_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_22_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_22_consts_7_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_22_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x64\x01\x19\x00\x00\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -62006,32 +60303,30 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[13]; + PyObject *ob_item[11]; }_object; } codecs_toplevel_consts_22_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 13, + .ob_size = 11, }, .ob_item = { & const_str_BufferedIncrementalDecoder._ascii.ob_base, & codecs_toplevel_consts_22_consts_1._ascii.ob_base, - &_Py_ID(strict), + & codecs_toplevel_consts_22_consts_2.ob_base.ob_base, & codecs_toplevel_consts_22_consts_3.ob_base.ob_base, & codecs_toplevel_consts_22_consts_4.ob_base.ob_base, - Py_False, + & codecs_toplevel_consts_22_consts_5.ob_base.ob_base, & codecs_toplevel_consts_22_consts_6.ob_base.ob_base, & codecs_toplevel_consts_22_consts_7.ob_base.ob_base, - & codecs_toplevel_consts_22_consts_8.ob_base.ob_base, - & codecs_toplevel_consts_22_consts_9.ob_base.ob_base, Py_None, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, - & codecs_toplevel_consts_16_consts_11._object.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, + & codecs_toplevel_consts_16_consts_9._object.ob_base.ob_base, }, }, }; @@ -62047,7 +60342,7 @@ codecs_toplevel_consts_22_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -62070,54 +60365,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[131]; + char ob_sval[38]; } codecs_toplevel_consts_22_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 130, + .ob_size = 37, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x04\x05\x08\xf0\x00\x04\x05\x08\xf0\x0a\x03\x05\x1a\xf0\x00\x03\x05\x1a\xf0\x00\x03\x05\x1a\xf0\x00\x03\x05\x1a\xf0\x0a\x03\x05\x22\xf0\x00\x03\x05\x22\xf0\x00\x03\x05\x22\xf0\x0a\x06\x05\x16\xf0\x00\x06\x05\x16\xf0\x00\x06\x05\x16\xf0\x00\x06\x05\x16\xf0\x10\x02\x05\x1a\xf0\x00\x02\x05\x1a\xf0\x00\x02\x05\x1a\xf0\x08\x02\x05\x20\xf0\x00\x02\x05\x20\xf0\x00\x02\x05\x20\xf0\x08\x02\x05\x1f\xf0\x00\x02\x05\x1f\xf0\x00\x02\x05\x1f\xf0\x00\x02\x05\x1f\xf0\x00\x02\x05\x1f", + .ob_sval = "\x84\x00\xf1\x02\x04\x05\x08\xf3\x0a\x03\x05\x1a\xf2\x0a\x03\x05\x22\xf3\x0a\x06\x05\x16\xf2\x10\x02\x05\x1a\xf2\x08\x02\x05\x20\xf3\x08\x02\x05\x1f", }; static - struct _PyCode_DEF(58) + struct _PyCode_DEF(56) codecs_toplevel_consts_22 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 28, }, .co_consts = & codecs_toplevel_consts_22_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_22_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 303, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 297, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_BufferedIncrementalDecoder._ascii.ob_base, .co_qualname = & const_str_BufferedIncrementalDecoder._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_22_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x0b\x64\x03\x84\x01\x5a\x04\x64\x04\x84\x00\x5a\x05\x64\x0c\x64\x06\x84\x01\x5a\x06\x64\x07\x84\x00\x5a\x07\x64\x08\x84\x00\x5a\x08\x64\x09\x84\x00\x5a\x09\x64\x0a\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x09\x64\x02\x84\x01\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x0a\x64\x04\x84\x01\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x64\x07\x84\x00\x5a\x09\x79\x08", ._co_firsttraceable = 0, }; static @@ -62125,10 +60418,10 @@ static PyASCIIObject _ascii; uint8_t _data[888]; } -codecs_toplevel_consts_24_consts_2_consts_0 = { +codecs_toplevel_consts_24_consts_1_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 887, @@ -62137,7 +60430,7 @@ codecs_toplevel_consts_24_consts_2_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x20\x53\x74\x72\x65\x61\x6d\x57\x72\x69\x74\x65\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x65\x61\x6d\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x20\x66\x69\x6c\x65\x2d\x6c\x69\x6b\x65\x20\x6f\x62\x6a\x65\x63\x74\x20\x6f\x70\x65\x6e\x20\x66\x6f\x72\x20\x77\x72\x69\x74\x69\x6e\x67\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x53\x74\x72\x65\x61\x6d\x57\x72\x69\x74\x65\x72\x20\x6d\x61\x79\x20\x75\x73\x65\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x63\x68\x65\x6d\x65\x73\x20\x62\x79\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x73\x20\x6b\x65\x79\x77\x6f\x72\x64\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x2e\x20\x54\x68\x65\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x73\x20\x61\x72\x65\x20\x70\x72\x65\x64\x65\x66\x69\x6e\x65\x64\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x73\x74\x72\x69\x63\x74\x27\x20\x2d\x20\x72\x61\x69\x73\x65\x20\x61\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x20\x28\x6f\x72\x20\x61\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x69\x67\x6e\x6f\x72\x65\x27\x20\x2d\x20\x69\x67\x6e\x6f\x72\x65\x20\x74\x68\x65\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x20\x61\x6e\x64\x20\x63\x6f\x6e\x74\x69\x6e\x75\x65\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x6e\x65\x78\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x72\x65\x70\x6c\x61\x63\x65\x27\x2d\x20\x72\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x61\x20\x73\x75\x69\x74\x61\x62\x6c\x65\x20\x72\x65\x70\x6c\x61\x63\x65\x6d\x65\x6e\x74\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x78\x6d\x6c\x63\x68\x61\x72\x72\x65\x66\x72\x65\x70\x6c\x61\x63\x65\x27\x20\x2d\x20\x52\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x61\x70\x70\x72\x6f\x70\x72\x69\x61\x74\x65\x20\x58\x4d\x4c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x62\x61\x63\x6b\x73\x6c\x61\x73\x68\x72\x65\x70\x6c\x61\x63\x65\x27\x20\x20\x2d\x20\x52\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x62\x61\x63\x6b\x73\x6c\x61\x73\x68\x65\x64\x20\x65\x73\x63\x61\x70\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x73\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x6e\x61\x6d\x65\x72\x65\x70\x6c\x61\x63\x65\x27\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x52\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x5c\x4e\x7b\x2e\x2e\x2e\x7d\x20\x65\x73\x63\x61\x70\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x73\x65\x74\x20\x6f\x66\x20\x61\x6c\x6c\x6f\x77\x65\x64\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x20\x76\x61\x6c\x75\x65\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x65\x78\x74\x65\x6e\x64\x65\x64\x20\x76\x69\x61\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x67\x69\x73\x74\x65\x72\x5f\x65\x72\x72\x6f\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -62150,17 +60443,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_24_consts_2_consts = { +codecs_toplevel_consts_24_consts_1_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_24_consts_2_consts_0._ascii.ob_base, + & codecs_toplevel_consts_24_consts_1_consts_0._ascii.ob_base, Py_None, }, }, @@ -62173,7 +60466,7 @@ static const_str_stream = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -62182,7 +60475,7 @@ const_str_stream = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "stream", @@ -62195,11 +60488,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_24_consts_2_names = { +codecs_toplevel_consts_24_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -62215,10 +60508,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -codecs_toplevel_consts_24_consts_2_qualname = { +codecs_toplevel_consts_24_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -62227,7 +60520,7 @@ codecs_toplevel_consts_24_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamWriter.__init__", @@ -62236,18 +60529,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[19]; } -codecs_toplevel_consts_24_consts_2_linetable = { +codecs_toplevel_consts_24_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x2c\x00\x17\x1d\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xf0\x2c\x00\x17\x1d\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8d\x0b", }; static struct { @@ -62257,57 +60550,55 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_24_consts_2_localsplusnames = { +codecs_toplevel_consts_24_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_stream._ascii.ob_base, &_Py_ID(errors), }, }, }; static - struct _PyCode_DEF(34) -codecs_toplevel_consts_24_consts_2 = { + struct _PyCode_DEF(32) +codecs_toplevel_consts_24_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 16, }, - .co_consts = & codecs_toplevel_consts_24_consts_2_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_2_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_1_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 348, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_2_localsplusnames._object.ob_base.ob_base, + .co_version = 298, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_1_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & codecs_toplevel_consts_24_consts_2_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_24_consts_1_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -62315,10 +60606,10 @@ static PyASCIIObject _ascii; uint8_t _data[63]; } -codecs_toplevel_consts_24_consts_3_consts_0 = { +codecs_toplevel_consts_24_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 62, @@ -62327,7 +60618,7 @@ codecs_toplevel_consts_24_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x57\x72\x69\x74\x65\x73\x20\x74\x68\x65\x20\x6f\x62\x6a\x65\x63\x74\x27\x73\x20\x63\x6f\x6e\x74\x65\x6e\x74\x73\x20\x65\x6e\x63\x6f\x64\x65\x64\x20\x74\x6f\x20\x73\x65\x6c\x66\x2e\x73\x74\x72\x65\x61\x6d\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -62340,17 +60631,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_24_consts_3_consts = { +codecs_toplevel_consts_24_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_24_consts_3_consts_0._ascii.ob_base, + & codecs_toplevel_consts_24_consts_2_consts_0._ascii.ob_base, Py_None, }, }, @@ -62363,11 +60654,11 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_24_consts_3_names = { +codecs_toplevel_consts_24_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -62385,10 +60676,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -codecs_toplevel_consts_24_consts_3_qualname = { +codecs_toplevel_consts_24_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -62397,7 +60688,7 @@ codecs_toplevel_consts_24_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamWriter.write", @@ -62406,18 +60697,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[58]; + char ob_sval[47]; } -codecs_toplevel_consts_24_consts_3_linetable = { +codecs_toplevel_consts_24_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 57, + .ob_size = 46, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x00\x1a\x1e\x9f\x1b\x9a\x1b\xa0\x56\xa8\x54\xac\x5b\xd1\x19\x39\xd4\x19\x39\x89\x0e\x88\x04\x88\x68\xd8\x08\x0c\x8c\x0b\xd7\x08\x19\xd2\x08\x19\x98\x24\xd1\x08\x1f\xd4\x08\x1f\xd0\x08\x1f\xd0\x08\x1f\xd0\x08\x1f", + .ob_sval = "\x80\x00\xf0\x08\x00\x1a\x1e\x9f\x1b\x99\x1b\xa0\x56\xa8\x54\xaf\x5b\xa9\x5b\xd3\x19\x39\x89\x0e\x88\x04\x88\x68\xd8\x08\x0c\x8f\x0b\x89\x0b\xd7\x08\x19\xd1\x08\x19\x98\x24\xd5\x08\x1f", }; static struct { @@ -62427,58 +60718,56 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_24_consts_3_localsplusnames = { +codecs_toplevel_consts_24_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_object._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(object), + &_Py_ID(data), & const_str_consumed._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(118) -codecs_toplevel_consts_24_consts_3 = { + struct _PyCode_DEF(120) +codecs_toplevel_consts_24_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 59, + .ob_size = 60, }, - .co_consts = & codecs_toplevel_consts_24_consts_3_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_3_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 373, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 299, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(write), - .co_qualname = & codecs_toplevel_consts_24_consts_3_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_24_consts_2_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -62486,10 +60775,10 @@ static PyASCIIObject _ascii; uint8_t _data[92]; } -codecs_toplevel_consts_24_consts_4_consts_0 = { +codecs_toplevel_consts_24_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 91, @@ -62498,7 +60787,7 @@ codecs_toplevel_consts_24_consts_4_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x57\x72\x69\x74\x65\x73\x20\x74\x68\x65\x20\x63\x6f\x6e\x63\x61\x74\x65\x6e\x61\x74\x65\x64\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x73\x74\x72\x69\x6e\x67\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x74\x72\x65\x61\x6d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x75\x73\x69\x6e\x67\x20\x2e\x77\x72\x69\x74\x65\x28\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -62511,17 +60800,17 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_24_consts_4_consts = { +codecs_toplevel_consts_24_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & codecs_toplevel_consts_24_consts_4_consts_0._ascii.ob_base, + & codecs_toplevel_consts_24_consts_3_consts_0._ascii.ob_base, &_Py_STR(empty), Py_None, }, @@ -62535,11 +60824,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_24_consts_4_names = { +codecs_toplevel_consts_24_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -62558,7 +60847,7 @@ static const_str_writelines = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -62567,7 +60856,7 @@ const_str_writelines = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "writelines", @@ -62577,10 +60866,10 @@ static PyASCIIObject _ascii; uint8_t _data[24]; } -codecs_toplevel_consts_24_consts_4_qualname = { +codecs_toplevel_consts_24_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -62589,7 +60878,7 @@ codecs_toplevel_consts_24_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamWriter.writelines", @@ -62598,18 +60887,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[39]; + char ob_sval[25]; } -codecs_toplevel_consts_24_consts_4_linetable = { +codecs_toplevel_consts_24_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 38, + .ob_size = 24, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0a\x00\x09\x0d\x8f\x0a\x8a\x0a\x90\x32\x97\x37\x92\x37\x98\x34\x91\x3d\x94\x3d\xd1\x08\x21\xd4\x08\x21\xd0\x08\x21\xd0\x08\x21\xd0\x08\x21", + .ob_sval = "\x80\x00\xf0\x0a\x00\x09\x0d\x8f\x0a\x89\x0a\x90\x32\x97\x37\x91\x37\x98\x34\x93\x3d\xd5\x08\x21", }; static struct { @@ -62619,56 +60908,54 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_24_consts_4_localsplusnames = { +codecs_toplevel_consts_24_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_list._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(86) -codecs_toplevel_consts_24_consts_4 = { + struct _PyCode_DEF(68) +codecs_toplevel_consts_24_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 43, + .ob_size = 34, }, - .co_consts = & codecs_toplevel_consts_24_consts_4_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_4_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 380, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 300, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_writelines._ascii.ob_base, - .co_qualname = & codecs_toplevel_consts_24_consts_4_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x02\x53\x00", + .co_qualname = & codecs_toplevel_consts_24_consts_3_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -62676,10 +60963,10 @@ static PyASCIIObject _ascii; uint8_t _data[307]; } -codecs_toplevel_consts_24_consts_5_consts_0 = { +codecs_toplevel_consts_24_consts_4_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 306, @@ -62688,7 +60975,7 @@ codecs_toplevel_consts_24_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x52\x65\x73\x65\x74\x73\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x20\x62\x75\x66\x66\x65\x72\x73\x20\x75\x73\x65\x64\x20\x66\x6f\x72\x20\x6b\x65\x65\x70\x69\x6e\x67\x20\x69\x6e\x74\x65\x72\x6e\x61\x6c\x20\x73\x74\x61\x74\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x43\x61\x6c\x6c\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x6d\x65\x74\x68\x6f\x64\x20\x73\x68\x6f\x75\x6c\x64\x20\x65\x6e\x73\x75\x72\x65\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x64\x61\x74\x61\x20\x6f\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x75\x74\x70\x75\x74\x20\x69\x73\x20\x70\x75\x74\x20\x69\x6e\x74\x6f\x20\x61\x20\x63\x6c\x65\x61\x6e\x20\x73\x74\x61\x74\x65\x2c\x20\x74\x68\x61\x74\x20\x61\x6c\x6c\x6f\x77\x73\x20\x61\x70\x70\x65\x6e\x64\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x66\x20\x6e\x65\x77\x20\x66\x72\x65\x73\x68\x20\x64\x61\x74\x61\x20\x77\x69\x74\x68\x6f\x75\x74\x20\x68\x61\x76\x69\x6e\x67\x20\x74\x6f\x20\x72\x65\x73\x63\x61\x6e\x20\x74\x68\x65\x20\x77\x68\x6f\x6c\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x65\x61\x6d\x20\x74\x6f\x20\x72\x65\x63\x6f\x76\x65\x72\x20\x73\x74\x61\x74\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -62701,17 +60988,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_24_consts_5_consts = { +codecs_toplevel_consts_24_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_24_consts_5_consts_0._ascii.ob_base, + & codecs_toplevel_consts_24_consts_4_consts_0._ascii.ob_base, Py_None, }, }, @@ -62721,10 +61008,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -codecs_toplevel_consts_24_consts_5_qualname = { +codecs_toplevel_consts_24_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -62733,7 +61020,7 @@ codecs_toplevel_consts_24_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamWriter.reset", @@ -62742,54 +61029,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[10]; + char ob_sval[8]; } -codecs_toplevel_consts_24_consts_5_linetable = { +codecs_toplevel_consts_24_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 9, + .ob_size = 7, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x14\x00\x09\x0d\x88\x04", + .ob_sval = "\x80\x00\xf0\x14\x00\x09\x0d", }; static - struct _PyCode_DEF(6) -codecs_toplevel_consts_24_consts_5 = { + struct _PyCode_DEF(4) +codecs_toplevel_consts_24_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & codecs_toplevel_consts_24_consts_5_consts._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_4_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 387, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 301, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(reset), - .co_qualname = & codecs_toplevel_consts_24_consts_5_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_24_consts_4_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -62800,11 +61085,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_24_consts_7_names = { +codecs_toplevel_consts_24_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -62821,10 +61106,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -codecs_toplevel_consts_24_consts_7_qualname = { +codecs_toplevel_consts_24_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -62833,7 +61118,7 @@ codecs_toplevel_consts_24_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamWriter.seek", @@ -62842,18 +61127,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[72]; + char ob_sval[52]; } -codecs_toplevel_consts_24_consts_7_linetable = { +codecs_toplevel_consts_24_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 71, + .ob_size = 51, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x0c\x8c\x0b\xd7\x08\x18\xd2\x08\x18\x98\x16\xa0\x16\xd1\x08\x28\xd4\x08\x28\xd0\x08\x28\xd8\x0b\x11\x90\x51\x8a\x3b\x88\x3b\x98\x36\xa0\x51\x9a\x3b\x98\x3b\xd8\x0c\x10\x8f\x4a\x8a\x4a\x89\x4c\x8c\x4c\x88\x4c\x88\x4c\x88\x4c\xf0\x03\x00\x0c\x17\x88\x3b\x98\x3b\x98\x3b", + .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0b\x89\x0b\xd7\x08\x18\xd1\x08\x18\x98\x16\xa0\x16\xd4\x08\x28\xd8\x0b\x11\x90\x51\x8a\x3b\x98\x36\xa0\x51\x9a\x3b\xd8\x0c\x10\x8f\x4a\x89\x4a\x8d\x4c\xf0\x03\x00\x1c\x27\x88\x3b", }; static struct { @@ -62863,7 +61148,7 @@ static const_str_whence = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -62872,7 +61157,7 @@ const_str_whence = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "whence", @@ -62885,57 +61170,55 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_24_consts_7_localsplusnames = { +codecs_toplevel_consts_24_consts_5_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(offset), & const_str_whence._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(132) -codecs_toplevel_consts_24_consts_7 = { + struct _PyCode_DEF(116) +codecs_toplevel_consts_24_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 66, + .ob_size = 58, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_7_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 399, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_7_localsplusnames._object.ob_base.ob_base, + .co_version = 302, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_5_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(seek), - .co_qualname = & codecs_toplevel_consts_24_consts_7_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x1c\x7c\x01\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x18\x7c\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x64\x00\x53\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_24_consts_5_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x64\x01\x6b\x28\x00\x00\x72\x17\x7c\x01\x64\x01\x6b\x28\x00\x00\x72\x11\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x79\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -62943,10 +61226,10 @@ static PyASCIIObject _ascii; uint8_t _data[64]; } -codecs_toplevel_consts_24_consts_8_consts_0 = { +codecs_toplevel_consts_24_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 63, @@ -62955,7 +61238,7 @@ codecs_toplevel_consts_24_consts_8_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x49\x6e\x68\x65\x72\x69\x74\x20\x61\x6c\x6c\x20\x6f\x74\x68\x65\x72\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x75\x6e\x64\x65\x72\x6c\x79\x69\x6e\x67\x20\x73\x74\x72\x65\x61\x6d\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -62968,17 +61251,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_24_consts_8_consts = { +codecs_toplevel_consts_24_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_24_consts_8_consts_0._ascii.ob_base, + & codecs_toplevel_consts_24_consts_6_consts_0._ascii.ob_base, }, }, }; @@ -62990,11 +61273,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_24_consts_8_names = { +codecs_toplevel_consts_24_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -63009,10 +61292,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -codecs_toplevel_consts_24_consts_8_qualname = { +codecs_toplevel_consts_24_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -63021,7 +61304,7 @@ codecs_toplevel_consts_24_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamWriter.__getattr__", @@ -63030,18 +61313,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[22]; } -codecs_toplevel_consts_24_consts_8_linetable = { +codecs_toplevel_consts_24_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 21, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0a\x00\x10\x17\x88\x77\x90\x74\x94\x7b\xa0\x44\xd1\x0f\x29\xd4\x0f\x29\xd0\x08\x29", + .ob_sval = "\x80\x00\xf1\x0a\x00\x10\x17\x90\x74\x97\x7b\x91\x7b\xa0\x44\xd3\x0f\x29\xd0\x08\x29", }; static struct { @@ -63051,57 +61334,55 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_24_consts_8_localsplusnames = { +codecs_toplevel_consts_24_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(name), &_Py_ID(getattr), }, }, }; static - struct _PyCode_DEF(36) -codecs_toplevel_consts_24_consts_8 = { + struct _PyCode_DEF(40) +codecs_toplevel_consts_24_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 20, }, - .co_consts = & codecs_toplevel_consts_24_consts_8_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_8_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_6_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 404, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_8_localsplusnames._object.ob_base.ob_base, + .co_version = 303, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__getattr__), - .co_qualname = & codecs_toplevel_consts_24_consts_8_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x02\x00\x7c\x02\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_24_consts_6_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x02\x00\x7c\x02\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -63109,10 +61390,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -codecs_toplevel_consts_24_consts_9_qualname = { +codecs_toplevel_consts_24_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -63121,7 +61402,7 @@ codecs_toplevel_consts_24_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamWriter.__enter__", @@ -63132,10 +61413,10 @@ static Py_hash_t ob_shash; char ob_sval[8]; } -codecs_toplevel_consts_24_consts_9_linetable = { +codecs_toplevel_consts_24_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 7, @@ -63145,10 +61426,10 @@ codecs_toplevel_consts_24_consts_9_linetable = { }; static struct _PyCode_DEF(6) -codecs_toplevel_consts_24_consts_9 = { +codecs_toplevel_consts_24_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -63157,26 +61438,24 @@ codecs_toplevel_consts_24_consts_9 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 411, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 304, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__enter__), - .co_qualname = & codecs_toplevel_consts_24_consts_9_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_qualname = & codecs_toplevel_consts_24_consts_7_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -63188,11 +61467,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_24_consts_10_names = { +codecs_toplevel_consts_24_consts_8_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -63208,10 +61487,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -codecs_toplevel_consts_24_consts_10_qualname = { +codecs_toplevel_consts_24_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -63220,7 +61499,7 @@ codecs_toplevel_consts_24_consts_10_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamWriter.__exit__", @@ -63229,18 +61508,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[29]; + char ob_sval[19]; } -codecs_toplevel_consts_24_consts_10_linetable = { +codecs_toplevel_consts_24_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 28, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x0c\x8c\x0b\xd7\x08\x19\xd2\x08\x19\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd0\x08\x1b\xd0\x08\x1b", + .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0b\x89\x0b\xd7\x08\x19\xd1\x08\x19\xd5\x08\x1b", }; static struct { @@ -63250,7 +61529,7 @@ static const_str_tb = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -63259,7 +61538,7 @@ const_str_tb = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "tb", @@ -63272,58 +61551,56 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_24_consts_10_localsplusnames = { +codecs_toplevel_consts_24_consts_8_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_type._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(type), + &_Py_ID(value), & const_str_tb._ascii.ob_base, }, }, }; static struct _PyCode_DEF(56) -codecs_toplevel_consts_24_consts_10 = { +codecs_toplevel_consts_24_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_10_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 414, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_10_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 305, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__exit__), - .co_qualname = & codecs_toplevel_consts_24_consts_10_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_24_consts_8_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -63331,10 +61608,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -codecs_toplevel_consts_24_consts_11_consts_1 = { +codecs_toplevel_consts_24_consts_9_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -63343,7 +61620,7 @@ codecs_toplevel_consts_24_consts_11_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "can't serialize %s", @@ -63356,18 +61633,18 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_24_consts_11_consts = { +codecs_toplevel_consts_24_consts_9_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & codecs_toplevel_consts_24_consts_11_consts_1._ascii.ob_base, + & codecs_toplevel_consts_24_consts_9_consts_1._ascii.ob_base, }, }, }; @@ -63379,11 +61656,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_24_consts_11_names = { +codecs_toplevel_consts_24_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -63400,10 +61677,10 @@ static PyASCIIObject _ascii; uint8_t _data[27]; } -codecs_toplevel_consts_24_consts_11_qualname = { +codecs_toplevel_consts_24_consts_9_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -63412,7 +61689,7 @@ codecs_toplevel_consts_24_consts_11_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamWriter.__reduce_ex__", @@ -63421,40 +61698,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[28]; + char ob_sval[30]; } -codecs_toplevel_consts_24_consts_11_linetable = { +codecs_toplevel_consts_24_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 27, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0e\x17\xd0\x18\x2c\xa8\x74\xac\x7e\xd4\x2f\x46\xd1\x18\x46\xd1\x0e\x47\xd4\x0e\x47\xd0\x08\x47", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[6]; - } -const_str_proto = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 5, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "proto", + .ob_sval = "\x80\x00\xdc\x0e\x17\xd0\x18\x2c\xa8\x74\xaf\x7e\xa9\x7e\xd7\x2f\x46\xd1\x2f\x46\xd1\x18\x46\xd3\x0e\x47\xd0\x08\x47", }; static struct { @@ -63464,56 +61719,54 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_24_consts_11_localsplusnames = { +codecs_toplevel_consts_24_consts_9_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_proto._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(proto), }, }, }; static - struct _PyCode_DEF(58) -codecs_toplevel_consts_24_consts_11 = { + struct _PyCode_DEF(70) +codecs_toplevel_consts_24_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 35, }, - .co_consts = & codecs_toplevel_consts_24_consts_11_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_11_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_9_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 417, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 306, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_9_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__reduce_ex__), - .co_qualname = & codecs_toplevel_consts_24_consts_11_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_24_consts_9_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -63524,11 +61777,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_24_consts_14 = { +codecs_toplevel_consts_24_consts_12 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -63543,34 +61796,32 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[15]; + PyObject *ob_item[13]; }_object; } codecs_toplevel_consts_24_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 15, + .ob_size = 13, }, .ob_item = { & const_str_StreamWriter._ascii.ob_base, - &_Py_ID(strict), + & codecs_toplevel_consts_24_consts_1.ob_base.ob_base, & codecs_toplevel_consts_24_consts_2.ob_base.ob_base, & codecs_toplevel_consts_24_consts_3.ob_base.ob_base, & codecs_toplevel_consts_24_consts_4.ob_base.ob_base, & codecs_toplevel_consts_24_consts_5.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & codecs_toplevel_consts_24_consts_6.ob_base.ob_base, & codecs_toplevel_consts_24_consts_7.ob_base.ob_base, & codecs_toplevel_consts_24_consts_8.ob_base.ob_base, & codecs_toplevel_consts_24_consts_9.ob_base.ob_base, - & codecs_toplevel_consts_24_consts_10.ob_base.ob_base, - & codecs_toplevel_consts_24_consts_11.ob_base.ob_base, Py_None, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, - & codecs_toplevel_consts_24_consts_14._object.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, + & codecs_toplevel_consts_24_consts_12._object.ob_base.ob_base, }, }, }; @@ -63586,7 +61837,7 @@ codecs_toplevel_consts_24_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -63612,54 +61863,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[181]; + char ob_sval[54]; } codecs_toplevel_consts_24_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 180, + .ob_size = 53, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x04\x17\x05\x1d\xf0\x00\x17\x05\x1d\xf0\x00\x17\x05\x1d\xf0\x00\x17\x05\x1d\xf0\x32\x05\x05\x20\xf0\x00\x05\x05\x20\xf0\x00\x05\x05\x20\xf0\x0e\x05\x05\x22\xf0\x00\x05\x05\x22\xf0\x00\x05\x05\x22\xf0\x0e\x0a\x05\x0d\xf0\x00\x0a\x05\x0d\xf0\x00\x0a\x05\x0d\xf0\x18\x03\x05\x19\xf0\x00\x03\x05\x19\xf0\x00\x03\x05\x19\xf0\x00\x03\x05\x19\xf0\x0c\x00\x1d\x24\xf0\x03\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x0e\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x06\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x06\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01", + .ob_sval = "\x84\x00\xf3\x04\x17\x05\x1d\xf2\x32\x05\x05\x20\xf2\x0e\x05\x05\x22\xf2\x0e\x0a\x05\x0d\xf3\x18\x03\x05\x19\xf0\x0c\x00\x1d\x24\xf3\x03\x05\x05\x2a\xf2\x0e\x01\x05\x14\xf2\x06\x01\x05\x1c\xf3\x06\x01\x05\x48\x01", }; static - struct _PyCode_DEF(76) + struct _PyCode_DEF(74) codecs_toplevel_consts_24 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 38, + .ob_size = 37, }, .co_consts = & codecs_toplevel_consts_24_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_24_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 346, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 307, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_StreamWriter._ascii.ob_base, .co_qualname = & const_str_StreamWriter._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_24_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x0d\x64\x02\x84\x01\x5a\x03\x64\x03\x84\x00\x5a\x04\x64\x04\x84\x00\x5a\x05\x64\x05\x84\x00\x5a\x06\x64\x0e\x64\x07\x84\x01\x5a\x07\x65\x08\x66\x01\x64\x08\x84\x01\x5a\x09\x64\x09\x84\x00\x5a\x0a\x64\x0a\x84\x00\x5a\x0b\x64\x0b\x84\x00\x5a\x0c\x64\x0c\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x0b\x64\x01\x84\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x0c\x64\x05\x84\x01\x5a\x07\x65\x08\x66\x01\x64\x06\x84\x01\x5a\x09\x64\x07\x84\x00\x5a\x0a\x64\x08\x84\x00\x5a\x0b\x64\x09\x84\x00\x5a\x0c\x79\x0a", ._co_firsttraceable = 0, }; static @@ -63667,10 +61916,10 @@ static PyASCIIObject _ascii; uint8_t _data[654]; } -codecs_toplevel_consts_26_consts_2_consts_0 = { +codecs_toplevel_consts_26_consts_1_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 653, @@ -63679,7 +61928,7 @@ codecs_toplevel_consts_26_consts_2_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x61\x64\x65\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x65\x61\x6d\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x20\x66\x69\x6c\x65\x2d\x6c\x69\x6b\x65\x20\x6f\x62\x6a\x65\x63\x74\x20\x6f\x70\x65\x6e\x20\x66\x6f\x72\x20\x72\x65\x61\x64\x69\x6e\x67\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x61\x64\x65\x72\x20\x6d\x61\x79\x20\x75\x73\x65\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x63\x68\x65\x6d\x65\x73\x20\x62\x79\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x73\x20\x6b\x65\x79\x77\x6f\x72\x64\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x2e\x20\x54\x68\x65\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x73\x20\x61\x72\x65\x20\x70\x72\x65\x64\x65\x66\x69\x6e\x65\x64\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x73\x74\x72\x69\x63\x74\x27\x20\x2d\x20\x72\x61\x69\x73\x65\x20\x61\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x20\x28\x6f\x72\x20\x61\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x69\x67\x6e\x6f\x72\x65\x27\x20\x2d\x20\x69\x67\x6e\x6f\x72\x65\x20\x74\x68\x65\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x20\x61\x6e\x64\x20\x63\x6f\x6e\x74\x69\x6e\x75\x65\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x6e\x65\x78\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x72\x65\x70\x6c\x61\x63\x65\x27\x2d\x20\x72\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x61\x20\x73\x75\x69\x74\x61\x62\x6c\x65\x20\x72\x65\x70\x6c\x61\x63\x65\x6d\x65\x6e\x74\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x62\x61\x63\x6b\x73\x6c\x61\x73\x68\x72\x65\x70\x6c\x61\x63\x65\x27\x20\x2d\x20\x52\x65\x70\x6c\x61\x63\x65\x20\x77\x69\x74\x68\x20\x62\x61\x63\x6b\x73\x6c\x61\x73\x68\x65\x64\x20\x65\x73\x63\x61\x70\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x73\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x73\x65\x74\x20\x6f\x66\x20\x61\x6c\x6c\x6f\x77\x65\x64\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x20\x76\x61\x6c\x75\x65\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x65\x78\x74\x65\x6e\x64\x65\x64\x20\x76\x69\x61\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x67\x69\x73\x74\x65\x72\x5f\x65\x72\x72\x6f\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -63692,17 +61941,17 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_26_consts_2_consts = { +codecs_toplevel_consts_26_consts_1_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & codecs_toplevel_consts_26_consts_2_consts_0._ascii.ob_base, + & codecs_toplevel_consts_26_consts_1_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_empty), Py_None, }, @@ -63716,7 +61965,7 @@ static const_str_bytebuffer = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -63725,7 +61974,7 @@ const_str_bytebuffer = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bytebuffer", @@ -63738,7 +61987,7 @@ static const_str_charbuffertype = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -63747,7 +61996,7 @@ const_str_charbuffertype = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "charbuffertype", @@ -63760,7 +62009,7 @@ static const_str__empty_charbuffer = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -63769,7 +62018,7 @@ const_str__empty_charbuffer = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_empty_charbuffer", @@ -63782,7 +62031,7 @@ static const_str_charbuffer = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -63791,7 +62040,7 @@ const_str_charbuffer = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "charbuffer", @@ -63804,7 +62053,7 @@ static const_str_linebuffer = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -63813,7 +62062,7 @@ const_str_linebuffer = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "linebuffer", @@ -63826,11 +62075,11 @@ static PyObject *ob_item[7]; }_object; } -codecs_toplevel_consts_26_consts_2_names = { +codecs_toplevel_consts_26_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -63851,10 +62100,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -codecs_toplevel_consts_26_consts_2_qualname = { +codecs_toplevel_consts_26_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -63863,7 +62112,7 @@ codecs_toplevel_consts_26_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.__init__", @@ -63872,54 +62121,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[67]; + char ob_sval[63]; } -codecs_toplevel_consts_26_consts_2_linetable = { +codecs_toplevel_consts_26_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 66, + .ob_size = 62, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x24\x00\x17\x1d\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x1a\x1d\x88\x04\x8c\x0f\xd8\x21\x25\xd7\x21\x34\xd2\x21\x34\xd1\x21\x36\xd4\x21\x36\x88\x04\xd4\x08\x1e\xd8\x1a\x1e\xd4\x1a\x30\x88\x04\x8c\x0f\xd8\x1a\x1e\x88\x04\x8c\x0f\x88\x0f\x88\x0f", + .ob_sval = "\x80\x00\xf0\x24\x00\x17\x1d\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x1a\x1d\x88\x04\x8c\x0f\xd8\x21\x25\xd7\x21\x34\xd1\x21\x34\xd3\x21\x36\x88\x04\xd4\x08\x1e\xd8\x1a\x1e\xd7\x1a\x30\xd1\x1a\x30\x88\x04\x8c\x0f\xd8\x1a\x1e\x88\x04\x8d\x0f", }; static struct _PyCode_DEF(136) -codecs_toplevel_consts_26_consts_2 = { +codecs_toplevel_consts_26_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 68, }, - .co_consts = & codecs_toplevel_consts_26_consts_2_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_26_consts_2_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_26_consts_1_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_26_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 426, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_2_localsplusnames._object.ob_base.ob_base, + .co_version = 308, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_1_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & codecs_toplevel_consts_26_consts_2_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_26_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x7c\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x53\x00", + .co_qualname = & codecs_toplevel_consts_26_consts_1_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_26_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x7c\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -63927,10 +62174,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -codecs_toplevel_consts_26_consts_3_qualname = { +codecs_toplevel_consts_26_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -63939,7 +62186,7 @@ codecs_toplevel_consts_26_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.decode", @@ -63950,52 +62197,50 @@ static Py_hash_t ob_shash; char ob_sval[9]; } -codecs_toplevel_consts_26_consts_3_linetable = { +codecs_toplevel_consts_26_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 8, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0e\x21\xd0\x08\x21", + .ob_sval = "\x80\x00\xdc\x0e\x21\xd0\x08\x21", }; static - struct _PyCode_DEF(16) -codecs_toplevel_consts_26_consts_3 = { + struct _PyCode_DEF(14) +codecs_toplevel_consts_26_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 451, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_14_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 309, + .co_localsplusnames = & codecs_toplevel_consts_14_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(decode), - .co_qualname = & codecs_toplevel_consts_26_consts_3_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_26_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_26_consts_2_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_26_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -64003,10 +62248,10 @@ static PyASCIIObject _ascii; uint8_t _data[1261]; } -codecs_toplevel_consts_26_consts_6_consts_0 = { +codecs_toplevel_consts_26_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 1260, @@ -64015,33 +62260,11 @@ codecs_toplevel_consts_26_consts_6_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x44\x65\x63\x6f\x64\x65\x73\x20\x64\x61\x74\x61\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x73\x74\x72\x65\x61\x6d\x20\x73\x65\x6c\x66\x2e\x73\x74\x72\x65\x61\x6d\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x73\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x73\x75\x6c\x74\x69\x6e\x67\x20\x6f\x62\x6a\x65\x63\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x68\x61\x72\x73\x20\x69\x6e\x64\x69\x63\x61\x74\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x64\x65\x63\x6f\x64\x65\x64\x20\x63\x6f\x64\x65\x20\x70\x6f\x69\x6e\x74\x73\x20\x6f\x72\x20\x62\x79\x74\x65\x73\x20\x74\x6f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x2e\x20\x72\x65\x61\x64\x28\x29\x20\x77\x69\x6c\x6c\x20\x6e\x65\x76\x65\x72\x20\x72\x65\x74\x75\x72\x6e\x20\x6d\x6f\x72\x65\x20\x64\x61\x74\x61\x20\x74\x68\x61\x6e\x20\x72\x65\x71\x75\x65\x73\x74\x65\x64\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x74\x20\x69\x74\x20\x6d\x69\x67\x68\x74\x20\x72\x65\x74\x75\x72\x6e\x20\x6c\x65\x73\x73\x2c\x20\x69\x66\x20\x74\x68\x65\x72\x65\x20\x69\x73\x20\x6e\x6f\x74\x20\x65\x6e\x6f\x75\x67\x68\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x69\x7a\x65\x20\x69\x6e\x64\x69\x63\x61\x74\x65\x73\x20\x74\x68\x65\x20\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x20\x6d\x61\x78\x69\x6d\x75\x6d\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x64\x65\x63\x6f\x64\x65\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x79\x74\x65\x73\x20\x6f\x72\x20\x63\x6f\x64\x65\x20\x70\x6f\x69\x6e\x74\x73\x20\x74\x6f\x20\x72\x65\x61\x64\x20\x66\x6f\x72\x20\x64\x65\x63\x6f\x64\x69\x6e\x67\x2e\x20\x54\x68\x65\x20\x64\x65\x63\x6f\x64\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x6e\x20\x6d\x6f\x64\x69\x66\x79\x20\x74\x68\x69\x73\x20\x73\x65\x74\x74\x69\x6e\x67\x20\x61\x73\x20\x61\x70\x70\x72\x6f\x70\x72\x69\x61\x74\x65\x2e\x20\x54\x68\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x31\x20\x69\x6e\x64\x69\x63\x61\x74\x65\x73\x20\x74\x6f\x20\x72\x65\x61\x64\x20\x61\x6e\x64\x20\x64\x65\x63\x6f\x64\x65\x20\x61\x73\x20\x6d\x75\x63\x68\x20\x61\x73\x20\x70\x6f\x73\x73\x69\x62\x6c\x65\x2e\x20\x20\x73\x69\x7a\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x20\x69\x6e\x74\x65\x6e\x64\x65\x64\x20\x74\x6f\x20\x70\x72\x65\x76\x65\x6e\x74\x20\x68\x61\x76\x69\x6e\x67\x20\x74\x6f\x20\x64\x65\x63\x6f\x64\x65\x20\x68\x75\x67\x65\x20\x66\x69\x6c\x65\x73\x20\x69\x6e\x20\x6f\x6e\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x65\x70\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x66\x20\x66\x69\x72\x73\x74\x6c\x69\x6e\x65\x20\x69\x73\x20\x74\x72\x75\x65\x2c\x20\x61\x6e\x64\x20\x61\x20\x55\x6e\x69\x63\x6f\x64\x65\x44\x65\x63\x6f\x64\x65\x45\x72\x72\x6f\x72\x20\x68\x61\x70\x70\x65\x6e\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x61\x66\x74\x65\x72\x20\x74\x68\x65\x20\x66\x69\x72\x73\x74\x20\x6c\x69\x6e\x65\x20\x74\x65\x72\x6d\x69\x6e\x61\x74\x6f\x72\x20\x69\x6e\x20\x74\x68\x65\x20\x69\x6e\x70\x75\x74\x20\x6f\x6e\x6c\x79\x20\x74\x68\x65\x20\x66\x69\x72\x73\x74\x20\x6c\x69\x6e\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x2c\x20\x74\x68\x65\x20\x72\x65\x73\x74\x20\x6f\x66\x20\x74\x68\x65\x20\x69\x6e\x70\x75\x74\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x6b\x65\x70\x74\x20\x75\x6e\x74\x69\x6c\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x65\x78\x74\x20\x63\x61\x6c\x6c\x20\x74\x6f\x20\x72\x65\x61\x64\x28\x29\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x6d\x65\x74\x68\x6f\x64\x20\x73\x68\x6f\x75\x6c\x64\x20\x75\x73\x65\x20\x61\x20\x67\x72\x65\x65\x64\x79\x20\x72\x65\x61\x64\x20\x73\x74\x72\x61\x74\x65\x67\x79\x2c\x20\x6d\x65\x61\x6e\x69\x6e\x67\x20\x74\x68\x61\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x20\x73\x68\x6f\x75\x6c\x64\x20\x72\x65\x61\x64\x20\x61\x73\x20\x6d\x75\x63\x68\x20\x64\x61\x74\x61\x20\x61\x73\x20\x69\x73\x20\x61\x6c\x6c\x6f\x77\x65\x64\x20\x77\x69\x74\x68\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x65\x66\x69\x6e\x69\x74\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x74\x68\x65\x20\x67\x69\x76\x65\x6e\x20\x73\x69\x7a\x65\x2c\x20\x65\x2e\x67\x2e\x20\x20\x69\x66\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x65\x6e\x64\x69\x6e\x67\x73\x20\x6f\x72\x20\x73\x74\x61\x74\x65\x20\x6d\x61\x72\x6b\x65\x72\x73\x20\x61\x72\x65\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x6e\x20\x74\x68\x65\x20\x73\x74\x72\x65\x61\x6d\x2c\x20\x74\x68\x65\x73\x65\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x72\x65\x61\x64\x20\x74\x6f\x6f\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[9]; - } -const_str_keepends = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 8, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "keepends", -}; static struct { PyGC_Head _gc_head; @@ -64050,17 +62273,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_26_consts_6_consts_4 = { +codecs_toplevel_consts_26_consts_3_consts_4 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_keepends._ascii.ob_base, + &_Py_ID(keepends), }, }, }; @@ -64072,47 +62295,25 @@ static PyObject *ob_item[6]; }_object; } -codecs_toplevel_consts_26_consts_6_consts = { +codecs_toplevel_consts_26_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { - & codecs_toplevel_consts_26_consts_6_consts_0._ascii.ob_base, + & codecs_toplevel_consts_26_consts_3_consts_0._ascii.ob_base, Py_None, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], Py_True, - & codecs_toplevel_consts_26_consts_6_consts_4._object.ob_base.ob_base, + & codecs_toplevel_consts_26_consts_3_consts_4._object.ob_base.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[6]; - } -const_str_start = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 5, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "start", -}; static struct { PyASCIIObject _ascii; @@ -64121,7 +62322,7 @@ static const_str_splitlines = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -64130,7 +62331,7 @@ const_str_splitlines = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "splitlines", @@ -64143,11 +62344,11 @@ static PyObject *ob_item[13]; }_object; } -codecs_toplevel_consts_26_consts_6_names = { +codecs_toplevel_consts_26_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -64164,7 +62365,7 @@ codecs_toplevel_consts_26_consts_6_names = { &_Py_ID(decode), &_Py_ID(errors), & const_str_UnicodeDecodeError._ascii.ob_base, - & const_str_start._ascii.ob_base, + &_Py_ID(start), & const_str_splitlines._ascii.ob_base, }, }, @@ -64174,10 +62375,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -codecs_toplevel_consts_26_consts_6_qualname = { +codecs_toplevel_consts_26_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -64186,7 +62387,7 @@ codecs_toplevel_consts_26_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.read", @@ -64195,18 +62396,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[472]; + char ob_sval[409]; } -codecs_toplevel_consts_26_consts_6_linetable = { +codecs_toplevel_consts_26_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 471, + .ob_size = 408, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x38\x00\x0c\x10\x8c\x3f\xf0\x00\x02\x09\x23\xd8\x1e\x22\xd4\x1e\x34\xd7\x1e\x39\xd2\x1e\x39\xb8\x24\xbc\x2f\xd1\x1e\x4a\xd4\x1e\x4a\x88\x44\x8c\x4f\xd8\x1e\x22\x88\x44\x8c\x4f\xe0\x0b\x10\x90\x31\x8a\x39\x88\x39\xf0\x06\x00\x15\x19\x88\x45\xf0\x06\x1f\x09\x16\xe0\x0f\x14\x98\x01\x8a\x7a\x88\x7a\xdd\x13\x16\x90\x74\x94\x7f\xd1\x13\x27\xd4\x13\x27\xa8\x35\xd2\x13\x30\xd0\x13\x30\xd8\x14\x19\xe0\x0f\x13\x90\x61\x8a\x78\x88\x78\xd8\x1a\x1e\x9c\x2b\xd7\x1a\x2a\xd2\x1a\x2a\xd1\x1a\x2c\xd4\x1a\x2c\x90\x07\x90\x07\xe0\x1a\x1e\x9c\x2b\xd7\x1a\x2a\xd2\x1a\x2a\xa8\x34\xd1\x1a\x30\xd4\x1a\x30\x90\x07\xe0\x13\x17\x94\x3f\xa0\x57\xd1\x13\x2c\x88\x44\xd8\x13\x17\xf0\x00\x01\x0d\x16\xd8\x10\x15\xf0\x02\x0a\x0d\x1a\xd8\x29\x2d\xaf\x1b\xaa\x1b\xb0\x54\xb8\x34\xbc\x3b\xd1\x29\x47\xd4\x29\x47\xd1\x10\x26\x90\x08\x98\x2c\x98\x2c\xf8\xdd\x13\x25\xf0\x00\x08\x0d\x1a\xf0\x00\x08\x0d\x1a\xf0\x00\x08\x0d\x1a\xd8\x13\x1c\xf0\x00\x07\x11\x1a\xe0\x18\x1c\x9f\x0b\x9a\x0b\xa0\x44\xa8\x1a\xa8\x23\xac\x29\xa8\x1a\xd4\x24\x34\xb0\x64\xb4\x6b\xd1\x18\x42\xd4\x18\x42\xf1\x03\x00\x15\x2b\x90\x48\x98\x6c\xe0\x1c\x24\xd7\x1c\x2f\xd2\x1c\x2f\xb8\x14\xd0\x1c\x2f\xd1\x1c\x3e\xd4\x1c\x3e\x90\x45\xdd\x17\x1a\x98\x35\x91\x7a\x94\x7a\xa0\x31\x92\x7d\x90\x7d\xd8\x18\x1d\xf0\x03\x00\x18\x25\xf0\x06\x00\x15\x1a\xf0\x07\x00\x18\x25\x90\x7d\x90\x7d\x90\x7d\x90\x7d\xf8\xf8\xf8\xf8\xf0\x0b\x08\x0d\x1a\xf8\xf8\xf8\xf0\x14\x00\x1f\x23\xa0\x3c\xa0\x3d\xa0\x3d\xd4\x1e\x31\x88\x44\x8c\x4f\xe0\x0c\x10\x88\x4f\x8c\x4f\x98\x78\xd1\x0c\x27\x88\x4f\x8c\x4f\xe0\x13\x1a\xf0\x00\x01\x0d\x16\xd8\x10\x15\xf1\x3f\x1f\x09\x16\xf0\x40\x01\x00\x0c\x11\x90\x31\x8a\x39\x88\x39\xe0\x15\x19\x94\x5f\x88\x46\xd8\x1e\x22\xd4\x1e\x34\x88\x44\x8c\x4f\x88\x4f\xf0\x06\x00\x16\x1a\x94\x5f\xa0\x56\xa0\x65\xa0\x56\xd4\x15\x2c\x88\x46\xd8\x1e\x22\x9c\x6f\xa8\x65\xa8\x66\xa8\x66\xd4\x1e\x35\x88\x44\x8c\x4f\xd8\x0f\x15\x88\x0d", + .ob_sval = "\x80\x00\xf0\x38\x00\x0c\x10\x8f\x3f\x8a\x3f\xd8\x1e\x22\xd7\x1e\x34\xd1\x1e\x34\xd7\x1e\x39\xd1\x1e\x39\xb8\x24\xbf\x2f\xb9\x2f\xd3\x1e\x4a\x88\x44\x8c\x4f\xd8\x1e\x22\x88\x44\x8c\x4f\xe0\x0b\x10\x90\x31\x8a\x39\xf0\x06\x00\x15\x19\x88\x45\xf0\x06\x00\x0f\x13\xe0\x0f\x14\x98\x01\x8a\x7a\xdc\x13\x16\x90\x74\x97\x7f\x91\x7f\xd3\x13\x27\xa8\x35\xd2\x13\x30\xd8\x14\x19\xe0\x0f\x13\x90\x61\x8a\x78\xd8\x1a\x1e\x9f\x2b\x99\x2b\xd7\x1a\x2a\xd1\x1a\x2a\xd3\x1a\x2c\x91\x07\xe0\x1a\x1e\x9f\x2b\x99\x2b\xd7\x1a\x2a\xd1\x1a\x2a\xa8\x34\xd3\x1a\x30\x90\x07\xe0\x13\x17\x97\x3f\x91\x3f\xa0\x57\xd1\x13\x2c\x88\x44\xd9\x13\x17\xd8\x10\x15\xf0\x02\x0a\x0d\x1a\xd8\x29\x2d\xaf\x1b\xa9\x1b\xb0\x54\xb8\x34\xbf\x3b\xb9\x3b\xd3\x29\x47\xd1\x10\x26\x90\x08\x98\x2c\xf0\x16\x00\x1f\x23\xa0\x3c\xa0\x3d\xd0\x1e\x31\x88\x44\x8c\x4f\xe0\x0c\x10\x8f\x4f\x8a\x4f\x98\x78\xd1\x0c\x27\x8d\x4f\xe1\x13\x1a\xd8\x10\x15\xf0\x3f\x00\x0f\x13\xf0\x40\x01\x00\x0c\x11\x90\x31\x8a\x39\xe0\x15\x19\x97\x5f\x91\x5f\x88\x46\xd8\x1e\x22\xd7\x1e\x34\xd1\x1e\x34\x88\x44\x8c\x4f\xf0\x0a\x00\x10\x16\x88\x0d\xf0\x05\x00\x16\x1a\x97\x5f\x91\x5f\xa0\x56\xa0\x65\xd0\x15\x2c\x88\x46\xd8\x1e\x22\x9f\x6f\x99\x6f\xa8\x65\xa8\x66\xd0\x1e\x35\x88\x44\x8c\x4f\xd8\x0f\x15\x88\x0d\xf8\xf4\x31\x00\x14\x26\xf2\x00\x08\x0d\x1a\xd9\x13\x1c\xe0\x18\x1c\x9f\x0b\x99\x0b\xa0\x44\xa8\x1a\xa8\x23\xaf\x29\xa9\x29\xd0\x24\x34\xb0\x64\xb7\x6b\xb1\x6b\xd3\x18\x42\xf1\x03\x00\x15\x2b\x90\x48\x98\x6c\xe0\x1c\x24\xd7\x1c\x2f\xd1\x1c\x2f\xb8\x14\xd0\x1c\x2f\xd3\x1c\x3e\x90\x45\xdc\x17\x1a\x98\x35\x93\x7a\xa0\x31\x92\x7d\xd8\x18\x1d\xe0\x14\x19\xf4\x07\x00\x18\x25\xfb\xf0\x0b\x08\x0d\x1a\xfa", }; static struct { @@ -64214,16 +62415,16 @@ static Py_hash_t ob_shash; char ob_sval[26]; } -codecs_toplevel_consts_26_consts_6_exceptiontable = { +codecs_toplevel_consts_26_consts_3_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 25, }, .ob_shash = -1, - .ob_sval = "\xc2\x23\x1e\x43\x02\x00\xc3\x02\x0a\x44\x2f\x03\xc3\x0c\x41\x19\x44\x2a\x03\xc4\x2a\x05\x44\x2f\x03", + .ob_sval = "\xc2\x32\x1f\x44\x3d\x00\xc4\x3d\x09\x46\x20\x03\xc5\x06\x41\x10\x46\x1b\x03\xc6\x1b\x05\x46\x20\x03", }; static struct { @@ -64233,7 +62434,7 @@ static const_str_chars = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -64242,7 +62443,7 @@ const_str_chars = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "chars", @@ -64255,7 +62456,7 @@ static const_str_firstline = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -64264,7 +62465,7 @@ const_str_firstline = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "firstline", @@ -64277,7 +62478,7 @@ static const_str_newdata = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -64286,7 +62487,7 @@ const_str_newdata = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "newdata", @@ -64299,7 +62500,7 @@ static const_str_newchars = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -64308,7 +62509,7 @@ const_str_newchars = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "newchars", @@ -64321,7 +62522,7 @@ static const_str_decodedbytes = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -64330,7 +62531,7 @@ const_str_decodedbytes = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "decodedbytes", @@ -64343,7 +62544,7 @@ static const_str_lines = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -64352,7 +62553,7 @@ const_str_lines = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "lines", @@ -64365,22 +62566,22 @@ static PyObject *ob_item[11]; }_object; } -codecs_toplevel_consts_26_consts_6_localsplusnames = { +codecs_toplevel_consts_26_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_size._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(size), & const_str_chars._ascii.ob_base, & const_str_firstline._ascii.ob_base, & const_str_newdata._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(data), & const_str_newchars._ascii.ob_base, & const_str_decodedbytes._ascii.ob_base, & const_str_exc._ascii.ob_base, @@ -64390,40 +62591,38 @@ codecs_toplevel_consts_26_consts_6_localsplusnames = { }, }; static - struct _PyCode_DEF(810) -codecs_toplevel_consts_26_consts_6 = { + struct _PyCode_DEF(838) +codecs_toplevel_consts_26_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 405, + .ob_size = 419, }, - .co_consts = & codecs_toplevel_consts_26_consts_6_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_26_consts_6_names._object.ob_base.ob_base, - .co_exceptiontable = & codecs_toplevel_consts_26_consts_6_exceptiontable.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_26_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_26_consts_3_names._object.ob_base.ob_base, + .co_exceptiontable = & codecs_toplevel_consts_26_consts_3_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 17 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 454, .co_nlocalsplus = 11, .co_nlocals = 11, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_26_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_8_localspluskinds.ob_base.ob_base, + .co_version = 310, + .co_localsplusnames = & codecs_toplevel_consts_26_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_6_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(read), - .co_qualname = & codecs_toplevel_consts_26_consts_6_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_26_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2b\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x02\x6b\x00\x00\x00\x00\x00\x72\x02\x7c\x01\x7d\x02\x09\x00\x7c\x02\x64\x02\x6b\x05\x00\x00\x00\x00\x72\x19\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x6b\x05\x00\x00\x00\x00\x72\x01\x6e\xfb\x7c\x01\x64\x02\x6b\x00\x00\x00\x00\x00\x72\x1a\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x6e\x1a\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7a\x00\x00\x00\x7d\x05\x7c\x05\x73\x01\x6e\xb4\x09\x00\x7c\x00\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x06\x7d\x07\x6e\x70\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x63\x7d\x08\x7c\x03\x72\x56\x7c\x00\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x64\x01\x7c\x08\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x06\x7d\x07\x7c\x06\xa0\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xac\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x6b\x01\x00\x00\x00\x00\x72\x01\x82\x00\x6e\x01\x82\x00\x59\x00\x64\x01\x7d\x08\x7e\x08\x6e\x08\x64\x01\x7d\x08\x7e\x08\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x05\x7c\x07\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x78\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7a\x0d\x00\x00\x63\x02\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x73\x01\x6e\x02\x90\x01\x8c\x1a\x7c\x02\x64\x02\x6b\x00\x00\x00\x00\x00\x72\x14\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x23\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\x53\x00", + .co_qualname = & codecs_toplevel_consts_26_consts_3_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_26_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x31\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x02\x6b\x02\x00\x00\x72\x02\x7c\x01\x7d\x02\x09\x00\x7c\x02\x64\x02\x6b\x5c\x00\x00\x72\x19\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x02\x6b\x5c\x00\x00\x72\x01\x6e\x90\x7c\x01\x64\x02\x6b\x02\x00\x00\x72\x1b\x7c\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x6e\x1b\x7c\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7a\x00\x00\x00\x7d\x05\x7c\x05\x73\x01\x6e\x43\x09\x00\x7c\x00\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x06\x7d\x07\x7c\x05\x7c\x07\x64\x01\x1a\x00\x7c\x00\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x78\x01\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7a\x0d\x00\x00\x63\x02\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x73\x01\x6e\x01\x8c\xae\x7c\x02\x64\x02\x6b\x02\x00\x00\x72\x1f\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\x53\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x02\x1a\x00\x7d\x0a\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x01\x1a\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\x53\x00\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x5a\x7d\x08\x7c\x03\x72\x4d\x7c\x00\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x64\x01\x7c\x08\x6a\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x7c\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x06\x7d\x07\x7c\x06\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xac\x04\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x09\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x64\x05\x6b\x1a\x00\x00\x72\x02\x82\x00\x82\x00\x59\x00\x64\x01\x7d\x08\x7e\x08\x8c\xca\x64\x01\x7d\x08\x7e\x08\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -64431,10 +62630,10 @@ static PyASCIIObject _ascii; uint8_t _data[178]; } -codecs_toplevel_consts_26_consts_9_consts_0 = { +codecs_toplevel_consts_26_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 177, @@ -64443,7 +62642,7 @@ codecs_toplevel_consts_26_consts_9_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x52\x65\x61\x64\x20\x6f\x6e\x65\x20\x6c\x69\x6e\x65\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x69\x6e\x70\x75\x74\x20\x73\x74\x72\x65\x61\x6d\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x65\x63\x6f\x64\x65\x64\x20\x64\x61\x74\x61\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x69\x7a\x65\x2c\x20\x69\x66\x20\x67\x69\x76\x65\x6e\x2c\x20\x69\x73\x20\x70\x61\x73\x73\x65\x64\x20\x61\x73\x20\x73\x69\x7a\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x74\x6f\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x61\x64\x28\x29\x20\x6d\x65\x74\x68\x6f\x64\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -64456,11 +62655,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_26_consts_9_consts_8 = { +codecs_toplevel_consts_26_consts_5_consts_8 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -64470,28 +62669,6 @@ codecs_toplevel_consts_26_consts_9_consts_8 = { }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -codecs_toplevel_consts_26_consts_9_consts_9 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "\x0d", -}; static struct { PyGC_Head _gc_head; @@ -64500,34 +62677,33 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_26_consts_9_consts_11 = { +codecs_toplevel_consts_26_consts_5_consts_11 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_size._ascii.ob_base, + &_Py_ID(size), & const_str_chars._ascii.ob_base, }, }, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_8000 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 8000 }, }; static @@ -64538,56 +62714,34 @@ static PyObject *ob_item[15]; }_object; } -codecs_toplevel_consts_26_consts_9_consts = { +codecs_toplevel_consts_26_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, }, .ob_item = { - & codecs_toplevel_consts_26_consts_9_consts_0._ascii.ob_base, + & codecs_toplevel_consts_26_consts_5_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], Py_None, Py_False, - & codecs_toplevel_consts_26_consts_6_consts_4._object.ob_base.ob_base, + & codecs_toplevel_consts_26_consts_3_consts_4._object.ob_base.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 72], Py_True, - & codecs_toplevel_consts_26_consts_9_consts_8._object.ob_base.ob_base, - & codecs_toplevel_consts_26_consts_9_consts_9._ascii.ob_base, + & codecs_toplevel_consts_26_consts_5_consts_8._object.ob_base.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[13], (PyObject *)&_Py_SINGLETON(bytes_characters[13]), - & codecs_toplevel_consts_26_consts_9_consts_11._object.ob_base.ob_base, + & codecs_toplevel_consts_26_consts_5_consts_11._object.ob_base.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], - & const_int_8000.ob_base.ob_base, + & const_int_8000.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[6]; - } -const_str_bytes = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 5, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "bytes", -}; static struct { PyGC_Head _gc_head; @@ -64596,11 +62750,11 @@ static PyObject *ob_item[11]; }_object; } -codecs_toplevel_consts_26_consts_9_names = { +codecs_toplevel_consts_26_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -64615,7 +62769,7 @@ codecs_toplevel_consts_26_consts_9_names = { &_Py_ID(isinstance), & const_str_str._ascii.ob_base, & const_str_endswith._ascii.ob_base, - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), &_Py_ID(join), }, }, @@ -64625,10 +62779,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -codecs_toplevel_consts_26_consts_9_qualname = { +codecs_toplevel_consts_26_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -64637,7 +62791,7 @@ codecs_toplevel_consts_26_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.readline", @@ -64646,18 +62800,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[655]; + char ob_sval[572]; } -codecs_toplevel_consts_26_consts_9_linetable = { +codecs_toplevel_consts_26_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 654, + .ob_size = 571, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x16\x00\x0c\x10\x8c\x3f\xf0\x00\x0a\x09\x18\xd8\x13\x17\x94\x3f\xa0\x31\xd4\x13\x25\x88\x44\xd8\x10\x14\x94\x0f\xa0\x01\xd0\x10\x22\xdd\x0f\x12\x90\x34\x94\x3f\xd1\x0f\x23\xd4\x0f\x23\xa0\x71\xd2\x0f\x28\xd0\x0f\x28\xf0\x06\x00\x23\x27\xa4\x2f\xb0\x21\xd4\x22\x34\x90\x04\x94\x0f\xd8\x22\x26\x90\x04\x94\x0f\xd8\x13\x1b\xf0\x00\x01\x0d\x3a\xd8\x17\x1b\x97\x7f\x92\x7f\xb0\x05\x90\x7f\xd1\x17\x36\xd4\x17\x36\xb0\x71\xd4\x17\x39\x90\x04\xd8\x13\x17\x88\x4b\xe0\x13\x17\x90\x3a\x98\x32\x88\x08\xd8\x0f\x13\xd4\x0f\x25\x88\x04\xf0\x04\x2e\x09\x1e\xd8\x13\x17\x97\x39\x92\x39\x98\x58\xb0\x14\x90\x39\xd1\x13\x36\xd4\x13\x36\x88\x44\xd8\x0f\x13\xf0\x00\x06\x0d\x37\xf5\x08\x00\x15\x1f\x98\x74\xa5\x53\xd1\x14\x29\xd4\x14\x29\xf0\x00\x02\x11\x37\xa8\x64\xaf\x6d\xaa\x6d\xb8\x44\xd1\x2e\x41\xd4\x2e\x41\xf0\x00\x02\x11\x37\xdd\x14\x1e\x98\x74\xa5\x55\xd1\x14\x2b\xd4\x14\x2b\xf0\x03\x02\x11\x37\xd8\x30\x34\xb7\x0d\xb2\x0d\xb8\x65\xd1\x30\x44\xd4\x30\x44\xf0\x03\x02\x11\x37\xe0\x14\x18\x98\x44\x9f\x49\x9a\x49\xa8\x31\xb0\x41\x98\x49\xd1\x1c\x36\xd4\x1c\x36\xd1\x14\x36\x90\x44\xe0\x0c\x10\x90\x44\x89\x4c\x88\x44\xd8\x14\x18\x97\x4f\x92\x4f\xa8\x54\x90\x4f\xd1\x14\x32\xd4\x14\x32\x88\x45\xd8\x0f\x14\xf0\x00\x1b\x0d\x1a\xdd\x13\x16\x90\x75\x91\x3a\x94\x3a\xa0\x01\x92\x3e\x90\x3e\xf0\x06\x00\x1c\x21\xa0\x11\x9c\x38\x90\x44\xd8\x18\x1d\x98\x61\x98\x08\xdd\x17\x1a\x98\x35\x91\x7a\x94\x7a\xa0\x41\x92\x7e\x90\x7e\xe0\x18\x1d\x98\x62\x98\x09\x98\x09\x9c\x09\xa0\x54\xa4\x5f\xd1\x18\x34\x98\x09\x98\x09\x99\x09\xd8\x2a\x2f\x98\x04\x9c\x0f\xd8\x2a\x2e\x98\x04\x9c\x0f\x98\x0f\xf0\x06\x00\x2b\x30\xb0\x01\xac\x28\xb0\x54\xb4\x5f\xd1\x2a\x44\x98\x04\x9c\x0f\xd8\x1b\x23\xf0\x00\x01\x15\x42\x01\xd8\x1f\x23\x9f\x7f\x9a\x7f\xb8\x05\x98\x7f\xd1\x1f\x3e\xd4\x1f\x3e\xb8\x71\xd4\x1f\x41\x98\x04\xd8\x14\x19\xd8\x1f\x24\xa0\x51\x9c\x78\x90\x0c\xd8\x22\x27\xa8\x01\xa4\x28\xd7\x22\x35\xd2\x22\x35\xb8\x75\xd0\x22\x35\xd1\x22\x45\xd4\x22\x45\xc0\x61\xd4\x22\x48\x90\x0f\xd8\x13\x1f\xa0\x3f\xd2\x13\x32\xd0\x13\x32\xe0\x26\x2a\xd4\x26\x3c\xd7\x26\x41\xd2\x26\x41\xc0\x25\xc8\x01\xc8\x02\xc8\x02\xc4\x29\xd1\x26\x4c\xd4\x26\x4c\xd8\x26\x2a\xa4\x6f\xf1\x03\x01\x27\x36\x90\x44\x94\x4f\xe0\x17\x1f\xf0\x00\x03\x15\x2f\xd8\x1f\x2b\x98\x04\x98\x04\xe0\x1f\x2e\x98\x04\xd8\x14\x19\xe0\x13\x17\xf0\x00\x03\x0d\x16\x98\x34\xd0\x1b\x2b\xd8\x13\x17\xf0\x00\x01\x11\x3e\xa0\x08\xf0\x00\x01\x11\x3e\xd8\x1b\x1f\x9f\x3f\x9a\x3f\xb0\x45\x98\x3f\xd1\x1b\x3a\xd4\x1b\x3a\xb8\x31\xd4\x1b\x3d\x90\x44\xd8\x10\x15\xd8\x0f\x17\x98\x24\x8a\x7f\x88\x7f\xd8\x10\x18\x98\x41\x91\x0d\x90\x08\xf1\x5d\x01\x2e\x09\x1e\xf0\x5e\x01\x00\x10\x14\x88\x0b", + .ob_sval = "\x80\x00\xf0\x16\x00\x0c\x10\x8f\x3f\x8a\x3f\xd8\x13\x17\x97\x3f\x91\x3f\xa0\x31\xd1\x13\x25\x88\x44\xd8\x10\x14\x97\x0f\x91\x0f\xa0\x01\xd0\x10\x22\xdc\x0f\x12\x90\x34\x97\x3f\x91\x3f\xd3\x0f\x23\xa0\x71\xd2\x0f\x28\xf0\x06\x00\x23\x27\xa7\x2f\xa1\x2f\xb0\x21\xd1\x22\x34\x90\x04\x94\x0f\xd8\x22\x26\x90\x04\x94\x0f\xd9\x13\x1b\xd8\x17\x1b\x97\x7f\x91\x7f\xb0\x05\x90\x7f\xd3\x17\x36\xb0\x71\xd1\x17\x39\x90\x04\xd8\x13\x17\x88\x4b\xe0\x13\x17\x92\x3a\x98\x32\x88\x08\xd8\x0f\x13\xd7\x0f\x25\xd1\x0f\x25\x88\x04\xe0\x0e\x12\xd8\x13\x17\x97\x39\x91\x39\x98\x58\xb0\x14\x90\x39\xd3\x13\x36\x88\x44\xd9\x0f\x13\xf4\x08\x00\x15\x1f\x98\x74\xa4\x53\xd4\x14\x29\xa8\x64\xaf\x6d\xa9\x6d\xb8\x44\xd4\x2e\x41\xdc\x14\x1e\x98\x74\xa4\x55\xd4\x14\x2b\xb0\x04\xb7\x0d\xb1\x0d\xb8\x65\xd4\x30\x44\xd8\x14\x18\x98\x44\x9f\x49\x99\x49\xa8\x31\xb0\x41\x98\x49\xd3\x1c\x36\xd1\x14\x36\x90\x44\xe0\x0c\x10\x90\x44\x89\x4c\x88\x44\xd8\x14\x18\x97\x4f\x91\x4f\xa8\x54\x90\x4f\xd3\x14\x32\x88\x45\xd9\x0f\x14\xdc\x13\x16\x90\x75\x93\x3a\xa0\x01\x92\x3e\xf0\x06\x00\x1c\x21\xa0\x11\x99\x38\x90\x44\xd8\x18\x1d\x98\x61\x98\x08\xdc\x17\x1a\x98\x35\x93\x7a\xa0\x41\x92\x7e\xe0\x18\x1d\x98\x62\x9b\x09\xa0\x54\xa7\x5f\xa1\x5f\xd1\x18\x34\x9b\x09\xd8\x2a\x2f\x98\x04\x9c\x0f\xd8\x2a\x2e\x98\x04\x9d\x0f\xf0\x06\x00\x2b\x30\xb0\x01\xa9\x28\xb0\x54\xb7\x5f\xb1\x5f\xd1\x2a\x44\x98\x04\x9c\x0f\xd9\x1b\x23\xd8\x1f\x23\x9f\x7f\x99\x7f\xb8\x05\x98\x7f\xd3\x1f\x3e\xb8\x71\xd1\x1f\x41\x98\x04\xd8\x14\x19\xf0\x26\x00\x10\x14\x88\x0b\xf0\x25\x00\x20\x25\xa0\x51\x99\x78\x90\x0c\xd8\x22\x27\xa8\x01\xa1\x28\xd7\x22\x35\xd1\x22\x35\xb8\x75\xd0\x22\x35\xd3\x22\x45\xc0\x61\xd1\x22\x48\x90\x0f\xd8\x13\x1f\xa0\x3f\xd2\x13\x32\xe0\x26\x2a\xd7\x26\x3c\xd1\x26\x3c\xd7\x26\x41\xd1\x26\x41\xc0\x25\xc8\x01\xc8\x02\xc0\x29\xd3\x26\x4c\xd8\x26\x2a\xa7\x6f\xa1\x6f\xf1\x03\x01\x27\x36\x90\x44\x94\x4f\xe1\x17\x1f\xd8\x1f\x2b\x98\x04\xf0\x06\x00\x15\x1a\xf0\x10\x00\x10\x14\x88\x0b\xf0\x13\x00\x20\x2f\x98\x04\xd8\x14\x19\xf0\x10\x00\x10\x14\x88\x0b\xf1\x0d\x00\x14\x18\x98\x34\xd0\x1b\x2b\xd9\x13\x17\xa1\x08\xd8\x1b\x1f\x9f\x3f\x99\x3f\xb0\x45\x98\x3f\xd3\x1b\x3a\xb8\x31\xd1\x1b\x3d\x90\x44\xd8\x10\x15\xf0\x06\x00\x10\x14\x88\x0b\xf0\x05\x00\x10\x18\x98\x24\x8a\x7f\xd8\x10\x18\x98\x41\x91\x0d\x90\x08\xf1\x5d\x01\x00\x0f\x13", }; static struct { @@ -64667,7 +62821,7 @@ static const_str_readsize = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -64676,7 +62830,7 @@ const_str_readsize = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "readsize", @@ -64689,7 +62843,7 @@ static const_str_line0withend = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -64698,7 +62852,7 @@ const_str_line0withend = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "line0withend", @@ -64711,7 +62865,7 @@ static const_str_line0withoutend = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -64720,7 +62874,7 @@ const_str_line0withoutend = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "line0withoutend", @@ -64733,22 +62887,22 @@ static PyObject *ob_item[9]; }_object; } -codecs_toplevel_consts_26_consts_9_localsplusnames = { +codecs_toplevel_consts_26_consts_5_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_size._ascii.ob_base, - & const_str_keepends._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(size), + &_Py_ID(keepends), &_Py_ID(line), & const_str_readsize._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(data), & const_str_lines._ascii.ob_base, & const_str_line0withend._ascii.ob_base, & const_str_line0withoutend._ascii.ob_base, @@ -64756,40 +62910,38 @@ codecs_toplevel_consts_26_consts_9_localsplusnames = { }, }; static - struct _PyCode_DEF(1156) -codecs_toplevel_consts_26_consts_9 = { + struct _PyCode_DEF(1062) +codecs_toplevel_consts_26_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 578, + .ob_size = 531, }, - .co_consts = & codecs_toplevel_consts_26_consts_9_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_26_consts_9_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_26_consts_5_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_26_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 14 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 534, .co_nlocalsplus = 9, .co_nlocals = 9, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_26_consts_9_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_57_localspluskinds.ob_base.ob_base, + .co_version = 311, + .co_localsplusnames = & codecs_toplevel_consts_26_consts_5_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_61_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(readline), - .co_qualname = & codecs_toplevel_consts_26_consts_9_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_26_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x66\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x3d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x02\x00\x00\x00\x00\x72\x19\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x73\x1c\x7c\x03\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xac\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x53\x00\x7c\x01\x70\x01\x64\x06\x7d\x04\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x09\x00\x7c\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x07\xac\x08\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x72\x6e\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x15\x7c\x05\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x2a\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2f\x7c\x05\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1a\x7c\x05\x7c\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x02\xac\x0b\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0d\x00\x00\x7d\x05\x7c\x03\x7c\x05\x7a\x0d\x00\x00\x7d\x03\x7c\x03\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\xac\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x72\xf0\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x04\x00\x00\x00\x00\x72\x76\x7c\x06\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x06\x64\x01\x3d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x04\x00\x00\x00\x00\x72\x24\x7c\x06\x64\x0c\x78\x02\x78\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0d\x00\x00\x63\x03\x63\x02\x3c\x00\x00\x00\x7c\x06\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x15\x7c\x06\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x73\x1c\x7c\x03\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xac\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x6e\x99\x7c\x06\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x06\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xac\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x07\x7c\x08\x6b\x03\x00\x00\x00\x00\x72\x37\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x64\x02\x64\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x72\x03\x7c\x07\x7d\x03\x6e\x02\x7c\x08\x7d\x03\x6e\x32\x7c\x05\x72\x02\x7c\x01\x81\x21\x7c\x03\x72\x1e\x7c\x02\x73\x1c\x7c\x03\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xac\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x6e\x0d\x7c\x04\x64\x0d\x6b\x00\x00\x00\x00\x00\x72\x05\x7c\x04\x64\x0e\x7a\x12\x00\x00\x7d\x04\x90\x01\x8c\xc6\x7c\x03\x53\x00", + .co_qualname = & codecs_toplevel_consts_26_consts_5_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_26_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x68\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x7d\x03\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x3d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x28\x00\x00\x72\x1b\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x73\x15\x7c\x03\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xac\x05\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x7d\x03\x7c\x03\x53\x00\x7c\x01\x78\x01\x73\x02\x01\x00\x64\x06\x7d\x04\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x09\x00\x7c\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x64\x07\xac\x08\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x72\x58\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x11\x7c\x05\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\xab\x01\x00\x00\x00\x00\x00\x00\x73\x21\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x27\x7c\x05\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\xab\x01\x00\x00\x00\x00\x00\x00\x72\x16\x7c\x05\x7c\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x02\xac\x0b\xab\x02\x00\x00\x00\x00\x00\x00\x7a\x0d\x00\x00\x7d\x05\x7c\x03\x7c\x05\x7a\x0d\x00\x00\x7d\x03\x7c\x03\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\xac\x05\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x72\xd9\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x44\x00\x00\x72\x6d\x7c\x06\x64\x01\x19\x00\x00\x00\x7d\x03\x7c\x06\x64\x01\x3d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x44\x00\x00\x72\x26\x7c\x06\x64\x0c\x78\x02\x78\x02\x19\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0d\x00\x00\x63\x03\x63\x02\x3c\x00\x00\x00\x7c\x06\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x17\x7c\x06\x64\x01\x19\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x73\x15\x7c\x03\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xac\x05\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x7d\x03\x09\x00\x7c\x03\x53\x00\x7c\x06\x64\x01\x19\x00\x00\x00\x7d\x07\x7c\x06\x64\x01\x19\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xac\x05\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x7d\x08\x7c\x07\x7c\x08\x6b\x37\x00\x00\x72\x3c\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x64\x02\x64\x03\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x72\x05\x7c\x07\x7d\x03\x09\x00\x7c\x03\x53\x00\x7c\x08\x7d\x03\x09\x00\x7c\x03\x53\x00\x7c\x05\x72\x02\x7c\x01\x81\x1c\x7c\x03\x72\x17\x7c\x02\x73\x15\x7c\x03\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xac\x05\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x7d\x03\x09\x00\x7c\x03\x53\x00\x7c\x04\x64\x0d\x6b\x02\x00\x00\x72\x05\x7c\x04\x64\x0e\x7a\x12\x00\x00\x7d\x04\x90\x01\x8c\x8b", ._co_firsttraceable = 0, }; static @@ -64797,10 +62949,10 @@ static PyASCIIObject _ascii; uint8_t _data[340]; } -codecs_toplevel_consts_26_consts_10_consts_0 = { +codecs_toplevel_consts_26_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 339, @@ -64809,7 +62961,7 @@ codecs_toplevel_consts_26_consts_10_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x52\x65\x61\x64\x20\x61\x6c\x6c\x20\x6c\x69\x6e\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x6f\x6e\x20\x74\x68\x65\x20\x69\x6e\x70\x75\x74\x20\x73\x74\x72\x65\x61\x6d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x6d\x20\x61\x73\x20\x61\x20\x6c\x69\x73\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4c\x69\x6e\x65\x20\x62\x72\x65\x61\x6b\x73\x20\x61\x72\x65\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x27\x73\x20\x64\x65\x63\x6f\x64\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x65\x74\x68\x6f\x64\x20\x61\x6e\x64\x20\x61\x72\x65\x20\x69\x6e\x63\x6c\x75\x64\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x6c\x69\x73\x74\x20\x65\x6e\x74\x72\x69\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x69\x7a\x65\x68\x69\x6e\x74\x2c\x20\x69\x66\x20\x67\x69\x76\x65\x6e\x2c\x20\x69\x73\x20\x69\x67\x6e\x6f\x72\x65\x64\x20\x73\x69\x6e\x63\x65\x20\x74\x68\x65\x72\x65\x20\x69\x73\x20\x6e\x6f\x20\x65\x66\x66\x69\x63\x69\x65\x6e\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x61\x79\x20\x74\x6f\x20\x66\x69\x6e\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x74\x72\x75\x65\x20\x65\x6e\x64\x2d\x6f\x66\x2d\x6c\x69\x6e\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -64822,17 +62974,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_26_consts_10_consts = { +codecs_toplevel_consts_26_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_26_consts_10_consts_0._ascii.ob_base, + & codecs_toplevel_consts_26_consts_6_consts_0._ascii.ob_base, }, }, }; @@ -64844,11 +62996,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_26_consts_10_names = { +codecs_toplevel_consts_26_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -64867,7 +63019,7 @@ static const_str_readlines = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -64876,7 +63028,7 @@ const_str_readlines = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "readlines", @@ -64886,10 +63038,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -codecs_toplevel_consts_26_consts_10_qualname = { +codecs_toplevel_consts_26_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -64898,7 +63050,7 @@ codecs_toplevel_consts_26_consts_10_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.readlines", @@ -64907,40 +63059,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[36]; + char ob_sval[31]; } -codecs_toplevel_consts_26_consts_10_linetable = { +codecs_toplevel_consts_26_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 35, + .ob_size = 30, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x18\x00\x10\x14\x8f\x79\x8a\x79\x89\x7b\x8c\x7b\x88\x04\xd8\x0f\x13\x8f\x7f\x8a\x7f\x98\x78\xd1\x0f\x28\xd4\x0f\x28\xd0\x08\x28", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[9]; - } -const_str_sizehint = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 8, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "sizehint", + .ob_sval = "\x80\x00\xf0\x18\x00\x10\x14\x8f\x79\x89\x79\x8b\x7b\x88\x04\xd8\x0f\x13\x8f\x7f\x89\x7f\x98\x78\xd3\x0f\x28\xd0\x08\x28", }; static struct { @@ -64950,58 +63080,56 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_26_consts_10_localsplusnames = { +codecs_toplevel_consts_26_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_sizehint._ascii.ob_base, - & const_str_keepends._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(sizehint), + &_Py_ID(keepends), + &_Py_ID(data), }, }, }; static - struct _PyCode_DEF(84) -codecs_toplevel_consts_26_consts_10 = { + struct _PyCode_DEF(68) +codecs_toplevel_consts_26_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 42, + .ob_size = 34, }, - .co_consts = & codecs_toplevel_consts_26_consts_10_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_26_consts_10_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_26_consts_6_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_26_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 609, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_26_consts_10_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 312, + .co_localsplusnames = & codecs_toplevel_consts_26_consts_6_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_readlines._ascii.ob_base, - .co_qualname = & codecs_toplevel_consts_26_consts_10_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_26_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_26_consts_6_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_26_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -65009,10 +63137,10 @@ static PyASCIIObject _ascii; uint8_t _data[237]; } -codecs_toplevel_consts_26_consts_11_consts_0 = { +codecs_toplevel_consts_26_consts_7_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 236, @@ -65021,7 +63149,7 @@ codecs_toplevel_consts_26_consts_11_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x52\x65\x73\x65\x74\x73\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x20\x62\x75\x66\x66\x65\x72\x73\x20\x75\x73\x65\x64\x20\x66\x6f\x72\x20\x6b\x65\x65\x70\x69\x6e\x67\x20\x69\x6e\x74\x65\x72\x6e\x61\x6c\x20\x73\x74\x61\x74\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4e\x6f\x74\x65\x20\x74\x68\x61\x74\x20\x6e\x6f\x20\x73\x74\x72\x65\x61\x6d\x20\x72\x65\x70\x6f\x73\x69\x74\x69\x6f\x6e\x69\x6e\x67\x20\x73\x68\x6f\x75\x6c\x64\x20\x74\x61\x6b\x65\x20\x70\x6c\x61\x63\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x69\x73\x20\x6d\x65\x74\x68\x6f\x64\x20\x69\x73\x20\x70\x72\x69\x6d\x61\x72\x69\x6c\x79\x20\x69\x6e\x74\x65\x6e\x64\x65\x64\x20\x74\x6f\x20\x62\x65\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\x72\x65\x63\x6f\x76\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x72\x6f\x6d\x20\x64\x65\x63\x6f\x64\x69\x6e\x67\x20\x65\x72\x72\x6f\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -65034,17 +63162,17 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_26_consts_11_consts = { +codecs_toplevel_consts_26_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & codecs_toplevel_consts_26_consts_11_consts_0._ascii.ob_base, + & codecs_toplevel_consts_26_consts_7_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_empty), Py_None, }, @@ -65058,11 +63186,11 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_26_consts_11_names = { +codecs_toplevel_consts_26_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -65080,10 +63208,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -codecs_toplevel_consts_26_consts_11_qualname = { +codecs_toplevel_consts_26_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -65092,7 +63220,7 @@ codecs_toplevel_consts_26_consts_11_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.reset", @@ -65101,54 +63229,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[33]; + char ob_sval[32]; } -codecs_toplevel_consts_26_consts_11_linetable = { +codecs_toplevel_consts_26_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 32, + .ob_size = 31, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x12\x00\x1b\x1e\x88\x04\x8c\x0f\xd8\x1a\x1e\xd4\x1a\x30\x88\x04\x8c\x0f\xd8\x1a\x1e\x88\x04\x8c\x0f\x88\x0f\x88\x0f", + .ob_sval = "\x80\x00\xf0\x12\x00\x1b\x1e\x88\x04\x8c\x0f\xd8\x1a\x1e\xd7\x1a\x30\xd1\x1a\x30\x88\x04\x8c\x0f\xd8\x1a\x1e\x88\x04\x8d\x0f", }; static - struct _PyCode_DEF(58) -codecs_toplevel_consts_26_consts_11 = { + struct _PyCode_DEF(66) +codecs_toplevel_consts_26_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 33, }, - .co_consts = & codecs_toplevel_consts_26_consts_11_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_26_consts_11_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_26_consts_7_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_26_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 624, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 313, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(reset), - .co_qualname = & codecs_toplevel_consts_26_consts_11_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_26_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x53\x00", + .co_qualname = & codecs_toplevel_consts_26_consts_7_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_26_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -65156,10 +63282,10 @@ static PyASCIIObject _ascii; uint8_t _data[113]; } -codecs_toplevel_consts_26_consts_13_consts_0 = { +codecs_toplevel_consts_26_consts_8_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 112, @@ -65168,7 +63294,7 @@ codecs_toplevel_consts_26_consts_13_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x53\x65\x74\x20\x74\x68\x65\x20\x69\x6e\x70\x75\x74\x20\x73\x74\x72\x65\x61\x6d\x27\x73\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x6f\x73\x69\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x73\x65\x74\x73\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x20\x62\x75\x66\x66\x65\x72\x73\x20\x75\x73\x65\x64\x20\x66\x6f\x72\x20\x6b\x65\x65\x70\x69\x6e\x67\x20\x73\x74\x61\x74\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -65181,17 +63307,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_26_consts_13_consts = { +codecs_toplevel_consts_26_consts_8_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_26_consts_13_consts_0._ascii.ob_base, + & codecs_toplevel_consts_26_consts_8_consts_0._ascii.ob_base, Py_None, }, }, @@ -65201,10 +63327,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -codecs_toplevel_consts_26_consts_13_qualname = { +codecs_toplevel_consts_26_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -65213,7 +63339,7 @@ codecs_toplevel_consts_26_consts_13_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.seek", @@ -65222,54 +63348,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[46]; + char ob_sval[34]; } -codecs_toplevel_consts_26_consts_13_linetable = { +codecs_toplevel_consts_26_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 45, + .ob_size = 33, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0a\x00\x09\x0d\x8c\x0b\xd7\x08\x18\xd2\x08\x18\x98\x16\xa0\x16\xd1\x08\x28\xd4\x08\x28\xd0\x08\x28\xd8\x08\x0c\x8f\x0a\x8a\x0a\x89\x0c\x8c\x0c\x88\x0c\x88\x0c\x88\x0c", + .ob_sval = "\x80\x00\xf0\x0a\x00\x09\x0d\x8f\x0b\x89\x0b\xd7\x08\x18\xd1\x08\x18\x98\x16\xa0\x16\xd4\x08\x28\xd8\x08\x0c\x8f\x0a\x89\x0a\x8d\x0c", }; static - struct _PyCode_DEF(100) -codecs_toplevel_consts_26_consts_13 = { + struct _PyCode_DEF(92) +codecs_toplevel_consts_26_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 50, + .ob_size = 46, }, - .co_consts = & codecs_toplevel_consts_26_consts_13_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_7_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_26_consts_8_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 637, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_7_localsplusnames._object.ob_base.ob_base, + .co_version = 314, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_5_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(seek), - .co_qualname = & codecs_toplevel_consts_26_consts_13_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_26_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_26_consts_8_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_26_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -65277,10 +63401,10 @@ static PyASCIIObject _ascii; uint8_t _data[53]; } -codecs_toplevel_consts_26_consts_14_consts_0 = { +codecs_toplevel_consts_26_consts_9_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 52, @@ -65289,7 +63413,7 @@ codecs_toplevel_consts_26_consts_14_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = " Return the next decoded line from the input stream.", @@ -65302,17 +63426,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_26_consts_14_consts = { +codecs_toplevel_consts_26_consts_9_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_26_consts_14_consts_0._ascii.ob_base, + & codecs_toplevel_consts_26_consts_9_consts_0._ascii.ob_base, }, }, }; @@ -65324,7 +63448,7 @@ static const_str_StopIteration = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -65333,7 +63457,7 @@ const_str_StopIteration = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StopIteration", @@ -65346,11 +63470,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_26_consts_14_names = { +codecs_toplevel_consts_26_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -65366,10 +63490,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -codecs_toplevel_consts_26_consts_14_qualname = { +codecs_toplevel_consts_26_consts_9_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -65378,7 +63502,7 @@ codecs_toplevel_consts_26_consts_14_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.__next__", @@ -65387,18 +63511,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[37]; + char ob_sval[30]; } -codecs_toplevel_consts_26_consts_14_linetable = { +codecs_toplevel_consts_26_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 36, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x06\x00\x10\x14\x8f\x7d\x8a\x7d\x89\x7f\x8c\x7f\x88\x04\xd8\x0b\x0f\xf0\x00\x01\x09\x18\xd8\x13\x17\x88\x4b\xdd\x0e\x1b\xd0\x08\x1b", + .ob_sval = "\x80\x00\xf0\x06\x00\x10\x14\x8f\x7d\x89\x7d\x8b\x7f\x88\x04\xd9\x0b\x0f\xd8\x13\x17\x88\x4b\xdc\x0e\x1b\xd0\x08\x1b", }; static struct { @@ -65408,56 +63532,54 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_26_consts_14_localsplusnames = { +codecs_toplevel_consts_26_consts_9_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(line), }, }, }; static - struct _PyCode_DEF(64) -codecs_toplevel_consts_26_consts_14 = { + struct _PyCode_DEF(54) +codecs_toplevel_consts_26_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 32, + .ob_size = 27, }, - .co_consts = & codecs_toplevel_consts_26_consts_14_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_26_consts_14_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_26_consts_9_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_26_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 645, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_26_consts_14_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 315, + .co_localsplusnames = & codecs_toplevel_consts_26_consts_9_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__next__), - .co_qualname = & codecs_toplevel_consts_26_consts_14_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_26_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x72\x02\x7c\x01\x53\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_26_consts_9_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_26_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x72\x02\x7c\x01\x53\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -65465,10 +63587,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -codecs_toplevel_consts_26_consts_15_qualname = { +codecs_toplevel_consts_26_consts_10_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -65477,17 +63599,17 @@ codecs_toplevel_consts_26_consts_15_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.__iter__", }; static struct _PyCode_DEF(6) -codecs_toplevel_consts_26_consts_15 = { +codecs_toplevel_consts_26_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -65496,26 +63618,24 @@ codecs_toplevel_consts_26_consts_15 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 653, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 316, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), - .co_qualname = & codecs_toplevel_consts_26_consts_15_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_qualname = & codecs_toplevel_consts_26_consts_10_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -65524,10 +63644,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -codecs_toplevel_consts_26_consts_16_qualname = { +codecs_toplevel_consts_26_consts_11_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -65536,46 +63656,44 @@ codecs_toplevel_consts_26_consts_16_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.__getattr__", }; static - struct _PyCode_DEF(36) -codecs_toplevel_consts_26_consts_16 = { + struct _PyCode_DEF(40) +codecs_toplevel_consts_26_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 20, }, - .co_consts = & codecs_toplevel_consts_24_consts_8_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_8_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_6_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 656, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_8_localsplusnames._object.ob_base.ob_base, + .co_version = 317, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__getattr__), - .co_qualname = & codecs_toplevel_consts_26_consts_16_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x02\x00\x7c\x02\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_26_consts_11_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x02\x00\x7c\x02\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -65583,10 +63701,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -codecs_toplevel_consts_26_consts_17_qualname = { +codecs_toplevel_consts_26_consts_12_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -65595,17 +63713,17 @@ codecs_toplevel_consts_26_consts_17_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.__enter__", }; static struct _PyCode_DEF(6) -codecs_toplevel_consts_26_consts_17 = { +codecs_toplevel_consts_26_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -65614,26 +63732,24 @@ codecs_toplevel_consts_26_consts_17 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 663, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 318, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__enter__), - .co_qualname = & codecs_toplevel_consts_26_consts_17_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_qualname = & codecs_toplevel_consts_26_consts_12_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -65642,10 +63758,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -codecs_toplevel_consts_26_consts_18_qualname = { +codecs_toplevel_consts_26_consts_13_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -65654,46 +63770,44 @@ codecs_toplevel_consts_26_consts_18_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.__exit__", }; static struct _PyCode_DEF(56) -codecs_toplevel_consts_26_consts_18 = { +codecs_toplevel_consts_26_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_10_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 666, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_10_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 319, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__exit__), - .co_qualname = & codecs_toplevel_consts_26_consts_18_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_26_consts_13_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -65701,10 +63815,10 @@ static PyASCIIObject _ascii; uint8_t _data[27]; } -codecs_toplevel_consts_26_consts_19_qualname = { +codecs_toplevel_consts_26_consts_14_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -65713,46 +63827,44 @@ codecs_toplevel_consts_26_consts_19_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReader.__reduce_ex__", }; static - struct _PyCode_DEF(58) -codecs_toplevel_consts_26_consts_19 = { + struct _PyCode_DEF(70) +codecs_toplevel_consts_26_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 35, }, - .co_consts = & codecs_toplevel_consts_24_consts_11_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_11_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_9_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 669, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 320, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_9_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__reduce_ex__), - .co_qualname = & codecs_toplevel_consts_26_consts_19_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_26_consts_14_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -65763,11 +63875,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_26_consts_21 = { +codecs_toplevel_consts_26_consts_16 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -65784,43 +63896,38 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[24]; + PyObject *ob_item[19]; }_object; } codecs_toplevel_consts_26_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 24, + .ob_size = 19, }, .ob_item = { & const_str_StreamReader._ascii.ob_base, - &_Py_ID(strict), + & codecs_toplevel_consts_26_consts_1.ob_base.ob_base, & codecs_toplevel_consts_26_consts_2.ob_base.ob_base, & codecs_toplevel_consts_26_consts_3.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], - Py_False, - & codecs_toplevel_consts_26_consts_6.ob_base.ob_base, Py_None, - Py_True, + & codecs_toplevel_consts_26_consts_5.ob_base.ob_base, + & codecs_toplevel_consts_26_consts_6.ob_base.ob_base, + & codecs_toplevel_consts_26_consts_7.ob_base.ob_base, + & codecs_toplevel_consts_26_consts_8.ob_base.ob_base, & codecs_toplevel_consts_26_consts_9.ob_base.ob_base, & codecs_toplevel_consts_26_consts_10.ob_base.ob_base, & codecs_toplevel_consts_26_consts_11.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & codecs_toplevel_consts_26_consts_12.ob_base.ob_base, & codecs_toplevel_consts_26_consts_13.ob_base.ob_base, & codecs_toplevel_consts_26_consts_14.ob_base.ob_base, - & codecs_toplevel_consts_26_consts_15.ob_base.ob_base, - & codecs_toplevel_consts_26_consts_16.ob_base.ob_base, - & codecs_toplevel_consts_26_consts_17.ob_base.ob_base, - & codecs_toplevel_consts_26_consts_18.ob_base.ob_base, - & codecs_toplevel_consts_26_consts_19.ob_base.ob_base, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, - & codecs_toplevel_consts_26_consts_21._object.ob_base.ob_base, - & importlib__bootstrap_external_toplevel_consts_69_consts_3_consts._object.ob_base.ob_base, - & codecs_toplevel_consts_24_consts_14._object.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, + & codecs_toplevel_consts_26_consts_16._object.ob_base.ob_base, + & importlib__bootstrap_external_toplevel_consts_68_consts_2_consts._object.ob_base.ob_base, + & codecs_toplevel_consts_24_consts_12._object.ob_base.ob_base, }, }, }; @@ -65836,7 +63943,7 @@ codecs_toplevel_consts_26_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 19, @@ -65868,54 +63975,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[276]; + char ob_sval[83]; } codecs_toplevel_consts_26_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 275, + .ob_size = 82, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x15\x18\x80\x4e\xf0\x04\x17\x05\x1f\xf0\x00\x17\x05\x1f\xf0\x00\x17\x05\x1f\xf0\x00\x17\x05\x1f\xf0\x32\x01\x05\x22\xf0\x00\x01\x05\x22\xf0\x00\x01\x05\x22\xf0\x00\x01\x05\x22\xf0\x06\x4e\x01\x05\x16\xf0\x00\x4e\x01\x05\x16\xf0\x00\x4e\x01\x05\x16\xf0\x00\x4e\x01\x05\x16\xf0\x60\x02\x49\x01\x05\x14\xf0\x00\x49\x01\x05\x14\xf0\x00\x49\x01\x05\x14\xf0\x00\x49\x01\x05\x14\xf0\x56\x02\x0d\x05\x29\xf0\x00\x0d\x05\x29\xf0\x00\x0d\x05\x29\xf0\x00\x0d\x05\x29\xf0\x1e\x0b\x05\x1f\xf0\x00\x0b\x05\x1f\xf0\x00\x0b\x05\x1f\xf0\x1a\x06\x05\x15\xf0\x00\x06\x05\x15\xf0\x00\x06\x05\x15\xf0\x00\x06\x05\x15\xf0\x10\x06\x05\x1c\xf0\x00\x06\x05\x1c\xf0\x00\x06\x05\x1c\xf0\x10\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x08\x00\x1d\x24\xf0\x03\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x0e\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x06\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x06\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01", + .ob_sval = "\x84\x00\xe0\x15\x18\x80\x4e\xf3\x04\x17\x05\x1f\xf3\x32\x01\x05\x22\xf3\x06\x4e\x01\x05\x16\xf3\x60\x02\x49\x01\x05\x14\xf3\x56\x02\x0d\x05\x29\xf2\x1e\x0b\x05\x1f\xf3\x1a\x06\x05\x15\xf2\x10\x06\x05\x1c\xf2\x10\x01\x05\x14\xf0\x08\x00\x1d\x24\xf3\x03\x05\x05\x2a\xf2\x0e\x01\x05\x14\xf2\x06\x01\x05\x1c\xf3\x06\x01\x05\x48\x01", }; static - struct _PyCode_DEF(112) + struct _PyCode_DEF(110) codecs_toplevel_consts_26 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 56, + .ob_size = 55, }, .co_consts = & codecs_toplevel_consts_26_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_26_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 422, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 321, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_StreamReader._ascii.ob_base, .co_qualname = & const_str_StreamReader._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_26_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x65\x03\x5a\x04\x64\x14\x64\x02\x84\x01\x5a\x05\x64\x14\x64\x03\x84\x01\x5a\x06\x64\x15\x64\x06\x84\x01\x5a\x07\x64\x16\x64\x09\x84\x01\x5a\x08\x64\x16\x64\x0a\x84\x01\x5a\x09\x64\x0b\x84\x00\x5a\x0a\x64\x17\x64\x0d\x84\x01\x5a\x0b\x64\x0e\x84\x00\x5a\x0c\x64\x0f\x84\x00\x5a\x0d\x65\x0e\x66\x01\x64\x10\x84\x01\x5a\x0f\x64\x11\x84\x00\x5a\x10\x64\x12\x84\x00\x5a\x11\x64\x13\x84\x00\x5a\x12\x64\x07\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x65\x03\x5a\x04\x64\x0f\x64\x01\x84\x01\x5a\x05\x64\x0f\x64\x02\x84\x01\x5a\x06\x64\x10\x64\x03\x84\x01\x5a\x07\x64\x11\x64\x05\x84\x01\x5a\x08\x64\x11\x64\x06\x84\x01\x5a\x09\x64\x07\x84\x00\x5a\x0a\x64\x12\x64\x08\x84\x01\x5a\x0b\x64\x09\x84\x00\x5a\x0c\x64\x0a\x84\x00\x5a\x0d\x65\x0e\x66\x01\x64\x0b\x84\x01\x5a\x0f\x64\x0c\x84\x00\x5a\x10\x64\x0d\x84\x00\x5a\x11\x64\x0e\x84\x00\x5a\x12\x79\x04", ._co_firsttraceable = 0, }; static @@ -65926,7 +64031,7 @@ static codecs_toplevel_consts_28_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 257, @@ -65935,7 +64040,7 @@ codecs_toplevel_consts_28_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x61\x64\x65\x72\x57\x72\x69\x74\x65\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x73\x20\x61\x6c\x6c\x6f\x77\x20\x77\x72\x61\x70\x70\x69\x6e\x67\x20\x73\x74\x72\x65\x61\x6d\x73\x20\x77\x68\x69\x63\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x77\x6f\x72\x6b\x20\x69\x6e\x20\x62\x6f\x74\x68\x20\x72\x65\x61\x64\x20\x61\x6e\x64\x20\x77\x72\x69\x74\x65\x20\x6d\x6f\x64\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x64\x65\x73\x69\x67\x6e\x20\x69\x73\x20\x73\x75\x63\x68\x20\x74\x68\x61\x74\x20\x6f\x6e\x65\x20\x63\x61\x6e\x20\x75\x73\x65\x20\x74\x68\x65\x20\x66\x61\x63\x74\x6f\x72\x79\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x2e\x6c\x6f\x6f\x6b\x75\x70\x28\x29\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x0a\x20\x20\x20\x20", @@ -65948,7 +64053,7 @@ static const_str_unknown = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -65957,7 +64062,7 @@ const_str_unknown = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "unknown", @@ -65967,10 +64072,10 @@ static PyASCIIObject _ascii; uint8_t _data[339]; } -codecs_toplevel_consts_28_consts_4_consts_0 = { +codecs_toplevel_consts_28_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 338, @@ -65979,7 +64084,7 @@ codecs_toplevel_consts_28_consts_4_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x61\x64\x65\x72\x57\x72\x69\x74\x65\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x65\x61\x6d\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x20\x53\x74\x72\x65\x61\x6d\x2d\x6c\x69\x6b\x65\x20\x6f\x62\x6a\x65\x63\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x61\x64\x65\x72\x2c\x20\x57\x72\x69\x74\x65\x72\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x66\x61\x63\x74\x6f\x72\x79\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x20\x6f\x72\x20\x63\x6c\x61\x73\x73\x65\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x61\x64\x65\x72\x2c\x20\x53\x74\x72\x65\x61\x6d\x57\x72\x69\x74\x65\x72\x20\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x20\x72\x65\x73\x70\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x45\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x20\x69\x73\x20\x64\x6f\x6e\x65\x20\x69\x6e\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x77\x61\x79\x20\x61\x73\x20\x64\x65\x66\x69\x6e\x65\x64\x20\x66\x6f\x72\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x53\x74\x72\x65\x61\x6d\x57\x72\x69\x74\x65\x72\x2f\x52\x65\x61\x64\x65\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -65992,17 +64097,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_28_consts_4_consts = { +codecs_toplevel_consts_28_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_28_consts_4_consts_0._ascii.ob_base, + & codecs_toplevel_consts_28_consts_3_consts_0._ascii.ob_base, Py_None, }, }, @@ -66015,7 +64120,7 @@ static const_str_reader = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -66024,7 +64129,7 @@ const_str_reader = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "reader", @@ -66037,7 +64142,7 @@ static const_str_writer = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -66046,7 +64151,7 @@ const_str_writer = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "writer", @@ -66059,11 +64164,11 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_28_consts_4_names = { +codecs_toplevel_consts_28_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -66081,10 +64186,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_28_consts_4_qualname = { +codecs_toplevel_consts_28_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -66093,7 +64198,7 @@ codecs_toplevel_consts_28_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.__init__", @@ -66102,18 +64207,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[61]; + char ob_sval[47]; } -codecs_toplevel_consts_28_consts_4_linetable = { +codecs_toplevel_consts_28_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 60, + .ob_size = 46, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x1a\x00\x17\x1d\x88\x04\x8c\x0b\xd8\x16\x1c\x90\x66\x98\x56\xa0\x56\xd1\x16\x2c\xd4\x16\x2c\x88\x04\x8c\x0b\xd8\x16\x1c\x90\x66\x98\x56\xa0\x56\xd1\x16\x2c\xd4\x16\x2c\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xf0\x1a\x00\x17\x1d\x88\x04\x8c\x0b\xd9\x16\x1c\x98\x56\xa0\x56\xd3\x16\x2c\x88\x04\x8c\x0b\xd9\x16\x1c\x98\x56\xa0\x56\xd3\x16\x2c\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8d\x0b", }; static struct { @@ -66123,7 +64228,7 @@ static const_str_Reader = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -66132,7 +64237,7 @@ const_str_Reader = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Reader", @@ -66145,7 +64250,7 @@ static const_str_Writer = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -66154,7 +64259,7 @@ const_str_Writer = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Writer", @@ -66167,17 +64272,17 @@ static PyObject *ob_item[5]; }_object; } -codecs_toplevel_consts_28_consts_4_localsplusnames = { +codecs_toplevel_consts_28_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_stream._ascii.ob_base, & const_str_Reader._ascii.ob_base, & const_str_Writer._ascii.ob_base, @@ -66186,40 +64291,38 @@ codecs_toplevel_consts_28_consts_4_localsplusnames = { }, }; static - struct _PyCode_DEF(102) -codecs_toplevel_consts_28_consts_4 = { + struct _PyCode_DEF(88) +codecs_toplevel_consts_28_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 51, + .ob_size = 44, }, - .co_consts = & codecs_toplevel_consts_28_consts_4_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_28_consts_4_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_28_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_28_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 5, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 687, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_28_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 322, + .co_localsplusnames = & codecs_toplevel_consts_28_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & codecs_toplevel_consts_28_consts_4_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_28_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x7c\x02\x7c\x01\x7c\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x7c\x03\x7c\x01\x7c\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_3_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_28_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x7c\x02\x7c\x01\x7c\x04\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x7c\x03\x7c\x01\x7c\x04\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -66230,11 +64333,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_28_consts_6_names = { +codecs_toplevel_consts_28_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -66250,10 +64353,10 @@ static PyASCIIObject _ascii; uint8_t _data[24]; } -codecs_toplevel_consts_28_consts_6_qualname = { +codecs_toplevel_consts_28_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -66262,7 +64365,7 @@ codecs_toplevel_consts_28_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.read", @@ -66271,18 +64374,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[24]; } -codecs_toplevel_consts_28_consts_6_linetable = { +codecs_toplevel_consts_28_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x13\x8c\x7b\xd7\x0f\x1f\xd2\x0f\x1f\xa0\x04\xd1\x0f\x25\xd4\x0f\x25\xd0\x08\x25", + .ob_sval = "\x80\x00\xe0\x0f\x13\x8f\x7b\x89\x7b\xd7\x0f\x1f\xd1\x0f\x1f\xa0\x04\xd3\x0f\x25\xd0\x08\x25", }; static struct { @@ -66292,56 +64395,54 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_28_consts_6_localsplusnames = { +codecs_toplevel_consts_28_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_size._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(size), }, }, }; static - struct _PyCode_DEF(54) -codecs_toplevel_consts_28_consts_6 = { + struct _PyCode_DEF(56) +codecs_toplevel_consts_28_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 27, + .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_28_consts_6_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_28_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 705, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_28_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 323, + .co_localsplusnames = & codecs_toplevel_consts_28_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(read), - .co_qualname = & codecs_toplevel_consts_28_consts_6_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_28_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_4_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_28_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -66352,11 +64453,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_28_consts_8_names = { +codecs_toplevel_consts_28_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -66372,10 +64473,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_28_consts_8_qualname = { +codecs_toplevel_consts_28_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -66384,7 +64485,7 @@ codecs_toplevel_consts_28_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.readline", @@ -66393,54 +64494,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[24]; } -codecs_toplevel_consts_28_consts_8_linetable = { +codecs_toplevel_consts_28_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x13\x8c\x7b\xd7\x0f\x23\xd2\x0f\x23\xa0\x44\xd1\x0f\x29\xd4\x0f\x29\xd0\x08\x29", + .ob_sval = "\x80\x00\xe0\x0f\x13\x8f\x7b\x89\x7b\xd7\x0f\x23\xd1\x0f\x23\xa0\x44\xd3\x0f\x29\xd0\x08\x29", }; static - struct _PyCode_DEF(54) -codecs_toplevel_consts_28_consts_8 = { + struct _PyCode_DEF(56) +codecs_toplevel_consts_28_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 27, + .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_28_consts_8_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_28_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 709, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_28_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 324, + .co_localsplusnames = & codecs_toplevel_consts_28_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(readline), - .co_qualname = & codecs_toplevel_consts_28_consts_8_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_28_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_6_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_28_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -66451,11 +64550,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_28_consts_9_names = { +codecs_toplevel_consts_28_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -66471,10 +64570,10 @@ static PyASCIIObject _ascii; uint8_t _data[29]; } -codecs_toplevel_consts_28_consts_9_qualname = { +codecs_toplevel_consts_28_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -66483,7 +64582,7 @@ codecs_toplevel_consts_28_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.readlines", @@ -66492,18 +64591,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[24]; } -codecs_toplevel_consts_28_consts_9_linetable = { +codecs_toplevel_consts_28_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x13\x8c\x7b\xd7\x0f\x24\xd2\x0f\x24\xa0\x58\xd1\x0f\x2e\xd4\x0f\x2e\xd0\x08\x2e", + .ob_sval = "\x80\x00\xe0\x0f\x13\x8f\x7b\x89\x7b\xd7\x0f\x24\xd1\x0f\x24\xa0\x58\xd3\x0f\x2e\xd0\x08\x2e", }; static struct { @@ -66513,56 +64612,54 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_28_consts_9_localsplusnames = { +codecs_toplevel_consts_28_consts_7_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_sizehint._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(sizehint), }, }, }; static - struct _PyCode_DEF(54) -codecs_toplevel_consts_28_consts_9 = { + struct _PyCode_DEF(56) +codecs_toplevel_consts_28_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 27, + .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_28_consts_9_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_28_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 713, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_28_consts_9_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 325, + .co_localsplusnames = & codecs_toplevel_consts_28_consts_7_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_readlines._ascii.ob_base, - .co_qualname = & codecs_toplevel_consts_28_consts_9_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_28_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_7_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_28_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -66573,11 +64670,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_28_consts_10_names = { +codecs_toplevel_consts_28_consts_8_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -66593,10 +64690,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_28_consts_10_qualname = { +codecs_toplevel_consts_28_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -66605,7 +64702,7 @@ codecs_toplevel_consts_28_consts_10_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.__next__", @@ -66614,54 +64711,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[21]; + char ob_sval[20]; } -codecs_toplevel_consts_28_consts_10_linetable = { +codecs_toplevel_consts_28_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 20, + .ob_size = 19, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x10\x14\x90\x44\x94\x4b\xd1\x0f\x20\xd4\x0f\x20\xd0\x08\x20", + .ob_sval = "\x80\x00\xf4\x06\x00\x10\x14\x90\x44\x97\x4b\x91\x4b\xd3\x0f\x20\xd0\x08\x20", }; static - struct _PyCode_DEF(42) -codecs_toplevel_consts_28_consts_10 = { + struct _PyCode_DEF(44) +codecs_toplevel_consts_28_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 22, }, - .co_consts = & codecs_toplevel_consts_26_consts_14_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_28_consts_10_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_26_consts_9_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_28_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 717, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 326, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__next__), - .co_qualname = & codecs_toplevel_consts_28_consts_10_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_28_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_8_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_28_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -66669,10 +64764,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_28_consts_11_qualname = { +codecs_toplevel_consts_28_consts_9_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -66681,17 +64776,17 @@ codecs_toplevel_consts_28_consts_11_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.__iter__", }; static struct _PyCode_DEF(6) -codecs_toplevel_consts_28_consts_11 = { +codecs_toplevel_consts_28_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -66700,26 +64795,24 @@ codecs_toplevel_consts_28_consts_11 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 722, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 327, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), - .co_qualname = & codecs_toplevel_consts_28_consts_11_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_qualname = & codecs_toplevel_consts_28_consts_9_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -66731,11 +64824,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_28_consts_12_names = { +codecs_toplevel_consts_28_consts_10_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -66751,10 +64844,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -codecs_toplevel_consts_28_consts_12_qualname = { +codecs_toplevel_consts_28_consts_10_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -66763,7 +64856,7 @@ codecs_toplevel_consts_28_consts_12_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.write", @@ -66772,18 +64865,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[24]; } -codecs_toplevel_consts_28_consts_12_linetable = { +codecs_toplevel_consts_28_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x13\x8c\x7b\xd7\x0f\x20\xd2\x0f\x20\xa0\x14\xd1\x0f\x26\xd4\x0f\x26\xd0\x08\x26", + .ob_sval = "\x80\x00\xe0\x0f\x13\x8f\x7b\x89\x7b\xd7\x0f\x20\xd1\x0f\x20\xa0\x14\xd3\x0f\x26\xd0\x08\x26", }; static struct { @@ -66793,56 +64886,54 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_28_consts_12_localsplusnames = { +codecs_toplevel_consts_28_consts_10_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(data), }, }, }; static - struct _PyCode_DEF(54) -codecs_toplevel_consts_28_consts_12 = { + struct _PyCode_DEF(56) +codecs_toplevel_consts_28_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 27, + .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_28_consts_12_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_28_consts_10_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 725, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_28_consts_12_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 328, + .co_localsplusnames = & codecs_toplevel_consts_28_consts_10_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(write), - .co_qualname = & codecs_toplevel_consts_28_consts_12_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_28_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_10_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_28_consts_10_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -66853,11 +64944,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_28_consts_13_names = { +codecs_toplevel_consts_28_consts_11_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -66873,10 +64964,10 @@ static PyASCIIObject _ascii; uint8_t _data[30]; } -codecs_toplevel_consts_28_consts_13_qualname = { +codecs_toplevel_consts_28_consts_11_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 29, @@ -66885,7 +64976,7 @@ codecs_toplevel_consts_28_consts_13_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.writelines", @@ -66894,54 +64985,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[24]; } -codecs_toplevel_consts_28_consts_13_linetable = { +codecs_toplevel_consts_28_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x13\x8c\x7b\xd7\x0f\x25\xd2\x0f\x25\xa0\x64\xd1\x0f\x2b\xd4\x0f\x2b\xd0\x08\x2b", + .ob_sval = "\x80\x00\xe0\x0f\x13\x8f\x7b\x89\x7b\xd7\x0f\x25\xd1\x0f\x25\xa0\x64\xd3\x0f\x2b\xd0\x08\x2b", }; static - struct _PyCode_DEF(54) -codecs_toplevel_consts_28_consts_13 = { + struct _PyCode_DEF(56) +codecs_toplevel_consts_28_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 27, + .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_28_consts_13_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_28_consts_11_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 729, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 329, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_writelines._ascii.ob_base, - .co_qualname = & codecs_toplevel_consts_28_consts_13_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_28_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_11_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_28_consts_11_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -66952,11 +65041,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_28_consts_14_names = { +codecs_toplevel_consts_28_consts_12_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -66973,10 +65062,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -codecs_toplevel_consts_28_consts_14_qualname = { +codecs_toplevel_consts_28_consts_12_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -66985,7 +65074,7 @@ codecs_toplevel_consts_28_consts_14_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.reset", @@ -66994,54 +65083,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[49]; + char ob_sval[35]; } -codecs_toplevel_consts_28_consts_14_linetable = { +codecs_toplevel_consts_28_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 48, + .ob_size = 34, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x08\x0c\x8c\x0b\xd7\x08\x19\xd2\x08\x19\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd8\x08\x0c\x8c\x0b\xd7\x08\x19\xd2\x08\x19\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd0\x08\x1b\xd0\x08\x1b", + .ob_sval = "\x80\x00\xe0\x08\x0c\x8f\x0b\x89\x0b\xd7\x08\x19\xd1\x08\x19\xd4\x08\x1b\xd8\x08\x0c\x8f\x0b\x89\x0b\xd7\x08\x19\xd1\x08\x19\xd5\x08\x1b", }; static - struct _PyCode_DEF(106) -codecs_toplevel_consts_28_consts_14 = { + struct _PyCode_DEF(108) +codecs_toplevel_consts_28_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 53, + .ob_size = 54, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_28_consts_14_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_28_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 733, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 330, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(reset), - .co_qualname = & codecs_toplevel_consts_28_consts_14_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_28_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_12_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_28_consts_12_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -67052,11 +65139,11 @@ static PyObject *ob_item[5]; }_object; } -codecs_toplevel_consts_28_consts_16_names = { +codecs_toplevel_consts_28_consts_13_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -67075,10 +65162,10 @@ static PyASCIIObject _ascii; uint8_t _data[24]; } -codecs_toplevel_consts_28_consts_16_qualname = { +codecs_toplevel_consts_28_consts_13_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -67087,7 +65174,7 @@ codecs_toplevel_consts_28_consts_16_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.seek", @@ -67096,54 +65183,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[101]; + char ob_sval[75]; } -codecs_toplevel_consts_28_consts_16_linetable = { +codecs_toplevel_consts_28_consts_13_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 100, + .ob_size = 74, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x0c\x8c\x0b\xd7\x08\x18\xd2\x08\x18\x98\x16\xa0\x16\xd1\x08\x28\xd4\x08\x28\xd0\x08\x28\xd8\x08\x0c\x8c\x0b\xd7\x08\x19\xd2\x08\x19\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd8\x0b\x11\x90\x51\x8a\x3b\x88\x3b\x98\x36\xa0\x51\x9a\x3b\x98\x3b\xd8\x0c\x10\x8c\x4b\xd7\x0c\x1d\xd2\x0c\x1d\xd1\x0c\x1f\xd4\x0c\x1f\xd0\x0c\x1f\xd0\x0c\x1f\xd0\x0c\x1f\xf0\x03\x00\x0c\x17\x88\x3b\x98\x3b\x98\x3b", + .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0b\x89\x0b\xd7\x08\x18\xd1\x08\x18\x98\x16\xa0\x16\xd4\x08\x28\xd8\x08\x0c\x8f\x0b\x89\x0b\xd7\x08\x19\xd1\x08\x19\xd4\x08\x1b\xd8\x0b\x11\x90\x51\x8a\x3b\x98\x36\xa0\x51\x9a\x3b\xd8\x0c\x10\x8f\x4b\x89\x4b\xd7\x0c\x1d\xd1\x0c\x1d\xd5\x0c\x1f\xf0\x03\x00\x1c\x27\x88\x3b", }; static - struct _PyCode_DEF(192) -codecs_toplevel_consts_28_consts_16 = { + struct _PyCode_DEF(188) +codecs_toplevel_consts_28_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 96, + .ob_size = 94, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_28_consts_16_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_28_consts_13_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 738, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_7_localsplusnames._object.ob_base.ob_base, + .co_version = 331, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_5_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(seek), - .co_qualname = & codecs_toplevel_consts_28_consts_16_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_28_consts_16_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x21\x7c\x01\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x1d\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x64\x00\x53\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_13_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_28_consts_13_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x64\x01\x6b\x28\x00\x00\x72\x21\x7c\x01\x64\x01\x6b\x28\x00\x00\x72\x1b\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x79\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -67151,10 +65236,10 @@ static PyASCIIObject _ascii; uint8_t _data[31]; } -codecs_toplevel_consts_28_consts_17_qualname = { +codecs_toplevel_consts_28_consts_14_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -67163,46 +65248,44 @@ codecs_toplevel_consts_28_consts_17_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.__getattr__", }; static - struct _PyCode_DEF(36) -codecs_toplevel_consts_28_consts_17 = { + struct _PyCode_DEF(40) +codecs_toplevel_consts_28_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 20, }, - .co_consts = & codecs_toplevel_consts_24_consts_8_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_8_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_6_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 744, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_8_localsplusnames._object.ob_base.ob_base, + .co_version = 332, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__getattr__), - .co_qualname = & codecs_toplevel_consts_28_consts_17_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x02\x00\x7c\x02\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_14_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x02\x00\x7c\x02\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -67210,10 +65293,10 @@ static PyASCIIObject _ascii; uint8_t _data[29]; } -codecs_toplevel_consts_28_consts_18_qualname = { +codecs_toplevel_consts_28_consts_15_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -67222,17 +65305,17 @@ codecs_toplevel_consts_28_consts_18_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.__enter__", }; static struct _PyCode_DEF(6) -codecs_toplevel_consts_28_consts_18 = { +codecs_toplevel_consts_28_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -67241,26 +65324,24 @@ codecs_toplevel_consts_28_consts_18 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 753, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 333, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__enter__), - .co_qualname = & codecs_toplevel_consts_28_consts_18_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_qualname = & codecs_toplevel_consts_28_consts_15_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -67269,10 +65350,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_28_consts_19_qualname = { +codecs_toplevel_consts_28_consts_16_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -67281,46 +65362,44 @@ codecs_toplevel_consts_28_consts_19_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.__exit__", }; static struct _PyCode_DEF(56) -codecs_toplevel_consts_28_consts_19 = { +codecs_toplevel_consts_28_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_10_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 756, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_10_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 334, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__exit__), - .co_qualname = & codecs_toplevel_consts_28_consts_19_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_28_consts_16_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -67328,10 +65407,10 @@ static PyASCIIObject _ascii; uint8_t _data[33]; } -codecs_toplevel_consts_28_consts_20_qualname = { +codecs_toplevel_consts_28_consts_17_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 32, @@ -67340,46 +65419,44 @@ codecs_toplevel_consts_28_consts_20_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamReaderWriter.__reduce_ex__", }; static - struct _PyCode_DEF(58) -codecs_toplevel_consts_28_consts_20 = { + struct _PyCode_DEF(70) +codecs_toplevel_consts_28_consts_17 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 35, }, - .co_consts = & codecs_toplevel_consts_24_consts_11_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_11_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_9_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 759, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 335, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_9_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__reduce_ex__), - .co_qualname = & codecs_toplevel_consts_28_consts_20_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_28_consts_17_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -67390,11 +65467,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_28_consts_22 = { +codecs_toplevel_consts_28_consts_19 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -67409,27 +65486,27 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[25]; + PyObject *ob_item[22]; }_object; } codecs_toplevel_consts_28_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 25, + .ob_size = 22, }, .ob_item = { & const_str_StreamReaderWriter._ascii.ob_base, & codecs_toplevel_consts_28_consts_1._ascii.ob_base, & const_str_unknown._ascii.ob_base, - &_Py_ID(strict), + & codecs_toplevel_consts_28_consts_3.ob_base.ob_base, & codecs_toplevel_consts_28_consts_4.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], - & codecs_toplevel_consts_28_consts_6.ob_base.ob_base, Py_None, + & codecs_toplevel_consts_28_consts_6.ob_base.ob_base, + & codecs_toplevel_consts_28_consts_7.ob_base.ob_base, & codecs_toplevel_consts_28_consts_8.ob_base.ob_base, & codecs_toplevel_consts_28_consts_9.ob_base.ob_base, & codecs_toplevel_consts_28_consts_10.ob_base.ob_base, @@ -67437,16 +65514,13 @@ codecs_toplevel_consts_28_consts = { & codecs_toplevel_consts_28_consts_12.ob_base.ob_base, & codecs_toplevel_consts_28_consts_13.ob_base.ob_base, & codecs_toplevel_consts_28_consts_14.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & codecs_toplevel_consts_28_consts_15.ob_base.ob_base, & codecs_toplevel_consts_28_consts_16.ob_base.ob_base, & codecs_toplevel_consts_28_consts_17.ob_base.ob_base, - & codecs_toplevel_consts_28_consts_18.ob_base.ob_base, - & codecs_toplevel_consts_28_consts_19.ob_base.ob_base, - & codecs_toplevel_consts_28_consts_20.ob_base.ob_base, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, - & codecs_toplevel_consts_28_consts_22._object.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, + & codecs_toplevel_consts_28_consts_19._object.ob_base.ob_base, & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - & codecs_toplevel_consts_24_consts_14._object.ob_base.ob_base, + & codecs_toplevel_consts_24_consts_12._object.ob_base.ob_base, }, }, }; @@ -67462,7 +65536,7 @@ codecs_toplevel_consts_28_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 20, @@ -67495,54 +65569,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[288]; + char ob_sval[91]; } codecs_toplevel_consts_28_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 287, + .ob_size = 90, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x04\x07\x05\x08\xf0\x00\x07\x05\x08\xf0\x12\x00\x10\x19\x80\x48\xf0\x04\x10\x05\x1d\xf0\x00\x10\x05\x1d\xf0\x00\x10\x05\x1d\xf0\x00\x10\x05\x1d\xf0\x24\x02\x05\x26\xf0\x00\x02\x05\x26\xf0\x00\x02\x05\x26\xf0\x00\x02\x05\x26\xf0\x08\x02\x05\x2a\xf0\x00\x02\x05\x2a\xf0\x00\x02\x05\x2a\xf0\x00\x02\x05\x2a\xf0\x08\x02\x05\x2f\xf0\x00\x02\x05\x2f\xf0\x00\x02\x05\x2f\xf0\x00\x02\x05\x2f\xf0\x08\x03\x05\x21\xf0\x00\x03\x05\x21\xf0\x00\x03\x05\x21\xf0\x0a\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x06\x02\x05\x27\xf0\x00\x02\x05\x27\xf0\x00\x02\x05\x27\xf0\x08\x02\x05\x2c\xf0\x00\x02\x05\x2c\xf0\x00\x02\x05\x2c\xf0\x08\x03\x05\x1c\xf0\x00\x03\x05\x1c\xf0\x00\x03\x05\x1c\xf0\x0a\x04\x05\x20\xf0\x00\x04\x05\x20\xf0\x00\x04\x05\x20\xf0\x00\x04\x05\x20\xf0\x0e\x00\x1d\x24\xf0\x03\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x12\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x06\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x06\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01", + .ob_sval = "\x84\x00\xf1\x04\x07\x05\x08\xf0\x12\x00\x10\x19\x80\x48\xf3\x04\x10\x05\x1d\xf3\x24\x02\x05\x26\xf3\x08\x02\x05\x2a\xf3\x08\x02\x05\x2f\xf2\x08\x03\x05\x21\xf2\x0a\x01\x05\x14\xf2\x06\x02\x05\x27\xf2\x08\x02\x05\x2c\xf2\x08\x03\x05\x1c\xf3\x0a\x04\x05\x20\xf0\x0e\x00\x1d\x24\xf3\x03\x05\x05\x2a\xf2\x12\x01\x05\x14\xf2\x06\x01\x05\x1c\xf3\x06\x01\x05\x48\x01", }; static - struct _PyCode_DEF(120) + struct _PyCode_DEF(118) codecs_toplevel_consts_28 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 60, + .ob_size = 59, }, .co_consts = & codecs_toplevel_consts_28_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_28_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 674, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 336, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_StreamReaderWriter._ascii.ob_base, .co_qualname = & const_str_StreamReaderWriter._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_28_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x15\x64\x04\x84\x01\x5a\x05\x64\x16\x64\x06\x84\x01\x5a\x06\x64\x17\x64\x08\x84\x01\x5a\x07\x64\x17\x64\x09\x84\x01\x5a\x08\x64\x0a\x84\x00\x5a\x09\x64\x0b\x84\x00\x5a\x0a\x64\x0c\x84\x00\x5a\x0b\x64\x0d\x84\x00\x5a\x0c\x64\x0e\x84\x00\x5a\x0d\x64\x18\x64\x10\x84\x01\x5a\x0e\x65\x0f\x66\x01\x64\x11\x84\x01\x5a\x10\x64\x12\x84\x00\x5a\x11\x64\x13\x84\x00\x5a\x12\x64\x14\x84\x00\x5a\x13\x64\x07\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x12\x64\x03\x84\x01\x5a\x05\x64\x13\x64\x04\x84\x01\x5a\x06\x64\x14\x64\x06\x84\x01\x5a\x07\x64\x14\x64\x07\x84\x01\x5a\x08\x64\x08\x84\x00\x5a\x09\x64\x09\x84\x00\x5a\x0a\x64\x0a\x84\x00\x5a\x0b\x64\x0b\x84\x00\x5a\x0c\x64\x0c\x84\x00\x5a\x0d\x64\x15\x64\x0d\x84\x01\x5a\x0e\x65\x0f\x66\x01\x64\x0e\x84\x01\x5a\x10\x64\x0f\x84\x00\x5a\x11\x64\x10\x84\x00\x5a\x12\x64\x11\x84\x00\x5a\x13\x79\x05", ._co_firsttraceable = 0, }; static @@ -67553,7 +65625,7 @@ static codecs_toplevel_consts_30_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 578, @@ -67562,7 +65634,7 @@ codecs_toplevel_consts_30_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x63\x6f\x64\x65\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x73\x20\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x20\x64\x61\x74\x61\x20\x66\x72\x6f\x6d\x20\x6f\x6e\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x74\x6f\x20\x61\x6e\x6f\x74\x68\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x79\x20\x75\x73\x65\x20\x74\x68\x65\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x20\x73\x65\x74\x20\x6f\x66\x20\x41\x50\x49\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x62\x79\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6f\x64\x65\x63\x73\x2e\x6c\x6f\x6f\x6b\x75\x70\x28\x29\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x20\x74\x68\x65\x69\x72\x20\x74\x61\x73\x6b\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x44\x61\x74\x61\x20\x77\x72\x69\x74\x74\x65\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x63\x6f\x64\x65\x72\x20\x69\x73\x20\x66\x69\x72\x73\x74\x20\x64\x65\x63\x6f\x64\x65\x64\x20\x69\x6e\x74\x6f\x20\x61\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x20\x66\x6f\x72\x6d\x61\x74\x20\x28\x64\x65\x70\x65\x6e\x64\x69\x6e\x67\x20\x6f\x6e\x20\x74\x68\x65\x20\x22\x64\x65\x63\x6f\x64\x65\x22\x20\x63\x6f\x64\x65\x63\x29\x20\x61\x6e\x64\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x69\x74\x74\x65\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x75\x6e\x64\x65\x72\x6c\x79\x69\x6e\x67\x20\x73\x74\x72\x65\x61\x6d\x20\x75\x73\x69\x6e\x67\x20\x61\x6e\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x72\x6f\x76\x69\x64\x65\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x57\x72\x69\x74\x65\x72\x20\x63\x6c\x61\x73\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x49\x6e\x20\x74\x68\x65\x20\x6f\x74\x68\x65\x72\x20\x64\x69\x72\x65\x63\x74\x69\x6f\x6e\x2c\x20\x64\x61\x74\x61\x20\x69\x73\x20\x72\x65\x61\x64\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x75\x6e\x64\x65\x72\x6c\x79\x69\x6e\x67\x20\x73\x74\x72\x65\x61\x6d\x20\x75\x73\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x20\x52\x65\x61\x64\x65\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x61\x6e\x64\x20\x74\x68\x65\x6e\x20\x65\x6e\x63\x6f\x64\x65\x64\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x74\x6f\x20\x74\x68\x65\x20\x63\x61\x6c\x6c\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20", @@ -67572,10 +65644,10 @@ static PyASCIIObject _ascii; uint8_t _data[746]; } -codecs_toplevel_consts_30_consts_4_consts_0 = { +codecs_toplevel_consts_30_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 745, @@ -67584,7 +65656,7 @@ codecs_toplevel_consts_30_consts_4_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x63\x6f\x64\x65\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x77\x68\x69\x63\x68\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x73\x20\x61\x20\x74\x77\x6f\x2d\x77\x61\x79\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6f\x6e\x76\x65\x72\x73\x69\x6f\x6e\x3a\x20\x65\x6e\x63\x6f\x64\x65\x20\x61\x6e\x64\x20\x64\x65\x63\x6f\x64\x65\x20\x77\x6f\x72\x6b\x20\x6f\x6e\x20\x74\x68\x65\x20\x66\x72\x6f\x6e\x74\x65\x6e\x64\x20\x28\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x61\x74\x61\x20\x76\x69\x73\x69\x62\x6c\x65\x20\x74\x6f\x20\x2e\x72\x65\x61\x64\x28\x29\x20\x61\x6e\x64\x20\x2e\x77\x72\x69\x74\x65\x28\x29\x29\x20\x77\x68\x69\x6c\x65\x20\x52\x65\x61\x64\x65\x72\x20\x61\x6e\x64\x20\x57\x72\x69\x74\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x6f\x72\x6b\x20\x6f\x6e\x20\x74\x68\x65\x20\x62\x61\x63\x6b\x65\x6e\x64\x20\x28\x74\x68\x65\x20\x64\x61\x74\x61\x20\x69\x6e\x20\x73\x74\x72\x65\x61\x6d\x29\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x59\x6f\x75\x20\x63\x61\x6e\x20\x75\x73\x65\x20\x74\x68\x65\x73\x65\x20\x6f\x62\x6a\x65\x63\x74\x73\x20\x74\x6f\x20\x64\x6f\x20\x74\x72\x61\x6e\x73\x70\x61\x72\x65\x6e\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x63\x6f\x64\x69\x6e\x67\x73\x20\x66\x72\x6f\x6d\x20\x65\x2e\x67\x2e\x20\x6c\x61\x74\x69\x6e\x2d\x31\x20\x74\x6f\x20\x75\x74\x66\x2d\x38\x20\x61\x6e\x64\x20\x62\x61\x63\x6b\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x65\x61\x6d\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x20\x66\x69\x6c\x65\x2d\x6c\x69\x6b\x65\x20\x6f\x62\x6a\x65\x63\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6e\x63\x6f\x64\x65\x20\x61\x6e\x64\x20\x64\x65\x63\x6f\x64\x65\x20\x6d\x75\x73\x74\x20\x61\x64\x68\x65\x72\x65\x20\x74\x6f\x20\x74\x68\x65\x20\x43\x6f\x64\x65\x63\x20\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x3b\x20\x52\x65\x61\x64\x65\x72\x20\x61\x6e\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x72\x69\x74\x65\x72\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x66\x61\x63\x74\x6f\x72\x79\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x20\x6f\x72\x20\x63\x6c\x61\x73\x73\x65\x73\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x61\x64\x65\x72\x20\x61\x6e\x64\x20\x53\x74\x72\x65\x61\x6d\x57\x72\x69\x74\x65\x72\x20\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x73\x20\x72\x65\x73\x70\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x45\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x20\x69\x73\x20\x64\x6f\x6e\x65\x20\x69\x6e\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x77\x61\x79\x20\x61\x73\x20\x64\x65\x66\x69\x6e\x65\x64\x20\x66\x6f\x72\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x53\x74\x72\x65\x61\x6d\x57\x72\x69\x74\x65\x72\x2f\x52\x65\x61\x64\x65\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -67597,17 +65669,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_30_consts_4_consts = { +codecs_toplevel_consts_30_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_30_consts_4_consts_0._ascii.ob_base, + & codecs_toplevel_consts_30_consts_3_consts_0._ascii.ob_base, Py_None, }, }, @@ -67620,11 +65692,11 @@ static PyObject *ob_item[6]; }_object; } -codecs_toplevel_consts_30_consts_4_names = { +codecs_toplevel_consts_30_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -67644,10 +65716,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -codecs_toplevel_consts_30_consts_4_qualname = { +codecs_toplevel_consts_30_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -67656,7 +65728,7 @@ codecs_toplevel_consts_30_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.__init__", @@ -67665,18 +65737,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[75]; + char ob_sval[61]; } -codecs_toplevel_consts_30_consts_4_linetable = { +codecs_toplevel_consts_30_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 74, + .ob_size = 60, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x2a\x00\x17\x1d\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x16\x1c\x90\x66\x98\x56\xa0\x56\xd1\x16\x2c\xd4\x16\x2c\x88\x04\x8c\x0b\xd8\x16\x1c\x90\x66\x98\x56\xa0\x56\xd1\x16\x2c\xd4\x16\x2c\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xf0\x2a\x00\x17\x1d\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8c\x0b\xd9\x16\x1c\x98\x56\xa0\x56\xd3\x16\x2c\x88\x04\x8c\x0b\xd9\x16\x1c\x98\x56\xa0\x56\xd3\x16\x2c\x88\x04\x8c\x0b\xd8\x16\x1c\x88\x04\x8d\x0b", }; static struct { @@ -67686,17 +65758,17 @@ static PyObject *ob_item[7]; }_object; } -codecs_toplevel_consts_30_consts_4_localsplusnames = { +codecs_toplevel_consts_30_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_stream._ascii.ob_base, &_Py_ID(encode), &_Py_ID(decode), @@ -67707,40 +65779,38 @@ codecs_toplevel_consts_30_consts_4_localsplusnames = { }, }; static - struct _PyCode_DEF(130) -codecs_toplevel_consts_30_consts_4 = { + struct _PyCode_DEF(116) +codecs_toplevel_consts_30_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 65, + .ob_size = 58, }, - .co_consts = & codecs_toplevel_consts_30_consts_4_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_30_consts_4_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_30_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_30_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 7, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 784, .co_nlocalsplus = 7, .co_nlocals = 7, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_30_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_12_localspluskinds.ob_base.ob_base, + .co_version = 337, + .co_localsplusnames = & codecs_toplevel_consts_30_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & codecs_toplevel_consts_30_consts_4_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_30_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x7c\x04\x7c\x01\x7c\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x7c\x05\x7c\x01\x7c\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7c\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_3_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_30_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x7c\x04\x7c\x01\x7c\x06\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x7c\x05\x7c\x01\x7c\x06\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7c\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -67751,11 +65821,11 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_30_consts_6_names = { +codecs_toplevel_consts_30_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -67773,10 +65843,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -codecs_toplevel_consts_30_consts_6_qualname = { +codecs_toplevel_consts_30_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -67785,7 +65855,7 @@ codecs_toplevel_consts_30_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.read", @@ -67794,18 +65864,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[55]; + char ob_sval[53]; } -codecs_toplevel_consts_30_consts_6_linetable = { +codecs_toplevel_consts_30_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 54, + .ob_size = 52, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x13\x8c\x7b\xd7\x0f\x1f\xd2\x0f\x1f\xa0\x04\xd1\x0f\x25\xd4\x0f\x25\x88\x04\xd8\x1d\x21\x9f\x5b\x9a\x5b\xa8\x14\xa8\x74\xac\x7b\xd1\x1d\x3b\xd4\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xe0\x0f\x13\x8f\x7b\x89\x7b\xd7\x0f\x1f\xd1\x0f\x1f\xa0\x04\xd3\x0f\x25\x88\x04\xd8\x1d\x21\x9f\x5b\x99\x5b\xa8\x14\xa8\x74\xaf\x7b\xa9\x7b\xd3\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x88\x0b", }; static struct { @@ -67815,7 +65885,7 @@ static const_str_bytesencoded = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -67824,7 +65894,7 @@ const_str_bytesencoded = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bytesencoded", @@ -67837,58 +65907,56 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_30_consts_6_localsplusnames = { +codecs_toplevel_consts_30_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_size._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(size), + &_Py_ID(data), & const_str_bytesencoded._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(118) -codecs_toplevel_consts_30_consts_6 = { + struct _PyCode_DEF(122) +codecs_toplevel_consts_30_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 59, + .ob_size = 61, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_30_consts_6_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_30_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 812, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_30_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 338, + .co_localsplusnames = & codecs_toplevel_consts_30_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(read), - .co_qualname = & codecs_toplevel_consts_30_consts_6_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_30_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_4_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_30_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -67899,11 +65967,11 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_30_consts_8_names = { +codecs_toplevel_consts_30_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -67921,10 +65989,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -codecs_toplevel_consts_30_consts_8_qualname = { +codecs_toplevel_consts_30_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -67933,7 +66001,7 @@ codecs_toplevel_consts_30_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.readline", @@ -67942,54 +66010,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[81]; + char ob_sval[76]; } -codecs_toplevel_consts_30_consts_8_linetable = { +codecs_toplevel_consts_30_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 80, + .ob_size = 75, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0f\x88\x3c\xd8\x13\x17\x94\x3b\xd7\x13\x27\xd2\x13\x27\xd1\x13\x29\xd4\x13\x29\x88\x44\x88\x44\xe0\x13\x17\x94\x3b\xd7\x13\x27\xd2\x13\x27\xa8\x04\xd1\x13\x2d\xd4\x13\x2d\x88\x44\xd8\x1d\x21\x9f\x5b\x9a\x5b\xa8\x14\xa8\x74\xac\x7b\xd1\x1d\x3b\xd4\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xe0\x0b\x0f\x88\x3c\xd8\x13\x17\x97\x3b\x91\x3b\xd7\x13\x27\xd1\x13\x27\xd3\x13\x29\x89\x44\xe0\x13\x17\x97\x3b\x91\x3b\xd7\x13\x27\xd1\x13\x27\xa8\x04\xd3\x13\x2d\x88\x44\xd8\x1d\x21\x9f\x5b\x99\x5b\xa8\x14\xa8\x74\xaf\x7b\xa9\x7b\xd3\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x88\x0b", }; static - struct _PyCode_DEF(174) -codecs_toplevel_consts_30_consts_8 = { + struct _PyCode_DEF(180) +codecs_toplevel_consts_30_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 87, + .ob_size = 90, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_30_consts_8_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_30_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 818, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_30_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 339, + .co_localsplusnames = & codecs_toplevel_consts_30_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(readline), - .co_qualname = & codecs_toplevel_consts_30_consts_8_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_30_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x80\x1a\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x6e\x1a\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_6_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_30_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x80\x1b\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x6e\x1b\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -68000,11 +66066,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_30_consts_9_consts = { +codecs_toplevel_consts_30_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -68012,7 +66078,7 @@ codecs_toplevel_consts_30_consts_9_consts = { .ob_item = { Py_None, Py_True, - & codecs_toplevel_consts_26_consts_6_consts_4._object.ob_base.ob_base, + & codecs_toplevel_consts_26_consts_3_consts_4._object.ob_base.ob_base, }, }, }; @@ -68024,11 +66090,11 @@ static PyObject *ob_item[5]; }_object; } -codecs_toplevel_consts_30_consts_9_names = { +codecs_toplevel_consts_30_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -68047,10 +66113,10 @@ static PyASCIIObject _ascii; uint8_t _data[24]; } -codecs_toplevel_consts_30_consts_9_qualname = { +codecs_toplevel_consts_30_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -68059,7 +66125,7 @@ codecs_toplevel_consts_30_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.readlines", @@ -68068,18 +66134,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[68]; + char ob_sval[63]; } -codecs_toplevel_consts_30_consts_9_linetable = { +codecs_toplevel_consts_30_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 67, + .ob_size = 62, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x13\x8c\x7b\xd7\x0f\x1f\xd2\x0f\x1f\xd1\x0f\x21\xd4\x0f\x21\x88\x04\xd8\x1d\x21\x9f\x5b\x9a\x5b\xa8\x14\xa8\x74\xac\x7b\xd1\x1d\x3b\xd4\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x8f\x7f\x8a\x7f\xa8\x04\x88\x7f\xd1\x0f\x2d\xd4\x0f\x2d\xd0\x08\x2d", + .ob_sval = "\x80\x00\xe0\x0f\x13\x8f\x7b\x89\x7b\xd7\x0f\x1f\xd1\x0f\x1f\xd3\x0f\x21\x88\x04\xd8\x1d\x21\x9f\x5b\x99\x5b\xa8\x14\xa8\x74\xaf\x7b\xa9\x7b\xd3\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x8f\x7f\x89\x7f\xa8\x04\x88\x7f\xd3\x0f\x2d\xd0\x08\x2d", }; static struct { @@ -68089,58 +66155,56 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_30_consts_9_localsplusnames = { +codecs_toplevel_consts_30_consts_7_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_sizehint._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(sizehint), + &_Py_ID(data), & const_str_bytesencoded._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(156) -codecs_toplevel_consts_30_consts_9 = { + struct _PyCode_DEF(152) +codecs_toplevel_consts_30_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 78, + .ob_size = 76, }, - .co_consts = & codecs_toplevel_consts_30_consts_9_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_30_consts_9_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_30_consts_7_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_30_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 827, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_30_consts_9_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 340, + .co_localsplusnames = & codecs_toplevel_consts_30_consts_7_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_readlines._ascii.ob_base, - .co_qualname = & codecs_toplevel_consts_30_consts_9_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_30_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xac\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_7_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_30_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xac\x02\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -68151,11 +66215,11 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_30_consts_10_names = { +codecs_toplevel_consts_30_consts_8_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -68173,10 +66237,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -codecs_toplevel_consts_30_consts_10_qualname = { +codecs_toplevel_consts_30_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -68185,7 +66249,7 @@ codecs_toplevel_consts_30_consts_10_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.__next__", @@ -68194,18 +66258,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[51]; + char ob_sval[49]; } -codecs_toplevel_consts_30_consts_10_linetable = { +codecs_toplevel_consts_30_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 50, + .ob_size = 48, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x10\x14\x90\x44\x94\x4b\xd1\x0f\x20\xd4\x0f\x20\x88\x04\xd8\x1d\x21\x9f\x5b\x9a\x5b\xa8\x14\xa8\x74\xac\x7b\xd1\x1d\x3b\xd4\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xf4\x06\x00\x10\x14\x90\x44\x97\x4b\x91\x4b\xd3\x0f\x20\x88\x04\xd8\x1d\x21\x9f\x5b\x99\x5b\xa8\x14\xa8\x74\xaf\x7b\xa9\x7b\xd3\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x88\x0b", }; static struct { @@ -68215,57 +66279,55 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_30_consts_10_localsplusnames = { +codecs_toplevel_consts_30_consts_8_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(data), & const_str_bytesencoded._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(106) -codecs_toplevel_consts_30_consts_10 = { + struct _PyCode_DEF(110) +codecs_toplevel_consts_30_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 53, + .ob_size = 55, }, - .co_consts = & codecs_toplevel_consts_26_consts_14_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_30_consts_10_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_26_consts_9_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_30_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 833, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_30_consts_10_localsplusnames._object.ob_base.ob_base, + .co_version = 341, + .co_localsplusnames = & codecs_toplevel_consts_30_consts_8_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__next__), - .co_qualname = & codecs_toplevel_consts_30_consts_10_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_30_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x01\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_8_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_30_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -68273,10 +66335,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -codecs_toplevel_consts_30_consts_11_qualname = { +codecs_toplevel_consts_30_consts_9_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -68285,17 +66347,17 @@ codecs_toplevel_consts_30_consts_11_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.__iter__", }; static struct _PyCode_DEF(6) -codecs_toplevel_consts_30_consts_11 = { +codecs_toplevel_consts_30_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -68304,26 +66366,24 @@ codecs_toplevel_consts_30_consts_11 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 840, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 342, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), - .co_qualname = & codecs_toplevel_consts_30_consts_11_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_qualname = & codecs_toplevel_consts_30_consts_9_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -68335,11 +66395,11 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_30_consts_12_names = { +codecs_toplevel_consts_30_consts_10_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -68357,10 +66417,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -codecs_toplevel_consts_30_consts_12_qualname = { +codecs_toplevel_consts_30_consts_10_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -68369,7 +66429,7 @@ codecs_toplevel_consts_30_consts_12_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.write", @@ -68378,18 +66438,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[51]; + char ob_sval[49]; } -codecs_toplevel_consts_30_consts_12_linetable = { +codecs_toplevel_consts_30_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 50, + .ob_size = 48, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x1d\x21\x9f\x5b\x9a\x5b\xa8\x14\xa8\x74\xac\x7b\xd1\x1d\x3b\xd4\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x8c\x7b\xd7\x0f\x20\xd2\x0f\x20\xa0\x14\xd1\x0f\x26\xd4\x0f\x26\xd0\x08\x26", + .ob_sval = "\x80\x00\xe0\x1d\x21\x9f\x5b\x99\x5b\xa8\x14\xa8\x74\xaf\x7b\xa9\x7b\xd3\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x8f\x7b\x89\x7b\xd7\x0f\x20\xd1\x0f\x20\xa0\x14\xd3\x0f\x26\xd0\x08\x26", }; static struct { @@ -68399,7 +66459,7 @@ static const_str_bytesdecoded = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -68408,7 +66468,7 @@ const_str_bytesdecoded = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bytesdecoded", @@ -68421,57 +66481,55 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_30_consts_12_localsplusnames = { +codecs_toplevel_consts_30_consts_10_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(data), & const_str_bytesdecoded._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(114) -codecs_toplevel_consts_30_consts_12 = { + struct _PyCode_DEF(118) +codecs_toplevel_consts_30_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 57, + .ob_size = 59, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_30_consts_12_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_30_consts_10_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 843, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_30_consts_12_localsplusnames._object.ob_base.ob_base, + .co_version = 343, + .co_localsplusnames = & codecs_toplevel_consts_30_consts_10_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(write), - .co_qualname = & codecs_toplevel_consts_30_consts_12_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_30_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_10_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_30_consts_10_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -68482,11 +66540,11 @@ static PyObject *ob_item[5]; }_object; } -codecs_toplevel_consts_30_consts_13_names = { +codecs_toplevel_consts_30_consts_11_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -68505,10 +66563,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -codecs_toplevel_consts_30_consts_13_qualname = { +codecs_toplevel_consts_30_consts_11_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -68517,7 +66575,7 @@ codecs_toplevel_consts_30_consts_13_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.writelines", @@ -68526,18 +66584,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[66]; + char ob_sval[62]; } -codecs_toplevel_consts_30_consts_13_linetable = { +codecs_toplevel_consts_30_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 65, + .ob_size = 61, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x12\x8f\x78\x8a\x78\x98\x04\x89\x7e\x8c\x7e\x88\x04\xd8\x1d\x21\x9f\x5b\x9a\x5b\xa8\x14\xa8\x74\xac\x7b\xd1\x1d\x3b\xd4\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x8c\x7b\xd7\x0f\x20\xd2\x0f\x20\xa0\x14\xd1\x0f\x26\xd4\x0f\x26\xd0\x08\x26", + .ob_sval = "\x80\x00\xe0\x0f\x12\x8f\x78\x89\x78\x98\x04\x8b\x7e\x88\x04\xd8\x1d\x21\x9f\x5b\x99\x5b\xa8\x14\xa8\x74\xaf\x7b\xa9\x7b\xd3\x1d\x3b\xd1\x08\x1a\x88\x04\x88\x6c\xd8\x0f\x13\x8f\x7b\x89\x7b\xd7\x0f\x20\xd1\x0f\x20\xa0\x14\xd3\x0f\x26\xd0\x08\x26", }; static struct { @@ -68547,58 +66605,56 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_30_consts_13_localsplusnames = { +codecs_toplevel_consts_30_consts_11_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_list._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(data), & const_str_bytesdecoded._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(156) -codecs_toplevel_consts_30_consts_13 = { + struct _PyCode_DEF(152) +codecs_toplevel_consts_30_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 78, + .ob_size = 76, }, - .co_consts = & codecs_toplevel_consts_22_consts_3_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_30_consts_13_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_22_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_30_consts_11_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 848, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_30_consts_13_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 344, + .co_localsplusnames = & codecs_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_writelines._ascii.ob_base, - .co_qualname = & codecs_toplevel_consts_30_consts_13_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_30_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_11_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_30_consts_11_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -68606,10 +66662,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -codecs_toplevel_consts_30_consts_14_qualname = { +codecs_toplevel_consts_30_consts_12_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -68618,46 +66674,44 @@ codecs_toplevel_consts_30_consts_14_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.reset", }; static - struct _PyCode_DEF(106) -codecs_toplevel_consts_30_consts_14 = { + struct _PyCode_DEF(108) +codecs_toplevel_consts_30_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 53, + .ob_size = 54, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_28_consts_14_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_28_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 854, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 345, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(reset), - .co_qualname = & codecs_toplevel_consts_30_consts_14_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_28_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_12_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_28_consts_12_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -68668,11 +66722,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_30_consts_16_names = { +codecs_toplevel_consts_30_consts_13_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -68689,10 +66743,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -codecs_toplevel_consts_30_consts_16_qualname = { +codecs_toplevel_consts_30_consts_13_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -68701,7 +66755,7 @@ codecs_toplevel_consts_30_consts_16_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.seek", @@ -68710,54 +66764,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[59]; + char ob_sval[45]; } -codecs_toplevel_consts_30_consts_16_linetable = { +codecs_toplevel_consts_30_consts_13_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 58, + .ob_size = 44, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x06\x00\x09\x0d\x8c\x0b\xd7\x08\x18\xd2\x08\x18\x98\x16\xa0\x16\xd1\x08\x28\xd4\x08\x28\xd0\x08\x28\xd8\x08\x0c\x8c\x0b\xd7\x08\x18\xd2\x08\x18\x98\x16\xa0\x16\xd1\x08\x28\xd4\x08\x28\xd0\x08\x28\xd0\x08\x28\xd0\x08\x28", + .ob_sval = "\x80\x00\xf0\x06\x00\x09\x0d\x8f\x0b\x89\x0b\xd7\x08\x18\xd1\x08\x18\x98\x16\xa0\x16\xd4\x08\x28\xd8\x08\x0c\x8f\x0b\x89\x0b\xd7\x08\x18\xd1\x08\x18\x98\x16\xa0\x16\xd5\x08\x28", }; static - struct _PyCode_DEF(114) -codecs_toplevel_consts_30_consts_16 = { + struct _PyCode_DEF(116) +codecs_toplevel_consts_30_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 57, + .ob_size = 58, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_30_consts_16_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_30_consts_13_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 859, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_7_localsplusnames._object.ob_base.ob_base, + .co_version = 346, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_5_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(seek), - .co_qualname = & codecs_toplevel_consts_30_consts_16_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_30_consts_16_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_13_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_30_consts_13_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -68765,10 +66817,10 @@ static PyASCIIObject _ascii; uint8_t _data[26]; } -codecs_toplevel_consts_30_consts_17_qualname = { +codecs_toplevel_consts_30_consts_14_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -68777,46 +66829,44 @@ codecs_toplevel_consts_30_consts_17_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.__getattr__", }; static - struct _PyCode_DEF(36) -codecs_toplevel_consts_30_consts_17 = { + struct _PyCode_DEF(40) +codecs_toplevel_consts_30_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 20, }, - .co_consts = & codecs_toplevel_consts_24_consts_8_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_8_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_6_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 865, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_8_localsplusnames._object.ob_base.ob_base, + .co_version = 347, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__getattr__), - .co_qualname = & codecs_toplevel_consts_30_consts_17_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x02\x00\x7c\x02\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_14_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x02\x00\x7c\x02\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -68824,10 +66874,10 @@ static PyASCIIObject _ascii; uint8_t _data[24]; } -codecs_toplevel_consts_30_consts_18_qualname = { +codecs_toplevel_consts_30_consts_15_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -68836,17 +66886,17 @@ codecs_toplevel_consts_30_consts_18_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.__enter__", }; static struct _PyCode_DEF(6) -codecs_toplevel_consts_30_consts_18 = { +codecs_toplevel_consts_30_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -68855,26 +66905,24 @@ codecs_toplevel_consts_30_consts_18 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 872, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 348, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__enter__), - .co_qualname = & codecs_toplevel_consts_30_consts_18_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_qualname = & codecs_toplevel_consts_30_consts_15_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -68883,10 +66931,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -codecs_toplevel_consts_30_consts_19_qualname = { +codecs_toplevel_consts_30_consts_16_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -68895,46 +66943,44 @@ codecs_toplevel_consts_30_consts_19_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.__exit__", }; static struct _PyCode_DEF(56) -codecs_toplevel_consts_30_consts_19 = { +codecs_toplevel_consts_30_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_10_names._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 875, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_10_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 349, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__exit__), - .co_qualname = & codecs_toplevel_consts_30_consts_19_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & codecs_toplevel_consts_30_consts_16_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -68942,10 +66988,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -codecs_toplevel_consts_30_consts_20_qualname = { +codecs_toplevel_consts_30_consts_17_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -68954,46 +67000,44 @@ codecs_toplevel_consts_30_consts_20_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StreamRecoder.__reduce_ex__", }; static - struct _PyCode_DEF(58) -codecs_toplevel_consts_30_consts_20 = { + struct _PyCode_DEF(70) +codecs_toplevel_consts_30_consts_17 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 35, }, - .co_consts = & codecs_toplevel_consts_24_consts_11_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_24_consts_11_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_24_consts_9_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_24_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 878, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_24_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 350, + .co_localsplusnames = & codecs_toplevel_consts_24_consts_9_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__reduce_ex__), - .co_qualname = & codecs_toplevel_consts_30_consts_20_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & codecs_toplevel_consts_30_consts_17_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -69001,27 +67045,27 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[25]; + PyObject *ob_item[22]; }_object; } codecs_toplevel_consts_30_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 25, + .ob_size = 22, }, .ob_item = { & const_str_StreamRecoder._ascii.ob_base, & codecs_toplevel_consts_30_consts_1._ascii.ob_base, & const_str_unknown._ascii.ob_base, - &_Py_ID(strict), + & codecs_toplevel_consts_30_consts_3.ob_base.ob_base, & codecs_toplevel_consts_30_consts_4.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], - & codecs_toplevel_consts_30_consts_6.ob_base.ob_base, Py_None, + & codecs_toplevel_consts_30_consts_6.ob_base.ob_base, + & codecs_toplevel_consts_30_consts_7.ob_base.ob_base, & codecs_toplevel_consts_30_consts_8.ob_base.ob_base, & codecs_toplevel_consts_30_consts_9.ob_base.ob_base, & codecs_toplevel_consts_30_consts_10.ob_base.ob_base, @@ -69029,16 +67073,13 @@ codecs_toplevel_consts_30_consts = { & codecs_toplevel_consts_30_consts_12.ob_base.ob_base, & codecs_toplevel_consts_30_consts_13.ob_base.ob_base, & codecs_toplevel_consts_30_consts_14.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & codecs_toplevel_consts_30_consts_15.ob_base.ob_base, & codecs_toplevel_consts_30_consts_16.ob_base.ob_base, & codecs_toplevel_consts_30_consts_17.ob_base.ob_base, - & codecs_toplevel_consts_30_consts_18.ob_base.ob_base, - & codecs_toplevel_consts_30_consts_19.ob_base.ob_base, - & codecs_toplevel_consts_30_consts_20.ob_base.ob_base, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, - & codecs_toplevel_consts_28_consts_22._object.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, + & codecs_toplevel_consts_28_consts_19._object.ob_base.ob_base, & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - & codecs_toplevel_consts_24_consts_14._object.ob_base.ob_base, + & codecs_toplevel_consts_24_consts_12._object.ob_base.ob_base, }, }, }; @@ -69050,7 +67091,7 @@ static const_str_data_encoding = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -69059,7 +67100,7 @@ const_str_data_encoding = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "data_encoding", @@ -69072,7 +67113,7 @@ static const_str_file_encoding = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -69081,7 +67122,7 @@ const_str_file_encoding = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "file_encoding", @@ -69098,7 +67139,7 @@ codecs_toplevel_consts_30_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 21, @@ -69132,54 +67173,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[298]; + char ob_sval[101]; } codecs_toplevel_consts_30_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 297, + .ob_size = 100, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x04\x0d\x05\x08\xf0\x00\x0d\x05\x08\xf0\x1e\x00\x15\x1e\x80\x4d\xd8\x14\x1d\x80\x4d\xf0\x06\x00\x19\x21\xf0\x03\x1a\x05\x1d\xf0\x00\x1a\x05\x1d\xf0\x00\x1a\x05\x1d\xf0\x00\x1a\x05\x1d\xf0\x38\x04\x05\x14\xf0\x00\x04\x05\x14\xf0\x00\x04\x05\x14\xf0\x00\x04\x05\x14\xf0\x0c\x07\x05\x14\xf0\x00\x07\x05\x14\xf0\x00\x07\x05\x14\xf0\x00\x07\x05\x14\xf0\x12\x04\x05\x2e\xf0\x00\x04\x05\x2e\xf0\x00\x04\x05\x2e\xf0\x00\x04\x05\x2e\xf0\x0c\x05\x05\x14\xf0\x00\x05\x05\x14\xf0\x00\x05\x05\x14\xf0\x0e\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x06\x03\x05\x27\xf0\x00\x03\x05\x27\xf0\x00\x03\x05\x27\xf0\x0a\x04\x05\x27\xf0\x00\x04\x05\x27\xf0\x00\x04\x05\x27\xf0\x0c\x03\x05\x1c\xf0\x00\x03\x05\x1c\xf0\x00\x03\x05\x1c\xf0\x0a\x04\x05\x29\xf0\x00\x04\x05\x29\xf0\x00\x04\x05\x29\xf0\x00\x04\x05\x29\xf0\x0e\x00\x1d\x24\xf0\x03\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x00\x05\x05\x2a\xf0\x0e\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x06\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x06\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01\xf0\x00\x01\x05\x48\x01", + .ob_sval = "\x84\x00\xf1\x04\x0d\x05\x08\xf0\x1e\x00\x15\x1e\x80\x4d\xd8\x14\x1d\x80\x4d\xf0\x06\x00\x19\x21\xf3\x03\x1a\x05\x1d\xf3\x38\x04\x05\x14\xf3\x0c\x07\x05\x14\xf3\x12\x04\x05\x2e\xf2\x0c\x05\x05\x14\xf2\x0e\x01\x05\x14\xf2\x06\x03\x05\x27\xf2\x0a\x04\x05\x27\xf2\x0c\x03\x05\x1c\xf3\x0a\x04\x05\x29\xf0\x0e\x00\x1d\x24\xf3\x03\x05\x05\x2a\xf2\x0e\x01\x05\x14\xf2\x06\x01\x05\x1c\xf3\x06\x01\x05\x48\x01", }; static - struct _PyCode_DEF(126) + struct _PyCode_DEF(124) codecs_toplevel_consts_30 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 63, + .ob_size = 62, }, .co_consts = & codecs_toplevel_consts_30_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_consts_30_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 764, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 351, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_StreamRecoder._ascii.ob_base, .co_qualname = & const_str_StreamRecoder._ascii.ob_base, .co_linetable = & codecs_toplevel_consts_30_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x02\x5a\x05\x09\x00\x64\x15\x64\x04\x84\x01\x5a\x06\x64\x16\x64\x06\x84\x01\x5a\x07\x64\x17\x64\x08\x84\x01\x5a\x08\x64\x17\x64\x09\x84\x01\x5a\x09\x64\x0a\x84\x00\x5a\x0a\x64\x0b\x84\x00\x5a\x0b\x64\x0c\x84\x00\x5a\x0c\x64\x0d\x84\x00\x5a\x0d\x64\x0e\x84\x00\x5a\x0e\x64\x18\x64\x10\x84\x01\x5a\x0f\x65\x10\x66\x01\x64\x11\x84\x01\x5a\x11\x64\x12\x84\x00\x5a\x12\x64\x13\x84\x00\x5a\x13\x64\x14\x84\x00\x5a\x14\x64\x07\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x02\x5a\x05\x09\x00\x64\x12\x64\x03\x84\x01\x5a\x06\x64\x13\x64\x04\x84\x01\x5a\x07\x64\x14\x64\x06\x84\x01\x5a\x08\x64\x14\x64\x07\x84\x01\x5a\x09\x64\x08\x84\x00\x5a\x0a\x64\x09\x84\x00\x5a\x0b\x64\x0a\x84\x00\x5a\x0c\x64\x0b\x84\x00\x5a\x0d\x64\x0c\x84\x00\x5a\x0e\x64\x15\x64\x0d\x84\x01\x5a\x0f\x65\x10\x66\x01\x64\x0e\x84\x01\x5a\x11\x64\x0f\x84\x00\x5a\x12\x64\x10\x84\x00\x5a\x13\x64\x11\x84\x00\x5a\x14\x79\x05", ._co_firsttraceable = 0, }; static @@ -69187,10 +67226,10 @@ static PyASCIIObject _ascii; uint8_t _data[1180]; } -codecs_toplevel_consts_35_consts_0 = { +codecs_toplevel_consts_33_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 1179, @@ -69199,54 +67238,31 @@ codecs_toplevel_consts_35_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x4f\x70\x65\x6e\x20\x61\x6e\x20\x65\x6e\x63\x6f\x64\x65\x64\x20\x66\x69\x6c\x65\x20\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x67\x69\x76\x65\x6e\x20\x6d\x6f\x64\x65\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x20\x77\x72\x61\x70\x70\x65\x64\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x20\x74\x72\x61\x6e\x73\x70\x61\x72\x65\x6e\x74\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x2f\x64\x65\x63\x6f\x64\x69\x6e\x67\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x4e\x6f\x74\x65\x3a\x20\x54\x68\x65\x20\x77\x72\x61\x70\x70\x65\x64\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x6f\x6e\x6c\x79\x20\x61\x63\x63\x65\x70\x74\x20\x74\x68\x65\x20\x6f\x62\x6a\x65\x63\x74\x20\x66\x6f\x72\x6d\x61\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x65\x66\x69\x6e\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x73\x2c\x20\x69\x2e\x65\x2e\x20\x55\x6e\x69\x63\x6f\x64\x65\x20\x6f\x62\x6a\x65\x63\x74\x73\x20\x66\x6f\x72\x20\x6d\x6f\x73\x74\x20\x62\x75\x69\x6c\x74\x69\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6f\x64\x65\x63\x73\x2e\x20\x4f\x75\x74\x70\x75\x74\x20\x69\x73\x20\x61\x6c\x73\x6f\x20\x63\x6f\x64\x65\x63\x20\x64\x65\x70\x65\x6e\x64\x65\x6e\x74\x20\x61\x6e\x64\x20\x77\x69\x6c\x6c\x20\x75\x73\x75\x61\x6c\x6c\x79\x20\x62\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x55\x6e\x69\x63\x6f\x64\x65\x20\x61\x73\x20\x77\x65\x6c\x6c\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x49\x66\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x69\x73\x20\x6e\x6f\x74\x20\x4e\x6f\x6e\x65\x2c\x20\x74\x68\x65\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x75\x6e\x64\x65\x72\x6c\x79\x69\x6e\x67\x20\x65\x6e\x63\x6f\x64\x65\x64\x20\x66\x69\x6c\x65\x73\x20\x61\x72\x65\x20\x61\x6c\x77\x61\x79\x73\x20\x6f\x70\x65\x6e\x65\x64\x20\x69\x6e\x20\x62\x69\x6e\x61\x72\x79\x20\x6d\x6f\x64\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x66\x69\x6c\x65\x20\x6d\x6f\x64\x65\x20\x69\x73\x20\x27\x72\x27\x2c\x20\x6d\x65\x61\x6e\x69\x6e\x67\x20\x74\x6f\x20\x6f\x70\x65\x6e\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x20\x69\x6e\x20\x72\x65\x61\x64\x20\x6d\x6f\x64\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x73\x70\x65\x63\x69\x66\x69\x65\x73\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x77\x68\x69\x63\x68\x20\x69\x73\x20\x74\x6f\x20\x62\x65\x20\x75\x73\x65\x64\x20\x66\x6f\x72\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x6c\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x72\x72\x6f\x72\x73\x20\x6d\x61\x79\x20\x62\x65\x20\x67\x69\x76\x65\x6e\x20\x74\x6f\x20\x64\x65\x66\x69\x6e\x65\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x2e\x20\x49\x74\x20\x64\x65\x66\x61\x75\x6c\x74\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x74\x6f\x20\x27\x73\x74\x72\x69\x63\x74\x27\x20\x77\x68\x69\x63\x68\x20\x63\x61\x75\x73\x65\x73\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x73\x20\x74\x6f\x20\x62\x65\x20\x72\x61\x69\x73\x65\x64\x20\x69\x6e\x20\x63\x61\x73\x65\x20\x61\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x65\x72\x72\x6f\x72\x20\x6f\x63\x63\x75\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x65\x72\x69\x6e\x67\x20\x68\x61\x73\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x6d\x65\x61\x6e\x69\x6e\x67\x20\x61\x73\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x62\x75\x69\x6c\x74\x69\x6e\x20\x6f\x70\x65\x6e\x28\x29\x20\x41\x50\x49\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x49\x74\x20\x64\x65\x66\x61\x75\x6c\x74\x73\x20\x74\x6f\x20\x2d\x31\x20\x77\x68\x69\x63\x68\x20\x6d\x65\x61\x6e\x73\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x62\x75\x66\x66\x65\x72\x20\x73\x69\x7a\x65\x20\x77\x69\x6c\x6c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x62\x65\x20\x75\x73\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x77\x72\x61\x70\x70\x65\x64\x20\x66\x69\x6c\x65\x20\x6f\x62\x6a\x65\x63\x74\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x61\x6e\x20\x65\x78\x74\x72\x61\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x77\x68\x69\x63\x68\x20\x61\x6c\x6c\x6f\x77\x73\x20\x71\x75\x65\x72\x79\x69\x6e\x67\x20\x74\x68\x65\x20\x75\x73\x65\x64\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x2e\x20\x54\x68\x69\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x20\x69\x73\x20\x6f\x6e\x6c\x79\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x69\x66\x20\x61\x6e\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x77\x61\x73\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x61\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_b = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "b", -}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_35_consts = { +codecs_toplevel_consts_33_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_35_consts_0._ascii.ob_base, - Py_None, - & const_str_b._ascii.ob_base, + & codecs_toplevel_consts_33_consts_0._ascii.ob_base, + &_Py_ID(b), }, }, }; @@ -69258,11 +67274,11 @@ static PyObject *ob_item[8]; }_object; } -codecs_toplevel_consts_35_names = { +codecs_toplevel_consts_33_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -69283,18 +67299,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[139]; + char ob_sval[130]; } -codecs_toplevel_consts_35_linetable = { +codecs_toplevel_consts_33_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 138, + .ob_size = 129, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x3e\x00\x08\x10\xd0\x07\x1b\xd8\x07\x0a\x90\x24\x80\x7f\x80\x7f\xe0\x0f\x13\x90\x63\x89\x7a\x88\x04\xdd\x0b\x13\x8c\x3d\x98\x18\xa0\x34\xa8\x19\xd1\x0b\x33\xd4\x0b\x33\x80\x44\xd8\x07\x0f\xd0\x07\x17\xd8\x0f\x13\x88\x0b\xf0\x04\x08\x05\x0e\xdd\x0f\x15\x90\x68\xd1\x0f\x1f\xd4\x0f\x1f\x88\x04\xdd\x0e\x20\xa0\x14\xa0\x74\xd4\x27\x38\xb8\x24\xd4\x3a\x4b\xc8\x56\xd1\x0e\x54\xd4\x0e\x54\x88\x03\xe0\x17\x1f\x88\x03\x8c\x0c\xd8\x0f\x12\x88\x0a\xf8\xf0\x02\x02\x05\x0e\xd8\x08\x0c\x8f\x0a\x8a\x0a\x89\x0c\x8c\x0c\x88\x0c\xd8\x08\x0d\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x3e\x00\x08\x10\xd0\x07\x1b\xd8\x07\x0a\x90\x24\x81\x7f\xe0\x0f\x13\x90\x63\x89\x7a\x88\x04\xdc\x0b\x13\x8f\x3d\x89\x3d\x98\x18\xa0\x34\xa8\x19\xd3\x0b\x33\x80\x44\xd8\x07\x0f\xd0\x07\x17\xd8\x0f\x13\x88\x0b\xf0\x04\x08\x05\x0e\xdc\x0f\x15\x90\x68\xd3\x0f\x1f\x88\x04\xdc\x0e\x20\xa0\x14\xa0\x74\xd7\x27\x38\xd1\x27\x38\xb8\x24\xd7\x3a\x4b\xd1\x3a\x4b\xc8\x56\xd3\x0e\x54\x88\x03\xe0\x17\x1f\x88\x03\x8c\x0c\xd8\x0f\x12\x88\x0a\xf8\xf0\x02\x02\x05\x0e\xd8\x08\x0c\x8f\x0a\x89\x0a\x8c\x0c\xd8\x08\x0d\xfa", }; static struct { @@ -69302,38 +67318,16 @@ static Py_hash_t ob_shash; char ob_sval[12]; } -codecs_toplevel_consts_35_exceptiontable = { +codecs_toplevel_consts_33_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 11, }, .ob_shash = -1, - .ob_sval = "\xa7\x33\x41\x1b\x00\xc1\x1b\x17\x41\x32\x03", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[10]; - } -const_str_buffering = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 9, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "buffering", + .ob_sval = "\xa8\x35\x41\x1e\x00\xc1\x1e\x13\x41\x31\x03", }; static struct { @@ -69343,7 +67337,7 @@ static const_str_srw = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -69352,7 +67346,7 @@ const_str_srw = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "srw", @@ -69365,11 +67359,11 @@ static PyObject *ob_item[8]; }_object; } -codecs_toplevel_consts_35_localsplusnames = { +codecs_toplevel_consts_33_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -69379,48 +67373,46 @@ codecs_toplevel_consts_35_localsplusnames = { &_Py_ID(mode), &_Py_ID(encoding), &_Py_ID(errors), - & const_str_buffering._ascii.ob_base, - & const_str_file._ascii.ob_base, + &_Py_ID(buffering), + &_Py_ID(file), & const_str_info._ascii.ob_base, & const_str_srw._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(234) -codecs_toplevel_consts_35 = { + struct _PyCode_DEF(232) +codecs_toplevel_consts_33 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 117, + .ob_size = 116, }, - .co_consts = & codecs_toplevel_consts_35_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_35_names._object.ob_base.ob_base, - .co_exceptiontable = & codecs_toplevel_consts_35_exceptiontable.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_33_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_33_names._object.ob_base.ob_base, + .co_exceptiontable = & codecs_toplevel_consts_33_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 5, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 14 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 883, .co_nlocalsplus = 8, .co_nlocals = 8, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_27_localspluskinds.ob_base.ob_base, + .co_version = 352, + .co_localsplusnames = & codecs_toplevel_consts_33_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_13_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(open), .co_qualname = &_Py_ID(open), - .co_linetable = & codecs_toplevel_consts_35_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x81\x09\x64\x02\x7c\x01\x76\x01\x72\x05\x7c\x01\x64\x02\x7a\x00\x00\x00\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x04\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x02\x80\x02\x7c\x05\x53\x00\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x06\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x02\x7c\x07\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x53\x00\x23\x00\x01\x00\x7c\x05\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x82\x00\x78\x03\x59\x00\x77\x01", + .co_linetable = & codecs_toplevel_consts_33_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x81\x09\x64\x01\x7c\x01\x76\x01\x72\x05\x7c\x01\x64\x01\x7a\x00\x00\x00\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x04\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x02\x80\x02\x7c\x05\x53\x00\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x06\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x04\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x02\x7c\x07\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x53\x00\x23\x00\x01\x00\x7c\x05\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x82\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -69428,10 +67420,10 @@ static PyASCIIObject _ascii; uint8_t _data[987]; } -codecs_toplevel_consts_36_consts_0 = { +codecs_toplevel_consts_34_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 986, @@ -69440,7 +67432,7 @@ codecs_toplevel_consts_36_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x52\x65\x74\x75\x72\x6e\x20\x61\x20\x77\x72\x61\x70\x70\x65\x64\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x66\x69\x6c\x65\x20\x77\x68\x69\x63\x68\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x74\x72\x61\x6e\x73\x70\x61\x72\x65\x6e\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x74\x72\x61\x6e\x73\x6c\x61\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x44\x61\x74\x61\x20\x77\x72\x69\x74\x74\x65\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x77\x72\x61\x70\x70\x65\x64\x20\x66\x69\x6c\x65\x20\x69\x73\x20\x64\x65\x63\x6f\x64\x65\x64\x20\x61\x63\x63\x6f\x72\x64\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x74\x6f\x20\x74\x68\x65\x20\x67\x69\x76\x65\x6e\x20\x64\x61\x74\x61\x5f\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x74\x68\x65\x6e\x20\x65\x6e\x63\x6f\x64\x65\x64\x20\x74\x6f\x20\x74\x68\x65\x20\x75\x6e\x64\x65\x72\x6c\x79\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x6c\x65\x20\x75\x73\x69\x6e\x67\x20\x66\x69\x6c\x65\x5f\x65\x6e\x63\x6f\x64\x69\x6e\x67\x2e\x20\x54\x68\x65\x20\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x20\x64\x61\x74\x61\x20\x74\x79\x70\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x6c\x6c\x20\x75\x73\x75\x61\x6c\x6c\x79\x20\x62\x65\x20\x55\x6e\x69\x63\x6f\x64\x65\x20\x62\x75\x74\x20\x64\x65\x70\x65\x6e\x64\x73\x20\x6f\x6e\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x63\x6f\x64\x65\x63\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x42\x79\x74\x65\x73\x20\x72\x65\x61\x64\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x20\x61\x72\x65\x20\x64\x65\x63\x6f\x64\x65\x64\x20\x75\x73\x69\x6e\x67\x20\x66\x69\x6c\x65\x5f\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x73\x73\x65\x64\x20\x62\x61\x63\x6b\x20\x74\x6f\x20\x74\x68\x65\x20\x63\x61\x6c\x6c\x65\x72\x20\x65\x6e\x63\x6f\x64\x65\x64\x20\x75\x73\x69\x6e\x67\x20\x64\x61\x74\x61\x5f\x65\x6e\x63\x6f\x64\x69\x6e\x67\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x49\x66\x20\x66\x69\x6c\x65\x5f\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x69\x73\x20\x6e\x6f\x74\x20\x67\x69\x76\x65\x6e\x2c\x20\x69\x74\x20\x64\x65\x66\x61\x75\x6c\x74\x73\x20\x74\x6f\x20\x64\x61\x74\x61\x5f\x65\x6e\x63\x6f\x64\x69\x6e\x67\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x72\x72\x6f\x72\x73\x20\x6d\x61\x79\x20\x62\x65\x20\x67\x69\x76\x65\x6e\x20\x74\x6f\x20\x64\x65\x66\x69\x6e\x65\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x2e\x20\x49\x74\x20\x64\x65\x66\x61\x75\x6c\x74\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x74\x6f\x20\x27\x73\x74\x72\x69\x63\x74\x27\x20\x77\x68\x69\x63\x68\x20\x63\x61\x75\x73\x65\x73\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x73\x20\x74\x6f\x20\x62\x65\x20\x72\x61\x69\x73\x65\x64\x20\x69\x6e\x20\x63\x61\x73\x65\x20\x61\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x65\x72\x72\x6f\x72\x20\x6f\x63\x63\x75\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x77\x72\x61\x70\x70\x65\x64\x20\x66\x69\x6c\x65\x20\x6f\x62\x6a\x65\x63\x74\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x74\x77\x6f\x20\x65\x78\x74\x72\x61\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x64\x61\x74\x61\x5f\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x2e\x66\x69\x6c\x65\x5f\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x77\x68\x69\x63\x68\x20\x72\x65\x66\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x67\x69\x76\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x6e\x61\x6d\x65\x2e\x20\x54\x68\x65\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x75\x73\x65\x64\x20\x66\x6f\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x74\x72\x6f\x73\x70\x65\x63\x74\x69\x6f\x6e\x20\x62\x79\x20\x50\x79\x74\x68\x6f\x6e\x20\x70\x72\x6f\x67\x72\x61\x6d\x73\x2e\x0a\x0a\x20\x20\x20\x20", @@ -69453,17 +67445,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_36_consts = { +codecs_toplevel_consts_34_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_36_consts_0._ascii.ob_base, + & codecs_toplevel_consts_34_consts_0._ascii.ob_base, }, }, }; @@ -69475,11 +67467,11 @@ static PyObject *ob_item[8]; }_object; } -codecs_toplevel_consts_36_names = { +codecs_toplevel_consts_34_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -69502,16 +67494,16 @@ static Py_hash_t ob_shash; char ob_sval[107]; } -codecs_toplevel_consts_36_linetable = { +codecs_toplevel_consts_34_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 106, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x32\x00\x08\x15\xd0\x07\x1c\xd8\x18\x25\x88\x0d\xdd\x10\x16\x90\x7d\xd1\x10\x25\xd4\x10\x25\x80\x49\xdd\x10\x16\x90\x7d\xd1\x10\x25\xd4\x10\x25\x80\x49\xdd\x09\x16\x90\x74\x98\x59\xd4\x1d\x2d\xa8\x79\xd4\x2f\x3f\xd8\x17\x20\xd4\x17\x2d\xa8\x79\xd4\x2f\x45\xc0\x76\xf1\x03\x01\x0a\x4f\x01\xf4\x00\x01\x0a\x4f\x01\x80\x42\xf0\x06\x00\x18\x25\x80\x42\xd4\x04\x14\xd8\x17\x24\x80\x42\xd4\x04\x14\xd8\x0b\x0d\x80\x49", + .ob_sval = "\x80\x00\xf0\x32\x00\x08\x15\xd0\x07\x1c\xd8\x18\x25\x88\x0d\xdc\x10\x16\x90\x7d\xd3\x10\x25\x80\x49\xdc\x10\x16\x90\x7d\xd3\x10\x25\x80\x49\xdc\x09\x16\x90\x74\x98\x59\xd7\x1d\x2d\xd1\x1d\x2d\xa8\x79\xd7\x2f\x3f\xd1\x2f\x3f\xd8\x17\x20\xd7\x17\x2d\xd1\x17\x2d\xa8\x79\xd7\x2f\x45\xd1\x2f\x45\xc0\x76\xf3\x03\x01\x0a\x4f\x01\x80\x42\xf0\x06\x00\x18\x25\x80\x42\xd4\x04\x14\xd8\x17\x24\x80\x42\xd4\x04\x14\xd8\x0b\x0d\x80\x49", }; static struct { @@ -69521,7 +67513,7 @@ static const_str_data_info = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -69530,7 +67522,7 @@ const_str_data_info = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "data_info", @@ -69543,7 +67535,7 @@ static const_str_file_info = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -69552,7 +67544,7 @@ const_str_file_info = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "file_info", @@ -69565,7 +67557,7 @@ static const_str_sr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -69574,7 +67566,7 @@ const_str_sr = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sr", @@ -69587,17 +67579,17 @@ static PyObject *ob_item[7]; }_object; } -codecs_toplevel_consts_36_localsplusnames = { +codecs_toplevel_consts_34_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { - & const_str_file._ascii.ob_base, + &_Py_ID(file), & const_str_data_encoding._ascii.ob_base, & const_str_file_encoding._ascii.ob_base, &_Py_ID(errors), @@ -69608,40 +67600,38 @@ codecs_toplevel_consts_36_localsplusnames = { }, }; static - struct _PyCode_DEF(182) -codecs_toplevel_consts_36 = { + struct _PyCode_DEF(198) +codecs_toplevel_consts_34 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 91, + .ob_size = 99, }, - .co_consts = & codecs_toplevel_consts_36_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_36_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_34_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_34_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 15 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, .co_firstlineno = 932, .co_nlocalsplus = 7, .co_nlocals = 7, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_36_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_12_localspluskinds.ob_base.ob_base, + .co_version = 353, + .co_localsplusnames = & codecs_toplevel_consts_34_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_EncodedFile._ascii.ob_base, .co_qualname = & const_str_EncodedFile._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_36_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x80\x02\x7c\x01\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x04\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x06\x00\x00\xab\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x01\x7c\x06\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x06\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x53\x00", + .co_linetable = & codecs_toplevel_consts_34_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x80\x02\x7c\x01\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x04\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x06\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x01\x7c\x06\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x06\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x53\x00", ._co_firsttraceable = 0, }; static @@ -69649,10 +67639,10 @@ static PyASCIIObject _ascii; uint8_t _data[159]; } -codecs_toplevel_consts_37_consts_0 = { +codecs_toplevel_consts_35_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 158, @@ -69661,7 +67651,7 @@ codecs_toplevel_consts_37_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x4c\x6f\x6f\x6b\x75\x70\x20\x75\x70\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x67\x69\x76\x65\x6e\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x73\x20\x65\x6e\x63\x6f\x64\x65\x72\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x73\x20\x61\x20\x4c\x6f\x6f\x6b\x75\x70\x45\x72\x72\x6f\x72\x20\x69\x6e\x20\x63\x61\x73\x65\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x63\x61\x6e\x6e\x6f\x74\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x0a\x20\x20\x20\x20", @@ -69674,17 +67664,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_37_consts = { +codecs_toplevel_consts_35_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_37_consts_0._ascii.ob_base, + & codecs_toplevel_consts_35_consts_0._ascii.ob_base, }, }, }; @@ -69696,11 +67686,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_37_names = { +codecs_toplevel_consts_35_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -69717,16 +67707,16 @@ static Py_hash_t ob_shash; char ob_sval[22]; } -codecs_toplevel_consts_37_linetable = { +codecs_toplevel_consts_35_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 21, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x10\x00\x0c\x12\x90\x28\xd1\x0b\x1b\xd4\x0b\x1b\xd4\x0b\x22\xd0\x04\x22", + .ob_sval = "\x80\x00\xf4\x10\x00\x0c\x12\x90\x28\xd3\x0b\x1b\xd7\x0b\x22\xd1\x0b\x22\xd0\x04\x22", }; static struct { @@ -69736,11 +67726,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_37_localsplusnames = { +codecs_toplevel_consts_35_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -69751,40 +67741,38 @@ codecs_toplevel_consts_37_localsplusnames = { }, }; static - struct _PyCode_DEF(42) -codecs_toplevel_consts_37 = { + struct _PyCode_DEF(44) +codecs_toplevel_consts_35 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 22, }, - .co_consts = & codecs_toplevel_consts_37_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_37_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_35_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_35_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 970, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_37_localsplusnames._object.ob_base.ob_base, + .co_version = 354, + .co_localsplusnames = & codecs_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_getencoder._ascii.ob_base, .co_qualname = & const_str_getencoder._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_37_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & codecs_toplevel_consts_35_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -69792,10 +67780,10 @@ static PyASCIIObject _ascii; uint8_t _data[159]; } -codecs_toplevel_consts_38_consts_0 = { +codecs_toplevel_consts_36_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 158, @@ -69804,7 +67792,7 @@ codecs_toplevel_consts_38_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x4c\x6f\x6f\x6b\x75\x70\x20\x75\x70\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x67\x69\x76\x65\x6e\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x73\x20\x64\x65\x63\x6f\x64\x65\x72\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x73\x20\x61\x20\x4c\x6f\x6f\x6b\x75\x70\x45\x72\x72\x6f\x72\x20\x69\x6e\x20\x63\x61\x73\x65\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x63\x61\x6e\x6e\x6f\x74\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x0a\x20\x20\x20\x20", @@ -69817,17 +67805,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_38_consts = { +codecs_toplevel_consts_36_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_38_consts_0._ascii.ob_base, + & codecs_toplevel_consts_36_consts_0._ascii.ob_base, }, }, }; @@ -69839,11 +67827,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_38_names = { +codecs_toplevel_consts_36_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -69855,40 +67843,38 @@ codecs_toplevel_consts_38_names = { }, }; static - struct _PyCode_DEF(42) -codecs_toplevel_consts_38 = { + struct _PyCode_DEF(44) +codecs_toplevel_consts_36 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 22, }, - .co_consts = & codecs_toplevel_consts_38_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_38_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_36_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_36_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 980, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_37_localsplusnames._object.ob_base.ob_base, + .co_version = 355, + .co_localsplusnames = & codecs_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_getdecoder._ascii.ob_base, .co_qualname = & const_str_getdecoder._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_37_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & codecs_toplevel_consts_35_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -69896,10 +67882,10 @@ static PyASCIIObject _ascii; uint8_t _data[248]; } -codecs_toplevel_consts_39_consts_0 = { +codecs_toplevel_consts_37_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 247, @@ -69908,7 +67894,7 @@ codecs_toplevel_consts_39_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x4c\x6f\x6f\x6b\x75\x70\x20\x75\x70\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x67\x69\x76\x65\x6e\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x73\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x45\x6e\x63\x6f\x64\x65\x72\x20\x63\x6c\x61\x73\x73\x20\x6f\x72\x20\x66\x61\x63\x74\x6f\x72\x79\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x73\x20\x61\x20\x4c\x6f\x6f\x6b\x75\x70\x45\x72\x72\x6f\x72\x20\x69\x6e\x20\x63\x61\x73\x65\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x63\x61\x6e\x6e\x6f\x74\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x72\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x73\x20\x64\x6f\x65\x73\x6e\x27\x74\x20\x70\x72\x6f\x76\x69\x64\x65\x20\x61\x6e\x20\x69\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x20\x65\x6e\x63\x6f\x64\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20", @@ -69921,17 +67907,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_39_consts = { +codecs_toplevel_consts_37_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_39_consts_0._ascii.ob_base, + & codecs_toplevel_consts_37_consts_0._ascii.ob_base, }, }, }; @@ -69943,7 +67929,7 @@ static const_str_LookupError = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -69952,7 +67938,7 @@ const_str_LookupError = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LookupError", @@ -69965,11 +67951,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_39_names = { +codecs_toplevel_consts_37_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -69985,18 +67971,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[45]; + char ob_sval[42]; } -codecs_toplevel_consts_39_linetable = { +codecs_toplevel_consts_37_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 44, + .ob_size = 41, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x12\x00\x0f\x15\x90\x58\xd1\x0e\x1e\xd4\x0e\x1e\xd4\x0e\x31\x80\x47\xd8\x07\x0e\x80\x7f\xdd\x0e\x19\x98\x28\xd1\x0e\x23\xd4\x0e\x23\xd0\x08\x23\xd8\x0b\x12\x80\x4e", + .ob_sval = "\x80\x00\xf4\x12\x00\x0f\x15\x90\x58\xd3\x0e\x1e\xd7\x0e\x31\xd1\x0e\x31\x80\x47\xd8\x07\x0e\x80\x7f\xdc\x0e\x19\x98\x28\xd3\x0e\x23\xd0\x08\x23\xd8\x0b\x12\x80\x4e", }; static struct { @@ -70006,7 +67992,7 @@ static const_str_encoder = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -70015,7 +68001,7 @@ const_str_encoder = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "encoder", @@ -70028,11 +68014,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_39_localsplusnames = { +codecs_toplevel_consts_37_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -70044,40 +68030,38 @@ codecs_toplevel_consts_39_localsplusnames = { }, }; static - struct _PyCode_DEF(80) -codecs_toplevel_consts_39 = { + struct _PyCode_DEF(74) +codecs_toplevel_consts_37 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 40, + .ob_size = 37, }, - .co_consts = & codecs_toplevel_consts_39_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_39_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_37_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_37_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 990, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_39_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 356, + .co_localsplusnames = & codecs_toplevel_consts_37_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_getincrementalencoder._ascii.ob_base, .co_qualname = & const_str_getincrementalencoder._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_39_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x80\x0f\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x01\x53\x00", + .co_linetable = & codecs_toplevel_consts_37_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x80\x0b\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -70085,10 +68069,10 @@ static PyASCIIObject _ascii; uint8_t _data[248]; } -codecs_toplevel_consts_40_consts_0 = { +codecs_toplevel_consts_38_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 247, @@ -70097,7 +68081,7 @@ codecs_toplevel_consts_40_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x4c\x6f\x6f\x6b\x75\x70\x20\x75\x70\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x67\x69\x76\x65\x6e\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x73\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x44\x65\x63\x6f\x64\x65\x72\x20\x63\x6c\x61\x73\x73\x20\x6f\x72\x20\x66\x61\x63\x74\x6f\x72\x79\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x73\x20\x61\x20\x4c\x6f\x6f\x6b\x75\x70\x45\x72\x72\x6f\x72\x20\x69\x6e\x20\x63\x61\x73\x65\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x63\x61\x6e\x6e\x6f\x74\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x72\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x73\x20\x64\x6f\x65\x73\x6e\x27\x74\x20\x70\x72\x6f\x76\x69\x64\x65\x20\x61\x6e\x20\x69\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x20\x64\x65\x63\x6f\x64\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20", @@ -70110,17 +68094,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_40_consts = { +codecs_toplevel_consts_38_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_40_consts_0._ascii.ob_base, + & codecs_toplevel_consts_38_consts_0._ascii.ob_base, }, }, }; @@ -70132,11 +68116,11 @@ static PyObject *ob_item[3]; }_object; } -codecs_toplevel_consts_40_names = { +codecs_toplevel_consts_38_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -70148,28 +68132,6 @@ codecs_toplevel_consts_40_names = { }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[8]; - } -const_str_decoder = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 7, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "decoder", -}; static struct { PyGC_Head _gc_head; @@ -70178,56 +68140,54 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_40_localsplusnames = { +codecs_toplevel_consts_38_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { &_Py_ID(encoding), - & const_str_decoder._ascii.ob_base, + &_Py_ID(decoder), }, }, }; static - struct _PyCode_DEF(80) -codecs_toplevel_consts_40 = { + struct _PyCode_DEF(74) +codecs_toplevel_consts_38 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 40, + .ob_size = 37, }, - .co_consts = & codecs_toplevel_consts_40_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_40_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_38_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_38_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 1004, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_40_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 357, + .co_localsplusnames = & codecs_toplevel_consts_38_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_getincrementaldecoder._ascii.ob_base, .co_qualname = & const_str_getincrementaldecoder._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_39_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x80\x0f\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x01\x53\x00", + .co_linetable = & codecs_toplevel_consts_37_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x80\x0b\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -70235,10 +68195,10 @@ static PyASCIIObject _ascii; uint8_t _data[181]; } -codecs_toplevel_consts_41_consts_0 = { +codecs_toplevel_consts_39_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 180, @@ -70247,7 +68207,7 @@ codecs_toplevel_consts_41_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x4c\x6f\x6f\x6b\x75\x70\x20\x75\x70\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x67\x69\x76\x65\x6e\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x73\x20\x53\x74\x72\x65\x61\x6d\x52\x65\x61\x64\x65\x72\x20\x63\x6c\x61\x73\x73\x20\x6f\x72\x20\x66\x61\x63\x74\x6f\x72\x79\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x73\x20\x61\x20\x4c\x6f\x6f\x6b\x75\x70\x45\x72\x72\x6f\x72\x20\x69\x6e\x20\x63\x61\x73\x65\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x63\x61\x6e\x6e\x6f\x74\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x0a\x20\x20\x20\x20", @@ -70260,17 +68220,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_41_consts = { +codecs_toplevel_consts_39_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_41_consts_0._ascii.ob_base, + & codecs_toplevel_consts_39_consts_0._ascii.ob_base, }, }, }; @@ -70282,11 +68242,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_41_names = { +codecs_toplevel_consts_39_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -70303,52 +68263,50 @@ static Py_hash_t ob_shash; char ob_sval[22]; } -codecs_toplevel_consts_41_linetable = { +codecs_toplevel_consts_39_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 21, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x10\x00\x0c\x12\x90\x28\xd1\x0b\x1b\xd4\x0b\x1b\xd4\x0b\x28\xd0\x04\x28", + .ob_sval = "\x80\x00\xf4\x10\x00\x0c\x12\x90\x28\xd3\x0b\x1b\xd7\x0b\x28\xd1\x0b\x28\xd0\x04\x28", }; static - struct _PyCode_DEF(42) -codecs_toplevel_consts_41 = { + struct _PyCode_DEF(44) +codecs_toplevel_consts_39 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 22, }, - .co_consts = & codecs_toplevel_consts_41_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_41_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_39_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_39_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 1018, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_37_localsplusnames._object.ob_base.ob_base, + .co_version = 358, + .co_localsplusnames = & codecs_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_getreader._ascii.ob_base, .co_qualname = & const_str_getreader._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_41_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & codecs_toplevel_consts_39_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -70356,10 +68314,10 @@ static PyASCIIObject _ascii; uint8_t _data[181]; } -codecs_toplevel_consts_42_consts_0 = { +codecs_toplevel_consts_40_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 180, @@ -70368,7 +68326,7 @@ codecs_toplevel_consts_42_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x4c\x6f\x6f\x6b\x75\x70\x20\x75\x70\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x63\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x67\x69\x76\x65\x6e\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x73\x20\x53\x74\x72\x65\x61\x6d\x57\x72\x69\x74\x65\x72\x20\x63\x6c\x61\x73\x73\x20\x6f\x72\x20\x66\x61\x63\x74\x6f\x72\x79\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x73\x20\x61\x20\x4c\x6f\x6f\x6b\x75\x70\x45\x72\x72\x6f\x72\x20\x69\x6e\x20\x63\x61\x73\x65\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x63\x61\x6e\x6e\x6f\x74\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x0a\x20\x20\x20\x20", @@ -70381,17 +68339,17 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_42_consts = { +codecs_toplevel_consts_40_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_42_consts_0._ascii.ob_base, + & codecs_toplevel_consts_40_consts_0._ascii.ob_base, }, }, }; @@ -70403,11 +68361,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_42_names = { +codecs_toplevel_consts_40_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -70419,40 +68377,38 @@ codecs_toplevel_consts_42_names = { }, }; static - struct _PyCode_DEF(42) -codecs_toplevel_consts_42 = { + struct _PyCode_DEF(44) +codecs_toplevel_consts_40 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 22, }, - .co_consts = & codecs_toplevel_consts_42_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_42_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_40_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_40_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 1028, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_37_localsplusnames._object.ob_base.ob_base, + .co_version = 359, + .co_localsplusnames = & codecs_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_getwriter._ascii.ob_base, .co_qualname = & const_str_getwriter._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_41_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & codecs_toplevel_consts_39_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -70460,10 +68416,10 @@ static PyASCIIObject _ascii; uint8_t _data[192]; } -codecs_toplevel_consts_43_consts_0 = { +codecs_toplevel_consts_41_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 191, @@ -70472,7 +68428,7 @@ codecs_toplevel_consts_43_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x45\x6e\x63\x6f\x64\x69\x6e\x67\x20\x69\x74\x65\x72\x61\x74\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20\x45\x6e\x63\x6f\x64\x65\x73\x20\x74\x68\x65\x20\x69\x6e\x70\x75\x74\x20\x73\x74\x72\x69\x6e\x67\x73\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x69\x74\x65\x72\x61\x74\x6f\x72\x20\x75\x73\x69\x6e\x67\x20\x61\x6e\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x45\x6e\x63\x6f\x64\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x65\x72\x72\x6f\x72\x73\x20\x61\x6e\x64\x20\x6b\x77\x61\x72\x67\x73\x20\x61\x72\x65\x20\x70\x61\x73\x73\x65\x64\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x74\x6f\x20\x74\x68\x65\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x45\x6e\x63\x6f\x64\x65\x72\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x2e\x0a\x20\x20\x20\x20", @@ -70485,17 +68441,17 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_43_consts = { +codecs_toplevel_consts_41_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & codecs_toplevel_consts_43_consts_0._ascii.ob_base, + & codecs_toplevel_consts_41_consts_0._ascii.ob_base, &_Py_STR(empty), Py_True, Py_None, @@ -70510,11 +68466,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_43_names = { +codecs_toplevel_consts_41_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -70529,18 +68485,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[141]; + char ob_sval[100]; } -codecs_toplevel_consts_43_linetable = { +codecs_toplevel_consts_41_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 140, + .ob_size = 99, + }, + .ob_shash = -1, + .ob_sval = "\xe8\x00\xf8\x80\x00\xf0\x12\x00\x0f\x2e\xd4\x0e\x23\xa0\x48\xd3\x0e\x2d\xa8\x66\xd1\x0e\x3f\xb8\x06\xd1\x0e\x3f\x80\x47\xd8\x11\x19\xf2\x00\x03\x05\x19\x88\x05\xd8\x11\x18\x97\x1e\x91\x1e\xa0\x05\xd3\x11\x26\x88\x06\xda\x0b\x11\xd8\x12\x18\x8b\x4c\xf0\x07\x03\x05\x19\xf0\x08\x00\x0e\x15\x8f\x5e\x89\x5e\x98\x42\xa0\x04\xd3\x0d\x25\x80\x46\xd9\x07\x0d\xd8\x0e\x14\x8b\x0c\xf0\x03\x00\x08\x0e\xf9", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[11]; + } +codecs_toplevel_consts_41_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xf0\x12\x00\x0f\x2e\xd5\x0e\x23\xa0\x48\xd1\x0e\x2d\xd4\x0e\x2d\xa8\x66\xd0\x0e\x3f\xd0\x0e\x3f\xb8\x06\xd0\x0e\x3f\xd0\x0e\x3f\x80\x47\xd8\x11\x19\xf0\x00\x03\x05\x19\xf0\x00\x03\x05\x19\x88\x05\xd8\x11\x18\x97\x1e\x92\x1e\xa0\x05\xd1\x11\x26\xd4\x11\x26\x88\x06\xd8\x0b\x11\xf0\x00\x01\x09\x19\xd8\x12\x18\x88\x4c\x88\x4c\x88\x4c\xf8\xd8\x0d\x14\x8f\x5e\x8a\x5e\x98\x42\xa0\x04\xd1\x0d\x25\xd4\x0d\x25\x80\x46\xd8\x07\x0d\xf0\x00\x01\x05\x15\xd8\x0e\x14\x88\x0c\x88\x0c\x88\x0c\x88\x0c\x88\x0c\xf0\x03\x01\x05\x15\xf0\x00\x01\x05\x15", + .ob_sval = "\x82\x2b\x41\x0e\x01\xae\x20\x41\x0e\x01", }; static struct { @@ -70550,7 +68523,7 @@ static const_str_iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -70559,7 +68532,7 @@ const_str_iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "iterator", @@ -70572,7 +68545,7 @@ static const_str_output = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -70581,7 +68554,7 @@ const_str_output = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "output", @@ -70594,11 +68567,11 @@ static PyObject *ob_item[7]; }_object; } -codecs_toplevel_consts_43_localsplusnames = { +codecs_toplevel_consts_41_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -70609,46 +68582,44 @@ codecs_toplevel_consts_43_localsplusnames = { &_Py_ID(errors), & const_str_kwargs._ascii.ob_base, & const_str_encoder._ascii.ob_base, - & const_str_input._ascii.ob_base, + &_Py_ID(input), & const_str_output._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(178) -codecs_toplevel_consts_43 = { + struct _PyCode_DEF(160) +codecs_toplevel_consts_41 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 89, + .ob_size = 80, }, - .co_consts = & codecs_toplevel_consts_43_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_43_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_consts = & codecs_toplevel_consts_41_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_41_names._object.ob_base.ob_base, + .co_exceptiontable = & codecs_toplevel_consts_41_exceptiontable.ob_base.ob_base, .co_flags = 43, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 1038, .co_nlocalsplus = 7, .co_nlocals = 7, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_43_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_12_localspluskinds.ob_base.ob_base, + .co_version = 360, + .co_localsplusnames = & codecs_toplevel_consts_41_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_iterencode._ascii.ob_base, .co_qualname = & const_str_iterencode._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_43_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x02\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x66\x01\x69\x00\x7c\x03\xa4\x01\x8e\x01\x7d\x04\x7c\x00\x44\x00\x5d\x1d\x7d\x05\x7c\x04\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x72\x04\x7c\x06\x56\x00\x97\x01\x01\x00\x8c\x1e\x7c\x04\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x72\x06\x7c\x06\x56\x00\x97\x01\x01\x00\x64\x03\x53\x00\x64\x03\x53\x00", + .co_linetable = & codecs_toplevel_consts_41_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x02\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x02\x66\x01\x69\x00\x7c\x03\xa4\x01\x8e\x01\x7d\x04\x7c\x00\x44\x00\x5d\x1a\x00\x00\x7d\x05\x7c\x04\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x73\x01\x8c\x17\x7c\x06\x96\x01\x97\x01\x01\x00\x8c\x1c\x04\x00\x7c\x04\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x72\x05\x7c\x06\x96\x01\x97\x01\x01\x00\x79\x03\x79\x03\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -70656,10 +68627,10 @@ static PyASCIIObject _ascii; uint8_t _data[192]; } -codecs_toplevel_consts_44_consts_0 = { +codecs_toplevel_consts_42_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 191, @@ -70668,7 +68639,7 @@ codecs_toplevel_consts_44_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x20\x20\x20\x20\x44\x65\x63\x6f\x64\x69\x6e\x67\x20\x69\x74\x65\x72\x61\x74\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20\x44\x65\x63\x6f\x64\x65\x73\x20\x74\x68\x65\x20\x69\x6e\x70\x75\x74\x20\x73\x74\x72\x69\x6e\x67\x73\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x69\x74\x65\x72\x61\x74\x6f\x72\x20\x75\x73\x69\x6e\x67\x20\x61\x6e\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x44\x65\x63\x6f\x64\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x65\x72\x72\x6f\x72\x73\x20\x61\x6e\x64\x20\x6b\x77\x61\x72\x67\x73\x20\x61\x72\x65\x20\x70\x61\x73\x73\x65\x64\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x74\x6f\x20\x74\x68\x65\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\x44\x65\x63\x6f\x64\x65\x72\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x2e\x0a\x20\x20\x20\x20", @@ -70681,17 +68652,17 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_44_consts = { +codecs_toplevel_consts_42_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & codecs_toplevel_consts_44_consts_0._ascii.ob_base, + & codecs_toplevel_consts_42_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_empty), Py_True, Py_None, @@ -70706,11 +68677,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_44_names = { +codecs_toplevel_consts_42_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -70725,18 +68696,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[141]; + char ob_sval[100]; } -codecs_toplevel_consts_44_linetable = { +codecs_toplevel_consts_42_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 140, + .ob_size = 99, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xf0\x12\x00\x0f\x2e\xd5\x0e\x23\xa0\x48\xd1\x0e\x2d\xd4\x0e\x2d\xa8\x66\xd0\x0e\x3f\xd0\x0e\x3f\xb8\x06\xd0\x0e\x3f\xd0\x0e\x3f\x80\x47\xd8\x11\x19\xf0\x00\x03\x05\x19\xf0\x00\x03\x05\x19\x88\x05\xd8\x11\x18\x97\x1e\x92\x1e\xa0\x05\xd1\x11\x26\xd4\x11\x26\x88\x06\xd8\x0b\x11\xf0\x00\x01\x09\x19\xd8\x12\x18\x88\x4c\x88\x4c\x88\x4c\xf8\xd8\x0d\x14\x8f\x5e\x8a\x5e\x98\x43\xa0\x14\xd1\x0d\x26\xd4\x0d\x26\x80\x46\xd8\x07\x0d\xf0\x00\x01\x05\x15\xd8\x0e\x14\x88\x0c\x88\x0c\x88\x0c\x88\x0c\x88\x0c\xf0\x03\x01\x05\x15\xf0\x00\x01\x05\x15", + .ob_sval = "\xe8\x00\xf8\x80\x00\xf0\x12\x00\x0f\x2e\xd4\x0e\x23\xa0\x48\xd3\x0e\x2d\xa8\x66\xd1\x0e\x3f\xb8\x06\xd1\x0e\x3f\x80\x47\xd8\x11\x19\xf2\x00\x03\x05\x19\x88\x05\xd8\x11\x18\x97\x1e\x91\x1e\xa0\x05\xd3\x11\x26\x88\x06\xda\x0b\x11\xd8\x12\x18\x8b\x4c\xf0\x07\x03\x05\x19\xf0\x08\x00\x0e\x15\x8f\x5e\x89\x5e\x98\x43\xa0\x14\xd3\x0d\x26\x80\x46\xd9\x07\x0d\xd8\x0e\x14\x8b\x0c\xf0\x03\x00\x08\x0e\xf9", }; static struct { @@ -70746,11 +68717,11 @@ static PyObject *ob_item[7]; }_object; } -codecs_toplevel_consts_44_localsplusnames = { +codecs_toplevel_consts_42_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -70760,47 +68731,45 @@ codecs_toplevel_consts_44_localsplusnames = { &_Py_ID(encoding), &_Py_ID(errors), & const_str_kwargs._ascii.ob_base, - & const_str_decoder._ascii.ob_base, - & const_str_input._ascii.ob_base, + &_Py_ID(decoder), + &_Py_ID(input), & const_str_output._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(178) -codecs_toplevel_consts_44 = { + struct _PyCode_DEF(160) +codecs_toplevel_consts_42 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 89, + .ob_size = 80, }, - .co_consts = & codecs_toplevel_consts_44_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_44_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_consts = & codecs_toplevel_consts_42_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_42_names._object.ob_base.ob_base, + .co_exceptiontable = & codecs_toplevel_consts_41_exceptiontable.ob_base.ob_base, .co_flags = 43, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 1056, .co_nlocalsplus = 7, .co_nlocals = 7, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_44_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_12_localspluskinds.ob_base.ob_base, + .co_version = 361, + .co_localsplusnames = & codecs_toplevel_consts_42_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_iterdecode._ascii.ob_base, .co_qualname = & const_str_iterdecode._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_44_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x02\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x66\x01\x69\x00\x7c\x03\xa4\x01\x8e\x01\x7d\x04\x7c\x00\x44\x00\x5d\x1d\x7d\x05\x7c\x04\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x72\x04\x7c\x06\x56\x00\x97\x01\x01\x00\x8c\x1e\x7c\x04\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x72\x06\x7c\x06\x56\x00\x97\x01\x01\x00\x64\x03\x53\x00\x64\x03\x53\x00", + .co_linetable = & codecs_toplevel_consts_42_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x02\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x02\x66\x01\x69\x00\x7c\x03\xa4\x01\x8e\x01\x7d\x04\x7c\x00\x44\x00\x5d\x1a\x00\x00\x7d\x05\x7c\x04\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x73\x01\x8c\x17\x7c\x06\x96\x01\x97\x01\x01\x00\x8c\x1c\x04\x00\x7c\x04\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x72\x05\x7c\x06\x96\x01\x97\x01\x01\x00\x79\x03\x79\x03\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -70808,10 +68777,10 @@ static PyASCIIObject _ascii; uint8_t _data[137]; } -codecs_toplevel_consts_45_consts_0 = { +codecs_toplevel_consts_43_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 136, @@ -70820,130 +68789,30 @@ codecs_toplevel_consts_45_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x6d\x61\x6b\x65\x5f\x69\x64\x65\x6e\x74\x69\x74\x79\x5f\x64\x69\x63\x74\x28\x72\x6e\x67\x29\x20\x2d\x3e\x20\x64\x69\x63\x74\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x20\x61\x20\x64\x69\x63\x74\x69\x6f\x6e\x61\x72\x79\x20\x77\x68\x65\x72\x65\x20\x65\x6c\x65\x6d\x65\x6e\x74\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x72\x6e\x67\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x20\x61\x72\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x61\x70\x70\x65\x64\x20\x74\x6f\x20\x74\x68\x65\x6d\x73\x65\x6c\x76\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[39]; - } -codecs_toplevel_consts_45_consts_1_qualname = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 38, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "make_identity_dict..", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[27]; - } -codecs_toplevel_consts_45_consts_1_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 26, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xd0\x0b\x1d\xd0\x0b\x1d\xd0\x0b\x1d\x90\x41\x88\x41\x88\x61\xd0\x0b\x1d\xd0\x0b\x1d\xd0\x0b\x1d", -}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -codecs_toplevel_consts_45_consts_1_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_i._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(20) -codecs_toplevel_consts_45_consts_1 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 10, - }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 1084, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_45_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_dictcomp), - .co_qualname = & codecs_toplevel_consts_45_consts_1_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_45_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x69\x00\x7c\x00\x5d\x05\x7d\x01\x7c\x01\x7c\x01\x93\x02\x8c\x06\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_45_consts = { +codecs_toplevel_consts_43_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 1, }, .ob_item = { - & codecs_toplevel_consts_45_consts_0._ascii.ob_base, - & codecs_toplevel_consts_45_consts_1.ob_base.ob_base, + & codecs_toplevel_consts_43_consts_0._ascii.ob_base, }, }, }; @@ -70955,7 +68824,7 @@ static const_str_make_identity_dict = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -70964,7 +68833,7 @@ const_str_make_identity_dict = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "make_identity_dict", @@ -70973,18 +68842,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[29]; } -codecs_toplevel_consts_45_linetable = { +codecs_toplevel_consts_43_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 28, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xf0\x10\x00\x1a\x1d\xd6\x0b\x1d\x90\x41\x88\x41\x88\x61\x89\x43\xd2\x0b\x1d\xd0\x04\x1d\xf9\xd2\x0b\x1d", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +codecs_toplevel_consts_43_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x10\x00\x0c\x1e\xd0\x0b\x1d\x98\x13\xd0\x0b\x1d\xd1\x0b\x1d\xd4\x0b\x1d\xd0\x04\x1d", + .ob_sval = "\x85\x0a\x12\x04", }; static struct { @@ -70994,7 +68880,7 @@ static const_str_rng = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -71003,7 +68889,7 @@ const_str_rng = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "rng", @@ -71013,58 +68899,57 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_45_localsplusnames = { +codecs_toplevel_consts_43_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 2, }, .ob_item = { & const_str_rng._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], }, }, }; static - struct _PyCode_DEF(26) -codecs_toplevel_consts_45 = { + struct _PyCode_DEF(46) +codecs_toplevel_consts_43 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 13, + .ob_size = 23, }, - .co_consts = & codecs_toplevel_consts_45_consts._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_43_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & codecs_toplevel_consts_43_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 2, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, .co_firstlineno = 1076, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, + .co_nlocalsplus = 2, + .co_nlocals = 2, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_45_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_version = 362, + .co_localsplusnames = & codecs_toplevel_consts_43_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_make_identity_dict._ascii.ob_base, .co_qualname = & const_str_make_identity_dict._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_45_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x84\x00\x7c\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & codecs_toplevel_consts_43_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x44\x00\x8f\x01\x63\x02\x69\x00\x63\x02\x5d\x05\x00\x00\x7d\x01\x7c\x01\x7c\x01\x93\x02\x8c\x07\x04\x00\x63\x02\x7d\x01\x53\x00\x63\x02\x01\x00\x63\x02\x7d\x01\x77\x00", ._co_firsttraceable = 0, }; static @@ -71072,10 +68957,10 @@ static PyASCIIObject _ascii; uint8_t _data[387]; } -codecs_toplevel_consts_46_consts_0 = { +codecs_toplevel_consts_44_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 386, @@ -71084,7 +68969,7 @@ codecs_toplevel_consts_46_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x6e\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x6d\x61\x70\x20\x66\x72\x6f\x6d\x20\x61\x20\x64\x65\x63\x6f\x64\x69\x6e\x67\x20\x6d\x61\x70\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x49\x66\x20\x61\x20\x74\x61\x72\x67\x65\x74\x20\x6d\x61\x70\x70\x69\x6e\x67\x20\x69\x6e\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x64\x69\x6e\x67\x20\x6d\x61\x70\x20\x6f\x63\x63\x75\x72\x73\x20\x6d\x75\x6c\x74\x69\x70\x6c\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x74\x69\x6d\x65\x73\x2c\x20\x74\x68\x65\x6e\x20\x74\x68\x61\x74\x20\x74\x61\x72\x67\x65\x74\x20\x69\x73\x20\x6d\x61\x70\x70\x65\x64\x20\x74\x6f\x20\x4e\x6f\x6e\x65\x20\x28\x75\x6e\x64\x65\x66\x69\x6e\x65\x64\x20\x6d\x61\x70\x70\x69\x6e\x67\x29\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x75\x73\x69\x6e\x67\x20\x61\x6e\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x77\x68\x65\x6e\x20\x65\x6e\x63\x6f\x75\x6e\x74\x65\x72\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x63\x68\x61\x72\x6d\x61\x70\x20\x63\x6f\x64\x65\x63\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x75\x72\x69\x6e\x67\x20\x74\x72\x61\x6e\x73\x6c\x61\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x4f\x6e\x65\x20\x65\x78\x61\x6d\x70\x6c\x65\x20\x77\x68\x65\x72\x65\x20\x74\x68\x69\x73\x20\x68\x61\x70\x70\x65\x6e\x73\x20\x69\x73\x20\x63\x70\x38\x37\x35\x2e\x70\x79\x20\x77\x68\x69\x63\x68\x20\x64\x65\x63\x6f\x64\x65\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x75\x6c\x74\x69\x70\x6c\x65\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x20\x74\x6f\x20\x5c\x75\x30\x30\x31\x61\x2e\x0a\x0a\x20\x20\x20\x20", @@ -71097,17 +68982,17 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_46_consts = { +codecs_toplevel_consts_44_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & codecs_toplevel_consts_46_consts_0._ascii.ob_base, + & codecs_toplevel_consts_44_consts_0._ascii.ob_base, Py_None, }, }, @@ -71120,11 +69005,11 @@ static PyObject *ob_item[1]; }_object; } -codecs_toplevel_consts_46_names = { +codecs_toplevel_consts_44_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -71142,7 +69027,7 @@ static const_str_make_encoding_map = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -71151,7 +69036,7 @@ const_str_make_encoding_map = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "make_encoding_map", @@ -71160,18 +69045,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[77]; + char ob_sval[70]; } -codecs_toplevel_consts_46_linetable = { +codecs_toplevel_consts_44_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 76, + .ob_size = 69, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x1a\x00\x09\x0b\x80\x41\xd8\x0f\x1b\xd7\x0f\x21\xd2\x0f\x21\xd1\x0f\x23\xd4\x0f\x23\xf0\x00\x04\x05\x18\xf0\x00\x04\x05\x18\x89\x03\x88\x01\x88\x21\xd8\x0f\x10\x90\x41\x88\x76\x88\x76\xd8\x13\x14\x88\x41\x88\x61\x89\x44\x88\x44\xe0\x13\x17\x88\x41\x88\x61\x89\x44\x88\x44\xd8\x0b\x0c\x80\x48", + .ob_sval = "\x80\x00\xf0\x1a\x00\x09\x0b\x80\x41\xd8\x0f\x1b\xd7\x0f\x21\xd1\x0f\x21\xd3\x0f\x23\xf2\x00\x04\x05\x18\x89\x03\x88\x01\x88\x21\xd8\x0f\x10\x90\x41\x89\x76\xd8\x13\x14\x88\x41\x88\x61\x8a\x44\xe0\x13\x17\x88\x41\x88\x61\x8a\x44\xf0\x09\x04\x05\x18\xf0\x0a\x00\x0c\x0d\x80\x48", }; static struct { @@ -71181,7 +69066,7 @@ static const_str_decoding_map = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -71190,55 +69075,11 @@ const_str_decoding_map = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "decoding_map", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_k = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "k", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_v = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "v", -}; static struct { PyGC_Head _gc_head; @@ -71247,58 +69088,56 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_46_localsplusnames = { +codecs_toplevel_consts_44_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { & const_str_decoding_map._ascii.ob_base, - & const_str_m._ascii.ob_base, - & const_str_k._ascii.ob_base, - & const_str_v._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[109], + (PyObject *)&_Py_SINGLETON(strings).ascii[107], + (PyObject *)&_Py_SINGLETON(strings).ascii[118], }, }, }; static - struct _PyCode_DEF(92) -codecs_toplevel_consts_46 = { + struct _PyCode_DEF(88) +codecs_toplevel_consts_44 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 46, + .ob_size = 44, }, - .co_consts = & codecs_toplevel_consts_46_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_46_names._object.ob_base.ob_base, + .co_consts = & codecs_toplevel_consts_44_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_44_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 1086, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & codecs_toplevel_consts_46_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 363, + .co_localsplusnames = & codecs_toplevel_consts_44_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = & const_str_make_encoding_map._ascii.ob_base, .co_qualname = & const_str_make_encoding_map._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_46_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x69\x00\x7d\x01\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x14\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x03\x7c\x01\x76\x01\x72\x06\x7c\x02\x7c\x01\x7c\x03\x3c\x00\x00\x00\x8c\x0f\x64\x01\x7c\x01\x7c\x03\x3c\x00\x00\x00\x8c\x15\x7c\x01\x53\x00", + .co_linetable = & codecs_toplevel_consts_44_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x69\x00\x7d\x01\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x14\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x03\x7c\x01\x76\x01\x72\x06\x7c\x02\x7c\x01\x7c\x03\x3c\x00\x00\x00\x8c\x10\x64\x01\x7c\x01\x7c\x03\x3c\x00\x00\x00\x8c\x16\x04\x00\x7c\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -71309,7 +69148,7 @@ static const_str_xmlcharrefreplace = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -71318,7 +69157,7 @@ const_str_xmlcharrefreplace = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "xmlcharrefreplace", @@ -71331,7 +69170,7 @@ static const_str_backslashreplace = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -71340,7 +69179,7 @@ const_str_backslashreplace = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "backslashreplace", @@ -71353,7 +69192,7 @@ static const_str_namereplace = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -71362,33 +69201,11 @@ const_str_namereplace = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "namereplace", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[8]; - } -codecs_toplevel_consts_53 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 7, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "latin-1", -}; static struct { PyGC_Head _gc_head; @@ -71397,17 +69214,17 @@ static PyObject *ob_item[4]; }_object; } -codecs_toplevel_consts_55 = { +codecs_toplevel_consts_50 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_r._ascii.ob_base, + &_Py_ID(r), Py_None, &_Py_ID(strict), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], @@ -71422,11 +69239,11 @@ static PyObject *ob_item[2]; }_object; } -codecs_toplevel_consts_56 = { +codecs_toplevel_consts_51 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -71442,17 +69259,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[58]; + PyObject *ob_item[53]; }_object; } codecs_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 58, + .ob_size = 53, }, .ob_item = { & codecs_toplevel_consts_0._ascii.ob_base, @@ -71487,9 +69304,9 @@ codecs_toplevel_consts = { & const_str_StreamReaderWriter._ascii.ob_base, & codecs_toplevel_consts_30.ob_base.ob_base, & const_str_StreamRecoder._ascii.ob_base, - & const_str_r._ascii.ob_base, &_Py_ID(strict), - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], + & codecs_toplevel_consts_33.ob_base.ob_base, + & codecs_toplevel_consts_34.ob_base.ob_base, & codecs_toplevel_consts_35.ob_base.ob_base, & codecs_toplevel_consts_36.ob_base.ob_base, & codecs_toplevel_consts_37.ob_base.ob_base, @@ -71500,19 +69317,14 @@ codecs_toplevel_consts = { & codecs_toplevel_consts_42.ob_base.ob_base, & codecs_toplevel_consts_43.ob_base.ob_base, & codecs_toplevel_consts_44.ob_base.ob_base, - & codecs_toplevel_consts_45.ob_base.ob_base, - & codecs_toplevel_consts_46.ob_base.ob_base, &_Py_ID(ignore), &_Py_ID(replace), & const_str_xmlcharrefreplace._ascii.ob_base, & const_str_backslashreplace._ascii.ob_base, & const_str_namereplace._ascii.ob_base, - &_Py_ID(__main__), - & codecs_toplevel_consts_53._ascii.ob_base, - &_Py_STR(utf_8), - & codecs_toplevel_consts_55._object.ob_base.ob_base, - & codecs_toplevel_consts_56._object.ob_base.ob_base, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, + & codecs_toplevel_consts_50._object.ob_base.ob_base, + & codecs_toplevel_consts_51._object.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, }, }, }; @@ -71524,7 +69336,7 @@ static const_str__codecs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -71533,7 +69345,7 @@ const_str__codecs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_codecs", @@ -71546,7 +69358,7 @@ static const_str_why = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -71555,7 +69367,7 @@ const_str_why = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "why", @@ -71568,7 +69380,7 @@ static const_str_SystemError = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -71577,33 +69389,11 @@ const_str_SystemError = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "SystemError", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[10]; - } -const_str_byteorder = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 9, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "byteorder", -}; static struct { PyASCIIObject _ascii; @@ -71612,7 +69402,7 @@ static const_str__false = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -71621,7 +69411,7 @@ const_str__false = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_false", @@ -71634,7 +69424,7 @@ static const_str_encodings = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -71643,7 +69433,7 @@ const_str_encodings = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "encodings", @@ -71653,17 +69443,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[60]; + PyObject *ob_item[57]; }_object; } codecs_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 60, + .ob_size = 57, }, .ob_item = { &_Py_ID(__doc__), @@ -71681,7 +69471,7 @@ codecs_toplevel_names = { & const_str_BOM_UTF16_BE._ascii.ob_base, & const_str_BOM_UTF32_LE._ascii.ob_base, & const_str_BOM_UTF32_BE._ascii.ob_base, - & const_str_byteorder._ascii.ob_base, + &_Py_ID(byteorder), & const_str_BOM._ascii.ob_base, & const_str_BOM_UTF16._ascii.ob_base, & const_str_BOM_UTF32._ascii.ob_base, @@ -71692,7 +69482,7 @@ codecs_toplevel_names = { & const_str_tuple._ascii.ob_base, & const_str_CodecInfo._ascii.ob_base, & const_str_Codec._ascii.ob_base, - & const_str_object._ascii.ob_base, + &_Py_ID(object), & const_str_IncrementalEncoder._ascii.ob_base, & const_str_BufferedIncrementalEncoder._ascii.ob_base, & const_str_IncrementalDecoder._ascii.ob_base, @@ -71723,9 +69513,6 @@ codecs_toplevel_names = { & const_str_LookupError._ascii.ob_base, & const_str__false._ascii.ob_base, & const_str_encodings._ascii.ob_base, - &_Py_ID(__name__), - &_Py_ID(stdout), - &_Py_ID(stdin), }, }, }; @@ -71733,80 +69520,75 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[1221]; + char ob_sval[533]; } codecs_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 1220, + .ob_size = 532, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x02\x07\x01\x04\xf0\x00\x07\x01\x04\xf0\x12\x00\x01\x10\x80\x0f\x80\x0f\x80\x0f\xd8\x00\x0a\x80\x0a\x80\x0a\x80\x0a\xf0\x08\x03\x01\x45\x01\xd8\x04\x19\xd0\x04\x19\xd0\x04\x19\xd0\x04\x19\xd0\x04\x19\xf8\xd8\x07\x12\xf0\x00\x01\x01\x45\x01\xf0\x00\x01\x01\x45\x01\xf0\x00\x01\x01\x45\x01\xd8\x0a\x15\x88\x2b\xd0\x16\x3d\xc0\x03\xd1\x16\x43\xd1\x0a\x44\xd4\x0a\x44\xd0\x04\x44\xf8\xf8\xf8\xf8\xf0\x03\x01\x01\x45\x01\xf8\xf8\xf8\xf0\x06\x0d\x0b\x2d\xf0\x00\x0d\x0b\x2d\xf0\x00\x0d\x0b\x2d\x80\x07\xf0\x30\x00\x0c\x1b\x80\x08\xf0\x06\x00\x19\x24\xd0\x00\x23\x80\x06\x88\x1c\xf0\x06\x00\x19\x24\xd0\x00\x23\x80\x06\x88\x1c\xf0\x06\x00\x10\x23\x80\x0c\xf0\x06\x00\x10\x23\x80\x0c\xe0\x03\x06\x84\x3d\x90\x48\xd2\x03\x1c\xd0\x03\x1c\xf0\x06\x00\x17\x23\xd0\x04\x22\x80\x43\x88\x29\xf0\x06\x00\x11\x1d\x80\x49\x80\x49\xf0\x0a\x00\x17\x23\xd0\x04\x22\x80\x43\x88\x29\xf0\x06\x00\x11\x1d\x80\x49\xf0\x06\x00\x0c\x18\x80\x08\xd8\x0b\x17\x80\x08\xd8\x0b\x17\x80\x08\xd8\x0b\x17\x80\x08\xf0\x0a\x1d\x01\x26\xf0\x00\x1d\x01\x26\xf0\x00\x1d\x01\x26\xf0\x00\x1d\x01\x26\xf0\x00\x1d\x01\x26\x90\x05\xf1\x00\x1d\x01\x26\xf4\x00\x1d\x01\x26\xf0\x00\x1d\x01\x26\xf0\x3e\x40\x01\x01\x22\xf0\x00\x40\x01\x01\x22\xf0\x00\x40\x01\x01\x22\xf0\x00\x40\x01\x01\x22\xf0\x00\x40\x01\x01\x22\xf1\x00\x40\x01\x01\x22\xf4\x00\x40\x01\x01\x22\xf0\x00\x40\x01\x01\x22\xf0\x44\x02\x26\x01\x0c\xf0\x00\x26\x01\x0c\xf0\x00\x26\x01\x0c\xf0\x00\x26\x01\x0c\xf0\x00\x26\x01\x0c\x98\x16\xf1\x00\x26\x01\x0c\xf4\x00\x26\x01\x0c\xf0\x00\x26\x01\x0c\xf0\x50\x01\x20\x01\x22\xf0\x00\x20\x01\x22\xf0\x00\x20\x01\x22\xf0\x00\x20\x01\x22\xf0\x00\x20\x01\x22\xd0\x21\x33\xf1\x00\x20\x01\x22\xf4\x00\x20\x01\x22\xf0\x00\x20\x01\x22\xf0\x44\x01\x2f\x01\x0c\xf0\x00\x2f\x01\x0c\xf0\x00\x2f\x01\x0c\xf0\x00\x2f\x01\x0c\xf0\x00\x2f\x01\x0c\x98\x16\xf1\x00\x2f\x01\x0c\xf4\x00\x2f\x01\x0c\xf0\x00\x2f\x01\x0c\xf0\x62\x01\x22\x01\x1f\xf0\x00\x22\x01\x1f\xf0\x00\x22\x01\x1f\xf0\x00\x22\x01\x1f\xf0\x00\x22\x01\x1f\xd0\x21\x33\xf1\x00\x22\x01\x1f\xf4\x00\x22\x01\x1f\xf0\x00\x22\x01\x1f\xf0\x56\x01\x48\x01\x01\x48\x01\xf0\x00\x48\x01\x01\x48\x01\xf0\x00\x48\x01\x01\x48\x01\xf0\x00\x48\x01\x01\x48\x01\xf0\x00\x48\x01\x01\x48\x01\x90\x35\xf1\x00\x48\x01\x01\x48\x01\xf4\x00\x48\x01\x01\x48\x01\xf0\x00\x48\x01\x01\x48\x01\xf0\x58\x02\x78\x03\x01\x48\x01\xf0\x00\x78\x03\x01\x48\x01\xf0\x00\x78\x03\x01\x48\x01\xf0\x00\x78\x03\x01\x48\x01\xf0\x00\x78\x03\x01\x48\x01\x90\x35\xf1\x00\x78\x03\x01\x48\x01\xf4\x00\x78\x03\x01\x48\x01\xf0\x00\x78\x03\x01\x48\x01\xf0\x78\x07\x56\x01\x01\x48\x01\xf0\x00\x56\x01\x01\x48\x01\xf0\x00\x56\x01\x01\x48\x01\xf0\x00\x56\x01\x01\x48\x01\xf0\x00\x56\x01\x01\x48\x01\xf1\x00\x56\x01\x01\x48\x01\xf4\x00\x56\x01\x01\x48\x01\xf0\x00\x56\x01\x01\x48\x01\xf0\x74\x02\x73\x01\x01\x48\x01\xf0\x00\x73\x01\x01\x48\x01\xf0\x00\x73\x01\x01\x48\x01\xf0\x00\x73\x01\x01\x48\x01\xf0\x00\x73\x01\x01\x48\x01\xf1\x00\x73\x01\x01\x48\x01\xf4\x00\x73\x01\x01\x48\x01\xf0\x00\x73\x01\x01\x48\x01\xf0\x6e\x03\x2f\x01\x0e\xf0\x00\x2f\x01\x0e\xf0\x00\x2f\x01\x0e\xf0\x00\x2f\x01\x0e\xf0\x62\x01\x22\x01\x0e\xf0\x00\x22\x01\x0e\xf0\x00\x22\x01\x0e\xf0\x00\x22\x01\x0e\xf0\x4c\x01\x08\x01\x23\xf0\x00\x08\x01\x23\xf0\x00\x08\x01\x23\xf0\x14\x08\x01\x23\xf0\x00\x08\x01\x23\xf0\x00\x08\x01\x23\xf0\x14\x0c\x01\x13\xf0\x00\x0c\x01\x13\xf0\x00\x0c\x01\x13\xf0\x1c\x0c\x01\x13\xf0\x00\x0c\x01\x13\xf0\x00\x0c\x01\x13\xf0\x1c\x08\x01\x29\xf0\x00\x08\x01\x29\xf0\x00\x08\x01\x29\xf0\x14\x08\x01\x29\xf0\x00\x08\x01\x29\xf0\x00\x08\x01\x29\xf0\x14\x10\x01\x15\xf0\x00\x10\x01\x15\xf0\x00\x10\x01\x15\xf0\x00\x10\x01\x15\xf0\x24\x10\x01\x15\xf0\x00\x10\x01\x15\xf0\x00\x10\x01\x15\xf0\x00\x10\x01\x15\xf0\x28\x08\x01\x1e\xf0\x00\x08\x01\x1e\xf0\x00\x08\x01\x1e\xf0\x14\x13\x01\x0d\xf0\x00\x13\x01\x0d\xf0\x00\x13\x01\x0d\xf0\x2e\x0e\x01\x1e\xd8\x14\x20\x90\x4c\xa0\x18\xd1\x14\x2a\xd4\x14\x2a\x80\x4d\xd8\x14\x20\x90\x4c\xa0\x18\xd1\x14\x2a\xd4\x14\x2a\x80\x4d\xd8\x15\x21\x90\x5c\xa0\x29\xd1\x15\x2c\xd4\x15\x2c\x80\x4e\xd8\x1f\x2b\x98\x7c\xd0\x2c\x3f\xd1\x1f\x40\xd4\x1f\x40\xd0\x04\x1c\xd8\x1e\x2a\x98\x6c\xd0\x2b\x3d\xd1\x1e\x3e\xd4\x1e\x3e\xd0\x04\x1b\xd8\x19\x25\x98\x1c\xa0\x6d\xd1\x19\x34\xd4\x19\x34\xd0\x04\x16\xd0\x04\x16\xf8\xd8\x07\x12\xf0\x00\x07\x01\x1e\xf0\x00\x07\x01\x1e\xf0\x00\x07\x01\x1e\xe0\x14\x18\x80\x4d\xd8\x14\x18\x80\x4d\xd8\x15\x19\x80\x4e\xd8\x1f\x23\xd0\x04\x1c\xd8\x1e\x22\xd0\x04\x1b\xd8\x19\x1d\xd0\x04\x16\xd0\x04\x16\xd0\x04\x16\xf0\x0f\x07\x01\x1e\xf8\xf8\xf8\xf0\x16\x00\x0a\x0b\x80\x06\xd8\x03\x09\xf0\x00\x01\x01\x15\xd8\x04\x14\xd0\x04\x14\xd0\x04\x14\xd0\x04\x14\xf0\x08\x00\x04\x0c\x88\x7a\xd2\x03\x19\xd0\x03\x19\xf0\x06\x00\x12\x1d\x90\x1b\x98\x53\x9c\x5a\xa8\x19\xb0\x47\xd1\x11\x3c\xd4\x11\x3c\x80\x43\x84\x4a\xf0\x06\x00\x11\x1c\x90\x0b\x98\x43\x9c\x49\xa0\x77\xb0\x09\xd1\x10\x3a\xd4\x10\x3a\x80\x43\x84\x49\x80\x49\x80\x49\xf0\x0d\x00\x04\x1a\xd0\x03\x19", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x02\x07\x01\x04\xf3\x12\x00\x01\x10\xdb\x00\x0a\xf0\x08\x03\x01\x45\x01\xdc\x04\x19\xf2\x08\x0d\x0b\x2d\x80\x07\xf0\x30\x00\x0c\x1b\x80\x08\xf0\x06\x00\x19\x24\xd0\x00\x23\x80\x06\x88\x1c\xf0\x06\x00\x19\x24\xd0\x00\x23\x80\x06\x88\x1c\xf0\x06\x00\x10\x23\x80\x0c\xf0\x06\x00\x10\x23\x80\x0c\xe0\x03\x06\x87\x3d\x81\x3d\x90\x48\xd2\x03\x1c\xf0\x06\x00\x17\x23\xd0\x04\x22\x80\x43\x88\x29\xf0\x06\x00\x11\x1d\x81\x49\xf0\x0a\x00\x17\x23\xd0\x04\x22\x80\x43\x88\x29\xf0\x06\x00\x11\x1d\x80\x49\xf0\x06\x00\x0c\x18\x80\x08\xd8\x0b\x17\x80\x08\xd8\x0b\x17\x80\x08\xd8\x0b\x17\x80\x08\xf4\x0a\x1d\x01\x26\x90\x05\xf4\x00\x1d\x01\x26\xf7\x3e\x40\x01\x01\x22\xf1\x00\x40\x01\x01\x22\xf4\x44\x02\x26\x01\x0c\x98\x16\xf4\x00\x26\x01\x0c\xf4\x50\x01\x20\x01\x22\xd0\x21\x33\xf4\x00\x20\x01\x22\xf4\x44\x01\x2f\x01\x0c\x98\x16\xf4\x00\x2f\x01\x0c\xf4\x62\x01\x22\x01\x1f\xd0\x21\x33\xf4\x00\x22\x01\x1f\xf4\x56\x01\x48\x01\x01\x48\x01\x90\x35\xf4\x00\x48\x01\x01\x48\x01\xf4\x58\x02\x78\x03\x01\x48\x01\x90\x35\xf4\x00\x78\x03\x01\x48\x01\xf7\x78\x07\x56\x01\x01\x48\x01\xf1\x00\x56\x01\x01\x48\x01\xf7\x74\x02\x73\x01\x01\x48\x01\xf1\x00\x73\x01\x01\x48\x01\xf3\x6e\x03\x2f\x01\x0e\xf3\x62\x01\x22\x01\x0e\xf2\x4c\x01\x08\x01\x23\xf2\x14\x08\x01\x23\xf2\x14\x0c\x01\x13\xf2\x1c\x0c\x01\x13\xf2\x1c\x08\x01\x29\xf2\x14\x08\x01\x29\xf3\x14\x10\x01\x15\xf3\x24\x10\x01\x15\xf2\x28\x08\x01\x1e\xf2\x14\x13\x01\x0d\xf0\x2e\x0e\x01\x1e\xd9\x14\x20\xa0\x18\xd3\x14\x2a\x80\x4d\xd9\x14\x20\xa0\x18\xd3\x14\x2a\x80\x4d\xd9\x15\x21\xa0\x29\xd3\x15\x2c\x80\x4e\xd9\x1f\x2b\xd0\x2c\x3f\xd3\x1f\x40\xd0\x04\x1c\xd9\x1e\x2a\xd0\x2b\x3d\xd3\x1e\x3e\xd0\x04\x1b\xd9\x19\x25\xa0\x6d\xd3\x19\x34\xd0\x04\x16\xf0\x18\x00\x0a\x0b\x80\x06\xd9\x03\x09\xdc\x04\x14\xf0\x03\x00\x04\x0a\xf8\xf0\x6f\x22\x00\x08\x13\xf2\x00\x01\x01\x45\x01\xd9\x0a\x15\xd0\x16\x3d\xc0\x03\xd1\x16\x43\xd3\x0a\x44\xd0\x04\x44\xfb\xf0\x03\x01\x01\x45\x01\xfb\xf0\x56\x22\x00\x08\x13\xf2\x00\x07\x01\x1e\xe0\x14\x18\x80\x4d\xd8\x14\x18\x80\x4d\xd8\x15\x19\x80\x4e\xd8\x1f\x23\xd0\x04\x1c\xd8\x1e\x22\xd0\x04\x1b\xd8\x19\x1d\xd2\x04\x16\xf0\x0f\x07\x01\x1e\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[36]; + char ob_sval[42]; } codecs_toplevel_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 35, + .ob_size = 41, }, .ob_shash = -1, - .ob_sval = "\x8c\x04\x11\x00\x91\x05\x29\x03\x96\x0e\x24\x03\xa4\x05\x29\x03\xc4\x10\x41\x02\x45\x13\x00\xc5\x13\x11\x45\x27\x03\xc5\x26\x01\x45\x27\x03", + .ob_sval = "\x8c\x05\x44\x15\x00\xc3\x1b\x30\x44\x2d\x00\xc4\x15\x05\x44\x2a\x03\xc4\x1a\x0b\x44\x25\x03\xc4\x25\x05\x44\x2a\x03\xc4\x2d\x11\x45\x01\x03\xc5\x00\x01\x45\x01\x03", }; static - struct _PyCode_DEF(852) + struct _PyCode_DEF(648) codecs_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 426, + .ob_size = 324, }, .co_consts = & codecs_toplevel_consts._object.ob_base.ob_base, .co_names = & codecs_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = & codecs_toplevel_exceptiontable.ob_base.ob_base, .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 364, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & codecs_toplevel_consts_12_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & codecs_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x64\x01\x64\x02\x6c\x02\x5a\x02\x09\x00\x64\x01\x64\x03\x6c\x03\x54\x00\x6e\x1b\x23\x00\x65\x04\x24\x00\x72\x13\x5a\x05\x02\x00\x65\x06\x64\x04\x65\x05\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x64\x02\x5a\x05\x5b\x05\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x67\x00\x64\x05\xa2\x01\x5a\x07\x64\x06\x5a\x08\x64\x07\x78\x01\x5a\x09\x5a\x0a\x64\x08\x78\x01\x5a\x0b\x5a\x0c\x64\x09\x5a\x0d\x64\x0a\x5a\x0e\x65\x02\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\x6b\x02\x00\x00\x00\x00\x72\x07\x65\x0a\x78\x01\x5a\x10\x5a\x11\x65\x0d\x5a\x12\x6e\x06\x65\x0c\x78\x01\x5a\x10\x5a\x11\x65\x0e\x5a\x12\x65\x0a\x5a\x13\x65\x0c\x5a\x14\x65\x0d\x5a\x15\x65\x0e\x5a\x16\x02\x00\x47\x00\x64\x0c\x84\x00\x64\x0d\x65\x17\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x18\x02\x00\x47\x00\x64\x0e\x84\x00\x64\x0f\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x19\x02\x00\x47\x00\x64\x10\x84\x00\x64\x11\x65\x1a\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1b\x02\x00\x47\x00\x64\x12\x84\x00\x64\x13\x65\x1b\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1c\x02\x00\x47\x00\x64\x14\x84\x00\x64\x15\x65\x1a\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1d\x02\x00\x47\x00\x64\x16\x84\x00\x64\x17\x65\x1d\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1e\x02\x00\x47\x00\x64\x18\x84\x00\x64\x19\x65\x19\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1f\x02\x00\x47\x00\x64\x1a\x84\x00\x64\x1b\x65\x19\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x20\x02\x00\x47\x00\x64\x1c\x84\x00\x64\x1d\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x21\x02\x00\x47\x00\x64\x1e\x84\x00\x64\x1f\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x22\x64\x37\x64\x23\x84\x01\x5a\x23\x64\x38\x64\x24\x84\x01\x5a\x24\x64\x25\x84\x00\x5a\x25\x64\x26\x84\x00\x5a\x26\x64\x27\x84\x00\x5a\x27\x64\x28\x84\x00\x5a\x28\x64\x29\x84\x00\x5a\x29\x64\x2a\x84\x00\x5a\x2a\x64\x39\x64\x2b\x84\x01\x5a\x2b\x64\x39\x64\x2c\x84\x01\x5a\x2c\x64\x2d\x84\x00\x5a\x2d\x64\x2e\x84\x00\x5a\x2e\x09\x00\x02\x00\x65\x2f\x64\x21\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x30\x02\x00\x65\x2f\x64\x2f\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x31\x02\x00\x65\x2f\x64\x30\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x32\x02\x00\x65\x2f\x64\x31\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x33\x02\x00\x65\x2f\x64\x32\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x34\x02\x00\x65\x2f\x64\x33\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x35\x6e\x17\x23\x00\x65\x36\x24\x00\x72\x0f\x01\x00\x64\x02\x5a\x30\x64\x02\x5a\x31\x64\x02\x5a\x32\x64\x02\x5a\x33\x64\x02\x5a\x34\x64\x02\x5a\x35\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x01\x5a\x37\x65\x37\x72\x04\x64\x01\x64\x02\x6c\x38\x5a\x38\x65\x39\x64\x34\x6b\x02\x00\x00\x00\x00\x72\x30\x02\x00\x65\x24\x65\x02\x6a\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x64\x35\x64\x36\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x65\x02\x5f\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x65\x24\x65\x02\x6a\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x64\x36\x64\x35\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x65\x02\x5f\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x53\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x64\x01\x64\x02\x6c\x02\x5a\x02\x09\x00\x64\x01\x64\x03\x6c\x03\xad\x02\x01\x00\x67\x00\x64\x05\xa2\x01\x5a\x07\x64\x06\x5a\x08\x64\x07\x78\x01\x5a\x09\x5a\x0a\x64\x08\x78\x01\x5a\x0b\x5a\x0c\x64\x09\x5a\x0d\x64\x0a\x5a\x0e\x65\x02\x6a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\x6b\x28\x00\x00\x72\x07\x65\x0a\x78\x01\x5a\x10\x5a\x11\x65\x0d\x5a\x12\x6e\x06\x65\x0c\x78\x01\x5a\x10\x5a\x11\x65\x0e\x5a\x12\x65\x0a\x5a\x13\x65\x0c\x5a\x14\x65\x0d\x5a\x15\x65\x0e\x5a\x16\x02\x00\x47\x00\x64\x0c\x84\x00\x64\x0d\x65\x17\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x18\x02\x00\x47\x00\x64\x0e\x84\x00\x64\x0f\xab\x02\x00\x00\x00\x00\x00\x00\x5a\x19\x02\x00\x47\x00\x64\x10\x84\x00\x64\x11\x65\x1a\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x1b\x02\x00\x47\x00\x64\x12\x84\x00\x64\x13\x65\x1b\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x1c\x02\x00\x47\x00\x64\x14\x84\x00\x64\x15\x65\x1a\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x1d\x02\x00\x47\x00\x64\x16\x84\x00\x64\x17\x65\x1d\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x1e\x02\x00\x47\x00\x64\x18\x84\x00\x64\x19\x65\x19\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x1f\x02\x00\x47\x00\x64\x1a\x84\x00\x64\x1b\x65\x19\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x20\x02\x00\x47\x00\x64\x1c\x84\x00\x64\x1d\xab\x02\x00\x00\x00\x00\x00\x00\x5a\x21\x02\x00\x47\x00\x64\x1e\x84\x00\x64\x1f\xab\x02\x00\x00\x00\x00\x00\x00\x5a\x22\x64\x32\x64\x21\x84\x01\x5a\x23\x64\x33\x64\x22\x84\x01\x5a\x24\x64\x23\x84\x00\x5a\x25\x64\x24\x84\x00\x5a\x26\x64\x25\x84\x00\x5a\x27\x64\x26\x84\x00\x5a\x28\x64\x27\x84\x00\x5a\x29\x64\x28\x84\x00\x5a\x2a\x64\x34\x64\x29\x84\x01\x5a\x2b\x64\x34\x64\x2a\x84\x01\x5a\x2c\x64\x2b\x84\x00\x5a\x2d\x64\x2c\x84\x00\x5a\x2e\x09\x00\x02\x00\x65\x2f\x64\x20\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x30\x02\x00\x65\x2f\x64\x2d\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x31\x02\x00\x65\x2f\x64\x2e\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x32\x02\x00\x65\x2f\x64\x2f\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x33\x02\x00\x65\x2f\x64\x30\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x34\x02\x00\x65\x2f\x64\x31\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x35\x64\x01\x5a\x37\x65\x37\x72\x05\x64\x01\x64\x02\x6c\x38\x5a\x38\x79\x02\x79\x02\x23\x00\x65\x04\x24\x00\x72\x10\x5a\x05\x02\x00\x65\x06\x64\x04\x65\x05\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x64\x02\x5a\x05\x5b\x05\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x65\x36\x24\x00\x72\x0f\x01\x00\x64\x02\x5a\x30\x64\x02\x5a\x31\x64\x02\x5a\x32\x64\x02\x5a\x33\x64\x02\x5a\x34\x64\x02\x5a\x35\x59\x00\x8c\x35\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; -static void codecs_do_patchups(void) { -} PyObject * _Py_get_codecs_toplevel(void) { - codecs_do_patchups(); return Py_NewRef((PyObject *) &codecs_toplevel); } @@ -71818,7 +69600,7 @@ static io_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 1473, @@ -71827,7 +69609,7 @@ io_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x54\x68\x65\x20\x69\x6f\x20\x6d\x6f\x64\x75\x6c\x65\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x74\x68\x65\x20\x50\x79\x74\x68\x6f\x6e\x20\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x73\x20\x74\x6f\x20\x73\x74\x72\x65\x61\x6d\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x2e\x20\x54\x68\x65\x0a\x62\x75\x69\x6c\x74\x69\x6e\x20\x6f\x70\x65\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x64\x65\x66\x69\x6e\x65\x64\x20\x69\x6e\x20\x74\x68\x69\x73\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x0a\x0a\x41\x74\x20\x74\x68\x65\x20\x74\x6f\x70\x20\x6f\x66\x20\x74\x68\x65\x20\x49\x2f\x4f\x20\x68\x69\x65\x72\x61\x72\x63\x68\x79\x20\x69\x73\x20\x74\x68\x65\x20\x61\x62\x73\x74\x72\x61\x63\x74\x20\x62\x61\x73\x65\x20\x63\x6c\x61\x73\x73\x20\x49\x4f\x42\x61\x73\x65\x2e\x20\x49\x74\x0a\x64\x65\x66\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x62\x61\x73\x69\x63\x20\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x20\x74\x6f\x20\x61\x20\x73\x74\x72\x65\x61\x6d\x2e\x20\x4e\x6f\x74\x65\x2c\x20\x68\x6f\x77\x65\x76\x65\x72\x2c\x20\x74\x68\x61\x74\x20\x74\x68\x65\x72\x65\x20\x69\x73\x20\x6e\x6f\x0a\x73\x65\x70\x61\x72\x61\x74\x69\x6f\x6e\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x72\x65\x61\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x77\x72\x69\x74\x69\x6e\x67\x20\x74\x6f\x20\x73\x74\x72\x65\x61\x6d\x73\x3b\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x73\x20\x61\x72\x65\x0a\x61\x6c\x6c\x6f\x77\x65\x64\x20\x74\x6f\x20\x72\x61\x69\x73\x65\x20\x61\x6e\x20\x4f\x53\x45\x72\x72\x6f\x72\x20\x69\x66\x20\x74\x68\x65\x79\x20\x64\x6f\x20\x6e\x6f\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x61\x20\x67\x69\x76\x65\x6e\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x0a\x45\x78\x74\x65\x6e\x64\x69\x6e\x67\x20\x49\x4f\x42\x61\x73\x65\x20\x69\x73\x20\x52\x61\x77\x49\x4f\x42\x61\x73\x65\x20\x77\x68\x69\x63\x68\x20\x64\x65\x61\x6c\x73\x20\x73\x69\x6d\x70\x6c\x79\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x72\x65\x61\x64\x69\x6e\x67\x20\x61\x6e\x64\x0a\x77\x72\x69\x74\x69\x6e\x67\x20\x6f\x66\x20\x72\x61\x77\x20\x62\x79\x74\x65\x73\x20\x74\x6f\x20\x61\x20\x73\x74\x72\x65\x61\x6d\x2e\x20\x46\x69\x6c\x65\x49\x4f\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x20\x52\x61\x77\x49\x4f\x42\x61\x73\x65\x20\x74\x6f\x20\x70\x72\x6f\x76\x69\x64\x65\x0a\x61\x6e\x20\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x20\x74\x6f\x20\x4f\x53\x20\x66\x69\x6c\x65\x73\x2e\x0a\x0a\x42\x75\x66\x66\x65\x72\x65\x64\x49\x4f\x42\x61\x73\x65\x20\x64\x65\x61\x6c\x73\x20\x77\x69\x74\x68\x20\x62\x75\x66\x66\x65\x72\x69\x6e\x67\x20\x6f\x6e\x20\x61\x20\x72\x61\x77\x20\x62\x79\x74\x65\x20\x73\x74\x72\x65\x61\x6d\x20\x28\x52\x61\x77\x49\x4f\x42\x61\x73\x65\x29\x2e\x20\x49\x74\x73\x0a\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x2c\x20\x42\x75\x66\x66\x65\x72\x65\x64\x57\x72\x69\x74\x65\x72\x2c\x20\x42\x75\x66\x66\x65\x72\x65\x64\x52\x65\x61\x64\x65\x72\x2c\x20\x61\x6e\x64\x20\x42\x75\x66\x66\x65\x72\x65\x64\x52\x57\x50\x61\x69\x72\x20\x62\x75\x66\x66\x65\x72\x0a\x73\x74\x72\x65\x61\x6d\x73\x20\x74\x68\x61\x74\x20\x61\x72\x65\x20\x72\x65\x61\x64\x61\x62\x6c\x65\x2c\x20\x77\x72\x69\x74\x61\x62\x6c\x65\x2c\x20\x61\x6e\x64\x20\x62\x6f\x74\x68\x20\x72\x65\x73\x70\x65\x63\x74\x69\x76\x65\x6c\x79\x2e\x0a\x42\x75\x66\x66\x65\x72\x65\x64\x52\x61\x6e\x64\x6f\x6d\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x61\x20\x62\x75\x66\x66\x65\x72\x65\x64\x20\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x20\x74\x6f\x20\x72\x61\x6e\x64\x6f\x6d\x20\x61\x63\x63\x65\x73\x73\x0a\x73\x74\x72\x65\x61\x6d\x73\x2e\x20\x42\x79\x74\x65\x73\x49\x4f\x20\x69\x73\x20\x61\x20\x73\x69\x6d\x70\x6c\x65\x20\x73\x74\x72\x65\x61\x6d\x20\x6f\x66\x20\x69\x6e\x2d\x6d\x65\x6d\x6f\x72\x79\x20\x62\x79\x74\x65\x73\x2e\x0a\x0a\x41\x6e\x6f\x74\x68\x65\x72\x20\x49\x4f\x42\x61\x73\x65\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x2c\x20\x54\x65\x78\x74\x49\x4f\x42\x61\x73\x65\x2c\x20\x64\x65\x61\x6c\x73\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x64\x65\x63\x6f\x64\x69\x6e\x67\x0a\x6f\x66\x20\x73\x74\x72\x65\x61\x6d\x73\x20\x69\x6e\x74\x6f\x20\x74\x65\x78\x74\x2e\x20\x54\x65\x78\x74\x49\x4f\x57\x72\x61\x70\x70\x65\x72\x2c\x20\x77\x68\x69\x63\x68\x20\x65\x78\x74\x65\x6e\x64\x73\x20\x69\x74\x2c\x20\x69\x73\x20\x61\x20\x62\x75\x66\x66\x65\x72\x65\x64\x20\x74\x65\x78\x74\x0a\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x20\x74\x6f\x20\x61\x20\x62\x75\x66\x66\x65\x72\x65\x64\x20\x72\x61\x77\x20\x73\x74\x72\x65\x61\x6d\x20\x28\x60\x42\x75\x66\x66\x65\x72\x65\x64\x49\x4f\x42\x61\x73\x65\x60\x29\x2e\x20\x46\x69\x6e\x61\x6c\x6c\x79\x2c\x20\x53\x74\x72\x69\x6e\x67\x49\x4f\x0a\x69\x73\x20\x61\x6e\x20\x69\x6e\x2d\x6d\x65\x6d\x6f\x72\x79\x20\x73\x74\x72\x65\x61\x6d\x20\x66\x6f\x72\x20\x74\x65\x78\x74\x2e\x0a\x0a\x41\x72\x67\x75\x6d\x65\x6e\x74\x20\x6e\x61\x6d\x65\x73\x20\x61\x72\x65\x20\x6e\x6f\x74\x20\x70\x61\x72\x74\x20\x6f\x66\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x2c\x20\x61\x6e\x64\x20\x6f\x6e\x6c\x79\x20\x74\x68\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x0a\x6f\x66\x20\x6f\x70\x65\x6e\x28\x29\x20\x61\x72\x65\x20\x69\x6e\x74\x65\x6e\x64\x65\x64\x20\x74\x6f\x20\x62\x65\x20\x75\x73\x65\x64\x20\x61\x73\x20\x6b\x65\x79\x77\x6f\x72\x64\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x0a\x0a\x64\x61\x74\x61\x3a\x0a\x0a\x44\x45\x46\x41\x55\x4c\x54\x5f\x42\x55\x46\x46\x45\x52\x5f\x53\x49\x5a\x45\x0a\x0a\x20\x20\x20\x41\x6e\x20\x69\x6e\x74\x20\x63\x6f\x6e\x74\x61\x69\x6e\x69\x6e\x67\x20\x74\x68\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x62\x75\x66\x66\x65\x72\x20\x73\x69\x7a\x65\x20\x75\x73\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x27\x73\x20\x62\x75\x66\x66\x65\x72\x65\x64\x0a\x20\x20\x20\x49\x2f\x4f\x20\x63\x6c\x61\x73\x73\x65\x73\x2e\x20\x6f\x70\x65\x6e\x28\x29\x20\x75\x73\x65\x73\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x27\x73\x20\x62\x6c\x6b\x73\x69\x7a\x65\x20\x28\x61\x73\x20\x6f\x62\x74\x61\x69\x6e\x65\x64\x20\x62\x79\x20\x6f\x73\x2e\x73\x74\x61\x74\x29\x20\x69\x66\x0a\x20\x20\x20\x70\x6f\x73\x73\x69\x62\x6c\x65\x2e\x0a", @@ -71840,7 +69622,7 @@ static io_toplevel_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 235, @@ -71849,7 +69631,7 @@ io_toplevel_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Guido van Rossum , Mike Verdone , Mark Russell , Antoine Pitrou , Amaury Forgeot d'Arc , Benjamin Peterson ", @@ -71862,7 +69644,7 @@ static const_str_BlockingIOError = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -71871,7 +69653,7 @@ const_str_BlockingIOError = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BlockingIOError", @@ -71884,7 +69666,7 @@ static const_str_IOBase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -71893,7 +69675,7 @@ const_str_IOBase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "IOBase", @@ -71906,7 +69688,7 @@ static const_str_RawIOBase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -71915,7 +69697,7 @@ const_str_RawIOBase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "RawIOBase", @@ -71928,7 +69710,7 @@ static const_str_StringIO = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -71937,7 +69719,7 @@ const_str_StringIO = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StringIO", @@ -71950,7 +69732,7 @@ static const_str_BufferedIOBase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -71959,7 +69741,7 @@ const_str_BufferedIOBase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedIOBase", @@ -71972,7 +69754,7 @@ static const_str_BufferedReader = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -71981,7 +69763,7 @@ const_str_BufferedReader = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedReader", @@ -71994,7 +69776,7 @@ static const_str_BufferedWriter = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -72003,7 +69785,7 @@ const_str_BufferedWriter = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedWriter", @@ -72016,7 +69798,7 @@ static const_str_BufferedRWPair = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -72025,7 +69807,7 @@ const_str_BufferedRWPair = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedRWPair", @@ -72038,7 +69820,7 @@ static const_str_BufferedRandom = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -72047,7 +69829,7 @@ const_str_BufferedRandom = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BufferedRandom", @@ -72060,7 +69842,7 @@ static const_str_TextIOBase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -72069,7 +69851,7 @@ const_str_TextIOBase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "TextIOBase", @@ -72082,7 +69864,7 @@ static const_str_UnsupportedOperation = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -72091,7 +69873,7 @@ const_str_UnsupportedOperation = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "UnsupportedOperation", @@ -72104,7 +69886,7 @@ static const_str_SEEK_SET = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -72113,7 +69895,7 @@ const_str_SEEK_SET = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "SEEK_SET", @@ -72126,7 +69908,7 @@ static const_str_SEEK_CUR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -72135,7 +69917,7 @@ const_str_SEEK_CUR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "SEEK_CUR", @@ -72148,7 +69930,7 @@ static const_str_SEEK_END = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -72157,7 +69939,7 @@ const_str_SEEK_END = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "SEEK_END", @@ -72170,7 +69952,7 @@ static const_str_DEFAULT_BUFFER_SIZE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -72179,7 +69961,7 @@ const_str_DEFAULT_BUFFER_SIZE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "DEFAULT_BUFFER_SIZE", @@ -72192,7 +69974,7 @@ static const_str_text_encoding = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -72201,7 +69983,7 @@ const_str_text_encoding = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "text_encoding", @@ -72218,7 +70000,7 @@ io_toplevel_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 22, @@ -72261,7 +70043,7 @@ io_toplevel_consts_5 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -72285,250 +70067,6 @@ io_toplevel_consts_5 = { }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[12]; - } -const_str_OpenWrapper = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 11, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "OpenWrapper", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[44]; - } -io_toplevel_consts_6_consts_3 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 43, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "OpenWrapper is deprecated, use open instead", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[8]; - } -io_toplevel_consts_6_consts_6 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 7, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "module ", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[19]; - } -io_toplevel_consts_6_consts_7 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 18, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = " has no attribute ", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[8]; - }_object; - } -io_toplevel_consts_6_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 8, - }, - .ob_item = { - Py_None, - & const_str_OpenWrapper._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & io_toplevel_consts_6_consts_3._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - & importlib__bootstrap_toplevel_consts_55_consts_8._object.ob_base.ob_base, - & io_toplevel_consts_6_consts_6._ascii.ob_base, - & io_toplevel_consts_6_consts_7._ascii.ob_base, - }, - }, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[7]; - }_object; - } -io_toplevel_consts_6_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 7, - }, - .ob_item = { - &_Py_ID(warnings), - & const_str_warn._ascii.ob_base, - & const_str_DeprecationWarning._ascii.ob_base, - &_Py_ID(open), - & const_str_OpenWrapper._ascii.ob_base, - & const_str_AttributeError._ascii.ob_base, - &_Py_ID(__name__), - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[12]; - } -io_toplevel_consts_6_filename = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 11, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[104]; - } -io_toplevel_consts_6_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 103, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x07\x0b\x88\x7d\xd2\x07\x1c\xd0\x07\x1c\xf0\x0c\x00\x09\x18\x88\x0f\x88\x0f\x88\x0f\xd8\x08\x10\x8f\x0d\x8a\x0d\xd0\x16\x43\xdd\x16\x28\xb0\x51\xf0\x03\x00\x09\x16\xf1\x00\x01\x09\x38\xf4\x00\x01\x09\x38\xf0\x00\x01\x09\x38\xf5\x06\x00\x17\x1b\x88\x0b\xdd\x0f\x1a\xd0\x08\x1a\xdd\x0a\x18\xd0\x19\x49\xa5\x38\xd0\x19\x49\xd0\x19\x49\xc0\x14\xd0\x19\x49\xd0\x19\x49\xd1\x0a\x4a\xd4\x0a\x4a\xd0\x04\x4a", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -io_toplevel_consts_6_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - &_Py_ID(name), - &_Py_ID(warnings), - }, - }, -}; -static - struct _PyCode_DEF(160) -io_toplevel_consts_6 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 80, - }, - .co_consts = & io_toplevel_consts_6_consts._object.ob_base.ob_base, - .co_names = & io_toplevel_consts_6_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 61, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & io_toplevel_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & io_toplevel_consts_6_filename._ascii.ob_base, - .co_name = &_Py_ID(__getattr__), - .co_qualname = &_Py_ID(__getattr__), - .co_linetable = & io_toplevel_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x2f\x64\x02\x64\x00\x6c\x00\x7d\x01\x7c\x01\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xac\x05\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x04\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x64\x07\x7c\x00\x9b\x02\x9d\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", - ._co_firsttraceable = 0, -}; static struct { PyASCIIObject _ascii; @@ -72537,7 +70075,7 @@ static const_str_io = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -72546,7 +70084,7 @@ const_str_io = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "io", @@ -72559,11 +70097,11 @@ static PyObject *ob_item[2]; }_object; } -io_toplevel_consts_10_consts = { +io_toplevel_consts_9_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -72582,7 +70120,7 @@ static const_str__IOBase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -72591,7 +70129,7 @@ const_str__IOBase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_IOBase", @@ -72604,11 +70142,11 @@ static PyObject *ob_item[6]; }_object; } -io_toplevel_consts_10_names = { +io_toplevel_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -72617,64 +70155,84 @@ io_toplevel_consts_10_names = { &_Py_ID(__name__), &_Py_ID(__module__), &_Py_ID(__qualname__), - & const_str__io._ascii.ob_base, + &_Py_ID(_io), & const_str__IOBase._ascii.ob_base, &_Py_ID(__doc__), }, }, }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[12]; + } +io_toplevel_consts_9_filename = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 11, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "", +}; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[18]; } -io_toplevel_consts_10_linetable = { +io_toplevel_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xd8\x0e\x11\x8c\x6b\xd4\x0e\x21\x80\x47\x80\x47\x80\x47", + .ob_sval = "\x84\x00\xd8\x0e\x11\x8f\x6b\x89\x6b\xd7\x0e\x21\xd1\x0e\x21\x81\x47", }; static - struct _PyCode_DEF(38) -io_toplevel_consts_10 = { + struct _PyCode_DEF(56) +io_toplevel_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 19, + .ob_size = 28, }, - .co_consts = & io_toplevel_consts_10_consts._object.ob_base.ob_base, - .co_names = & io_toplevel_consts_10_names._object.ob_base.ob_base, + .co_consts = & io_toplevel_consts_9_consts._object.ob_base.ob_base, + .co_names = & io_toplevel_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 88, + .co_firstlineno = 72, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 365, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_filename = & io_toplevel_consts_6_filename._ascii.ob_base, + .co_filename = & io_toplevel_consts_9_filename._ascii.ob_base, .co_name = & const_str_IOBase._ascii.ob_base, .co_qualname = & const_str_IOBase._ascii.ob_base, - .co_linetable = & io_toplevel_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x65\x03\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x01\x53\x00", + .co_linetable = & io_toplevel_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x65\x03\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x79\x01", ._co_firsttraceable = 0, }; static @@ -72685,11 +70243,11 @@ static PyObject *ob_item[2]; }_object; } -io_toplevel_consts_13_consts = { +io_toplevel_consts_12_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -72708,7 +70266,7 @@ static const_str__RawIOBase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -72717,7 +70275,7 @@ const_str__RawIOBase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_RawIOBase", @@ -72730,11 +70288,11 @@ static PyObject *ob_item[6]; }_object; } -io_toplevel_consts_13_names = { +io_toplevel_consts_12_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -72743,7 +70301,7 @@ io_toplevel_consts_13_names = { &_Py_ID(__name__), &_Py_ID(__module__), &_Py_ID(__qualname__), - & const_str__io._ascii.ob_base, + &_Py_ID(_io), & const_str__RawIOBase._ascii.ob_base, &_Py_ID(__doc__), }, @@ -72753,54 +70311,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[18]; } -io_toplevel_consts_13_linetable = { +io_toplevel_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xd8\x0e\x11\x8c\x6e\xd4\x0e\x24\x80\x47\x80\x47\x80\x47", + .ob_sval = "\x84\x00\xd8\x0e\x11\x8f\x6e\x89\x6e\xd7\x0e\x24\xd1\x0e\x24\x81\x47", }; static - struct _PyCode_DEF(38) -io_toplevel_consts_13 = { + struct _PyCode_DEF(56) +io_toplevel_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 19, + .ob_size = 28, }, - .co_consts = & io_toplevel_consts_13_consts._object.ob_base.ob_base, - .co_names = & io_toplevel_consts_13_names._object.ob_base.ob_base, + .co_consts = & io_toplevel_consts_12_consts._object.ob_base.ob_base, + .co_names = & io_toplevel_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 91, + .co_firstlineno = 75, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 366, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_filename = & io_toplevel_consts_6_filename._ascii.ob_base, + .co_filename = & io_toplevel_consts_9_filename._ascii.ob_base, .co_name = & const_str_RawIOBase._ascii.ob_base, .co_qualname = & const_str_RawIOBase._ascii.ob_base, - .co_linetable = & io_toplevel_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x65\x03\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x01\x53\x00", + .co_linetable = & io_toplevel_consts_12_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x65\x03\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x79\x01", ._co_firsttraceable = 0, }; static @@ -72811,11 +70367,11 @@ static PyObject *ob_item[2]; }_object; } -io_toplevel_consts_15_consts = { +io_toplevel_consts_14_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -72834,7 +70390,7 @@ static const_str__BufferedIOBase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -72843,7 +70399,7 @@ const_str__BufferedIOBase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_BufferedIOBase", @@ -72856,11 +70412,11 @@ static PyObject *ob_item[6]; }_object; } -io_toplevel_consts_15_names = { +io_toplevel_consts_14_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -72869,7 +70425,7 @@ io_toplevel_consts_15_names = { &_Py_ID(__name__), &_Py_ID(__module__), &_Py_ID(__qualname__), - & const_str__io._ascii.ob_base, + &_Py_ID(_io), & const_str__BufferedIOBase._ascii.ob_base, &_Py_ID(__doc__), }, @@ -72879,54 +70435,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[26]; + char ob_sval[20]; } -io_toplevel_consts_15_linetable = { +io_toplevel_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 25, + .ob_size = 19, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xd8\x0e\x11\xd4\x0e\x21\xd4\x0e\x29\x80\x47\x80\x47\x80\x47", + .ob_sval = "\x84\x00\xd8\x0e\x11\xd7\x0e\x21\xd1\x0e\x21\xd7\x0e\x29\xd1\x0e\x29\x81\x47", }; static - struct _PyCode_DEF(38) -io_toplevel_consts_15 = { + struct _PyCode_DEF(56) +io_toplevel_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 19, + .ob_size = 28, }, - .co_consts = & io_toplevel_consts_15_consts._object.ob_base.ob_base, - .co_names = & io_toplevel_consts_15_names._object.ob_base.ob_base, + .co_consts = & io_toplevel_consts_14_consts._object.ob_base.ob_base, + .co_names = & io_toplevel_consts_14_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 94, + .co_firstlineno = 78, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 367, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_filename = & io_toplevel_consts_6_filename._ascii.ob_base, + .co_filename = & io_toplevel_consts_9_filename._ascii.ob_base, .co_name = & const_str_BufferedIOBase._ascii.ob_base, .co_qualname = & const_str_BufferedIOBase._ascii.ob_base, - .co_linetable = & io_toplevel_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x65\x03\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x01\x53\x00", + .co_linetable = & io_toplevel_consts_14_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x65\x03\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x79\x01", ._co_firsttraceable = 0, }; static @@ -72937,11 +70491,11 @@ static PyObject *ob_item[2]; }_object; } -io_toplevel_consts_17_consts = { +io_toplevel_consts_16_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -72960,7 +70514,7 @@ static const_str__TextIOBase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -72969,7 +70523,7 @@ const_str__TextIOBase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_TextIOBase", @@ -72982,11 +70536,11 @@ static PyObject *ob_item[6]; }_object; } -io_toplevel_consts_17_names = { +io_toplevel_consts_16_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -72995,7 +70549,7 @@ io_toplevel_consts_17_names = { &_Py_ID(__name__), &_Py_ID(__module__), &_Py_ID(__qualname__), - & const_str__io._ascii.ob_base, + &_Py_ID(_io), & const_str__TextIOBase._ascii.ob_base, &_Py_ID(__doc__), }, @@ -73005,78 +70559,54 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[18]; } -io_toplevel_consts_17_linetable = { +io_toplevel_consts_16_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xd8\x0e\x11\x8c\x6f\xd4\x0e\x25\x80\x47\x80\x47\x80\x47", + .ob_sval = "\x84\x00\xd8\x0e\x11\x8f\x6f\x89\x6f\xd7\x0e\x25\xd1\x0e\x25\x81\x47", }; static - struct _PyCode_DEF(38) -io_toplevel_consts_17 = { + struct _PyCode_DEF(56) +io_toplevel_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 19, + .ob_size = 28, }, - .co_consts = & io_toplevel_consts_17_consts._object.ob_base.ob_base, - .co_names = & io_toplevel_consts_17_names._object.ob_base.ob_base, + .co_consts = & io_toplevel_consts_16_consts._object.ob_base.ob_base, + .co_names = & io_toplevel_consts_16_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 97, + .co_firstlineno = 81, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 368, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_filename = & io_toplevel_consts_6_filename._ascii.ob_base, + .co_filename = & io_toplevel_consts_9_filename._ascii.ob_base, .co_name = & const_str_TextIOBase._ascii.ob_base, .co_qualname = & const_str_TextIOBase._ascii.ob_base, - .co_linetable = & io_toplevel_consts_17_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x65\x03\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x01\x53\x00", + .co_linetable = & io_toplevel_consts_16_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x65\x03\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x79\x01", ._co_firsttraceable = 0, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[18]; - } -const_str__WindowsConsoleIO = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 17, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "_WindowsConsoleIO", -}; static struct { PyGC_Head _gc_head; @@ -73085,17 +70615,17 @@ static PyObject *ob_item[1]; }_object; } -io_toplevel_consts_19 = { +io_toplevel_consts_18 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str__WindowsConsoleIO._ascii.ob_base, + &_Py_ID(_WindowsConsoleIO), }, }, }; @@ -73104,17 +70634,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[20]; + PyObject *ob_item[19]; }_object; } io_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 20, + .ob_size = 19, }, .ob_item = { & io_toplevel_consts_0._ascii.ob_base, @@ -73123,20 +70653,19 @@ io_toplevel_consts = { (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], Py_None, & io_toplevel_consts_5._object.ob_base.ob_base, - & io_toplevel_consts_6.ob_base.ob_base, & const_str_io._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - & io_toplevel_consts_10.ob_base.ob_base, + & io_toplevel_consts_9.ob_base.ob_base, & const_str_IOBase._ascii.ob_base, & abc_toplevel_consts_17._object.ob_base.ob_base, - & io_toplevel_consts_13.ob_base.ob_base, + & io_toplevel_consts_12.ob_base.ob_base, & const_str_RawIOBase._ascii.ob_base, - & io_toplevel_consts_15.ob_base.ob_base, + & io_toplevel_consts_14.ob_base.ob_base, & const_str_BufferedIOBase._ascii.ob_base, - & io_toplevel_consts_17.ob_base.ob_base, + & io_toplevel_consts_16.ob_base.ob_base, & const_str_TextIOBase._ascii.ob_base, - & io_toplevel_consts_19._object.ob_base.ob_base, + & io_toplevel_consts_18._object.ob_base.ob_base, }, }, }; @@ -73148,7 +70677,7 @@ static const_str___author__ = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -73157,7 +70686,7 @@ const_str___author__ = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "__author__", @@ -73170,7 +70699,7 @@ static const_str_klass = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -73179,7 +70708,7 @@ const_str_klass = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "klass", @@ -73189,23 +70718,23 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[38]; + PyObject *ob_item[37]; }_object; } io_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 38, + .ob_size = 37, }, .ob_item = { &_Py_ID(__doc__), & const_str___author__._ascii.ob_base, &_Py_ID(__all__), - & const_str__io._ascii.ob_base, + &_Py_ID(_io), & const_str_abc._ascii.ob_base, & const_str_DEFAULT_BUFFER_SIZE._ascii.ob_base, & const_str_BlockingIOError._ascii.ob_base, @@ -73222,7 +70751,6 @@ io_toplevel_names = { & const_str_IncrementalNewlineDecoder._ascii.ob_base, & const_str_text_encoding._ascii.ob_base, &_Py_ID(TextIOWrapper), - &_Py_ID(__getattr__), &_Py_ID(__module__), & const_str_SEEK_SET._ascii.ob_base, & const_str_SEEK_CUR._ascii.ob_base, @@ -73238,7 +70766,7 @@ io_toplevel_names = { & const_str_TextIOBase._ascii.ob_base, & const_str_register._ascii.ob_base, & const_str_klass._ascii.ob_base, - & const_str__WindowsConsoleIO._ascii.ob_base, + &_Py_ID(_WindowsConsoleIO), & const_str_ImportError._ascii.ob_base, }, }, @@ -73247,18 +70775,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[714]; + char ob_sval[314]; } io_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 713, + .ob_size = 313, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x02\x21\x01\x04\xf0\x00\x21\x01\x04\xf0\x48\x01\x05\x0f\x38\x80\x0a\xf0\x0e\x05\x0b\x50\x01\xf0\x00\x05\x0b\x50\x01\xf0\x00\x05\x0b\x50\x01\x80\x07\xf0\x10\x00\x01\x0b\x80\x0a\x80\x0a\x80\x0a\xd8\x00\x0a\x80\x0a\x80\x0a\x80\x0a\xf0\x04\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x00\x03\x01\x4a\x01\xf0\x0c\x0d\x01\x4b\x01\xf0\x00\x0d\x01\x4b\x01\xf0\x00\x0d\x01\x4b\x01\xf0\x22\x00\x23\x27\xd0\x00\x14\xd4\x00\x1f\xf0\x06\x00\x0c\x0d\x80\x08\xd8\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x08\xf0\x0a\x01\x01\x22\xf0\x00\x01\x01\x22\xf0\x00\x01\x01\x22\xf0\x00\x01\x01\x22\xf0\x00\x01\x01\x22\x88\x53\x8c\x5b\xa0\x43\xa4\x4b\xf0\x00\x01\x01\x22\xf1\x00\x01\x01\x22\xf4\x00\x01\x01\x22\xf0\x00\x01\x01\x22\xf0\x06\x01\x01\x25\xf0\x00\x01\x01\x25\xf0\x00\x01\x01\x25\xf0\x00\x01\x01\x25\xf0\x00\x01\x01\x25\x90\x03\x94\x0e\xa0\x06\xf1\x00\x01\x01\x25\xf4\x00\x01\x01\x25\xf0\x00\x01\x01\x25\xf0\x06\x01\x01\x2a\xf0\x00\x01\x01\x2a\xf0\x00\x01\x01\x2a\xf0\x00\x01\x01\x2a\xf0\x00\x01\x01\x2a\x90\x53\xd4\x15\x28\xa8\x26\xf1\x00\x01\x01\x2a\xf4\x00\x01\x01\x2a\xf0\x00\x01\x01\x2a\xf0\x06\x01\x01\x26\xf0\x00\x01\x01\x26\xf0\x00\x01\x01\x26\xf0\x00\x01\x01\x26\xf0\x00\x01\x01\x26\x90\x13\x94\x1f\xa0\x26\xf1\x00\x01\x01\x26\xf4\x00\x01\x01\x26\xf0\x00\x01\x01\x26\xf0\x06\x00\x01\x0a\xd7\x00\x12\xd2\x00\x12\x90\x36\xd1\x00\x1a\xd4\x00\x1a\xd0\x00\x1a\xe0\x0e\x15\x90\x7e\xa0\x7e\xb0\x7e\xd8\x0e\x1c\xf0\x03\x01\x0e\x1e\xf0\x00\x02\x01\x23\xf0\x00\x02\x01\x23\x80\x45\xe0\x04\x12\xd7\x04\x1b\xd2\x04\x1b\x98\x45\xd1\x04\x22\xd4\x04\x22\xd0\x04\x22\xd0\x04\x22\xe0\x0e\x16\x98\x0d\xd0\x0d\x26\xf0\x00\x01\x01\x1f\xf0\x00\x01\x01\x1f\x80\x45\xd8\x04\x0e\xd7\x04\x17\xd2\x04\x17\x98\x05\xd1\x04\x1e\xd4\x04\x1e\xd0\x04\x1e\xd0\x04\x1e\xd8\x04\x09\xf0\x04\x05\x01\x2a\xd8\x04\x25\xd0\x04\x25\xd0\x04\x25\xd0\x04\x25\xd0\x04\x25\xd0\x04\x25\xf0\x08\x00\x05\x0e\xd7\x04\x16\xd2\x04\x16\xd0\x17\x28\xd1\x04\x29\xd4\x04\x29\xd0\x04\x29\xd0\x04\x29\xd0\x04\x29\xf8\xf0\x07\x00\x08\x13\xf0\x00\x01\x01\x09\xf0\x00\x01\x01\x09\xf0\x00\x01\x01\x09\xd8\x04\x08\x80\x44\x80\x44\xf0\x03\x01\x01\x09\xf8\xf8\xf8", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x02\x21\x01\x04\xf0\x48\x01\x05\x0f\x38\x80\x0a\xf2\x0e\x05\x0b\x50\x01\x80\x07\xf3\x10\x00\x01\x0b\xdb\x00\x0a\xf7\x04\x03\x01\x4a\x01\xf7\x00\x03\x01\x4a\x01\xf7\x00\x03\x01\x4a\x01\xf7\x00\x03\x01\x4a\x01\xf1\x00\x03\x01\x4a\x01\xf0\x0e\x00\x23\x27\xd0\x00\x14\xd4\x00\x1f\xf0\x06\x00\x0c\x0d\x80\x08\xd8\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x08\xf4\x0a\x01\x01\x22\x88\x53\x8f\x5b\x89\x5b\xa0\x43\xa7\x4b\xa1\x4b\xf5\x00\x01\x01\x22\xf4\x06\x01\x01\x25\x90\x03\x97\x0e\x91\x0e\xa0\x06\xf4\x00\x01\x01\x25\xf4\x06\x01\x01\x2a\x90\x53\xd7\x15\x28\xd1\x15\x28\xa8\x26\xf4\x00\x01\x01\x2a\xf4\x06\x01\x01\x26\x90\x13\x97\x1f\x91\x1f\xa0\x26\xf4\x00\x01\x01\x26\xf0\x06\x00\x01\x0a\xd7\x00\x12\xd1\x00\x12\x90\x36\xd4\x00\x1a\xe0\x0e\x15\x90\x7e\xa0\x7e\xb0\x7e\xd8\x0e\x1c\xf0\x03\x01\x0e\x1e\xf2\x00\x02\x01\x23\x80\x45\xe0\x04\x12\xd7\x04\x1b\xd1\x04\x1b\x98\x45\xd5\x04\x22\xf0\x05\x02\x01\x23\xf0\x08\x00\x0f\x17\x98\x0d\xd0\x0d\x26\xf2\x00\x01\x01\x1f\x80\x45\xd8\x04\x0e\xd7\x04\x17\xd1\x04\x17\x98\x05\xd5\x04\x1e\xf0\x03\x01\x01\x1f\xe0\x04\x09\xf0\x04\x05\x01\x2a\xdd\x04\x25\xf0\x08\x00\x05\x0e\xd7\x04\x16\xd1\x04\x16\xd0\x17\x28\xd5\x04\x29\xf8\xf0\x07\x00\x08\x13\xf2\x00\x01\x01\x09\xd9\x04\x08\xf0\x03\x01\x01\x09\xfa", }; static struct { @@ -73269,58 +70797,53 @@ static io_toplevel_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\xc3\x2b\x06\x44\x08\x00\xc4\x08\x05\x44\x11\x03\xc4\x10\x01\x44\x11\x03", + .ob_sval = "\xc3\x2d\x06\x44\x05\x00\xc4\x05\x05\x44\x0d\x03\xc4\x0c\x01\x44\x0d\x03", }; static - struct _PyCode_DEF(552) + struct _PyCode_DEF(544) io_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 276, + .ob_size = 272, }, .co_consts = & io_toplevel_consts._object.ob_base.ob_base, .co_names = & io_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = & io_toplevel_exceptiontable.ob_base.ob_base, .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 369, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_filename = & io_toplevel_consts_6_filename._ascii.ob_base, + .co_filename = & io_toplevel_consts_9_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & io_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x5a\x01\x67\x00\x64\x02\xa2\x01\x5a\x02\x64\x03\x64\x04\x6c\x03\x5a\x03\x64\x03\x64\x04\x6c\x04\x5a\x04\x64\x03\x64\x05\x6c\x03\x6d\x05\x5a\x05\x6d\x06\x5a\x06\x6d\x07\x5a\x07\x6d\x08\x5a\x08\x6d\x09\x5a\x09\x6d\x0a\x5a\x0a\x6d\x0b\x5a\x0b\x6d\x0c\x5a\x0c\x6d\x0d\x5a\x0d\x6d\x0e\x5a\x0e\x6d\x0f\x5a\x0f\x6d\x10\x5a\x10\x6d\x11\x5a\x11\x6d\x12\x5a\x12\x6d\x13\x5a\x13\x01\x00\x64\x06\x84\x00\x5a\x14\x64\x07\x65\x07\x5f\x15\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x5a\x16\x64\x08\x5a\x17\x64\x09\x5a\x18\x02\x00\x47\x00\x64\x0a\x84\x00\x64\x0b\x65\x03\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x65\x04\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\xac\x0c\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1b\x02\x00\x47\x00\x64\x0d\x84\x00\x64\x0e\x65\x03\x6a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1b\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1d\x02\x00\x47\x00\x64\x0f\x84\x00\x64\x10\x65\x03\x6a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1b\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1f\x02\x00\x47\x00\x64\x11\x84\x00\x64\x12\x65\x03\x6a\x20\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1b\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x21\x65\x1d\xa0\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x0a\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x0b\x65\x0d\x65\x0e\x65\x10\x65\x0f\x66\x05\x44\x00\x5d\x17\x5a\x23\x65\x1f\xa0\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x23\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x18\x65\x0c\x65\x13\x66\x02\x44\x00\x5d\x17\x5a\x23\x65\x21\xa0\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x23\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x18\x5b\x23\x09\x00\x64\x03\x64\x13\x6c\x03\x6d\x24\x5a\x24\x01\x00\x65\x1d\xa0\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x24\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x04\x53\x00\x23\x00\x65\x25\x24\x00\x72\x04\x01\x00\x59\x00\x64\x04\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x5a\x01\x67\x00\x64\x02\xa2\x01\x5a\x02\x64\x03\x64\x04\x6c\x03\x5a\x03\x64\x03\x64\x04\x6c\x04\x5a\x04\x64\x03\x64\x05\x6c\x03\x6d\x05\x5a\x05\x6d\x06\x5a\x06\x6d\x07\x5a\x07\x6d\x08\x5a\x08\x6d\x09\x5a\x09\x6d\x0a\x5a\x0a\x6d\x0b\x5a\x0b\x6d\x0c\x5a\x0c\x6d\x0d\x5a\x0d\x6d\x0e\x5a\x0e\x6d\x0f\x5a\x0f\x6d\x10\x5a\x10\x6d\x11\x5a\x11\x6d\x12\x5a\x12\x6d\x13\x5a\x13\x01\x00\x64\x06\x65\x07\x5f\x14\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x5a\x15\x64\x07\x5a\x16\x64\x08\x5a\x17\x02\x00\x47\x00\x64\x09\x84\x00\x64\x0a\x65\x03\x6a\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x04\x6a\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x0b\xab\x04\x00\x00\x00\x00\x00\x00\x5a\x1a\x02\x00\x47\x00\x64\x0c\x84\x00\x64\x0d\x65\x03\x6a\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1a\xab\x04\x00\x00\x00\x00\x00\x00\x5a\x1c\x02\x00\x47\x00\x64\x0e\x84\x00\x64\x0f\x65\x03\x6a\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1a\xab\x04\x00\x00\x00\x00\x00\x00\x5a\x1e\x02\x00\x47\x00\x64\x10\x84\x00\x64\x11\x65\x03\x6a\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1a\xab\x04\x00\x00\x00\x00\x00\x00\x5a\x20\x65\x1c\x6a\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x0a\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x0b\x65\x0d\x65\x0e\x65\x10\x65\x0f\x66\x05\x44\x00\x5d\x13\x00\x00\x5a\x22\x65\x1e\x6a\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x22\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x15\x04\x00\x65\x0c\x65\x13\x66\x02\x44\x00\x5d\x13\x00\x00\x5a\x22\x65\x20\x6a\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x22\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x15\x04\x00\x5b\x22\x09\x00\x64\x03\x64\x12\x6c\x03\x6d\x23\x5a\x23\x01\x00\x65\x1c\x6a\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x23\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x04\x23\x00\x65\x24\x24\x00\x72\x03\x01\x00\x59\x00\x79\x04\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; -static void io_do_patchups(void) { -} PyObject * _Py_get_io_toplevel(void) { - io_do_patchups(); return Py_NewRef((PyObject *) &io_toplevel); } @@ -73332,7 +70855,7 @@ static _collections_abc_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 106, @@ -73341,7 +70864,7 @@ _collections_abc_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x62\x73\x74\x72\x61\x63\x74\x20\x42\x61\x73\x65\x20\x43\x6c\x61\x73\x73\x65\x73\x20\x28\x41\x42\x43\x73\x29\x20\x66\x6f\x72\x20\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2c\x20\x61\x63\x63\x6f\x72\x64\x69\x6e\x67\x20\x74\x6f\x20\x50\x45\x50\x20\x33\x31\x31\x39\x2e\x0a\x0a\x55\x6e\x69\x74\x20\x74\x65\x73\x74\x73\x20\x61\x72\x65\x20\x69\x6e\x20\x74\x65\x73\x74\x5f\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2e\x0a", @@ -73358,7 +70881,7 @@ _collections_abc_toplevel_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -73377,7 +70900,7 @@ static _collections_abc_toplevel_consts_5_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -73386,7 +70909,7 @@ _collections_abc_toplevel_consts_5_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -73399,7 +70922,7 @@ static const_str__f = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -73408,46 +70931,44 @@ const_str__f = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_f", }; static - struct _PyCode_DEF(6) + struct _PyCode_DEF(4) _collections_abc_toplevel_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 14, + .co_framesize = 0 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, + .co_firstlineno = 40, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 370, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__f._ascii.ob_base, .co_qualname = & const_str__f._ascii.ob_base, - .co_linetable = & importlib__bootstrap_external_toplevel_consts_55_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x53\x00", + .co_linetable = & importlib__bootstrap_external_toplevel_consts_54_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -73458,7 +70979,7 @@ static const_str_Awaitable = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -73467,7 +70988,7 @@ const_str_Awaitable = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Awaitable", @@ -73480,7 +71001,7 @@ static const_str_Coroutine = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -73489,7 +71010,7 @@ const_str_Coroutine = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Coroutine", @@ -73502,7 +71023,7 @@ static const_str_AsyncIterable = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -73511,7 +71032,7 @@ const_str_AsyncIterable = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncIterable", @@ -73524,7 +71045,7 @@ static const_str_AsyncIterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -73533,7 +71054,7 @@ const_str_AsyncIterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncIterator", @@ -73546,7 +71067,7 @@ static const_str_AsyncGenerator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -73555,7 +71076,7 @@ const_str_AsyncGenerator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncGenerator", @@ -73568,7 +71089,7 @@ static const_str_Hashable = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -73577,7 +71098,7 @@ const_str_Hashable = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Hashable", @@ -73590,7 +71111,7 @@ static const_str_Iterable = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -73599,7 +71120,7 @@ const_str_Iterable = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Iterable", @@ -73612,7 +71133,7 @@ static const_str_Iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -73621,7 +71142,7 @@ const_str_Iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Iterator", @@ -73634,7 +71155,7 @@ static const_str_Generator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -73643,7 +71164,7 @@ const_str_Generator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Generator", @@ -73656,7 +71177,7 @@ static const_str_Reversible = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -73665,7 +71186,7 @@ const_str_Reversible = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Reversible", @@ -73678,7 +71199,7 @@ static const_str_Sized = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -73687,7 +71208,7 @@ const_str_Sized = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sized", @@ -73700,7 +71221,7 @@ static const_str_Container = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -73709,7 +71230,7 @@ const_str_Container = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Container", @@ -73722,7 +71243,7 @@ static const_str_Callable = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -73731,7 +71252,7 @@ const_str_Callable = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Callable", @@ -73744,7 +71265,7 @@ static const_str_Collection = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -73753,7 +71274,7 @@ const_str_Collection = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Collection", @@ -73766,7 +71287,7 @@ static const_str_Set = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -73775,7 +71296,7 @@ const_str_Set = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set", @@ -73788,7 +71309,7 @@ static const_str_MutableSet = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -73797,7 +71318,7 @@ const_str_MutableSet = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSet", @@ -73810,7 +71331,7 @@ static const_str_Mapping = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -73819,7 +71340,7 @@ const_str_Mapping = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Mapping", @@ -73832,7 +71353,7 @@ static const_str_MutableMapping = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -73841,7 +71362,7 @@ const_str_MutableMapping = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableMapping", @@ -73854,7 +71375,7 @@ static const_str_MappingView = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -73863,7 +71384,7 @@ const_str_MappingView = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MappingView", @@ -73876,7 +71397,7 @@ static const_str_KeysView = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -73885,7 +71406,7 @@ const_str_KeysView = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "KeysView", @@ -73898,7 +71419,7 @@ static const_str_ItemsView = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -73907,7 +71428,7 @@ const_str_ItemsView = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ItemsView", @@ -73920,7 +71441,7 @@ static const_str_ValuesView = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -73929,7 +71450,7 @@ const_str_ValuesView = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ValuesView", @@ -73942,7 +71463,7 @@ static const_str_Sequence = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -73951,7 +71472,7 @@ const_str_Sequence = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sequence", @@ -73964,7 +71485,7 @@ static const_str_MutableSequence = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -73973,7 +71494,7 @@ const_str_MutableSequence = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSequence", @@ -73986,7 +71507,7 @@ static const_str_ByteString = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -73995,27 +71516,49 @@ const_str_ByteString = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ByteString", }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[7]; + } +const_str_Buffer = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 6, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "Buffer", +}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[25]; + PyObject *ob_item[26]; }_object; } _collections_abc_toplevel_consts_6 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 25, + .ob_size = 26, }, .ob_item = { & const_str_Awaitable._ascii.ob_base, @@ -74043,6 +71586,7 @@ _collections_abc_toplevel_consts_6 = { & const_str_Sequence._ascii.ob_base, & const_str_MutableSequence._ascii.ob_base, & const_str_ByteString._ascii.ob_base, + & const_str_Buffer._ascii.ob_base, }, }, }; @@ -74054,7 +71598,7 @@ static _collections_abc_toplevel_consts_7 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -74063,49 +71607,48 @@ _collections_abc_toplevel_consts_7 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "collections.abc", }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_1000 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 1000 }, }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[15]; + char ob_sval[8]; } _collections_abc_toplevel_consts_13_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 14, + .ob_size = 7, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\x98\x35\x98\x35\x98\x35\x98\x35", + .ob_sval = "\xe8\x00\xf8\x80\x00\x9b\x35", }; static struct _PyCode_DEF(14) _collections_abc_toplevel_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 7, @@ -74114,27 +71657,25 @@ _collections_abc_toplevel_consts_13 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 62, + .co_firstlineno = 88, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 371, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_lambda), .co_qualname = &_Py_STR(anon_lambda), .co_linetable = & _collections_abc_toplevel_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x00\x56\x00\x97\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x00\x96\x00\x97\x01\x53\x00", ._co_firsttraceable = 2, }; static @@ -74145,7 +71686,7 @@ static const_str__coro = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -74154,7 +71695,7 @@ const_str__coro = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_coro", @@ -74163,54 +71704,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[11]; + char ob_sval[7]; } _collections_abc_toplevel_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 10, + .ob_size = 6, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\x80\x00\x80\x00", + .ob_sval = "\xe8\x00\xf8\x81\x00\xf9", }; static - struct _PyCode_DEF(10) + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +_collections_abc_toplevel_consts_14_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, + }, + .ob_shash = -1, + .ob_sval = "\x82\x02\x04\x01", +}; +static + struct _PyCode_DEF(12) _collections_abc_toplevel_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 5, + .ob_size = 6, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_14_exceptiontable.ob_base.ob_base, .co_flags = 131, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 64, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 90, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 372, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__coro._ascii.ob_base, .co_qualname = & const_str__coro._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -74221,7 +71777,7 @@ static const_str__ag = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -74230,7 +71786,7 @@ const_str__ag = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_ag", @@ -74239,54 +71795,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[21]; + char ob_sval[9]; } _collections_abc_toplevel_consts_15_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 20, + .ob_size = 8, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\x90\x15\x90\x15\x90\x15\x90\x15\x90\x15\x90\x15\x90\x15", + .ob_sval = "\xe8\x00\xf8\x80\x00\x95\x15\xf9", }; static - struct _PyCode_DEF(20) + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +_collections_abc_toplevel_consts_15_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, + }, + .ob_shash = -1, + .ob_sval = "\x82\x07\x09\x01", +}; +static + struct _PyCode_DEF(22) _collections_abc_toplevel_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 10, + .ob_size = 11, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_15_exceptiontable.ob_base.ob_base, .co_flags = 515, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 70, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 96, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 373, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__ag._ascii.ob_base, .co_qualname = & const_str__ag._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x00\x57\x00\x56\x00\x97\x01\x01\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x00\xad\x04\x96\x01\x97\x01\x01\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -74297,7 +71868,7 @@ static const_str___mro__ = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -74306,7 +71877,7 @@ const_str___mro__ = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "__mro__", @@ -74323,7 +71894,7 @@ _collections_abc_toplevel_consts_16_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -74343,7 +71914,7 @@ static const_str__check_methods = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -74352,7 +71923,7 @@ const_str__check_methods = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_check_methods", @@ -74361,40 +71932,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[120]; + char ob_sval[91]; } _collections_abc_toplevel_consts_16_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 119, + .ob_size = 90, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0a\x0b\x8c\x29\x80\x43\xd8\x12\x19\xf0\x00\x07\x05\x22\xf0\x00\x07\x05\x22\x88\x06\xd8\x11\x14\xf0\x00\x06\x09\x22\xf0\x00\x06\x09\x22\x88\x41\xd8\x0f\x15\x98\x11\x9c\x1a\xd0\x0f\x23\xd0\x0f\x23\xd8\x13\x14\x94\x3a\x98\x66\xd4\x13\x25\xd0\x13\x2d\xdd\x1b\x29\xd0\x14\x29\xd0\x14\x29\xd0\x14\x29\xd0\x14\x29\xd0\x14\x29\xd8\x10\x15\x90\x05\xf0\x07\x00\x10\x24\xf5\x0a\x00\x14\x22\xd0\x0c\x21\xd0\x0c\x21\xd0\x0c\x21\xf0\x05\x00\x11\x16\xf0\x06\x00\x0c\x10\x88\x34", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_C = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "C", + .ob_sval = "\x80\x00\xd8\x0a\x0b\x8f\x29\x89\x29\x80\x43\xd8\x12\x19\xf2\x00\x07\x05\x22\x88\x06\xd8\x11\x14\xf2\x00\x06\x09\x22\x88\x41\xd8\x0f\x15\x98\x11\x9f\x1a\x99\x1a\xd2\x0f\x23\xd8\x13\x14\x97\x3a\x91\x3a\x98\x66\xd1\x13\x25\xd0\x13\x2d\xdc\x1b\x29\xd4\x14\x29\xd9\x10\x15\xf0\x09\x06\x09\x22\xf4\x0c\x00\x14\x22\xd2\x0c\x21\xf0\x0f\x07\x05\x22\xf0\x10\x00\x0c\x10", }; static struct { @@ -74404,7 +71953,7 @@ static const_str_methods = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -74413,33 +71962,11 @@ const_str_methods = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "methods", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_B = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "B", -}; static struct { PyGC_Head _gc_head; @@ -74452,55 +71979,53 @@ _collections_abc_toplevel_consts_16_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & const_str_C._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[67], & const_str_methods._ascii.ob_base, &_Py_ID(mro), - & const_str_method._ascii.ob_base, - & const_str_B._ascii.ob_base, + &_Py_ID(method), + (PyObject *)&_Py_SINGLETON(strings).ascii[66], }, }, }; static - struct _PyCode_DEF(128) + struct _PyCode_DEF(152) _collections_abc_toplevel_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 64, + .ob_size = 76, }, - .co_consts = & importlib__bootstrap_external_toplevel_consts_69_consts_3_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_external_toplevel_consts_68_consts_2_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_16_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 78, + .co_firstlineno = 104, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 374, .co_localsplusnames = & _collections_abc_toplevel_consts_16_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__check_methods._ascii.ob_base, .co_qualname = & const_str__check_methods._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_16_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x01\x44\x00\x5d\x33\x7d\x03\x7c\x02\x44\x00\x5d\x25\x7d\x04\x7c\x03\x7c\x04\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x1a\x7c\x04\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0b\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x01\x00\x63\x02\x01\x00\x53\x00\x01\x00\x6e\x0a\x8c\x26\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x01\x00\x53\x00\x8c\x34\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x01\x44\x00\x5d\x39\x00\x00\x7d\x03\x7c\x02\x44\x00\x5d\x2b\x00\x00\x7d\x04\x7c\x03\x7c\x04\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x73\x01\x8c\x12\x7c\x04\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x19\x00\x00\x00\x80\x0a\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x01\x00\x63\x02\x01\x00\x53\x00\x01\x00\x8c\x32\x04\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x01\x00\x53\x00\x04\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -74511,7 +72036,7 @@ static _collections_abc_toplevel_consts_17_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -74520,7 +72045,7 @@ _collections_abc_toplevel_consts_17_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Hashable.__hash__", @@ -74529,54 +72054,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[8]; + char ob_sval[6]; } _collections_abc_toplevel_consts_17_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 7, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x10\x88\x71", + .ob_sval = "\x80\x00\xe0\x0f\x10", }; static - struct _PyCode_DEF(6) + struct _PyCode_DEF(4) _collections_abc_toplevel_consts_17_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 94, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, + .co_firstlineno = 120, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 375, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__hash__), .co_qualname = & _collections_abc_toplevel_consts_17_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_17_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -74591,7 +72114,7 @@ _collections_abc_toplevel_consts_17_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -74614,7 +72137,7 @@ _collections_abc_toplevel_consts_17_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -74634,7 +72157,7 @@ static _collections_abc_toplevel_consts_17_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -74643,7 +72166,7 @@ _collections_abc_toplevel_consts_17_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Hashable.__subclasshook__", @@ -74652,18 +72175,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[34]; + char ob_sval[29]; } _collections_abc_toplevel_consts_17_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 33, + .ob_size = 28, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x28\x88\x3f\x88\x3f\xdd\x13\x21\xa0\x21\xa0\x5a\xd1\x13\x30\xd4\x13\x30\xd0\x0c\x30\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x28\x89\x3f\xdc\x13\x21\xa0\x21\xa0\x5a\xd3\x13\x30\xd0\x0c\x30\xdc\x0f\x1d\xd0\x08\x1d", }; static struct { @@ -74677,52 +72200,50 @@ _collections_abc_toplevel_consts_17_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { & const_str_cls._ascii.ob_base, - & const_str_C._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[67], }, }, }; static - struct _PyCode_DEF(66) + struct _PyCode_DEF(54) _collections_abc_toplevel_consts_17_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 27, }, .co_consts = & _collections_abc_toplevel_consts_17_consts_3_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_17_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 98, + .co_firstlineno = 124, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 376, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_17_consts_3_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_17_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -74737,7 +72258,7 @@ _collections_abc_toplevel_consts_17_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -74763,7 +72284,7 @@ _collections_abc_toplevel_consts_17_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -74784,54 +72305,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[78]; + char ob_sval[46]; } _collections_abc_toplevel_consts_17_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 77, + .ob_size = 45, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x01\x05\x11\xf0\x00\x01\x05\x11\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x11\xf0\x06\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf0\x00\x03\x05\x1e", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf1\x02\x01\x05\x11\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x11\xf0\x06\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf1\x02\x03\x05\x1e", }; static - struct _PyCode_DEF(62) + struct _PyCode_DEF(48) _collections_abc_toplevel_consts_17 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 31, + .ob_size = 24, }, .co_consts = & _collections_abc_toplevel_consts_17_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_17_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 90, + .co_firstlineno = 116, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 377, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Hashable._ascii.ob_base, .co_qualname = & const_str_Hashable._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_17_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x79\x04", ._co_firsttraceable = 0, }; static @@ -74842,7 +72361,7 @@ static _collections_abc_toplevel_consts_20_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -74851,7 +72370,7 @@ _collections_abc_toplevel_consts_20_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Awaitable.__await__", @@ -74860,54 +72379,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[20]; + char ob_sval[10]; } _collections_abc_toplevel_consts_20_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 19, + .ob_size = 9, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xe0\x08\x0d\x88\x05\x88\x05\x88\x05\x88\x05\x88\x05", + .ob_sval = "\xe8\x00\xf8\x80\x00\xe4\x08\x0d\xf9", }; static - struct _PyCode_DEF(18) + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +_collections_abc_toplevel_consts_20_consts_2_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, + }, + .ob_shash = -1, + .ob_sval = "\x82\x06\x08\x01", +}; +static + struct _PyCode_DEF(20) _collections_abc_toplevel_consts_20_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 9, + .ob_size = 10, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_20_consts_2_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 109, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 135, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 378, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__await__), .co_qualname = & _collections_abc_toplevel_consts_20_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_20_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x00\x56\x00\x97\x01\x01\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x00\x96\x01\x97\x01\x01\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -74922,7 +72456,7 @@ _collections_abc_toplevel_consts_20_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -74945,7 +72479,7 @@ _collections_abc_toplevel_consts_20_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -74965,7 +72499,7 @@ static _collections_abc_toplevel_consts_20_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -74974,7 +72508,7 @@ _collections_abc_toplevel_consts_20_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Awaitable.__subclasshook__", @@ -74983,54 +72517,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[36]; + char ob_sval[30]; } _collections_abc_toplevel_consts_20_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 35, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x29\xd0\x0b\x1b\xd0\x0b\x1b\xdd\x13\x21\xa0\x21\xa0\x5b\xd1\x13\x31\xd4\x13\x31\xd0\x0c\x31\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x29\xd1\x0b\x1b\xdc\x13\x21\xa0\x21\xa0\x5b\xd3\x13\x31\xd0\x0c\x31\xdc\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(66) + struct _PyCode_DEF(54) _collections_abc_toplevel_consts_20_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 27, }, .co_consts = & _collections_abc_toplevel_consts_20_consts_3_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_20_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 113, + .co_firstlineno = 139, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 379, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_20_consts_3_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_20_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -75045,7 +72577,7 @@ _collections_abc_toplevel_consts_20_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -75067,7 +72599,7 @@ static const_str_GenericAlias = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -75076,7 +72608,7 @@ const_str_GenericAlias = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "GenericAlias", @@ -75093,7 +72625,7 @@ _collections_abc_toplevel_consts_20_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -75116,54 +72648,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[92]; + char ob_sval[59]; } _collections_abc_toplevel_consts_20_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 91, + .ob_size = 58, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x01\x05\x0e\xf0\x00\x01\x05\x0e\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x0e\xf0\x06\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x0a\x00\x19\x24\x98\x0b\xa0\x4c\xd1\x18\x31\xd4\x18\x31\xd0\x04\x15\xd0\x04\x15\xd0\x04\x15", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf1\x02\x01\x05\x0e\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x0e\xf0\x06\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf0\x02\x03\x05\x1e\xf1\x0a\x00\x19\x24\xa0\x4c\xd3\x18\x31\xd1\x04\x15", }; static - struct _PyCode_DEF(84) + struct _PyCode_DEF(64) _collections_abc_toplevel_consts_20 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 42, + .ob_size = 32, }, .co_consts = & _collections_abc_toplevel_consts_20_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_20_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 105, + .co_firstlineno = 131, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 380, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Awaitable._ascii.ob_base, .co_qualname = & const_str_Awaitable._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x06\x65\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x06\x65\x08\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x09\x79\x04", ._co_firsttraceable = 0, }; static @@ -75174,7 +72704,7 @@ static _collections_abc_toplevel_consts_22_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 99, @@ -75183,7 +72713,7 @@ _collections_abc_toplevel_consts_22_consts_2_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x53\x65\x6e\x64\x20\x61\x20\x76\x61\x6c\x75\x65\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x20\x63\x6f\x72\x6f\x75\x74\x69\x6e\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x20\x6e\x65\x78\x74\x20\x79\x69\x65\x6c\x64\x65\x64\x20\x76\x61\x6c\x75\x65\x20\x6f\x72\x20\x72\x61\x69\x73\x65\x20\x53\x74\x6f\x70\x49\x74\x65\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -75200,7 +72730,7 @@ _collections_abc_toplevel_consts_22_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -75222,7 +72752,7 @@ _collections_abc_toplevel_consts_22_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -75240,7 +72770,7 @@ static _collections_abc_toplevel_consts_22_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -75249,7 +72779,7 @@ _collections_abc_toplevel_consts_22_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Coroutine.send", @@ -75263,49 +72793,47 @@ static _collections_abc_toplevel_consts_22_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0a\x00\x0f\x1c\xd0\x08\x1b", + .ob_sval = "\x80\x00\xf4\x0a\x00\x0f\x1c\xd0\x08\x1b", }; static - struct _PyCode_DEF(16) + struct _PyCode_DEF(14) _collections_abc_toplevel_consts_22_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, .co_consts = & _collections_abc_toplevel_consts_22_consts_2_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_22_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 126, + .co_firstlineno = 152, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 381, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(send), .co_qualname = & _collections_abc_toplevel_consts_22_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_22_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -75316,7 +72844,7 @@ static _collections_abc_toplevel_consts_22_consts_4_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 103, @@ -75325,7 +72853,7 @@ _collections_abc_toplevel_consts_22_consts_4_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x61\x69\x73\x65\x20\x61\x6e\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x63\x6f\x72\x6f\x75\x74\x69\x6e\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x20\x6e\x65\x78\x74\x20\x79\x69\x65\x6c\x64\x65\x64\x20\x76\x61\x6c\x75\x65\x20\x6f\x72\x20\x72\x61\x69\x73\x65\x20\x53\x74\x6f\x70\x49\x74\x65\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -75342,7 +72870,7 @@ _collections_abc_toplevel_consts_22_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -75360,7 +72888,7 @@ static const_str_with_traceback = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -75369,7 +72897,7 @@ const_str_with_traceback = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "with_traceback", @@ -75386,7 +72914,7 @@ _collections_abc_toplevel_consts_22_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -75404,7 +72932,7 @@ static _collections_abc_toplevel_consts_22_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -75413,7 +72941,7 @@ _collections_abc_toplevel_consts_22_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Coroutine.throw", @@ -75422,18 +72950,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[60]; + char ob_sval[53]; } _collections_abc_toplevel_consts_22_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 59, + .ob_size = 52, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0a\x00\x0c\x0f\x88\x3b\xd8\x0f\x11\x88\x7a\xd8\x16\x19\x90\x09\xd8\x12\x15\x90\x23\x91\x25\x94\x25\x88\x43\xd8\x0b\x0d\x88\x3e\xd8\x12\x15\xd7\x12\x24\xd2\x12\x24\xa0\x52\xd1\x12\x28\xd4\x12\x28\x88\x43\xd8\x0e\x11\x88\x09", + .ob_sval = "\x80\x00\xf0\x0a\x00\x0c\x0f\x88\x3b\xd8\x0f\x11\x88\x7a\xd8\x16\x19\x90\x09\xd9\x12\x15\x93\x25\x88\x43\xd8\x0b\x0d\x88\x3e\xd8\x12\x15\xd7\x12\x24\xd1\x12\x24\xa0\x52\xd3\x12\x28\x88\x43\xd8\x0e\x11\x88\x09", }; static struct { @@ -75443,7 +72971,7 @@ static const_str_typ = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -75452,7 +72980,7 @@ const_str_typ = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "typ", @@ -75465,7 +72993,7 @@ static const_str_val = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -75474,7 +73002,7 @@ const_str_val = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "val", @@ -75491,13 +73019,13 @@ _collections_abc_toplevel_consts_22_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_typ._ascii.ob_base, & const_str_val._ascii.ob_base, & const_str_tb._ascii.ob_base, @@ -75505,40 +73033,38 @@ _collections_abc_toplevel_consts_22_consts_4_localsplusnames = { }, }; static - struct _PyCode_DEF(84) + struct _PyCode_DEF(70) _collections_abc_toplevel_consts_22_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 42, + .ob_size = 35, }, .co_consts = & _collections_abc_toplevel_consts_22_consts_4_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_22_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 133, + .co_firstlineno = 159, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 382, .co_localsplusnames = & _collections_abc_toplevel_consts_22_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(throw), .co_qualname = & _collections_abc_toplevel_consts_22_consts_4_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_22_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x80\x0e\x7c\x03\x80\x02\x7c\x01\x82\x01\x02\x00\x7c\x01\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x03\x81\x15\x7c\x02\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x82\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x80\x0b\x7c\x03\x80\x02\x7c\x01\x82\x01\x02\x00\x7c\x01\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x03\x81\x11\x7c\x02\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x82\x01", ._co_firsttraceable = 0, }; static @@ -75549,7 +73075,7 @@ static _collections_abc_toplevel_consts_22_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 46, @@ -75558,7 +73084,7 @@ _collections_abc_toplevel_consts_22_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x61\x69\x73\x65\x20\x47\x65\x6e\x65\x72\x61\x74\x6f\x72\x45\x78\x69\x74\x20\x69\x6e\x73\x69\x64\x65\x20\x63\x6f\x72\x6f\x75\x74\x69\x6e\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -75571,7 +73097,7 @@ static _collections_abc_toplevel_consts_22_consts_5_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 31, @@ -75580,7 +73106,7 @@ _collections_abc_toplevel_consts_22_consts_5_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "coroutine ignored GeneratorExit", @@ -75597,7 +73123,7 @@ _collections_abc_toplevel_consts_22_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -75617,7 +73143,7 @@ static const_str_GeneratorExit = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -75626,7 +73152,7 @@ const_str_GeneratorExit = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "GeneratorExit", @@ -75643,7 +73169,7 @@ _collections_abc_toplevel_consts_22_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -75664,7 +73190,7 @@ static _collections_abc_toplevel_consts_22_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -75673,7 +73199,7 @@ _collections_abc_toplevel_consts_22_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Coroutine.close", @@ -75682,71 +73208,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[85]; + char ob_sval[60]; } _collections_abc_toplevel_consts_22_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 84, + .ob_size = 59, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x06\x05\x09\x42\x01\xd8\x0c\x10\x8f\x4a\x8a\x4a\x95\x7d\xd1\x0c\x25\xd4\x0c\x25\xd0\x0c\x25\xf5\x08\x00\x13\x1f\xd0\x1f\x40\xd1\x12\x41\xd4\x12\x41\xd0\x0c\x41\xf8\xf5\x07\x00\x11\x1e\x9d\x7d\xd0\x0f\x2d\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x06\x05\x09\x42\x01\xd8\x0c\x10\x8f\x4a\x89\x4a\x94\x7d\xd4\x0c\x25\xf4\x08\x00\x13\x1f\xd0\x1f\x40\xd3\x12\x41\xd0\x0c\x41\xf8\xf4\x07\x00\x11\x1e\x9c\x7d\xd0\x0f\x2d\xf2\x00\x01\x09\x11\xd9\x0c\x10\xf0\x03\x01\x09\x11\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[15]; + char ob_sval[13]; } _collections_abc_toplevel_consts_22_consts_5_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 14, + .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x82\x1a\x2b\x00\xab\x11\x41\x00\x03\xbf\x01\x41\x00\x03", + .ob_sval = "\x82\x15\x22\x00\xa2\x0f\x34\x03\xb3\x01\x34\x03", }; static - struct _PyCode_DEF(134) + struct _PyCode_DEF(110) _collections_abc_toplevel_consts_22_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 67, + .ob_size = 55, }, .co_consts = & _collections_abc_toplevel_consts_22_consts_5_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_22_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = & _collections_abc_toplevel_consts_22_consts_5_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 146, + .co_firstlineno = 172, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 383, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(close), .co_qualname = & _collections_abc_toplevel_consts_22_consts_5_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_22_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x04\x01\x00\x59\x00\x64\x02\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x79\x02\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -75761,7 +73285,7 @@ _collections_abc_toplevel_consts_22_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -75787,7 +73311,7 @@ _collections_abc_toplevel_consts_22_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -75807,7 +73331,7 @@ static _collections_abc_toplevel_consts_22_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -75816,7 +73340,7 @@ _collections_abc_toplevel_consts_22_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Coroutine.__subclasshook__", @@ -75825,54 +73349,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[42]; + char ob_sval[36]; } _collections_abc_toplevel_consts_22_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 41, + .ob_size = 35, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x29\xd0\x0b\x1b\xd0\x0b\x1b\xdd\x13\x21\xa0\x21\xa0\x5b\xb0\x26\xb8\x27\xc0\x37\xd1\x13\x4b\xd4\x13\x4b\xd0\x0c\x4b\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x29\xd1\x0b\x1b\xdc\x13\x21\xa0\x21\xa0\x5b\xb0\x26\xb8\x27\xc0\x37\xd3\x13\x4b\xd0\x0c\x4b\xdc\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(72) + struct _PyCode_DEF(60) _collections_abc_toplevel_consts_22_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 36, + .ob_size = 30, }, .co_consts = & _collections_abc_toplevel_consts_22_consts_6_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_22_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 156, + .co_firstlineno = 182, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 384, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_22_consts_6_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_22_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x13\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\x64\x03\x64\x04\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0f\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\x64\x03\x64\x04\xab\x05\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -75887,7 +73409,7 @@ _collections_abc_toplevel_consts_22_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -75900,7 +73422,7 @@ _collections_abc_toplevel_consts_22_consts = { & _collections_abc_toplevel_consts_22_consts_4.ob_base.ob_base, & _collections_abc_toplevel_consts_22_consts_5.ob_base.ob_base, & _collections_abc_toplevel_consts_22_consts_6.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_37_consts_12._object.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_44_consts_10._object.ob_base.ob_base, }, }, }; @@ -75916,7 +73438,7 @@ _collections_abc_toplevel_consts_22_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -75939,54 +73461,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[128]; + char ob_sval[72]; } _collections_abc_toplevel_consts_22_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 127, + .ob_size = 71, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x04\x05\x1c\xf0\x00\x04\x05\x1c\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x04\x05\x1c\xf0\x0c\x00\x06\x14\xf0\x02\x0a\x05\x12\xf0\x00\x0a\x05\x12\xf0\x00\x0a\x05\x12\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x0a\x05\x12\xf0\x18\x08\x05\x42\x01\xf0\x00\x08\x05\x42\x01\xf0\x00\x08\x05\x42\x01\xf0\x14\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf0\x00\x03\x05\x1e", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf1\x02\x04\x05\x1c\xf3\x03\x00\x06\x14\xf0\x02\x04\x05\x1c\xf0\x0c\x00\x06\x14\xf2\x02\x0a\x05\x12\xf3\x03\x00\x06\x14\xf0\x02\x0a\x05\x12\xf2\x18\x08\x05\x42\x01\xf0\x14\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf1\x02\x03\x05\x1e", }; static - struct _PyCode_DEF(92) + struct _PyCode_DEF(72) _collections_abc_toplevel_consts_22 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 46, + .ob_size = 36, }, .co_consts = & _collections_abc_toplevel_consts_22_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_22_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 122, + .co_firstlineno = 148, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 385, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Coroutine._ascii.ob_base, .co_qualname = & const_str_Coroutine._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_22_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x04\x64\x07\x64\x04\x84\x01\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x65\x08\x64\x06\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x64\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x04\x64\x07\x64\x04\x84\x01\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x65\x08\x64\x06\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x79\x03", ._co_firsttraceable = 0, }; static @@ -76001,7 +73521,7 @@ _collections_abc_toplevel_consts_24_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -76019,7 +73539,7 @@ static _collections_abc_toplevel_consts_24_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -76028,7 +73548,7 @@ _collections_abc_toplevel_consts_24_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncIterable.__aiter__", @@ -76037,54 +73557,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[13]; + char ob_sval[11]; } _collections_abc_toplevel_consts_24_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 12, + .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0f\x1c\x89\x7f\x8c\x7f\xd0\x08\x1e", + .ob_sval = "\x80\x00\xe4\x0f\x1c\x8b\x7f\xd0\x08\x1e", }; static - struct _PyCode_DEF(30) + struct _PyCode_DEF(22) _collections_abc_toplevel_consts_24_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 15, + .ob_size = 11, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_24_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 170, + .co_firstlineno = 196, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 386, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__aiter__), .co_qualname = & _collections_abc_toplevel_consts_24_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_24_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -76099,7 +73617,7 @@ _collections_abc_toplevel_consts_24_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -76122,7 +73640,7 @@ _collections_abc_toplevel_consts_24_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -76142,7 +73660,7 @@ static _collections_abc_toplevel_consts_24_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -76151,7 +73669,7 @@ _collections_abc_toplevel_consts_24_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncIterable.__subclasshook__", @@ -76160,54 +73678,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[36]; + char ob_sval[30]; } _collections_abc_toplevel_consts_24_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 35, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x2d\xd0\x0b\x1f\xd0\x0b\x1f\xdd\x13\x21\xa0\x21\xa0\x5b\xd1\x13\x31\xd4\x13\x31\xd0\x0c\x31\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x2d\xd1\x0b\x1f\xdc\x13\x21\xa0\x21\xa0\x5b\xd3\x13\x31\xd0\x0c\x31\xdc\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(66) + struct _PyCode_DEF(54) _collections_abc_toplevel_consts_24_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 27, }, .co_consts = & _collections_abc_toplevel_consts_24_consts_3_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_24_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 174, + .co_firstlineno = 200, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 387, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_24_consts_3_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_24_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -76222,7 +73738,7 @@ _collections_abc_toplevel_consts_24_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -76248,7 +73764,7 @@ _collections_abc_toplevel_consts_24_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -76271,54 +73787,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[92]; + char ob_sval[59]; } _collections_abc_toplevel_consts_24_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 91, + .ob_size = 58, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x01\x05\x1f\xf0\x00\x01\x05\x1f\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x1f\xf0\x06\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x0a\x00\x19\x24\x98\x0b\xa0\x4c\xd1\x18\x31\xd4\x18\x31\xd0\x04\x15\xd0\x04\x15\xd0\x04\x15", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf1\x02\x01\x05\x1f\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x1f\xf0\x06\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf0\x02\x03\x05\x1e\xf1\x0a\x00\x19\x24\xa0\x4c\xd3\x18\x31\xd1\x04\x15", }; static - struct _PyCode_DEF(84) + struct _PyCode_DEF(64) _collections_abc_toplevel_consts_24 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 42, + .ob_size = 32, }, .co_consts = & _collections_abc_toplevel_consts_24_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_24_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 166, + .co_firstlineno = 192, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 388, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_AsyncIterable._ascii.ob_base, .co_qualname = & const_str_AsyncIterable._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_24_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x06\x65\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x06\x65\x08\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x09\x79\x04", ._co_firsttraceable = 0, }; static @@ -76329,7 +73843,7 @@ static _collections_abc_toplevel_consts_26_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 64, @@ -76338,7 +73852,7 @@ _collections_abc_toplevel_consts_26_consts_2_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return the next item or raise StopAsyncIteration when exhausted.", @@ -76355,7 +73869,7 @@ _collections_abc_toplevel_consts_26_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -76373,7 +73887,7 @@ static const_str_StopAsyncIteration = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -76382,7 +73896,7 @@ const_str_StopAsyncIteration = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "StopAsyncIteration", @@ -76399,7 +73913,7 @@ _collections_abc_toplevel_consts_26_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -76417,7 +73931,7 @@ static _collections_abc_toplevel_consts_26_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -76426,7 +73940,7 @@ _collections_abc_toplevel_consts_26_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncIterator.__anext__", @@ -76440,49 +73954,47 @@ static _collections_abc_toplevel_consts_26_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 14, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xf5\x06\x00\x0f\x21\xd0\x08\x20", + .ob_sval = "\xe8\x00\xf8\x80\x00\xf4\x06\x00\x0f\x21\xd0\x08\x20\xf9", }; static - struct _PyCode_DEF(20) + struct _PyCode_DEF(22) _collections_abc_toplevel_consts_26_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 10, + .ob_size = 11, }, .co_consts = & _collections_abc_toplevel_consts_26_consts_2_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_26_consts_2_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_15_exceptiontable.ob_base.ob_base, .co_flags = 131, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 187, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 213, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 389, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__anext__), .co_qualname = & _collections_abc_toplevel_consts_26_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_26_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -76493,7 +74005,7 @@ static _collections_abc_toplevel_consts_26_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -76502,7 +74014,7 @@ _collections_abc_toplevel_consts_26_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncIterator.__aiter__", @@ -76512,7 +74024,7 @@ static _collections_abc_toplevel_consts_26_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -76521,26 +74033,24 @@ _collections_abc_toplevel_consts_26_consts_3 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 192, + .co_firstlineno = 218, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 390, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__aiter__), .co_qualname = & _collections_abc_toplevel_consts_26_consts_3_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_linetable = & codecs_toplevel_consts_24_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -76556,7 +74066,7 @@ _collections_abc_toplevel_consts_26_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -76580,7 +74090,7 @@ _collections_abc_toplevel_consts_26_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -76600,7 +74110,7 @@ static _collections_abc_toplevel_consts_26_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -76609,7 +74119,7 @@ _collections_abc_toplevel_consts_26_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncIterator.__subclasshook__", @@ -76618,54 +74128,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[38]; + char ob_sval[32]; } _collections_abc_toplevel_consts_26_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 37, + .ob_size = 31, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x2d\xd0\x0b\x1f\xd0\x0b\x1f\xdd\x13\x21\xa0\x21\xa0\x5b\xb0\x2b\xd1\x13\x3e\xd4\x13\x3e\xd0\x0c\x3e\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x2d\xd1\x0b\x1f\xdc\x13\x21\xa0\x21\xa0\x5b\xb0\x2b\xd3\x13\x3e\xd0\x0c\x3e\xdc\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(68) + struct _PyCode_DEF(56) _collections_abc_toplevel_consts_26_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 34, + .ob_size = 28, }, .co_consts = & _collections_abc_toplevel_consts_26_consts_4_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_26_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 195, + .co_firstlineno = 221, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 391, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_26_consts_4_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_26_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x11\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0d\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\xab\x03\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -76680,7 +74188,7 @@ _collections_abc_toplevel_consts_26_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -76707,7 +74215,7 @@ _collections_abc_toplevel_consts_26_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -76729,54 +74237,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[93]; + char ob_sval[51]; } _collections_abc_toplevel_consts_26_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 92, + .ob_size = 50, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x02\x05\x21\xf0\x00\x02\x05\x21\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x02\x05\x21\xf0\x08\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x06\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf0\x00\x03\x05\x1e", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf1\x02\x02\x05\x21\xf3\x03\x00\x06\x14\xf0\x02\x02\x05\x21\xf2\x08\x01\x05\x14\xf0\x06\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf1\x02\x03\x05\x1e", }; static - struct _PyCode_DEF(68) + struct _PyCode_DEF(54) _collections_abc_toplevel_consts_26 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 34, + .ob_size = 27, }, .co_consts = & _collections_abc_toplevel_consts_26_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_26_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 183, + .co_firstlineno = 209, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 392, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_AsyncIterator._ascii.ob_base, .co_qualname = & const_str_AsyncIterator._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_26_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x03\x84\x00\x5a\x06\x65\x07\x64\x04\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x64\x05\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x03\x84\x00\x5a\x06\x65\x07\x64\x04\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x79\x05", ._co_firsttraceable = 0, }; static @@ -76787,7 +74293,7 @@ static _collections_abc_toplevel_consts_28_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 112, @@ -76796,7 +74302,7 @@ _collections_abc_toplevel_consts_28_consts_2_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x6e\x65\x78\x74\x20\x69\x74\x65\x6d\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x61\x73\x79\x6e\x63\x68\x72\x6f\x6e\x6f\x75\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x57\x68\x65\x6e\x20\x65\x78\x68\x61\x75\x73\x74\x65\x64\x2c\x20\x72\x61\x69\x73\x65\x20\x53\x74\x6f\x70\x41\x73\x79\x6e\x63\x49\x74\x65\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -76813,7 +74319,7 @@ _collections_abc_toplevel_consts_28_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -76832,7 +74338,7 @@ static const_str_asend = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -76841,7 +74347,7 @@ const_str_asend = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "asend", @@ -76858,7 +74364,7 @@ _collections_abc_toplevel_consts_28_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -76876,7 +74382,7 @@ static _collections_abc_toplevel_consts_28_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -76885,7 +74391,7 @@ _collections_abc_toplevel_consts_28_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncGenerator.__anext__", @@ -76894,54 +74400,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[45]; + char ob_sval[30]; } _collections_abc_toplevel_consts_28_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 44, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xf0\x08\x00\x16\x1a\x97\x5a\x92\x5a\xa0\x04\xd1\x15\x25\xd4\x15\x25\xd0\x0f\x25\xd0\x0f\x25\xd0\x0f\x25\xd0\x0f\x25\xd0\x0f\x25\xd0\x0f\x25\xd0\x08\x25", + .ob_sval = "\xe8\x00\xf8\x80\x00\xf0\x08\x00\x16\x1a\x97\x5a\x91\x5a\xa0\x04\xd3\x15\x25\xd7\x0f\x25\xd0\x08\x25\xd0\x0f\x25\xfa", }; static - struct _PyCode_DEF(60) + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[13]; + } +_collections_abc_toplevel_consts_28_consts_2_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 12, + }, + .ob_shash = -1, + .ob_sval = "\x82\x15\x1e\x01\x97\x01\x1c\x04\x98\x05\x1e\x01", +}; +static + struct _PyCode_DEF(64) _collections_abc_toplevel_consts_28_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 30, + .ob_size = 32, }, .co_consts = & _collections_abc_toplevel_consts_28_consts_2_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_28_consts_2_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_28_consts_2_exceptiontable.ob_base.ob_base, .co_flags = 131, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 206, + .co_firstlineno = 232, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 393, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__anext__), .co_qualname = & _collections_abc_toplevel_consts_28_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_28_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x64\x01\x7b\x03\x56\x00\x97\x03\x86\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x83\x00\x64\x01\x7b\x03\x00\x00\x96\x02\x97\x03\x86\x05\x05\x00\x53\x00\x37\x00\x8c\x04\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -76952,7 +74473,7 @@ static _collections_abc_toplevel_consts_28_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 117, @@ -76961,7 +74482,7 @@ _collections_abc_toplevel_consts_28_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x53\x65\x6e\x64\x20\x61\x20\x76\x61\x6c\x75\x65\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x20\x61\x73\x79\x6e\x63\x68\x72\x6f\x6e\x6f\x75\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x20\x6e\x65\x78\x74\x20\x79\x69\x65\x6c\x64\x65\x64\x20\x76\x61\x6c\x75\x65\x20\x6f\x72\x20\x72\x61\x69\x73\x65\x20\x53\x74\x6f\x70\x41\x73\x79\x6e\x63\x49\x74\x65\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -76978,7 +74499,7 @@ _collections_abc_toplevel_consts_28_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -76996,7 +74517,7 @@ static _collections_abc_toplevel_consts_28_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -77005,7 +74526,7 @@ _collections_abc_toplevel_consts_28_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncGenerator.asend", @@ -77019,49 +74540,47 @@ static _collections_abc_toplevel_consts_28_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 14, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xf5\x0a\x00\x0f\x21\xd0\x08\x20", + .ob_sval = "\xe8\x00\xf8\x80\x00\xf4\x0a\x00\x0f\x21\xd0\x08\x20\xf9", }; static - struct _PyCode_DEF(20) + struct _PyCode_DEF(22) _collections_abc_toplevel_consts_28_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 10, + .ob_size = 11, }, .co_consts = & _collections_abc_toplevel_consts_28_consts_3_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_26_consts_2_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_15_exceptiontable.ob_base.ob_base, .co_flags = 131, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 212, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 238, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 394, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_asend._ascii.ob_base, .co_qualname = & _collections_abc_toplevel_consts_28_consts_3_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_28_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -77072,7 +74591,7 @@ static _collections_abc_toplevel_consts_28_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 121, @@ -77081,7 +74600,7 @@ _collections_abc_toplevel_consts_28_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x61\x69\x73\x65\x20\x61\x6e\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x61\x73\x79\x6e\x63\x68\x72\x6f\x6e\x6f\x75\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x20\x6e\x65\x78\x74\x20\x79\x69\x65\x6c\x64\x65\x64\x20\x76\x61\x6c\x75\x65\x20\x6f\x72\x20\x72\x61\x69\x73\x65\x20\x53\x74\x6f\x70\x41\x73\x79\x6e\x63\x49\x74\x65\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -77098,7 +74617,7 @@ _collections_abc_toplevel_consts_28_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -77116,7 +74635,7 @@ static const_str_athrow = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -77125,7 +74644,7 @@ const_str_athrow = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "athrow", @@ -77138,7 +74657,7 @@ static _collections_abc_toplevel_consts_28_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -77147,7 +74666,7 @@ _collections_abc_toplevel_consts_28_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncGenerator.athrow", @@ -77156,54 +74675,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[64]; + char ob_sval[57]; } _collections_abc_toplevel_consts_28_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 63, + .ob_size = 56, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xf0\x0a\x00\x0c\x0f\x88\x3b\xd8\x0f\x11\x88\x7a\xd8\x16\x19\x90\x09\xd8\x12\x15\x90\x23\x91\x25\x94\x25\x88\x43\xd8\x0b\x0d\x88\x3e\xd8\x12\x15\xd7\x12\x24\xd2\x12\x24\xa0\x52\xd1\x12\x28\xd4\x12\x28\x88\x43\xd8\x0e\x11\x88\x09", + .ob_sval = "\xe8\x00\xf8\x80\x00\xf0\x0a\x00\x0c\x0f\x88\x3b\xd8\x0f\x11\x88\x7a\xd8\x16\x19\x90\x09\xd9\x12\x15\x93\x25\x88\x43\xd8\x0b\x0d\x88\x3e\xd8\x12\x15\xd7\x12\x24\xd1\x12\x24\xa0\x52\xd3\x12\x28\x88\x43\xd8\x0e\x11\x88\x09\xf9", }; static - struct _PyCode_DEF(88) + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +_collections_abc_toplevel_consts_28_consts_5_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, + }, + .ob_shash = -1, + .ob_sval = "\x82\x23\x25\x01", +}; +static + struct _PyCode_DEF(78) _collections_abc_toplevel_consts_28_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 44, + .ob_size = 39, }, .co_consts = & _collections_abc_toplevel_consts_28_consts_5_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_22_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_28_consts_5_exceptiontable.ob_base.ob_base, .co_flags = 131, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 219, + .co_firstlineno = 245, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 395, .co_localsplusnames = & _collections_abc_toplevel_consts_22_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_athrow._ascii.ob_base, .co_qualname = & _collections_abc_toplevel_consts_28_consts_5_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_28_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x02\x80\x0e\x7c\x03\x80\x02\x7c\x01\x82\x01\x02\x00\x7c\x01\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x03\x81\x15\x7c\x02\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x82\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x02\x80\x0b\x7c\x03\x80\x02\x7c\x01\x82\x01\x02\x00\x7c\x01\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x03\x81\x11\x7c\x02\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x82\x01\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -77214,7 +74748,7 @@ static _collections_abc_toplevel_consts_28_consts_6_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 44, @@ -77223,7 +74757,7 @@ _collections_abc_toplevel_consts_28_consts_6_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "asynchronous generator ignored GeneratorExit", @@ -77240,7 +74774,7 @@ _collections_abc_toplevel_consts_28_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -77264,7 +74798,7 @@ _collections_abc_toplevel_consts_28_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -77285,7 +74819,7 @@ static const_str_aclose = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -77294,7 +74828,7 @@ const_str_aclose = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "aclose", @@ -77307,7 +74841,7 @@ static _collections_abc_toplevel_consts_28_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -77316,7 +74850,7 @@ _collections_abc_toplevel_consts_28_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncGenerator.aclose", @@ -77325,71 +74859,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[108]; + char ob_sval[73]; } _collections_abc_toplevel_consts_28_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 107, + .ob_size = 72, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xf0\x06\x05\x09\x4f\x01\xd8\x12\x16\x97\x2b\x92\x2b\x9d\x6d\xd1\x12\x2c\xd4\x12\x2c\xd0\x0c\x2c\xd0\x0c\x2c\xd0\x0c\x2c\xd0\x0c\x2c\xd0\x0c\x2c\xd0\x0c\x2c\xd0\x0c\x2c\xf5\x08\x00\x13\x1f\xd0\x1f\x4d\xd1\x12\x4e\xd4\x12\x4e\xd0\x0c\x4e\xf8\xf5\x07\x00\x11\x1e\xd5\x1f\x31\xd0\x0f\x32\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8", + .ob_sval = "\xe8\x00\xf8\x80\x00\xf0\x06\x05\x09\x4f\x01\xd8\x12\x16\x97\x2b\x91\x2b\x9c\x6d\xd3\x12\x2c\xd7\x0c\x2c\xd0\x0c\x2c\xf4\x08\x00\x13\x1f\xd0\x1f\x4d\xd3\x12\x4e\xd0\x0c\x4e\xf0\x09\x00\x0d\x2d\xf9\xdc\x10\x1d\xd4\x1f\x31\xd0\x0f\x32\xf2\x00\x01\x09\x11\xd9\x0c\x10\xf0\x03\x01\x09\x11\xfc", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[48]; } _collections_abc_toplevel_consts_28_consts_6_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 47, }, .ob_shash = -1, - .ob_sval = "\x84\x20\x33\x00\xb3\x11\x41\x08\x03\xc1\x07\x01\x41\x08\x03", + .ob_sval = "\x82\x01\x41\x03\x01\x84\x18\x2e\x00\x9c\x01\x2c\x04\x9d\x04\x2e\x00\xa1\x0b\x41\x03\x01\xac\x01\x2e\x00\xae\x0f\x41\x00\x03\xbd\x02\x41\x03\x01\xbf\x01\x41\x00\x03\xc1\x00\x03\x41\x03\x01", }; static - struct _PyCode_DEF(150) + struct _PyCode_DEF(138) _collections_abc_toplevel_consts_28_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 75, + .ob_size = 69, }, .co_consts = & _collections_abc_toplevel_consts_28_consts_6_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_28_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = & _collections_abc_toplevel_consts_28_consts_6_exceptiontable.ob_base.ob_base, .co_flags = 131, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 232, + .co_firstlineno = 258, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 396, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_aclose._ascii.ob_base, .co_qualname = & _collections_abc_toplevel_consts_28_consts_6_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_28_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x09\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x64\x01\x7b\x03\x56\x00\x97\x03\x86\x04\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x09\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x83\x00\x64\x01\x7b\x03\x00\x00\x96\x03\x97\x03\x86\x05\x05\x00\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x37\x00\x8c\x0f\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -77404,7 +74936,7 @@ _collections_abc_toplevel_consts_28_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -77431,7 +74963,7 @@ _collections_abc_toplevel_consts_28_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -77451,7 +74983,7 @@ static _collections_abc_toplevel_consts_28_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 31, @@ -77460,7 +74992,7 @@ _collections_abc_toplevel_consts_28_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "AsyncGenerator.__subclasshook__", @@ -77469,54 +75001,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[51]; + char ob_sval[43]; } _collections_abc_toplevel_consts_28_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 50, + .ob_size = 42, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x2e\xd0\x0b\x20\xd0\x0b\x20\xdd\x13\x21\xa0\x21\xa0\x5b\xb0\x2b\xd8\x22\x29\xa8\x38\xb0\x58\xf1\x03\x01\x14\x3f\xf4\x00\x01\x14\x3f\xf0\x00\x01\x0d\x3f\xe5\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x2e\xd1\x0b\x20\xdc\x13\x21\xa0\x21\xa0\x5b\xb0\x2b\xd8\x22\x29\xa8\x38\xb0\x58\xf3\x03\x01\x14\x3f\xf0\x00\x01\x0d\x3f\xe4\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(74) + struct _PyCode_DEF(62) _collections_abc_toplevel_consts_28_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 37, + .ob_size = 31, }, .co_consts = & _collections_abc_toplevel_consts_28_consts_7_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_28_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, - .co_firstlineno = 242, + .co_firstlineno = 268, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 397, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_28_consts_7_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_28_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x14\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\x64\x03\x64\x04\x64\x05\xa6\x06\x00\x00\xab\x06\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\x64\x03\x64\x04\x64\x05\xab\x06\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -77531,7 +75061,7 @@ _collections_abc_toplevel_consts_28_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -77545,7 +75075,7 @@ _collections_abc_toplevel_consts_28_consts = { & _collections_abc_toplevel_consts_28_consts_5.ob_base.ob_base, & _collections_abc_toplevel_consts_28_consts_6.ob_base.ob_base, & _collections_abc_toplevel_consts_28_consts_7.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_37_consts_12._object.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_44_consts_10._object.ob_base.ob_base, }, }, }; @@ -77561,7 +75091,7 @@ _collections_abc_toplevel_consts_28_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -77585,54 +75115,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[145]; + char ob_sval[79]; } _collections_abc_toplevel_consts_28_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 144, + .ob_size = 78, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xf0\x04\x04\x05\x26\xf0\x00\x04\x05\x26\xf0\x00\x04\x05\x26\xf0\x0c\x00\x06\x14\xf0\x02\x04\x05\x21\xf0\x00\x04\x05\x21\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x04\x05\x21\xf0\x0c\x00\x06\x14\xf0\x02\x0a\x05\x12\xf0\x00\x0a\x05\x12\xf0\x00\x0a\x05\x12\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x0a\x05\x12\xf0\x18\x08\x05\x4f\x01\xf0\x00\x08\x05\x4f\x01\xf0\x00\x08\x05\x4f\x01\xf0\x14\x00\x06\x11\xf0\x02\x04\x05\x1e\xf0\x00\x04\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x04\x05\x1e\xf0\x00\x04\x05\x1e\xf0\x00\x04\x05\x1e", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xf2\x04\x04\x05\x26\xf0\x0c\x00\x06\x14\xf1\x02\x04\x05\x21\xf3\x03\x00\x06\x14\xf0\x02\x04\x05\x21\xf0\x0c\x00\x06\x14\xf2\x02\x0a\x05\x12\xf3\x03\x00\x06\x14\xf0\x02\x0a\x05\x12\xf2\x18\x08\x05\x4f\x01\xf0\x14\x00\x06\x11\xf1\x02\x04\x05\x1e\xf3\x03\x00\x06\x11\xf1\x02\x04\x05\x1e", }; static - struct _PyCode_DEF(98) + struct _PyCode_DEF(78) _collections_abc_toplevel_consts_28 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 49, + .ob_size = 39, }, .co_consts = & _collections_abc_toplevel_consts_28_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_28_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 202, + .co_firstlineno = 228, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 398, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_AsyncGenerator._ascii.ob_base, .co_qualname = & const_str_AsyncGenerator._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_28_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x65\x05\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x05\x64\x08\x64\x05\x84\x01\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x65\x09\x64\x07\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0a\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x65\x05\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x05\x64\x08\x64\x05\x84\x01\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x65\x09\x64\x07\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x0a\x79\x04", ._co_firsttraceable = 0, }; static @@ -77643,7 +75171,7 @@ static _collections_abc_toplevel_consts_30_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -77652,7 +75180,7 @@ _collections_abc_toplevel_consts_30_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Iterable.__iter__", @@ -77661,54 +75189,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[17]; + char ob_sval[10]; } _collections_abc_toplevel_consts_30_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 16, + .ob_size = 9, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xf0\x04\x01\x09\x17\xf0\x00\x01\x09\x17", + .ob_sval = "\xe8\x00\xf8\x80\x00\xe0\x0e\x13\xf9", }; static - struct _PyCode_DEF(10) + struct _PyCode_DEF(12) _collections_abc_toplevel_consts_30_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 5, + .ob_size = 6, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_14_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 257, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 283, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 399, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), .co_qualname = & _collections_abc_toplevel_consts_30_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_30_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -77723,7 +75249,7 @@ _collections_abc_toplevel_consts_30_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -77746,7 +75272,7 @@ _collections_abc_toplevel_consts_30_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -77766,7 +75292,7 @@ static _collections_abc_toplevel_consts_30_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -77775,46 +75301,44 @@ _collections_abc_toplevel_consts_30_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Iterable.__subclasshook__", }; static - struct _PyCode_DEF(66) + struct _PyCode_DEF(54) _collections_abc_toplevel_consts_30_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 27, }, .co_consts = & _collections_abc_toplevel_consts_30_consts_3_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_30_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 262, + .co_firstlineno = 288, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 400, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_30_consts_3_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_17_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -77829,7 +75353,7 @@ _collections_abc_toplevel_consts_30_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -77855,7 +75379,7 @@ _collections_abc_toplevel_consts_30_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -77878,54 +75402,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[92]; + char ob_sval[59]; } _collections_abc_toplevel_consts_30_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 91, + .ob_size = 58, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x02\x05\x17\xf0\x00\x02\x05\x17\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x02\x05\x17\xf0\x08\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x0a\x00\x19\x24\x98\x0b\xa0\x4c\xd1\x18\x31\xd4\x18\x31\xd0\x04\x15\xd0\x04\x15\xd0\x04\x15", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf1\x02\x02\x05\x17\xf3\x03\x00\x06\x14\xf0\x02\x02\x05\x17\xf0\x08\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf0\x02\x03\x05\x1e\xf1\x0a\x00\x19\x24\xa0\x4c\xd3\x18\x31\xd1\x04\x15", }; static - struct _PyCode_DEF(84) + struct _PyCode_DEF(64) _collections_abc_toplevel_consts_30 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 42, + .ob_size = 32, }, .co_consts = & _collections_abc_toplevel_consts_30_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_30_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 253, + .co_firstlineno = 279, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 401, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Iterable._ascii.ob_base, .co_qualname = & const_str_Iterable._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_30_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x06\x65\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x06\x65\x08\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x09\x79\x04", ._co_firsttraceable = 0, }; static @@ -77936,7 +75458,7 @@ static _collections_abc_toplevel_consts_32_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 75, @@ -77945,7 +75467,7 @@ _collections_abc_toplevel_consts_32_consts_2_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return the next item from the iterator. When exhausted, raise StopIteration", @@ -77962,7 +75484,7 @@ _collections_abc_toplevel_consts_32_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -77980,7 +75502,7 @@ static _collections_abc_toplevel_consts_32_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -77989,7 +75511,7 @@ _collections_abc_toplevel_consts_32_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Iterator.__next__", @@ -78003,49 +75525,47 @@ static _collections_abc_toplevel_consts_32_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x0f\x1c\xd0\x08\x1b", + .ob_sval = "\x80\x00\xf4\x06\x00\x0f\x1c\xd0\x08\x1b", }; static - struct _PyCode_DEF(16) + struct _PyCode_DEF(14) _collections_abc_toplevel_consts_32_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, .co_consts = & _collections_abc_toplevel_consts_32_consts_2_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_22_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 275, + .co_firstlineno = 301, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 402, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__next__), .co_qualname = & _collections_abc_toplevel_consts_32_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_32_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -78056,7 +75576,7 @@ static _collections_abc_toplevel_consts_32_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -78065,7 +75585,7 @@ _collections_abc_toplevel_consts_32_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Iterator.__iter__", @@ -78075,7 +75595,7 @@ static _collections_abc_toplevel_consts_32_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -78084,26 +75604,24 @@ _collections_abc_toplevel_consts_32_consts_3 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 280, + .co_firstlineno = 306, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 403, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), .co_qualname = & _collections_abc_toplevel_consts_32_consts_3_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_24_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_linetable = & codecs_toplevel_consts_24_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -78119,7 +75637,7 @@ _collections_abc_toplevel_consts_32_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -78143,7 +75661,7 @@ _collections_abc_toplevel_consts_32_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -78163,7 +75681,7 @@ static _collections_abc_toplevel_consts_32_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -78172,7 +75690,7 @@ _collections_abc_toplevel_consts_32_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Iterator.__subclasshook__", @@ -78181,54 +75699,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[36]; + char ob_sval[31]; } _collections_abc_toplevel_consts_32_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 35, + .ob_size = 30, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x28\x88\x3f\x88\x3f\xdd\x13\x21\xa0\x21\xa0\x5a\xb0\x1a\xd1\x13\x3c\xd4\x13\x3c\xd0\x0c\x3c\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x28\x89\x3f\xdc\x13\x21\xa0\x21\xa0\x5a\xb0\x1a\xd3\x13\x3c\xd0\x0c\x3c\xdc\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(68) + struct _PyCode_DEF(56) _collections_abc_toplevel_consts_32_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 34, + .ob_size = 28, }, .co_consts = & _collections_abc_toplevel_consts_32_consts_4_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_32_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 283, + .co_firstlineno = 309, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 404, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_32_consts_4_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_32_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x11\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0d\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\xab\x03\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -78243,7 +75759,7 @@ _collections_abc_toplevel_consts_32_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -78270,7 +75786,7 @@ _collections_abc_toplevel_consts_32_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -78292,54 +75808,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[93]; + char ob_sval[51]; } _collections_abc_toplevel_consts_32_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 92, + .ob_size = 50, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x02\x05\x1c\xf0\x00\x02\x05\x1c\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x02\x05\x1c\xf0\x08\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x00\x01\x05\x14\xf0\x06\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf0\x00\x03\x05\x1e", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf1\x02\x02\x05\x1c\xf3\x03\x00\x06\x14\xf0\x02\x02\x05\x1c\xf2\x08\x01\x05\x14\xf0\x06\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf1\x02\x03\x05\x1e", }; static - struct _PyCode_DEF(68) + struct _PyCode_DEF(54) _collections_abc_toplevel_consts_32 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 34, + .ob_size = 27, }, .co_consts = & _collections_abc_toplevel_consts_32_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_32_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 271, + .co_firstlineno = 297, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 405, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Iterator._ascii.ob_base, .co_qualname = & const_str_Iterator._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_32_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x03\x84\x00\x5a\x06\x65\x07\x64\x04\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x64\x05\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x03\x84\x00\x5a\x06\x65\x07\x64\x04\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x79\x05", ._co_firsttraceable = 0, }; static @@ -78350,7 +75864,7 @@ static _collections_abc_toplevel_consts_34_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -78359,46 +75873,44 @@ _collections_abc_toplevel_consts_34_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Reversible.__reversed__", }; static - struct _PyCode_DEF(10) + struct _PyCode_DEF(12) _collections_abc_toplevel_consts_34_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 5, + .ob_size = 6, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_14_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 310, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 336, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 406, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__reversed__), .co_qualname = & _collections_abc_toplevel_consts_34_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_30_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -78413,7 +75925,7 @@ _collections_abc_toplevel_consts_34_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -78437,7 +75949,7 @@ _collections_abc_toplevel_consts_34_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -78457,7 +75969,7 @@ static _collections_abc_toplevel_consts_34_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -78466,7 +75978,7 @@ _collections_abc_toplevel_consts_34_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Reversible.__subclasshook__", @@ -78475,54 +75987,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[38]; + char ob_sval[32]; } _collections_abc_toplevel_consts_34_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 37, + .ob_size = 31, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x2a\xd0\x0b\x1c\xd0\x0b\x1c\xdd\x13\x21\xa0\x21\xa0\x5e\xb0\x5a\xd1\x13\x40\xd4\x13\x40\xd0\x0c\x40\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x2a\xd1\x0b\x1c\xdc\x13\x21\xa0\x21\xa0\x5e\xb0\x5a\xd3\x13\x40\xd0\x0c\x40\xdc\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(68) + struct _PyCode_DEF(56) _collections_abc_toplevel_consts_34_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 34, + .ob_size = 28, }, .co_consts = & _collections_abc_toplevel_consts_34_consts_3_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_34_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 315, + .co_firstlineno = 341, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 407, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_34_consts_3_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_34_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x11\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0d\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\xab\x03\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -78537,7 +76047,7 @@ _collections_abc_toplevel_consts_34_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -78563,7 +76073,7 @@ _collections_abc_toplevel_consts_34_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -78584,54 +76094,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[78]; + char ob_sval[46]; } _collections_abc_toplevel_consts_34_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 77, + .ob_size = 45, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x02\x05\x17\xf0\x00\x02\x05\x17\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x02\x05\x17\xf0\x08\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf0\x00\x03\x05\x1e", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf1\x02\x02\x05\x17\xf3\x03\x00\x06\x14\xf0\x02\x02\x05\x17\xf0\x08\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf1\x02\x03\x05\x1e", }; static - struct _PyCode_DEF(62) + struct _PyCode_DEF(48) _collections_abc_toplevel_consts_34 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 31, + .ob_size = 24, }, .co_consts = & _collections_abc_toplevel_consts_34_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_34_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 306, + .co_firstlineno = 332, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 408, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Reversible._ascii.ob_base, .co_qualname = & const_str_Reversible._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_34_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x79\x04", ._co_firsttraceable = 0, }; static @@ -78642,7 +76150,7 @@ static _collections_abc_toplevel_consts_36_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 94, @@ -78651,7 +76159,7 @@ _collections_abc_toplevel_consts_36_consts_2_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x6e\x65\x78\x74\x20\x69\x74\x65\x6d\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x57\x68\x65\x6e\x20\x65\x78\x68\x61\x75\x73\x74\x65\x64\x2c\x20\x72\x61\x69\x73\x65\x20\x53\x74\x6f\x70\x49\x74\x65\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -78668,7 +76176,7 @@ _collections_abc_toplevel_consts_36_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -78691,7 +76199,7 @@ _collections_abc_toplevel_consts_36_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -78709,7 +76217,7 @@ static _collections_abc_toplevel_consts_36_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -78718,7 +76226,7 @@ _collections_abc_toplevel_consts_36_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Generator.__next__", @@ -78727,54 +76235,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[21]; + char ob_sval[19]; } _collections_abc_toplevel_consts_36_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 20, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x00\x10\x14\x8f\x79\x8a\x79\x98\x14\x89\x7f\x8c\x7f\xd0\x08\x1e", + .ob_sval = "\x80\x00\xf0\x08\x00\x10\x14\x8f\x79\x89\x79\x98\x14\x8b\x7f\xd0\x08\x1e", }; static - struct _PyCode_DEF(44) + struct _PyCode_DEF(36) _collections_abc_toplevel_consts_36_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 22, + .ob_size = 18, }, .co_consts = & _collections_abc_toplevel_consts_36_consts_2_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_36_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 326, + .co_firstlineno = 352, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 409, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__next__), .co_qualname = & _collections_abc_toplevel_consts_36_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_36_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -78785,7 +76291,7 @@ static _collections_abc_toplevel_consts_36_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 99, @@ -78794,7 +76300,7 @@ _collections_abc_toplevel_consts_36_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x53\x65\x6e\x64\x20\x61\x20\x76\x61\x6c\x75\x65\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x20\x6e\x65\x78\x74\x20\x79\x69\x65\x6c\x64\x65\x64\x20\x76\x61\x6c\x75\x65\x20\x6f\x72\x20\x72\x61\x69\x73\x65\x20\x53\x74\x6f\x70\x49\x74\x65\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -78811,7 +76317,7 @@ _collections_abc_toplevel_consts_36_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -78829,7 +76335,7 @@ static _collections_abc_toplevel_consts_36_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -78838,46 +76344,44 @@ _collections_abc_toplevel_consts_36_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Generator.send", }; static - struct _PyCode_DEF(16) + struct _PyCode_DEF(14) _collections_abc_toplevel_consts_36_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, .co_consts = & _collections_abc_toplevel_consts_36_consts_3_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_22_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 332, + .co_firstlineno = 358, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 410, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(send), .co_qualname = & _collections_abc_toplevel_consts_36_consts_3_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_22_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -78888,7 +76392,7 @@ static _collections_abc_toplevel_consts_36_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 103, @@ -78897,7 +76401,7 @@ _collections_abc_toplevel_consts_36_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x61\x69\x73\x65\x20\x61\x6e\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x20\x6e\x65\x78\x74\x20\x79\x69\x65\x6c\x64\x65\x64\x20\x76\x61\x6c\x75\x65\x20\x6f\x72\x20\x72\x61\x69\x73\x65\x20\x53\x74\x6f\x70\x49\x74\x65\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -78914,7 +76418,7 @@ _collections_abc_toplevel_consts_36_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -78932,7 +76436,7 @@ static _collections_abc_toplevel_consts_36_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -78941,46 +76445,44 @@ _collections_abc_toplevel_consts_36_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Generator.throw", }; static - struct _PyCode_DEF(84) + struct _PyCode_DEF(70) _collections_abc_toplevel_consts_36_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 42, + .ob_size = 35, }, .co_consts = & _collections_abc_toplevel_consts_36_consts_5_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_22_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 339, + .co_firstlineno = 365, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 411, .co_localsplusnames = & _collections_abc_toplevel_consts_22_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(throw), .co_qualname = & _collections_abc_toplevel_consts_36_consts_5_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_22_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x80\x0e\x7c\x03\x80\x02\x7c\x01\x82\x01\x02\x00\x7c\x01\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x03\x81\x15\x7c\x02\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x82\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x80\x0b\x7c\x03\x80\x02\x7c\x01\x82\x01\x02\x00\x7c\x01\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x03\x81\x11\x7c\x02\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x82\x01", ._co_firsttraceable = 0, }; static @@ -78991,7 +76493,7 @@ static _collections_abc_toplevel_consts_36_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 46, @@ -79000,7 +76502,7 @@ _collections_abc_toplevel_consts_36_consts_6_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x61\x69\x73\x65\x20\x47\x65\x6e\x65\x72\x61\x74\x6f\x72\x45\x78\x69\x74\x20\x69\x6e\x73\x69\x64\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -79013,7 +76515,7 @@ static _collections_abc_toplevel_consts_36_consts_6_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 31, @@ -79022,7 +76524,7 @@ _collections_abc_toplevel_consts_36_consts_6_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "generator ignored GeneratorExit", @@ -79039,7 +76541,7 @@ _collections_abc_toplevel_consts_36_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -79059,7 +76561,7 @@ static _collections_abc_toplevel_consts_36_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -79068,46 +76570,44 @@ _collections_abc_toplevel_consts_36_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Generator.close", }; static - struct _PyCode_DEF(134) + struct _PyCode_DEF(110) _collections_abc_toplevel_consts_36_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 67, + .ob_size = 55, }, .co_consts = & _collections_abc_toplevel_consts_36_consts_6_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_22_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = & _collections_abc_toplevel_consts_22_consts_5_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 352, + .co_firstlineno = 378, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 412, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(close), .co_qualname = & _collections_abc_toplevel_consts_36_consts_6_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_22_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x04\x01\x00\x59\x00\x64\x02\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x79\x02\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -79122,7 +76622,7 @@ _collections_abc_toplevel_consts_36_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -79149,7 +76649,7 @@ _collections_abc_toplevel_consts_36_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -79169,7 +76669,7 @@ static _collections_abc_toplevel_consts_36_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -79178,7 +76678,7 @@ _collections_abc_toplevel_consts_36_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Generator.__subclasshook__", @@ -79187,54 +76687,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[51]; + char ob_sval[43]; } _collections_abc_toplevel_consts_36_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 50, + .ob_size = 42, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x29\xd0\x0b\x1b\xd0\x0b\x1b\xdd\x13\x21\xa0\x21\xa0\x5a\xb0\x1a\xd8\x22\x28\xa8\x27\xb0\x37\xf1\x03\x01\x14\x3c\xf4\x00\x01\x14\x3c\xf0\x00\x01\x0d\x3c\xe5\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x29\xd1\x0b\x1b\xdc\x13\x21\xa0\x21\xa0\x5a\xb0\x1a\xd8\x22\x28\xa8\x27\xb0\x37\xf3\x03\x01\x14\x3c\xf0\x00\x01\x0d\x3c\xe4\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(74) + struct _PyCode_DEF(62) _collections_abc_toplevel_consts_36_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 37, + .ob_size = 31, }, .co_consts = & _collections_abc_toplevel_consts_36_consts_7_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_36_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, - .co_firstlineno = 362, + .co_firstlineno = 388, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 413, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_36_consts_7_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_36_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x14\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\x64\x03\x64\x04\x64\x05\xa6\x06\x00\x00\xab\x06\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\x64\x03\x64\x04\x64\x05\xab\x06\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -79249,7 +76747,7 @@ _collections_abc_toplevel_consts_36_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -79263,7 +76761,7 @@ _collections_abc_toplevel_consts_36_consts = { & _collections_abc_toplevel_consts_36_consts_5.ob_base.ob_base, & _collections_abc_toplevel_consts_36_consts_6.ob_base.ob_base, & _collections_abc_toplevel_consts_36_consts_7.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_37_consts_12._object.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_44_consts_10._object.ob_base.ob_base, }, }, }; @@ -79279,7 +76777,7 @@ _collections_abc_toplevel_consts_36_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -79303,54 +76801,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[145]; + char ob_sval[79]; } _collections_abc_toplevel_consts_36_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 144, + .ob_size = 78, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xf0\x04\x04\x05\x1f\xf0\x00\x04\x05\x1f\xf0\x00\x04\x05\x1f\xf0\x0c\x00\x06\x14\xf0\x02\x04\x05\x1c\xf0\x00\x04\x05\x1c\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x04\x05\x1c\xf0\x0c\x00\x06\x14\xf0\x02\x0a\x05\x12\xf0\x00\x0a\x05\x12\xf0\x00\x0a\x05\x12\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x0a\x05\x12\xf0\x18\x08\x05\x42\x01\xf0\x00\x08\x05\x42\x01\xf0\x00\x08\x05\x42\x01\xf0\x14\x00\x06\x11\xf0\x02\x04\x05\x1e\xf0\x00\x04\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x04\x05\x1e\xf0\x00\x04\x05\x1e\xf0\x00\x04\x05\x1e", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xf2\x04\x04\x05\x1f\xf0\x0c\x00\x06\x14\xf1\x02\x04\x05\x1c\xf3\x03\x00\x06\x14\xf0\x02\x04\x05\x1c\xf0\x0c\x00\x06\x14\xf2\x02\x0a\x05\x12\xf3\x03\x00\x06\x14\xf0\x02\x0a\x05\x12\xf2\x18\x08\x05\x42\x01\xf0\x14\x00\x06\x11\xf1\x02\x04\x05\x1e\xf3\x03\x00\x06\x11\xf1\x02\x04\x05\x1e", }; static - struct _PyCode_DEF(98) + struct _PyCode_DEF(78) _collections_abc_toplevel_consts_36 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 49, + .ob_size = 39, }, .co_consts = & _collections_abc_toplevel_consts_36_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_36_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 322, + .co_firstlineno = 348, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 414, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Generator._ascii.ob_base, .co_qualname = & const_str_Generator._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_36_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x65\x05\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x05\x64\x08\x64\x05\x84\x01\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x65\x09\x64\x07\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0a\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x65\x05\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x05\x64\x08\x64\x05\x84\x01\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x65\x09\x64\x07\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x0a\x79\x04", ._co_firsttraceable = 0, }; static @@ -79361,7 +76857,7 @@ static _collections_abc_toplevel_consts_38_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -79370,46 +76866,44 @@ _collections_abc_toplevel_consts_38_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sized.__len__", }; static - struct _PyCode_DEF(6) + struct _PyCode_DEF(4) _collections_abc_toplevel_consts_38_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 377, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, + .co_firstlineno = 403, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 415, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__len__), .co_qualname = & _collections_abc_toplevel_consts_38_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_17_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -79424,7 +76918,7 @@ _collections_abc_toplevel_consts_38_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -79447,7 +76941,7 @@ _collections_abc_toplevel_consts_38_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -79467,7 +76961,7 @@ static _collections_abc_toplevel_consts_38_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -79476,7 +76970,7 @@ _collections_abc_toplevel_consts_38_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sized.__subclasshook__", @@ -79485,54 +76979,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[34]; + char ob_sval[29]; } _collections_abc_toplevel_consts_38_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 33, + .ob_size = 28, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x25\x88\x3c\x88\x3c\xdd\x13\x21\xa0\x21\xa0\x59\xd1\x13\x2f\xd4\x13\x2f\xd0\x0c\x2f\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x25\x89\x3c\xdc\x13\x21\xa0\x21\xa0\x59\xd3\x13\x2f\xd0\x0c\x2f\xdc\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(66) + struct _PyCode_DEF(54) _collections_abc_toplevel_consts_38_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 27, }, .co_consts = & _collections_abc_toplevel_consts_38_consts_3_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_38_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 381, + .co_firstlineno = 407, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 416, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_38_consts_3_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_38_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -79547,7 +77039,7 @@ _collections_abc_toplevel_consts_38_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -79573,7 +77065,7 @@ _collections_abc_toplevel_consts_38_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -79591,40 +77083,38 @@ _collections_abc_toplevel_consts_38_names = { }, }; static - struct _PyCode_DEF(62) + struct _PyCode_DEF(48) _collections_abc_toplevel_consts_38 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 31, + .ob_size = 24, }, .co_consts = & _collections_abc_toplevel_consts_38_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_38_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 373, + .co_firstlineno = 399, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 417, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Sized._ascii.ob_base, .co_qualname = & const_str_Sized._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_17_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x79\x04", ._co_firsttraceable = 0, }; static @@ -79635,7 +77125,7 @@ static _collections_abc_toplevel_consts_40_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -79644,7 +77134,7 @@ _collections_abc_toplevel_consts_40_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Container.__contains__", @@ -79653,18 +77143,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[8]; + char ob_sval[6]; } _collections_abc_toplevel_consts_40_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 7, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0f\x14\x88\x75", + .ob_sval = "\x80\x00\xe0\x0f\x14", }; static struct { @@ -79678,52 +77168,50 @@ _collections_abc_toplevel_consts_40_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_x._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(x), }, }, }; static - struct _PyCode_DEF(6) + struct _PyCode_DEF(4) _collections_abc_toplevel_consts_40_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & importlib__bootstrap_toplevel_consts_23_consts_4_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_30_consts_4_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 392, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, + .co_firstlineno = 418, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 418, .co_localsplusnames = & _collections_abc_toplevel_consts_40_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__contains__), .co_qualname = & _collections_abc_toplevel_consts_40_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_40_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -79738,7 +77226,7 @@ _collections_abc_toplevel_consts_40_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -79761,7 +77249,7 @@ _collections_abc_toplevel_consts_40_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -79781,7 +77269,7 @@ static _collections_abc_toplevel_consts_40_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -79790,7 +77278,7 @@ _collections_abc_toplevel_consts_40_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Container.__subclasshook__", @@ -79799,54 +77287,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[36]; + char ob_sval[30]; } _collections_abc_toplevel_consts_40_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 35, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x29\xd0\x0b\x1b\xd0\x0b\x1b\xdd\x13\x21\xa0\x21\xa0\x5e\xd1\x13\x34\xd4\x13\x34\xd0\x0c\x34\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x29\xd1\x0b\x1b\xdc\x13\x21\xa0\x21\xa0\x5e\xd3\x13\x34\xd0\x0c\x34\xdc\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(66) + struct _PyCode_DEF(54) _collections_abc_toplevel_consts_40_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 27, }, .co_consts = & _collections_abc_toplevel_consts_40_consts_3_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_40_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 396, + .co_firstlineno = 422, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 419, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_40_consts_3_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_40_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -79861,7 +77347,7 @@ _collections_abc_toplevel_consts_40_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -79887,7 +77373,7 @@ _collections_abc_toplevel_consts_40_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -79910,54 +77396,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[92]; + char ob_sval[59]; } _collections_abc_toplevel_consts_40_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 91, + .ob_size = 58, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x01\x05\x15\xf0\x00\x01\x05\x15\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x15\xf0\x06\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x0a\x00\x19\x24\x98\x0b\xa0\x4c\xd1\x18\x31\xd4\x18\x31\xd0\x04\x15\xd0\x04\x15\xd0\x04\x15", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf1\x02\x01\x05\x15\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x15\xf0\x06\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf0\x02\x03\x05\x1e\xf1\x0a\x00\x19\x24\xa0\x4c\xd3\x18\x31\xd1\x04\x15", }; static - struct _PyCode_DEF(84) + struct _PyCode_DEF(64) _collections_abc_toplevel_consts_40 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 42, + .ob_size = 32, }, .co_consts = & _collections_abc_toplevel_consts_40_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_40_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 388, + .co_firstlineno = 414, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 420, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Container._ascii.ob_base, .co_qualname = & const_str_Container._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_40_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x06\x65\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x06\x65\x08\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x09\x79\x04", ._co_firsttraceable = 0, }; static @@ -79972,7 +77456,7 @@ _collections_abc_toplevel_consts_42_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -79997,7 +77481,7 @@ _collections_abc_toplevel_consts_42_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -80017,7 +77501,7 @@ static _collections_abc_toplevel_consts_42_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -80026,7 +77510,7 @@ _collections_abc_toplevel_consts_42_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Collection.__subclasshook__", @@ -80035,54 +77519,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[40]; + char ob_sval[34]; } _collections_abc_toplevel_consts_42_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 39, + .ob_size = 33, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x2a\xd0\x0b\x1c\xd0\x0b\x1c\xdd\x13\x21\xa0\x21\xa0\x69\xb0\x1a\xb8\x5e\xd1\x13\x4c\xd4\x13\x4c\xd0\x0c\x4c\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x2a\xd1\x0b\x1c\xdc\x13\x21\xa0\x21\xa0\x69\xb0\x1a\xb8\x5e\xd3\x13\x4c\xd0\x0c\x4c\xdc\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(70) + struct _PyCode_DEF(58) _collections_abc_toplevel_consts_42_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 35, + .ob_size = 29, }, .co_consts = & _collections_abc_toplevel_consts_42_consts_2_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_42_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 409, + .co_firstlineno = 435, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 421, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), .co_qualname = & _collections_abc_toplevel_consts_42_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_42_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x12\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\x64\x03\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0e\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x64\x02\x64\x03\xab\x04\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -80097,7 +77579,7 @@ _collections_abc_toplevel_consts_42_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -80122,7 +77604,7 @@ _collections_abc_toplevel_consts_42_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -80141,54 +77623,381 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[51]; + char ob_sval[26]; } _collections_abc_toplevel_consts_42_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 50, + .ob_size = 25, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x10\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf0\x00\x03\x05\x1e", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x10\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf1\x02\x03\x05\x1e", }; static - struct _PyCode_DEF(40) + struct _PyCode_DEF(32) _collections_abc_toplevel_consts_42 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 20, + .ob_size = 16, }, .co_consts = & _collections_abc_toplevel_consts_42_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_consts_42_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 405, + .co_firstlineno = 431, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 422, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Collection._ascii.ob_base, .co_qualname = & const_str_Collection._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_42_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x79\x03", + ._co_firsttraceable = 0, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[18]; + } +_collections_abc_toplevel_consts_44_consts_4_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 17, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "Buffer.__buffer__", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[9]; + } +_collections_abc_toplevel_consts_44_consts_4_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 8, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xe4\x0e\x21\xd0\x08\x21", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +_collections_abc_toplevel_consts_44_consts_4_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + &_Py_ID(self), + &_Py_ID(flags), + }, + }, +}; +static + struct _PyCode_DEF(14) +_collections_abc_toplevel_consts_44_consts_4 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 7, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 2, + .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, + .co_stacksize = 1, + .co_firstlineno = 446, + .co_nlocalsplus = 2, + .co_nlocals = 2, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 423, + .co_localsplusnames = & _collections_abc_toplevel_consts_44_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, + .co_name = &_Py_ID(__buffer__), + .co_qualname = & _collections_abc_toplevel_consts_44_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_44_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + ._co_firsttraceable = 0, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +_collections_abc_toplevel_consts_44_consts_5_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + Py_None, + &_Py_ID(__buffer__), + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +_collections_abc_toplevel_consts_44_consts_5_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + & const_str_Buffer._ascii.ob_base, + & const_str__check_methods._ascii.ob_base, + & const_str_NotImplemented._ascii.ob_base, + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[24]; + } +_collections_abc_toplevel_consts_44_consts_5_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 23, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "Buffer.__subclasshook__", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[29]; + } +_collections_abc_toplevel_consts_44_consts_5_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 28, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x26\x89\x3d\xdc\x13\x21\xa0\x21\xa0\x5c\xd3\x13\x32\xd0\x0c\x32\xdc\x0f\x1d\xd0\x08\x1d", +}; +static + struct _PyCode_DEF(54) +_collections_abc_toplevel_consts_44_consts_5 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 27, + }, + .co_consts = & _collections_abc_toplevel_consts_44_consts_5_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_44_consts_5_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 450, + .co_nlocalsplus = 2, + .co_nlocals = 2, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 424, + .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, + .co_name = &_Py_ID(__subclasshook__), + .co_qualname = & _collections_abc_toplevel_consts_44_consts_5_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_44_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_firsttraceable = 0, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[7]; + }_object; + } +_collections_abc_toplevel_consts_44_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 7, + }, + .ob_item = { + & const_str_Buffer._ascii.ob_base, + (PyObject *)& _Py_SINGLETON(tuple_empty), + &_Py_ID(flags), + &_Py_ID(return), + & _collections_abc_toplevel_consts_44_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_44_consts_5.ob_base.ob_base, + Py_None, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[10]; + }_object; + } +_collections_abc_toplevel_consts_44_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 10, + }, + .ob_item = { + &_Py_ID(__name__), + &_Py_ID(__module__), + &_Py_ID(__qualname__), + &_Py_ID(__slots__), + & const_str_abstractmethod._ascii.ob_base, + & const_str_int._ascii.ob_base, + & const_str_memoryview._ascii.ob_base, + &_Py_ID(__buffer__), + & const_str_classmethod._ascii.ob_base, + &_Py_ID(__subclasshook__), + }, + }, +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[60]; + } +_collections_abc_toplevel_consts_44_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 59, + }, + .ob_shash = -1, + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x01\x05\x22\xa0\x03\xf0\x00\x01\x05\x22\xa8\x3a\xf2\x00\x01\x05\x22\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x22\xf0\x06\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf1\x02\x03\x05\x1e", +}; +static + struct _PyCode_DEF(58) +_collections_abc_toplevel_consts_44 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 29, + }, + .co_consts = & _collections_abc_toplevel_consts_44_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_44_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 0, + .co_argcount = 0, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 442, + .co_nlocalsplus = 0, + .co_nlocals = 0, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 425, + .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, + .co_name = & const_str_Buffer._ascii.ob_base, + .co_qualname = & const_str_Buffer._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_44_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x65\x05\x64\x03\x65\x06\x66\x04\x64\x04\x84\x04\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x65\x08\x64\x05\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x79\x06", ._co_firsttraceable = 0, }; static @@ -80199,7 +78008,7 @@ static const_str__CallableGenericAlias = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -80208,7 +78017,7 @@ const_str__CallableGenericAlias = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_CallableGenericAlias", @@ -80218,10 +78027,10 @@ static PyASCIIObject _ascii; uint8_t _data[253]; } -_collections_abc_toplevel_consts_44_consts_1 = { +_collections_abc_toplevel_consts_46_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 252, @@ -80230,7 +78039,7 @@ _collections_abc_toplevel_consts_44_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x52\x65\x70\x72\x65\x73\x65\x6e\x74\x20\x60\x43\x61\x6c\x6c\x61\x62\x6c\x65\x5b\x61\x72\x67\x74\x79\x70\x65\x73\x2c\x20\x72\x65\x73\x75\x6c\x74\x74\x79\x70\x65\x5d\x60\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x73\x65\x74\x73\x20\x60\x60\x5f\x5f\x61\x72\x67\x73\x5f\x5f\x60\x60\x20\x74\x6f\x20\x61\x20\x74\x75\x70\x6c\x65\x20\x63\x6f\x6e\x74\x61\x69\x6e\x69\x6e\x67\x20\x74\x68\x65\x20\x66\x6c\x61\x74\x74\x65\x6e\x65\x64\x20\x60\x60\x61\x72\x67\x74\x79\x70\x65\x73\x60\x60\x0a\x20\x20\x20\x20\x66\x6f\x6c\x6c\x6f\x77\x65\x64\x20\x62\x79\x20\x60\x60\x72\x65\x73\x75\x6c\x74\x74\x79\x70\x65\x60\x60\x2e\x0a\x0a\x20\x20\x20\x20\x45\x78\x61\x6d\x70\x6c\x65\x3a\x20\x60\x60\x43\x61\x6c\x6c\x61\x62\x6c\x65\x5b\x5b\x69\x6e\x74\x2c\x20\x73\x74\x72\x5d\x2c\x20\x66\x6c\x6f\x61\x74\x5d\x60\x60\x20\x73\x65\x74\x73\x20\x60\x60\x5f\x5f\x61\x72\x67\x73\x5f\x5f\x60\x60\x20\x74\x6f\x0a\x20\x20\x20\x20\x60\x60\x28\x69\x6e\x74\x2c\x20\x73\x74\x72\x2c\x20\x66\x6c\x6f\x61\x74\x29\x60\x60\x2e\x0a\x20\x20\x20\x20", @@ -80240,10 +78049,10 @@ static PyASCIIObject _ascii; uint8_t _data[55]; } -_collections_abc_toplevel_consts_44_consts_3_consts_2 = { +_collections_abc_toplevel_consts_46_consts_3_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 54, @@ -80252,7 +78061,7 @@ _collections_abc_toplevel_consts_44_consts_3_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Callable must be used as Callable[[arg, ...], result].", @@ -80262,10 +78071,10 @@ static PyASCIIObject _ascii; uint8_t _data[71]; } -_collections_abc_toplevel_consts_44_consts_3_consts_3 = { +_collections_abc_toplevel_consts_46_consts_3_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 70, @@ -80274,7 +78083,7 @@ _collections_abc_toplevel_consts_44_consts_3_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Expected a list of types, an ellipsis, ParamSpec, or Concatenate. Got ", @@ -80287,11 +78096,11 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_44_consts_3_consts = { +_collections_abc_toplevel_consts_46_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -80299,8 +78108,8 @@ _collections_abc_toplevel_consts_44_consts_3_consts = { .ob_item = { Py_None, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - & _collections_abc_toplevel_consts_44_consts_3_consts_2._ascii.ob_base, - & _collections_abc_toplevel_consts_44_consts_3_consts_3._ascii.ob_base, + & _collections_abc_toplevel_consts_46_consts_3_consts_2._ascii.ob_base, + & _collections_abc_toplevel_consts_46_consts_3_consts_3._ascii.ob_base, }, }, }; @@ -80312,7 +78121,7 @@ static const_str__is_param_expr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -80321,7 +78130,7 @@ const_str__is_param_expr = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_is_param_expr", @@ -80334,11 +78143,11 @@ static PyObject *ob_item[8]; }_object; } -_collections_abc_toplevel_consts_44_consts_3_names = { +_collections_abc_toplevel_consts_46_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -80360,10 +78169,10 @@ static PyASCIIObject _ascii; uint8_t _data[30]; } -_collections_abc_toplevel_consts_44_consts_3_qualname = { +_collections_abc_toplevel_consts_46_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 29, @@ -80372,7 +78181,7 @@ _collections_abc_toplevel_consts_44_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_CallableGenericAlias.__new__", @@ -80381,18 +78190,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[199]; + char ob_sval[139]; } -_collections_abc_toplevel_consts_44_consts_3_linetable = { +_collections_abc_toplevel_consts_46_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 198, + .ob_size = 138, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xdd\x10\x1a\x98\x34\xa5\x15\xd1\x10\x27\xd4\x10\x27\xf0\x00\x02\x09\x4a\x01\xad\x43\xb0\x04\xa9\x49\xac\x49\xb8\x11\xaa\x4e\xa8\x4e\xdd\x12\x1b\xd8\x10\x48\xf1\x03\x01\x13\x4a\x01\xf4\x00\x01\x13\x4a\x01\xf0\x00\x01\x0d\x4a\x01\xe0\x1b\x1f\xd1\x08\x18\x88\x06\x90\x08\xdd\x0b\x15\x90\x66\x9d\x75\xa5\x64\x98\x6d\xd1\x0b\x2c\xd4\x0b\x2c\xf0\x00\x04\x09\x48\x01\xd8\x13\x26\x90\x56\xd0\x13\x26\x98\x58\xd0\x13\x26\xd0\x13\x26\x88\x44\x88\x44\xdd\x11\x1f\xa0\x06\xd1\x11\x27\xd4\x11\x27\xf0\x00\x02\x09\x48\x01\xdd\x12\x1b\xf0\x00\x01\x1d\x47\x01\xd8\x3e\x44\xf0\x03\x01\x1d\x47\x01\xf0\x00\x01\x1d\x47\x01\xf1\x00\x01\x13\x48\x01\xf4\x00\x01\x13\x48\x01\xf0\x00\x01\x0d\x48\x01\xe5\x0f\x14\x89\x77\x8c\x77\x8f\x7f\x8a\x7f\x98\x73\xa0\x46\xa8\x44\xd1\x0f\x31\xd4\x0f\x31\xd0\x08\x31", + .ob_sval = "\xf8\x80\x00\xdc\x10\x1a\x98\x34\xa4\x15\xd4\x10\x27\xac\x43\xb0\x04\xab\x49\xb8\x11\xaa\x4e\xdc\x12\x1b\xd8\x10\x48\xf3\x03\x01\x13\x4a\x01\xf0\x00\x01\x0d\x4a\x01\xe0\x1b\x1f\xd1\x08\x18\x88\x06\x90\x08\xdc\x0b\x15\x90\x66\x9c\x75\xa4\x64\x98\x6d\xd4\x0b\x2c\xd8\x13\x26\x90\x56\xd0\x13\x26\x98\x58\xd1\x13\x26\x89\x44\xdc\x11\x1f\xa0\x06\xd4\x11\x27\xdc\x12\x1b\xf0\x00\x01\x1f\x3e\xd8\x3e\x44\xb8\x58\xf0\x03\x01\x1d\x47\x01\xf3\x00\x01\x13\x48\x01\xf0\x00\x01\x0d\x48\x01\xe4\x0f\x14\x89\x77\x89\x7f\x98\x73\xa0\x46\xa8\x44\xd3\x0f\x31\xd0\x08\x31", }; static struct { @@ -80402,7 +78211,7 @@ static const_str_t_args = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -80411,7 +78220,7 @@ const_str_t_args = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "t_args", @@ -80424,7 +78233,7 @@ static const_str_t_result = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -80433,7 +78242,7 @@ const_str_t_result = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "t_result", @@ -80446,19 +78255,19 @@ static PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_44_consts_3_localsplusnames = { +_collections_abc_toplevel_consts_46_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { & const_str_cls._ascii.ob_base, - & const_str_origin._ascii.ob_base, - & const_str_args._ascii.ob_base, + &_Py_ID(origin), + &_Py_ID(args), & const_str_t_args._ascii.ob_base, & const_str_t_result._ascii.ob_base, &_Py_ID(__class__), @@ -80471,10 +78280,10 @@ static Py_hash_t ob_shash; char ob_sval[7]; } -_collections_abc_toplevel_consts_44_consts_3_localspluskinds = { +_collections_abc_toplevel_consts_46_consts_3_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 6, @@ -80483,40 +78292,38 @@ _collections_abc_toplevel_consts_44_consts_3_localspluskinds = { .ob_sval = "\x20\x20\x20\x20\x20\x80", }; static - struct _PyCode_DEF(332) -_collections_abc_toplevel_consts_44_consts_3 = { + struct _PyCode_DEF(240) +_collections_abc_toplevel_consts_46_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 166, + .ob_size = 120, }, - .co_consts = & _collections_abc_toplevel_consts_44_consts_3_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_44_consts_3_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_46_consts_3_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_46_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 428, + .co_firstlineno = 469, .co_nlocalsplus = 6, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & _collections_abc_toplevel_consts_44_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & _collections_abc_toplevel_consts_44_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 426, + .co_localsplusnames = & _collections_abc_toplevel_consts_46_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & _collections_abc_toplevel_consts_46_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__new__), - .co_qualname = & _collections_abc_toplevel_consts_44_consts_3_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_44_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x13\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x73\x0f\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x02\x5c\x02\x00\x00\x7d\x03\x7d\x04\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x08\x67\x00\x7c\x03\xa2\x01\x7c\x04\x91\x01\x52\x00\x7d\x02\x6e\x21\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x12\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x03\x9b\x00\x9d\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_46_consts_3_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_46_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x0e\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x28\x00\x00\x73\x0b\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x02\x5c\x02\x00\x00\x7d\x03\x7d\x04\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xab\x02\x00\x00\x00\x00\x00\x00\x72\x08\x67\x00\x7c\x03\xa2\x01\x7c\x04\x91\x01\xad\x06\x7d\x02\x6e\x19\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x73\x0e\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x03\x9b\x00\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x89\x05\x7c\x00\x8d\x1d\x00\x00\x7c\x00\x7c\x01\x7c\x02\xab\x03\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -80524,10 +78331,10 @@ static PyASCIIObject _ascii; uint8_t _data[27]; } -_collections_abc_toplevel_consts_44_consts_4_consts_3 = { +_collections_abc_toplevel_consts_46_consts_4_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -80536,7 +78343,7 @@ _collections_abc_toplevel_consts_44_consts_4_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "collections.abc.Callable[[", @@ -80544,241 +78351,75 @@ _collections_abc_toplevel_consts_44_consts_4_consts_3 = { static struct { PyASCIIObject _ascii; - uint8_t _data[11]; - } -const_str__type_repr = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 10, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "_type_repr", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[1]; - }_object; - } -_collections_abc_toplevel_consts_44_consts_4_consts_5_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 1, - }, - .ob_item = { - & const_str__type_repr._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[51]; - } -_collections_abc_toplevel_consts_44_consts_4_consts_5_qualname = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 50, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "_CallableGenericAlias.__repr__..", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[31]; - } -_collections_abc_toplevel_consts_44_consts_4_consts_5_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 30, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xd0\x1f\x4a\xd0\x1f\x4a\xd0\x1f\x4a\xb0\x21\xa5\x0a\xa8\x31\xa1\x0d\xa4\x0d\xd0\x1f\x4a\xd0\x1f\x4a\xd0\x1f\x4a", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; + uint8_t _data[4]; } -const_str_a = { +_collections_abc_toplevel_consts_46_consts_4_consts_6 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 1, + .length = 3, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "a", + ._data = "], ", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[8]; }_object; } -_collections_abc_toplevel_consts_44_consts_4_consts_5_localsplusnames = { +_collections_abc_toplevel_consts_46_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 8, }, .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_a._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(44) -_collections_abc_toplevel_consts_44_consts_4_consts_5 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 22, - }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = & _collections_abc_toplevel_consts_44_consts_4_consts_5_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 444, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_44_consts_4_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & _collections_abc_toplevel_consts_44_consts_4_consts_5_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_44_consts_4_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7c\x00\x5d\x11\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x12\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[4]; - } -_collections_abc_toplevel_consts_44_consts_4_consts_7 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 3, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + Py_None, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & _collections_abc_toplevel_consts_46_consts_4_consts_3._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_30_consts_5_consts_6._ascii.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], + & _collections_abc_toplevel_consts_46_consts_4_consts_6._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[93], }, }, - ._data = "], ", }; static struct { PyASCIIObject _ascii; - uint8_t _data[2]; + uint8_t _data[11]; } -_collections_abc_toplevel_consts_44_consts_4_consts_8 = { +const_str__type_repr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 1, + .length = 10, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, - }, - }, - ._data = "]", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[9]; - }_object; - } -_collections_abc_toplevel_consts_44_consts_4_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 9, - }, - .ob_item = { - Py_None, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & _collections_abc_toplevel_consts_44_consts_4_consts_3._ascii.ob_base, - &_Py_STR(comma_sep), - & _collections_abc_toplevel_consts_44_consts_4_consts_5.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], - & _collections_abc_toplevel_consts_44_consts_4_consts_7._ascii.ob_base, - & _collections_abc_toplevel_consts_44_consts_4_consts_8._ascii.ob_base, + .statically_allocated = 1, }, }, + ._data = "_type_repr", }; static struct { @@ -80788,11 +78429,11 @@ static PyObject *ob_item[7]; }_object; } -_collections_abc_toplevel_consts_44_consts_4_names = { +_collections_abc_toplevel_consts_46_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -80813,10 +78454,10 @@ static PyASCIIObject _ascii; uint8_t _data[31]; } -_collections_abc_toplevel_consts_44_consts_4_qualname = { +_collections_abc_toplevel_consts_46_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -80825,7 +78466,7 @@ _collections_abc_toplevel_consts_44_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_CallableGenericAlias.__repr__", @@ -80834,94 +78475,93 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[161]; + char ob_sval[134]; } -_collections_abc_toplevel_consts_44_consts_4_linetable = { +_collections_abc_toplevel_consts_46_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 160, + .ob_size = 133, + }, + .ob_shash = -1, + .ob_sval = "\xf8\x80\x00\xdc\x0b\x0e\x88\x74\x8f\x7d\x89\x7d\xd3\x0b\x1d\xa0\x11\xd2\x0b\x22\xa4\x7e\xb0\x64\xb7\x6d\xb1\x6d\xc0\x41\xd1\x36\x46\xd4\x27\x47\xdc\x13\x18\x91\x37\xd1\x13\x23\xd3\x13\x25\xd0\x0c\x25\xf0\x02\x01\x13\x15\xd8\x15\x19\x97\x59\x91\x59\xb0\x74\xb7\x7d\xb1\x7d\xc0\x53\xc0\x62\xd0\x37\x49\xd6\x1f\x4a\xb0\x21\xa4\x0a\xa8\x31\xa5\x0d\xd2\x1f\x4a\xd3\x15\x4b\xd0\x14\x4c\xc8\x43\xdc\x13\x1d\x98\x64\x9f\x6d\x99\x6d\xa8\x42\xd1\x1e\x2f\xd3\x13\x30\xd0\x12\x31\xb0\x11\xf0\x05\x02\x11\x34\xf0\x00\x02\x09\x35\xf9\xda\x1f\x4a", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[7]; + } +_collections_abc_toplevel_consts_46_consts_4_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 6, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xdd\x0b\x0e\x88\x74\x8c\x7d\xd1\x0b\x1d\xd4\x0b\x1d\xa0\x11\xd2\x0b\x22\xd0\x0b\x22\xa5\x7e\xb0\x64\xb4\x6d\xc0\x41\xd4\x36\x46\xd1\x27\x47\xd4\x27\x47\xd0\x0b\x22\xdd\x13\x18\x91\x37\x94\x37\xd7\x13\x23\xd2\x13\x23\xd1\x13\x25\xd4\x13\x25\xd0\x0c\x25\xf0\x02\x02\x11\x34\xd8\x15\x19\x97\x59\x92\x59\xd0\x1f\x4a\xd0\x1f\x4a\xb0\x74\xb4\x7d\xc0\x53\xc0\x62\xc0\x53\xd4\x37\x49\xd0\x1f\x4a\xd1\x1f\x4a\xd4\x1f\x4a\xd1\x15\x4b\xd4\x15\x4b\xf0\x03\x02\x11\x34\xf0\x00\x02\x11\x34\xe5\x13\x1d\x98\x64\x9c\x6d\xa8\x42\xd4\x1e\x2f\xd1\x13\x30\xd4\x13\x30\xf0\x05\x02\x11\x34\xf0\x00\x02\x11\x34\xf0\x00\x02\x11\x34\xf0\x00\x02\x09\x35", + .ob_sval = "\xc1\x1d\x12\x42\x12\x0a", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_44_consts_4_localsplusnames = { +_collections_abc_toplevel_consts_46_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(a), &_Py_ID(__class__), }, }, }; static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[3]; - } -_collections_abc_toplevel_consts_44_consts_4_localspluskinds = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 2, - }, - .ob_shash = -1, - .ob_sval = "\x20\x80", -}; -static - struct _PyCode_DEF(318) -_collections_abc_toplevel_consts_44_consts_4 = { + struct _PyCode_DEF(302) +_collections_abc_toplevel_consts_46_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 159, + .ob_size = 151, }, - .co_consts = & _collections_abc_toplevel_consts_44_consts_4_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_44_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_consts = & _collections_abc_toplevel_consts_46_consts_4_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_46_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_46_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 7, - .co_firstlineno = 440, - .co_nlocalsplus = 2, - .co_nlocals = 1, - .co_nplaincellvars = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, + .co_stacksize = 9, + .co_firstlineno = 481, + .co_nlocalsplus = 3, + .co_nlocals = 2, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & _collections_abc_toplevel_consts_44_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & _collections_abc_toplevel_consts_44_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 427, + .co_localsplusnames = & _collections_abc_toplevel_consts_46_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__repr__), - .co_qualname = & _collections_abc_toplevel_consts_44_consts_4_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_44_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x3a\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x20\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x64\x03\x64\x04\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x84\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x64\x06\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x07\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x08\x9d\x05\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_46_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_46_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x28\x00\x00\x72\x26\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x72\x0e\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x89\x02\x7c\x00\x8d\x11\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x53\x00\x64\x03\x64\x04\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x64\x05\x1a\x00\x44\x00\x8f\x01\x63\x02\x67\x00\x63\x02\x5d\x0d\x00\x00\x7d\x01\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x0f\x04\x00\x63\x02\x7d\x01\xab\x01\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x06\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x07\x9d\x05\x53\x00\x63\x02\x01\x00\x63\x02\x7d\x01\x77\x00", ._co_firsttraceable = 1, }; static @@ -80932,11 +78572,11 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_44_consts_5_consts = { +_collections_abc_toplevel_consts_46_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -80957,11 +78597,11 @@ static PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_44_consts_5_names = { +_collections_abc_toplevel_consts_46_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -80981,10 +78621,10 @@ static PyASCIIObject _ascii; uint8_t _data[33]; } -_collections_abc_toplevel_consts_44_consts_5_qualname = { +_collections_abc_toplevel_consts_46_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 32, @@ -80993,7 +78633,7 @@ _collections_abc_toplevel_consts_44_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_CallableGenericAlias.__reduce__", @@ -81002,54 +78642,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[85]; + char ob_sval[74]; } -_collections_abc_toplevel_consts_44_consts_5_linetable = { +_collections_abc_toplevel_consts_46_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 84, + .ob_size = 73, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x13\x8c\x7d\x88\x04\xdd\x10\x13\x90\x44\x91\x09\x94\x09\x98\x51\x92\x0e\x90\x0e\xa5\x3e\xb0\x24\xb0\x71\xb4\x27\xd1\x23\x3a\xd4\x23\x3a\x90\x0e\xdd\x13\x17\x98\x04\x98\x53\x98\x62\x98\x53\x9c\x09\x91\x3f\x94\x3f\xa0\x44\xa8\x12\xa4\x48\xd0\x13\x2c\x88\x44\xdd\x0f\x24\xa5\x78\xb0\x14\xd0\x26\x36\xd0\x0f\x36\xd0\x08\x36", + .ob_sval = "\x80\x00\xd8\x0f\x13\x8f\x7d\x89\x7d\x88\x04\xdc\x10\x13\x90\x44\x93\x09\x98\x51\x92\x0e\xa4\x3e\xb0\x24\xb0\x71\xb1\x27\xd4\x23\x3a\xdc\x13\x17\x98\x04\x98\x53\x98\x62\x98\x09\x93\x3f\xa0\x44\xa8\x12\xa1\x48\xd0\x13\x2c\x88\x44\xdc\x0f\x24\xa4\x78\xb0\x14\xd0\x26\x36\xd0\x0f\x36\xd0\x08\x36", }; static - struct _PyCode_DEF(190) -_collections_abc_toplevel_consts_44_consts_5 = { + struct _PyCode_DEF(148) +_collections_abc_toplevel_consts_46_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 95, + .ob_size = 74, }, - .co_consts = & _collections_abc_toplevel_consts_44_consts_5_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_44_consts_5_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_46_consts_5_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_46_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 447, + .co_firstlineno = 488, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 428, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_5_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__reduce__), - .co_qualname = & _collections_abc_toplevel_consts_44_consts_5_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_44_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x15\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x1f\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x00\x64\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x03\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x7d\x01\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x66\x02\x66\x02\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_46_consts_5_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_46_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x28\x00\x00\x72\x0e\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x02\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x73\x13\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x00\x64\x03\x1a\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x03\x19\x00\x00\x00\x66\x02\x7d\x01\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x66\x02\x66\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -81057,21 +78695,20 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_44_consts_6_consts = { +_collections_abc_toplevel_consts_46_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 3, }, .ob_item = { Py_None, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], }, @@ -81082,24 +78719,21 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[11]; + PyObject *ob_item[8]; }_object; } -_collections_abc_toplevel_consts_44_consts_6_names = { +_collections_abc_toplevel_consts_46_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 11, + .ob_size = 8, }, .ob_item = { &_Py_ID(isinstance), & const_str_tuple._ascii.ob_base, - &_Py_ID(len), - &_Py_ID(__parameters__), - & const_str__is_param_expr._ascii.ob_base, & const_str_super._ascii.ob_base, &_Py_ID(__getitem__), &_Py_ID(__args__), @@ -81114,10 +78748,10 @@ static PyASCIIObject _ascii; uint8_t _data[34]; } -_collections_abc_toplevel_consts_44_consts_6_qualname = { +_collections_abc_toplevel_consts_46_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 33, @@ -81126,7 +78760,7 @@ _collections_abc_toplevel_consts_44_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_CallableGenericAlias.__getitem__", @@ -81135,18 +78769,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[224]; + char ob_sval[111]; } -_collections_abc_toplevel_consts_44_consts_6_linetable = { +_collections_abc_toplevel_consts_46_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 223, + .ob_size = 110, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf5\x0c\x00\x10\x1a\x98\x24\xa5\x05\xd1\x0f\x26\xd4\x0f\x26\xf0\x00\x01\x09\x1b\xd8\x14\x18\x90\x37\x88\x44\xf5\x06\x00\x0d\x10\x90\x04\xd4\x10\x23\xd1\x0c\x24\xd4\x0c\x24\xa8\x01\xd2\x0c\x29\xd0\x0c\x29\xdd\x14\x22\xa0\x34\xd4\x23\x36\xb0\x71\xd4\x23\x39\xd1\x14\x3a\xd4\x14\x3a\xf0\x03\x00\x0d\x2a\xe0\x14\x18\xf0\x05\x00\x0d\x2a\xe5\x21\x2f\xb0\x04\xb0\x51\xb4\x07\xd1\x21\x38\xd4\x21\x38\xf0\x05\x00\x0d\x2a\xf0\x06\x00\x15\x19\x90\x37\x88\x44\xe5\x13\x18\x91\x37\x94\x37\xd7\x13\x26\xd2\x13\x26\xa0\x74\xd1\x13\x2c\xd4\x13\x2c\xd4\x13\x35\x88\x08\xf5\x06\x00\x10\x1a\x98\x28\xa0\x31\x9c\x2b\xad\x05\xad\x74\xa0\x7d\xd1\x0f\x35\xd4\x0f\x35\xf0\x00\x03\x09\x2a\xd8\x17\x1f\xa0\x02\x94\x7c\x88\x48\xd8\x15\x1d\x98\x63\x98\x72\x98\x63\x94\x5d\x88\x46\xd8\x18\x1e\xa0\x08\xd0\x17\x29\x88\x48\xdd\x0f\x24\xa5\x58\xad\x75\xb0\x58\xa9\x7f\xac\x7f\xd1\x0f\x3f\xd4\x0f\x3f\xd0\x08\x3f", + .ob_sval = "\xf8\x80\x00\xf4\x0a\x00\x10\x1a\x98\x24\xa4\x05\xd4\x0f\x26\xd8\x14\x18\x90\x37\x88\x44\xe4\x13\x18\x91\x37\xd1\x13\x26\xa0\x74\xd3\x13\x2c\xd7\x13\x35\xd1\x13\x35\x88\x08\xf4\x06\x00\x10\x1a\x98\x28\xa0\x31\x99\x2b\xac\x05\xac\x74\xa0\x7d\xd4\x0f\x35\xd8\x17\x1f\xa0\x02\x91\x7c\x88\x48\xd8\x15\x1d\x98\x63\x98\x72\x90\x5d\x88\x46\xd8\x18\x1e\xa0\x08\xd0\x17\x29\x88\x48\xdc\x0f\x24\xa4\x58\xac\x75\xb0\x58\xab\x7f\xd3\x0f\x3f\xd0\x08\x3f", }; static struct { @@ -81156,7 +78790,7 @@ static const_str_new_args = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -81165,7 +78799,7 @@ const_str_new_args = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "new_args", @@ -81178,18 +78812,18 @@ static PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_44_consts_6_localsplusnames = { +_collections_abc_toplevel_consts_46_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_item._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(item), & const_str_new_args._ascii.ob_base, & const_str_t_result._ascii.ob_base, & const_str_t_args._ascii.ob_base, @@ -81198,40 +78832,38 @@ _collections_abc_toplevel_consts_44_consts_6_localsplusnames = { }, }; static - struct _PyCode_DEF(460) -_collections_abc_toplevel_consts_44_consts_6 = { + struct _PyCode_DEF(220) +_collections_abc_toplevel_consts_46_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 230, + .ob_size = 110, }, - .co_consts = & _collections_abc_toplevel_consts_44_consts_6_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_44_consts_6_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_46_consts_6_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_46_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 453, + .co_firstlineno = 494, .co_nlocalsplus = 6, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & _collections_abc_toplevel_consts_44_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & _collections_abc_toplevel_consts_44_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 429, + .co_localsplusnames = & _collections_abc_toplevel_consts_46_consts_6_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & _collections_abc_toplevel_consts_46_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__getitem__), - .co_qualname = & _collections_abc_toplevel_consts_44_consts_6_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_44_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x03\x7c\x01\x66\x01\x7d\x01\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x34\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1a\x7c\x01\x72\x18\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x03\x7c\x01\x66\x01\x7d\x01\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x16\x7c\x02\x64\x03\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x02\x64\x00\x64\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x7c\x03\x66\x02\x7d\x02\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_46_consts_6_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_46_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x03\x7c\x01\x66\x01\x7d\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x89\x05\x7c\x00\x8d\x0d\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x01\x19\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xab\x02\x00\x00\x00\x00\x00\x00\x73\x0e\x7c\x02\x64\x02\x19\x00\x00\x00\x7d\x03\x7c\x02\x64\x00\x64\x02\x1a\x00\x7d\x04\x7c\x04\x7c\x03\x66\x02\x7d\x02\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -81242,23 +78874,23 @@ static PyObject *ob_item[7]; }_object; } -_collections_abc_toplevel_consts_44_consts = { +_collections_abc_toplevel_consts_46_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { & const_str__CallableGenericAlias._ascii.ob_base, - & _collections_abc_toplevel_consts_44_consts_1._ascii.ob_base, + & _collections_abc_toplevel_consts_46_consts_1._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), - & _collections_abc_toplevel_consts_44_consts_3.ob_base.ob_base, - & _collections_abc_toplevel_consts_44_consts_4.ob_base.ob_base, - & _collections_abc_toplevel_consts_44_consts_5.ob_base.ob_base, - & _collections_abc_toplevel_consts_44_consts_6.ob_base.ob_base, + & _collections_abc_toplevel_consts_46_consts_3.ob_base.ob_base, + & _collections_abc_toplevel_consts_46_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_46_consts_5.ob_base.ob_base, + & _collections_abc_toplevel_consts_46_consts_6.ob_base.ob_base, }, }, }; @@ -81270,11 +78902,11 @@ static PyObject *ob_item[10]; }_object; } -_collections_abc_toplevel_consts_44_names = { +_collections_abc_toplevel_consts_46_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -81297,53 +78929,51 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[148]; + char ob_sval[43]; } -_collections_abc_toplevel_consts_44_linetable = { +_collections_abc_toplevel_consts_46_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 147, + .ob_size = 42, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x07\x05\x08\xf0\x00\x07\x05\x08\xf0\x12\x00\x11\x13\x80\x49\xf0\x04\x0a\x05\x32\xf0\x00\x0a\x05\x32\xf0\x00\x0a\x05\x32\xf0\x00\x0a\x05\x32\xf0\x00\x0a\x05\x32\xf0\x18\x05\x05\x35\xf0\x00\x05\x05\x35\xf0\x00\x05\x05\x35\xf0\x00\x05\x05\x35\xf0\x00\x05\x05\x35\xf0\x0e\x04\x05\x37\xf0\x00\x04\x05\x37\xf0\x00\x04\x05\x37\xf0\x0c\x16\x05\x40\x01\xf0\x00\x16\x05\x40\x01\xf0\x00\x16\x05\x40\x01\xf0\x00\x16\x05\x40\x01\xf0\x00\x16\x05\x40\x01\xf0\x00\x16\x05\x40\x01\xf0\x00\x16\x05\x40\x01\xf0\x00\x16\x05\x40\x01\xf0\x00\x16\x05\x40\x01", + .ob_sval = "\xf8\x84\x00\xf1\x02\x07\x05\x08\xf0\x12\x00\x11\x13\x80\x49\xf4\x04\x0a\x05\x32\xf4\x18\x05\x05\x35\xf2\x0e\x04\x05\x37\xf7\x0c\x0f\x05\x40\x01\xf0\x00\x0f\x05\x40\x01", }; static struct _PyCode_DEF(64) -_collections_abc_toplevel_consts_44 = { +_collections_abc_toplevel_consts_46 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 32, }, - .co_consts = & _collections_abc_toplevel_consts_44_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_44_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_46_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_46_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 416, + .co_firstlineno = 457, .co_nlocalsplus = 1, .co_nlocals = 0, - .co_nplaincellvars = 1, .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_localsplusnames._object.ob_base.ob_base, + .co_version = 430, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[64]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__CallableGenericAlias._ascii.ob_base, .co_qualname = & const_str__CallableGenericAlias._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_44_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_linetable = & _collections_abc_toplevel_consts_46_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x87\x00\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x88\x00\x66\x01\x64\x03\x84\x08\x5a\x05\x88\x00\x66\x01\x64\x04\x84\x08\x5a\x06\x64\x05\x84\x00\x5a\x07\x88\x00\x66\x01\x64\x06\x84\x08\x5a\x08\x88\x00\x78\x01\x5a\x09\x53\x00", ._co_firsttraceable = 1, }; @@ -81352,10 +78982,10 @@ static PyASCIIObject _ascii; uint8_t _data[125]; } -_collections_abc_toplevel_consts_46_consts_0 = { +_collections_abc_toplevel_consts_48_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 124, @@ -81364,7 +78994,7 @@ _collections_abc_toplevel_consts_46_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x43\x68\x65\x63\x6b\x73\x20\x69\x66\x20\x6f\x62\x6a\x20\x6d\x61\x74\x63\x68\x65\x73\x20\x65\x69\x74\x68\x65\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x74\x79\x70\x65\x73\x2c\x20\x60\x60\x2e\x2e\x2e\x60\x60\x2c\x20\x60\x60\x50\x61\x72\x61\x6d\x53\x70\x65\x63\x60\x60\x20\x6f\x72\x0a\x20\x20\x20\x20\x60\x60\x5f\x43\x6f\x6e\x63\x61\x74\x65\x6e\x61\x74\x65\x47\x65\x6e\x65\x72\x69\x63\x41\x6c\x69\x61\x73\x60\x60\x20\x66\x72\x6f\x6d\x20\x74\x79\x70\x69\x6e\x67\x2e\x70\x79\x0a\x20\x20\x20\x20", @@ -81377,7 +79007,7 @@ static const_str_ParamSpec = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -81386,7 +79016,7 @@ const_str_ParamSpec = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ParamSpec", @@ -81399,7 +79029,7 @@ static const_str__ConcatenateGenericAlias = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -81408,7 +79038,7 @@ const_str__ConcatenateGenericAlias = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_ConcatenateGenericAlias", @@ -81421,11 +79051,11 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_46_consts_2 = { +_collections_abc_toplevel_consts_48_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -81444,7 +79074,7 @@ static const_str_typing = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -81453,7 +79083,7 @@ const_str_typing = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "typing", @@ -81466,11 +79096,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_46_consts_4_names = { +_collections_abc_toplevel_consts_48_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -81485,10 +79115,10 @@ static PyASCIIObject _ascii; uint8_t _data[34]; } -_collections_abc_toplevel_consts_46_consts_4_qualname = { +_collections_abc_toplevel_consts_48_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 33, @@ -81497,7 +79127,7 @@ _collections_abc_toplevel_consts_46_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_is_param_expr..", @@ -81506,18 +79136,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[43]; + char ob_sval[27]; } -_collections_abc_toplevel_consts_46_consts_4_linetable = { +_collections_abc_toplevel_consts_48_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 42, + .ob_size = 26, + }, + .ob_shash = -1, + .ob_sval = "\xf8\xe8\x00\xf8\x80\x00\xd2\x2d\x55\xc0\x74\xa8\x63\xaf\x6c\xa9\x6c\xb8\x64\xd5\x2e\x42\xd1\x2d\x55\xf9", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +_collections_abc_toplevel_consts_48_consts_4_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, }, .ob_shash = -1, - .ob_sval = "\xf8\xe8\x00\xe8\x00\x80\x00\xd0\x2d\x55\xd0\x2d\x55\xc0\x74\xa8\x63\xac\x6c\xb8\x64\xd2\x2e\x42\xd0\x2d\x55\xd0\x2d\x55\xd0\x2d\x55\xd0\x2d\x55\xd0\x2d\x55\xd0\x2d\x55", + .ob_sval = "\x83\x19\x1c\x01", }; static struct { @@ -81527,11 +79174,11 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_46_consts_4_localsplusnames = { +_collections_abc_toplevel_consts_48_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -81544,40 +79191,38 @@ _collections_abc_toplevel_consts_46_consts_4_localsplusnames = { }, }; static - struct _PyCode_DEF(46) -_collections_abc_toplevel_consts_46_consts_4 = { + struct _PyCode_DEF(60) +_collections_abc_toplevel_consts_48_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 23, + .ob_size = 30, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_46_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_names = & _collections_abc_toplevel_consts_48_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_48_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 51, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 487, + .co_firstlineno = 521, .co_nlocalsplus = 3, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & _collections_abc_toplevel_consts_46_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, + .co_version = 431, + .co_localsplusnames = & _collections_abc_toplevel_consts_48_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_genexpr), - .co_qualname = & _collections_abc_toplevel_consts_46_consts_4_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_46_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x0f\x7d\x01\x89\x02\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6b\x02\x00\x00\x00\x00\x56\x00\x97\x01\x01\x00\x8c\x10\x64\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_48_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_48_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x13\x00\x00\x7d\x01\x89\x02\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6b\x28\x00\x00\x96\x01\x97\x01\x01\x00\x8c\x15\x04\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 3, }; static @@ -81588,21 +79233,21 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_46_consts = { +_collections_abc_toplevel_consts_48_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & _collections_abc_toplevel_consts_46_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_48_consts_0._ascii.ob_base, Py_True, - & _collections_abc_toplevel_consts_46_consts_2._object.ob_base.ob_base, + & _collections_abc_toplevel_consts_48_consts_2._object.ob_base.ob_base, & const_str_typing._ascii.ob_base, - & _collections_abc_toplevel_consts_46_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_48_consts_4.ob_base.ob_base, }, }, }; @@ -81614,7 +79259,7 @@ static const_str_Ellipsis = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -81623,7 +79268,7 @@ const_str_Ellipsis = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Ellipsis", @@ -81636,11 +79281,11 @@ static PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_46_names = { +_collections_abc_toplevel_consts_48_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -81649,7 +79294,7 @@ _collections_abc_toplevel_consts_46_names = { & const_str_Ellipsis._ascii.ob_base, &_Py_ID(isinstance), & const_str_list._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), &_Py_ID(__module__), & const_str_any._ascii.ob_base, }, @@ -81659,18 +79304,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[106]; + char ob_sval[74]; } -_collections_abc_toplevel_consts_46_linetable = { +_collections_abc_toplevel_consts_48_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 105, + .ob_size = 73, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf0\x08\x00\x08\x0b\x8d\x68\x80\x7f\x80\x7f\xd8\x0f\x13\x88\x74\xdd\x07\x11\x90\x23\x95\x74\xd1\x07\x1c\xd4\x07\x1c\xf0\x00\x01\x05\x14\xd8\x0f\x13\x88\x74\xdd\x0a\x0e\x88\x73\x89\x29\x8c\x29\x80\x43\xd8\x0c\x35\x80\x45\xd8\x0b\x0e\x8c\x3e\x98\x58\xd2\x0b\x25\xd0\x0b\x55\xad\x23\xd0\x2d\x55\xd0\x2d\x55\xd0\x2d\x55\xd0\x2d\x55\xc8\x75\xd0\x2d\x55\xd1\x2d\x55\xd4\x2d\x55\xd1\x2a\x55\xd4\x2a\x55\xd0\x04\x55", + .ob_sval = "\xf8\x80\x00\xf0\x08\x00\x08\x0b\x8c\x68\x81\x7f\xd8\x0f\x13\xdc\x07\x11\x90\x23\x94\x74\xd4\x07\x1c\xd8\x0f\x13\xdc\x0a\x0e\x88\x73\x8b\x29\x80\x43\xd8\x0c\x35\x80\x45\xd8\x0b\x0e\x8f\x3e\x89\x3e\x98\x58\xd1\x0b\x25\xd2\x0b\x55\xac\x23\xd3\x2d\x55\xc8\x75\xd4\x2d\x55\xd3\x2a\x55\xd0\x04\x55", }; static struct { @@ -81680,7 +79325,7 @@ static const_str_names = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -81689,7 +79334,7 @@ const_str_names = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "names", @@ -81702,11 +79347,11 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_46_localsplusnames = { +_collections_abc_toplevel_consts_48_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -81718,73 +79363,71 @@ _collections_abc_toplevel_consts_46_localsplusnames = { }, }; static - struct _PyCode_DEF(182) -_collections_abc_toplevel_consts_46 = { + struct _PyCode_DEF(156) +_collections_abc_toplevel_consts_48 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 91, + .ob_size = 78, }, - .co_consts = & _collections_abc_toplevel_consts_46_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_46_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_48_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_48_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 477, + .co_firstlineno = 511, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_46_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_localspluskinds.ob_base.ob_base, + .co_version = 432, + .co_localsplusnames = & _collections_abc_toplevel_consts_48_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_26_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__is_param_expr._ascii.ob_base, .co_qualname = & const_str__is_param_expr._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_46_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x97\x00\x89\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x02\x64\x01\x53\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x64\x01\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x64\x02\x7d\x01\x89\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x6b\x02\x00\x00\x00\x00\x6f\x1a\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x04\x84\x08\x7c\x01\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_48_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x00\x97\x00\x89\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x01\x79\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x01\x79\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\xab\x01\x00\x00\x00\x00\x00\x00\x8a\x00\x64\x02\x7d\x01\x89\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x6b\x28\x00\x00\x78\x01\x72\x14\x01\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x04\x84\x08\x7c\x01\x44\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static struct { PyASCIIObject _ascii; - uint8_t _data[167]; + uint8_t _data[224]; } -_collections_abc_toplevel_consts_47_consts_0 = { +_collections_abc_toplevel_consts_49_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 166, + .length = 223, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x72\x65\x70\x72\x28\x29\x20\x6f\x66\x20\x61\x6e\x20\x6f\x62\x6a\x65\x63\x74\x2c\x20\x73\x70\x65\x63\x69\x61\x6c\x2d\x63\x61\x73\x69\x6e\x67\x20\x74\x79\x70\x65\x73\x20\x28\x69\x6e\x74\x65\x72\x6e\x61\x6c\x20\x68\x65\x6c\x70\x65\x72\x29\x2e\x0a\x0a\x20\x20\x20\x20\x43\x6f\x70\x69\x65\x64\x20\x66\x72\x6f\x6d\x20\x3a\x6d\x6f\x64\x3a\x60\x74\x79\x70\x69\x6e\x67\x60\x20\x73\x69\x6e\x63\x65\x20\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2e\x61\x62\x63\x0a\x20\x20\x20\x20\x73\x68\x6f\x75\x6c\x64\x6e\x27\x74\x20\x64\x65\x70\x65\x6e\x64\x20\x6f\x6e\x20\x74\x68\x61\x74\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x0a\x20\x20\x20\x20", + ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x72\x65\x70\x72\x28\x29\x20\x6f\x66\x20\x61\x6e\x20\x6f\x62\x6a\x65\x63\x74\x2c\x20\x73\x70\x65\x63\x69\x61\x6c\x2d\x63\x61\x73\x69\x6e\x67\x20\x74\x79\x70\x65\x73\x20\x28\x69\x6e\x74\x65\x72\x6e\x61\x6c\x20\x68\x65\x6c\x70\x65\x72\x29\x2e\x0a\x0a\x20\x20\x20\x20\x43\x6f\x70\x69\x65\x64\x20\x66\x72\x6f\x6d\x20\x3a\x6d\x6f\x64\x3a\x60\x74\x79\x70\x69\x6e\x67\x60\x20\x73\x69\x6e\x63\x65\x20\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2e\x61\x62\x63\x0a\x20\x20\x20\x20\x73\x68\x6f\x75\x6c\x64\x6e\x27\x74\x20\x64\x65\x70\x65\x6e\x64\x20\x6f\x6e\x20\x74\x68\x61\x74\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x0a\x20\x20\x20\x20\x28\x4b\x65\x65\x70\x20\x74\x68\x69\x73\x20\x72\x6f\x75\x67\x68\x6c\x79\x20\x69\x6e\x20\x73\x79\x6e\x63\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x74\x79\x70\x69\x6e\x67\x20\x76\x65\x72\x73\x69\x6f\x6e\x2e\x29\x0a\x20\x20\x20\x20", }; static struct { PyASCIIObject _ascii; uint8_t _data[4]; } -_collections_abc_toplevel_consts_47_consts_3 = { +_collections_abc_toplevel_consts_49_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -81793,7 +79436,7 @@ _collections_abc_toplevel_consts_47_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "...", @@ -81806,94 +79449,93 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_47_consts = { +_collections_abc_toplevel_consts_49_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & _collections_abc_toplevel_consts_47_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_49_consts_0._ascii.ob_base, &_Py_ID(builtins), &_Py_STR(dot), - & _collections_abc_toplevel_consts_47_consts_3._ascii.ob_base, + & _collections_abc_toplevel_consts_49_consts_3._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[5]; + uint8_t _data[13]; } -const_str_repr = { +const_str_FunctionType = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 4, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "repr", + ._data = "FunctionType", }; static struct { PyASCIIObject _ascii; - uint8_t _data[13]; + uint8_t _data[5]; } -const_str_FunctionType = { +const_str_repr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 12, + .length = 4, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "FunctionType", + ._data = "repr", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[9]; + PyObject *ob_item[8]; }_object; } -_collections_abc_toplevel_consts_47_names = { +_collections_abc_toplevel_consts_49_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 9, + .ob_size = 8, }, .ob_item = { &_Py_ID(isinstance), - & const_str_GenericAlias._ascii.ob_base, - & const_str_repr._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), &_Py_ID(__module__), &_Py_ID(__qualname__), & const_str_Ellipsis._ascii.ob_base, & const_str_FunctionType._ascii.ob_base, &_Py_ID(__name__), + & const_str_repr._ascii.ob_base, }, }, }; @@ -81901,54 +79543,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[152]; + char ob_sval[108]; } -_collections_abc_toplevel_consts_47_linetable = { +_collections_abc_toplevel_consts_49_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 151, + .ob_size = 107, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0c\x00\x08\x12\x90\x23\x95\x7c\xd1\x07\x24\xd4\x07\x24\xf0\x00\x01\x05\x19\xdd\x0f\x13\x90\x43\x89\x79\x8c\x79\xd0\x08\x18\xdd\x07\x11\x90\x23\x95\x74\xd1\x07\x1c\xd4\x07\x1c\xf0\x00\x03\x05\x36\xd8\x0b\x0e\x8c\x3e\x98\x5a\xd2\x0b\x27\xd0\x0b\x27\xd8\x13\x16\xd4\x13\x23\xd0\x0c\x23\xd8\x12\x15\x94\x2e\xd0\x0f\x35\xd0\x0f\x35\xa0\x33\xd4\x23\x33\xd0\x0f\x35\xd0\x0f\x35\xd0\x08\x35\xd8\x07\x0a\x8d\x68\x80\x7f\x80\x7f\xd8\x0f\x14\x88\x75\xdd\x07\x11\x90\x23\x95\x7c\xd1\x07\x24\xd4\x07\x24\xf0\x00\x01\x05\x1c\xd8\x0f\x12\x8c\x7c\xd0\x08\x1b\xdd\x0b\x0f\x90\x03\x89\x39\x8c\x39\xd0\x04\x14", + .ob_sval = "\x80\x00\xf4\x0e\x00\x08\x12\x90\x23\x94\x74\xd4\x07\x1c\xd8\x0b\x0e\x8f\x3e\x89\x3e\x98\x5a\xd2\x0b\x27\xd8\x13\x16\xd7\x13\x23\xd1\x13\x23\xd0\x0c\x23\xd8\x12\x15\x97\x2e\x91\x2e\xd0\x11\x21\xa0\x11\xa0\x33\xd7\x23\x33\xd1\x23\x33\xd0\x22\x34\xd0\x0f\x35\xd0\x08\x35\xd8\x07\x0a\x8c\x68\x81\x7f\xd8\x0f\x14\xdc\x07\x11\x90\x23\x94\x7c\xd4\x07\x24\xd8\x0f\x12\x8f\x7c\x89\x7c\xd0\x08\x1b\xdc\x0b\x0f\x90\x03\x8b\x39\xd0\x04\x14", }; static - struct _PyCode_DEF(294) -_collections_abc_toplevel_consts_47 = { + struct _PyCode_DEF(238) +_collections_abc_toplevel_consts_49 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 147, + .ob_size = 119, }, - .co_consts = & _collections_abc_toplevel_consts_47_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_47_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_49_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_49_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 489, + .co_firstlineno = 523, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 433, .co_localsplusnames = & importlib__bootstrap_toplevel_consts_1_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__type_repr._ascii.ob_base, .co_qualname = & const_str__type_repr._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_47_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0f\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x23\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x07\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x02\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9d\x03\x53\x00\x7c\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x02\x64\x03\x53\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x07\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_49_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x36\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x28\x00\x00\x72\x0c\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x02\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9d\x03\x53\x00\x7c\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x01\x79\x03\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x0c\x7c\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -81956,10 +79596,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -_collections_abc_toplevel_consts_48_consts_2_qualname = { +_collections_abc_toplevel_consts_50_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -81968,7 +79608,7 @@ _collections_abc_toplevel_consts_48_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Callable.__call__", @@ -81981,57 +79621,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_48_consts_2_localsplusnames = { +_collections_abc_toplevel_consts_50_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_args._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(args), & const_str_kwds._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(6) -_collections_abc_toplevel_consts_48_consts_2 = { + struct _PyCode_DEF(4) +_collections_abc_toplevel_consts_50_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, - .co_consts = & importlib__bootstrap_toplevel_consts_23_consts_4_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_30_consts_4_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 15, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 512, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, + .co_firstlineno = 545, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_48_consts_2_localsplusnames._object.ob_base.ob_base, + .co_version = 434, + .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__call__), - .co_qualname = & _collections_abc_toplevel_consts_48_consts_2_qualname._ascii.ob_base, + .co_qualname = & _collections_abc_toplevel_consts_50_consts_2_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_40_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -82042,11 +79680,11 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_48_consts_3_consts = { +_collections_abc_toplevel_consts_50_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -82065,11 +79703,11 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_48_consts_3_names = { +_collections_abc_toplevel_consts_50_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -82086,10 +79724,10 @@ static PyASCIIObject _ascii; uint8_t _data[26]; } -_collections_abc_toplevel_consts_48_consts_3_qualname = { +_collections_abc_toplevel_consts_50_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -82098,46 +79736,44 @@ _collections_abc_toplevel_consts_48_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Callable.__subclasshook__", }; static - struct _PyCode_DEF(66) -_collections_abc_toplevel_consts_48_consts_3 = { + struct _PyCode_DEF(54) +_collections_abc_toplevel_consts_50_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 27, }, - .co_consts = & _collections_abc_toplevel_consts_48_consts_3_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_48_consts_3_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_50_consts_3_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_50_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 516, + .co_firstlineno = 549, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 435, .co_localsplusnames = & _collections_abc_toplevel_consts_17_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), - .co_qualname = & _collections_abc_toplevel_consts_48_consts_3_qualname._ascii.ob_base, + .co_qualname = & _collections_abc_toplevel_consts_50_consts_3_qualname._ascii.ob_base, .co_linetable = & _collections_abc_toplevel_consts_17_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -82148,11 +79784,11 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_48_consts = { +_collections_abc_toplevel_consts_50_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -82160,8 +79796,8 @@ _collections_abc_toplevel_consts_48_consts = { .ob_item = { & const_str_Callable._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), - & _collections_abc_toplevel_consts_48_consts_2.ob_base.ob_base, - & _collections_abc_toplevel_consts_48_consts_3.ob_base.ob_base, + & _collections_abc_toplevel_consts_50_consts_2.ob_base.ob_base, + & _collections_abc_toplevel_consts_50_consts_3.ob_base.ob_base, Py_None, }, }, @@ -82174,11 +79810,11 @@ static PyObject *ob_item[10]; }_object; } -_collections_abc_toplevel_consts_48_names = { +_collections_abc_toplevel_consts_50_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -82201,54 +79837,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[93]; + char ob_sval[60]; } -_collections_abc_toplevel_consts_48_linetable = { +_collections_abc_toplevel_consts_50_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 92, + .ob_size = 59, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf0\x02\x01\x05\x15\xf0\x00\x01\x05\x15\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x15\xf0\x06\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x0a\x00\x19\x24\x98\x0b\xd0\x24\x39\xd1\x18\x3a\xd4\x18\x3a\xd0\x04\x15\xd0\x04\x15\xd0\x04\x15", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x13\xf1\x02\x01\x05\x15\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x15\xf0\x06\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf0\x02\x03\x05\x1e\xf1\x0a\x00\x19\x24\xd0\x24\x39\xd3\x18\x3a\xd1\x04\x15", }; static - struct _PyCode_DEF(84) -_collections_abc_toplevel_consts_48 = { + struct _PyCode_DEF(64) +_collections_abc_toplevel_consts_50 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 42, + .ob_size = 32, }, - .co_consts = & _collections_abc_toplevel_consts_48_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_48_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_50_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_50_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 508, + .co_firstlineno = 541, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 436, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Callable._ascii.ob_base, .co_qualname = & const_str_Callable._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_48_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x06\x65\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x64\x04\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_50_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x06\x65\x08\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x09\x79\x04", ._co_firsttraceable = 0, }; static @@ -82256,10 +79890,10 @@ static PyASCIIObject _ascii; uint8_t _data[347]; } -_collections_abc_toplevel_consts_50_consts_1 = { +_collections_abc_toplevel_consts_52_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 346, @@ -82268,7 +79902,7 @@ _collections_abc_toplevel_consts_50_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x20\x73\x65\x74\x20\x69\x73\x20\x61\x20\x66\x69\x6e\x69\x74\x65\x2c\x20\x69\x74\x65\x72\x61\x62\x6c\x65\x20\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x63\x6c\x61\x73\x73\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x63\x6f\x6e\x63\x72\x65\x74\x65\x20\x67\x65\x6e\x65\x72\x69\x63\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x73\x20\x6f\x66\x20\x61\x6c\x6c\x0a\x20\x20\x20\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x65\x78\x63\x65\x70\x74\x20\x66\x6f\x72\x20\x5f\x5f\x63\x6f\x6e\x74\x61\x69\x6e\x73\x5f\x5f\x2c\x20\x5f\x5f\x69\x74\x65\x72\x5f\x5f\x20\x61\x6e\x64\x20\x5f\x5f\x6c\x65\x6e\x5f\x5f\x2e\x0a\x0a\x20\x20\x20\x20\x54\x6f\x20\x6f\x76\x65\x72\x72\x69\x64\x65\x20\x74\x68\x65\x20\x63\x6f\x6d\x70\x61\x72\x69\x73\x6f\x6e\x73\x20\x28\x70\x72\x65\x73\x75\x6d\x61\x62\x6c\x79\x20\x66\x6f\x72\x20\x73\x70\x65\x65\x64\x2c\x20\x61\x73\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x73\x65\x6d\x61\x6e\x74\x69\x63\x73\x20\x61\x72\x65\x20\x66\x69\x78\x65\x64\x29\x2c\x20\x72\x65\x64\x65\x66\x69\x6e\x65\x20\x5f\x5f\x6c\x65\x5f\x5f\x20\x61\x6e\x64\x20\x5f\x5f\x67\x65\x5f\x5f\x2c\x0a\x20\x20\x20\x20\x74\x68\x65\x6e\x20\x74\x68\x65\x20\x6f\x74\x68\x65\x72\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\x6e\x73\x20\x77\x69\x6c\x6c\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79\x20\x66\x6f\x6c\x6c\x6f\x77\x20\x73\x75\x69\x74\x2e\x0a\x20\x20\x20\x20", @@ -82281,11 +79915,11 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_50_consts_3_consts = { +_collections_abc_toplevel_consts_52_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -82305,11 +79939,11 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_50_consts_3_names = { +_collections_abc_toplevel_consts_52_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -82327,10 +79961,10 @@ static PyASCIIObject _ascii; uint8_t _data[11]; } -_collections_abc_toplevel_consts_50_consts_3_qualname = { +_collections_abc_toplevel_consts_52_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -82339,7 +79973,7 @@ _collections_abc_toplevel_consts_50_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__le__", @@ -82348,18 +79982,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[98]; + char ob_sval[69]; } -_collections_abc_toplevel_consts_50_consts_3_linetable = { +_collections_abc_toplevel_consts_52_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 97, + .ob_size = 68, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x25\xa5\x13\xd1\x0f\x25\xd4\x0f\x25\xf0\x00\x01\x09\x22\xdd\x13\x21\xd0\x0c\x21\xdd\x0b\x0e\x88\x74\x89\x39\x8c\x39\x95\x73\x98\x35\x91\x7a\x94\x7a\xd2\x0b\x21\xd0\x0b\x21\xd8\x13\x18\x90\x35\xd8\x14\x18\xf0\x00\x02\x09\x1d\xf0\x00\x02\x09\x1d\x88\x44\xd8\x0f\x13\x98\x35\xd0\x0f\x20\xd0\x0f\x20\xd8\x17\x1c\x90\x75\x90\x75\xf0\x03\x00\x10\x21\xe0\x0f\x13\x88\x74", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x25\xa4\x13\xd4\x0f\x25\xdc\x13\x21\xd0\x0c\x21\xdc\x0b\x0e\x88\x74\x8b\x39\x94\x73\x98\x35\x93\x7a\xd2\x0b\x21\xd8\x13\x18\xd8\x14\x18\xf2\x00\x02\x09\x1d\x88\x44\xd8\x0f\x13\x98\x35\xd2\x0f\x20\xd9\x17\x1c\xf0\x05\x02\x09\x1d\xf0\x06\x00\x10\x14", }; static struct { @@ -82369,7 +80003,7 @@ static const_str_elem = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -82378,7 +80012,7 @@ const_str_elem = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "elem", @@ -82391,57 +80025,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_50_consts_3_localsplusnames = { +_collections_abc_toplevel_consts_52_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_other._ascii.ob_base, & const_str_elem._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(154) -_collections_abc_toplevel_consts_50_consts_3 = { + struct _PyCode_DEF(122) +_collections_abc_toplevel_consts_52_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 77, + .ob_size = 61, }, - .co_consts = & _collections_abc_toplevel_consts_50_consts_3_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_3_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_52_consts_3_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 541, + .co_firstlineno = 574, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 437, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__le__), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_3_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x04\x00\x00\x00\x00\x72\x02\x64\x01\x53\x00\x7c\x00\x44\x00\x5d\x09\x7d\x02\x7c\x02\x7c\x01\x76\x01\x72\x03\x01\x00\x64\x01\x53\x00\x8c\x0a\x64\x02\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_3_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x44\x00\x00\x72\x01\x79\x01\x7c\x00\x44\x00\x5d\x08\x00\x00\x7d\x02\x7c\x02\x7c\x01\x76\x01\x73\x01\x8c\x08\x01\x00\x79\x01\x04\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -82452,11 +80084,11 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_50_consts_4_names = { +_collections_abc_toplevel_consts_52_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -82475,10 +80107,10 @@ static PyASCIIObject _ascii; uint8_t _data[11]; } -_collections_abc_toplevel_consts_50_consts_4_qualname = { +_collections_abc_toplevel_consts_52_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -82487,7 +80119,7 @@ _collections_abc_toplevel_consts_50_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__lt__", @@ -82496,54 +80128,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[67]; + char ob_sval[52]; } -_collections_abc_toplevel_consts_50_consts_4_linetable = { +_collections_abc_toplevel_consts_52_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 66, + .ob_size = 51, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x25\xa5\x13\xd1\x0f\x25\xd4\x0f\x25\xf0\x00\x01\x09\x22\xdd\x13\x21\xd0\x0c\x21\xdd\x0f\x12\x90\x34\x89\x79\x8c\x79\x9d\x33\x98\x75\x99\x3a\x9c\x3a\xd2\x0f\x25\xd0\x0f\x3c\xa8\x24\xaf\x2b\xaa\x2b\xb0\x65\xd1\x2a\x3c\xd4\x2a\x3c\xd0\x08\x3c", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x25\xa4\x13\xd4\x0f\x25\xdc\x13\x21\xd0\x0c\x21\xdc\x0f\x12\x90\x34\x8b\x79\x9c\x33\x98\x75\x9b\x3a\xd1\x0f\x25\xd2\x0f\x3c\xa8\x24\xaf\x2b\xa9\x2b\xb0\x65\xd3\x2a\x3c\xd0\x08\x3c", }; static - struct _PyCode_DEF(164) -_collections_abc_toplevel_consts_50_consts_4 = { + struct _PyCode_DEF(130) +_collections_abc_toplevel_consts_52_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 82, + .ob_size = 65, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_4_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 551, + .co_firstlineno = 584, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 438, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__lt__), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_4_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x6f\x14\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x78\x01\x72\x11\x01\x00\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -82554,11 +80184,11 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_50_consts_5_names = { +_collections_abc_toplevel_consts_52_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -82577,10 +80207,10 @@ static PyASCIIObject _ascii; uint8_t _data[11]; } -_collections_abc_toplevel_consts_50_consts_5_qualname = { +_collections_abc_toplevel_consts_52_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -82589,46 +80219,44 @@ _collections_abc_toplevel_consts_50_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__gt__", }; static - struct _PyCode_DEF(164) -_collections_abc_toplevel_consts_50_consts_5 = { + struct _PyCode_DEF(130) +_collections_abc_toplevel_consts_52_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 82, + .ob_size = 65, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_5_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 556, + .co_firstlineno = 589, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 439, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__gt__), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_5_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x04\x00\x00\x00\x00\x6f\x14\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_5_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x44\x00\x00\x78\x01\x72\x11\x01\x00\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -82636,10 +80264,10 @@ static PyASCIIObject _ascii; uint8_t _data[11]; } -_collections_abc_toplevel_consts_50_consts_6_qualname = { +_collections_abc_toplevel_consts_52_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -82648,7 +80276,7 @@ _collections_abc_toplevel_consts_50_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__ge__", @@ -82657,54 +80285,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[98]; + char ob_sval[69]; } -_collections_abc_toplevel_consts_50_consts_6_linetable = { +_collections_abc_toplevel_consts_52_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 97, + .ob_size = 68, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x25\xa5\x13\xd1\x0f\x25\xd4\x0f\x25\xf0\x00\x01\x09\x22\xdd\x13\x21\xd0\x0c\x21\xdd\x0b\x0e\x88\x74\x89\x39\x8c\x39\x95\x73\x98\x35\x91\x7a\x94\x7a\xd2\x0b\x21\xd0\x0b\x21\xd8\x13\x18\x90\x35\xd8\x14\x19\xf0\x00\x02\x09\x1d\xf0\x00\x02\x09\x1d\x88\x44\xd8\x0f\x13\x98\x34\xd0\x0f\x1f\xd0\x0f\x1f\xd8\x17\x1c\x90\x75\x90\x75\xf0\x03\x00\x10\x20\xe0\x0f\x13\x88\x74", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x25\xa4\x13\xd4\x0f\x25\xdc\x13\x21\xd0\x0c\x21\xdc\x0b\x0e\x88\x74\x8b\x39\x94\x73\x98\x35\x93\x7a\xd2\x0b\x21\xd8\x13\x18\xd8\x14\x19\xf2\x00\x02\x09\x1d\x88\x44\xd8\x0f\x13\x98\x34\xd2\x0f\x1f\xd9\x17\x1c\xf0\x05\x02\x09\x1d\xf0\x06\x00\x10\x14", }; static - struct _PyCode_DEF(154) -_collections_abc_toplevel_consts_50_consts_6 = { + struct _PyCode_DEF(122) +_collections_abc_toplevel_consts_52_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 77, + .ob_size = 61, }, - .co_consts = & _collections_abc_toplevel_consts_50_consts_3_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_3_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_52_consts_3_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 561, + .co_firstlineno = 594, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 440, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__ge__), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_6_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x72\x02\x64\x01\x53\x00\x7c\x01\x44\x00\x5d\x09\x7d\x02\x7c\x02\x7c\x00\x76\x01\x72\x03\x01\x00\x64\x01\x53\x00\x8c\x0a\x64\x02\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_6_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x72\x01\x79\x01\x7c\x01\x44\x00\x5d\x08\x00\x00\x7d\x02\x7c\x02\x7c\x00\x76\x01\x73\x01\x8c\x08\x01\x00\x79\x01\x04\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -82712,10 +80338,10 @@ static PyASCIIObject _ascii; uint8_t _data[11]; } -_collections_abc_toplevel_consts_50_consts_7_qualname = { +_collections_abc_toplevel_consts_52_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -82724,7 +80350,7 @@ _collections_abc_toplevel_consts_50_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__eq__", @@ -82733,54 +80359,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[67]; + char ob_sval[52]; } -_collections_abc_toplevel_consts_50_consts_7_linetable = { +_collections_abc_toplevel_consts_52_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 66, + .ob_size = 51, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x25\xa5\x13\xd1\x0f\x25\xd4\x0f\x25\xf0\x00\x01\x09\x22\xdd\x13\x21\xd0\x0c\x21\xdd\x0f\x12\x90\x34\x89\x79\x8c\x79\x9d\x43\xa0\x05\x99\x4a\x9c\x4a\xd2\x0f\x26\xd0\x0f\x3d\xa8\x34\xaf\x3b\xaa\x3b\xb0\x75\xd1\x2b\x3d\xd4\x2b\x3d\xd0\x08\x3d", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x25\xa4\x13\xd4\x0f\x25\xdc\x13\x21\xd0\x0c\x21\xdc\x0f\x12\x90\x34\x8b\x79\x9c\x43\xa0\x05\x9b\x4a\xd1\x0f\x26\xd2\x0f\x3d\xa8\x34\xaf\x3b\xa9\x3b\xb0\x75\xd3\x2b\x3d\xd0\x08\x3d", }; static - struct _PyCode_DEF(164) -_collections_abc_toplevel_consts_50_consts_7 = { + struct _PyCode_DEF(130) +_collections_abc_toplevel_consts_52_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 82, + .ob_size = 65, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_4_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 571, + .co_firstlineno = 604, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 441, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__eq__), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_7_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x6f\x14\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_7_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x78\x01\x72\x11\x01\x00\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -82788,10 +80412,10 @@ static PyASCIIObject _ascii; uint8_t _data[189]; } -_collections_abc_toplevel_consts_50_consts_8_consts_0 = { +_collections_abc_toplevel_consts_52_consts_8_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 188, @@ -82800,7 +80424,7 @@ _collections_abc_toplevel_consts_50_consts_8_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x43\x6f\x6e\x73\x74\x72\x75\x63\x74\x20\x61\x6e\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x63\x6c\x61\x73\x73\x20\x66\x72\x6f\x6d\x20\x61\x6e\x79\x20\x69\x74\x65\x72\x61\x62\x6c\x65\x20\x69\x6e\x70\x75\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x4d\x75\x73\x74\x20\x6f\x76\x65\x72\x72\x69\x64\x65\x20\x74\x68\x69\x73\x20\x6d\x65\x74\x68\x6f\x64\x20\x69\x66\x20\x74\x68\x65\x20\x63\x6c\x61\x73\x73\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x20\x73\x69\x67\x6e\x61\x74\x75\x72\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x20\x61\x63\x63\x65\x70\x74\x20\x61\x6e\x20\x69\x74\x65\x72\x61\x62\x6c\x65\x20\x66\x6f\x72\x20\x61\x6e\x20\x69\x6e\x70\x75\x74\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -82813,17 +80437,17 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_50_consts_8_consts = { +_collections_abc_toplevel_consts_52_consts_8_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & _collections_abc_toplevel_consts_50_consts_8_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_52_consts_8_consts_0._ascii.ob_base, }, }, }; @@ -82835,7 +80459,7 @@ static const_str__from_iterable = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -82844,7 +80468,7 @@ const_str__from_iterable = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_from_iterable", @@ -82854,10 +80478,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -_collections_abc_toplevel_consts_50_consts_8_qualname = { +_collections_abc_toplevel_consts_52_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -82866,7 +80490,7 @@ _collections_abc_toplevel_consts_50_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set._from_iterable", @@ -82875,18 +80499,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[18]; + char ob_sval[14]; } -_collections_abc_toplevel_consts_50_consts_8_linetable = { +_collections_abc_toplevel_consts_52_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 17, + .ob_size = 13, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0e\x00\x10\x13\x88\x73\x90\x32\x89\x77\x8c\x77\x88\x0e", + .ob_sval = "\x80\x00\xf1\x0e\x00\x10\x13\x90\x32\x8b\x77\x88\x0e", }; static struct { @@ -82896,7 +80520,7 @@ static const_str_it = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -82905,7 +80529,7 @@ const_str_it = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "it", @@ -82918,11 +80542,11 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_50_consts_8_localsplusnames = { +_collections_abc_toplevel_consts_52_consts_8_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -82934,40 +80558,38 @@ _collections_abc_toplevel_consts_50_consts_8_localsplusnames = { }, }; static - struct _PyCode_DEF(24) -_collections_abc_toplevel_consts_50_consts_8 = { + struct _PyCode_DEF(18) +_collections_abc_toplevel_consts_52_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 12, + .ob_size = 9, }, - .co_consts = & _collections_abc_toplevel_consts_50_consts_8_consts._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_52_consts_8_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 576, + .co_firstlineno = 609, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 442, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__from_iterable._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_50_consts_8_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x02\x00\x7c\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_8_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x02\x00\x7c\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -82975,10 +80597,10 @@ static PyASCIIObject _ascii; uint8_t _data[31]; } -_collections_abc_toplevel_consts_50_consts_9_consts_1_qualname = { +_collections_abc_toplevel_consts_52_consts_9_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -82987,7 +80609,7 @@ _collections_abc_toplevel_consts_50_consts_9_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__and__..", @@ -82996,18 +80618,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[40]; + char ob_sval[24]; } -_collections_abc_toplevel_consts_50_consts_9_consts_1_linetable = { +_collections_abc_toplevel_consts_52_consts_9_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 39, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\xf8\xe8\x00\xe8\x00\x80\x00\xd0\x22\x4d\xd0\x22\x4d\xa8\x55\xb8\x75\xc8\x04\xb8\x7d\xb8\x7d\xa0\x35\xb8\x7d\xb8\x7d\xb8\x7d\xb8\x7d\xd0\x22\x4d\xd0\x22\x4d", + .ob_sval = "\xf8\xe8\x00\xf8\x80\x00\xd2\x22\x4d\xa8\x55\xb8\x75\xc8\x04\xba\x7d\xa4\x35\xd1\x22\x4d\xf9", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[9]; + } +_collections_abc_toplevel_consts_52_consts_9_consts_1_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 8, + }, + .ob_shash = -1, + .ob_sval = "\x83\x09\x14\x01\x8d\x07\x14\x01", }; static struct { @@ -83017,57 +80656,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_50_consts_9_consts_1_localsplusnames = { +_collections_abc_toplevel_consts_52_consts_9_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_value._ascii.ob_base, - & const_str_self._ascii.ob_base, + &_Py_ID(value), + &_Py_ID(self), }, }, }; static - struct _PyCode_DEF(36) -_collections_abc_toplevel_consts_50_consts_9_consts_1 = { + struct _PyCode_DEF(44) +_collections_abc_toplevel_consts_52_consts_9_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 22, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_52_consts_9_consts_1_exceptiontable.ob_base.ob_base, .co_flags = 51, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 588, + .co_firstlineno = 621, .co_nlocalsplus = 3, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_9_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, + .co_version = 443, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_9_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_genexpr), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_9_consts_1_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_9_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x0a\x7d\x01\x7c\x01\x89\x02\x76\x00\xaf\x06\x7c\x01\x56\x00\x97\x01\x01\x00\x8c\x0b\x64\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_9_consts_1_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_9_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x0b\x00\x00\x7d\x01\x7c\x01\x89\x02\x76\x00\x73\x01\x8c\x08\x7c\x01\x96\x01\x97\x01\x01\x00\x8c\x0d\x04\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 3, }; static @@ -83078,18 +80715,18 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_50_consts_9_consts = { +_collections_abc_toplevel_consts_52_consts_9_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & _collections_abc_toplevel_consts_50_consts_9_consts_1.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_9_consts_1.ob_base.ob_base, }, }, }; @@ -83101,11 +80738,11 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_50_consts_9_names = { +_collections_abc_toplevel_consts_52_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -83123,10 +80760,10 @@ static PyASCIIObject _ascii; uint8_t _data[12]; } -_collections_abc_toplevel_consts_50_consts_9_qualname = { +_collections_abc_toplevel_consts_52_consts_9_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -83135,7 +80772,7 @@ _collections_abc_toplevel_consts_50_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__and__", @@ -83144,54 +80781,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[69]; + char ob_sval[43]; } -_collections_abc_toplevel_consts_50_consts_9_linetable = { +_collections_abc_toplevel_consts_52_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 68, + .ob_size = 42, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xdd\x0f\x19\x98\x25\xa5\x18\xd1\x0f\x2a\xd4\x0f\x2a\xf0\x00\x01\x09\x22\xdd\x13\x21\xd0\x0c\x21\xd8\x0f\x13\xd7\x0f\x22\xd2\x0f\x22\xd0\x22\x4d\xd0\x22\x4d\xd0\x22\x4d\xd0\x22\x4d\xb0\x65\xd0\x22\x4d\xd1\x22\x4d\xd4\x22\x4d\xd1\x0f\x4d\xd4\x0f\x4d\xd0\x08\x4d", + .ob_sval = "\xf8\x80\x00\xdc\x0f\x19\x98\x25\xa4\x18\xd4\x0f\x2a\xdc\x13\x21\xd0\x0c\x21\xd8\x0f\x13\xd7\x0f\x22\xd1\x0f\x22\xd3\x22\x4d\xb0\x65\xd4\x22\x4d\xd3\x0f\x4d\xd0\x08\x4d", }; static - struct _PyCode_DEF(126) -_collections_abc_toplevel_consts_50_consts_9 = { + struct _PyCode_DEF(100) +_collections_abc_toplevel_consts_52_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 63, + .ob_size = 50, }, - .co_consts = & _collections_abc_toplevel_consts_50_consts_9_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_9_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_52_consts_9_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 585, + .co_firstlineno = 618, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_localspluskinds.ob_base.ob_base, + .co_version = 444, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_26_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__and__), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_9_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x89\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x01\x84\x08\x7c\x01\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_9_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x89\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x01\x84\x08\x7c\x01\x44\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -83199,10 +80834,10 @@ static PyASCIIObject _ascii; uint8_t _data[50]; } -_collections_abc_toplevel_consts_50_consts_10_consts_0 = { +_collections_abc_toplevel_consts_52_consts_10_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 49, @@ -83211,7 +80846,7 @@ _collections_abc_toplevel_consts_50_consts_10_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if two sets have a null intersection.", @@ -83224,17 +80859,17 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_50_consts_10_consts = { +_collections_abc_toplevel_consts_52_consts_10_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & _collections_abc_toplevel_consts_50_consts_10_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_52_consts_10_consts_0._ascii.ob_base, Py_False, Py_True, }, @@ -83248,7 +80883,7 @@ static const_str_isdisjoint = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -83257,7 +80892,7 @@ const_str_isdisjoint = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "isdisjoint", @@ -83267,10 +80902,10 @@ static PyASCIIObject _ascii; uint8_t _data[15]; } -_collections_abc_toplevel_consts_50_consts_10_qualname = { +_collections_abc_toplevel_consts_52_consts_10_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -83279,7 +80914,7 @@ _collections_abc_toplevel_consts_50_consts_10_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.isdisjoint", @@ -83288,18 +80923,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[44]; + char ob_sval[33]; } -_collections_abc_toplevel_consts_50_consts_10_linetable = { +_collections_abc_toplevel_consts_52_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 43, + .ob_size = 32, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x15\x1a\xf0\x00\x02\x09\x1d\xf0\x00\x02\x09\x1d\x88\x45\xd8\x0f\x14\x98\x04\x88\x7d\x88\x7d\xd8\x17\x1c\x90\x75\x90\x75\xf0\x03\x00\x10\x1d\xe0\x0f\x13\x88\x74", + .ob_sval = "\x80\x00\xe0\x15\x1a\xf2\x00\x02\x09\x1d\x88\x45\xd8\x0f\x14\x98\x04\x8a\x7d\xd9\x17\x1c\xf0\x05\x02\x09\x1d\xf0\x06\x00\x10\x14", }; static struct { @@ -83309,57 +80944,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_50_consts_10_localsplusnames = { +_collections_abc_toplevel_consts_52_consts_10_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_other._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(value), }, }, }; static struct _PyCode_DEF(30) -_collections_abc_toplevel_consts_50_consts_10 = { +_collections_abc_toplevel_consts_52_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 15, }, - .co_consts = & _collections_abc_toplevel_consts_50_consts_10_consts._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_52_consts_10_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 592, + .co_firstlineno = 625, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_10_localsplusnames._object.ob_base.ob_base, + .co_version = 445, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_10_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_isdisjoint._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_50_consts_10_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x44\x00\x5d\x09\x7d\x02\x7c\x02\x7c\x00\x76\x00\x72\x03\x01\x00\x64\x01\x53\x00\x8c\x0a\x64\x02\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_10_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_10_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x44\x00\x5d\x08\x00\x00\x7d\x02\x7c\x02\x7c\x00\x76\x00\x73\x01\x8c\x08\x01\x00\x79\x01\x04\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -83367,10 +81000,10 @@ static PyASCIIObject _ascii; uint8_t _data[30]; } -_collections_abc_toplevel_consts_50_consts_11_consts_1_qualname = { +_collections_abc_toplevel_consts_52_consts_11_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 29, @@ -83379,7 +81012,7 @@ _collections_abc_toplevel_consts_50_consts_11_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__or__..", @@ -83388,40 +81021,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[48]; + char ob_sval[29]; } -_collections_abc_toplevel_consts_50_consts_11_consts_1_linetable = { +_collections_abc_toplevel_consts_52_consts_11_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 47, + .ob_size = 28, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xd0\x10\x35\xd0\x10\x35\x90\x71\xb0\x31\xd0\x10\x35\xd0\x10\x35\xa8\x61\x90\x11\xd0\x10\x35\xd0\x10\x35\xd0\x10\x35\xd0\x10\x35\xd0\x10\x35\xd0\x10\x35\xd0\x10\x35", + .ob_sval = "\xe8\x00\xf8\x80\x00\xd2\x10\x35\x90\x71\xb0\x31\xd2\x10\x35\xa8\x61\x94\x11\xd0\x10\x35\x90\x11\xd1\x10\x35\xf9", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[2]; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; } -const_str_e = { - ._ascii = { +_collections_abc_toplevel_consts_52_consts_11_consts_1_exceptiontable = { + .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, + .ob_size = 4, }, - ._data = "e", + .ob_shash = -1, + .ob_sval = "\x82\x13\x15\x01", }; static struct { @@ -83431,57 +81059,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_50_consts_11_consts_1_localsplusnames = { +_collections_abc_toplevel_consts_52_consts_11_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_s._ascii.ob_base, - & const_str_e._ascii.ob_base, + &_Py_ID(s), + &_Py_ID(e), }, }, }; static - struct _PyCode_DEF(36) -_collections_abc_toplevel_consts_50_consts_11_consts_1 = { + struct _PyCode_DEF(46) +_collections_abc_toplevel_consts_52_consts_11_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 23, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_52_consts_11_consts_1_exceptiontable.ob_base.ob_base, .co_flags = 51, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 602, + .co_firstlineno = 635, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_11_consts_1_localsplusnames._object.ob_base.ob_base, + .co_version = 446, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_11_consts_1_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_genexpr), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_11_consts_1_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_11_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x0b\x7d\x01\x7c\x01\x44\x00\x5d\x06\x7d\x02\x7c\x02\x56\x00\x97\x01\x01\x00\x8c\x07\x8c\x0c\x64\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_11_consts_1_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_11_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x0d\x00\x00\x7d\x01\x7c\x01\x44\x00\x5d\x06\x00\x00\x7d\x02\x7c\x02\x96\x01\x97\x01\x01\x00\x8c\x08\x04\x00\x8c\x0f\x04\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -83492,18 +81118,18 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_50_consts_11_consts = { +_collections_abc_toplevel_consts_52_consts_11_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & _collections_abc_toplevel_consts_50_consts_11_consts_1.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_11_consts_1.ob_base.ob_base, }, }, }; @@ -83512,10 +81138,10 @@ static PyASCIIObject _ascii; uint8_t _data[11]; } -_collections_abc_toplevel_consts_50_consts_11_qualname = { +_collections_abc_toplevel_consts_52_consts_11_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -83524,7 +81150,7 @@ _collections_abc_toplevel_consts_50_consts_11_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__or__", @@ -83533,18 +81159,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[70]; + char ob_sval[50]; } -_collections_abc_toplevel_consts_50_consts_11_linetable = { +_collections_abc_toplevel_consts_52_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 69, + .ob_size = 49, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x25\xa5\x18\xd1\x0f\x2a\xd4\x0f\x2a\xf0\x00\x01\x09\x22\xdd\x13\x21\xd0\x0c\x21\xd8\x10\x35\xd0\x10\x35\x98\x54\xa0\x35\x98\x4d\xd0\x10\x35\xd1\x10\x35\xd4\x10\x35\x88\x05\xd8\x0f\x13\xd7\x0f\x22\xd2\x0f\x22\xa0\x35\xd1\x0f\x29\xd4\x0f\x29\xd0\x08\x29", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x25\xa4\x18\xd4\x0f\x2a\xdc\x13\x21\xd0\x0c\x21\xd9\x10\x35\x98\x54\xa0\x35\x98\x4d\xd4\x10\x35\x88\x05\xd8\x0f\x13\xd7\x0f\x22\xd1\x0f\x22\xa0\x35\xd3\x0f\x29\xd0\x08\x29", }; static struct { @@ -83554,7 +81180,7 @@ static const_str_chain = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -83563,7 +81189,7 @@ const_str_chain = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "chain", @@ -83576,57 +81202,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_50_consts_11_localsplusnames = { +_collections_abc_toplevel_consts_52_consts_11_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_other._ascii.ob_base, & const_str_chain._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(128) -_collections_abc_toplevel_consts_50_consts_11 = { + struct _PyCode_DEF(102) +_collections_abc_toplevel_consts_52_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 64, + .ob_size = 51, }, - .co_consts = & _collections_abc_toplevel_consts_50_consts_11_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_9_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_52_consts_11_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 599, + .co_firstlineno = 632, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_11_localsplusnames._object.ob_base.ob_base, + .co_version = 447, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__or__), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_11_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x64\x01\x84\x00\x7c\x00\x7c\x01\x66\x02\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_11_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_11_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x64\x01\x84\x00\x7c\x00\x7c\x01\x66\x02\x44\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -83634,10 +81258,10 @@ static PyASCIIObject _ascii; uint8_t _data[31]; } -_collections_abc_toplevel_consts_50_consts_12_consts_1_qualname = { +_collections_abc_toplevel_consts_52_consts_12_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -83646,7 +81270,7 @@ _collections_abc_toplevel_consts_50_consts_12_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__sub__..", @@ -83655,18 +81279,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[58]; + char ob_sval[33]; } -_collections_abc_toplevel_consts_50_consts_12_consts_1_linetable = { +_collections_abc_toplevel_consts_52_consts_12_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 57, + .ob_size = 32, + }, + .ob_shash = -1, + .ob_sval = "\xf8\xe8\x00\xf8\x80\x00\xf2\x00\x01\x23\x3a\xa8\x55\xd8\x26\x2b\xb0\x35\xd1\x26\x38\xf4\x03\x00\x24\x29\xf1\x00\x01\x23\x3a\xf9", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +_collections_abc_toplevel_consts_52_consts_12_consts_1_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, }, .ob_shash = -1, - .ob_sval = "\xf8\xe8\x00\xe8\x00\x80\x00\xf0\x00\x01\x23\x3a\xf0\x00\x01\x23\x3a\xa8\x55\xd8\x26\x2b\xb0\x35\xd0\x26\x38\xd0\x26\x38\xf0\x03\x00\x24\x29\xd8\x26\x38\xd0\x26\x38\xd0\x26\x38\xd0\x26\x38\xf0\x03\x01\x23\x3a\xf0\x00\x01\x23\x3a", + .ob_sval = "\x83\x10\x13\x01", }; static struct { @@ -83676,57 +81317,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_50_consts_12_consts_1_localsplusnames = { +_collections_abc_toplevel_consts_52_consts_12_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(value), & const_str_other._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(36) -_collections_abc_toplevel_consts_50_consts_12_consts_1 = { + struct _PyCode_DEF(42) +_collections_abc_toplevel_consts_52_consts_12_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 21, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_52_consts_12_consts_1_exceptiontable.ob_base.ob_base, .co_flags = 51, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 612, + .co_firstlineno = 645, .co_nlocalsplus = 3, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_12_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, + .co_version = 448, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_12_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_genexpr), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_12_consts_1_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_12_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x0a\x7d\x01\x7c\x01\x89\x02\x76\x01\xaf\x06\x7c\x01\x56\x00\x97\x01\x01\x00\x8c\x0b\x64\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_12_consts_1_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_12_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x0a\x00\x00\x7d\x01\x7c\x01\x89\x02\x76\x01\x72\x04\x7c\x01\x96\x01\x97\x01\x01\x00\x8c\x0c\x04\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 3, }; static @@ -83737,18 +81376,18 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_50_consts_12_consts = { +_collections_abc_toplevel_consts_52_consts_12_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & _collections_abc_toplevel_consts_50_consts_12_consts_1.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_12_consts_1.ob_base.ob_base, }, }, }; @@ -83760,11 +81399,11 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_50_consts_12_names = { +_collections_abc_toplevel_consts_52_consts_12_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -83783,10 +81422,10 @@ static PyASCIIObject _ascii; uint8_t _data[12]; } -_collections_abc_toplevel_consts_50_consts_12_qualname = { +_collections_abc_toplevel_consts_52_consts_12_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -83795,7 +81434,7 @@ _collections_abc_toplevel_consts_50_consts_12_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__sub__", @@ -83804,18 +81443,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[126]; + char ob_sval[77]; } -_collections_abc_toplevel_consts_50_consts_12_linetable = { +_collections_abc_toplevel_consts_52_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 125, + .ob_size = 76, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xdd\x0f\x19\x98\x25\xa5\x13\xd1\x0f\x25\xd4\x0f\x25\xf0\x00\x03\x09\x2f\xdd\x13\x1d\x98\x65\xa5\x58\xd1\x13\x2e\xd4\x13\x2e\xf0\x00\x01\x0d\x26\xdd\x17\x25\xd0\x10\x25\xd8\x14\x18\xd7\x14\x27\xd2\x14\x27\xa8\x05\xd1\x14\x2e\xd4\x14\x2e\x88\x45\xd8\x0f\x13\xd7\x0f\x22\xd2\x0f\x22\xf0\x00\x01\x23\x3a\xf0\x00\x01\x23\x3a\xf0\x00\x01\x23\x3a\xf0\x00\x01\x23\x3a\xb0\x64\xf0\x00\x01\x23\x3a\xf1\x00\x01\x23\x3a\xf4\x00\x01\x23\x3a\xf1\x00\x01\x10\x3a\xf4\x00\x01\x10\x3a\xf0\x00\x01\x09\x3a", + .ob_sval = "\xf8\x80\x00\xdc\x0f\x19\x98\x25\xa4\x13\xd4\x0f\x25\xdc\x13\x1d\x98\x65\xa4\x58\xd4\x13\x2e\xdc\x17\x25\xd0\x10\x25\xd8\x14\x18\xd7\x14\x27\xd1\x14\x27\xa8\x05\xd3\x14\x2e\x88\x45\xd8\x0f\x13\xd7\x0f\x22\xd1\x0f\x22\xf3\x00\x01\x23\x3a\xb0\x64\xf4\x00\x01\x23\x3a\xf3\x00\x01\x10\x3a\xf0\x00\x01\x09\x3a", }; static struct { @@ -83823,10 +81462,10 @@ static Py_hash_t ob_shash; char ob_sval[3]; } -_collections_abc_toplevel_consts_50_consts_12_localspluskinds = { +_collections_abc_toplevel_consts_52_consts_12_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 2, @@ -83835,40 +81474,38 @@ _collections_abc_toplevel_consts_50_consts_12_localspluskinds = { .ob_sval = " `", }; static - struct _PyCode_DEF(210) -_collections_abc_toplevel_consts_50_consts_12 = { + struct _PyCode_DEF(166) +_collections_abc_toplevel_consts_52_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 105, + .ob_size = 83, }, - .co_consts = & _collections_abc_toplevel_consts_50_consts_12_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_12_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_52_consts_12_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 607, + .co_firstlineno = 640, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & _collections_abc_toplevel_consts_50_consts_12_localspluskinds.ob_base.ob_base, + .co_version = 449, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & _collections_abc_toplevel_consts_52_consts_12_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__sub__), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_12_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x31\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x01\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x01\x66\x01\x64\x01\x84\x08\x7c\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_12_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_12_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x27\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\xab\x01\x00\x00\x00\x00\x00\x00\x8a\x01\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x01\x66\x01\x64\x01\x84\x08\x7c\x00\x44\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -83876,10 +81513,10 @@ static PyASCIIObject _ascii; uint8_t _data[32]; } -_collections_abc_toplevel_consts_50_consts_13_consts_1_qualname = { +_collections_abc_toplevel_consts_52_consts_13_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 31, @@ -83888,7 +81525,7 @@ _collections_abc_toplevel_consts_50_consts_13_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__rsub__..", @@ -83897,54 +81534,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[58]; + char ob_sval[33]; } -_collections_abc_toplevel_consts_50_consts_13_consts_1_linetable = { +_collections_abc_toplevel_consts_52_consts_13_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 57, + .ob_size = 32, }, .ob_shash = -1, - .ob_sval = "\xf8\xe8\x00\xe8\x00\x80\x00\xf0\x00\x01\x23\x39\xf0\x00\x01\x23\x39\xa8\x55\xd8\x26\x2b\xb0\x34\xd0\x26\x37\xd0\x26\x37\xf0\x03\x00\x24\x29\xd8\x26\x37\xd0\x26\x37\xd0\x26\x37\xd0\x26\x37\xf0\x03\x01\x23\x39\xf0\x00\x01\x23\x39", + .ob_sval = "\xf8\xe8\x00\xf8\x80\x00\xf2\x00\x01\x23\x39\xa8\x55\xd8\x26\x2b\xb0\x34\xd1\x26\x37\xf4\x03\x00\x24\x29\xf1\x00\x01\x23\x39\xf9", }; static - struct _PyCode_DEF(36) -_collections_abc_toplevel_consts_50_consts_13_consts_1 = { + struct _PyCode_DEF(42) +_collections_abc_toplevel_consts_52_consts_13_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 21, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_52_consts_12_consts_1_exceptiontable.ob_base.ob_base, .co_flags = 51, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 620, + .co_firstlineno = 653, .co_nlocalsplus = 3, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_9_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, + .co_version = 450, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_9_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_genexpr), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_13_consts_1_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_13_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x0a\x7d\x01\x7c\x01\x89\x02\x76\x01\xaf\x06\x7c\x01\x56\x00\x97\x01\x01\x00\x8c\x0b\x64\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_13_consts_1_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_13_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x0a\x00\x00\x7d\x01\x7c\x01\x89\x02\x76\x01\x72\x04\x7c\x01\x96\x01\x97\x01\x01\x00\x8c\x0c\x04\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 3, }; static @@ -83955,18 +81590,18 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_50_consts_13_consts = { +_collections_abc_toplevel_consts_52_consts_13_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & _collections_abc_toplevel_consts_50_consts_13_consts_1.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_13_consts_1.ob_base.ob_base, }, }, }; @@ -83975,10 +81610,10 @@ static PyASCIIObject _ascii; uint8_t _data[13]; } -_collections_abc_toplevel_consts_50_consts_13_qualname = { +_collections_abc_toplevel_consts_52_consts_13_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -83987,7 +81622,7 @@ _collections_abc_toplevel_consts_50_consts_13_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__rsub__", @@ -83996,54 +81631,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[126]; + char ob_sval[77]; } -_collections_abc_toplevel_consts_50_consts_13_linetable = { +_collections_abc_toplevel_consts_52_consts_13_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 125, + .ob_size = 76, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xdd\x0f\x19\x98\x25\xa5\x13\xd1\x0f\x25\xd4\x0f\x25\xf0\x00\x03\x09\x2f\xdd\x13\x1d\x98\x65\xa5\x58\xd1\x13\x2e\xd4\x13\x2e\xf0\x00\x01\x0d\x26\xdd\x17\x25\xd0\x10\x25\xd8\x14\x18\xd7\x14\x27\xd2\x14\x27\xa8\x05\xd1\x14\x2e\xd4\x14\x2e\x88\x45\xd8\x0f\x13\xd7\x0f\x22\xd2\x0f\x22\xf0\x00\x01\x23\x39\xf0\x00\x01\x23\x39\xf0\x00\x01\x23\x39\xf0\x00\x01\x23\x39\xb0\x65\xf0\x00\x01\x23\x39\xf1\x00\x01\x23\x39\xf4\x00\x01\x23\x39\xf1\x00\x01\x10\x39\xf4\x00\x01\x10\x39\xf0\x00\x01\x09\x39", + .ob_sval = "\xf8\x80\x00\xdc\x0f\x19\x98\x25\xa4\x13\xd4\x0f\x25\xdc\x13\x1d\x98\x65\xa4\x58\xd4\x13\x2e\xdc\x17\x25\xd0\x10\x25\xd8\x14\x18\xd7\x14\x27\xd1\x14\x27\xa8\x05\xd3\x14\x2e\x88\x45\xd8\x0f\x13\xd7\x0f\x22\xd1\x0f\x22\xf3\x00\x01\x23\x39\xb0\x65\xf4\x00\x01\x23\x39\xf3\x00\x01\x10\x39\xf0\x00\x01\x09\x39", }; static - struct _PyCode_DEF(210) -_collections_abc_toplevel_consts_50_consts_13 = { + struct _PyCode_DEF(166) +_collections_abc_toplevel_consts_52_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 105, + .ob_size = 83, }, - .co_consts = & _collections_abc_toplevel_consts_50_consts_13_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_12_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_52_consts_13_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 615, + .co_firstlineno = 648, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_localspluskinds.ob_base.ob_base, + .co_version = 451, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_26_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__rsub__), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_13_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x31\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x89\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x89\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x01\x84\x08\x7c\x01\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_13_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_13_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x27\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x89\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x89\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x01\x84\x08\x7c\x01\x44\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -84051,10 +81684,10 @@ static PyASCIIObject _ascii; uint8_t _data[12]; } -_collections_abc_toplevel_consts_50_consts_14_qualname = { +_collections_abc_toplevel_consts_52_consts_14_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -84063,7 +81696,7 @@ _collections_abc_toplevel_consts_50_consts_14_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set.__xor__", @@ -84072,54 +81705,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[83]; + char ob_sval[64]; } -_collections_abc_toplevel_consts_50_consts_14_linetable = { +_collections_abc_toplevel_consts_52_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 82, + .ob_size = 63, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x25\xa5\x13\xd1\x0f\x25\xd4\x0f\x25\xf0\x00\x03\x09\x2f\xdd\x13\x1d\x98\x65\xa5\x58\xd1\x13\x2e\xd4\x13\x2e\xf0\x00\x01\x0d\x26\xdd\x17\x25\xd0\x10\x25\xd8\x14\x18\xd7\x14\x27\xd2\x14\x27\xa8\x05\xd1\x14\x2e\xd4\x14\x2e\x88\x45\xd8\x10\x14\x90\x75\x91\x0c\xa0\x15\xa8\x14\xa1\x1c\xd1\x0f\x2e\xd0\x08\x2e", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x25\xa4\x13\xd4\x0f\x25\xdc\x13\x1d\x98\x65\xa4\x58\xd4\x13\x2e\xdc\x17\x25\xd0\x10\x25\xd8\x14\x18\xd7\x14\x27\xd1\x14\x27\xa8\x05\xd3\x14\x2e\x88\x45\xd8\x10\x14\x90\x75\x91\x0c\xa0\x15\xa8\x14\xa1\x1c\xd1\x0f\x2e\xd0\x08\x2e", }; static - struct _PyCode_DEF(164) -_collections_abc_toplevel_consts_50_consts_14 = { + struct _PyCode_DEF(134) +_collections_abc_toplevel_consts_52_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 82, + .ob_size = 67, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_12_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 623, + .co_firstlineno = 656, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 452, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__xor__), - .co_qualname = & _collections_abc_toplevel_consts_50_consts_14_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x31\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x7c\x01\x7a\x0a\x00\x00\x7c\x01\x7c\x00\x7a\x0a\x00\x00\x7a\x07\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_14_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_14_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x27\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x7c\x01\x7a\x0a\x00\x00\x7c\x01\x7c\x00\x7a\x0a\x00\x00\x7a\x07\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -84127,10 +81758,10 @@ static PyASCIIObject _ascii; uint8_t _data[556]; } -_collections_abc_toplevel_consts_50_consts_15_consts_0 = { +_collections_abc_toplevel_consts_52_consts_15_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 555, @@ -84139,7 +81770,7 @@ _collections_abc_toplevel_consts_50_consts_15_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x43\x6f\x6d\x70\x75\x74\x65\x20\x74\x68\x65\x20\x68\x61\x73\x68\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x61\x20\x73\x65\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x4e\x6f\x74\x65\x20\x74\x68\x61\x74\x20\x77\x65\x20\x64\x6f\x6e\x27\x74\x20\x64\x65\x66\x69\x6e\x65\x20\x5f\x5f\x68\x61\x73\x68\x5f\x5f\x3a\x20\x6e\x6f\x74\x20\x61\x6c\x6c\x20\x73\x65\x74\x73\x20\x61\x72\x65\x20\x68\x61\x73\x68\x61\x62\x6c\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x42\x75\x74\x20\x69\x66\x20\x79\x6f\x75\x20\x64\x65\x66\x69\x6e\x65\x20\x61\x20\x68\x61\x73\x68\x61\x62\x6c\x65\x20\x73\x65\x74\x20\x74\x79\x70\x65\x2c\x20\x69\x74\x73\x20\x5f\x5f\x68\x61\x73\x68\x5f\x5f\x20\x73\x68\x6f\x75\x6c\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x6c\x6c\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x69\x73\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x20\x5f\x5f\x65\x71\x5f\x5f\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x41\x6c\x6c\x20\x73\x65\x74\x73\x20\x6f\x75\x67\x68\x74\x20\x74\x6f\x20\x63\x6f\x6d\x70\x61\x72\x65\x20\x65\x71\x75\x61\x6c\x20\x69\x66\x20\x74\x68\x65\x79\x20\x63\x6f\x6e\x74\x61\x69\x6e\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2c\x20\x72\x65\x67\x61\x72\x64\x6c\x65\x73\x73\x20\x6f\x66\x20\x68\x6f\x77\x20\x74\x68\x65\x79\x20\x61\x72\x65\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x2c\x20\x61\x6e\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x67\x61\x72\x64\x6c\x65\x73\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x6f\x72\x64\x65\x72\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x6c\x65\x6d\x65\x6e\x74\x73\x3b\x20\x73\x6f\x20\x74\x68\x65\x72\x65\x27\x73\x20\x6e\x6f\x74\x20\x6d\x75\x63\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x72\x65\x65\x64\x6f\x6d\x20\x66\x6f\x72\x20\x5f\x5f\x65\x71\x5f\x5f\x20\x6f\x72\x20\x5f\x5f\x68\x61\x73\x68\x5f\x5f\x2e\x20\x20\x57\x65\x20\x6d\x61\x74\x63\x68\x20\x74\x68\x65\x20\x61\x6c\x67\x6f\x72\x69\x74\x68\x6d\x20\x75\x73\x65\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x62\x79\x20\x74\x68\x65\x20\x62\x75\x69\x6c\x74\x2d\x69\x6e\x20\x66\x72\x6f\x7a\x65\x6e\x73\x65\x74\x20\x74\x79\x70\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -84147,33 +81778,31 @@ _collections_abc_toplevel_consts_50_consts_15_consts_0 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[3]; } const_int_1927868237 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 3, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 3), .ob_digit = { 28493, 26065, 1 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_1927868237 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 854126413, 1 }, }; #else @@ -84182,33 +81811,31 @@ const_int_1927868237 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_89869747 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 19891, 2742 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_89869747 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 89869747 }, }; #else @@ -84217,33 +81844,31 @@ const_int_89869747 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[3]; } const_int_3644798167 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 3, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 3), .ob_digit = { 13527, 12926, 3 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_3644798167 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 423572695, 3 }, }; #else @@ -84252,33 +81877,31 @@ const_int_3644798167 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_69069 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 3533, 2 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_69069 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 69069 }, }; #else @@ -84287,33 +81910,31 @@ const_int_69069 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_907133923 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 17379, 27683 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_907133923 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 907133923 }, }; #else @@ -84322,33 +81943,31 @@ const_int_907133923 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_590923713 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 18369, 18033 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_590923713 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 590923713 }, }; #else @@ -84362,29 +81981,29 @@ static PyObject *ob_item[13]; }_object; } -_collections_abc_toplevel_consts_50_consts_15_consts = { +_collections_abc_toplevel_consts_52_consts_15_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, }, .ob_item = { - & _collections_abc_toplevel_consts_50_consts_15_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_52_consts_15_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], - & const_int_1927868237.ob_base.ob_base, + & const_int_1927868237.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 16], - & const_int_89869747.ob_base.ob_base, - & const_int_3644798167.ob_base.ob_base, + & const_int_89869747.ob_base, + & const_int_3644798167.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 11], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 25], - & const_int_69069.ob_base.ob_base, - & const_int_907133923.ob_base.ob_base, + & const_int_69069.ob_base, + & const_int_907133923.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], - & const_int_590923713.ob_base.ob_base, + & const_int_590923713.ob_base, }, }, }; @@ -84396,7 +82015,7 @@ static const_str_maxsize = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -84405,7 +82024,7 @@ const_str_maxsize = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "maxsize", @@ -84418,11 +82037,11 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_50_consts_15_names = { +_collections_abc_toplevel_consts_52_consts_15_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -84443,7 +82062,7 @@ static const_str__hash = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -84452,7 +82071,7 @@ const_str__hash = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_hash", @@ -84462,10 +82081,10 @@ static PyASCIIObject _ascii; uint8_t _data[10]; } -_collections_abc_toplevel_consts_50_consts_15_qualname = { +_collections_abc_toplevel_consts_52_consts_15_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -84474,7 +82093,7 @@ _collections_abc_toplevel_consts_50_consts_15_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set._hash", @@ -84483,18 +82102,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[211]; + char ob_sval[205]; } -_collections_abc_toplevel_consts_50_consts_15_linetable = { +_collections_abc_toplevel_consts_52_consts_15_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 210, + .ob_size = 204, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x1e\x00\x0f\x12\x8c\x6b\x88\x03\xd8\x0f\x10\x90\x33\x89\x77\x98\x11\x89\x7b\x88\x04\xdd\x0c\x0f\x90\x04\x89\x49\x8c\x49\x88\x01\xd8\x0c\x16\x98\x21\x98\x61\x99\x25\xd1\x0c\x20\x88\x01\xd8\x08\x09\x88\x54\x89\x09\x88\x01\xd8\x11\x15\xf0\x00\x03\x09\x16\xf0\x00\x03\x09\x16\x88\x41\xdd\x11\x15\x90\x61\x91\x17\x94\x17\x88\x42\xd8\x0c\x0d\x90\x22\x98\x02\x98\x62\x99\x08\x91\x2f\xa0\x48\xd1\x12\x2c\xb0\x1a\xd1\x11\x3b\xd1\x0c\x3b\x88\x41\xd8\x0c\x0d\x90\x14\x89\x49\x88\x41\x88\x41\xd8\x08\x09\x88\x61\x90\x32\x89\x67\x98\x21\x98\x72\x99\x27\xd1\x0d\x22\xd1\x08\x22\x88\x01\xd8\x0c\x0d\x90\x05\x89\x49\x98\x09\xd1\x0c\x21\x88\x01\xd8\x08\x09\x88\x54\x89\x09\x88\x01\xd8\x0b\x0c\x88\x73\x8a\x37\x88\x37\xd8\x0c\x0d\x90\x14\x98\x01\x91\x18\x89\x4d\x88\x41\xd8\x0b\x0c\x90\x02\x8a\x37\x88\x37\xd8\x10\x19\x88\x41\xd8\x0f\x10\x88\x08", + .ob_sval = "\x80\x00\xf4\x1e\x00\x0f\x12\x8f\x6b\x89\x6b\x88\x03\xd8\x0f\x10\x90\x33\x89\x77\x98\x11\x89\x7b\x88\x04\xdc\x0c\x0f\x90\x04\x8b\x49\x88\x01\xd8\x0c\x16\x98\x21\x98\x61\x99\x25\xd1\x0c\x20\x88\x01\xd8\x08\x09\x88\x54\x89\x09\x88\x01\xd8\x11\x15\xf2\x00\x03\x09\x16\x88\x41\xdc\x11\x15\x90\x61\x93\x17\x88\x42\xd8\x0c\x0d\x90\x22\x98\x02\x98\x62\x99\x08\x91\x2f\xa0\x48\xd1\x12\x2c\xb0\x1a\xd1\x11\x3b\xd1\x0c\x3b\x88\x41\xd8\x0c\x0d\x90\x14\x89\x49\x89\x41\xf0\x07\x03\x09\x16\xf0\x08\x00\x09\x0a\x88\x61\x90\x32\x89\x67\x98\x21\x98\x72\x99\x27\xd1\x0d\x22\xd1\x08\x22\x88\x01\xd8\x0c\x0d\x90\x05\x89\x49\x98\x09\xd1\x0c\x21\x88\x01\xd8\x08\x09\x88\x54\x89\x09\x88\x01\xd8\x0b\x0c\x88\x73\x8a\x37\xd8\x0c\x0d\x90\x14\x98\x01\x91\x18\x89\x4d\x88\x41\xd8\x0b\x0c\x90\x02\x8a\x37\xd8\x10\x19\x88\x41\xd8\x0f\x10\x88\x08", }; static struct { @@ -84504,7 +82123,7 @@ static const_str_MAX = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -84513,7 +82132,7 @@ const_str_MAX = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MAX", @@ -84526,7 +82145,7 @@ static const_str_MASK = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -84535,55 +82154,11 @@ const_str_MASK = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MASK", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_n = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "n", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_h = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "h", -}; static struct { PyASCIIObject _ascii; @@ -84592,7 +82167,7 @@ static const_str_hx = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -84601,7 +82176,7 @@ const_str_hx = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "hx", @@ -84614,61 +82189,59 @@ static PyObject *ob_item[7]; }_object; } -_collections_abc_toplevel_consts_50_consts_15_localsplusnames = { +_collections_abc_toplevel_consts_52_consts_15_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_MAX._ascii.ob_base, & const_str_MASK._ascii.ob_base, - & const_str_n._ascii.ob_base, - & const_str_h._ascii.ob_base, - & const_str_x._ascii.ob_base, + &_Py_ID(n), + (PyObject *)&_Py_SINGLETON(strings).ascii[104], + &_Py_ID(x), & const_str_hx._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(284) -_collections_abc_toplevel_consts_50_consts_15 = { + struct _PyCode_DEF(276) +_collections_abc_toplevel_consts_52_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 142, + .ob_size = 138, }, - .co_consts = & _collections_abc_toplevel_consts_50_consts_15_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_consts_15_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_52_consts_15_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_consts_15_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 632, + .co_firstlineno = 665, .co_nlocalsplus = 7, .co_nlocals = 7, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_15_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_12_localspluskinds.ob_base.ob_base, + .co_version = 453, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_15_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__hash._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_50_consts_15_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x64\x01\x7c\x01\x7a\x05\x00\x00\x64\x02\x7a\x00\x00\x00\x7d\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x64\x03\x7c\x03\x64\x02\x7a\x00\x00\x00\x7a\x05\x00\x00\x7d\x04\x7c\x04\x7c\x02\x7a\x0e\x00\x00\x7d\x04\x7c\x00\x44\x00\x5d\x27\x7d\x05\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x04\x7c\x06\x7c\x06\x64\x04\x7a\x03\x00\x00\x7a\x0c\x00\x00\x64\x05\x7a\x0c\x00\x00\x64\x06\x7a\x05\x00\x00\x7a\x19\x00\x00\x7d\x04\x7c\x04\x7c\x02\x7a\x0e\x00\x00\x7d\x04\x8c\x28\x7c\x04\x7c\x04\x64\x07\x7a\x09\x00\x00\x7c\x04\x64\x08\x7a\x09\x00\x00\x7a\x0c\x00\x00\x7a\x19\x00\x00\x7d\x04\x7c\x04\x64\x09\x7a\x05\x00\x00\x64\x0a\x7a\x00\x00\x00\x7d\x04\x7c\x04\x7c\x02\x7a\x0e\x00\x00\x7d\x04\x7c\x04\x7c\x01\x6b\x04\x00\x00\x00\x00\x72\x08\x7c\x04\x7c\x02\x64\x02\x7a\x00\x00\x00\x7a\x17\x00\x00\x7d\x04\x7c\x04\x64\x0b\x6b\x02\x00\x00\x00\x00\x72\x02\x64\x0c\x7d\x04\x7c\x04\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_52_consts_15_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_52_consts_15_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x64\x01\x7c\x01\x7a\x05\x00\x00\x64\x02\x7a\x00\x00\x00\x7d\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x64\x03\x7c\x03\x64\x02\x7a\x00\x00\x00\x7a\x05\x00\x00\x7d\x04\x7c\x04\x7c\x02\x7a\x0e\x00\x00\x7d\x04\x7c\x00\x44\x00\x5d\x23\x00\x00\x7d\x05\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x04\x7c\x06\x7c\x06\x64\x04\x7a\x03\x00\x00\x7a\x0c\x00\x00\x64\x05\x7a\x0c\x00\x00\x64\x06\x7a\x05\x00\x00\x7a\x19\x00\x00\x7d\x04\x7c\x04\x7c\x02\x7a\x0e\x00\x00\x7d\x04\x8c\x25\x04\x00\x7c\x04\x7c\x04\x64\x07\x7a\x09\x00\x00\x7c\x04\x64\x08\x7a\x09\x00\x00\x7a\x0c\x00\x00\x7a\x19\x00\x00\x7d\x04\x7c\x04\x64\x09\x7a\x05\x00\x00\x64\x0a\x7a\x00\x00\x00\x7d\x04\x7c\x04\x7c\x02\x7a\x0e\x00\x00\x7d\x04\x7c\x04\x7c\x01\x6b\x44\x00\x00\x72\x08\x7c\x04\x7c\x02\x64\x02\x7a\x00\x00\x00\x7a\x17\x00\x00\x7d\x04\x7c\x04\x64\x0b\x6b\x28\x00\x00\x72\x02\x64\x0c\x7d\x04\x7c\x04\x53\x00", ._co_firsttraceable = 0, }; static @@ -84679,32 +82252,32 @@ static PyObject *ob_item[17]; }_object; } -_collections_abc_toplevel_consts_50_consts = { +_collections_abc_toplevel_consts_52_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 17, }, .ob_item = { & const_str_Set._ascii.ob_base, - & _collections_abc_toplevel_consts_50_consts_1._ascii.ob_base, + & _collections_abc_toplevel_consts_52_consts_1._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), - & _collections_abc_toplevel_consts_50_consts_3.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_4.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_5.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_6.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_7.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_8.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_9.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_10.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_11.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_12.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_13.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_14.ob_base.ob_base, - & _collections_abc_toplevel_consts_50_consts_15.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_3.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_5.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_6.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_7.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_8.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_9.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_10.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_11.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_12.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_13.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_14.ob_base.ob_base, + & _collections_abc_toplevel_consts_52_consts_15.ob_base.ob_base, Py_None, }, }, @@ -84717,11 +82290,11 @@ static PyObject *ob_item[22]; }_object; } -_collections_abc_toplevel_consts_50_names = { +_collections_abc_toplevel_consts_52_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 22, @@ -84756,54 +82329,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[269]; + char ob_sval[117]; } -_collections_abc_toplevel_consts_50_linetable = { +_collections_abc_toplevel_consts_52_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 268, + .ob_size = 116, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x08\x05\x08\xf0\x00\x08\x05\x08\xf0\x14\x00\x11\x13\x80\x49\xf0\x04\x08\x05\x14\xf0\x00\x08\x05\x14\xf0\x00\x08\x05\x14\xf0\x14\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x0a\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x0a\x08\x05\x14\xf0\x00\x08\x05\x14\xf0\x00\x08\x05\x14\xf0\x14\x03\x05\x3e\xf0\x00\x03\x05\x3e\xf0\x00\x03\x05\x3e\xf0\x0a\x00\x06\x11\xf0\x02\x06\x05\x17\xf0\x00\x06\x05\x17\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x06\x05\x17\xf0\x10\x03\x05\x4e\x01\xf0\x00\x03\x05\x4e\x01\xf0\x00\x03\x05\x4e\x01\xf0\x0a\x00\x10\x17\x80\x48\xf0\x04\x05\x05\x14\xf0\x00\x05\x05\x14\xf0\x00\x05\x05\x14\xf0\x0e\x04\x05\x2a\xf0\x00\x04\x05\x2a\xf0\x00\x04\x05\x2a\xf0\x0c\x00\x0f\x15\x80\x47\xf0\x04\x06\x05\x3a\xf0\x00\x06\x05\x3a\xf0\x00\x06\x05\x3a\xf0\x10\x06\x05\x39\xf0\x00\x06\x05\x39\xf0\x00\x06\x05\x39\xf0\x10\x05\x05\x2f\xf0\x00\x05\x05\x2f\xf0\x00\x05\x05\x2f\xf0\x0e\x00\x10\x17\x80\x48\xf0\x04\x1f\x05\x11\xf0\x00\x1f\x05\x11\xf0\x00\x1f\x05\x11\xf0\x00\x1f\x05\x11\xf0\x00\x1f\x05\x11", + .ob_sval = "\x84\x00\xf1\x02\x08\x05\x08\xf0\x14\x00\x11\x13\x80\x49\xf2\x04\x08\x05\x14\xf2\x14\x03\x05\x3d\xf2\x0a\x03\x05\x3d\xf2\x0a\x08\x05\x14\xf2\x14\x03\x05\x3e\xf0\x0a\x00\x06\x11\xf1\x02\x06\x05\x17\xf3\x03\x00\x06\x11\xf0\x02\x06\x05\x17\xf2\x10\x03\x05\x4e\x01\xf0\x0a\x00\x10\x17\x80\x48\xf2\x04\x05\x05\x14\xf2\x0e\x04\x05\x2a\xf0\x0c\x00\x0f\x15\x80\x47\xf2\x04\x06\x05\x3a\xf2\x10\x06\x05\x39\xf2\x10\x05\x05\x2f\xf0\x0e\x00\x10\x17\x80\x48\xf3\x04\x1f\x05\x11", }; static - struct _PyCode_DEF(128) -_collections_abc_toplevel_consts_50 = { + struct _PyCode_DEF(120) +_collections_abc_toplevel_consts_52 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 64, + .ob_size = 60, }, - .co_consts = & _collections_abc_toplevel_consts_50_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_50_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_52_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_52_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 528, + .co_firstlineno = 561, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 454, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Set._ascii.ob_base, .co_qualname = & const_str_Set._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_50_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x64\x07\x84\x00\x5a\x09\x65\x0a\x64\x08\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0b\x64\x09\x84\x00\x5a\x0c\x65\x0c\x5a\x0d\x64\x0a\x84\x00\x5a\x0e\x64\x0b\x84\x00\x5a\x0f\x65\x0f\x5a\x10\x64\x0c\x84\x00\x5a\x11\x64\x0d\x84\x00\x5a\x12\x64\x0e\x84\x00\x5a\x13\x65\x13\x5a\x14\x64\x0f\x84\x00\x5a\x15\x64\x10\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_52_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x64\x07\x84\x00\x5a\x09\x65\x0a\x64\x08\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x0b\x64\x09\x84\x00\x5a\x0c\x65\x0c\x5a\x0d\x64\x0a\x84\x00\x5a\x0e\x64\x0b\x84\x00\x5a\x0f\x65\x0f\x5a\x10\x64\x0c\x84\x00\x5a\x11\x64\x0d\x84\x00\x5a\x12\x64\x0e\x84\x00\x5a\x13\x65\x13\x5a\x14\x64\x0f\x84\x00\x5a\x15\x79\x10", ._co_firsttraceable = 0, }; static @@ -84811,10 +82382,10 @@ static PyASCIIObject _ascii; uint8_t _data[392]; } -_collections_abc_toplevel_consts_52_consts_1 = { +_collections_abc_toplevel_consts_54_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 391, @@ -84823,7 +82394,7 @@ _collections_abc_toplevel_consts_52_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x20\x6d\x75\x74\x61\x62\x6c\x65\x20\x73\x65\x74\x20\x69\x73\x20\x61\x20\x66\x69\x6e\x69\x74\x65\x2c\x20\x69\x74\x65\x72\x61\x62\x6c\x65\x20\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x63\x6c\x61\x73\x73\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x63\x6f\x6e\x63\x72\x65\x74\x65\x20\x67\x65\x6e\x65\x72\x69\x63\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x73\x20\x6f\x66\x20\x61\x6c\x6c\x0a\x20\x20\x20\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x65\x78\x63\x65\x70\x74\x20\x66\x6f\x72\x20\x5f\x5f\x63\x6f\x6e\x74\x61\x69\x6e\x73\x5f\x5f\x2c\x20\x5f\x5f\x69\x74\x65\x72\x5f\x5f\x2c\x20\x5f\x5f\x6c\x65\x6e\x5f\x5f\x2c\x0a\x20\x20\x20\x20\x61\x64\x64\x28\x29\x2c\x20\x61\x6e\x64\x20\x64\x69\x73\x63\x61\x72\x64\x28\x29\x2e\x0a\x0a\x20\x20\x20\x20\x54\x6f\x20\x6f\x76\x65\x72\x72\x69\x64\x65\x20\x74\x68\x65\x20\x63\x6f\x6d\x70\x61\x72\x69\x73\x6f\x6e\x73\x20\x28\x70\x72\x65\x73\x75\x6d\x61\x62\x6c\x79\x20\x66\x6f\x72\x20\x73\x70\x65\x65\x64\x2c\x20\x61\x73\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x73\x65\x6d\x61\x6e\x74\x69\x63\x73\x20\x61\x72\x65\x20\x66\x69\x78\x65\x64\x29\x2c\x20\x61\x6c\x6c\x20\x79\x6f\x75\x20\x68\x61\x76\x65\x20\x74\x6f\x20\x64\x6f\x20\x69\x73\x20\x72\x65\x64\x65\x66\x69\x6e\x65\x20\x5f\x5f\x6c\x65\x5f\x5f\x20\x61\x6e\x64\x0a\x20\x20\x20\x20\x74\x68\x65\x6e\x20\x74\x68\x65\x20\x6f\x74\x68\x65\x72\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\x6e\x73\x20\x77\x69\x6c\x6c\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79\x20\x66\x6f\x6c\x6c\x6f\x77\x20\x73\x75\x69\x74\x2e\x0a\x20\x20\x20\x20", @@ -84833,10 +82404,10 @@ static PyASCIIObject _ascii; uint8_t _data[16]; } -_collections_abc_toplevel_consts_52_consts_3_consts_0 = { +_collections_abc_toplevel_consts_54_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -84845,7 +82416,7 @@ _collections_abc_toplevel_consts_52_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Add an element.", @@ -84858,17 +82429,17 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_52_consts_3_consts = { +_collections_abc_toplevel_consts_54_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & _collections_abc_toplevel_consts_52_consts_3_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_54_consts_3_consts_0._ascii.ob_base, }, }, }; @@ -84877,10 +82448,10 @@ static PyASCIIObject _ascii; uint8_t _data[15]; } -_collections_abc_toplevel_consts_52_consts_3_qualname = { +_collections_abc_toplevel_consts_54_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -84889,46 +82460,44 @@ _collections_abc_toplevel_consts_52_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSet.add", }; static - struct _PyCode_DEF(16) -_collections_abc_toplevel_consts_52_consts_3 = { + struct _PyCode_DEF(14) +_collections_abc_toplevel_consts_54_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, - .co_consts = & _collections_abc_toplevel_consts_52_consts_3_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_54_consts_3_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 683, + .co_firstlineno = 716, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 455, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(add), - .co_qualname = & _collections_abc_toplevel_consts_52_consts_3_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & _collections_abc_toplevel_consts_54_consts_3_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -84936,10 +82505,10 @@ static PyASCIIObject _ascii; uint8_t _data[57]; } -_collections_abc_toplevel_consts_52_consts_4_consts_0 = { +_collections_abc_toplevel_consts_54_consts_4_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 56, @@ -84948,7 +82517,7 @@ _collections_abc_toplevel_consts_52_consts_4_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Remove an element. Do not raise an exception if absent.", @@ -84961,51 +82530,29 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_52_consts_4_consts = { +_collections_abc_toplevel_consts_54_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & _collections_abc_toplevel_consts_52_consts_4_consts_0._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[8]; - } -const_str_discard = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 7, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + & _collections_abc_toplevel_consts_54_consts_4_consts_0._ascii.ob_base, }, }, - ._data = "discard", }; static struct { PyASCIIObject _ascii; uint8_t _data[19]; } -_collections_abc_toplevel_consts_52_consts_4_qualname = { +_collections_abc_toplevel_consts_54_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -85014,46 +82561,44 @@ _collections_abc_toplevel_consts_52_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSet.discard", }; static - struct _PyCode_DEF(16) -_collections_abc_toplevel_consts_52_consts_4 = { + struct _PyCode_DEF(14) +_collections_abc_toplevel_consts_54_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, - .co_consts = & _collections_abc_toplevel_consts_52_consts_4_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_54_consts_4_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 688, + .co_firstlineno = 721, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 456, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = & const_str_discard._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_52_consts_4_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_name = &_Py_ID(discard), + .co_qualname = & _collections_abc_toplevel_consts_54_consts_4_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -85061,10 +82606,10 @@ static PyASCIIObject _ascii; uint8_t _data[54]; } -_collections_abc_toplevel_consts_52_consts_5_consts_0 = { +_collections_abc_toplevel_consts_54_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 53, @@ -85073,7 +82618,7 @@ _collections_abc_toplevel_consts_52_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Remove an element. If not a member, raise a KeyError.", @@ -85086,17 +82631,17 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_52_consts_5_consts = { +_collections_abc_toplevel_consts_54_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & _collections_abc_toplevel_consts_52_consts_5_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_54_consts_5_consts_0._ascii.ob_base, Py_None, }, }, @@ -85109,52 +82654,30 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_52_consts_5_names = { +_collections_abc_toplevel_consts_54_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { & const_str_KeyError._ascii.ob_base, - & const_str_discard._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[7]; - } -const_str_remove = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 6, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + &_Py_ID(discard), }, }, - ._data = "remove", }; static struct { PyASCIIObject _ascii; uint8_t _data[18]; } -_collections_abc_toplevel_consts_52_consts_5_qualname = { +_collections_abc_toplevel_consts_54_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -85163,7 +82686,7 @@ _collections_abc_toplevel_consts_52_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSet.remove", @@ -85172,54 +82695,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[50]; + char ob_sval[33]; } -_collections_abc_toplevel_consts_52_consts_5_linetable = { +_collections_abc_toplevel_consts_54_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 49, + .ob_size = 32, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x10\x98\x04\xd0\x0b\x1c\xd0\x0b\x1c\xdd\x12\x1a\x98\x35\x91\x2f\x94\x2f\xd0\x0c\x21\xd8\x08\x0c\x8f\x0c\x8a\x0c\x90\x55\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd0\x08\x1b\xd0\x08\x1b", + .ob_sval = "\x80\x00\xe0\x0b\x10\x98\x04\xd1\x0b\x1c\xdc\x12\x1a\x98\x35\x93\x2f\xd0\x0c\x21\xd8\x08\x0c\x8f\x0c\x89\x0c\x90\x55\xd5\x08\x1b", }; static - struct _PyCode_DEF(86) -_collections_abc_toplevel_consts_52_consts_5 = { + struct _PyCode_DEF(68) +_collections_abc_toplevel_consts_54_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 43, + .ob_size = 34, }, - .co_consts = & _collections_abc_toplevel_consts_52_consts_5_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_52_consts_5_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_54_consts_5_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_54_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 693, + .co_firstlineno = 726, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 457, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_remove._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_52_consts_5_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_52_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x76\x01\x72\x0f\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_54_consts_5_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_54_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x76\x01\x72\x0b\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -85227,10 +82748,10 @@ static PyASCIIObject _ascii; uint8_t _data[51]; } -_collections_abc_toplevel_consts_52_consts_6_consts_0 = { +_collections_abc_toplevel_consts_54_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 50, @@ -85239,7 +82760,7 @@ _collections_abc_toplevel_consts_52_consts_6_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return the popped value. Raise KeyError if empty.", @@ -85252,17 +82773,17 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_52_consts_6_consts = { +_collections_abc_toplevel_consts_54_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & _collections_abc_toplevel_consts_52_consts_6_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_54_consts_6_consts_0._ascii.ob_base, Py_None, }, }, @@ -85275,11 +82796,11 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_52_consts_6_names = { +_collections_abc_toplevel_consts_54_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -85289,7 +82810,7 @@ _collections_abc_toplevel_consts_52_consts_6_names = { &_Py_ID(next), & const_str_StopIteration._ascii.ob_base, & const_str_KeyError._ascii.ob_base, - & const_str_discard._ascii.ob_base, + &_Py_ID(discard), }, }, }; @@ -85298,10 +82819,10 @@ static PyASCIIObject _ascii; uint8_t _data[15]; } -_collections_abc_toplevel_consts_52_consts_6_qualname = { +_collections_abc_toplevel_consts_54_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -85310,7 +82831,7 @@ _collections_abc_toplevel_consts_52_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSet.pop", @@ -85319,18 +82840,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[90]; + char ob_sval[70]; } -_collections_abc_toplevel_consts_52_consts_6_linetable = { +_collections_abc_toplevel_consts_54_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 89, + .ob_size = 69, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0d\x11\x90\x24\x89\x5a\x8c\x5a\x88\x02\xf0\x02\x03\x09\x25\xdd\x14\x18\x98\x12\x91\x48\x94\x48\x88\x45\x88\x45\xf8\xdd\x0f\x1c\xf0\x00\x01\x09\x25\xf0\x00\x01\x09\x25\xf0\x00\x01\x09\x25\xdd\x12\x1a\xa0\x04\xd0\x0c\x24\xf0\x03\x01\x09\x25\xf8\xf8\xf8\xe0\x08\x0c\x8f\x0c\x8a\x0c\x90\x55\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd8\x0f\x14\x88\x0c", + .ob_sval = "\x80\x00\xe4\x0d\x11\x90\x24\x8b\x5a\x88\x02\xf0\x02\x03\x09\x25\xdc\x14\x18\x98\x12\x93\x48\x88\x45\xf0\x06\x00\x09\x0d\x8f\x0c\x89\x0c\x90\x55\xd4\x08\x1b\xd8\x0f\x14\x88\x0c\xf8\xf4\x07\x00\x10\x1d\xf2\x00\x01\x09\x25\xdc\x12\x1a\xa0\x04\xd0\x0c\x24\xf0\x03\x01\x09\x25\xfa", }; static struct { @@ -85338,16 +82859,16 @@ static Py_hash_t ob_shash; char ob_sval[9]; } -_collections_abc_toplevel_consts_52_consts_6_exceptiontable = { +_collections_abc_toplevel_consts_54_consts_6_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 8, }, .ob_shash = -1, - .ob_sval = "\x91\x0f\x21\x00\xa1\x13\x34\x03", + .ob_sval = "\x8d\x0b\x2b\x00\xab\x11\x3c\x03", }; static struct { @@ -85357,57 +82878,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_52_consts_6_localsplusnames = { +_collections_abc_toplevel_consts_54_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_it._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(156) -_collections_abc_toplevel_consts_52_consts_6 = { + struct _PyCode_DEF(126) +_collections_abc_toplevel_consts_54_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 78, + .ob_size = 63, }, - .co_consts = & _collections_abc_toplevel_consts_52_consts_6_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_52_consts_6_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_52_consts_6_exceptiontable.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_54_consts_6_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_54_consts_6_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_54_consts_6_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 699, + .co_firstlineno = 732, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 458, + .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_pop._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_52_consts_6_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_52_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x6e\x16\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x09\x01\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_54_consts_6_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_54_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x08\x01\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -85415,10 +82934,10 @@ static PyASCIIObject _ascii; uint8_t _data[55]; } -_collections_abc_toplevel_consts_52_consts_7_consts_0 = { +_collections_abc_toplevel_consts_54_consts_7_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 54, @@ -85427,7 +82946,7 @@ _collections_abc_toplevel_consts_52_consts_7_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "This is slow (creates N new iterators!) but effective.", @@ -85437,21 +82956,20 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_52_consts_7_consts = { +_collections_abc_toplevel_consts_54_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 2, }, .ob_item = { - & _collections_abc_toplevel_consts_52_consts_7_consts_0._ascii.ob_base, - Py_True, + & _collections_abc_toplevel_consts_54_consts_7_consts_0._ascii.ob_base, Py_None, }, }, @@ -85464,11 +82982,11 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_52_consts_7_names = { +_collections_abc_toplevel_consts_54_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -85484,10 +83002,10 @@ static PyASCIIObject _ascii; uint8_t _data[17]; } -_collections_abc_toplevel_consts_52_consts_7_qualname = { +_collections_abc_toplevel_consts_54_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -85496,7 +83014,7 @@ _collections_abc_toplevel_consts_52_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSet.clear", @@ -85505,18 +83023,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[65]; + char ob_sval[43]; } -_collections_abc_toplevel_consts_52_consts_7_linetable = { +_collections_abc_toplevel_consts_54_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 64, + .ob_size = 42, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x04\x09\x11\xf0\x02\x01\x0d\x1b\xd8\x10\x14\x97\x08\x92\x08\x91\x0a\x94\x0a\x90\x0a\xf0\x03\x01\x0d\x1b\xf8\xe5\x0f\x17\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x04\x04\x09\x11\xd8\x12\x16\xd8\x10\x14\x97\x08\x91\x08\x94\x0a\xf0\x03\x00\x13\x17\xf8\xe4\x0f\x17\xf2\x00\x01\x09\x11\xd9\x0c\x10\xf0\x03\x01\x09\x11\xfa", }; static struct { @@ -85524,52 +83042,50 @@ static Py_hash_t ob_shash; char ob_sval[13]; } -_collections_abc_toplevel_consts_52_consts_7_exceptiontable = { +_collections_abc_toplevel_consts_54_consts_7_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x82\x16\x18\x00\x98\x0a\x26\x03\xa5\x01\x26\x03", + .ob_sval = "\x82\x12\x14\x00\x94\x09\x20\x03\x9f\x01\x20\x03", }; static - struct _PyCode_DEF(82) -_collections_abc_toplevel_consts_52_consts_7 = { + struct _PyCode_DEF(70) +_collections_abc_toplevel_consts_54_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 41, + .ob_size = 35, }, - .co_consts = & _collections_abc_toplevel_consts_52_consts_7_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_52_consts_7_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_52_consts_7_exceptiontable.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_54_consts_7_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_54_consts_7_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_54_consts_7_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 709, + .co_firstlineno = 742, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 459, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(clear), - .co_qualname = & _collections_abc_toplevel_consts_52_consts_7_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_52_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x09\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x15\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x02\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_qualname = & _collections_abc_toplevel_consts_54_consts_7_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_54_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x09\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x11\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -85580,11 +83096,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_52_consts_8_names = { +_collections_abc_toplevel_consts_54_consts_8_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -85599,10 +83115,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -_collections_abc_toplevel_consts_52_consts_8_qualname = { +_collections_abc_toplevel_consts_54_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -85611,7 +83127,7 @@ _collections_abc_toplevel_consts_52_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSet.__ior__", @@ -85620,54 +83136,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[40]; + char ob_sval[34]; } -_collections_abc_toplevel_consts_52_consts_8_linetable = { +_collections_abc_toplevel_consts_54_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 39, + .ob_size = 33, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x15\x17\xf0\x00\x01\x09\x1c\xf0\x00\x01\x09\x1c\x88\x45\xd8\x0c\x10\x8f\x48\x8a\x48\x90\x55\x89\x4f\x8c\x4f\x88\x4f\x88\x4f\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xd8\x15\x17\xf2\x00\x01\x09\x1c\x88\x45\xd8\x0c\x10\x8f\x48\x89\x48\x90\x55\x8d\x4f\xf0\x03\x01\x09\x1c\xe0\x0f\x13\x88\x0b", }; static - struct _PyCode_DEF(58) -_collections_abc_toplevel_consts_52_consts_8 = { + struct _PyCode_DEF(54) +_collections_abc_toplevel_consts_54_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 27, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_52_consts_8_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_54_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 717, + .co_firstlineno = 750, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 460, + .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__ior__), - .co_qualname = & _collections_abc_toplevel_consts_52_consts_8_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_52_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x44\x00\x5d\x17\x7d\x02\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x18\x7c\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_54_consts_8_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_54_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x44\x00\x5d\x13\x00\x00\x7d\x02\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x15\x04\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -85678,17 +83192,17 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_52_consts_9_names = { +_collections_abc_toplevel_consts_54_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_discard._ascii.ob_base, + &_Py_ID(discard), }, }, }; @@ -85697,10 +83211,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -_collections_abc_toplevel_consts_52_consts_9_qualname = { +_collections_abc_toplevel_consts_54_consts_9_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -85709,7 +83223,7 @@ _collections_abc_toplevel_consts_52_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSet.__iand__", @@ -85718,54 +83232,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[48]; + char ob_sval[39]; } -_collections_abc_toplevel_consts_52_consts_9_linetable = { +_collections_abc_toplevel_consts_54_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 47, + .ob_size = 38, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x16\x1a\x98\x52\x91\x69\xf0\x00\x01\x09\x20\xf0\x00\x01\x09\x20\x88\x45\xd8\x0c\x10\x8f\x4c\x8a\x4c\x98\x15\xd1\x0c\x1f\xd4\x0c\x1f\xd0\x0c\x1f\xd0\x0c\x1f\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xd8\x16\x1a\x98\x52\x91\x69\xf2\x00\x01\x09\x20\x88\x45\xd8\x0c\x10\x8f\x4c\x89\x4c\x98\x15\xd5\x0c\x1f\xf0\x03\x01\x09\x20\xe0\x0f\x13\x88\x0b", }; static - struct _PyCode_DEF(64) -_collections_abc_toplevel_consts_52_consts_9 = { + struct _PyCode_DEF(60) +_collections_abc_toplevel_consts_54_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 32, + .ob_size = 30, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_52_consts_9_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_54_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 722, + .co_firstlineno = 755, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 461, + .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iand__), - .co_qualname = & _collections_abc_toplevel_consts_52_consts_9_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_52_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x7c\x01\x7a\x0a\x00\x00\x44\x00\x5d\x17\x7d\x02\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x18\x7c\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_54_consts_9_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_54_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x7c\x01\x7a\x0a\x00\x00\x44\x00\x5d\x13\x00\x00\x7d\x02\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x15\x04\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -85776,11 +83288,11 @@ static PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_52_consts_10_names = { +_collections_abc_toplevel_consts_54_consts_10_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -85790,7 +83302,7 @@ _collections_abc_toplevel_consts_52_consts_10_names = { &_Py_ID(isinstance), & const_str_Set._ascii.ob_base, & const_str__from_iterable._ascii.ob_base, - & const_str_discard._ascii.ob_base, + &_Py_ID(discard), &_Py_ID(add), }, }, @@ -85800,10 +83312,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -_collections_abc_toplevel_consts_52_consts_10_qualname = { +_collections_abc_toplevel_consts_54_consts_10_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -85812,7 +83324,7 @@ _collections_abc_toplevel_consts_52_consts_10_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSet.__ixor__", @@ -85821,54 +83333,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[131]; + char ob_sval[106]; } -_collections_abc_toplevel_consts_52_consts_10_linetable = { +_collections_abc_toplevel_consts_54_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 130, + .ob_size = 105, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0b\x0d\x90\x14\x88\x3a\x88\x3a\xd8\x0c\x10\x8f\x4a\x8a\x4a\x89\x4c\x8c\x4c\x88\x4c\x88\x4c\xe5\x13\x1d\x98\x62\xa5\x23\xd1\x13\x26\xd4\x13\x26\xf0\x00\x01\x0d\x2d\xd8\x15\x19\xd7\x15\x28\xd2\x15\x28\xa8\x12\xd1\x15\x2c\xd4\x15\x2c\x90\x02\xd8\x19\x1b\xf0\x00\x04\x0d\x24\xf0\x00\x04\x0d\x24\x90\x05\xd8\x13\x18\x98\x44\x90\x3d\x90\x3d\xd8\x14\x18\x97\x4c\x92\x4c\xa0\x15\xd1\x14\x27\xd4\x14\x27\xd0\x14\x27\xd0\x14\x27\xe0\x14\x18\x97\x48\x92\x48\x98\x55\x91\x4f\x94\x4f\x90\x4f\x90\x4f\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xd8\x0b\x0d\x90\x14\x89\x3a\xd8\x0c\x10\x8f\x4a\x89\x4a\x8c\x4c\xf0\x12\x00\x10\x14\x88\x0b\xf4\x0f\x00\x14\x1e\x98\x62\xa4\x23\xd4\x13\x26\xd8\x15\x19\xd7\x15\x28\xd1\x15\x28\xa8\x12\xd3\x15\x2c\x90\x02\xd8\x19\x1b\xf2\x00\x04\x0d\x24\x90\x05\xd8\x13\x18\x98\x44\x91\x3d\xd8\x14\x18\x97\x4c\x91\x4c\xa0\x15\xd5\x14\x27\xe0\x14\x18\x97\x48\x91\x48\x98\x55\x95\x4f\xf0\x09\x04\x0d\x24\xf0\x0a\x00\x10\x14\x88\x0b", }; static - struct _PyCode_DEF(244) -_collections_abc_toplevel_consts_52_consts_10 = { + struct _PyCode_DEF(208) +_collections_abc_toplevel_consts_54_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 122, + .ob_size = 104, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_52_consts_10_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_54_consts_10_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 727, + .co_firstlineno = 760, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 462, + .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__ixor__), - .co_qualname = & _collections_abc_toplevel_consts_52_consts_10_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_52_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x75\x00\x72\x15\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x5e\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x15\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x44\x00\x5d\x31\x7d\x02\x7c\x02\x7c\x00\x76\x00\x72\x16\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x1c\x7c\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x32\x7c\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_54_consts_10_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_54_consts_10_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x75\x00\x72\x12\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x11\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x44\x00\x5d\x29\x00\x00\x7d\x02\x7c\x02\x7c\x00\x76\x00\x72\x12\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x19\x7c\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x2b\x04\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -85879,18 +83389,18 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_52_consts_11_names = { +_collections_abc_toplevel_consts_54_consts_11_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { &_Py_ID(clear), - & const_str_discard._ascii.ob_base, + &_Py_ID(discard), }, }, }; @@ -85899,10 +83409,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -_collections_abc_toplevel_consts_52_consts_11_qualname = { +_collections_abc_toplevel_consts_54_consts_11_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -85911,7 +83421,7 @@ _collections_abc_toplevel_consts_52_consts_11_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableSet.__isub__", @@ -85920,54 +83430,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[68]; + char ob_sval[60]; } -_collections_abc_toplevel_consts_52_consts_11_linetable = { +_collections_abc_toplevel_consts_54_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 67, + .ob_size = 59, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0b\x0d\x90\x14\x88\x3a\x88\x3a\xd8\x0c\x10\x8f\x4a\x8a\x4a\x89\x4c\x8c\x4c\x88\x4c\x88\x4c\xe0\x19\x1b\xf0\x00\x01\x0d\x24\xf0\x00\x01\x0d\x24\x90\x05\xd8\x10\x14\x97\x0c\x92\x0c\x98\x55\xd1\x10\x23\xd4\x10\x23\xd0\x10\x23\xd0\x10\x23\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xd8\x0b\x0d\x90\x14\x89\x3a\xd8\x0c\x10\x8f\x4a\x89\x4a\x8c\x4c\xf0\x08\x00\x10\x14\x88\x0b\xf0\x05\x00\x1a\x1c\xf2\x00\x01\x0d\x24\x90\x05\xd8\x10\x14\x97\x0c\x91\x0c\x98\x55\xd5\x10\x23\xf0\x03\x01\x0d\x24\xe0\x0f\x13\x88\x0b", }; static - struct _PyCode_DEF(108) -_collections_abc_toplevel_consts_52_consts_11 = { + struct _PyCode_DEF(98) +_collections_abc_toplevel_consts_54_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 54, + .ob_size = 49, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_52_consts_11_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_54_consts_11_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 740, + .co_firstlineno = 773, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 463, + .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__isub__), - .co_qualname = & _collections_abc_toplevel_consts_52_consts_11_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_52_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x75\x00\x72\x15\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x1a\x7c\x01\x44\x00\x5d\x17\x7d\x02\x7c\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x18\x7c\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_54_consts_11_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_54_consts_11_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x75\x00\x72\x12\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00\x7c\x01\x44\x00\x5d\x13\x00\x00\x7d\x02\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x15\x04\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -85978,28 +83486,28 @@ static PyObject *ob_item[13]; }_object; } -_collections_abc_toplevel_consts_52_consts = { +_collections_abc_toplevel_consts_54_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, }, .ob_item = { & const_str_MutableSet._ascii.ob_base, - & _collections_abc_toplevel_consts_52_consts_1._ascii.ob_base, + & _collections_abc_toplevel_consts_54_consts_1._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), - & _collections_abc_toplevel_consts_52_consts_3.ob_base.ob_base, - & _collections_abc_toplevel_consts_52_consts_4.ob_base.ob_base, - & _collections_abc_toplevel_consts_52_consts_5.ob_base.ob_base, - & _collections_abc_toplevel_consts_52_consts_6.ob_base.ob_base, - & _collections_abc_toplevel_consts_52_consts_7.ob_base.ob_base, - & _collections_abc_toplevel_consts_52_consts_8.ob_base.ob_base, - & _collections_abc_toplevel_consts_52_consts_9.ob_base.ob_base, - & _collections_abc_toplevel_consts_52_consts_10.ob_base.ob_base, - & _collections_abc_toplevel_consts_52_consts_11.ob_base.ob_base, + & _collections_abc_toplevel_consts_54_consts_3.ob_base.ob_base, + & _collections_abc_toplevel_consts_54_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_54_consts_5.ob_base.ob_base, + & _collections_abc_toplevel_consts_54_consts_6.ob_base.ob_base, + & _collections_abc_toplevel_consts_54_consts_7.ob_base.ob_base, + & _collections_abc_toplevel_consts_54_consts_8.ob_base.ob_base, + & _collections_abc_toplevel_consts_54_consts_9.ob_base.ob_base, + & _collections_abc_toplevel_consts_54_consts_10.ob_base.ob_base, + & _collections_abc_toplevel_consts_54_consts_11.ob_base.ob_base, Py_None, }, }, @@ -86012,11 +83520,11 @@ static PyObject *ob_item[15]; }_object; } -_collections_abc_toplevel_consts_52_names = { +_collections_abc_toplevel_consts_54_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -86029,7 +83537,7 @@ _collections_abc_toplevel_consts_52_names = { &_Py_ID(__slots__), & const_str_abstractmethod._ascii.ob_base, &_Py_ID(add), - & const_str_discard._ascii.ob_base, + &_Py_ID(discard), & const_str_remove._ascii.ob_base, & const_str_pop._ascii.ob_base, &_Py_ID(clear), @@ -86044,54 +83552,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[195]; + char ob_sval[88]; } -_collections_abc_toplevel_consts_52_linetable = { +_collections_abc_toplevel_consts_54_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 194, + .ob_size = 87, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x09\x05\x08\xf0\x00\x09\x05\x08\xf0\x16\x00\x11\x13\x80\x49\xe0\x05\x13\xf0\x02\x02\x05\x22\xf0\x00\x02\x05\x22\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x02\x05\x22\xf0\x08\x00\x06\x14\xf0\x02\x02\x05\x22\xf0\x00\x02\x05\x22\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x02\x05\x22\xf0\x08\x04\x05\x1c\xf0\x00\x04\x05\x1c\xf0\x00\x04\x05\x1c\xf0\x0c\x08\x05\x15\xf0\x00\x08\x05\x15\xf0\x00\x08\x05\x15\xf0\x14\x06\x05\x11\xf0\x00\x06\x05\x11\xf0\x00\x06\x05\x11\xf0\x10\x03\x05\x14\xf0\x00\x03\x05\x14\xf0\x00\x03\x05\x14\xf0\x0a\x03\x05\x14\xf0\x00\x03\x05\x14\xf0\x00\x03\x05\x14\xf0\x0a\x0b\x05\x14\xf0\x00\x0b\x05\x14\xf0\x00\x0b\x05\x14\xf0\x1a\x06\x05\x14\xf0\x00\x06\x05\x14\xf0\x00\x06\x05\x14\xf0\x00\x06\x05\x14\xf0\x00\x06\x05\x14", + .ob_sval = "\x84\x00\xf1\x02\x09\x05\x08\xf0\x16\x00\x11\x13\x80\x49\xe0\x05\x13\xf1\x02\x02\x05\x22\xf3\x03\x00\x06\x14\xf0\x02\x02\x05\x22\xf0\x08\x00\x06\x14\xf1\x02\x02\x05\x22\xf3\x03\x00\x06\x14\xf0\x02\x02\x05\x22\xf2\x08\x04\x05\x1c\xf2\x0c\x08\x05\x15\xf2\x14\x06\x05\x11\xf2\x10\x03\x05\x14\xf2\x0a\x03\x05\x14\xf2\x0a\x0b\x05\x14\xf3\x1a\x06\x05\x14", }; static - struct _PyCode_DEF(108) -_collections_abc_toplevel_consts_52 = { + struct _PyCode_DEF(94) +_collections_abc_toplevel_consts_54 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 54, + .ob_size = 47, }, - .co_consts = & _collections_abc_toplevel_consts_52_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_52_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_54_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_54_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 669, + .co_firstlineno = 702, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 464, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_MutableSet._ascii.ob_base, .co_qualname = & const_str_MutableSet._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_52_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x65\x05\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x05\x64\x04\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x05\x84\x00\x5a\x08\x64\x06\x84\x00\x5a\x09\x64\x07\x84\x00\x5a\x0a\x64\x08\x84\x00\x5a\x0b\x64\x09\x84\x00\x5a\x0c\x64\x0a\x84\x00\x5a\x0d\x64\x0b\x84\x00\x5a\x0e\x64\x0c\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_54_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x65\x05\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x05\x64\x04\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x05\x84\x00\x5a\x08\x64\x06\x84\x00\x5a\x09\x64\x07\x84\x00\x5a\x0a\x64\x08\x84\x00\x5a\x0b\x64\x09\x84\x00\x5a\x0c\x64\x0a\x84\x00\x5a\x0d\x64\x0b\x84\x00\x5a\x0e\x79\x0c", ._co_firsttraceable = 0, }; static @@ -86099,10 +83605,10 @@ static PyASCIIObject _ascii; uint8_t _data[199]; } -_collections_abc_toplevel_consts_54_consts_1 = { +_collections_abc_toplevel_consts_56_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 198, @@ -86111,7 +83617,7 @@ _collections_abc_toplevel_consts_54_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x20\x4d\x61\x70\x70\x69\x6e\x67\x20\x69\x73\x20\x61\x20\x67\x65\x6e\x65\x72\x69\x63\x20\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72\x20\x66\x6f\x72\x20\x61\x73\x73\x6f\x63\x69\x61\x74\x69\x6e\x67\x20\x6b\x65\x79\x2f\x76\x61\x6c\x75\x65\x0a\x20\x20\x20\x20\x70\x61\x69\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x63\x6c\x61\x73\x73\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x63\x6f\x6e\x63\x72\x65\x74\x65\x20\x67\x65\x6e\x65\x72\x69\x63\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x73\x20\x6f\x66\x20\x61\x6c\x6c\x0a\x20\x20\x20\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x65\x78\x63\x65\x70\x74\x20\x66\x6f\x72\x20\x5f\x5f\x67\x65\x74\x69\x74\x65\x6d\x5f\x5f\x2c\x20\x5f\x5f\x69\x74\x65\x72\x5f\x5f\x2c\x20\x61\x6e\x64\x20\x5f\x5f\x6c\x65\x6e\x5f\x5f\x2e\x0a\x20\x20\x20\x20", @@ -86124,11 +83630,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_54_consts_4_names = { +_collections_abc_toplevel_consts_56_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -86143,10 +83649,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -_collections_abc_toplevel_consts_54_consts_4_qualname = { +_collections_abc_toplevel_consts_56_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -86155,7 +83661,7 @@ _collections_abc_toplevel_consts_54_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Mapping.__getitem__", @@ -86166,16 +83672,16 @@ static Py_hash_t ob_shash; char ob_sval[8]; } -_collections_abc_toplevel_consts_54_consts_4_linetable = { +_collections_abc_toplevel_consts_56_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 7, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0e\x16\x88\x0e", + .ob_sval = "\x80\x00\xe4\x0e\x16\x88\x0e", }; static struct { @@ -86185,56 +83691,54 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_54_consts_4_localsplusnames = { +_collections_abc_toplevel_consts_56_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_key._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(key), }, }, }; static - struct _PyCode_DEF(16) -_collections_abc_toplevel_consts_54_consts_4 = { + struct _PyCode_DEF(14) +_collections_abc_toplevel_consts_56_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_consts_4_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 767, + .co_firstlineno = 800, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 465, + .co_localsplusnames = & _collections_abc_toplevel_consts_56_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__getitem__), - .co_qualname = & _collections_abc_toplevel_consts_54_consts_4_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_54_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & _collections_abc_toplevel_consts_56_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_56_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -86242,10 +83746,10 @@ static PyASCIIObject _ascii; uint8_t _data[61]; } -_collections_abc_toplevel_consts_54_consts_6_consts_0 = { +_collections_abc_toplevel_consts_56_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 60, @@ -86254,7 +83758,7 @@ _collections_abc_toplevel_consts_54_consts_6_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.", @@ -86267,17 +83771,17 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_54_consts_6_consts = { +_collections_abc_toplevel_consts_56_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & _collections_abc_toplevel_consts_54_consts_6_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_56_consts_6_consts_0._ascii.ob_base, }, }, }; @@ -86286,10 +83790,10 @@ static PyASCIIObject _ascii; uint8_t _data[12]; } -_collections_abc_toplevel_consts_54_consts_6_qualname = { +_collections_abc_toplevel_consts_56_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -86298,7 +83802,7 @@ _collections_abc_toplevel_consts_54_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Mapping.get", @@ -86307,18 +83811,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[54]; + char ob_sval[38]; } -_collections_abc_toplevel_consts_54_consts_6_linetable = { +_collections_abc_toplevel_consts_56_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 53, + .ob_size = 37, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x03\x09\x1b\xd8\x13\x17\x98\x03\x94\x39\xd0\x0c\x1c\xf8\xdd\x0f\x17\xf0\x00\x01\x09\x1b\xf0\x00\x01\x09\x1b\xf0\x00\x01\x09\x1b\xd8\x13\x1a\x88\x4e\x88\x4e\x88\x4e\xf0\x03\x01\x09\x1b\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x04\x03\x09\x1b\xd8\x13\x17\x98\x03\x91\x39\xd0\x0c\x1c\xf8\xdc\x0f\x17\xf2\x00\x01\x09\x1b\xd8\x13\x1a\x8a\x4e\xf0\x03\x01\x09\x1b\xfa", }; static struct { @@ -86326,16 +83830,16 @@ static Py_hash_t ob_shash; char ob_sval[13]; } -_collections_abc_toplevel_consts_54_consts_6_exceptiontable = { +_collections_abc_toplevel_consts_56_consts_6_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x82\x07\x0a\x00\x8a\x0c\x19\x03\x98\x01\x19\x03", + .ob_sval = "\x82\x04\x07\x00\x87\x0b\x15\x03\x94\x01\x15\x03", }; static struct { @@ -86345,68 +83849,90 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_54_consts_6_localsplusnames = { +_collections_abc_toplevel_consts_56_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_key._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(key), &_Py_ID(default), }, }, }; static - struct _PyCode_DEF(56) -_collections_abc_toplevel_consts_54_consts_6 = { + struct _PyCode_DEF(48) +_collections_abc_toplevel_consts_56_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 28, + .ob_size = 24, }, - .co_consts = & _collections_abc_toplevel_consts_54_consts_6_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_54_consts_6_exceptiontable.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_56_consts_6_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_56_consts_6_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 771, + .co_firstlineno = 804, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 466, + .co_localsplusnames = & _collections_abc_toplevel_consts_56_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(get), - .co_qualname = & _collections_abc_toplevel_consts_54_consts_6_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_54_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x02\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_qualname = & _collections_abc_toplevel_consts_56_consts_6_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_56_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x53\x00\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x02\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +_collections_abc_toplevel_consts_56_consts_7_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + Py_None, + Py_True, + Py_False, + }, + }, +}; static struct { PyASCIIObject _ascii; uint8_t _data[21]; } -_collections_abc_toplevel_consts_54_consts_7_qualname = { +_collections_abc_toplevel_consts_56_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -86415,7 +83941,7 @@ _collections_abc_toplevel_consts_54_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Mapping.__contains__", @@ -86424,18 +83950,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[60]; + char ob_sval[40]; } -_collections_abc_toplevel_consts_54_consts_7_linetable = { +_collections_abc_toplevel_consts_56_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 59, + .ob_size = 39, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x02\x05\x09\x18\xd8\x0c\x10\x90\x13\x8c\x49\x88\x49\xf0\x08\x00\x14\x18\x90\x34\xf8\xf5\x07\x00\x10\x18\xf0\x00\x01\x09\x19\xf0\x00\x01\x09\x19\xf0\x00\x01\x09\x19\xd8\x13\x18\x90\x35\x90\x35\xf0\x03\x01\x09\x19\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x02\x05\x09\x18\xd8\x0c\x10\x90\x13\x8a\x49\xf0\x08\x00\x14\x18\xf8\xf4\x07\x00\x10\x18\xf2\x00\x01\x09\x19\xd9\x13\x18\xf0\x03\x01\x09\x19\xfa", }; static struct { @@ -86443,52 +83969,50 @@ static Py_hash_t ob_shash; char ob_sval[13]; } -_collections_abc_toplevel_consts_54_consts_7_exceptiontable = { +_collections_abc_toplevel_consts_56_consts_7_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x82\x08\x0c\x00\x8c\x0a\x1a\x03\x99\x01\x1a\x03", + .ob_sval = "\x82\x05\x08\x00\x88\x09\x14\x03\x93\x01\x14\x03", }; static - struct _PyCode_DEF(58) -_collections_abc_toplevel_consts_54_consts_7 = { + struct _PyCode_DEF(46) +_collections_abc_toplevel_consts_56_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 23, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_3_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_54_consts_7_exceptiontable.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_56_consts_7_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_56_consts_7_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 778, + .co_firstlineno = 811, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 467, + .co_localsplusnames = & _collections_abc_toplevel_consts_56_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__contains__), - .co_qualname = & _collections_abc_toplevel_consts_54_consts_7_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_54_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x02\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_qualname = & _collections_abc_toplevel_consts_56_consts_7_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_56_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x01\x00\x79\x01\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x02\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -86496,10 +84020,10 @@ static PyASCIIObject _ascii; uint8_t _data[59]; } -_collections_abc_toplevel_consts_54_consts_8_consts_0 = { +_collections_abc_toplevel_consts_56_consts_8_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 58, @@ -86508,7 +84032,7 @@ _collections_abc_toplevel_consts_54_consts_8_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "D.keys() -> a set-like object providing a view on D's keys", @@ -86521,17 +84045,17 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_54_consts_8_consts = { +_collections_abc_toplevel_consts_56_consts_8_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & _collections_abc_toplevel_consts_54_consts_8_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_56_consts_8_consts_0._ascii.ob_base, }, }, }; @@ -86543,11 +84067,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_54_consts_8_names = { +_collections_abc_toplevel_consts_56_consts_8_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -86562,10 +84086,10 @@ static PyASCIIObject _ascii; uint8_t _data[13]; } -_collections_abc_toplevel_consts_54_consts_8_qualname = { +_collections_abc_toplevel_consts_56_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -86574,7 +84098,7 @@ _collections_abc_toplevel_consts_54_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Mapping.keys", @@ -86583,54 +84107,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[15]; + char ob_sval[13]; } -_collections_abc_toplevel_consts_54_consts_8_linetable = { +_collections_abc_toplevel_consts_56_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 14, + .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0f\x17\x98\x04\x89\x7e\x8c\x7e\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe4\x0f\x17\x98\x04\x8b\x7e\xd0\x08\x1d", }; static - struct _PyCode_DEF(32) -_collections_abc_toplevel_consts_54_consts_8 = { + struct _PyCode_DEF(24) +_collections_abc_toplevel_consts_56_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 16, + .ob_size = 12, }, - .co_consts = & _collections_abc_toplevel_consts_54_consts_8_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_consts_8_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_56_consts_8_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 786, + .co_firstlineno = 819, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 468, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(keys), - .co_qualname = & _collections_abc_toplevel_consts_54_consts_8_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_54_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_56_consts_8_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_56_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -86638,10 +84160,10 @@ static PyASCIIObject _ascii; uint8_t _data[61]; } -_collections_abc_toplevel_consts_54_consts_9_consts_0 = { +_collections_abc_toplevel_consts_56_consts_9_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 60, @@ -86650,7 +84172,7 @@ _collections_abc_toplevel_consts_54_consts_9_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "D.items() -> a set-like object providing a view on D's items", @@ -86663,17 +84185,17 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_54_consts_9_consts = { +_collections_abc_toplevel_consts_56_consts_9_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & _collections_abc_toplevel_consts_54_consts_9_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_56_consts_9_consts_0._ascii.ob_base, }, }, }; @@ -86685,11 +84207,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_54_consts_9_names = { +_collections_abc_toplevel_consts_56_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -86704,10 +84226,10 @@ static PyASCIIObject _ascii; uint8_t _data[14]; } -_collections_abc_toplevel_consts_54_consts_9_qualname = { +_collections_abc_toplevel_consts_56_consts_9_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -86716,7 +84238,7 @@ _collections_abc_toplevel_consts_54_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Mapping.items", @@ -86725,54 +84247,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[15]; + char ob_sval[13]; } -_collections_abc_toplevel_consts_54_consts_9_linetable = { +_collections_abc_toplevel_consts_56_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 14, + .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0f\x18\x98\x14\x89\x7f\x8c\x7f\xd0\x08\x1e", + .ob_sval = "\x80\x00\xe4\x0f\x18\x98\x14\x8b\x7f\xd0\x08\x1e", }; static - struct _PyCode_DEF(32) -_collections_abc_toplevel_consts_54_consts_9 = { + struct _PyCode_DEF(24) +_collections_abc_toplevel_consts_56_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 16, + .ob_size = 12, }, - .co_consts = & _collections_abc_toplevel_consts_54_consts_9_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_consts_9_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_56_consts_9_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 790, + .co_firstlineno = 823, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 469, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(items), - .co_qualname = & _collections_abc_toplevel_consts_54_consts_9_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_54_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_56_consts_9_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_56_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -86780,10 +84300,10 @@ static PyASCIIObject _ascii; uint8_t _data[55]; } -_collections_abc_toplevel_consts_54_consts_10_consts_0 = { +_collections_abc_toplevel_consts_56_consts_10_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 54, @@ -86792,7 +84312,7 @@ _collections_abc_toplevel_consts_54_consts_10_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "D.values() -> an object providing a view on D's values", @@ -86805,17 +84325,17 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_54_consts_10_consts = { +_collections_abc_toplevel_consts_56_consts_10_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & _collections_abc_toplevel_consts_54_consts_10_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_56_consts_10_consts_0._ascii.ob_base, }, }, }; @@ -86827,11 +84347,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_54_consts_10_names = { +_collections_abc_toplevel_consts_56_consts_10_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -86846,10 +84366,10 @@ static PyASCIIObject _ascii; uint8_t _data[15]; } -_collections_abc_toplevel_consts_54_consts_10_qualname = { +_collections_abc_toplevel_consts_56_consts_10_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -86858,7 +84378,7 @@ _collections_abc_toplevel_consts_54_consts_10_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Mapping.values", @@ -86867,78 +84387,54 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[17]; + char ob_sval[14]; } -_collections_abc_toplevel_consts_54_consts_10_linetable = { +_collections_abc_toplevel_consts_56_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 16, + .ob_size = 13, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0f\x19\x98\x24\xd1\x0f\x1f\xd4\x0f\x1f\xd0\x08\x1f", + .ob_sval = "\x80\x00\xe4\x0f\x19\x98\x24\xd3\x0f\x1f\xd0\x08\x1f", }; static - struct _PyCode_DEF(32) -_collections_abc_toplevel_consts_54_consts_10 = { + struct _PyCode_DEF(24) +_collections_abc_toplevel_consts_56_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 16, + .ob_size = 12, }, - .co_consts = & _collections_abc_toplevel_consts_54_consts_10_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_consts_10_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_56_consts_10_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_consts_10_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 794, + .co_firstlineno = 827, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 470, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(values), - .co_qualname = & _collections_abc_toplevel_consts_54_consts_10_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_54_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_56_consts_10_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_56_consts_10_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[5]; - } -const_str_dict = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 4, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "dict", -}; static struct { PyGC_Head _gc_head; @@ -86947,11 +84443,11 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_54_consts_11_names = { +_collections_abc_toplevel_consts_56_consts_11_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -86960,7 +84456,7 @@ _collections_abc_toplevel_consts_54_consts_11_names = { &_Py_ID(isinstance), & const_str_Mapping._ascii.ob_base, & const_str_NotImplemented._ascii.ob_base, - & const_str_dict._ascii.ob_base, + &_Py_ID(dict), &_Py_ID(items), }, }, @@ -86970,10 +84466,10 @@ static PyASCIIObject _ascii; uint8_t _data[15]; } -_collections_abc_toplevel_consts_54_consts_11_qualname = { +_collections_abc_toplevel_consts_56_consts_11_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -86982,7 +84478,7 @@ _collections_abc_toplevel_consts_54_consts_11_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Mapping.__eq__", @@ -86991,54 +84487,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[70]; + char ob_sval[52]; } -_collections_abc_toplevel_consts_54_consts_11_linetable = { +_collections_abc_toplevel_consts_56_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 69, + .ob_size = 51, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x25\xa5\x17\xd1\x0f\x29\xd4\x0f\x29\xf0\x00\x01\x09\x22\xdd\x13\x21\xd0\x0c\x21\xdd\x0f\x13\x90\x44\x97\x4a\x92\x4a\x91\x4c\x94\x4c\xd1\x0f\x21\xd4\x0f\x21\xa5\x54\xa8\x25\xaf\x2b\xaa\x2b\xa9\x2d\xac\x2d\xd1\x25\x38\xd4\x25\x38\xd2\x0f\x38\xd0\x08\x38", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x25\xa4\x17\xd4\x0f\x29\xdc\x13\x21\xd0\x0c\x21\xdc\x0f\x13\x90\x44\x97\x4a\x91\x4a\x93\x4c\xd3\x0f\x21\xa4\x54\xa8\x25\xaf\x2b\xa9\x2b\xab\x2d\xd3\x25\x38\xd1\x0f\x38\xd0\x08\x38", }; static - struct _PyCode_DEF(194) -_collections_abc_toplevel_consts_54_consts_11 = { + struct _PyCode_DEF(148) +_collections_abc_toplevel_consts_56_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 97, + .ob_size = 74, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_consts_11_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_consts_11_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 798, + .co_firstlineno = 831, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 471, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__eq__), - .co_qualname = & _collections_abc_toplevel_consts_54_consts_11_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_54_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_56_consts_11_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_56_consts_11_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -87049,28 +84543,28 @@ static PyObject *ob_item[13]; }_object; } -_collections_abc_toplevel_consts_54_consts = { +_collections_abc_toplevel_consts_56_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, }, .ob_item = { & const_str_Mapping._ascii.ob_base, - & _collections_abc_toplevel_consts_54_consts_1._ascii.ob_base, + & _collections_abc_toplevel_consts_56_consts_1._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 64], - & _collections_abc_toplevel_consts_54_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_56_consts_4.ob_base.ob_base, Py_None, - & _collections_abc_toplevel_consts_54_consts_6.ob_base.ob_base, - & _collections_abc_toplevel_consts_54_consts_7.ob_base.ob_base, - & _collections_abc_toplevel_consts_54_consts_8.ob_base.ob_base, - & _collections_abc_toplevel_consts_54_consts_9.ob_base.ob_base, - & _collections_abc_toplevel_consts_54_consts_10.ob_base.ob_base, - & _collections_abc_toplevel_consts_54_consts_11.ob_base.ob_base, + & _collections_abc_toplevel_consts_56_consts_6.ob_base.ob_base, + & _collections_abc_toplevel_consts_56_consts_7.ob_base.ob_base, + & _collections_abc_toplevel_consts_56_consts_8.ob_base.ob_base, + & _collections_abc_toplevel_consts_56_consts_9.ob_base.ob_base, + & _collections_abc_toplevel_consts_56_consts_10.ob_base.ob_base, + & _collections_abc_toplevel_consts_56_consts_11.ob_base.ob_base, & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, }, }, @@ -87083,11 +84577,11 @@ static PyObject *ob_item[15]; }_object; } -_collections_abc_toplevel_consts_54_names = { +_collections_abc_toplevel_consts_56_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -87115,54 +84609,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[166]; + char ob_sval[77]; } -_collections_abc_toplevel_consts_54_linetable = { +_collections_abc_toplevel_consts_56_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 165, + .ob_size = 76, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x05\x05\x08\xf0\x00\x05\x05\x08\xf0\x0e\x00\x11\x13\x80\x49\xf0\x06\x00\x17\x1d\x80\x4f\xe0\x05\x13\xf0\x02\x01\x05\x17\xf0\x00\x01\x05\x17\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x17\xf0\x06\x05\x05\x1b\xf0\x00\x05\x05\x1b\xf0\x00\x05\x05\x1b\xf0\x00\x05\x05\x1b\xf0\x0e\x06\x05\x18\xf0\x00\x06\x05\x18\xf0\x00\x06\x05\x18\xf0\x10\x02\x05\x1e\xf0\x00\x02\x05\x1e\xf0\x00\x02\x05\x1e\xf0\x08\x02\x05\x1f\xf0\x00\x02\x05\x1f\xf0\x00\x02\x05\x1f\xf0\x08\x02\x05\x20\xf0\x00\x02\x05\x20\xf0\x00\x02\x05\x20\xf0\x08\x03\x05\x39\xf0\x00\x03\x05\x39\xf0\x00\x03\x05\x39\xf0\x0a\x00\x14\x18\x80\x4c\x80\x4c\x80\x4c", + .ob_sval = "\x84\x00\xf1\x02\x05\x05\x08\xf0\x0e\x00\x11\x13\x80\x49\xf0\x06\x00\x17\x1d\x80\x4f\xe0\x05\x13\xf1\x02\x01\x05\x17\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x17\xf3\x06\x05\x05\x1b\xf2\x0e\x06\x05\x18\xf2\x10\x02\x05\x1e\xf2\x08\x02\x05\x1f\xf2\x08\x02\x05\x20\xf2\x08\x03\x05\x39\xf0\x0a\x00\x14\x18\x81\x4c", }; static - struct _PyCode_DEF(90) -_collections_abc_toplevel_consts_54 = { + struct _PyCode_DEF(82) +_collections_abc_toplevel_consts_56 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 45, + .ob_size = 41, }, - .co_consts = & _collections_abc_toplevel_consts_54_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_56_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 754, + .co_firstlineno = 787, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 472, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Mapping._ascii.ob_base, .co_qualname = & const_str_Mapping._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_54_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x03\x5a\x05\x65\x06\x64\x04\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x0c\x64\x06\x84\x01\x5a\x08\x64\x07\x84\x00\x5a\x09\x64\x08\x84\x00\x5a\x0a\x64\x09\x84\x00\x5a\x0b\x64\x0a\x84\x00\x5a\x0c\x64\x0b\x84\x00\x5a\x0d\x64\x05\x5a\x0e\x64\x05\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_56_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x03\x5a\x05\x65\x06\x64\x04\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x0c\x64\x06\x84\x01\x5a\x08\x64\x07\x84\x00\x5a\x09\x64\x08\x84\x00\x5a\x0a\x64\x09\x84\x00\x5a\x0b\x64\x0a\x84\x00\x5a\x0c\x64\x0b\x84\x00\x5a\x0d\x64\x05\x5a\x0e\x79\x05", ._co_firsttraceable = 0, }; static @@ -87173,7 +84665,7 @@ static const_str__mapping = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -87182,7 +84674,7 @@ const_str__mapping = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_mapping", @@ -87195,11 +84687,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_56_consts_1 = { +_collections_abc_toplevel_consts_58_consts_1 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -87214,10 +84706,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -_collections_abc_toplevel_consts_56_consts_2_qualname = { +_collections_abc_toplevel_consts_58_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -87226,7 +84718,7 @@ _collections_abc_toplevel_consts_56_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MappingView.__init__", @@ -87235,40 +84727,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[14]; + char ob_sval[10]; } -_collections_abc_toplevel_consts_56_consts_2_linetable = { +_collections_abc_toplevel_consts_58_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 13, + .ob_size = 9, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x18\x1f\x88\x04\x8c\x0d\x88\x0d\x88\x0d", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[8]; - } -const_str_mapping = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 7, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "mapping", + .ob_sval = "\x80\x00\xd8\x18\x1f\x88\x04\x8d\x0d", }; static struct { @@ -87278,56 +84748,54 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_56_consts_2_localsplusnames = { +_collections_abc_toplevel_consts_58_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_mapping._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(mapping), }, }, }; static - struct _PyCode_DEF(20) -_collections_abc_toplevel_consts_56_consts_2 = { + struct _PyCode_DEF(18) +_collections_abc_toplevel_consts_58_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 10, + .ob_size = 9, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_56_consts_1._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_58_consts_1._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 812, + .co_firstlineno = 845, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_56_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 473, + .co_localsplusnames = & _collections_abc_toplevel_consts_58_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & _collections_abc_toplevel_consts_56_consts_2_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_56_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_58_consts_2_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_58_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -87338,11 +84806,11 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_56_consts_3_names = { +_collections_abc_toplevel_consts_58_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -87358,10 +84826,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -_collections_abc_toplevel_consts_56_consts_3_qualname = { +_collections_abc_toplevel_consts_58_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -87370,7 +84838,7 @@ _collections_abc_toplevel_consts_56_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MappingView.__len__", @@ -87379,54 +84847,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[19]; + char ob_sval[18]; } -_collections_abc_toplevel_consts_56_consts_3_linetable = { +_collections_abc_toplevel_consts_58_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 18, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x12\x90\x34\x94\x3d\xd1\x0f\x21\xd4\x0f\x21\xd0\x08\x21", + .ob_sval = "\x80\x00\xdc\x0f\x12\x90\x34\x97\x3d\x91\x3d\xd3\x0f\x21\xd0\x08\x21", }; static - struct _PyCode_DEF(42) -_collections_abc_toplevel_consts_56_consts_3 = { + struct _PyCode_DEF(44) +_collections_abc_toplevel_consts_58_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 22, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_56_consts_3_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_58_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 815, + .co_firstlineno = 848, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 474, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__len__), - .co_qualname = & _collections_abc_toplevel_consts_56_consts_3_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_56_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_58_consts_3_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_58_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -87434,10 +84900,10 @@ static PyASCIIObject _ascii; uint8_t _data[39]; } -_collections_abc_toplevel_consts_56_consts_4_consts_1 = { +_collections_abc_toplevel_consts_58_consts_4_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 38, @@ -87446,7 +84912,7 @@ _collections_abc_toplevel_consts_56_consts_4_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "{0.__class__.__name__}({0._mapping!r})", @@ -87459,18 +84925,18 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_56_consts_4_consts = { +_collections_abc_toplevel_consts_58_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & _collections_abc_toplevel_consts_56_consts_4_consts_1._ascii.ob_base, + & _collections_abc_toplevel_consts_58_consts_4_consts_1._ascii.ob_base, }, }, }; @@ -87482,17 +84948,17 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_56_consts_4_names = { +_collections_abc_toplevel_consts_58_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_format._ascii.ob_base, + &_Py_ID(format), }, }, }; @@ -87501,10 +84967,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -_collections_abc_toplevel_consts_56_consts_4_qualname = { +_collections_abc_toplevel_consts_58_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -87513,7 +84979,7 @@ _collections_abc_toplevel_consts_56_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MappingView.__repr__", @@ -87522,54 +84988,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[20]; } -_collections_abc_toplevel_consts_56_consts_4_linetable = { +_collections_abc_toplevel_consts_58_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 19, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x37\xd7\x0f\x3e\xd2\x0f\x3e\xb8\x74\xd1\x0f\x44\xd4\x0f\x44\xd0\x08\x44", + .ob_sval = "\x80\x00\xd8\x0f\x37\xd7\x0f\x3e\xd1\x0f\x3e\xb8\x74\xd3\x0f\x44\xd0\x08\x44", }; static - struct _PyCode_DEF(44) -_collections_abc_toplevel_consts_56_consts_4 = { + struct _PyCode_DEF(36) +_collections_abc_toplevel_consts_58_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 22, + .ob_size = 18, }, - .co_consts = & _collections_abc_toplevel_consts_56_consts_4_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_56_consts_4_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_58_consts_4_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_58_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 818, + .co_firstlineno = 851, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 475, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__repr__), - .co_qualname = & _collections_abc_toplevel_consts_56_consts_4_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_56_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_58_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_58_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -87580,21 +85044,21 @@ static PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_56_consts = { +_collections_abc_toplevel_consts_58_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { & const_str_MappingView._ascii.ob_base, - & _collections_abc_toplevel_consts_56_consts_1._object.ob_base.ob_base, - & _collections_abc_toplevel_consts_56_consts_2.ob_base.ob_base, - & _collections_abc_toplevel_consts_56_consts_3.ob_base.ob_base, - & _collections_abc_toplevel_consts_56_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_58_consts_1._object.ob_base.ob_base, + & _collections_abc_toplevel_consts_58_consts_2.ob_base.ob_base, + & _collections_abc_toplevel_consts_58_consts_3.ob_base.ob_base, + & _collections_abc_toplevel_consts_58_consts_4.ob_base.ob_base, Py_None, }, }, @@ -87607,11 +85071,11 @@ static PyObject *ob_item[10]; }_object; } -_collections_abc_toplevel_consts_56_names = { +_collections_abc_toplevel_consts_58_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -87634,54 +85098,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[88]; + char ob_sval[37]; } -_collections_abc_toplevel_consts_56_linetable = { +_collections_abc_toplevel_consts_58_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 87, + .ob_size = 36, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x1b\x80\x49\xf0\x04\x01\x05\x20\xf0\x00\x01\x05\x20\xf0\x00\x01\x05\x20\xf0\x06\x01\x05\x22\xf0\x00\x01\x05\x22\xf0\x00\x01\x05\x22\xf0\x06\x01\x05\x45\x01\xf0\x00\x01\x05\x45\x01\xf0\x00\x01\x05\x45\x01\xf0\x06\x00\x19\x24\x98\x0b\xa0\x4c\xd1\x18\x31\xd4\x18\x31\xd0\x04\x15\xd0\x04\x15\xd0\x04\x15", + .ob_sval = "\x84\x00\xe0\x10\x1b\x80\x49\xf2\x04\x01\x05\x20\xf2\x06\x01\x05\x22\xf2\x06\x01\x05\x45\x01\xf1\x06\x00\x19\x24\xa0\x4c\xd3\x18\x31\xd1\x04\x15", }; static - struct _PyCode_DEF(58) -_collections_abc_toplevel_consts_56 = { + struct _PyCode_DEF(50) +_collections_abc_toplevel_consts_58 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 25, }, - .co_consts = & _collections_abc_toplevel_consts_56_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_56_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_58_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_58_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 808, + .co_firstlineno = 841, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 476, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_MappingView._ascii.ob_base, .co_qualname = & const_str_MappingView._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_56_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x02\x00\x65\x07\x65\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x64\x05\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_58_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x02\x00\x65\x07\x65\x08\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x09\x79\x05", ._co_firsttraceable = 0, }; static @@ -87692,11 +85154,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_58_consts_2_names = { +_collections_abc_toplevel_consts_60_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -87711,10 +85173,10 @@ static PyASCIIObject _ascii; uint8_t _data[24]; } -_collections_abc_toplevel_consts_58_consts_2_qualname = { +_collections_abc_toplevel_consts_60_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -87723,7 +85185,7 @@ _collections_abc_toplevel_consts_58_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "KeysView._from_iterable", @@ -87732,54 +85194,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[14]; + char ob_sval[12]; } -_collections_abc_toplevel_consts_58_consts_2_linetable = { +_collections_abc_toplevel_consts_60_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 13, + .ob_size = 11, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0f\x12\x90\x32\x89\x77\x8c\x77\x88\x0e", + .ob_sval = "\x80\x00\xe4\x0f\x12\x90\x32\x8b\x77\x88\x0e", }; static - struct _PyCode_DEF(32) -_collections_abc_toplevel_consts_58_consts_2 = { + struct _PyCode_DEF(24) +_collections_abc_toplevel_consts_60_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 16, + .ob_size = 12, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_58_consts_2_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_60_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 828, + .co_firstlineno = 861, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 477, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__from_iterable._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_58_consts_2_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_58_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_60_consts_2_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_60_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -87787,10 +85247,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -_collections_abc_toplevel_consts_58_consts_3_qualname = { +_collections_abc_toplevel_consts_60_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -87799,7 +85259,7 @@ _collections_abc_toplevel_consts_58_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "KeysView.__contains__", @@ -87808,54 +85268,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[18]; } -_collections_abc_toplevel_consts_58_consts_3_linetable = { +_collections_abc_toplevel_consts_60_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x12\x90\x64\x94\x6d\xd0\x0f\x23\xd0\x08\x23", + .ob_sval = "\x80\x00\xd8\x0f\x12\x90\x64\x97\x6d\x91\x6d\xd0\x0f\x23\xd0\x08\x23", }; static - struct _PyCode_DEF(20) -_collections_abc_toplevel_consts_58_consts_3 = { + struct _PyCode_DEF(30) +_collections_abc_toplevel_consts_60_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 10, + .ob_size = 15, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_56_consts_1._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_58_consts_1._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 832, + .co_firstlineno = 865, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 478, + .co_localsplusnames = & _collections_abc_toplevel_consts_56_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__contains__), - .co_qualname = & _collections_abc_toplevel_consts_58_consts_3_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_58_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_60_consts_3_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_60_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -87863,10 +85321,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -_collections_abc_toplevel_consts_58_consts_4_qualname = { +_collections_abc_toplevel_consts_60_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -87875,7 +85333,7 @@ _collections_abc_toplevel_consts_58_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "KeysView.__iter__", @@ -87884,54 +85342,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[39]; + char ob_sval[20]; } -_collections_abc_toplevel_consts_58_consts_4_linetable = { +_collections_abc_toplevel_consts_60_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 38, + .ob_size = 19, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xd8\x13\x17\x94\x3d\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20", + .ob_sval = "\xe8\x00\xf8\x80\x00\xd8\x13\x17\x97\x3d\x91\x3d\xd7\x08\x20\xd2\x08\x20\xfa", }; static - struct _PyCode_DEF(36) -_collections_abc_toplevel_consts_58_consts_4 = { + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[13]; + } +_collections_abc_toplevel_consts_60_consts_4_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 12, + }, + .ob_shash = -1, + .ob_sval = "\x82\x10\x1a\x01\x92\x01\x18\x04\x93\x06\x1a\x01", +}; +static + struct _PyCode_DEF(56) +_collections_abc_toplevel_consts_60_consts_4 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_56_consts_1._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_names = & _collections_abc_toplevel_consts_58_consts_1._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_60_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 2, - .co_firstlineno = 835, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 868, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 479, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), - .co_qualname = & _collections_abc_toplevel_consts_58_consts_4_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_58_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x64\x00\x7b\x03\x56\x00\x97\x02\x86\x04\x01\x00\x64\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_60_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_60_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x64\x00\x7b\x03\x00\x00\x96\x02\x97\x02\x86\x05\x05\x00\x01\x00\x79\x00\x37\x00\x8c\x05\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -87942,11 +85415,11 @@ static PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_58_consts = { +_collections_abc_toplevel_consts_60_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -87954,9 +85427,9 @@ _collections_abc_toplevel_consts_58_consts = { .ob_item = { & const_str_KeysView._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), - & _collections_abc_toplevel_consts_58_consts_2.ob_base.ob_base, - & _collections_abc_toplevel_consts_58_consts_3.ob_base.ob_base, - & _collections_abc_toplevel_consts_58_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_60_consts_2.ob_base.ob_base, + & _collections_abc_toplevel_consts_60_consts_3.ob_base.ob_base, + & _collections_abc_toplevel_consts_60_consts_4.ob_base.ob_base, Py_None, }, }, @@ -87969,11 +85442,11 @@ static PyObject *ob_item[8]; }_object; } -_collections_abc_toplevel_consts_58_names = { +_collections_abc_toplevel_consts_60_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -87994,54 +85467,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[81]; + char ob_sval[36]; } -_collections_abc_toplevel_consts_58_linetable = { +_collections_abc_toplevel_consts_60_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 80, + .ob_size = 35, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x10\xf0\x02\x01\x05\x17\xf0\x00\x01\x05\x17\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x01\x05\x17\xf0\x06\x01\x05\x24\xf0\x00\x01\x05\x24\xf0\x00\x01\x05\x24\xf0\x06\x01\x05\x21\xf0\x00\x01\x05\x21\xf0\x00\x01\x05\x21\xf0\x00\x01\x05\x21\xf0\x00\x01\x05\x21", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x10\xf1\x02\x01\x05\x17\xf3\x03\x00\x06\x11\xf0\x02\x01\x05\x17\xf2\x06\x01\x05\x24\xf3\x06\x01\x05\x21", }; static - struct _PyCode_DEF(52) -_collections_abc_toplevel_consts_58 = { + struct _PyCode_DEF(44) +_collections_abc_toplevel_consts_60 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 22, }, - .co_consts = & _collections_abc_toplevel_consts_58_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_58_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_60_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_60_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 824, + .co_firstlineno = 857, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 480, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_KeysView._ascii.ob_base, .co_qualname = & const_str_KeysView._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_58_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x03\x84\x00\x5a\x06\x64\x04\x84\x00\x5a\x07\x64\x05\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_60_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x03\x84\x00\x5a\x06\x64\x04\x84\x00\x5a\x07\x79\x05", ._co_firsttraceable = 0, }; static @@ -88049,10 +85520,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -_collections_abc_toplevel_consts_60_consts_2_qualname = { +_collections_abc_toplevel_consts_62_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -88061,46 +85532,44 @@ _collections_abc_toplevel_consts_60_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ItemsView._from_iterable", }; static - struct _PyCode_DEF(32) -_collections_abc_toplevel_consts_60_consts_2 = { + struct _PyCode_DEF(24) +_collections_abc_toplevel_consts_62_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 16, + .ob_size = 12, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_58_consts_2_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_60_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 846, + .co_firstlineno = 879, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_50_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 481, + .co_localsplusnames = & _collections_abc_toplevel_consts_52_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__from_iterable._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_60_consts_2_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_58_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_62_consts_2_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_60_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -88111,11 +85580,11 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_60_consts_3_names = { +_collections_abc_toplevel_consts_62_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -88131,10 +85600,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -_collections_abc_toplevel_consts_60_consts_3_qualname = { +_collections_abc_toplevel_consts_62_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -88143,7 +85612,7 @@ _collections_abc_toplevel_consts_60_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ItemsView.__contains__", @@ -88152,18 +85621,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[86]; + char ob_sval[72]; } -_collections_abc_toplevel_consts_60_consts_3_linetable = { +_collections_abc_toplevel_consts_62_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 85, + .ob_size = 71, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x15\x19\x89\x0a\x88\x03\x88\x55\xf0\x02\x05\x09\x2c\xd8\x10\x14\x94\x0d\x98\x63\xd4\x10\x22\x88\x41\xf0\x08\x00\x14\x15\x98\x05\x90\x3a\xd0\x13\x2b\xa0\x11\xa0\x65\xa2\x1a\xd0\x0c\x2b\xf8\xf5\x07\x00\x10\x18\xf0\x00\x01\x09\x19\xf0\x00\x01\x09\x19\xf0\x00\x01\x09\x19\xd8\x13\x18\x90\x35\x90\x35\xf0\x03\x01\x09\x19\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xd8\x15\x19\x89\x0a\x88\x03\x88\x55\xf0\x02\x05\x09\x2c\xd8\x10\x14\x97\x0d\x91\x0d\x98\x63\xd1\x10\x22\x88\x41\xf0\x08\x00\x14\x15\x98\x05\x90\x3a\xd2\x13\x2b\xa0\x11\xa0\x65\xa1\x1a\xd0\x0c\x2b\xf8\xf4\x07\x00\x10\x18\xf2\x00\x01\x09\x19\xd9\x13\x18\xf0\x03\x01\x09\x19\xfa", }; static struct { @@ -88171,16 +85640,16 @@ static Py_hash_t ob_shash; char ob_sval[13]; } -_collections_abc_toplevel_consts_60_consts_3_exceptiontable = { +_collections_abc_toplevel_consts_62_consts_3_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x87\x0d\x1e\x00\x9e\x0a\x2c\x03\xab\x01\x2c\x03", + .ob_sval = "\x87\x0f\x21\x00\xa1\x09\x2d\x03\xac\x01\x2d\x03", }; static struct { @@ -88190,59 +85659,57 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_60_consts_3_localsplusnames = { +_collections_abc_toplevel_consts_62_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_item._ascii.ob_base, - & const_str_key._ascii.ob_base, - & const_str_value._ascii.ob_base, - & const_str_v._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(item), + &_Py_ID(key), + &_Py_ID(value), + (PyObject *)&_Py_SINGLETON(strings).ascii[118], }, }, }; static - struct _PyCode_DEF(94) -_collections_abc_toplevel_consts_60_consts_3 = { + struct _PyCode_DEF(96) +_collections_abc_toplevel_consts_62_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 47, + .ob_size = 48, }, - .co_consts = & importlib__bootstrap_toplevel_consts_23_consts_4_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_60_consts_3_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_60_consts_3_exceptiontable.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_30_consts_4_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_62_consts_3_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_62_consts_3_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 850, + .co_firstlineno = 883, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_60_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 482, + .co_localsplusnames = & _collections_abc_toplevel_consts_62_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__contains__), - .co_qualname = & _collections_abc_toplevel_consts_60_consts_3_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_60_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x5c\x02\x00\x00\x7d\x02\x7d\x03\x09\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x7c\x03\x75\x00\x70\x05\x7c\x04\x7c\x03\x6b\x02\x00\x00\x00\x00\x53\x00\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_qualname = & _collections_abc_toplevel_consts_62_consts_3_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_62_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x5c\x02\x00\x00\x7d\x02\x7d\x03\x09\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x19\x00\x00\x00\x7d\x04\x7c\x04\x7c\x03\x75\x00\x78\x01\x73\x05\x01\x00\x7c\x04\x7c\x03\x6b\x28\x00\x00\x53\x00\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -88250,10 +85717,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -_collections_abc_toplevel_consts_60_consts_4_qualname = { +_collections_abc_toplevel_consts_62_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -88262,7 +85729,7 @@ _collections_abc_toplevel_consts_60_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ItemsView.__iter__", @@ -88271,54 +85738,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[61]; + char ob_sval[46]; } -_collections_abc_toplevel_consts_60_consts_4_linetable = { +_collections_abc_toplevel_consts_62_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 60, + .ob_size = 45, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xd8\x13\x17\x94\x3d\xf0\x00\x01\x09\x2c\xf0\x00\x01\x09\x2c\x88\x43\xd8\x13\x16\x98\x04\x9c\x0d\xa0\x63\xd4\x18\x2a\xd0\x12\x2b\xd0\x0c\x2b\xd0\x0c\x2b\xd0\x0c\x2b\xd0\x0c\x2b\xf0\x03\x01\x09\x2c\xf0\x00\x01\x09\x2c", + .ob_sval = "\xe8\x00\xf8\x80\x00\xd8\x13\x17\x97\x3d\x91\x3d\xf2\x00\x01\x09\x2c\x88\x43\xd8\x13\x16\x98\x04\x9f\x0d\x99\x0d\xa0\x63\xd1\x18\x2a\xd0\x12\x2b\xd3\x0c\x2b\xf1\x03\x01\x09\x2c\xf9", }; static - struct _PyCode_DEF(64) -_collections_abc_toplevel_consts_60_consts_4 = { + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +_collections_abc_toplevel_consts_62_consts_4_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, + }, + .ob_shash = -1, + .ob_sval = "\x82\x26\x28\x01", +}; +static + struct _PyCode_DEF(84) +_collections_abc_toplevel_consts_62_consts_4 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 32, + .ob_size = 42, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_56_consts_1._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_names = & _collections_abc_toplevel_consts_58_consts_1._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_62_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 859, + .co_firstlineno = 892, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 483, + .co_localsplusnames = & _collections_abc_toplevel_consts_56_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), - .co_qualname = & _collections_abc_toplevel_consts_60_consts_4_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_60_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x13\x7d\x01\x7c\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x56\x00\x97\x01\x01\x00\x8c\x14\x64\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_62_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_62_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x15\x00\x00\x7d\x01\x7c\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x66\x02\x96\x01\x97\x01\x01\x00\x8c\x17\x04\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -88329,11 +85811,11 @@ static PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_60_consts = { +_collections_abc_toplevel_consts_62_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -88341,9 +85823,9 @@ _collections_abc_toplevel_consts_60_consts = { .ob_item = { & const_str_ItemsView._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), - & _collections_abc_toplevel_consts_60_consts_2.ob_base.ob_base, - & _collections_abc_toplevel_consts_60_consts_3.ob_base.ob_base, - & _collections_abc_toplevel_consts_60_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_62_consts_2.ob_base.ob_base, + & _collections_abc_toplevel_consts_62_consts_3.ob_base.ob_base, + & _collections_abc_toplevel_consts_62_consts_4.ob_base.ob_base, Py_None, }, }, @@ -88352,54 +85834,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[81]; + char ob_sval[36]; } -_collections_abc_toplevel_consts_60_linetable = { +_collections_abc_toplevel_consts_62_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 80, + .ob_size = 35, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xe0\x05\x10\xf0\x02\x01\x05\x17\xf0\x00\x01\x05\x17\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x01\x05\x17\xf0\x06\x07\x05\x2c\xf0\x00\x07\x05\x2c\xf0\x00\x07\x05\x2c\xf0\x12\x02\x05\x2c\xf0\x00\x02\x05\x2c\xf0\x00\x02\x05\x2c\xf0\x00\x02\x05\x2c\xf0\x00\x02\x05\x2c", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xe0\x05\x10\xf1\x02\x01\x05\x17\xf3\x03\x00\x06\x11\xf0\x02\x01\x05\x17\xf2\x06\x07\x05\x2c\xf3\x12\x02\x05\x2c", }; static - struct _PyCode_DEF(52) -_collections_abc_toplevel_consts_60 = { + struct _PyCode_DEF(44) +_collections_abc_toplevel_consts_62 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 22, }, - .co_consts = & _collections_abc_toplevel_consts_60_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_58_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_62_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_60_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 842, + .co_firstlineno = 875, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 484, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_ItemsView._ascii.ob_base, .co_qualname = & const_str_ItemsView._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_60_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x03\x84\x00\x5a\x06\x64\x04\x84\x00\x5a\x07\x64\x05\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_62_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x03\x84\x00\x5a\x06\x64\x04\x84\x00\x5a\x07\x79\x05", ._co_firsttraceable = 0, }; static @@ -88407,10 +85887,10 @@ static PyASCIIObject _ascii; uint8_t _data[24]; } -_collections_abc_toplevel_consts_62_consts_2_qualname = { +_collections_abc_toplevel_consts_64_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -88419,7 +85899,7 @@ _collections_abc_toplevel_consts_62_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ValuesView.__contains__", @@ -88428,18 +85908,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[66]; + char ob_sval[57]; } -_collections_abc_toplevel_consts_62_consts_2_linetable = { +_collections_abc_toplevel_consts_64_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 65, + .ob_size = 56, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x13\x17\x94\x3d\xf0\x00\x03\x09\x1c\xf0\x00\x03\x09\x1c\x88\x43\xd8\x10\x14\x94\x0d\x98\x63\xd4\x10\x22\x88\x41\xd8\x0f\x10\x90\x45\x88\x7a\x88\x7a\x98\x51\xa0\x25\x9a\x5a\x98\x5a\xd8\x17\x1b\x90\x74\x90\x74\xf0\x03\x00\x1e\x28\xe0\x0f\x14\x88\x75", + .ob_sval = "\x80\x00\xd8\x13\x17\x97\x3d\x91\x3d\xf2\x00\x03\x09\x1c\x88\x43\xd8\x10\x14\x97\x0d\x91\x0d\x98\x63\xd1\x10\x22\x88\x41\xd8\x0f\x10\x90\x45\x89\x7a\x98\x51\xa0\x25\x9b\x5a\xd9\x17\x1b\xf0\x07\x03\x09\x1c\xf0\x08\x00\x10\x15", }; static struct { @@ -88449,58 +85929,56 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_62_consts_2_localsplusnames = { +_collections_abc_toplevel_consts_64_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_value._ascii.ob_base, - & const_str_key._ascii.ob_base, - & const_str_v._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(value), + &_Py_ID(key), + (PyObject *)&_Py_SINGLETON(strings).ascii[118], }, }, }; static - struct _PyCode_DEF(78) -_collections_abc_toplevel_consts_62_consts_2 = { + struct _PyCode_DEF(90) +_collections_abc_toplevel_consts_64_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 39, + .ob_size = 45, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_3_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_56_consts_1._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_56_consts_7_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_58_consts_1._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 871, + .co_firstlineno = 904, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_62_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 485, + .co_localsplusnames = & _collections_abc_toplevel_consts_64_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__contains__), - .co_qualname = & _collections_abc_toplevel_consts_62_consts_2_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_62_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x1c\x7d\x02\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x7c\x01\x75\x00\x73\x06\x7c\x03\x7c\x01\x6b\x02\x00\x00\x00\x00\x72\x03\x01\x00\x64\x01\x53\x00\x8c\x1d\x64\x02\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_64_consts_2_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_64_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x1c\x00\x00\x7d\x02\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x19\x00\x00\x00\x7d\x03\x7c\x03\x7c\x01\x75\x00\x73\x06\x7c\x03\x7c\x01\x6b\x28\x00\x00\x73\x01\x8c\x1c\x01\x00\x79\x01\x04\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -88508,10 +85986,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -_collections_abc_toplevel_consts_62_consts_3_qualname = { +_collections_abc_toplevel_consts_64_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -88520,7 +85998,7 @@ _collections_abc_toplevel_consts_62_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ValuesView.__iter__", @@ -88529,54 +86007,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[56]; + char ob_sval[41]; } -_collections_abc_toplevel_consts_62_consts_3_linetable = { +_collections_abc_toplevel_consts_64_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 55, + .ob_size = 40, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xd8\x13\x17\x94\x3d\xf0\x00\x01\x09\x25\xf0\x00\x01\x09\x25\x88\x43\xd8\x12\x16\x94\x2d\xa0\x03\xd4\x12\x24\xd0\x0c\x24\xd0\x0c\x24\xd0\x0c\x24\xd0\x0c\x24\xf0\x03\x01\x09\x25\xf0\x00\x01\x09\x25", + .ob_sval = "\xe8\x00\xf8\x80\x00\xd8\x13\x17\x97\x3d\x91\x3d\xf2\x00\x01\x09\x25\x88\x43\xd8\x12\x16\x97\x2d\x91\x2d\xa0\x03\xd1\x12\x24\xd3\x0c\x24\xf1\x03\x01\x09\x25\xf9", }; static - struct _PyCode_DEF(60) -_collections_abc_toplevel_consts_62_consts_3 = { + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +_collections_abc_toplevel_consts_64_consts_3_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, + }, + .ob_shash = -1, + .ob_sval = "\x82\x24\x26\x01", +}; +static + struct _PyCode_DEF(80) +_collections_abc_toplevel_consts_64_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 30, + .ob_size = 40, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_56_consts_1._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_names = & _collections_abc_toplevel_consts_58_consts_1._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_64_consts_3_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 878, + .co_firstlineno = 911, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 486, + .co_localsplusnames = & _collections_abc_toplevel_consts_56_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), - .co_qualname = & _collections_abc_toplevel_consts_62_consts_3_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_62_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x11\x7d\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x97\x01\x01\x00\x8c\x12\x64\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_64_consts_3_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_64_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x13\x00\x00\x7d\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x96\x01\x97\x01\x01\x00\x8c\x15\x04\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -88587,11 +86080,11 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_62_consts = { +_collections_abc_toplevel_consts_64_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -88599,8 +86092,8 @@ _collections_abc_toplevel_consts_62_consts = { .ob_item = { & const_str_ValuesView._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), - & _collections_abc_toplevel_consts_62_consts_2.ob_base.ob_base, - & _collections_abc_toplevel_consts_62_consts_3.ob_base.ob_base, + & _collections_abc_toplevel_consts_64_consts_2.ob_base.ob_base, + & _collections_abc_toplevel_consts_64_consts_3.ob_base.ob_base, Py_None, }, }, @@ -88613,11 +86106,11 @@ static PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_62_names = { +_collections_abc_toplevel_consts_64_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -88636,54 +86129,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[56]; + char ob_sval[18]; } -_collections_abc_toplevel_consts_62_linetable = { +_collections_abc_toplevel_consts_64_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 55, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x10\x12\x80\x49\xf0\x04\x05\x05\x15\xf0\x00\x05\x05\x15\xf0\x00\x05\x05\x15\xf0\x0e\x02\x05\x25\xf0\x00\x02\x05\x25\xf0\x00\x02\x05\x25\xf0\x00\x02\x05\x25\xf0\x00\x02\x05\x25", + .ob_sval = "\x84\x00\xe0\x10\x12\x80\x49\xf2\x04\x05\x05\x15\xf3\x0e\x02\x05\x25", }; static - struct _PyCode_DEF(30) -_collections_abc_toplevel_consts_62 = { + struct _PyCode_DEF(28) +_collections_abc_toplevel_consts_64 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 15, + .ob_size = 14, }, - .co_consts = & _collections_abc_toplevel_consts_62_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_62_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_64_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_64_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 867, + .co_firstlineno = 900, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 487, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_ValuesView._ascii.ob_base, .co_qualname = & const_str_ValuesView._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_62_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_64_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x79\x04", ._co_firsttraceable = 0, }; static @@ -88691,10 +86182,10 @@ static PyASCIIObject _ascii; uint8_t _data[236]; } -_collections_abc_toplevel_consts_64_consts_1 = { +_collections_abc_toplevel_consts_66_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 235, @@ -88703,7 +86194,7 @@ _collections_abc_toplevel_consts_64_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x20\x4d\x75\x74\x61\x62\x6c\x65\x4d\x61\x70\x70\x69\x6e\x67\x20\x69\x73\x20\x61\x20\x67\x65\x6e\x65\x72\x69\x63\x20\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72\x20\x66\x6f\x72\x20\x61\x73\x73\x6f\x63\x69\x61\x74\x69\x6e\x67\x0a\x20\x20\x20\x20\x6b\x65\x79\x2f\x76\x61\x6c\x75\x65\x20\x70\x61\x69\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x63\x6c\x61\x73\x73\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x63\x6f\x6e\x63\x72\x65\x74\x65\x20\x67\x65\x6e\x65\x72\x69\x63\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x73\x20\x6f\x66\x20\x61\x6c\x6c\x0a\x20\x20\x20\x20\x6d\x65\x74\x68\x6f\x64\x73\x20\x65\x78\x63\x65\x70\x74\x20\x66\x6f\x72\x20\x5f\x5f\x67\x65\x74\x69\x74\x65\x6d\x5f\x5f\x2c\x20\x5f\x5f\x73\x65\x74\x69\x74\x65\x6d\x5f\x5f\x2c\x20\x5f\x5f\x64\x65\x6c\x69\x74\x65\x6d\x5f\x5f\x2c\x0a\x20\x20\x20\x20\x5f\x5f\x69\x74\x65\x72\x5f\x5f\x2c\x20\x61\x6e\x64\x20\x5f\x5f\x6c\x65\x6e\x5f\x5f\x2e\x0a\x20\x20\x20\x20", @@ -88713,10 +86204,10 @@ static PyASCIIObject _ascii; uint8_t _data[27]; } -_collections_abc_toplevel_consts_64_consts_3_qualname = { +_collections_abc_toplevel_consts_66_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -88725,7 +86216,7 @@ _collections_abc_toplevel_consts_64_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableMapping.__setitem__", @@ -88738,57 +86229,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_64_consts_3_localsplusnames = { +_collections_abc_toplevel_consts_66_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_key._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(key), + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(16) -_collections_abc_toplevel_consts_64_consts_3 = { + struct _PyCode_DEF(14) +_collections_abc_toplevel_consts_66_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_consts_4_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 897, + .co_firstlineno = 930, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_64_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 488, + .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__setitem__), - .co_qualname = & _collections_abc_toplevel_consts_64_consts_3_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_54_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & _collections_abc_toplevel_consts_66_consts_3_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_56_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -88796,10 +86285,10 @@ static PyASCIIObject _ascii; uint8_t _data[27]; } -_collections_abc_toplevel_consts_64_consts_4_qualname = { +_collections_abc_toplevel_consts_66_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -88808,46 +86297,44 @@ _collections_abc_toplevel_consts_64_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableMapping.__delitem__", }; static - struct _PyCode_DEF(16) -_collections_abc_toplevel_consts_64_consts_4 = { + struct _PyCode_DEF(14) +_collections_abc_toplevel_consts_66_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_consts_4_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 901, + .co_firstlineno = 934, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 489, + .co_localsplusnames = & _collections_abc_toplevel_consts_56_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__delitem__), - .co_qualname = & _collections_abc_toplevel_consts_64_consts_4_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_54_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & _collections_abc_toplevel_consts_66_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_56_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -88855,10 +86342,10 @@ static PyASCIIObject _ascii; uint8_t _data[170]; } -_collections_abc_toplevel_consts_64_consts_5_consts_0 = { +_collections_abc_toplevel_consts_66_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 169, @@ -88867,7 +86354,7 @@ _collections_abc_toplevel_consts_64_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x44\x2e\x70\x6f\x70\x28\x6b\x5b\x2c\x64\x5d\x29\x20\x2d\x3e\x20\x76\x2c\x20\x72\x65\x6d\x6f\x76\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x6b\x65\x79\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x63\x6f\x72\x72\x65\x73\x70\x6f\x6e\x64\x69\x6e\x67\x20\x76\x61\x6c\x75\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x66\x20\x6b\x65\x79\x20\x69\x73\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x2c\x20\x64\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x69\x66\x20\x67\x69\x76\x65\x6e\x2c\x20\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x4b\x65\x79\x45\x72\x72\x6f\x72\x20\x69\x73\x20\x72\x61\x69\x73\x65\x64\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -88880,17 +86367,17 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_64_consts_5_consts = { +_collections_abc_toplevel_consts_66_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & _collections_abc_toplevel_consts_64_consts_5_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_66_consts_5_consts_0._ascii.ob_base, }, }, }; @@ -88902,7 +86389,7 @@ static const_str__MutableMapping__marker = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -88911,7 +86398,7 @@ const_str__MutableMapping__marker = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_MutableMapping__marker", @@ -88924,11 +86411,11 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_64_consts_5_names = { +_collections_abc_toplevel_consts_66_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -88944,10 +86431,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -_collections_abc_toplevel_consts_64_consts_5_qualname = { +_collections_abc_toplevel_consts_66_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -88956,7 +86443,7 @@ _collections_abc_toplevel_consts_64_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableMapping.pop", @@ -88965,18 +86452,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[85]; + char ob_sval[68]; } -_collections_abc_toplevel_consts_64_consts_5_linetable = { +_collections_abc_toplevel_consts_66_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 84, + .ob_size = 67, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x08\x09\x19\xd8\x14\x18\x98\x13\x94\x49\x88\x45\xf0\x0c\x00\x11\x15\x90\x53\x90\x09\xd8\x13\x18\x88\x4c\xf8\xf5\x0d\x00\x10\x18\xf0\x00\x03\x09\x1b\xf0\x00\x03\x09\x1b\xf0\x00\x03\x09\x1b\xd8\x0f\x16\x98\x24\x9c\x2d\xd0\x0f\x27\xd0\x0f\x27\xd8\x10\x15\xd8\x13\x1a\x88\x4e\x88\x4e\x88\x4e\xf0\x07\x03\x09\x1b\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x08\x08\x09\x19\xd8\x14\x18\x98\x13\x91\x49\x88\x45\xf0\x0c\x00\x11\x15\x90\x53\x90\x09\xd8\x13\x18\x88\x4c\xf8\xf4\x0d\x00\x10\x18\xf2\x00\x03\x09\x1b\xd8\x0f\x16\x98\x24\x9f\x2d\x99\x2d\xd1\x0f\x27\xd8\x10\x15\xd8\x13\x1a\x8a\x4e\xf0\x07\x03\x09\x1b\xfa", }; static struct { @@ -88984,16 +86471,16 @@ static Py_hash_t ob_shash; char ob_sval[13]; } -_collections_abc_toplevel_consts_64_consts_5_exceptiontable = { +_collections_abc_toplevel_consts_66_consts_5_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x82\x08\x0f\x00\x8f\x16\x28\x03\xa7\x01\x28\x03", + .ob_sval = "\x82\x05\x0c\x00\x8c\x1a\x29\x03\xa8\x01\x29\x03", }; static struct { @@ -89003,58 +86490,56 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_64_consts_5_localsplusnames = { +_collections_abc_toplevel_consts_66_consts_5_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_key._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(key), &_Py_ID(default), - & const_str_value._ascii.ob_base, + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(86) -_collections_abc_toplevel_consts_64_consts_5 = { + struct _PyCode_DEF(88) +_collections_abc_toplevel_consts_66_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 43, + .ob_size = 44, }, - .co_consts = & _collections_abc_toplevel_consts_64_consts_5_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_64_consts_5_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_64_consts_5_exceptiontable.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_66_consts_5_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_66_consts_5_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_66_consts_5_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 907, + .co_firstlineno = 940, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_64_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 490, + .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_5_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_pop._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_64_consts_5_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_64_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x00\x7c\x01\x3d\x00\x7c\x03\x53\x00\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0f\x01\x00\x7c\x02\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x01\x82\x00\x7c\x02\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_qualname = & _collections_abc_toplevel_consts_66_consts_5_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_66_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x7d\x03\x7c\x00\x7c\x01\x3d\x00\x7c\x03\x53\x00\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x14\x01\x00\x7c\x02\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x01\x82\x00\x7c\x02\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -89062,10 +86547,10 @@ static PyASCIIObject _ascii; uint8_t _data[132]; } -_collections_abc_toplevel_consts_64_consts_6_consts_0 = { +_collections_abc_toplevel_consts_66_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 131, @@ -89074,7 +86559,7 @@ _collections_abc_toplevel_consts_64_consts_6_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x44\x2e\x70\x6f\x70\x69\x74\x65\x6d\x28\x29\x20\x2d\x3e\x20\x28\x6b\x2c\x20\x76\x29\x2c\x20\x72\x65\x6d\x6f\x76\x65\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x20\x73\x6f\x6d\x65\x20\x28\x6b\x65\x79\x2c\x20\x76\x61\x6c\x75\x65\x29\x20\x70\x61\x69\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x61\x73\x20\x61\x20\x32\x2d\x74\x75\x70\x6c\x65\x3b\x20\x62\x75\x74\x20\x72\x61\x69\x73\x65\x20\x4b\x65\x79\x45\x72\x72\x6f\x72\x20\x69\x66\x20\x44\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -89087,17 +86572,17 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_64_consts_6_consts = { +_collections_abc_toplevel_consts_66_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & _collections_abc_toplevel_consts_64_consts_6_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_66_consts_6_consts_0._ascii.ob_base, Py_None, }, }, @@ -89110,11 +86595,11 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_64_consts_6_names = { +_collections_abc_toplevel_consts_66_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -89135,7 +86620,7 @@ static const_str_popitem = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -89144,7 +86629,7 @@ const_str_popitem = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "popitem", @@ -89154,10 +86639,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -_collections_abc_toplevel_consts_64_consts_6_qualname = { +_collections_abc_toplevel_consts_66_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -89166,7 +86651,7 @@ _collections_abc_toplevel_consts_64_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableMapping.popitem", @@ -89175,18 +86660,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[90]; + char ob_sval[75]; } -_collections_abc_toplevel_consts_64_consts_6_linetable = { +_collections_abc_toplevel_consts_66_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 89, + .ob_size = 74, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x03\x09\x25\xdd\x12\x16\x95\x74\x98\x44\x91\x7a\x94\x7a\xd1\x12\x22\xd4\x12\x22\x88\x43\x88\x43\xf8\xdd\x0f\x1c\xf0\x00\x01\x09\x25\xf0\x00\x01\x09\x25\xf0\x00\x01\x09\x25\xdd\x12\x1a\xa0\x04\xd0\x0c\x24\xf0\x03\x01\x09\x25\xf8\xf8\xf8\xe0\x10\x14\x90\x53\x94\x09\x88\x05\xd8\x0c\x10\x90\x13\x88\x49\xd8\x0f\x12\x90\x45\x88\x7a\xd0\x08\x19", + .ob_sval = "\x80\x00\xf0\x08\x03\x09\x25\xdc\x12\x16\x94\x74\x98\x44\x93\x7a\xd3\x12\x22\x88\x43\xf0\x06\x00\x11\x15\x90\x53\x91\x09\x88\x05\xd8\x0c\x10\x90\x13\x88\x49\xd8\x0f\x12\x90\x45\x88\x7a\xd0\x08\x19\xf8\xf4\x09\x00\x10\x1d\xf2\x00\x01\x09\x25\xdc\x12\x1a\xa0\x04\xd0\x0c\x24\xf0\x03\x01\x09\x25\xfa", }; static struct { @@ -89194,52 +86679,50 @@ static Py_hash_t ob_shash; char ob_sval[9]; } -_collections_abc_toplevel_consts_64_consts_6_exceptiontable = { +_collections_abc_toplevel_consts_66_consts_6_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 8, }, .ob_shash = -1, - .ob_sval = "\x82\x1c\x1f\x00\x9f\x13\x32\x03", + .ob_sval = "\x82\x14\x22\x00\xa2\x11\x33\x03", }; static - struct _PyCode_DEF(136) -_collections_abc_toplevel_consts_64_consts_6 = { + struct _PyCode_DEF(108) +_collections_abc_toplevel_consts_66_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 68, + .ob_size = 54, }, - .co_consts = & _collections_abc_toplevel_consts_64_consts_6_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_64_consts_6_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_64_consts_6_exceptiontable.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_66_consts_6_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_66_consts_6_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_66_consts_6_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 921, + .co_firstlineno = 954, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_64_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 491, + .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_popitem._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_64_consts_6_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_64_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x16\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x09\x01\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x7c\x01\x3d\x00\x7c\x01\x7c\x02\x66\x02\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_66_consts_6_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_66_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x7c\x01\x19\x00\x00\x00\x7d\x02\x7c\x00\x7c\x01\x3d\x00\x7c\x01\x7c\x02\x66\x02\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x08\x01\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -89247,10 +86730,10 @@ static PyASCIIObject _ascii; uint8_t _data[45]; } -_collections_abc_toplevel_consts_64_consts_7_consts_0 = { +_collections_abc_toplevel_consts_66_consts_7_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 44, @@ -89259,7 +86742,7 @@ _collections_abc_toplevel_consts_64_consts_7_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "D.clear() -> None. Remove all items from D.", @@ -89269,21 +86752,20 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_64_consts_7_consts = { +_collections_abc_toplevel_consts_66_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 2, }, .ob_item = { - & _collections_abc_toplevel_consts_64_consts_7_consts_0._ascii.ob_base, - Py_True, + & _collections_abc_toplevel_consts_66_consts_7_consts_0._ascii.ob_base, Py_None, }, }, @@ -89296,11 +86778,11 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_64_consts_7_names = { +_collections_abc_toplevel_consts_66_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -89316,10 +86798,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -_collections_abc_toplevel_consts_64_consts_7_qualname = { +_collections_abc_toplevel_consts_66_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -89328,7 +86810,7 @@ _collections_abc_toplevel_consts_64_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableMapping.clear", @@ -89337,54 +86819,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[65]; + char ob_sval[43]; } -_collections_abc_toplevel_consts_64_consts_7_linetable = { +_collections_abc_toplevel_consts_66_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 64, + .ob_size = 42, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x04\x09\x11\xf0\x02\x01\x0d\x1f\xd8\x10\x14\x97\x0c\x92\x0c\x91\x0e\x94\x0e\x90\x0e\xf0\x03\x01\x0d\x1f\xf8\xe5\x0f\x17\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x04\x04\x09\x11\xd8\x12\x16\xd8\x10\x14\x97\x0c\x91\x0c\x94\x0e\xf0\x03\x00\x13\x17\xf8\xe4\x0f\x17\xf2\x00\x01\x09\x11\xd9\x0c\x10\xf0\x03\x01\x09\x11\xfa", }; static - struct _PyCode_DEF(82) -_collections_abc_toplevel_consts_64_consts_7 = { + struct _PyCode_DEF(70) +_collections_abc_toplevel_consts_66_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 41, + .ob_size = 35, }, - .co_consts = & _collections_abc_toplevel_consts_64_consts_7_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_64_consts_7_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_52_consts_7_exceptiontable.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_66_consts_7_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_66_consts_7_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_54_consts_7_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 933, + .co_firstlineno = 966, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 492, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(clear), - .co_qualname = & _collections_abc_toplevel_consts_64_consts_7_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_64_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x09\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x15\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x02\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_qualname = & _collections_abc_toplevel_consts_66_consts_7_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_66_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x09\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x11\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -89392,10 +86872,10 @@ static PyASCIIObject _ascii; uint8_t _data[332]; } -_collections_abc_toplevel_consts_64_consts_8_consts_0 = { +_collections_abc_toplevel_consts_66_consts_8_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 331, @@ -89404,7 +86884,7 @@ _collections_abc_toplevel_consts_64_consts_8_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x44\x2e\x75\x70\x64\x61\x74\x65\x28\x5b\x45\x2c\x20\x5d\x2a\x2a\x46\x29\x20\x2d\x3e\x20\x4e\x6f\x6e\x65\x2e\x20\x20\x55\x70\x64\x61\x74\x65\x20\x44\x20\x66\x72\x6f\x6d\x20\x6d\x61\x70\x70\x69\x6e\x67\x2f\x69\x74\x65\x72\x61\x62\x6c\x65\x20\x45\x20\x61\x6e\x64\x20\x46\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x66\x20\x45\x20\x70\x72\x65\x73\x65\x6e\x74\x20\x61\x6e\x64\x20\x68\x61\x73\x20\x61\x20\x2e\x6b\x65\x79\x73\x28\x29\x20\x6d\x65\x74\x68\x6f\x64\x2c\x20\x64\x6f\x65\x73\x3a\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x6b\x20\x69\x6e\x20\x45\x3a\x20\x44\x5b\x6b\x5d\x20\x3d\x20\x45\x5b\x6b\x5d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x66\x20\x45\x20\x70\x72\x65\x73\x65\x6e\x74\x20\x61\x6e\x64\x20\x6c\x61\x63\x6b\x73\x20\x2e\x6b\x65\x79\x73\x28\x29\x20\x6d\x65\x74\x68\x6f\x64\x2c\x20\x64\x6f\x65\x73\x3a\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x28\x6b\x2c\x20\x76\x29\x20\x69\x6e\x20\x45\x3a\x20\x44\x5b\x6b\x5d\x20\x3d\x20\x76\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x6e\x20\x65\x69\x74\x68\x65\x72\x20\x63\x61\x73\x65\x2c\x20\x74\x68\x69\x73\x20\x69\x73\x20\x66\x6f\x6c\x6c\x6f\x77\x65\x64\x20\x62\x79\x3a\x20\x66\x6f\x72\x20\x6b\x2c\x20\x76\x20\x69\x6e\x20\x46\x2e\x69\x74\x65\x6d\x73\x28\x29\x3a\x20\x44\x5b\x6b\x5d\x20\x3d\x20\x76\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -89417,17 +86897,17 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_64_consts_8_consts = { +_collections_abc_toplevel_consts_66_consts_8_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & _collections_abc_toplevel_consts_64_consts_8_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_66_consts_8_consts_0._ascii.ob_base, &_Py_ID(keys), Py_None, }, @@ -89441,11 +86921,11 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_64_consts_8_names = { +_collections_abc_toplevel_consts_66_consts_8_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -89464,10 +86944,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -_collections_abc_toplevel_consts_64_consts_8_qualname = { +_collections_abc_toplevel_consts_66_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -89476,7 +86956,7 @@ _collections_abc_toplevel_consts_64_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableMapping.update", @@ -89485,18 +86965,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[199]; + char ob_sval[151]; } -_collections_abc_toplevel_consts_64_consts_8_linetable = { +_collections_abc_toplevel_consts_66_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 198, + .ob_size = 150, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0c\x00\x0c\x16\x90\x65\x9d\x57\xd1\x0b\x25\xd4\x0b\x25\xf0\x00\x08\x09\x22\xd8\x17\x1c\xf0\x00\x01\x0d\x27\xf0\x00\x01\x0d\x27\x90\x03\xd8\x1c\x21\xa0\x23\x9c\x4a\x90\x04\x90\x53\x91\x09\x90\x09\xf0\x03\x01\x0d\x27\xe5\x0d\x14\x90\x55\x98\x46\xd1\x0d\x23\xd4\x0d\x23\xf0\x00\x05\x09\x22\xd8\x17\x1c\x97\x7a\x92\x7a\x91\x7c\x94\x7c\xf0\x00\x01\x0d\x27\xf0\x00\x01\x0d\x27\x90\x03\xd8\x1c\x21\xa0\x23\x9c\x4a\x90\x04\x90\x53\x91\x09\x90\x09\xf0\x03\x01\x0d\x27\xf0\x06\x00\x1f\x24\xf0\x00\x01\x0d\x22\xf0\x00\x01\x0d\x22\x91\x0a\x90\x03\x90\x55\xd8\x1c\x21\x90\x04\x90\x53\x91\x09\x90\x09\xd8\x1a\x1e\x9f\x2a\x9a\x2a\x99\x2c\x9c\x2c\xf0\x00\x01\x09\x1e\xf0\x00\x01\x09\x1e\x89\x4a\x88\x43\x90\x15\xd8\x18\x1d\x88\x44\x90\x13\x89\x49\x88\x49\xf0\x03\x01\x09\x1e\xf0\x00\x01\x09\x1e", + .ob_sval = "\x80\x00\xf4\x0c\x00\x0c\x16\x90\x65\x9c\x57\xd4\x0b\x25\xd8\x17\x1c\xf2\x00\x01\x0d\x27\x90\x03\xd8\x1c\x21\xa0\x23\x99\x4a\x90\x04\x90\x53\x92\x09\xf1\x03\x01\x0d\x27\xe4\x0d\x14\x90\x55\x98\x46\xd4\x0d\x23\xd8\x17\x1c\x97\x7a\x91\x7a\x93\x7c\xf2\x00\x01\x0d\x27\x90\x03\xd8\x1c\x21\xa0\x23\x99\x4a\x90\x04\x90\x53\x92\x09\xf1\x03\x01\x0d\x27\xf0\x06\x00\x1f\x24\xf2\x00\x01\x0d\x22\x91\x0a\x90\x03\x90\x55\xd8\x1c\x21\x90\x04\x90\x53\x92\x09\xf0\x03\x01\x0d\x22\xe0\x1a\x1e\x9f\x2a\x99\x2a\x9b\x2c\xf2\x00\x01\x09\x1e\x89\x4a\x88\x43\x90\x15\xd8\x18\x1d\x88\x44\x90\x13\x8a\x49\xf1\x03\x01\x09\x1e", }; static struct { @@ -89506,59 +86986,57 @@ static PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_64_consts_8_localsplusnames = { +_collections_abc_toplevel_consts_66_consts_8_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_other._ascii.ob_base, & const_str_kwds._ascii.ob_base, - & const_str_key._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(key), + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(272) -_collections_abc_toplevel_consts_64_consts_8 = { + struct _PyCode_DEF(240) +_collections_abc_toplevel_consts_66_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 136, + .ob_size = 120, }, - .co_consts = & _collections_abc_toplevel_consts_64_consts_8_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_64_consts_8_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_66_consts_8_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_66_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 11, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 2, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 941, + .co_firstlineno = 974, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_64_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 493, + .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_update._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_64_consts_8_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_64_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x11\x7c\x01\x44\x00\x5d\x0d\x7d\x03\x7c\x01\x7c\x03\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x03\x3c\x00\x00\x00\x8c\x0e\x6e\x40\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x23\x7c\x01\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x0d\x7d\x03\x7c\x01\x7c\x03\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x03\x3c\x00\x00\x00\x8c\x0e\x6e\x0d\x7c\x01\x44\x00\x5d\x0a\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x04\x7c\x00\x7c\x03\x3c\x00\x00\x00\x8c\x0b\x7c\x02\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x0a\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x04\x7c\x00\x7c\x03\x3c\x00\x00\x00\x8c\x0b\x64\x02\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_66_consts_8_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_66_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x10\x7c\x01\x44\x00\x5d\x0a\x00\x00\x7d\x03\x7c\x01\x7c\x03\x19\x00\x00\x00\x7c\x00\x7c\x03\x3c\x00\x00\x00\x8c\x0c\x04\x00\x6e\x39\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x72\x1e\x7c\x01\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x0a\x00\x00\x7d\x03\x7c\x01\x7c\x03\x19\x00\x00\x00\x7c\x00\x7c\x03\x3c\x00\x00\x00\x8c\x0c\x04\x00\x6e\x0f\x7c\x01\x44\x00\x5d\x0a\x00\x00\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x04\x7c\x00\x7c\x03\x3c\x00\x00\x00\x8c\x0c\x04\x00\x7c\x02\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x0a\x00\x00\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x04\x7c\x00\x7c\x03\x3c\x00\x00\x00\x8c\x0c\x04\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -89566,10 +87044,10 @@ static PyASCIIObject _ascii; uint8_t _data[65]; } -_collections_abc_toplevel_consts_64_consts_10_consts_0 = { +_collections_abc_toplevel_consts_66_consts_10_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 64, @@ -89578,7 +87056,7 @@ _collections_abc_toplevel_consts_64_consts_10_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D", @@ -89591,51 +87069,29 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_64_consts_10_consts = { +_collections_abc_toplevel_consts_66_consts_10_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & _collections_abc_toplevel_consts_64_consts_10_consts_0._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[11]; - } -const_str_setdefault = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 10, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + & _collections_abc_toplevel_consts_66_consts_10_consts_0._ascii.ob_base, }, }, - ._data = "setdefault", }; static struct { PyASCIIObject _ascii; uint8_t _data[26]; } -_collections_abc_toplevel_consts_64_consts_10_qualname = { +_collections_abc_toplevel_consts_66_consts_10_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -89644,7 +87100,7 @@ _collections_abc_toplevel_consts_64_consts_10_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MutableMapping.setdefault", @@ -89653,18 +87109,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[63]; + char ob_sval[47]; } -_collections_abc_toplevel_consts_64_consts_10_linetable = { +_collections_abc_toplevel_consts_66_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 62, + .ob_size = 46, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x03\x09\x20\xd8\x13\x17\x98\x03\x94\x39\xd0\x0c\x1c\xf8\xdd\x0f\x17\xf0\x00\x01\x09\x20\xf0\x00\x01\x09\x20\xf0\x00\x01\x09\x20\xd8\x18\x1f\x88\x44\x90\x13\x89\x49\x88\x49\x88\x49\xf0\x03\x01\x09\x20\xf8\xf8\xf8\xe0\x0f\x16\x88\x0e", + .ob_sval = "\x80\x00\xf0\x04\x03\x09\x20\xd8\x13\x17\x98\x03\x91\x39\xd0\x0c\x1c\xf8\xdc\x0f\x17\xf2\x00\x01\x09\x20\xd8\x18\x1f\x88\x44\x90\x13\x8a\x49\xd8\x0f\x16\x88\x0e\xf0\x05\x01\x09\x20\xfa", }; static struct { @@ -89672,52 +87128,50 @@ static Py_hash_t ob_shash; char ob_sval[13]; } -_collections_abc_toplevel_consts_64_consts_10_exceptiontable = { +_collections_abc_toplevel_consts_66_consts_10_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x82\x07\x0a\x00\x8a\x0f\x1c\x03\x9b\x01\x1c\x03", + .ob_sval = "\x82\x04\x07\x00\x87\x0e\x19\x03\x98\x01\x19\x03", }; static - struct _PyCode_DEF(66) -_collections_abc_toplevel_consts_64_consts_10 = { + struct _PyCode_DEF(56) +_collections_abc_toplevel_consts_66_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 28, }, - .co_consts = & _collections_abc_toplevel_consts_64_consts_10_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_54_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_64_consts_10_exceptiontable.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_66_consts_10_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_56_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_66_consts_10_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 959, + .co_firstlineno = 992, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_54_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 494, + .co_localsplusnames = & _collections_abc_toplevel_consts_56_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_setdefault._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_64_consts_10_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_64_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x08\x01\x00\x7c\x02\x7c\x00\x7c\x01\x3c\x00\x00\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x02\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_66_consts_10_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_66_consts_10_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x53\x00\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x09\x01\x00\x7c\x02\x7c\x00\x7c\x01\x3c\x00\x00\x00\x59\x00\x7c\x02\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -89728,11 +87182,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_64_consts_11 = { +_collections_abc_toplevel_consts_66_consts_11 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -89750,28 +87204,28 @@ static PyObject *ob_item[13]; }_object; } -_collections_abc_toplevel_consts_64_consts = { +_collections_abc_toplevel_consts_66_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, }, .ob_item = { & const_str_MutableMapping._ascii.ob_base, - & _collections_abc_toplevel_consts_64_consts_1._ascii.ob_base, + & _collections_abc_toplevel_consts_66_consts_1._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), - & _collections_abc_toplevel_consts_64_consts_3.ob_base.ob_base, - & _collections_abc_toplevel_consts_64_consts_4.ob_base.ob_base, - & _collections_abc_toplevel_consts_64_consts_5.ob_base.ob_base, - & _collections_abc_toplevel_consts_64_consts_6.ob_base.ob_base, - & _collections_abc_toplevel_consts_64_consts_7.ob_base.ob_base, - & _collections_abc_toplevel_consts_64_consts_8.ob_base.ob_base, + & _collections_abc_toplevel_consts_66_consts_3.ob_base.ob_base, + & _collections_abc_toplevel_consts_66_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_66_consts_5.ob_base.ob_base, + & _collections_abc_toplevel_consts_66_consts_6.ob_base.ob_base, + & _collections_abc_toplevel_consts_66_consts_7.ob_base.ob_base, + & _collections_abc_toplevel_consts_66_consts_8.ob_base.ob_base, Py_None, - & _collections_abc_toplevel_consts_64_consts_10.ob_base.ob_base, - & _collections_abc_toplevel_consts_64_consts_11._object.ob_base.ob_base, + & _collections_abc_toplevel_consts_66_consts_10.ob_base.ob_base, + & _collections_abc_toplevel_consts_66_consts_11._object.ob_base.ob_base, & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, }, }, @@ -89784,11 +87238,11 @@ static PyObject *ob_item[15]; }_object; } -_collections_abc_toplevel_consts_64_names = { +_collections_abc_toplevel_consts_66_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -89802,7 +87256,7 @@ _collections_abc_toplevel_consts_64_names = { & const_str_abstractmethod._ascii.ob_base, &_Py_ID(__setitem__), &_Py_ID(__delitem__), - & const_str_object._ascii.ob_base, + &_Py_ID(object), & const_str__MutableMapping__marker._ascii.ob_base, & const_str_pop._ascii.ob_base, & const_str_popitem._ascii.ob_base, @@ -89816,54 +87270,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[196]; + char ob_sval[90]; } -_collections_abc_toplevel_consts_64_linetable = { +_collections_abc_toplevel_consts_66_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 195, + .ob_size = 89, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x06\x05\x08\xf0\x00\x06\x05\x08\xf0\x10\x00\x11\x13\x80\x49\xe0\x05\x13\xf0\x02\x01\x05\x17\xf0\x00\x01\x05\x17\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x17\xf0\x06\x00\x06\x14\xf0\x02\x01\x05\x17\xf0\x00\x01\x05\x17\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x17\xf0\x06\x00\x10\x16\x88\x76\x89\x78\x8c\x78\x80\x48\xe0\x1f\x27\xf0\x00\x0c\x05\x19\xf0\x00\x0c\x05\x19\xf0\x00\x0c\x05\x19\xf0\x00\x0c\x05\x19\xf0\x1c\x0a\x05\x1a\xf0\x00\x0a\x05\x1a\xf0\x00\x0a\x05\x1a\xf0\x18\x06\x05\x11\xf0\x00\x06\x05\x11\xf0\x00\x06\x05\x11\xf0\x10\x10\x05\x1e\xf0\x00\x10\x05\x1e\xf0\x00\x10\x05\x1e\xf0\x00\x10\x05\x1e\xf0\x24\x06\x05\x17\xf0\x00\x06\x05\x17\xf0\x00\x06\x05\x17\xf0\x00\x06\x05\x17\xf0\x00\x06\x05\x17\xf0\x00\x06\x05\x17", + .ob_sval = "\x84\x00\xf1\x02\x06\x05\x08\xf0\x10\x00\x11\x13\x80\x49\xe0\x05\x13\xf1\x02\x01\x05\x17\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x17\xf0\x06\x00\x06\x14\xf1\x02\x01\x05\x17\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x17\xf1\x06\x00\x10\x16\x8b\x78\x80\x48\xe0\x1f\x27\xf3\x00\x0c\x05\x19\xf2\x1c\x0a\x05\x1a\xf2\x18\x06\x05\x11\xf3\x10\x10\x05\x1e\xf4\x24\x06\x05\x17", }; static - struct _PyCode_DEF(124) -_collections_abc_toplevel_consts_64 = { + struct _PyCode_DEF(104) +_collections_abc_toplevel_consts_66 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 62, + .ob_size = 52, }, - .co_consts = & _collections_abc_toplevel_consts_64_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_64_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_66_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_66_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 886, + .co_firstlineno = 919, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 495, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_MutableMapping._ascii.ob_base, .co_qualname = & const_str_MutableMapping._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_64_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x65\x05\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x05\x64\x04\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x08\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x65\x09\x66\x01\x64\x05\x84\x01\x5a\x0a\x64\x06\x84\x00\x5a\x0b\x64\x07\x84\x00\x5a\x0c\x64\x0b\x64\x08\x84\x01\x5a\x0d\x64\x0c\x64\x0a\x84\x01\x5a\x0e\x64\x09\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_66_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x65\x05\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x05\x64\x04\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x02\x00\x65\x08\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x65\x09\x66\x01\x64\x05\x84\x01\x5a\x0a\x64\x06\x84\x00\x5a\x0b\x64\x07\x84\x00\x5a\x0c\x64\x0b\x64\x08\x84\x01\x5a\x0d\x64\x0c\x64\x0a\x84\x01\x5a\x0e\x79\x09", ._co_firsttraceable = 0, }; static @@ -89871,10 +87323,10 @@ static PyASCIIObject _ascii; uint8_t _data[139]; } -_collections_abc_toplevel_consts_66_consts_1 = { +_collections_abc_toplevel_consts_68_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 138, @@ -89883,7 +87335,7 @@ _collections_abc_toplevel_consts_66_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x6c\x6c\x20\x74\x68\x65\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\x6e\x73\x20\x6f\x6e\x20\x61\x20\x72\x65\x61\x64\x2d\x6f\x6e\x6c\x79\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x2e\x0a\x0a\x20\x20\x20\x20\x43\x6f\x6e\x63\x72\x65\x74\x65\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x20\x6d\x75\x73\x74\x20\x6f\x76\x65\x72\x72\x69\x64\x65\x20\x5f\x5f\x6e\x65\x77\x5f\x5f\x20\x6f\x72\x20\x5f\x5f\x69\x6e\x69\x74\x5f\x5f\x2c\x0a\x20\x20\x20\x20\x5f\x5f\x67\x65\x74\x69\x74\x65\x6d\x5f\x5f\x2c\x20\x61\x6e\x64\x20\x5f\x5f\x6c\x65\x6e\x5f\x5f\x2e\x0a\x20\x20\x20\x20", @@ -89896,11 +87348,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_66_consts_4_names = { +_collections_abc_toplevel_consts_68_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -89915,10 +87367,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -_collections_abc_toplevel_consts_66_consts_4_qualname = { +_collections_abc_toplevel_consts_68_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -89927,7 +87379,7 @@ _collections_abc_toplevel_consts_66_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sequence.__getitem__", @@ -89938,52 +87390,50 @@ static Py_hash_t ob_shash; char ob_sval[9]; } -_collections_abc_toplevel_consts_66_consts_4_linetable = { +_collections_abc_toplevel_consts_68_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 8, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0e\x18\xd0\x08\x18", + .ob_sval = "\x80\x00\xe4\x0e\x18\xd0\x08\x18", }; static - struct _PyCode_DEF(16) -_collections_abc_toplevel_consts_66_consts_4 = { + struct _PyCode_DEF(14) +_collections_abc_toplevel_consts_68_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_66_consts_4_names._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_68_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 985, + .co_firstlineno = 1018, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_67_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 496, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_66_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__getitem__), - .co_qualname = & _collections_abc_toplevel_consts_66_consts_4_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_66_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & _collections_abc_toplevel_consts_68_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_68_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -89991,22 +87441,21 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_66_consts_5_consts = { +_collections_abc_toplevel_consts_68_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 3, }, .ob_item = { Py_None, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - Py_True, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], }, }, @@ -90016,10 +87465,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -_collections_abc_toplevel_consts_66_consts_5_qualname = { +_collections_abc_toplevel_consts_68_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -90028,7 +87477,7 @@ _collections_abc_toplevel_consts_66_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sequence.__iter__", @@ -90037,35 +87486,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[90]; + char ob_sval[67]; } -_collections_abc_toplevel_consts_66_consts_5_linetable = { +_collections_abc_toplevel_consts_68_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 89, + .ob_size = 66, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xd8\x0c\x0d\x88\x01\xf0\x02\x06\x09\x13\xf0\x02\x03\x0d\x17\xd8\x14\x18\x98\x11\x94\x47\x90\x01\xd8\x16\x17\x90\x07\x90\x07\x90\x07\xd8\x10\x11\x90\x51\x91\x06\x90\x01\xf0\x07\x03\x0d\x17\xf8\xf5\x08\x00\x10\x1a\xf0\x00\x01\x09\x13\xf0\x00\x01\x09\x13\xf0\x00\x01\x09\x13\xd8\x0c\x12\x88\x46\x88\x46\xf0\x03\x01\x09\x13\xf8\xf8\xf8", + .ob_sval = "\xe8\x00\xf8\x80\x00\xd8\x0c\x0d\x88\x01\xf0\x02\x06\x09\x13\xd8\x12\x16\xd8\x14\x18\x98\x11\x91\x47\x90\x01\xd8\x16\x17\x92\x07\xd8\x10\x11\x90\x51\x91\x06\x90\x01\xf0\x07\x00\x13\x17\xf8\xf4\x08\x00\x10\x1a\xf2\x00\x01\x09\x13\xd9\x0c\x12\xf0\x03\x01\x09\x13\xfc", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[13]; + char ob_sval[25]; } -_collections_abc_toplevel_consts_66_consts_5_exceptiontable = { +_collections_abc_toplevel_consts_68_consts_5_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 12, + .ob_size = 24, }, .ob_shash = -1, - .ob_sval = "\x86\x13\x19\x00\x99\x0a\x27\x03\xa6\x01\x27\x03", + .ob_sval = "\x82\x03\x25\x01\x86\x10\x16\x00\x96\x09\x22\x03\x9f\x02\x25\x01\xa1\x01\x22\x03\xa2\x03\x25\x01", }; static struct { @@ -90075,57 +87524,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_66_consts_5_localsplusnames = { +_collections_abc_toplevel_consts_68_consts_5_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_i._ascii.ob_base, - & const_str_v._ascii.ob_base, + &_Py_ID(self), + (PyObject *)&_Py_SINGLETON(strings).ascii[105], + (PyObject *)&_Py_SINGLETON(strings).ascii[118], }, }, }; static - struct _PyCode_DEF(84) -_collections_abc_toplevel_consts_66_consts_5 = { + struct _PyCode_DEF(78) +_collections_abc_toplevel_consts_68_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 42, + .ob_size = 39, }, - .co_consts = & _collections_abc_toplevel_consts_66_consts_5_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_66_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_66_consts_5_exceptiontable.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_68_consts_5_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_68_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_68_consts_5_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 989, + .co_firstlineno = 1022, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_5_localsplusnames._object.ob_base.ob_base, + .co_version = 497, + .co_localsplusnames = & _collections_abc_toplevel_consts_68_consts_5_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), - .co_qualname = & _collections_abc_toplevel_consts_66_consts_5_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_66_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x01\x7d\x01\x09\x00\x09\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x56\x00\x97\x01\x01\x00\x7c\x01\x64\x03\x7a\x0d\x00\x00\x7d\x01\x8c\x12\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_qualname = & _collections_abc_toplevel_consts_68_consts_5_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_68_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x64\x01\x7d\x01\x09\x00\x09\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x7d\x02\x7c\x02\x96\x02\x97\x01\x01\x00\x7c\x01\x64\x02\x7a\x0d\x00\x00\x7d\x01\x8c\x0f\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x00\x77\x00\x78\x03\x59\x00\x77\x01\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -90133,10 +87580,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -_collections_abc_toplevel_consts_66_consts_6_qualname = { +_collections_abc_toplevel_consts_68_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -90145,7 +87592,7 @@ _collections_abc_toplevel_consts_66_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sequence.__contains__", @@ -90154,18 +87601,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[52]; + char ob_sval[39]; } -_collections_abc_toplevel_consts_66_consts_6_linetable = { +_collections_abc_toplevel_consts_68_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 51, + .ob_size = 38, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x11\x15\xf0\x00\x02\x09\x1c\xf0\x00\x02\x09\x1c\x88\x41\xd8\x0f\x10\x90\x45\x88\x7a\x88\x7a\x98\x51\xa0\x25\x9a\x5a\x98\x5a\xd8\x17\x1b\x90\x74\x90\x74\xf0\x03\x00\x1e\x28\xe0\x0f\x14\x88\x75", + .ob_sval = "\x80\x00\xd8\x11\x15\xf2\x00\x02\x09\x1c\x88\x41\xd8\x0f\x10\x90\x45\x89\x7a\x98\x51\xa0\x25\x9b\x5a\xd9\x17\x1b\xf0\x05\x02\x09\x1c\xf0\x06\x00\x10\x15", }; static struct { @@ -90175,57 +87622,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_66_consts_6_localsplusnames = { +_collections_abc_toplevel_consts_68_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_value._ascii.ob_base, - & const_str_v._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(value), + (PyObject *)&_Py_SINGLETON(strings).ascii[118], }, }, }; static - struct _PyCode_DEF(42) -_collections_abc_toplevel_consts_66_consts_6 = { + struct _PyCode_DEF(40) +_collections_abc_toplevel_consts_68_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 20, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_3_consts._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_56_consts_7_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 999, + .co_firstlineno = 1032, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 498, + .co_localsplusnames = & _collections_abc_toplevel_consts_68_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__contains__), - .co_qualname = & _collections_abc_toplevel_consts_66_consts_6_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_66_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x44\x00\x5d\x0f\x7d\x02\x7c\x02\x7c\x01\x75\x00\x73\x06\x7c\x02\x7c\x01\x6b\x02\x00\x00\x00\x00\x72\x03\x01\x00\x64\x01\x53\x00\x8c\x10\x64\x02\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_68_consts_6_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_68_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x44\x00\x5d\x0d\x00\x00\x7d\x02\x7c\x02\x7c\x01\x75\x00\x73\x06\x7c\x02\x7c\x01\x6b\x28\x00\x00\x73\x01\x8c\x0d\x01\x00\x79\x01\x04\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -90236,7 +87681,7 @@ static const_str_range = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -90245,7 +87690,7 @@ const_str_range = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "range", @@ -90258,11 +87703,11 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_66_consts_7_names = { +_collections_abc_toplevel_consts_68_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -90279,10 +87724,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -_collections_abc_toplevel_consts_66_consts_7_qualname = { +_collections_abc_toplevel_consts_68_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -90291,7 +87736,7 @@ _collections_abc_toplevel_consts_66_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sequence.__reversed__", @@ -90300,18 +87745,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[69]; + char ob_sval[45]; } -_collections_abc_toplevel_consts_66_consts_7_linetable = { +_collections_abc_toplevel_consts_68_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 68, + .ob_size = 44, + }, + .ob_shash = -1, + .ob_sval = "\xe8\x00\xf8\x80\x00\xdc\x11\x19\x9c\x25\xa4\x03\xa0\x44\xa3\x09\xd3\x1a\x2a\xd3\x11\x2b\xf2\x00\x01\x09\x1a\x88\x41\xd8\x12\x16\x90\x71\x91\x27\x8b\x4d\xf1\x03\x01\x09\x1a\xf9", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +_collections_abc_toplevel_consts_68_consts_7_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xdd\x11\x19\x9d\x25\xa5\x03\xa0\x44\xa1\x09\xa4\x09\xd1\x1a\x2a\xd4\x1a\x2a\xd1\x11\x2b\xd4\x11\x2b\xf0\x00\x01\x09\x1a\xf0\x00\x01\x09\x1a\x88\x41\xd8\x12\x16\x90\x71\x94\x27\x88\x4d\x88\x4d\x88\x4d\x88\x4d\xf0\x03\x01\x09\x1a\xf0\x00\x01\x09\x1a", + .ob_sval = "\x82\x2b\x2d\x01", }; static struct { @@ -90321,56 +87783,54 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_66_consts_7_localsplusnames = { +_collections_abc_toplevel_consts_68_consts_7_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_i._ascii.ob_base, + &_Py_ID(self), + (PyObject *)&_Py_SINGLETON(strings).ascii[105], }, }, }; static - struct _PyCode_DEF(118) -_collections_abc_toplevel_consts_66_consts_7 = { + struct _PyCode_DEF(94) +_collections_abc_toplevel_consts_68_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 59, + .ob_size = 47, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_66_consts_7_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_names = & _collections_abc_toplevel_consts_68_consts_7_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_68_consts_7_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 1005, + .co_firstlineno = 1038, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_7_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 499, + .co_localsplusnames = & _collections_abc_toplevel_consts_68_consts_7_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__reversed__), - .co_qualname = & _collections_abc_toplevel_consts_66_consts_7_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_66_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x0c\x7d\x01\x7c\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x97\x01\x01\x00\x8c\x0d\x64\x00\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_68_consts_7_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_68_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x09\x00\x00\x7d\x01\x7c\x00\x7c\x01\x19\x00\x00\x00\x96\x01\x97\x01\x01\x00\x8c\x0b\x04\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -90378,10 +87838,10 @@ static PyASCIIObject _ascii; uint8_t _data[231]; } -_collections_abc_toplevel_consts_66_consts_10_consts_0 = { +_collections_abc_toplevel_consts_68_consts_9_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 230, @@ -90390,7 +87850,7 @@ _collections_abc_toplevel_consts_66_consts_10_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x53\x2e\x69\x6e\x64\x65\x78\x28\x76\x61\x6c\x75\x65\x2c\x20\x5b\x73\x74\x61\x72\x74\x2c\x20\x5b\x73\x74\x6f\x70\x5d\x5d\x29\x20\x2d\x3e\x20\x69\x6e\x74\x65\x67\x65\x72\x20\x2d\x2d\x20\x72\x65\x74\x75\x72\x6e\x20\x66\x69\x72\x73\x74\x20\x69\x6e\x64\x65\x78\x20\x6f\x66\x20\x76\x61\x6c\x75\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x73\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x20\x69\x66\x20\x74\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x69\x73\x20\x6e\x6f\x74\x20\x70\x72\x65\x73\x65\x6e\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x53\x75\x70\x70\x6f\x72\x74\x69\x6e\x67\x20\x73\x74\x61\x72\x74\x20\x61\x6e\x64\x20\x73\x74\x6f\x70\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x69\x73\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x2c\x20\x62\x75\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x63\x6f\x6d\x6d\x65\x6e\x64\x65\x64\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -90400,21 +87860,20 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_66_consts_10_consts = { +_collections_abc_toplevel_consts_68_consts_9_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 3, }, .ob_item = { - & _collections_abc_toplevel_consts_66_consts_10_consts_0._ascii.ob_base, - Py_None, + & _collections_abc_toplevel_consts_68_consts_9_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], }, @@ -90428,11 +87887,11 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_66_consts_10_names = { +_collections_abc_toplevel_consts_68_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -90450,10 +87909,10 @@ static PyASCIIObject _ascii; uint8_t _data[15]; } -_collections_abc_toplevel_consts_66_consts_10_qualname = { +_collections_abc_toplevel_consts_68_consts_9_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -90462,7 +87921,7 @@ _collections_abc_toplevel_consts_66_consts_10_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sequence.index", @@ -90471,35 +87930,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[195]; + char ob_sval[172]; } -_collections_abc_toplevel_consts_66_consts_10_linetable = { +_collections_abc_toplevel_consts_68_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 194, + .ob_size = 171, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0e\x00\x0c\x11\xd0\x0b\x1c\xa0\x15\xa8\x11\xa2\x19\xa0\x19\xdd\x14\x17\x9d\x03\x98\x44\x99\x09\x9c\x09\xa0\x45\xd1\x18\x29\xa8\x31\xd1\x14\x2d\xd4\x14\x2d\x88\x45\xd8\x0b\x0f\xd0\x0b\x1b\xa0\x04\xa0\x71\xa2\x08\xa0\x08\xd8\x0c\x10\x95\x43\x98\x04\x91\x49\x94\x49\xd1\x0c\x1d\x88\x44\xe0\x0c\x11\x88\x01\xd8\x0e\x12\x88\x6c\x98\x61\xa0\x24\x9a\x68\x98\x68\xf0\x02\x03\x0d\x16\xd8\x14\x18\x98\x11\x94\x47\x90\x01\x90\x01\xf8\xdd\x13\x1d\xf0\x00\x01\x0d\x16\xf0\x00\x01\x0d\x16\xf0\x00\x01\x0d\x16\xd8\x10\x15\x90\x05\xf0\x03\x01\x0d\x16\xf8\xf8\xf8\xe0\x0f\x10\x90\x45\x88\x7a\x88\x7a\x98\x51\xa0\x25\x9a\x5a\x98\x5a\xd8\x17\x18\x90\x08\xd8\x0c\x0d\x90\x11\x89\x46\x88\x41\xf0\x0f\x00\x0f\x13\x88\x6c\x98\x61\xa0\x24\x9a\x68\x98\x68\xf5\x10\x00\x0f\x19\xd0\x08\x18", + .ob_sval = "\x80\x00\xf0\x0e\x00\x0c\x11\xd0\x0b\x1c\xa0\x15\xa8\x11\xa2\x19\xdc\x14\x17\x9c\x03\x98\x44\x9b\x09\xa0\x45\xd1\x18\x29\xa8\x31\xd3\x14\x2d\x88\x45\xd8\x0b\x0f\xd0\x0b\x1b\xa0\x04\xa0\x71\xa2\x08\xd8\x0c\x10\x94\x43\x98\x04\x93\x49\xd1\x0c\x1d\x88\x44\xe0\x0c\x11\x88\x01\xd8\x0e\x12\x88\x6c\x98\x61\xa0\x24\x9a\x68\xf0\x02\x03\x0d\x16\xd8\x14\x18\x98\x11\x91\x47\x90\x01\xf0\x06\x00\x10\x11\x90\x45\x89\x7a\x98\x51\xa0\x25\x9a\x5a\xd8\x17\x18\x90\x08\xd8\x0c\x0d\x90\x11\x89\x46\x88\x41\xf0\x0f\x00\x0f\x13\x89\x6c\x98\x61\xa0\x24\x9b\x68\xf4\x10\x00\x0f\x19\xd0\x08\x18\xf8\xf4\x0b\x00\x14\x1e\xf2\x00\x01\x0d\x16\xd8\x10\x15\xf4\x08\x00\x0f\x19\xd0\x08\x18\xf0\x0b\x01\x0d\x16\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[19]; + char ob_sval[18]; } -_collections_abc_toplevel_consts_66_consts_10_exceptiontable = { +_collections_abc_toplevel_consts_68_consts_9_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 18, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\xc1\x0e\x08\x41\x17\x00\xc1\x17\x0a\x41\x24\x03\xc1\x23\x01\x41\x24\x03", + .ob_sval = "\xbf\x05\x41\x23\x00\xc1\x23\x09\x41\x34\x03\xc1\x33\x01\x41\x34\x03", }; static struct { @@ -90509,7 +87968,7 @@ static const_str_stop = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -90518,7 +87977,7 @@ const_str_stop = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "stop", @@ -90531,60 +87990,58 @@ static PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_66_consts_10_localsplusnames = { +_collections_abc_toplevel_consts_68_consts_9_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_value._ascii.ob_base, - & const_str_start._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(value), + &_Py_ID(start), & const_str_stop._ascii.ob_base, - & const_str_i._ascii.ob_base, - & const_str_v._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], + (PyObject *)&_Py_SINGLETON(strings).ascii[118], }, }, }; static - struct _PyCode_DEF(270) -_collections_abc_toplevel_consts_66_consts_10 = { + struct _PyCode_DEF(238) +_collections_abc_toplevel_consts_68_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 135, + .ob_size = 119, }, - .co_consts = & _collections_abc_toplevel_consts_66_consts_10_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_66_consts_10_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_66_consts_10_exceptiontable.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_68_consts_9_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_68_consts_9_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_68_consts_9_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 1009, + .co_firstlineno = 1042, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_10_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 500, + .co_localsplusnames = & _collections_abc_toplevel_consts_68_consts_9_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_index._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_66_consts_10_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_66_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x81\x26\x7c\x02\x64\x02\x6b\x00\x00\x00\x00\x00\x72\x20\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7a\x00\x00\x00\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x03\x81\x18\x7c\x03\x64\x02\x6b\x00\x00\x00\x00\x00\x72\x12\x7c\x03\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0d\x00\x00\x7d\x03\x7c\x02\x7d\x04\x7c\x03\x81\x06\x7c\x04\x7c\x03\x6b\x00\x00\x00\x00\x00\x72\x33\x09\x00\x7c\x00\x7c\x04\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x10\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x1d\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x05\x7c\x01\x75\x00\x73\x06\x7c\x05\x7c\x01\x6b\x02\x00\x00\x00\x00\x72\x02\x7c\x04\x53\x00\x7c\x04\x64\x03\x7a\x0d\x00\x00\x7d\x04\x7c\x03\xae\x2d\x7c\x04\x7c\x03\x6b\x00\x00\x00\x00\x00\xb0\x33\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & _collections_abc_toplevel_consts_68_consts_9_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_68_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x81\x1d\x7c\x02\x64\x01\x6b\x02\x00\x00\x72\x18\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x02\x7a\x00\x00\x00\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x03\x81\x13\x7c\x03\x64\x01\x6b\x02\x00\x00\x72\x0e\x7c\x03\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x0d\x00\x00\x7d\x03\x7c\x02\x7d\x04\x7c\x03\x81\x05\x7c\x04\x7c\x03\x6b\x02\x00\x00\x72\x1f\x09\x00\x7c\x00\x7c\x04\x19\x00\x00\x00\x7d\x05\x7c\x05\x7c\x01\x75\x00\x73\x05\x7c\x05\x7c\x01\x6b\x28\x00\x00\x72\x02\x7c\x04\x53\x00\x7c\x04\x64\x02\x7a\x0d\x00\x00\x7d\x04\x7c\x03\x80\x01\x8c\x19\x7c\x04\x7c\x03\x6b\x02\x00\x00\x72\x01\x8c\x1f\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x08\x01\x00\x59\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -90592,10 +88049,10 @@ static PyASCIIObject _ascii; uint8_t _data[67]; } -_collections_abc_toplevel_consts_66_consts_11_consts_0 = { +_collections_abc_toplevel_consts_68_consts_10_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 66, @@ -90604,7 +88061,7 @@ _collections_abc_toplevel_consts_66_consts_11_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S.count(value) -> integer -- return number of occurrences of value", @@ -90614,10 +88071,10 @@ static PyASCIIObject _ascii; uint8_t _data[34]; } -_collections_abc_toplevel_consts_66_consts_11_consts_1_qualname = { +_collections_abc_toplevel_consts_68_consts_10_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 33, @@ -90626,7 +88083,7 @@ _collections_abc_toplevel_consts_66_consts_11_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sequence.count..", @@ -90635,18 +88092,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[48]; + char ob_sval[30]; } -_collections_abc_toplevel_consts_66_consts_11_consts_1_linetable = { +_collections_abc_toplevel_consts_68_consts_10_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 47, + .ob_size = 29, + }, + .ob_shash = -1, + .ob_sval = "\xf8\xe8\x00\xf8\x80\x00\xd2\x12\x3f\x98\x11\xa0\x61\xa8\x35\xa1\x6a\xb0\x41\xb8\x15\xb3\x4a\x94\x31\xd1\x12\x3f\xf9", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[9]; + } +_collections_abc_toplevel_consts_68_consts_10_consts_1_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 8, }, .ob_shash = -1, - .ob_sval = "\xf8\xe8\x00\xe8\x00\x80\x00\xd0\x12\x3f\xd0\x12\x3f\x98\x11\xa0\x61\xa8\x35\xa0\x6a\xa0\x6a\xb0\x41\xb8\x15\xb2\x4a\xb0\x4a\x90\x31\xb0\x4a\xb0\x4a\xb0\x4a\xb0\x4a\xd0\x12\x3f\xd0\x12\x3f", + .ob_sval = "\x83\x0e\x19\x01\x92\x07\x19\x01", }; static struct { @@ -90656,57 +88130,55 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_66_consts_11_consts_1_localsplusnames = { +_collections_abc_toplevel_consts_68_consts_10_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_v._ascii.ob_base, - & const_str_value._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[118], + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(48) -_collections_abc_toplevel_consts_66_consts_11_consts_1 = { + struct _PyCode_DEF(54) +_collections_abc_toplevel_consts_68_consts_10_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 24, + .ob_size = 27, }, .co_consts = & importlib__bootstrap_external_toplevel_consts_6_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & _collections_abc_toplevel_consts_68_consts_10_consts_1_exceptiontable.ob_base.ob_base, .co_flags = 51, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 1034, + .co_firstlineno = 1067, .co_nlocalsplus = 3, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_11_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, + .co_version = 501, + .co_localsplusnames = & _collections_abc_toplevel_consts_68_consts_10_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_genexpr), - .co_qualname = & _collections_abc_toplevel_consts_66_consts_11_consts_1_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_66_consts_11_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x10\x7d\x01\x7c\x01\x89\x02\x75\x00\x73\x06\x7c\x01\x89\x02\x6b\x02\x00\x00\x00\x00\xaf\x0c\x64\x00\x56\x00\x97\x01\x01\x00\x8c\x11\x64\x01\x53\x00", + .co_qualname = & _collections_abc_toplevel_consts_68_consts_10_consts_1_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_68_consts_10_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x10\x00\x00\x7d\x01\x7c\x01\x89\x02\x75\x00\x73\x06\x7c\x01\x89\x02\x6b\x28\x00\x00\x73\x01\x8c\x0d\x64\x00\x96\x01\x97\x01\x01\x00\x8c\x12\x04\x00\x79\x01\xad\x03\x77\x01", ._co_firsttraceable = 3, }; static @@ -90717,18 +88189,18 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_66_consts_11_consts = { +_collections_abc_toplevel_consts_68_consts_10_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & _collections_abc_toplevel_consts_66_consts_11_consts_0._ascii.ob_base, - & _collections_abc_toplevel_consts_66_consts_11_consts_1.ob_base.ob_base, + & _collections_abc_toplevel_consts_68_consts_10_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_68_consts_10_consts_1.ob_base.ob_base, }, }, }; @@ -90740,7 +88212,7 @@ static const_str_sum = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -90749,7 +88221,7 @@ const_str_sum = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sum", @@ -90762,11 +88234,11 @@ static PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_66_consts_11_names = { +_collections_abc_toplevel_consts_68_consts_10_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -90781,10 +88253,10 @@ static PyASCIIObject _ascii; uint8_t _data[15]; } -_collections_abc_toplevel_consts_66_consts_11_qualname = { +_collections_abc_toplevel_consts_68_consts_10_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -90793,7 +88265,7 @@ _collections_abc_toplevel_consts_66_consts_11_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Sequence.count", @@ -90802,54 +88274,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[39]; + char ob_sval[21]; } -_collections_abc_toplevel_consts_66_consts_11_linetable = { +_collections_abc_toplevel_consts_68_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 38, + .ob_size = 20, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xe5\x0f\x12\xd0\x12\x3f\xd0\x12\x3f\xd0\x12\x3f\xd0\x12\x3f\x98\x64\xd0\x12\x3f\xd1\x12\x3f\xd4\x12\x3f\xd1\x0f\x3f\xd4\x0f\x3f\xd0\x08\x3f", + .ob_sval = "\xf8\x80\x00\xe4\x0f\x12\xd3\x12\x3f\x98\x64\xd4\x12\x3f\xd3\x0f\x3f\xd0\x08\x3f", }; static - struct _PyCode_DEF(58) -_collections_abc_toplevel_consts_66_consts_11 = { + struct _PyCode_DEF(44) +_collections_abc_toplevel_consts_68_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 22, }, - .co_consts = & _collections_abc_toplevel_consts_66_consts_11_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_66_consts_11_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_68_consts_10_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_68_consts_10_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 1032, + .co_firstlineno = 1065, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & _collections_abc_toplevel_consts_50_consts_12_localspluskinds.ob_base.ob_base, + .co_version = 502, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & _collections_abc_toplevel_consts_52_consts_12_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = & const_str_count._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_66_consts_11_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_66_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x01\x66\x01\x64\x01\x84\x08\x7c\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_name = &_Py_ID(count), + .co_qualname = & _collections_abc_toplevel_consts_68_consts_10_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_68_consts_10_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x88\x01\x66\x01\x64\x01\x84\x08\x7c\x00\x44\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -90860,11 +88330,11 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_66_consts_12 = { +_collections_abc_toplevel_consts_68_consts_11 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -90880,32 +88350,31 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[13]; + PyObject *ob_item[12]; }_object; } -_collections_abc_toplevel_consts_66_consts = { +_collections_abc_toplevel_consts_68_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 13, + .ob_size = 12, }, .ob_item = { & const_str_Sequence._ascii.ob_base, - & _collections_abc_toplevel_consts_66_consts_1._ascii.ob_base, + & _collections_abc_toplevel_consts_68_consts_1._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 32], - & _collections_abc_toplevel_consts_66_consts_4.ob_base.ob_base, - & _collections_abc_toplevel_consts_66_consts_5.ob_base.ob_base, - & _collections_abc_toplevel_consts_66_consts_6.ob_base.ob_base, - & _collections_abc_toplevel_consts_66_consts_7.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & _collections_abc_toplevel_consts_68_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_68_consts_5.ob_base.ob_base, + & _collections_abc_toplevel_consts_68_consts_6.ob_base.ob_base, + & _collections_abc_toplevel_consts_68_consts_7.ob_base.ob_base, Py_None, - & _collections_abc_toplevel_consts_66_consts_10.ob_base.ob_base, - & _collections_abc_toplevel_consts_66_consts_11.ob_base.ob_base, - & _collections_abc_toplevel_consts_66_consts_12._object.ob_base.ob_base, + & _collections_abc_toplevel_consts_68_consts_9.ob_base.ob_base, + & _collections_abc_toplevel_consts_68_consts_10.ob_base.ob_base, + & _collections_abc_toplevel_consts_68_consts_11._object.ob_base.ob_base, }, }, }; @@ -90917,11 +88386,11 @@ static PyObject *ob_item[13]; }_object; } -_collections_abc_toplevel_consts_66_names = { +_collections_abc_toplevel_consts_68_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -90939,7 +88408,7 @@ _collections_abc_toplevel_consts_66_names = { &_Py_ID(__contains__), &_Py_ID(__reversed__), & const_str_index._ascii.ob_base, - & const_str_count._ascii.ob_base, + &_Py_ID(count), }, }, }; @@ -90947,483 +88416,342 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[155]; + char ob_sval[66]; } -_collections_abc_toplevel_consts_66_linetable = { +_collections_abc_toplevel_consts_68_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 154, + .ob_size = 65, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x04\x05\x08\xf0\x00\x04\x05\x08\xf0\x0c\x00\x11\x13\x80\x49\xf0\x06\x00\x17\x1d\x80\x4f\xe0\x05\x13\xf0\x02\x01\x05\x19\xf0\x00\x01\x05\x19\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x19\xf0\x06\x08\x05\x13\xf0\x00\x08\x05\x13\xf0\x00\x08\x05\x13\xf0\x14\x04\x05\x15\xf0\x00\x04\x05\x15\xf0\x00\x04\x05\x15\xf0\x0c\x02\x05\x1a\xf0\x00\x02\x05\x1a\xf0\x00\x02\x05\x1a\xf0\x08\x15\x05\x19\xf0\x00\x15\x05\x19\xf0\x00\x15\x05\x19\xf0\x00\x15\x05\x19\xf0\x2e\x02\x05\x40\x01\xf0\x00\x02\x05\x40\x01\xf0\x00\x02\x05\x40\x01\xf0\x00\x02\x05\x40\x01\xf0\x00\x02\x05\x40\x01", + .ob_sval = "\x84\x00\xf1\x02\x04\x05\x08\xf0\x0c\x00\x11\x13\x80\x49\xf0\x06\x00\x17\x1d\x80\x4f\xe0\x05\x13\xf1\x02\x01\x05\x19\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x19\xf2\x06\x08\x05\x13\xf2\x14\x04\x05\x15\xf2\x0c\x02\x05\x1a\xf3\x08\x15\x05\x19\xf3\x2e\x02\x05\x40\x01", }; static - struct _PyCode_DEF(80) -_collections_abc_toplevel_consts_66 = { + struct _PyCode_DEF(72) +_collections_abc_toplevel_consts_68 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 40, + .ob_size = 36, }, - .co_consts = & _collections_abc_toplevel_consts_66_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_66_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_68_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_68_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 973, + .co_firstlineno = 1006, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 503, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_Sequence._ascii.ob_base, .co_qualname = & const_str_Sequence._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_66_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x03\x5a\x05\x65\x06\x64\x04\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x05\x84\x00\x5a\x08\x64\x06\x84\x00\x5a\x09\x64\x07\x84\x00\x5a\x0a\x64\x0c\x64\x0a\x84\x01\x5a\x0b\x64\x0b\x84\x00\x5a\x0c\x64\x09\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_68_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x03\x5a\x05\x65\x06\x64\x04\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x05\x84\x00\x5a\x08\x64\x06\x84\x00\x5a\x09\x64\x07\x84\x00\x5a\x0a\x64\x0b\x64\x09\x84\x01\x5a\x0b\x64\x0a\x84\x00\x5a\x0c\x79\x08", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[78]; + uint8_t _data[25]; } -_collections_abc_toplevel_consts_68_consts_1 = { +const_str__DeprecateByteStringMeta = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 77, + .length = 24, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, - }, - }, - ._data = "\x54\x68\x69\x73\x20\x75\x6e\x69\x66\x69\x65\x73\x20\x62\x79\x74\x65\x73\x20\x61\x6e\x64\x20\x62\x79\x74\x65\x61\x72\x72\x61\x79\x2e\x0a\x0a\x20\x20\x20\x20\x58\x58\x58\x20\x53\x68\x6f\x75\x6c\x64\x20\x61\x64\x64\x20\x61\x6c\x6c\x20\x74\x68\x65\x69\x72\x20\x6d\x65\x74\x68\x6f\x64\x73\x2e\x0a\x20\x20\x20\x20", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[4]; - }_object; - } -_collections_abc_toplevel_consts_68_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 4, - }, - .ob_item = { - & const_str_ByteString._ascii.ob_base, - & _collections_abc_toplevel_consts_68_consts_1._ascii.ob_base, - (PyObject *)& _Py_SINGLETON(tuple_empty), - Py_None, + .statically_allocated = 1, }, }, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[32]; - } -_collections_abc_toplevel_consts_68_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 31, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x03\x05\x08\xf0\x00\x03\x05\x08\xf0\x0a\x00\x11\x13\x80\x49\x80\x49\x80\x49", -}; -static - struct _PyCode_DEF(22) -_collections_abc_toplevel_consts_68 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 11, - }, - .co_consts = & _collections_abc_toplevel_consts_68_consts._object.ob_base.ob_base, - .co_names = & abc_toplevel_consts_15_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 0, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 1042, - .co_nlocalsplus = 0, - .co_nlocals = 0, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = & const_str_ByteString._ascii.ob_base, - .co_qualname = & const_str_ByteString._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_68_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x03\x53\x00", - ._co_firsttraceable = 0, + ._data = "_DeprecateByteStringMeta", }; static struct { PyASCIIObject _ascii; - uint8_t _data[175]; + uint8_t _data[27]; } -_collections_abc_toplevel_consts_70_consts_1 = { +_collections_abc_toplevel_consts_70_consts_1_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 174, + .length = 26, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x41\x6c\x6c\x20\x74\x68\x65\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\x6e\x73\x20\x6f\x6e\x20\x61\x20\x72\x65\x61\x64\x2d\x77\x72\x69\x74\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x2e\x0a\x0a\x20\x20\x20\x20\x43\x6f\x6e\x63\x72\x65\x74\x65\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x20\x6d\x75\x73\x74\x20\x70\x72\x6f\x76\x69\x64\x65\x20\x5f\x5f\x6e\x65\x77\x5f\x5f\x20\x6f\x72\x20\x5f\x5f\x69\x6e\x69\x74\x5f\x5f\x2c\x0a\x20\x20\x20\x20\x5f\x5f\x67\x65\x74\x69\x74\x65\x6d\x5f\x5f\x2c\x20\x5f\x5f\x73\x65\x74\x69\x74\x65\x6d\x5f\x5f\x2c\x20\x5f\x5f\x64\x65\x6c\x69\x74\x65\x6d\x5f\x5f\x2c\x20\x5f\x5f\x6c\x65\x6e\x5f\x5f\x2c\x20\x61\x6e\x64\x20\x69\x6e\x73\x65\x72\x74\x28\x29\x2e\x0a\x20\x20\x20\x20", + ._data = "collections.abc.ByteString", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[28]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; } -_collections_abc_toplevel_consts_70_consts_3_qualname = { - ._ascii = { +_collections_abc_toplevel_consts_70_consts_1_consts_4 = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, }, - .length = 27, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 3], + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 14], }, }, - ._data = "MutableSequence.__setitem__", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_70_consts_3_localsplusnames = { +_collections_abc_toplevel_consts_70_consts_1_consts_5 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 1, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_index._ascii.ob_base, - & const_str_value._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(16) -_collections_abc_toplevel_consts_70_consts_3 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + & const_str_remove._ascii.ob_base, }, - .ob_size = 8, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_66_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 3, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 1063, - .co_nlocalsplus = 3, - .co_nlocals = 3, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_70_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, - .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = &_Py_ID(__setitem__), - .co_qualname = & _collections_abc_toplevel_consts_70_consts_3_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_66_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", - ._co_firsttraceable = 0, }; static struct { - PyASCIIObject _ascii; - uint8_t _data[28]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[6]; + }_object; } -_collections_abc_toplevel_consts_70_consts_4_qualname = { - ._ascii = { +_collections_abc_toplevel_consts_70_consts_1_consts = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 27, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 6, }, - }, - ._data = "MutableSequence.__delitem__", -}; -static - struct _PyCode_DEF(16) -_collections_abc_toplevel_consts_70_consts_4 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .ob_item = { + Py_None, + & const_str_ByteString._ascii.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & _collections_abc_toplevel_consts_70_consts_1_consts_3._ascii.ob_base, + & _collections_abc_toplevel_consts_70_consts_1_consts_4._object.ob_base.ob_base, + & _collections_abc_toplevel_consts_70_consts_1_consts_5._object.ob_base.ob_base, }, - .ob_size = 8, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_66_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 1067, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_67_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = &_Py_ID(__delitem__), - .co_qualname = & _collections_abc_toplevel_consts_70_consts_4_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_66_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", - ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[52]; + uint8_t _data[12]; } -_collections_abc_toplevel_consts_70_consts_5_consts_0 = { +const_str__deprecated = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 51, + .length = 11, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "S.insert(index, value) -- insert value before index", + ._data = "_deprecated", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_70_consts_5_consts = { +_collections_abc_toplevel_consts_70_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 4, }, .ob_item = { - & _collections_abc_toplevel_consts_70_consts_5_consts_0._ascii.ob_base, + &_Py_ID(warnings), + & const_str__deprecated._ascii.ob_base, + & const_str_super._ascii.ob_base, + &_Py_ID(__new__), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[23]; + uint8_t _data[33]; } -_collections_abc_toplevel_consts_70_consts_5_qualname = { +_collections_abc_toplevel_consts_70_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 22, + .length = 32, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "MutableSequence.insert", + ._data = "_DeprecateByteStringMeta.__new__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[11]; + char ob_sval[68]; } -_collections_abc_toplevel_consts_70_consts_5_linetable = { +_collections_abc_toplevel_consts_70_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 10, + .ob_size = 67, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x0f\x19\xd0\x08\x18", + .ob_sval = "\xf8\x80\x00\xd8\x0b\x0f\x90\x3c\xd2\x0b\x1f\xdb\x0c\x1b\xe0\x0c\x14\xd7\x0c\x20\xd1\x0c\x20\xd8\x10\x2c\xd8\x17\x1e\xf0\x05\x00\x0d\x21\xf4\x00\x03\x0d\x0e\xf4\x08\x00\x10\x15\x89\x77\x89\x7f\x98\x73\xa0\x44\xa8\x25\xb0\x19\xd1\x0f\x45\xb8\x66\xd1\x0f\x45\xd0\x08\x45", }; static - struct _PyCode_DEF(16) -_collections_abc_toplevel_consts_70_consts_5 = { + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[7]; + }_object; + } +_collections_abc_toplevel_consts_70_consts_1_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 7, + }, + .ob_item = { + & const_str_cls._ascii.ob_base, + &_Py_ID(name), + & const_str_bases._ascii.ob_base, + & const_str_namespace._ascii.ob_base, + & const_str_kwargs._ascii.ob_base, + &_Py_ID(warnings), + &_Py_ID(__class__), + }, + }, +}; +static + struct _PyCode_DEF(98) +_collections_abc_toplevel_consts_70_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 49, }, - .co_consts = & _collections_abc_toplevel_consts_70_consts_5_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_66_consts_4_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_70_consts_1_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_70_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 3, + .co_flags = 11, + .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, - .co_firstlineno = 1071, - .co_nlocalsplus = 3, - .co_nlocals = 3, - .co_nplaincellvars = 0, + .co_framesize = 13 + FRAME_SPECIALS_SIZE, + .co_stacksize = 6, + .co_firstlineno = 1075, + .co_nlocalsplus = 7, + .co_nlocals = 6, .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_70_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_nfreevars = 1, + .co_version = 504, + .co_localsplusnames = & _collections_abc_toplevel_consts_70_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & abc_toplevel_consts_10_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = & const_str_insert._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_70_consts_5_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_70_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[59]; - } -_collections_abc_toplevel_consts_70_consts_6_consts_0 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 58, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "S.append(value) -- append value to the end of the sequence", + .co_name = &_Py_ID(__new__), + .co_qualname = & _collections_abc_toplevel_consts_70_consts_1_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_70_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x7c\x01\x64\x01\x6b\x37\x00\x00\x72\x17\x64\x02\x64\x00\x6c\x00\x7d\x05\x7c\x05\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x64\x04\xac\x05\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x89\x06\x7c\x00\x8d\x0c\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x66\x04\x69\x00\x7c\x04\xa4\x01\x8e\x01\x53\x00", + ._co_firsttraceable = 1, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[5]; }_object; } -_collections_abc_toplevel_consts_70_consts_6_consts = { +_collections_abc_toplevel_consts_70_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 5, }, .ob_item = { - & _collections_abc_toplevel_consts_70_consts_6_consts_0._ascii.ob_base, Py_None, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & _collections_abc_toplevel_consts_70_consts_1_consts_3._ascii.ob_base, + & _collections_abc_toplevel_consts_70_consts_1_consts_4._object.ob_base.ob_base, + & _collections_abc_toplevel_consts_70_consts_1_consts_5._object.ob_base.ob_base, }, }, }; @@ -91432,121 +88760,124 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_70_consts_6_names = { +_collections_abc_toplevel_consts_70_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 4, }, .ob_item = { - & const_str_insert._ascii.ob_base, - &_Py_ID(len), + &_Py_ID(warnings), + & const_str__deprecated._ascii.ob_base, + & const_str_super._ascii.ob_base, + &_Py_ID(__instancecheck__), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[23]; + uint8_t _data[43]; } -_collections_abc_toplevel_consts_70_consts_6_qualname = { +_collections_abc_toplevel_consts_70_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 22, + .length = 42, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "MutableSequence.append", + ._data = "_DeprecateByteStringMeta.__instancecheck__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[35]; + char ob_sval[50]; } -_collections_abc_toplevel_consts_70_consts_6_linetable = { +_collections_abc_toplevel_consts_70_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 34, + .ob_size = 49, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x08\x0c\x8f\x0b\x8a\x0b\x95\x43\x98\x04\x91\x49\x94\x49\x98\x75\xd1\x08\x25\xd4\x08\x25\xd0\x08\x25\xd0\x08\x25\xd0\x08\x25", + .ob_sval = "\xf8\x80\x00\xdb\x08\x17\xe0\x08\x10\xd7\x08\x1c\xd1\x08\x1c\xd8\x0c\x28\xd8\x13\x1a\xf0\x05\x00\x09\x1d\xf4\x00\x03\x09\x0a\xf4\x08\x00\x10\x15\x89\x77\xd1\x0f\x28\xa8\x18\xd3\x0f\x32\xd0\x08\x32", }; static - struct _PyCode_DEF(76) -_collections_abc_toplevel_consts_70_consts_6 = { - .ob_base = { + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[4]; + }_object; + } +_collections_abc_toplevel_consts_70_consts_2_localsplusnames = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 4, + }, + .ob_item = { + & const_str_cls._ascii.ob_base, + & const_str_instance._ascii.ob_base, + &_Py_ID(warnings), + &_Py_ID(__class__), }, - .ob_size = 38, }, - .co_consts = & _collections_abc_toplevel_consts_70_consts_6_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_70_consts_6_names._object.ob_base.ob_base, +}; +static + struct _PyCode_DEF(80) +_collections_abc_toplevel_consts_70_consts_2 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 40, + }, + .co_consts = & _collections_abc_toplevel_consts_70_consts_2_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_70_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 1076, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 1085, + .co_nlocalsplus = 4, + .co_nlocals = 3, .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_nfreevars = 1, + .co_version = 505, + .co_localsplusnames = & _collections_abc_toplevel_consts_70_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = &_Py_ID(append), - .co_qualname = & _collections_abc_toplevel_consts_70_consts_6_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_70_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[45]; - } -_collections_abc_toplevel_consts_70_consts_7_consts_0 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 44, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "S.clear() -> None -- remove all items from S", + .co_name = &_Py_ID(__instancecheck__), + .co_qualname = & _collections_abc_toplevel_consts_70_consts_2_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_70_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x64\x01\x64\x00\x6c\x00\x7d\x02\x7c\x02\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x03\xac\x04\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x89\x03\x7c\x00\x8d\x0d\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_firsttraceable = 1, }; static struct { @@ -91556,19 +88887,19 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_70_consts_7_consts = { +_collections_abc_toplevel_consts_70_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & _collections_abc_toplevel_consts_70_consts_7_consts_0._ascii.ob_base, - Py_True, - Py_None, + & const_str__DeprecateByteStringMeta._ascii.ob_base, + & _collections_abc_toplevel_consts_70_consts_1.ob_base.ob_base, + & _collections_abc_toplevel_consts_70_consts_2.ob_base.ob_base, }, }, }; @@ -91577,121 +88908,101 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[6]; }_object; } -_collections_abc_toplevel_consts_70_consts_7_names = { +_collections_abc_toplevel_consts_70_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 6, }, .ob_item = { - & const_str_pop._ascii.ob_base, - & const_str_IndexError._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[22]; - } -_collections_abc_toplevel_consts_70_consts_7_qualname = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 21, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + &_Py_ID(__name__), + &_Py_ID(__module__), + &_Py_ID(__qualname__), + &_Py_ID(__new__), + &_Py_ID(__instancecheck__), + &_Py_ID(__classcell__), }, }, - ._data = "MutableSequence.clear", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[65]; + char ob_sval[20]; } -_collections_abc_toplevel_consts_70_consts_7_linetable = { +_collections_abc_toplevel_consts_70_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 64, + .ob_size = 19, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x04\x09\x11\xf0\x02\x01\x0d\x1b\xd8\x10\x14\x97\x08\x92\x08\x91\x0a\x94\x0a\x90\x0a\xf0\x03\x01\x0d\x1b\xf8\xe5\x0f\x19\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8", + .ob_sval = "\xf8\x84\x00\xf4\x02\x08\x05\x46\x01\xf7\x14\x07\x05\x33\xf0\x00\x07\x05\x33", }; static - struct _PyCode_DEF(82) -_collections_abc_toplevel_consts_70_consts_7 = { + struct _PyCode_DEF(40) +_collections_abc_toplevel_consts_70 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 41, + .ob_size = 20, }, - .co_consts = & _collections_abc_toplevel_consts_70_consts_7_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_70_consts_7_names._object.ob_base.ob_base, - .co_exceptiontable = & _collections_abc_toplevel_consts_52_consts_7_exceptiontable.ob_base.ob_base, - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, + .co_consts = & _collections_abc_toplevel_consts_70_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_70_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 0, + .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 1080, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 1074, .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, - .co_ncellvars = 0, + .co_nlocals = 0, + .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_version = 506, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[64]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = &_Py_ID(clear), - .co_qualname = & _collections_abc_toplevel_consts_70_consts_7_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_70_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x09\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x15\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x02\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", - ._co_firsttraceable = 0, + .co_name = & const_str__DeprecateByteStringMeta._ascii.ob_base, + .co_qualname = & const_str__DeprecateByteStringMeta._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_70_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x00\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x88\x00\x66\x01\x64\x01\x84\x08\x5a\x03\x88\x00\x66\x01\x64\x02\x84\x08\x5a\x04\x88\x00\x78\x01\x5a\x05\x53\x00", + ._co_firsttraceable = 1, }; static struct { PyASCIIObject _ascii; - uint8_t _data[34]; + uint8_t _data[78]; } -_collections_abc_toplevel_consts_70_consts_8_consts_0 = { +_collections_abc_toplevel_consts_72_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 33, + .length = 77, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "S.reverse() -- reverse *IN PLACE*", + ._data = "\x54\x68\x69\x73\x20\x75\x6e\x69\x66\x69\x65\x73\x20\x62\x79\x74\x65\x73\x20\x61\x6e\x64\x20\x62\x79\x74\x65\x61\x72\x72\x61\x79\x2e\x0a\x0a\x20\x20\x20\x20\x58\x58\x58\x20\x53\x68\x6f\x75\x6c\x64\x20\x61\x64\x64\x20\x61\x6c\x6c\x20\x74\x68\x65\x69\x72\x20\x6d\x65\x74\x68\x6f\x64\x73\x2e\x0a\x20\x20\x20\x20", }; static struct { @@ -91701,106 +89012,118 @@ static PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_70_consts_8_consts = { +_collections_abc_toplevel_consts_72_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & _collections_abc_toplevel_consts_70_consts_8_consts_0._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + & const_str_ByteString._ascii.ob_base, + & _collections_abc_toplevel_consts_72_consts_1._ascii.ob_base, + (PyObject *)& _Py_SINGLETON(tuple_empty), Py_None, }, }, }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[15]; } -_collections_abc_toplevel_consts_70_consts_8_names = { - ._object = { +_collections_abc_toplevel_consts_72_linetable = { + .ob_base = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, - .ob_item = { - &_Py_ID(len), - & const_str_range._ascii.ob_base, + .ob_size = 14, + }, + .ob_shash = -1, + .ob_sval = "\x84\x00\xf1\x02\x03\x05\x08\xf0\x0a\x00\x11\x13\x81\x49", +}; +static + struct _PyCode_DEF(20) +_collections_abc_toplevel_consts_72 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 10, }, + .co_consts = & _collections_abc_toplevel_consts_72_consts._object.ob_base.ob_base, + .co_names = & abc_toplevel_consts_15_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 0, + .co_argcount = 0, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 1, + .co_firstlineno = 1094, + .co_nlocalsplus = 0, + .co_nlocals = 0, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 507, + .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, + .co_name = & const_str_ByteString._ascii.ob_base, + .co_qualname = & const_str_ByteString._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_72_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x79\x03", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[8]; + uint8_t _data[175]; } -const_str_reverse = { +_collections_abc_toplevel_consts_74_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 7, + .length = 174, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "reverse", + ._data = "\x41\x6c\x6c\x20\x74\x68\x65\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\x6e\x73\x20\x6f\x6e\x20\x61\x20\x72\x65\x61\x64\x2d\x77\x72\x69\x74\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x2e\x0a\x0a\x20\x20\x20\x20\x43\x6f\x6e\x63\x72\x65\x74\x65\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x20\x6d\x75\x73\x74\x20\x70\x72\x6f\x76\x69\x64\x65\x20\x5f\x5f\x6e\x65\x77\x5f\x5f\x20\x6f\x72\x20\x5f\x5f\x69\x6e\x69\x74\x5f\x5f\x2c\x0a\x20\x20\x20\x20\x5f\x5f\x67\x65\x74\x69\x74\x65\x6d\x5f\x5f\x2c\x20\x5f\x5f\x73\x65\x74\x69\x74\x65\x6d\x5f\x5f\x2c\x20\x5f\x5f\x64\x65\x6c\x69\x74\x65\x6d\x5f\x5f\x2c\x20\x5f\x5f\x6c\x65\x6e\x5f\x5f\x2c\x20\x61\x6e\x64\x20\x69\x6e\x73\x65\x72\x74\x28\x29\x2e\x0a\x20\x20\x20\x20", }; static struct { PyASCIIObject _ascii; - uint8_t _data[24]; + uint8_t _data[28]; } -_collections_abc_toplevel_consts_70_consts_8_qualname = { +_collections_abc_toplevel_consts_74_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 23, + .length = 27, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, - }, - }, - ._data = "MutableSequence.reverse", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[95]; - } -_collections_abc_toplevel_consts_70_consts_8_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .statically_allocated = 1, }, - .ob_size = 94, }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0c\x0f\x90\x04\x89\x49\x8c\x49\x88\x01\xdd\x11\x16\x90\x71\x98\x21\x91\x74\x91\x1b\x94\x1b\xf0\x00\x01\x09\x38\xf0\x00\x01\x09\x38\x88\x41\xd8\x23\x27\xa8\x01\xa8\x21\xa9\x03\xa8\x41\xa9\x05\xa4\x3b\xb0\x04\xb0\x51\xb4\x07\xd0\x0c\x20\x88\x44\x90\x11\x89\x47\x90\x54\x98\x21\x98\x41\x99\x23\x98\x61\x99\x25\x91\x5b\x90\x5b\xf0\x03\x01\x09\x38\xf0\x00\x01\x09\x38", + ._data = "MutableSequence.__setitem__", }; static struct { @@ -91810,124 +89133,155 @@ static PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_70_consts_8_localsplusnames = { +_collections_abc_toplevel_consts_74_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_n._ascii.ob_base, - & const_str_i._ascii.ob_base, + &_Py_ID(self), + & const_str_index._ascii.ob_base, + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(148) -_collections_abc_toplevel_consts_70_consts_8 = { + struct _PyCode_DEF(14) +_collections_abc_toplevel_consts_74_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 74, + .ob_size = 7, }, - .co_consts = & _collections_abc_toplevel_consts_70_consts_8_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_70_consts_8_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_68_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, + .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 1088, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 1, + .co_firstlineno = 1115, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_70_consts_8_localsplusnames._object.ob_base.ob_base, + .co_version = 508, + .co_localsplusnames = & _collections_abc_toplevel_consts_74_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = & const_str_reverse._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_70_consts_8_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_70_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x7a\x02\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x25\x7d\x02\x7c\x00\x7c\x01\x7c\x02\x7a\x0a\x00\x00\x64\x02\x7a\x0a\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x7c\x00\x7c\x02\x3c\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7a\x0a\x00\x00\x64\x02\x7a\x0a\x00\x00\x3c\x00\x00\x00\x8c\x26\x64\x03\x53\x00", + .co_name = &_Py_ID(__setitem__), + .co_qualname = & _collections_abc_toplevel_consts_74_consts_3_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_68_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[78]; + uint8_t _data[28]; } -_collections_abc_toplevel_consts_70_consts_9_consts_0 = { +_collections_abc_toplevel_consts_74_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 77, + .length = 27, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "S.extend(iterable) -- extend sequence by appending elements from the iterable", + ._data = "MutableSequence.__delitem__", +}; +static + struct _PyCode_DEF(14) +_collections_abc_toplevel_consts_74_consts_4 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 7, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_68_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, + .co_stacksize = 1, + .co_firstlineno = 1119, + .co_nlocalsplus = 2, + .co_nlocals = 2, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 509, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_66_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, + .co_name = &_Py_ID(__delitem__), + .co_qualname = & _collections_abc_toplevel_consts_74_consts_4_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_68_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + ._co_firsttraceable = 0, }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[52]; } -_collections_abc_toplevel_consts_70_consts_9_consts = { - ._object = { +_collections_abc_toplevel_consts_74_consts_5_consts_0 = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_item = { - & _collections_abc_toplevel_consts_70_consts_9_consts_0._ascii.ob_base, - Py_None, + .length = 51, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "S.insert(index, value) -- insert value before index", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[1]; }_object; } -_collections_abc_toplevel_consts_70_consts_9_names = { +_collections_abc_toplevel_consts_74_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 1, }, .ob_item = { - & const_str_list._ascii.ob_base, - &_Py_ID(append), + & _collections_abc_toplevel_consts_74_consts_5_consts_0._ascii.ob_base, }, }, }; @@ -91936,10 +89290,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -_collections_abc_toplevel_consts_70_consts_9_qualname = { +_collections_abc_toplevel_consts_74_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -91948,254 +89302,226 @@ _collections_abc_toplevel_consts_70_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "MutableSequence.extend", + ._data = "MutableSequence.insert", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[65]; + char ob_sval[11]; } -_collections_abc_toplevel_consts_70_consts_9_linetable = { +_collections_abc_toplevel_consts_74_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 64, + .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x11\x90\x54\x88\x3e\x88\x3e\xdd\x15\x19\x98\x26\x91\x5c\x94\x5c\x88\x46\xd8\x11\x17\xf0\x00\x01\x09\x1b\xf0\x00\x01\x09\x1b\x88\x41\xd8\x0c\x10\x8f\x4b\x8a\x4b\x98\x01\x89\x4e\x8c\x4e\x88\x4e\x88\x4e\xf0\x03\x01\x09\x1b\xf0\x00\x01\x09\x1b", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[3]; - }_object; - } -_collections_abc_toplevel_consts_70_consts_9_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 3, - }, - .ob_item = { - & const_str_self._ascii.ob_base, - &_Py_ID(values), - & const_str_v._ascii.ob_base, - }, - }, + .ob_sval = "\x80\x00\xf4\x06\x00\x0f\x19\xd0\x08\x18", }; static - struct _PyCode_DEF(96) -_collections_abc_toplevel_consts_70_consts_9 = { + struct _PyCode_DEF(14) +_collections_abc_toplevel_consts_74_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 48, + .ob_size = 7, }, - .co_consts = & _collections_abc_toplevel_consts_70_consts_9_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_70_consts_9_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_74_consts_5_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_68_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, + .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 1094, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 1, + .co_firstlineno = 1123, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_70_consts_9_localsplusnames._object.ob_base.ob_base, + .co_version = 510, + .co_localsplusnames = & _collections_abc_toplevel_consts_74_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = &_Py_ID(extend), - .co_qualname = & _collections_abc_toplevel_consts_70_consts_9_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_70_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x75\x00\x72\x0f\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x44\x00\x5d\x17\x7d\x02\x7c\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x18\x64\x01\x53\x00", + .co_name = & const_str_insert._ascii.ob_base, + .co_qualname = & _collections_abc_toplevel_consts_74_consts_5_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_74_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[154]; + uint8_t _data[59]; } -_collections_abc_toplevel_consts_70_consts_11_consts_0 = { +_collections_abc_toplevel_consts_74_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 153, + .length = 58, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x53\x2e\x70\x6f\x70\x28\x5b\x69\x6e\x64\x65\x78\x5d\x29\x20\x2d\x3e\x20\x69\x74\x65\x6d\x20\x2d\x2d\x20\x72\x65\x6d\x6f\x76\x65\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x20\x69\x74\x65\x6d\x20\x61\x74\x20\x69\x6e\x64\x65\x78\x20\x28\x64\x65\x66\x61\x75\x6c\x74\x20\x6c\x61\x73\x74\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x20\x49\x6e\x64\x65\x78\x45\x72\x72\x6f\x72\x20\x69\x66\x20\x6c\x69\x73\x74\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x20\x6f\x72\x20\x69\x6e\x64\x65\x78\x20\x69\x73\x20\x6f\x75\x74\x20\x6f\x66\x20\x72\x61\x6e\x67\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", + ._data = "S.append(value) -- append value to the end of the sequence", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_70_consts_11_consts = { +_collections_abc_toplevel_consts_74_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 2, + }, + .ob_item = { + & _collections_abc_toplevel_consts_74_consts_6_consts_0._ascii.ob_base, + Py_None, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +_collections_abc_toplevel_consts_74_consts_6_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, }, .ob_item = { - & _collections_abc_toplevel_consts_70_consts_11_consts_0._ascii.ob_base, + & const_str_insert._ascii.ob_base, + &_Py_ID(len), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[20]; + uint8_t _data[23]; } -_collections_abc_toplevel_consts_70_consts_11_qualname = { +_collections_abc_toplevel_consts_74_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 19, + .length = 22, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "MutableSequence.pop", + ._data = "MutableSequence.append", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[26]; + char ob_sval[21]; } -_collections_abc_toplevel_consts_70_consts_11_linetable = { +_collections_abc_toplevel_consts_74_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 25, + .ob_size = 20, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x00\x0d\x11\x90\x15\x8c\x4b\x88\x01\xd8\x0c\x10\x90\x15\x88\x4b\xd8\x0f\x10\x88\x08", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[3]; - }_object; - } -_collections_abc_toplevel_consts_70_consts_11_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 3, - }, - .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_index._ascii.ob_base, - & const_str_v._ascii.ob_base, - }, - }, + .ob_sval = "\x80\x00\xe0\x08\x0c\x8f\x0b\x89\x0b\x94\x43\x98\x04\x93\x49\x98\x75\xd5\x08\x25", }; static - struct _PyCode_DEF(28) -_collections_abc_toplevel_consts_70_consts_11 = { + struct _PyCode_DEF(58) +_collections_abc_toplevel_consts_74_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 14, + .ob_size = 29, }, - .co_consts = & _collections_abc_toplevel_consts_70_consts_11_consts._object.ob_base.ob_base, - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_consts = & _collections_abc_toplevel_consts_74_consts_6_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_74_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 2, - .co_firstlineno = 1101, - .co_nlocalsplus = 3, - .co_nlocals = 3, - .co_nplaincellvars = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 1128, + .co_nlocalsplus = 2, + .co_nlocals = 2, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_70_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 511, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = & const_str_pop._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_70_consts_11_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_70_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x7c\x01\x3d\x00\x7c\x02\x53\x00", + .co_name = &_Py_ID(append), + .co_qualname = & _collections_abc_toplevel_consts_74_consts_6_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_74_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[119]; + uint8_t _data[45]; } -_collections_abc_toplevel_consts_70_consts_12_consts_0 = { +_collections_abc_toplevel_consts_74_consts_7_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 118, + .length = 44, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x53\x2e\x72\x65\x6d\x6f\x76\x65\x28\x76\x61\x6c\x75\x65\x29\x20\x2d\x2d\x20\x72\x65\x6d\x6f\x76\x65\x20\x66\x69\x72\x73\x74\x20\x6f\x63\x63\x75\x72\x72\x65\x6e\x63\x65\x20\x6f\x66\x20\x76\x61\x6c\x75\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x20\x69\x66\x20\x74\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x69\x73\x20\x6e\x6f\x74\x20\x70\x72\x65\x73\x65\x6e\x74\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", + ._data = "S.clear() -> None -- remove all items from S", }; static struct { @@ -92205,17 +89531,17 @@ static PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_70_consts_12_consts = { +_collections_abc_toplevel_consts_74_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & _collections_abc_toplevel_consts_70_consts_12_consts_0._ascii.ob_base, + & _collections_abc_toplevel_consts_74_consts_7_consts_0._ascii.ob_base, Py_None, }, }, @@ -92225,254 +89551,867 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_70_consts_12_names = { +_collections_abc_toplevel_consts_74_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 2, }, .ob_item = { - & const_str_index._ascii.ob_base, + & const_str_pop._ascii.ob_base, + & const_str_IndexError._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[23]; + uint8_t _data[22]; } -_collections_abc_toplevel_consts_70_consts_12_qualname = { +_collections_abc_toplevel_consts_74_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 22, + .length = 21, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "MutableSequence.remove", + ._data = "MutableSequence.clear", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[31]; + char ob_sval[43]; } -_collections_abc_toplevel_consts_70_consts_12_linetable = { +_collections_abc_toplevel_consts_74_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 30, + .ob_size = 42, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x00\x0d\x11\x90\x14\x97\x1a\x92\x1a\x98\x45\xd1\x11\x22\xd4\x11\x22\xd0\x0c\x23\xd0\x0c\x23\xd0\x0c\x23", + .ob_sval = "\x80\x00\xf0\x04\x04\x09\x11\xd8\x12\x16\xd8\x10\x14\x97\x08\x91\x08\x94\x0a\xf0\x03\x00\x13\x17\xf8\xe4\x0f\x19\xf2\x00\x01\x09\x11\xd9\x0c\x10\xf0\x03\x01\x09\x11\xfa", }; static - struct _PyCode_DEF(50) -_collections_abc_toplevel_consts_70_consts_12 = { + struct _PyCode_DEF(70) +_collections_abc_toplevel_consts_74_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 35, }, - .co_consts = & _collections_abc_toplevel_consts_70_consts_12_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_70_consts_12_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_consts = & _collections_abc_toplevel_consts_74_consts_7_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_74_consts_7_names._object.ob_base.ob_base, + .co_exceptiontable = & _collections_abc_toplevel_consts_54_consts_7_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, + .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 1109, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, + .co_firstlineno = 1132, + .co_nlocalsplus = 1, + .co_nlocals = 1, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 512, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = & const_str_remove._ascii.ob_base, - .co_qualname = & _collections_abc_toplevel_consts_70_consts_12_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_70_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x64\x01\x53\x00", + .co_name = &_Py_ID(clear), + .co_qualname = & _collections_abc_toplevel_consts_74_consts_7_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_74_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x09\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x11\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[34]; + } +_collections_abc_toplevel_consts_74_consts_8_consts_0 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 33, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "S.reverse() -- reverse *IN PLACE*", +}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[4]; }_object; } -_collections_abc_toplevel_consts_70_consts_13_names = { +_collections_abc_toplevel_consts_74_consts_8_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 4, }, .ob_item = { - &_Py_ID(extend), + & _collections_abc_toplevel_consts_74_consts_8_consts_0._ascii.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + Py_None, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +_collections_abc_toplevel_consts_74_consts_8_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + &_Py_ID(len), + & const_str_range._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[25]; + uint8_t _data[24]; } -_collections_abc_toplevel_consts_70_consts_13_qualname = { +_collections_abc_toplevel_consts_74_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 24, + .length = 23, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "MutableSequence.__iadd__", + ._data = "MutableSequence.reverse", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[26]; + char ob_sval[79]; } -_collections_abc_toplevel_consts_70_consts_13_linetable = { +_collections_abc_toplevel_consts_74_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 25, + .ob_size = 78, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0b\x8a\x0b\x90\x46\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xe4\x0c\x0f\x90\x04\x8b\x49\x88\x01\xdc\x11\x16\x90\x71\x98\x21\x91\x74\x93\x1b\xf2\x00\x01\x09\x38\x88\x41\xd8\x23\x27\xa8\x01\xa8\x21\xa9\x03\xa8\x41\xa9\x05\xa1\x3b\xb0\x04\xb0\x51\xb1\x07\xd0\x0c\x20\x88\x44\x90\x11\x89\x47\x90\x54\x98\x21\x98\x41\x99\x23\x98\x61\x99\x25\x92\x5b\xf1\x03\x01\x09\x38", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[3]; }_object; } -_collections_abc_toplevel_consts_70_consts_13_localsplusnames = { +_collections_abc_toplevel_consts_74_consts_8_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - &_Py_ID(values), + &_Py_ID(self), + &_Py_ID(n), + (PyObject *)&_Py_SINGLETON(strings).ascii[105], }, }, }; static - struct _PyCode_DEF(48) -_collections_abc_toplevel_consts_70_consts_13 = { + struct _PyCode_DEF(122) +_collections_abc_toplevel_consts_74_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 24, + .ob_size = 61, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_70_consts_13_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_74_consts_8_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_74_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, + .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 1115, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 1140, + .co_nlocalsplus = 3, + .co_nlocals = 3, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_70_consts_13_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 513, + .co_localsplusnames = & _collections_abc_toplevel_consts_74_consts_8_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, - .co_name = &_Py_ID(__iadd__), - .co_qualname = & _collections_abc_toplevel_consts_70_consts_13_qualname._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_70_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00", + .co_name = &_Py_ID(reverse), + .co_qualname = & _collections_abc_toplevel_consts_74_consts_8_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_74_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x7a\x02\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x1f\x00\x00\x7d\x02\x7c\x00\x7c\x01\x7c\x02\x7a\x0a\x00\x00\x64\x02\x7a\x0a\x00\x00\x19\x00\x00\x00\x7c\x00\x7c\x02\x19\x00\x00\x00\x63\x02\x7c\x00\x7c\x02\x3c\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7a\x0a\x00\x00\x64\x02\x7a\x0a\x00\x00\x3c\x00\x00\x00\x8c\x21\x04\x00\x79\x03", ._co_firsttraceable = 0, }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[78]; + } +_collections_abc_toplevel_consts_74_consts_9_consts_0 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 77, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "S.extend(iterable) -- extend sequence by appending elements from the iterable", +}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[16]; + PyObject *ob_item[2]; }_object; } -_collections_abc_toplevel_consts_70_consts = { +_collections_abc_toplevel_consts_74_consts_9_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 16, + .ob_size = 2, + }, + .ob_item = { + & _collections_abc_toplevel_consts_74_consts_9_consts_0._ascii.ob_base, + Py_None, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +_collections_abc_toplevel_consts_74_consts_9_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + & const_str_list._ascii.ob_base, + &_Py_ID(append), + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[23]; + } +_collections_abc_toplevel_consts_74_consts_9_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 22, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "MutableSequence.extend", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[45]; + } +_collections_abc_toplevel_consts_74_consts_9_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 44, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xe0\x0b\x11\x90\x54\x89\x3e\xdc\x15\x19\x98\x26\x93\x5c\x88\x46\xd8\x11\x17\xf2\x00\x01\x09\x1b\x88\x41\xd8\x0c\x10\x8f\x4b\x89\x4b\x98\x01\x8d\x4e\xf1\x03\x01\x09\x1b", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +_collections_abc_toplevel_consts_74_consts_9_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + &_Py_ID(self), + &_Py_ID(values), + (PyObject *)&_Py_SINGLETON(strings).ascii[118], + }, + }, +}; +static + struct _PyCode_DEF(82) +_collections_abc_toplevel_consts_74_consts_9 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 41, + }, + .co_consts = & _collections_abc_toplevel_consts_74_consts_9_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_74_consts_9_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 1146, + .co_nlocalsplus = 3, + .co_nlocals = 3, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 514, + .co_localsplusnames = & _collections_abc_toplevel_consts_74_consts_9_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, + .co_name = &_Py_ID(extend), + .co_qualname = & _collections_abc_toplevel_consts_74_consts_9_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_74_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x75\x00\x72\x0b\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x44\x00\x5d\x13\x00\x00\x7d\x02\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x15\x04\x00\x79\x01", + ._co_firsttraceable = 0, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[154]; + } +_collections_abc_toplevel_consts_74_consts_10_consts_0 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 153, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "\x53\x2e\x70\x6f\x70\x28\x5b\x69\x6e\x64\x65\x78\x5d\x29\x20\x2d\x3e\x20\x69\x74\x65\x6d\x20\x2d\x2d\x20\x72\x65\x6d\x6f\x76\x65\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x20\x69\x74\x65\x6d\x20\x61\x74\x20\x69\x6e\x64\x65\x78\x20\x28\x64\x65\x66\x61\x75\x6c\x74\x20\x6c\x61\x73\x74\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x20\x49\x6e\x64\x65\x78\x45\x72\x72\x6f\x72\x20\x69\x66\x20\x6c\x69\x73\x74\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x20\x6f\x72\x20\x69\x6e\x64\x65\x78\x20\x69\x73\x20\x6f\x75\x74\x20\x6f\x66\x20\x72\x61\x6e\x67\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; + } +_collections_abc_toplevel_consts_74_consts_10_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, + }, + .ob_item = { + & _collections_abc_toplevel_consts_74_consts_10_consts_0._ascii.ob_base, + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[20]; + } +_collections_abc_toplevel_consts_74_consts_10_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 19, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "MutableSequence.pop", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[26]; + } +_collections_abc_toplevel_consts_74_consts_10_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 25, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xf0\x08\x00\x0d\x11\x90\x15\x89\x4b\x88\x01\xd8\x0c\x10\x90\x15\x88\x4b\xd8\x0f\x10\x88\x08", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +_collections_abc_toplevel_consts_74_consts_10_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + &_Py_ID(self), + & const_str_index._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[118], + }, + }, +}; +static + struct _PyCode_DEF(22) +_collections_abc_toplevel_consts_74_consts_10 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 11, + }, + .co_consts = & _collections_abc_toplevel_consts_74_consts_10_consts._object.ob_base.ob_base, + .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 1153, + .co_nlocalsplus = 3, + .co_nlocals = 3, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 515, + .co_localsplusnames = & _collections_abc_toplevel_consts_74_consts_10_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, + .co_name = & const_str_pop._ascii.ob_base, + .co_qualname = & _collections_abc_toplevel_consts_74_consts_10_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_74_consts_10_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x7d\x02\x7c\x00\x7c\x01\x3d\x00\x7c\x02\x53\x00", + ._co_firsttraceable = 0, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[119]; + } +_collections_abc_toplevel_consts_74_consts_11_consts_0 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 118, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "\x53\x2e\x72\x65\x6d\x6f\x76\x65\x28\x76\x61\x6c\x75\x65\x29\x20\x2d\x2d\x20\x72\x65\x6d\x6f\x76\x65\x20\x66\x69\x72\x73\x74\x20\x6f\x63\x63\x75\x72\x72\x65\x6e\x63\x65\x20\x6f\x66\x20\x76\x61\x6c\x75\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x61\x69\x73\x65\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x20\x69\x66\x20\x74\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x69\x73\x20\x6e\x6f\x74\x20\x70\x72\x65\x73\x65\x6e\x74\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +_collections_abc_toplevel_consts_74_consts_11_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + & _collections_abc_toplevel_consts_74_consts_11_consts_0._ascii.ob_base, + Py_None, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; + } +_collections_abc_toplevel_consts_74_consts_11_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, + }, + .ob_item = { + & const_str_index._ascii.ob_base, + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[23]; + } +_collections_abc_toplevel_consts_74_consts_11_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 22, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "MutableSequence.remove", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[22]; + } +_collections_abc_toplevel_consts_74_consts_11_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 21, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xf0\x08\x00\x0d\x11\x90\x14\x97\x1a\x91\x1a\x98\x45\xd3\x11\x22\xd1\x0c\x23", +}; +static + struct _PyCode_DEF(40) +_collections_abc_toplevel_consts_74_consts_11 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 20, + }, + .co_consts = & _collections_abc_toplevel_consts_74_consts_11_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_74_consts_11_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 1161, + .co_nlocalsplus = 2, + .co_nlocals = 2, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 516, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, + .co_name = & const_str_remove._ascii.ob_base, + .co_qualname = & _collections_abc_toplevel_consts_74_consts_11_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_74_consts_11_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x3d\x00\x79\x01", + ._co_firsttraceable = 0, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; + } +_collections_abc_toplevel_consts_74_consts_12_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, + }, + .ob_item = { + &_Py_ID(extend), + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[25]; + } +_collections_abc_toplevel_consts_74_consts_12_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 24, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "MutableSequence.__iadd__", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[20]; + } +_collections_abc_toplevel_consts_74_consts_12_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 19, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0b\x89\x0b\x90\x46\xd4\x08\x1b\xd8\x0f\x13\x88\x0b", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +_collections_abc_toplevel_consts_74_consts_12_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + &_Py_ID(self), + &_Py_ID(values), + }, + }, +}; +static + struct _PyCode_DEF(40) +_collections_abc_toplevel_consts_74_consts_12 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 20, + }, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_74_consts_12_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 1167, + .co_nlocalsplus = 2, + .co_nlocals = 2, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 517, + .co_localsplusnames = & _collections_abc_toplevel_consts_74_consts_12_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, + .co_name = &_Py_ID(__iadd__), + .co_qualname = & _collections_abc_toplevel_consts_74_consts_12_qualname._ascii.ob_base, + .co_linetable = & _collections_abc_toplevel_consts_74_consts_12_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00", + ._co_firsttraceable = 0, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[15]; + }_object; + } +_collections_abc_toplevel_consts_74_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 15, }, .ob_item = { & const_str_MutableSequence._ascii.ob_base, - & _collections_abc_toplevel_consts_70_consts_1._ascii.ob_base, + & _collections_abc_toplevel_consts_74_consts_1._ascii.ob_base, (PyObject *)& _Py_SINGLETON(tuple_empty), - & _collections_abc_toplevel_consts_70_consts_3.ob_base.ob_base, - & _collections_abc_toplevel_consts_70_consts_4.ob_base.ob_base, - & _collections_abc_toplevel_consts_70_consts_5.ob_base.ob_base, - & _collections_abc_toplevel_consts_70_consts_6.ob_base.ob_base, - & _collections_abc_toplevel_consts_70_consts_7.ob_base.ob_base, - & _collections_abc_toplevel_consts_70_consts_8.ob_base.ob_base, - & _collections_abc_toplevel_consts_70_consts_9.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], - & _collections_abc_toplevel_consts_70_consts_11.ob_base.ob_base, - & _collections_abc_toplevel_consts_70_consts_12.ob_base.ob_base, - & _collections_abc_toplevel_consts_70_consts_13.ob_base.ob_base, + & _collections_abc_toplevel_consts_74_consts_3.ob_base.ob_base, + & _collections_abc_toplevel_consts_74_consts_4.ob_base.ob_base, + & _collections_abc_toplevel_consts_74_consts_5.ob_base.ob_base, + & _collections_abc_toplevel_consts_74_consts_6.ob_base.ob_base, + & _collections_abc_toplevel_consts_74_consts_7.ob_base.ob_base, + & _collections_abc_toplevel_consts_74_consts_8.ob_base.ob_base, + & _collections_abc_toplevel_consts_74_consts_9.ob_base.ob_base, + & _collections_abc_toplevel_consts_74_consts_10.ob_base.ob_base, + & _collections_abc_toplevel_consts_74_consts_11.ob_base.ob_base, + & _collections_abc_toplevel_consts_74_consts_12.ob_base.ob_base, Py_None, - & codecs_toplevel_consts_28_consts_22._object.ob_base.ob_base, + & codecs_toplevel_consts_28_consts_19._object.ob_base.ob_base, }, }, }; @@ -92484,11 +90423,11 @@ static PyObject *ob_item[16]; }_object; } -_collections_abc_toplevel_consts_70_names = { +_collections_abc_toplevel_consts_74_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 16, @@ -92505,7 +90444,7 @@ _collections_abc_toplevel_consts_70_names = { & const_str_insert._ascii.ob_base, &_Py_ID(append), &_Py_ID(clear), - & const_str_reverse._ascii.ob_base, + &_Py_ID(reverse), &_Py_ID(extend), & const_str_pop._ascii.ob_base, & const_str_remove._ascii.ob_base, @@ -92517,54 +90456,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[227]; + char ob_sval[108]; } -_collections_abc_toplevel_consts_70_linetable = { +_collections_abc_toplevel_consts_74_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 226, + .ob_size = 107, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x04\x05\x08\xf0\x00\x04\x05\x08\xf0\x0c\x00\x11\x13\x80\x49\xe0\x05\x13\xf0\x02\x01\x05\x19\xf0\x00\x01\x05\x19\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x19\xf0\x06\x00\x06\x14\xf0\x02\x01\x05\x19\xf0\x00\x01\x05\x19\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x01\x05\x19\xf0\x06\x00\x06\x14\xf0\x02\x02\x05\x19\xf0\x00\x02\x05\x19\xf1\x03\x00\x06\x14\x84\x5e\xf0\x02\x02\x05\x19\xf0\x08\x02\x05\x26\xf0\x00\x02\x05\x26\xf0\x00\x02\x05\x26\xf0\x08\x06\x05\x11\xf0\x00\x06\x05\x11\xf0\x00\x06\x05\x11\xf0\x10\x04\x05\x38\xf0\x00\x04\x05\x38\xf0\x00\x04\x05\x38\xf0\x0c\x05\x05\x1b\xf0\x00\x05\x05\x1b\xf0\x00\x05\x05\x1b\xf0\x0e\x06\x05\x11\xf0\x00\x06\x05\x11\xf0\x00\x06\x05\x11\xf0\x00\x06\x05\x11\xf0\x10\x04\x05\x24\xf0\x00\x04\x05\x24\xf0\x00\x04\x05\x24\xf0\x0c\x02\x05\x14\xf0\x00\x02\x05\x14\xf0\x00\x02\x05\x14\xf0\x00\x02\x05\x14\xf0\x00\x02\x05\x14", + .ob_sval = "\x84\x00\xf1\x02\x04\x05\x08\xf0\x0c\x00\x11\x13\x80\x49\xe0\x05\x13\xf1\x02\x01\x05\x19\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x19\xf0\x06\x00\x06\x14\xf1\x02\x01\x05\x19\xf3\x03\x00\x06\x14\xf0\x02\x01\x05\x19\xf0\x06\x00\x06\x14\xf1\x02\x02\x05\x19\xf3\x03\x00\x06\x14\xf0\x02\x02\x05\x19\xf2\x08\x02\x05\x26\xf2\x08\x06\x05\x11\xf2\x10\x04\x05\x38\xf2\x0c\x05\x05\x1b\xf3\x0e\x06\x05\x11\xf2\x10\x04\x05\x24\xf3\x0c\x02\x05\x14", }; static - struct _PyCode_DEF(132) -_collections_abc_toplevel_consts_70 = { + struct _PyCode_DEF(112) +_collections_abc_toplevel_consts_74 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 66, + .ob_size = 56, }, - .co_consts = & _collections_abc_toplevel_consts_70_consts._object.ob_base.ob_base, - .co_names = & _collections_abc_toplevel_consts_70_names._object.ob_base.ob_base, + .co_consts = & _collections_abc_toplevel_consts_74_consts._object.ob_base.ob_base, + .co_names = & _collections_abc_toplevel_consts_74_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 1054, + .co_firstlineno = 1106, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 518, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_MutableSequence._ascii.ob_base, .co_qualname = & const_str_MutableSequence._ascii.ob_base, - .co_linetable = & _collections_abc_toplevel_consts_70_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x65\x05\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x05\x64\x04\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x65\x05\x64\x05\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x64\x06\x84\x00\x5a\x09\x64\x07\x84\x00\x5a\x0a\x64\x08\x84\x00\x5a\x0b\x64\x09\x84\x00\x5a\x0c\x64\x0f\x64\x0b\x84\x01\x5a\x0d\x64\x0c\x84\x00\x5a\x0e\x64\x0d\x84\x00\x5a\x0f\x64\x0e\x53\x00", + .co_linetable = & _collections_abc_toplevel_consts_74_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x65\x05\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x05\x64\x04\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x65\x05\x64\x05\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x64\x06\x84\x00\x5a\x09\x64\x07\x84\x00\x5a\x0a\x64\x08\x84\x00\x5a\x0b\x64\x09\x84\x00\x5a\x0c\x64\x0e\x64\x0a\x84\x01\x5a\x0d\x64\x0b\x84\x00\x5a\x0e\x64\x0c\x84\x00\x5a\x0f\x79\x0d", ._co_firsttraceable = 0, }; static @@ -92572,17 +90509,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[72]; + PyObject *ob_item[76]; }_object; } _collections_abc_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 72, + .ob_size = 76, }, .ob_item = { & _collections_abc_toplevel_consts_0._ascii.ob_base, @@ -92595,7 +90532,7 @@ _collections_abc_toplevel_consts = { & _collections_abc_toplevel_consts_7._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_empty), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], - & const_int_1000.ob_base.ob_base, + & const_int_1000.ob_base, &_Py_STR(empty), (PyObject *)& _Py_SINGLETON(tuple_empty), & _collections_abc_toplevel_consts_13.ob_base.ob_base, @@ -92630,32 +90567,36 @@ _collections_abc_toplevel_consts = { & _collections_abc_toplevel_consts_42.ob_base.ob_base, & const_str_Collection._ascii.ob_base, & _collections_abc_toplevel_consts_44.ob_base.ob_base, - & const_str__CallableGenericAlias._ascii.ob_base, + & const_str_Buffer._ascii.ob_base, & _collections_abc_toplevel_consts_46.ob_base.ob_base, - & _collections_abc_toplevel_consts_47.ob_base.ob_base, + & const_str__CallableGenericAlias._ascii.ob_base, & _collections_abc_toplevel_consts_48.ob_base.ob_base, - & const_str_Callable._ascii.ob_base, + & _collections_abc_toplevel_consts_49.ob_base.ob_base, & _collections_abc_toplevel_consts_50.ob_base.ob_base, - & const_str_Set._ascii.ob_base, + & const_str_Callable._ascii.ob_base, & _collections_abc_toplevel_consts_52.ob_base.ob_base, - & const_str_MutableSet._ascii.ob_base, + & const_str_Set._ascii.ob_base, & _collections_abc_toplevel_consts_54.ob_base.ob_base, - & const_str_Mapping._ascii.ob_base, + & const_str_MutableSet._ascii.ob_base, & _collections_abc_toplevel_consts_56.ob_base.ob_base, - & const_str_MappingView._ascii.ob_base, + & const_str_Mapping._ascii.ob_base, & _collections_abc_toplevel_consts_58.ob_base.ob_base, - & const_str_KeysView._ascii.ob_base, + & const_str_MappingView._ascii.ob_base, & _collections_abc_toplevel_consts_60.ob_base.ob_base, - & const_str_ItemsView._ascii.ob_base, + & const_str_KeysView._ascii.ob_base, & _collections_abc_toplevel_consts_62.ob_base.ob_base, - & const_str_ValuesView._ascii.ob_base, + & const_str_ItemsView._ascii.ob_base, & _collections_abc_toplevel_consts_64.ob_base.ob_base, - & const_str_MutableMapping._ascii.ob_base, + & const_str_ValuesView._ascii.ob_base, & _collections_abc_toplevel_consts_66.ob_base.ob_base, - & const_str_Sequence._ascii.ob_base, + & const_str_MutableMapping._ascii.ob_base, & _collections_abc_toplevel_consts_68.ob_base.ob_base, - & const_str_ByteString._ascii.ob_base, + & const_str_Sequence._ascii.ob_base, & _collections_abc_toplevel_consts_70.ob_base.ob_base, + & const_str__DeprecateByteStringMeta._ascii.ob_base, + & _collections_abc_toplevel_consts_72.ob_base.ob_base, + & const_str_ByteString._ascii.ob_base, + & _collections_abc_toplevel_consts_74.ob_base.ob_base, & const_str_MutableSequence._ascii.ob_base, }, }, @@ -92668,7 +90609,7 @@ static const_str_EllipsisType = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -92677,7 +90618,7 @@ const_str_EllipsisType = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "EllipsisType", @@ -92690,7 +90631,7 @@ static const_str_bytes_iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -92699,7 +90640,7 @@ const_str_bytes_iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bytes_iterator", @@ -92712,7 +90653,7 @@ static const_str_bytearray_iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -92721,7 +90662,7 @@ const_str_bytearray_iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bytearray_iterator", @@ -92734,7 +90675,7 @@ static const_str_dict_keyiterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -92743,7 +90684,7 @@ const_str_dict_keyiterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dict_keyiterator", @@ -92756,7 +90697,7 @@ static const_str_dict_valueiterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -92765,7 +90706,7 @@ const_str_dict_valueiterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dict_valueiterator", @@ -92778,7 +90719,7 @@ static const_str_dict_itemiterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -92787,7 +90728,7 @@ const_str_dict_itemiterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dict_itemiterator", @@ -92800,7 +90741,7 @@ static const_str_list_iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -92809,7 +90750,7 @@ const_str_list_iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "list_iterator", @@ -92822,7 +90763,7 @@ static const_str_list_reverseiterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -92831,7 +90772,7 @@ const_str_list_reverseiterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "list_reverseiterator", @@ -92844,7 +90785,7 @@ static const_str_range_iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -92853,7 +90794,7 @@ const_str_range_iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "range_iterator", @@ -92866,7 +90807,7 @@ static const_str_longrange_iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -92875,7 +90816,7 @@ const_str_longrange_iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "longrange_iterator", @@ -92888,7 +90829,7 @@ static const_str_set_iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -92897,7 +90838,7 @@ const_str_set_iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "set_iterator", @@ -92910,7 +90851,7 @@ static const_str_str_iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -92919,7 +90860,7 @@ const_str_str_iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "str_iterator", @@ -92932,7 +90873,7 @@ static const_str_tuple_iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -92941,7 +90882,7 @@ const_str_tuple_iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "tuple_iterator", @@ -92954,7 +90895,7 @@ static const_str_zip = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -92963,7 +90904,7 @@ const_str_zip = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "zip", @@ -92976,7 +90917,7 @@ static const_str_zip_iterator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -92985,7 +90926,7 @@ const_str_zip_iterator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "zip_iterator", @@ -92998,7 +90939,7 @@ static const_str_dict_keys = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -93007,7 +90948,7 @@ const_str_dict_keys = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dict_keys", @@ -93020,7 +90961,7 @@ static const_str_dict_values = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -93029,7 +90970,7 @@ const_str_dict_values = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dict_values", @@ -93042,7 +90983,7 @@ static const_str_dict_items = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -93051,7 +90992,7 @@ const_str_dict_items = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dict_items", @@ -93064,7 +91005,7 @@ static const_str_mappingproxy = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -93073,7 +91014,7 @@ const_str_mappingproxy = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "mappingproxy", @@ -93086,7 +91027,7 @@ static const_str_generator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -93095,7 +91036,7 @@ const_str_generator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "generator", @@ -93108,7 +91049,7 @@ static const_str_coroutine = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -93117,7 +91058,7 @@ const_str_coroutine = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "coroutine", @@ -93130,7 +91071,7 @@ static const_str_async_generator = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -93139,7 +91080,7 @@ const_str_async_generator = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "async_generator", @@ -93149,17 +91090,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[83]; + PyObject *ob_item[85]; }_object; } _collections_abc_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 83, + .ob_size = 85, }, .ob_item = { &_Py_ID(__doc__), @@ -93167,7 +91108,7 @@ _collections_abc_toplevel_names = { & const_str_ABCMeta._ascii.ob_base, & const_str_abstractmethod._ascii.ob_base, & const_str_sys._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), & const_str_list._ascii.ob_base, & const_str_int._ascii.ob_base, & const_str_GenericAlias._ascii.ob_base, @@ -93224,6 +91165,7 @@ _collections_abc_toplevel_names = { & const_str_Sized._ascii.ob_base, & const_str_Container._ascii.ob_base, & const_str_Collection._ascii.ob_base, + & const_str_Buffer._ascii.ob_base, & const_str__CallableGenericAlias._ascii.ob_base, & const_str__is_param_expr._ascii.ob_base, & const_str__type_repr._ascii.ob_base, @@ -93237,13 +91179,14 @@ _collections_abc_toplevel_names = { & const_str_ItemsView._ascii.ob_base, & const_str_ValuesView._ascii.ob_base, & const_str_MutableMapping._ascii.ob_base, - & const_str_dict._ascii.ob_base, + &_Py_ID(dict), & const_str_Sequence._ascii.ob_base, & const_str_tuple._ascii.ob_base, & const_str_str._ascii.ob_base, & const_str_memoryview._ascii.ob_base, + & const_str__DeprecateByteStringMeta._ascii.ob_base, & const_str_ByteString._ascii.ob_base, - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_MutableSequence._ascii.ob_base, }, }, @@ -93252,63 +91195,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[2598]; + char ob_sval[1282]; } _collections_abc_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 2597, + .ob_size = 1281, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x08\x03\x01\x04\xf0\x00\x03\x01\x04\xf0\x0a\x00\x01\x28\xd0\x00\x27\xd0\x00\x27\xd0\x00\x27\xd0\x00\x27\xd0\x00\x27\xd0\x00\x27\xd0\x00\x27\xd8\x00\x0a\x80\x0a\x80\x0a\x80\x0a\xe0\x0f\x13\x88\x74\x90\x44\x98\x13\x94\x49\x89\x7f\x8c\x7f\x80\x0c\xd8\x0f\x13\x88\x74\x90\x43\x89\x79\x8c\x79\x80\x0c\xd8\x00\x0e\x80\x0e\x80\x0e\xd8\x0f\x13\x88\x74\x90\x42\x89\x78\x8c\x78\x80\x0c\xd8\x04\x06\xf0\x04\x09\x0b\x0d\xf0\x00\x09\x0b\x0d\xf0\x00\x09\x0b\x0d\x80\x07\xf0\x1e\x00\x0c\x1d\x80\x08\xf0\x12\x00\x12\x16\x90\x14\x90\x64\x90\x64\x98\x33\x91\x69\x94\x69\x91\x1f\x94\x1f\x80\x0e\xd8\x15\x19\x90\x54\x98\x24\x98\x24\x98\x79\x98\x79\x99\x7b\x9c\x7b\xd1\x1a\x2b\xd4\x1a\x2b\xd1\x15\x2c\xd4\x15\x2c\xd0\x00\x12\xe0\x13\x17\x90\x34\x98\x04\x98\x04\x98\x52\x9f\x57\x9a\x57\x99\x59\x9c\x59\x99\x0f\x9c\x0f\xd1\x13\x28\xd4\x13\x28\xd0\x00\x10\xd8\x15\x19\x90\x54\x98\x24\x98\x24\x98\x72\x9f\x79\x9a\x79\x99\x7b\x9c\x7b\xd1\x1a\x2b\xd4\x1a\x2b\xd1\x15\x2c\xd4\x15\x2c\xd0\x00\x12\xd8\x14\x18\x90\x44\x98\x14\x98\x14\x98\x62\x9f\x68\x9a\x68\x99\x6a\x9c\x6a\xd1\x19\x29\xd4\x19\x29\xd1\x14\x2a\xd4\x14\x2a\xd0\x00\x11\xd8\x10\x14\x90\x04\x90\x54\x90\x54\x98\x22\x91\x58\x94\x58\x91\x0e\x94\x0e\x80\x0d\xd8\x17\x1b\x90\x74\x98\x44\x98\x44\xa0\x18\xa0\x18\xa8\x22\xa1\x1c\xa4\x1c\xd1\x1c\x2e\xd4\x1c\x2e\xd1\x17\x2f\xd4\x17\x2f\xd0\x00\x14\xd8\x11\x15\x90\x14\x90\x64\x90\x64\x98\x35\x98\x35\xa0\x11\x99\x38\x9c\x38\x91\x6e\x94\x6e\xd1\x11\x25\xd4\x11\x25\x80\x0e\xd8\x15\x19\x90\x54\x98\x24\x98\x24\x98\x75\x98\x75\xa0\x51\xa8\x24\xa1\x59\xd1\x1f\x2f\xd4\x1f\x2f\xd1\x1a\x30\xd4\x1a\x30\xd1\x15\x31\xd4\x15\x31\xd0\x00\x12\xd8\x0f\x13\x88\x74\x90\x44\x90\x44\x98\x13\x98\x13\x99\x15\x9c\x15\x91\x4b\x94\x4b\xd1\x0f\x20\xd4\x0f\x20\x80\x0c\xd8\x0f\x13\x88\x74\x90\x44\x90\x44\x98\x12\x91\x48\x94\x48\x89\x7e\x8c\x7e\x80\x0c\xd8\x11\x15\x90\x14\x90\x64\x90\x64\x98\x32\x91\x68\x94\x68\x91\x1e\x94\x1e\x80\x0e\xd8\x0f\x13\x88\x74\x90\x44\x90\x44\x98\x13\x98\x13\x99\x15\x9c\x15\x91\x4b\x94\x4b\xd1\x0f\x20\xd4\x0f\x20\x80\x0c\xe0\x0c\x10\x88\x44\x90\x12\x97\x17\x92\x17\x91\x19\x94\x19\x89\x4f\x8c\x4f\x80\x09\xd8\x0e\x12\x88\x64\x90\x32\x97\x39\x92\x39\x91\x3b\x94\x3b\xd1\x0e\x1f\xd4\x0e\x1f\x80\x0b\xd8\x0d\x11\x88\x54\x90\x22\x97\x28\x92\x28\x91\x2a\x94\x2a\xd1\x0d\x1d\xd4\x0d\x1d\x80\x0a\xe0\x0f\x13\x88\x74\x90\x44\x94\x4d\xd1\x0f\x22\xd4\x0f\x22\x80\x0c\xd8\x0c\x10\x88\x44\x90\x2f\x90\x2f\x90\x2f\xd1\x11\x24\xd4\x11\x24\xd1\x0c\x25\xd4\x0c\x25\x80\x09\xe0\x00\x17\xd0\x00\x17\xd0\x00\x17\xd8\x08\x0d\x88\x05\x89\x07\x8c\x07\x80\x05\xd8\x0c\x10\x88\x44\x90\x15\x89\x4b\x8c\x4b\x80\x09\xd8\x00\x05\x87\x0b\x82\x0b\x81\x0d\x84\x0d\x80\x0d\xd8\x04\x09\xe0\x00\x16\xd0\x00\x16\xd0\x00\x16\xd8\x06\x09\x80\x63\x81\x65\x84\x65\x80\x03\xd8\x12\x16\x90\x24\x90\x73\x91\x29\x94\x29\x80\x0f\xd8\x04\x07\xf0\x0a\x0a\x01\x10\xf0\x00\x0a\x01\x10\xf0\x00\x0a\x01\x10\xf0\x18\x0c\x01\x1e\xf0\x00\x0c\x01\x1e\xf0\x00\x0c\x01\x1e\xf0\x00\x0c\x01\x1e\xf0\x00\x0c\x01\x1e\x98\x17\xf0\x00\x0c\x01\x1e\xf1\x00\x0c\x01\x1e\xf4\x00\x0c\x01\x1e\xf0\x00\x0c\x01\x1e\xf0\x1e\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\x98\x27\xf0\x00\x0e\x01\x32\xf1\x00\x0e\x01\x32\xf4\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x22\x26\x01\x1e\xf0\x00\x26\x01\x1e\xf0\x00\x26\x01\x1e\xf0\x00\x26\x01\x1e\xf0\x00\x26\x01\x1e\x90\x09\xf1\x00\x26\x01\x1e\xf4\x00\x26\x01\x1e\xf0\x00\x26\x01\x1e\xf0\x52\x01\x00\x01\x0a\xd7\x00\x12\xd2\x00\x12\x90\x39\xd1\x00\x1d\xd4\x00\x1d\xd0\x00\x1d\xf0\x06\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\x98\x67\xf0\x00\x0e\x01\x32\xf1\x00\x0e\x01\x32\xf4\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x22\x10\x01\x1e\xf0\x00\x10\x01\x1e\xf0\x00\x10\x01\x1e\xf0\x00\x10\x01\x1e\xf0\x00\x10\x01\x1e\x90\x4d\xf1\x00\x10\x01\x1e\xf4\x00\x10\x01\x1e\xf0\x00\x10\x01\x1e\xf0\x26\x2d\x01\x1e\xf0\x00\x2d\x01\x1e\xf0\x00\x2d\x01\x1e\xf0\x00\x2d\x01\x1e\xf0\x00\x2d\x01\x1e\x90\x5d\xf1\x00\x2d\x01\x1e\xf4\x00\x2d\x01\x1e\xf0\x00\x2d\x01\x1e\xf0\x60\x01\x00\x01\x0f\xd7\x00\x17\xd2\x00\x17\x98\x0f\xd1\x00\x28\xd4\x00\x28\xd0\x00\x28\xf0\x06\x0f\x01\x32\xf0\x00\x0f\x01\x32\xf0\x00\x0f\x01\x32\xf0\x00\x0f\x01\x32\xf0\x00\x0f\x01\x32\x98\x17\xf0\x00\x0f\x01\x32\xf1\x00\x0f\x01\x32\xf4\x00\x0f\x01\x32\xf0\x00\x0f\x01\x32\xf0\x24\x10\x01\x1e\xf0\x00\x10\x01\x1e\xf0\x00\x10\x01\x1e\xf0\x00\x10\x01\x1e\xf0\x00\x10\x01\x1e\x88\x78\xf1\x00\x10\x01\x1e\xf4\x00\x10\x01\x1e\xf0\x00\x10\x01\x1e\xf0\x26\x00\x01\x09\xd7\x00\x11\xd2\x00\x11\x90\x2e\xd1\x00\x21\xd4\x00\x21\xd0\x00\x21\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\xd0\x12\x24\xd1\x00\x25\xd4\x00\x25\xd0\x00\x25\xe0\x00\x08\xd7\x00\x11\xd2\x00\x11\xd0\x12\x22\xd1\x00\x23\xd4\x00\x23\xd0\x00\x23\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\xd0\x12\x24\xd1\x00\x25\xd4\x00\x25\xd0\x00\x25\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\xd0\x12\x23\xd1\x00\x24\xd4\x00\x24\xd0\x00\x24\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\x90\x2d\xd1\x00\x20\xd4\x00\x20\xd0\x00\x20\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\xd0\x12\x26\xd1\x00\x27\xd4\x00\x27\xd0\x00\x27\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\x90\x2e\xd1\x00\x21\xd4\x00\x21\xd0\x00\x21\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\xd0\x12\x24\xd1\x00\x25\xd4\x00\x25\xd0\x00\x25\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\x90\x2c\xd1\x00\x1f\xd4\x00\x1f\xd0\x00\x1f\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\x90\x2c\xd1\x00\x1f\xd4\x00\x1f\xd0\x00\x1f\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\x90\x2e\xd1\x00\x21\xd4\x00\x21\xd0\x00\x21\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\x90\x2c\xd1\x00\x1f\xd4\x00\x1f\xd0\x00\x1f\xf0\x06\x0d\x01\x1e\xf0\x00\x0d\x01\x1e\xf0\x00\x0d\x01\x1e\xf0\x00\x0d\x01\x1e\xf0\x00\x0d\x01\x1e\x90\x18\xf1\x00\x0d\x01\x1e\xf4\x00\x0d\x01\x1e\xf0\x00\x0d\x01\x1e\xf0\x20\x2d\x01\x1e\xf0\x00\x2d\x01\x1e\xf0\x00\x2d\x01\x1e\xf0\x00\x2d\x01\x1e\xf0\x00\x2d\x01\x1e\x90\x08\xf1\x00\x2d\x01\x1e\xf4\x00\x2d\x01\x1e\xf0\x00\x2d\x01\x1e\xf0\x60\x01\x00\x01\x0a\xd7\x00\x12\xd2\x00\x12\x90\x39\xd1\x00\x1d\xd4\x00\x1d\xd0\x00\x1d\xf0\x06\x0c\x01\x1e\xf0\x00\x0c\x01\x1e\xf0\x00\x0c\x01\x1e\xf0\x00\x0c\x01\x1e\xf0\x00\x0c\x01\x1e\x90\x67\xf0\x00\x0c\x01\x1e\xf1\x00\x0c\x01\x1e\xf4\x00\x0c\x01\x1e\xf0\x00\x0c\x01\x1e\xf0\x1e\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\x98\x27\xf0\x00\x0e\x01\x32\xf1\x00\x0e\x01\x32\xf4\x00\x0e\x01\x32\xf0\x00\x0e\x01\x32\xf0\x22\x08\x01\x1e\xf0\x00\x08\x01\x1e\xf0\x00\x08\x01\x1e\xf0\x00\x08\x01\x1e\xf0\x00\x08\x01\x1e\x90\x15\x98\x08\xa0\x29\xf1\x00\x08\x01\x1e\xf4\x00\x08\x01\x1e\xf0\x00\x08\x01\x1e\xf0\x16\x3b\x01\x40\x01\xf0\x00\x3b\x01\x40\x01\xf0\x00\x3b\x01\x40\x01\xf0\x00\x3b\x01\x40\x01\xf0\x00\x3b\x01\x40\x01\x98\x4c\xf1\x00\x3b\x01\x40\x01\xf4\x00\x3b\x01\x40\x01\xf0\x00\x3b\x01\x40\x01\xf0\x7a\x01\x0a\x01\x56\x01\xf0\x00\x0a\x01\x56\x01\xf0\x00\x0a\x01\x56\x01\xf0\x18\x10\x01\x15\xf0\x00\x10\x01\x15\xf0\x00\x10\x01\x15\xf0\x26\x0e\x01\x3b\xf0\x00\x0e\x01\x3b\xf0\x00\x0e\x01\x3b\xf0\x00\x0e\x01\x3b\xf0\x00\x0e\x01\x3b\x98\x17\xf0\x00\x0e\x01\x3b\xf1\x00\x0e\x01\x3b\xf4\x00\x0e\x01\x3b\xf0\x00\x0e\x01\x3b\xf0\x28\x47\x02\x01\x11\xf0\x00\x47\x02\x01\x11\xf0\x00\x47\x02\x01\x11\xf0\x00\x47\x02\x01\x11\xf0\x00\x47\x02\x01\x11\x88\x2a\xf1\x00\x47\x02\x01\x11\xf4\x00\x47\x02\x01\x11\xf0\x00\x47\x02\x01\x11\xf0\x54\x04\x00\x01\x04\x87\x0c\x82\x0c\x88\x59\xd1\x00\x17\xd4\x00\x17\xd0\x00\x17\xf0\x06\x4d\x01\x01\x14\xf0\x00\x4d\x01\x01\x14\xf0\x00\x4d\x01\x01\x14\xf0\x00\x4d\x01\x01\x14\xf0\x00\x4d\x01\x01\x14\x90\x13\xf1\x00\x4d\x01\x01\x14\xf4\x00\x4d\x01\x01\x14\xf0\x00\x4d\x01\x01\x14\xf0\x60\x02\x00\x01\x0b\xd7\x00\x13\xd2\x00\x13\x90\x43\xd1\x00\x18\xd4\x00\x18\xd0\x00\x18\xf0\x0a\x31\x01\x18\xf0\x00\x31\x01\x18\xf0\x00\x31\x01\x18\xf0\x00\x31\x01\x18\xf0\x00\x31\x01\x18\x88\x6a\xf1\x00\x31\x01\x18\xf4\x00\x31\x01\x18\xf0\x00\x31\x01\x18\xf0\x66\x01\x00\x01\x08\xd7\x00\x10\xd2\x00\x10\x90\x1c\xd1\x00\x1e\xd4\x00\x1e\xd0\x00\x1e\xf0\x06\x0d\x01\x32\xf0\x00\x0d\x01\x32\xf0\x00\x0d\x01\x32\xf0\x00\x0d\x01\x32\xf0\x00\x0d\x01\x32\x90\x25\xf1\x00\x0d\x01\x32\xf4\x00\x0d\x01\x32\xf0\x00\x0d\x01\x32\xf0\x20\x0c\x01\x21\xf0\x00\x0c\x01\x21\xf0\x00\x0c\x01\x21\xf0\x00\x0c\x01\x21\xf0\x00\x0c\x01\x21\x88\x7b\x98\x43\xf1\x00\x0c\x01\x21\xf4\x00\x0c\x01\x21\xf0\x00\x0c\x01\x21\xf0\x1e\x00\x01\x09\xd7\x00\x11\xd2\x00\x11\x90\x29\xd1\x00\x1c\xd4\x00\x1c\xd0\x00\x1c\xf0\x06\x13\x01\x2c\xf0\x00\x13\x01\x2c\xf0\x00\x13\x01\x2c\xf0\x00\x13\x01\x2c\xf0\x00\x13\x01\x2c\x90\x0b\x98\x53\xf1\x00\x13\x01\x2c\xf4\x00\x13\x01\x2c\xf0\x00\x13\x01\x2c\xf0\x2c\x00\x01\x0a\xd7\x00\x12\xd2\x00\x12\x90\x3a\xd1\x00\x1e\xd4\x00\x1e\xd0\x00\x1e\xf0\x06\x0d\x01\x25\xf0\x00\x0d\x01\x25\xf0\x00\x0d\x01\x25\xf0\x00\x0d\x01\x25\xf0\x00\x0d\x01\x25\x90\x1b\x98\x6a\xf1\x00\x0d\x01\x25\xf4\x00\x0d\x01\x25\xf0\x00\x0d\x01\x25\xf0\x20\x00\x01\x0b\xd7\x00\x13\xd2\x00\x13\x90\x4b\xd1\x00\x20\xd4\x00\x20\xd0\x00\x20\xf0\x06\x4f\x01\x01\x17\xf0\x00\x4f\x01\x01\x17\xf0\x00\x4f\x01\x01\x17\xf0\x00\x4f\x01\x01\x17\xf0\x00\x4f\x01\x01\x17\x90\x57\xf1\x00\x4f\x01\x01\x17\xf4\x00\x4f\x01\x01\x17\xf0\x00\x4f\x01\x01\x17\xf0\x64\x02\x00\x01\x0f\xd7\x00\x17\xd2\x00\x17\x98\x04\xd1\x00\x1d\xd4\x00\x1d\xd0\x00\x1d\xf0\x0a\x3d\x01\x40\x01\xf0\x00\x3d\x01\x40\x01\xf0\x00\x3d\x01\x40\x01\xf0\x00\x3d\x01\x40\x01\xf0\x00\x3d\x01\x40\x01\x88\x7a\x98\x3a\xf1\x00\x3d\x01\x40\x01\xf4\x00\x3d\x01\x40\x01\xf0\x00\x3d\x01\x40\x01\xf0\x7e\x01\x00\x01\x09\xd7\x00\x11\xd2\x00\x11\x90\x25\xd1\x00\x18\xd4\x00\x18\xd0\x00\x18\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\x90\x23\xd1\x00\x16\xd4\x00\x16\xd0\x00\x16\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\x90\x25\xd1\x00\x18\xd4\x00\x18\xd0\x00\x18\xd8\x00\x08\xd7\x00\x11\xd2\x00\x11\x90\x2a\xd1\x00\x1d\xd4\x00\x1d\xd0\x00\x1d\xf0\x06\x06\x01\x13\xf0\x00\x06\x01\x13\xf0\x00\x06\x01\x13\xf0\x00\x06\x01\x13\xf0\x00\x06\x01\x13\x90\x18\xf1\x00\x06\x01\x13\xf4\x00\x06\x01\x13\xf0\x00\x06\x01\x13\xf0\x10\x00\x01\x0b\xd7\x00\x13\xd2\x00\x13\x90\x45\xd1\x00\x1a\xd4\x00\x1a\xd0\x00\x1a\xd8\x00\x0a\xd7\x00\x13\xd2\x00\x13\x90\x49\xd1\x00\x1e\xd4\x00\x1e\xd0\x00\x1e\xf0\x06\x3f\x01\x14\xf0\x00\x3f\x01\x14\xf0\x00\x3f\x01\x14\xf0\x00\x3f\x01\x14\xf0\x00\x3f\x01\x14\x90\x68\xf1\x00\x3f\x01\x14\xf4\x00\x3f\x01\x14\xf0\x00\x3f\x01\x14\xf0\x44\x02\x00\x01\x10\xd7\x00\x18\xd2\x00\x18\x98\x14\xd1\x00\x1e\xd4\x00\x1e\xd0\x00\x1e\xd8\x00\x0f\xd7\x00\x18\xd2\x00\x18\x98\x19\xd1\x00\x23\xd4\x00\x23\xd0\x00\x23\xd0\x00\x23\xd0\x00\x23", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x08\x03\x01\x04\xf7\x3e\x00\x01\x28\xdb\x00\x0a\xe1\x0f\x13\x90\x44\x98\x13\x91\x49\x8b\x7f\x80\x0c\xd9\x0f\x13\x90\x43\x8b\x79\x80\x0c\xda\x00\x0e\xd9\x0f\x13\x90\x42\x8b\x78\x80\x0c\xd8\x04\x06\xf2\x04\x09\x0b\x0d\x80\x07\xf0\x1e\x00\x0c\x1d\x80\x08\xf1\x12\x00\x12\x16\x91\x64\x98\x33\x93\x69\x93\x1f\x80\x0e\xd9\x15\x19\x99\x24\x99\x79\x9b\x7b\xd3\x1a\x2b\xd3\x15\x2c\xd0\x00\x12\xe1\x13\x17\x99\x04\x98\x52\x9f\x57\x99\x57\x9b\x59\x9b\x0f\xd3\x13\x28\xd0\x00\x10\xd9\x15\x19\x99\x24\x98\x72\x9f\x79\x99\x79\x9b\x7b\xd3\x1a\x2b\xd3\x15\x2c\xd0\x00\x12\xd9\x14\x18\x99\x14\x98\x62\x9f\x68\x99\x68\x9b\x6a\xd3\x19\x29\xd3\x14\x2a\xd0\x00\x11\xd9\x10\x14\x91\x54\x98\x22\x93\x58\x93\x0e\x80\x0d\xd9\x17\x1b\x99\x44\xa1\x18\xa8\x22\xa3\x1c\xd3\x1c\x2e\xd3\x17\x2f\xd0\x00\x14\xd9\x11\x15\x91\x64\x99\x35\xa0\x11\x9b\x38\x93\x6e\xd3\x11\x25\x80\x0e\xd9\x15\x19\x99\x24\x99\x75\xa0\x51\xa8\x24\xa1\x59\xd3\x1f\x2f\xd3\x1a\x30\xd3\x15\x31\xd0\x00\x12\xd9\x0f\x13\x91\x44\x99\x13\x9b\x15\x93\x4b\xd3\x0f\x20\x80\x0c\xd9\x0f\x13\x91\x44\x98\x12\x93\x48\x8b\x7e\x80\x0c\xd9\x11\x15\x91\x64\x98\x32\x93\x68\x93\x1e\x80\x0e\xd9\x0f\x13\x91\x44\x99\x13\x9b\x15\x93\x4b\xd3\x0f\x20\x80\x0c\xe1\x0c\x10\x90\x12\x97\x17\x91\x17\x93\x19\x8b\x4f\x80\x09\xd9\x0e\x12\x90\x32\x97\x39\x91\x39\x93\x3b\xd3\x0e\x1f\x80\x0b\xd9\x0d\x11\x90\x22\x97\x28\x91\x28\x93\x2a\xd3\x0d\x1d\x80\x0a\xe1\x0f\x13\x90\x44\x97\x4d\x91\x4d\xd3\x0f\x22\x80\x0c\xd9\x0c\x10\x92\x2f\xd3\x11\x24\xd3\x0c\x25\x80\x09\xe2\x00\x17\xd9\x08\x0d\x8b\x07\x80\x05\xd9\x0c\x10\x90\x15\x8b\x4b\x80\x09\xd8\x00\x05\x87\x0b\x81\x0b\x84\x0d\xd8\x04\x09\xe2\x00\x16\xd9\x06\x09\x83\x65\x80\x03\xd9\x12\x16\x90\x73\x93\x29\x80\x0f\xd8\x04\x07\xf2\x0a\x0a\x01\x10\xf4\x18\x0c\x01\x1e\x98\x17\xf5\x00\x0c\x01\x1e\xf4\x1e\x0e\x01\x32\x98\x27\xf5\x00\x0e\x01\x32\xf4\x22\x26\x01\x1e\x90\x09\xf4\x00\x26\x01\x1e\xf0\x52\x01\x00\x01\x0a\xd7\x00\x12\xd1\x00\x12\x90\x39\xd4\x00\x1d\xf4\x06\x0e\x01\x32\x98\x67\xf5\x00\x0e\x01\x32\xf4\x22\x10\x01\x1e\x90\x4d\xf4\x00\x10\x01\x1e\xf4\x26\x2d\x01\x1e\x90\x5d\xf4\x00\x2d\x01\x1e\xf0\x60\x01\x00\x01\x0f\xd7\x00\x17\xd1\x00\x17\x98\x0f\xd4\x00\x28\xf4\x06\x0f\x01\x32\x98\x17\xf5\x00\x0f\x01\x32\xf4\x24\x10\x01\x1e\x88\x78\xf4\x00\x10\x01\x1e\xf0\x26\x00\x01\x09\xd7\x00\x11\xd1\x00\x11\x90\x2e\xd4\x00\x21\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\xd0\x12\x24\xd4\x00\x25\xe0\x00\x08\xd7\x00\x11\xd1\x00\x11\xd0\x12\x22\xd4\x00\x23\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\xd0\x12\x24\xd4\x00\x25\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\xd0\x12\x23\xd4\x00\x24\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\x90\x2d\xd4\x00\x20\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\xd0\x12\x26\xd4\x00\x27\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\x90\x2e\xd4\x00\x21\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\xd0\x12\x24\xd4\x00\x25\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\x90\x2c\xd4\x00\x1f\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\x90\x2c\xd4\x00\x1f\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\x90\x2e\xd4\x00\x21\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\x90\x2c\xd4\x00\x1f\xf4\x06\x0d\x01\x1e\x90\x18\xf4\x00\x0d\x01\x1e\xf4\x20\x2d\x01\x1e\x90\x08\xf4\x00\x2d\x01\x1e\xf0\x60\x01\x00\x01\x0a\xd7\x00\x12\xd1\x00\x12\x90\x39\xd4\x00\x1d\xf4\x06\x0c\x01\x1e\x90\x67\xf5\x00\x0c\x01\x1e\xf4\x1e\x0e\x01\x32\x98\x27\xf5\x00\x0e\x01\x32\xf4\x22\x08\x01\x1e\x90\x15\x98\x08\xa0\x29\xf4\x00\x08\x01\x1e\xf4\x16\x0c\x01\x1e\x90\x77\xf5\x00\x0c\x01\x1e\xf4\x1e\x34\x01\x40\x01\x98\x4c\xf4\x00\x34\x01\x40\x01\xf2\x6c\x01\x0a\x01\x56\x01\xf2\x18\x0f\x01\x15\xf4\x24\x0e\x01\x3b\x98\x17\xf5\x00\x0e\x01\x3b\xf4\x28\x47\x02\x01\x11\x88\x2a\xf4\x00\x47\x02\x01\x11\xf0\x54\x04\x00\x01\x04\x87\x0c\x81\x0c\x88\x59\xd4\x00\x17\xf4\x06\x4d\x01\x01\x14\x90\x13\xf4\x00\x4d\x01\x01\x14\xf0\x60\x02\x00\x01\x0b\xd7\x00\x13\xd1\x00\x13\x90\x43\xd4\x00\x18\xf4\x0a\x31\x01\x18\x88\x6a\xf4\x00\x31\x01\x18\xf0\x66\x01\x00\x01\x08\xd7\x00\x10\xd1\x00\x10\x90\x1c\xd4\x00\x1e\xf4\x06\x0d\x01\x32\x90\x25\xf4\x00\x0d\x01\x32\xf4\x20\x0c\x01\x21\x88\x7b\x98\x43\xf4\x00\x0c\x01\x21\xf0\x1e\x00\x01\x09\xd7\x00\x11\xd1\x00\x11\x90\x29\xd4\x00\x1c\xf4\x06\x13\x01\x2c\x90\x0b\x98\x53\xf4\x00\x13\x01\x2c\xf0\x2c\x00\x01\x0a\xd7\x00\x12\xd1\x00\x12\x90\x3a\xd4\x00\x1e\xf4\x06\x0d\x01\x25\x90\x1b\x98\x6a\xf4\x00\x0d\x01\x25\xf0\x20\x00\x01\x0b\xd7\x00\x13\xd1\x00\x13\x90\x4b\xd4\x00\x20\xf4\x06\x4f\x01\x01\x17\x90\x57\xf4\x00\x4f\x01\x01\x17\xf0\x64\x02\x00\x01\x0f\xd7\x00\x17\xd1\x00\x17\x98\x04\xd4\x00\x1d\xf4\x0a\x3d\x01\x40\x01\x88\x7a\x98\x3a\xf4\x00\x3d\x01\x40\x01\xf0\x7e\x01\x00\x01\x09\xd7\x00\x11\xd1\x00\x11\x90\x25\xd4\x00\x18\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\x90\x23\xd4\x00\x16\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\x90\x25\xd4\x00\x18\xd8\x00\x08\xd7\x00\x11\xd1\x00\x11\x90\x2a\xd4\x00\x1d\xf4\x04\x12\x01\x33\x98\x77\xf4\x00\x12\x01\x33\xf4\x28\x06\x01\x13\x90\x18\xd0\x25\x3d\xf5\x00\x06\x01\x13\xf0\x10\x00\x01\x0b\xd7\x00\x13\xd1\x00\x13\x90\x45\xd4\x00\x1a\xd8\x00\x0a\xd7\x00\x13\xd1\x00\x13\x90\x49\xd4\x00\x1e\xf4\x06\x3f\x01\x14\x90\x68\xf4\x00\x3f\x01\x14\xf0\x44\x02\x00\x01\x10\xd7\x00\x18\xd1\x00\x18\x98\x14\xd4\x00\x1e\xd8\x00\x0f\xd7\x00\x18\xd1\x00\x18\x98\x19\xd5\x00\x23", }; static - struct _PyCode_DEF(3328) + struct _PyCode_DEF(2650) _collections_abc_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 1664, + .ob_size = 1325, }, .co_consts = & _collections_abc_toplevel_consts._object.ob_base.ob_base, .co_names = & _collections_abc_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 519, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _collections_abc_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & _collections_abc_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x6d\x02\x5a\x02\x6d\x03\x5a\x03\x01\x00\x64\x01\x64\x03\x6c\x04\x5a\x04\x02\x00\x65\x05\x65\x06\x65\x07\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x02\x00\x65\x05\x64\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x64\x05\x84\x00\x5a\x0a\x02\x00\x65\x05\x65\x0a\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0b\x5b\x0a\x67\x00\x64\x06\xa2\x01\x5a\x0c\x64\x07\x5a\x0d\x02\x00\x65\x05\x02\x00\x65\x0e\x64\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0f\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x10\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x11\x02\x00\x65\x05\x02\x00\x65\x0e\x69\x00\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x13\x02\x00\x65\x05\x02\x00\x65\x0e\x69\x00\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x15\x02\x00\x65\x05\x02\x00\x65\x0e\x69\x00\xa0\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x17\x02\x00\x65\x05\x02\x00\x65\x0e\x67\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x18\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x19\x67\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1a\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x1b\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1c\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x1b\x64\x09\x64\x0a\x7a\x03\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1d\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x1e\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1f\x02\x00\x65\x05\x02\x00\x65\x0e\x64\x0b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x20\x02\x00\x65\x05\x02\x00\x65\x0e\x64\x0c\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x21\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x22\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x23\x02\x00\x65\x05\x69\x00\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x24\x02\x00\x65\x05\x69\x00\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x25\x02\x00\x65\x05\x69\x00\xa0\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x26\x02\x00\x65\x05\x65\x05\x6a\x27\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x28\x02\x00\x65\x05\x02\x00\x64\x0d\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x29\x64\x0e\x84\x00\x5a\x2a\x02\x00\x65\x2a\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x2a\x02\x00\x65\x05\x65\x2a\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x2b\x65\x2a\xa0\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x5b\x2a\x64\x0f\x84\x00\x5a\x2d\x02\x00\x65\x2d\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x2d\x02\x00\x65\x05\x65\x2d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x2e\x5b\x2d\x64\x10\x84\x00\x5a\x2f\x02\x00\x47\x00\x64\x11\x84\x00\x64\x12\x65\x02\xac\x13\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x30\x02\x00\x47\x00\x64\x14\x84\x00\x64\x15\x65\x02\xac\x13\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x31\x02\x00\x47\x00\x64\x16\x84\x00\x64\x17\x65\x31\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x32\x65\x32\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x2b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x18\x84\x00\x64\x19\x65\x02\xac\x13\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x34\x02\x00\x47\x00\x64\x1a\x84\x00\x64\x1b\x65\x34\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x35\x02\x00\x47\x00\x64\x1c\x84\x00\x64\x1d\x65\x35\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x36\x65\x36\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x2e\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x1e\x84\x00\x64\x1f\x65\x02\xac\x13\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x37\x02\x00\x47\x00\x64\x20\x84\x00\x64\x21\x65\x37\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x38\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x0f\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x11\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x13\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x15\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x17\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x18\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1a\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1c\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1f\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x20\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x21\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x23\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x22\x84\x00\x64\x23\x65\x37\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x39\x02\x00\x47\x00\x64\x24\x84\x00\x64\x25\x65\x38\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x3a\x65\x3a\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x29\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x26\x84\x00\x64\x27\x65\x02\xac\x13\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x3b\x02\x00\x47\x00\x64\x28\x84\x00\x64\x29\x65\x02\xac\x13\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x3c\x02\x00\x47\x00\x64\x2a\x84\x00\x64\x2b\x65\x3b\x65\x37\x65\x3c\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x3d\x02\x00\x47\x00\x64\x2c\x84\x00\x64\x2d\x65\x08\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x3e\x64\x2e\x84\x00\x5a\x3f\x64\x2f\x84\x00\x5a\x40\x02\x00\x47\x00\x64\x30\x84\x00\x64\x31\x65\x02\xac\x13\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x41\x02\x00\x47\x00\x64\x32\x84\x00\x64\x33\x65\x3d\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x42\x65\x42\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x43\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x34\x84\x00\x64\x35\x65\x42\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x44\x65\x44\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1e\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x36\x84\x00\x64\x37\x65\x3d\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x45\x65\x45\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x28\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x38\x84\x00\x64\x39\x65\x3b\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x46\x02\x00\x47\x00\x64\x3a\x84\x00\x64\x3b\x65\x46\x65\x42\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x47\x65\x47\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x24\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x3c\x84\x00\x64\x3d\x65\x46\x65\x42\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x48\x65\x48\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x26\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x3e\x84\x00\x64\x3f\x65\x46\x65\x3d\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x49\x65\x49\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x25\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x40\x84\x00\x64\x41\x65\x45\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x4a\x65\x4a\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x4b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x42\x84\x00\x64\x43\x65\x39\x65\x3d\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x4c\x65\x4c\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x4d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x4c\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x4e\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x4c\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x4c\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x4f\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x44\x84\x00\x64\x45\x65\x4c\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x50\x65\x50\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x51\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x50\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x10\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x46\x84\x00\x64\x47\x65\x4c\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x52\x65\x52\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x52\xa0\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x10\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x6d\x02\x5a\x02\x6d\x03\x5a\x03\x01\x00\x64\x01\x64\x03\x6c\x04\x5a\x04\x02\x00\x65\x05\x65\x06\x65\x07\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x08\x02\x00\x65\x05\x64\x04\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x09\x64\x05\x84\x00\x5a\x0a\x02\x00\x65\x05\x65\x0a\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x0b\x5b\x0a\x67\x00\x64\x06\xa2\x01\x5a\x0c\x64\x07\x5a\x0d\x02\x00\x65\x05\x02\x00\x65\x0e\x64\x08\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x0f\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x10\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x11\x02\x00\x65\x05\x02\x00\x65\x0e\x69\x00\x6a\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x13\x02\x00\x65\x05\x02\x00\x65\x0e\x69\x00\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x15\x02\x00\x65\x05\x02\x00\x65\x0e\x69\x00\x6a\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x17\x02\x00\x65\x05\x02\x00\x65\x0e\x67\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x18\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x19\x67\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x1a\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x1b\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x1c\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x1b\x64\x09\x64\x0a\x7a\x03\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x1d\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x1e\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x1f\x02\x00\x65\x05\x02\x00\x65\x0e\x64\x0b\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x20\x02\x00\x65\x05\x02\x00\x65\x0e\x64\x0c\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x21\x02\x00\x65\x05\x02\x00\x65\x0e\x02\x00\x65\x22\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x23\x02\x00\x65\x05\x69\x00\x6a\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x24\x02\x00\x65\x05\x69\x00\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x25\x02\x00\x65\x05\x69\x00\x6a\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x26\x02\x00\x65\x05\x65\x05\x6a\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x28\x02\x00\x65\x05\x02\x00\x64\x0d\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x29\x64\x0e\x84\x00\x5a\x2a\x02\x00\x65\x2a\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x2a\x02\x00\x65\x05\x65\x2a\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x2b\x65\x2a\x6a\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x5b\x2a\x64\x0f\x84\x00\x5a\x2d\x02\x00\x65\x2d\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x2d\x02\x00\x65\x05\x65\x2d\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x2e\x5b\x2d\x64\x10\x84\x00\x5a\x2f\x02\x00\x47\x00\x64\x11\x84\x00\x64\x12\x65\x02\xac\x13\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x30\x02\x00\x47\x00\x64\x14\x84\x00\x64\x15\x65\x02\xac\x13\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x31\x02\x00\x47\x00\x64\x16\x84\x00\x64\x17\x65\x31\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x32\x65\x32\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x2b\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x18\x84\x00\x64\x19\x65\x02\xac\x13\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x34\x02\x00\x47\x00\x64\x1a\x84\x00\x64\x1b\x65\x34\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x35\x02\x00\x47\x00\x64\x1c\x84\x00\x64\x1d\x65\x35\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x36\x65\x36\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x2e\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x1e\x84\x00\x64\x1f\x65\x02\xac\x13\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x37\x02\x00\x47\x00\x64\x20\x84\x00\x64\x21\x65\x37\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x38\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x0f\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x11\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x13\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x15\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x17\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x18\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1a\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1c\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1d\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1f\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x20\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x21\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x23\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x22\x84\x00\x64\x23\x65\x37\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x39\x02\x00\x47\x00\x64\x24\x84\x00\x64\x25\x65\x38\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x3a\x65\x3a\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x29\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x26\x84\x00\x64\x27\x65\x02\xac\x13\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x3b\x02\x00\x47\x00\x64\x28\x84\x00\x64\x29\x65\x02\xac\x13\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x3c\x02\x00\x47\x00\x64\x2a\x84\x00\x64\x2b\x65\x3b\x65\x37\x65\x3c\xab\x05\x00\x00\x00\x00\x00\x00\x5a\x3d\x02\x00\x47\x00\x64\x2c\x84\x00\x64\x2d\x65\x02\xac\x13\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x3e\x02\x00\x47\x00\x64\x2e\x84\x00\x64\x2f\x65\x08\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x3f\x64\x30\x84\x00\x5a\x40\x64\x31\x84\x00\x5a\x41\x02\x00\x47\x00\x64\x32\x84\x00\x64\x33\x65\x02\xac\x13\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x42\x02\x00\x47\x00\x64\x34\x84\x00\x64\x35\x65\x3d\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x43\x65\x43\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x44\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x36\x84\x00\x64\x37\x65\x43\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x45\x65\x45\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1e\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x38\x84\x00\x64\x39\x65\x3d\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x46\x65\x46\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x28\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x3a\x84\x00\x64\x3b\x65\x3b\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x47\x02\x00\x47\x00\x64\x3c\x84\x00\x64\x3d\x65\x47\x65\x43\xab\x04\x00\x00\x00\x00\x00\x00\x5a\x48\x65\x48\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x24\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x3e\x84\x00\x64\x3f\x65\x47\x65\x43\xab\x04\x00\x00\x00\x00\x00\x00\x5a\x49\x65\x49\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x26\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x40\x84\x00\x64\x41\x65\x47\x65\x3d\xab\x04\x00\x00\x00\x00\x00\x00\x5a\x4a\x65\x4a\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x25\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x42\x84\x00\x64\x43\x65\x46\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x4b\x65\x4b\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x4c\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x44\x84\x00\x64\x45\x65\x39\x65\x3d\xab\x04\x00\x00\x00\x00\x00\x00\x5a\x4d\x65\x4d\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x4e\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x4d\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x4f\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x4d\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1b\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x4d\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x50\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x46\x84\x00\x64\x47\x65\x02\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x51\x02\x00\x47\x00\x64\x48\x84\x00\x64\x49\x65\x4d\x65\x51\xac\x13\xab\x04\x00\x00\x00\x00\x00\x00\x5a\x52\x65\x52\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x53\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x52\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x10\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x47\x00\x64\x4a\x84\x00\x64\x4b\x65\x4d\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x54\x65\x54\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x06\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x54\x6a\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x10\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x03", ._co_firsttraceable = 0, }; -static void _collections_abc_do_patchups(void) { -} PyObject * _Py_get__collections_abc_toplevel(void) { - _collections_abc_do_patchups(); return Py_NewRef((PyObject *) &_collections_abc_toplevel); } @@ -93320,7 +91258,7 @@ static _sitebuiltins_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 61, @@ -93329,7 +91267,7 @@ _sitebuiltins_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x54\x68\x65\x20\x6f\x62\x6a\x65\x63\x74\x73\x20\x75\x73\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x73\x69\x74\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x74\x6f\x20\x61\x64\x64\x20\x63\x75\x73\x74\x6f\x6d\x20\x62\x75\x69\x6c\x74\x69\x6e\x73\x2e\x0a", @@ -93342,7 +91280,7 @@ static const_str_Quitter = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -93351,7 +91289,7 @@ const_str_Quitter = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Quitter", @@ -93364,7 +91302,7 @@ static const_str_eof = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -93373,7 +91311,7 @@ const_str_eof = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "eof", @@ -93390,7 +91328,7 @@ _sitebuiltins_toplevel_consts_3_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -93409,7 +91347,7 @@ static _sitebuiltins_toplevel_consts_3_consts_1_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -93418,7 +91356,7 @@ _sitebuiltins_toplevel_consts_3_consts_1_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -93431,7 +91369,7 @@ static _sitebuiltins_toplevel_consts_3_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -93440,7 +91378,7 @@ _sitebuiltins_toplevel_consts_3_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Quitter.__init__", @@ -93449,18 +91387,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[21]; + char ob_sval[17]; } _sitebuiltins_toplevel_consts_3_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 20, + .ob_size = 16, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x14\x18\x88\x04\x8c\x09\xd8\x13\x16\x88\x04\x8c\x08\x88\x08\x88\x08", + .ob_sval = "\x80\x00\xd8\x14\x18\x88\x04\x8c\x09\xd8\x13\x16\x88\x04\x8d\x08", }; static struct { @@ -93474,53 +91412,51 @@ _sitebuiltins_toplevel_consts_3_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(name), & const_str_eof._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(34) + struct _PyCode_DEF(32) _sitebuiltins_toplevel_consts_3_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 16, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & _sitebuiltins_toplevel_consts_3_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 14, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 520, .co_localsplusnames = & _sitebuiltins_toplevel_consts_3_consts_1_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), .co_qualname = & _sitebuiltins_toplevel_consts_3_consts_1_qualname._ascii.ob_base, .co_linetable = & _sitebuiltins_toplevel_consts_3_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -93531,7 +91467,7 @@ static _sitebuiltins_toplevel_consts_3_consts_2_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -93540,7 +91476,7 @@ _sitebuiltins_toplevel_consts_3_consts_2_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Use ", @@ -93553,7 +91489,7 @@ static _sitebuiltins_toplevel_consts_3_consts_2_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -93562,7 +91498,7 @@ _sitebuiltins_toplevel_consts_3_consts_2_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "() or ", @@ -93575,7 +91511,7 @@ static _sitebuiltins_toplevel_consts_3_consts_2_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -93584,7 +91520,7 @@ _sitebuiltins_toplevel_consts_3_consts_2_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = " to exit", @@ -93601,7 +91537,7 @@ _sitebuiltins_toplevel_consts_3_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -93622,7 +91558,7 @@ static _sitebuiltins_toplevel_consts_3_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -93631,7 +91567,7 @@ _sitebuiltins_toplevel_consts_3_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Quitter.__repr__", @@ -93640,54 +91576,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[28]; + char ob_sval[22]; } _sitebuiltins_toplevel_consts_3_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 27, + .ob_size = 21, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\xd8\x2b\x2f\xac\x39\xa8\x39\xa8\x39\xb0\x64\xb4\x68\xb0\x68\xb0\x68\xd0\x0f\x3f\xd0\x08\x3f", + .ob_sval = "\x81\x00\xd8\x2b\x2f\xaf\x39\xab\x39\xb0\x64\xb7\x68\xb3\x68\xd0\x0f\x3f\xd0\x08\x3f", }; static - struct _PyCode_DEF(40) + struct _PyCode_DEF(60) _sitebuiltins_toplevel_consts_3_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 20, + .ob_size = 30, }, .co_consts = & _sitebuiltins_toplevel_consts_3_consts_2_consts._object.ob_base.ob_base, .co_names = & _sitebuiltins_toplevel_consts_3_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 17, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 521, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__repr__), .co_qualname = & _sitebuiltins_toplevel_consts_3_consts_2_qualname._ascii.ob_base, .co_linetable = & _sitebuiltins_toplevel_consts_3_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x64\x02\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x64\x03\x9d\x05\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x64\x02\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x64\x03\x9d\x05\x53\x00", ._co_firsttraceable = 0, }; static @@ -93698,7 +91632,7 @@ static const_str_SystemExit = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -93707,7 +91641,7 @@ const_str_SystemExit = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "SystemExit", @@ -93724,7 +91658,7 @@ _sitebuiltins_toplevel_consts_3_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -93745,7 +91679,7 @@ static _sitebuiltins_toplevel_consts_3_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -93754,7 +91688,7 @@ _sitebuiltins_toplevel_consts_3_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Quitter.__call__", @@ -93763,18 +91697,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[57]; + char ob_sval[56]; } _sitebuiltins_toplevel_consts_3_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 56, + .ob_size = 55, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x06\x03\x09\x11\xdd\x0c\x0f\x8c\x49\x8f\x4f\x8a\x4f\xd1\x0c\x1d\xd4\x0c\x1d\xd0\x0c\x1d\xd0\x0c\x1d\xf8\xf0\x02\x01\x09\x11\xd8\x0c\x10\x88\x44\xf8\xf8\xf8\xdd\x0e\x18\x98\x14\xd1\x0e\x1e\xd4\x0e\x1e\xd0\x08\x1e", + .ob_sval = "\x80\x00\xf0\x06\x03\x09\x11\xdc\x0c\x0f\x8f\x49\x89\x49\x8f\x4f\x89\x4f\xd4\x0c\x1d\xf4\x06\x00\x0f\x19\x98\x14\xd3\x0e\x1e\xd0\x08\x1e\xf8\xf0\x05\x01\x09\x11\xd8\x0c\x10\xdc\x0e\x18\x98\x14\xd3\x0e\x1e\xd0\x08\x1e\xfa", }; static struct { @@ -93785,13 +91719,13 @@ static _sitebuiltins_toplevel_consts_3_consts_4_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 8, }, .ob_shash = -1, - .ob_sval = "\x82\x1e\x21\x00\xa1\x02\x25\x03", + .ob_sval = "\x82\x1e\x2b\x00\xab\x02\x39\x03", }; static struct { @@ -93805,52 +91739,50 @@ _sitebuiltins_toplevel_consts_3_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(code), }, }, }; static - struct _PyCode_DEF(110) + struct _PyCode_DEF(120) _sitebuiltins_toplevel_consts_3_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 55, + .ob_size = 60, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & _sitebuiltins_toplevel_consts_3_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = & _sitebuiltins_toplevel_consts_3_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 19, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 522, .co_localsplusnames = & _sitebuiltins_toplevel_consts_3_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__call__), .co_qualname = & _sitebuiltins_toplevel_consts_3_consts_4_qualname._ascii.ob_base, .co_linetable = & _sitebuiltins_toplevel_consts_3_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x07\x23\x00\x01\x00\x59\x00\x6e\x03\x78\x03\x59\x00\x77\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x23\x00\x01\x00\x59\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -93865,7 +91797,7 @@ _sitebuiltins_toplevel_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -93892,7 +91824,7 @@ _sitebuiltins_toplevel_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -93911,54 +91843,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[74]; + char ob_sval[19]; } _sitebuiltins_toplevel_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 73, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x02\x05\x17\xf0\x00\x02\x05\x17\xf0\x00\x02\x05\x17\xf0\x06\x01\x05\x40\x01\xf0\x00\x01\x05\x40\x01\xf0\x00\x01\x05\x40\x01\xf0\x04\x07\x05\x1f\xf0\x00\x07\x05\x1f\xf0\x00\x07\x05\x1f\xf0\x00\x07\x05\x1f\xf0\x00\x07\x05\x1f\xf0\x00\x07\x05\x1f", + .ob_sval = "\x84\x00\xf2\x02\x02\x05\x17\xf2\x06\x01\x05\x40\x01\xf4\x04\x07\x05\x1f", }; static - struct _PyCode_DEF(34) + struct _PyCode_DEF(32) _sitebuiltins_toplevel_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 16, }, .co_consts = & _sitebuiltins_toplevel_consts_3_consts._object.ob_base.ob_base, .co_names = & _sitebuiltins_toplevel_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 13, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 523, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = & const_str_Quitter._ascii.ob_base, .co_qualname = & const_str_Quitter._ascii.ob_base, .co_linetable = & _sitebuiltins_toplevel_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x05\x64\x04\x84\x01\x5a\x05\x64\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x05\x64\x04\x84\x01\x5a\x05\x79\x03", ._co_firsttraceable = 0, }; static @@ -93969,7 +91899,7 @@ static const_str__Printer = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -93978,7 +91908,7 @@ const_str__Printer = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer", @@ -93991,7 +91921,7 @@ static _sitebuiltins_toplevel_consts_5_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 110, @@ -94000,95 +91930,11 @@ _sitebuiltins_toplevel_consts_5_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x69\x6e\x74\x65\x72\x61\x63\x74\x69\x76\x65\x20\x70\x72\x6f\x6d\x70\x74\x20\x6f\x62\x6a\x65\x63\x74\x73\x20\x66\x6f\x72\x20\x70\x72\x69\x6e\x74\x69\x6e\x67\x20\x74\x68\x65\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x65\x78\x74\x2c\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x0a\x20\x20\x20\x20\x63\x6f\x6e\x74\x72\x69\x62\x75\x74\x6f\x72\x73\x20\x61\x6e\x64\x20\x74\x68\x65\x20\x63\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x6e\x6f\x74\x69\x63\x65\x2e", }; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -_sitebuiltins_toplevel_consts_5_consts_4_consts_2_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - &_Py_ID(path), - &_Py_ID(join), - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[38]; - } -_sitebuiltins_toplevel_consts_5_consts_4_consts_2_qualname = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 37, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "_Printer.__init__..", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[79]; - } -_sitebuiltins_toplevel_consts_5_consts_4_consts_2_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 78, - }, - .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf0\x00\x02\x1c\x33\xf0\x00\x02\x1c\x33\xf0\x00\x02\x1c\x33\xd8\x20\x23\xd8\x2c\x31\xf0\x05\x02\x1c\x33\xf0\x00\x02\x1c\x33\xe0\x20\x28\xf0\x05\x00\x1d\x1f\x9c\x47\x9f\x4c\x9a\x4c\xa8\x13\xa8\x68\xd1\x1c\x37\xd4\x1c\x37\xf0\x00\x02\x1c\x33\xf0\x00\x02\x1c\x33\xf0\x00\x02\x1c\x33\xf0\x00\x02\x1c\x33", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[4]; - } -const_str_dir = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 3, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "dir", -}; static struct { PyASCIIObject _ascii; @@ -94097,7 +91943,7 @@ static const_str_os = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -94106,115 +91952,11 @@ const_str_os = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "os", }; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[5]; - }_object; - } -_sitebuiltins_toplevel_consts_5_consts_4_consts_2_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 5, - }, - .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_dir._ascii.ob_base, - &_Py_ID(filename), - & const_str_files._ascii.ob_base, - & const_str_os._ascii.ob_base, - }, - }, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[6]; - } -_sitebuiltins_toplevel_consts_5_consts_4_consts_2_localspluskinds = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 5, - }, - .ob_shash = -1, - .ob_sval = "\x20\x20\x20\x80\x80", -}; -static - struct _PyCode_DEF(80) -_sitebuiltins_toplevel_consts_5_consts_4_consts_2 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 40, - }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = & _sitebuiltins_toplevel_consts_5_consts_4_consts_2_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 7, - .co_firstlineno = 40, - .co_nlocalsplus = 5, - .co_nlocals = 3, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 2, - .co_localsplusnames = & _sitebuiltins_toplevel_consts_5_consts_4_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & _sitebuiltins_toplevel_consts_5_consts_4_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & _sitebuiltins_toplevel_consts_5_consts_4_consts_2_qualname._ascii.ob_base, - .co_linetable = & _sitebuiltins_toplevel_consts_5_consts_4_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x02\x97\x00\x67\x00\x7c\x00\x5d\x22\x7d\x01\x89\x03\x44\x00\x5d\x1d\x7d\x02\x89\x04\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x91\x03\x8c\x1e\x8c\x23\x53\x00", - ._co_firsttraceable = 1, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[3]; - }_object; - } -_sitebuiltins_toplevel_consts_5_consts_4_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 3, - }, - .ob_item = { - Py_None, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & _sitebuiltins_toplevel_consts_5_consts_4_consts_2.ob_base.ob_base, - }, - }, -}; static struct { PyASCIIObject _ascii; @@ -94223,7 +91965,7 @@ static const_str__Printer__name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -94232,7 +91974,7 @@ const_str__Printer__name = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer__name", @@ -94245,7 +91987,7 @@ static const_str__Printer__data = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -94254,7 +91996,7 @@ const_str__Printer__data = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer__data", @@ -94267,7 +92009,7 @@ static const_str__Printer__lines = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -94276,7 +92018,7 @@ const_str__Printer__lines = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer__lines", @@ -94289,7 +92031,7 @@ static const_str__Printer__filenames = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -94298,7 +92040,7 @@ const_str__Printer__filenames = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer__filenames", @@ -94308,23 +92050,25 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[5]; + PyObject *ob_item[7]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_4_names = { +_sitebuiltins_toplevel_consts_5_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 5, + .ob_size = 7, }, .ob_item = { & const_str_os._ascii.ob_base, & const_str__Printer__name._ascii.ob_base, & const_str__Printer__data._ascii.ob_base, & const_str__Printer__lines._ascii.ob_base, + &_Py_ID(path), + &_Py_ID(join), & const_str__Printer__filenames._ascii.ob_base, }, }, @@ -94334,10 +92078,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -_sitebuiltins_toplevel_consts_5_consts_4_qualname = { +_sitebuiltins_toplevel_consts_5_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -94346,7 +92090,7 @@ _sitebuiltins_toplevel_consts_5_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer.__init__", @@ -94355,18 +92099,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[89]; + char ob_sval[93]; } -_sitebuiltins_toplevel_consts_5_consts_4_linetable = { +_sitebuiltins_toplevel_consts_5_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 88, + .ob_size = 92, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xdb\x08\x11\xd8\x16\x1a\x88\x04\x8c\x0b\xd8\x16\x1a\x88\x04\x8c\x0b\xd8\x17\x1b\x88\x04\x8c\x0c\xe0\x27\x2b\xf7\x03\x02\x1c\x33\xd8\x20\x23\xd8\x2c\x31\xf2\x05\x02\x1c\x33\xe0\x20\x28\xf0\x05\x00\x1d\x1f\x9f\x47\x99\x47\x9f\x4c\x99\x4c\xa8\x13\xa8\x68\xd5\x1c\x37\xf0\x00\x02\x1c\x33\xd0\x1c\x37\xf3\x00\x02\x1c\x33\x88\x04\xd5\x08\x18\xf9\xf3\x00\x02\x1c\x33", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[6]; + } +_sitebuiltins_toplevel_consts_5_consts_3_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = "\xf8\xf8\x80\x00\xd8\x08\x11\x88\x09\x88\x09\x88\x09\xd8\x16\x1a\x88\x04\x8c\x0b\xd8\x16\x1a\x88\x04\x8c\x0b\xd8\x17\x1b\x88\x04\x8c\x0c\xf0\x02\x02\x1c\x33\xf0\x00\x02\x1c\x33\xf0\x00\x02\x1c\x33\xf0\x00\x02\x1c\x33\xf0\x00\x02\x1c\x33\xd8\x27\x2b\xf0\x03\x02\x1c\x33\xf1\x00\x02\x1c\x33\xf4\x00\x02\x1c\x33\x88\x04\xd4\x08\x18\xd0\x08\x18\xd0\x08\x18", + .ob_sval = "\x9f\x2a\x41\x13\x06", }; static struct { @@ -94376,7 +92137,7 @@ static const_str_dirs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -94385,113 +92146,96 @@ const_str_dirs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dirs", }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[4]; + } +const_str_dir = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 3, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "dir", +}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[6]; + PyObject *ob_item[8]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_4_localsplusnames = { +_sitebuiltins_toplevel_consts_5_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 6, + .ob_size = 8, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(name), - & const_str_data._ascii.ob_base, + &_Py_ID(data), & const_str_files._ascii.ob_base, & const_str_dirs._ascii.ob_base, & const_str_os._ascii.ob_base, + & const_str_dir._ascii.ob_base, + &_Py_ID(filename), }, }, }; static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[7]; - } -_sitebuiltins_toplevel_consts_5_consts_4_localspluskinds = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 6, - }, - .ob_shash = -1, - .ob_sval = " ` @", -}; -static - struct _PyCode_DEF(100) -_sitebuiltins_toplevel_consts_5_consts_4 = { + struct _PyCode_DEF(178) +_sitebuiltins_toplevel_consts_5_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 50, + .ob_size = 89, }, - .co_consts = & _sitebuiltins_toplevel_consts_5_consts_4_consts._object.ob_base.ob_base, - .co_names = & _sitebuiltins_toplevel_consts_5_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, + .co_names = & _sitebuiltins_toplevel_consts_5_consts_3_names._object.ob_base.ob_base, + .co_exceptiontable = & _sitebuiltins_toplevel_consts_5_consts_3_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 5, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 2, + .co_framesize = 17 + FRAME_SPECIALS_SIZE, + .co_stacksize = 9, .co_firstlineno = 35, - .co_nlocalsplus = 6, - .co_nlocals = 5, - .co_nplaincellvars = 1, - .co_ncellvars = 2, + .co_nlocalsplus = 8, + .co_nlocals = 8, + .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _sitebuiltins_toplevel_consts_5_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & _sitebuiltins_toplevel_consts_5_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 524, + .co_localsplusnames = & _sitebuiltins_toplevel_consts_5_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_13_localspluskinds.ob_base.ob_base, .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & _sitebuiltins_toplevel_consts_5_consts_4_qualname._ascii.ob_base, - .co_linetable = & _sitebuiltins_toplevel_consts_5_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x03\x87\x05\x97\x00\x64\x01\x64\x00\x6c\x00\x8a\x05\x7c\x01\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x88\x05\x66\x02\x64\x02\x84\x08\x7c\x04\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", - ._co_firsttraceable = 2, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -_sitebuiltins_toplevel_consts_5_consts_5_consts_3 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "\x0a", + .co_qualname = & _sitebuiltins_toplevel_consts_5_consts_3_qualname._ascii.ob_base, + .co_linetable = & _sitebuiltins_toplevel_consts_5_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x64\x00\x6c\x00\x7d\x05\x7c\x01\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x44\x00\x8f\x06\x8f\x07\x63\x03\x67\x00\x63\x02\x5d\x25\x00\x00\x7d\x06\x7c\x03\x44\x00\x5d\x1e\x00\x00\x7d\x07\x7c\x05\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7c\x07\xab\x02\x00\x00\x00\x00\x00\x00\x91\x03\x8c\x20\x04\x00\x8c\x27\x04\x00\x63\x03\x7d\x07\x7d\x06\x7c\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x63\x02\x01\x00\x63\x03\x7d\x07\x7d\x06\x77\x00", + ._co_firsttraceable = 0, }; static struct { @@ -94501,11 +92245,11 @@ static PyObject *ob_item[4]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_5_consts = { +_sitebuiltins_toplevel_consts_5_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -94513,8 +92257,8 @@ _sitebuiltins_toplevel_consts_5_consts_5_consts = { .ob_item = { Py_None, &_Py_STR(utf_8), - & codecs_toplevel_consts_37_localsplusnames._object.ob_base.ob_base, - & _sitebuiltins_toplevel_consts_5_consts_5_consts_3._ascii.ob_base, + & codecs_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[10], }, }, }; @@ -94526,7 +92270,7 @@ static const_str_split = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -94535,7 +92279,7 @@ const_str_split = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "split", @@ -94548,7 +92292,7 @@ static const_str__Printer__linecnt = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -94557,7 +92301,7 @@ const_str__Printer__linecnt = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer__linecnt", @@ -94570,11 +92314,11 @@ static PyObject *ob_item[9]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_5_names = { +_sitebuiltins_toplevel_consts_5_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -94600,7 +92344,7 @@ static const_str___setup = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -94609,7 +92353,7 @@ const_str___setup = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "__setup", @@ -94619,10 +92363,10 @@ static PyASCIIObject _ascii; uint8_t _data[17]; } -_sitebuiltins_toplevel_consts_5_consts_5_qualname = { +_sitebuiltins_toplevel_consts_5_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -94631,7 +92375,7 @@ _sitebuiltins_toplevel_consts_5_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer.__setup", @@ -94640,35 +92384,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[252]; + char ob_sval[156]; } -_sitebuiltins_toplevel_consts_5_consts_5_linetable = { +_sitebuiltins_toplevel_consts_5_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 251, + .ob_size = 155, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0b\x0f\x8c\x3c\xf0\x00\x01\x09\x13\xd8\x0c\x12\x88\x46\xd8\x0f\x13\x88\x04\xd8\x18\x1c\xd4\x18\x28\xf0\x00\x06\x09\x15\xf0\x00\x06\x09\x15\x88\x48\xf0\x02\x05\x0d\x15\xdd\x15\x19\x98\x28\xa8\x57\xd0\x15\x35\xd1\x15\x35\xd4\x15\x35\xf0\x00\x01\x11\x25\xb8\x12\xd8\x1b\x1d\x9f\x37\x9a\x37\x99\x39\x9c\x39\x90\x44\xf0\x03\x01\x11\x25\xf0\x00\x01\x11\x25\xf0\x00\x01\x11\x25\xf1\x00\x01\x11\x25\xf4\x00\x01\x11\x25\xf0\x00\x01\x11\x25\xf0\x00\x01\x11\x25\xf0\x00\x01\x11\x25\xf0\x00\x01\x11\x25\xf0\x00\x01\x11\x25\xf0\x00\x01\x11\x25\xf8\xf8\xf8\xf0\x00\x01\x11\x25\xf0\x00\x01\x11\x25\xf0\x00\x01\x11\x25\xf0\x00\x01\x11\x25\xe0\x10\x15\x90\x05\xf8\xdd\x13\x1a\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xd8\x10\x14\x90\x04\xf0\x03\x01\x0d\x15\xf8\xf8\xf8\xe0\x0f\x13\xf0\x00\x01\x09\x1f\xd8\x13\x17\x94\x3b\x88\x44\xd8\x17\x1b\x97\x7a\x92\x7a\xa0\x24\xd1\x17\x27\xd4\x17\x27\x88\x04\x8c\x0c\xdd\x19\x1c\x98\x54\x9c\x5c\xd1\x19\x2a\xd4\x19\x2a\x88\x04\x8c\x0e\x88\x0e\x88\x0e", + .ob_sval = "\x80\x00\xd8\x0b\x0f\x8f\x3c\x8a\x3c\xd8\x0c\x12\xd8\x0f\x13\x88\x04\xd8\x18\x1c\xd7\x18\x28\xd1\x18\x28\xf2\x00\x06\x09\x15\x88\x48\xf0\x02\x05\x0d\x15\xdc\x15\x19\x98\x28\xa8\x57\xd4\x15\x35\xf0\x00\x01\x11\x25\xb8\x12\xd8\x1b\x1d\x9f\x37\x99\x37\x9b\x39\x90\x44\xf7\x03\x01\x11\x25\xe1\x10\x15\xf0\x09\x06\x09\x15\xf1\x0e\x00\x10\x14\xd8\x13\x17\x97\x3b\x91\x3b\x88\x44\xd8\x17\x1b\x97\x7a\x91\x7a\xa0\x24\xd3\x17\x27\x88\x04\x8c\x0c\xdc\x19\x1c\x98\x54\x9f\x5c\x99\x5c\xd3\x19\x2a\x88\x04\x8d\x0e\xf7\x11\x01\x11\x25\xf0\x00\x01\x11\x25\xfb\xf4\x06\x00\x14\x1b\xf2\x00\x01\x0d\x15\xd9\x10\x14\xf0\x03\x01\x0d\x15\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[52]; + char ob_sval[40]; } -_sitebuiltins_toplevel_consts_5_consts_5_exceptiontable = { +_sitebuiltins_toplevel_consts_5_consts_4_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 51, + .ob_size = 39, }, .ob_shash = -1, - .ob_sval = "\x96\x11\x41\x15\x02\xa7\x15\x41\x08\x05\xbc\x0c\x41\x15\x02\xc1\x08\x04\x41\x0c\x09\xc1\x0c\x03\x41\x15\x02\xc1\x0f\x01\x41\x0c\x09\xc1\x10\x03\x41\x15\x02\xc1\x15\x0a\x41\x22\x05\xc1\x21\x01\x41\x22\x05", + .ob_sval = "\xa0\x0d\x42\x14\x02\xad\x11\x42\x08\x05\xbe\x08\x42\x14\x02\xc2\x08\x05\x42\x11\x09\xc2\x0d\x07\x42\x14\x02\xc2\x14\x09\x42\x20\x05\xc2\x1f\x01\x42\x20\x05", }; static struct { @@ -94678,18 +92422,18 @@ static PyObject *ob_item[4]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_5_localsplusnames = { +_sitebuiltins_toplevel_consts_5_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(data), &_Py_ID(filename), & const_str_fp._ascii.ob_base, }, @@ -94697,39 +92441,37 @@ _sitebuiltins_toplevel_consts_5_consts_5_localsplusnames = { }; static struct _PyCode_DEF(326) -_sitebuiltins_toplevel_consts_5_consts_5 = { +_sitebuiltins_toplevel_consts_5_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 163, }, - .co_consts = & _sitebuiltins_toplevel_consts_5_consts_5_consts._object.ob_base.ob_base, - .co_names = & _sitebuiltins_toplevel_consts_5_consts_5_names._object.ob_base.ob_base, - .co_exceptiontable = & _sitebuiltins_toplevel_consts_5_consts_5_exceptiontable.ob_base.ob_base, + .co_consts = & _sitebuiltins_toplevel_consts_5_consts_4_consts._object.ob_base.ob_base, + .co_names = & _sitebuiltins_toplevel_consts_5_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = & _sitebuiltins_toplevel_consts_5_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, .co_firstlineno = 44, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _sitebuiltins_toplevel_consts_5_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 525, + .co_localsplusnames = & _sitebuiltins_toplevel_consts_5_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = & const_str___setup._ascii.ob_base, - .co_qualname = & _sitebuiltins_toplevel_consts_5_consts_5_qualname._ascii.ob_base, - .co_linetable = & _sitebuiltins_toplevel_consts_5_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x64\x00\x53\x00\x64\x00\x7d\x01\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x51\x7d\x02\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x01\xac\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x03\x7c\x03\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x64\x00\x64\x00\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x01\x00\x6e\x10\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x4e\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x01\x73\x07\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & _sitebuiltins_toplevel_consts_5_consts_4_qualname._ascii.ob_base, + .co_linetable = & _sitebuiltins_toplevel_consts_5_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x01\x79\x00\x64\x00\x7d\x01\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x2a\x00\x00\x7d\x02\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x01\xac\x02\xab\x02\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x03\x7c\x03\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x64\x00\x64\x00\x64\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x6e\x01\x04\x00\x7c\x01\x73\x0c\x7c\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x8c\x4b\x78\x03\x59\x00\x77\x01\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x83\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -94737,10 +92479,10 @@ static PyASCIIObject _ascii; uint8_t _data[34]; } -_sitebuiltins_toplevel_consts_5_consts_6_consts_2 = { +_sitebuiltins_toplevel_consts_5_consts_5_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 33, @@ -94749,7 +92491,7 @@ _sitebuiltins_toplevel_consts_5_consts_6_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Type %s() to see the full %s text", @@ -94762,19 +92504,19 @@ static PyObject *ob_item[4]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_6_consts = { +_sitebuiltins_toplevel_consts_5_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { Py_None, - & _sitebuiltins_toplevel_consts_5_consts_5_consts_3._ascii.ob_base, - & _sitebuiltins_toplevel_consts_5_consts_6_consts_2._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[10], + & _sitebuiltins_toplevel_consts_5_consts_5_consts_2._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], }, }, @@ -94787,7 +92529,7 @@ static const_str__Printer__setup = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -94796,7 +92538,7 @@ const_str__Printer__setup = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer__setup", @@ -94809,7 +92551,7 @@ static const_str_MAXLINES = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -94818,7 +92560,7 @@ const_str_MAXLINES = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MAXLINES", @@ -94831,11 +92573,11 @@ static PyObject *ob_item[6]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_6_names = { +_sitebuiltins_toplevel_consts_5_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -94855,10 +92597,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -_sitebuiltins_toplevel_consts_5_consts_6_qualname = { +_sitebuiltins_toplevel_consts_5_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -94867,7 +92609,7 @@ _sitebuiltins_toplevel_consts_5_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer.__repr__", @@ -94876,54 +92618,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[79]; + char ob_sval[74]; } -_sitebuiltins_toplevel_consts_5_consts_6_linetable = { +_sitebuiltins_toplevel_consts_5_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 78, + .ob_size = 73, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0c\x8a\x0c\x89\x0e\x8c\x0e\x88\x0e\xdd\x0b\x0e\x88\x74\x8c\x7c\xd1\x0b\x1c\xd4\x0b\x1c\xa0\x04\xa4\x0d\xd2\x0b\x2d\xd0\x0b\x2d\xd8\x13\x17\x97\x39\x92\x39\x98\x54\x9c\x5c\xd1\x13\x2a\xd4\x13\x2a\xd0\x0c\x2a\xe0\x13\x36\xb8\x34\xbc\x3b\xb8\x2e\xc8\x11\xd1\x3a\x4a\xd1\x13\x4b\xd0\x0c\x4b", + .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0c\x89\x0c\x8c\x0e\xdc\x0b\x0e\x88\x74\x8f\x7c\x89\x7c\xd3\x0b\x1c\xa0\x04\xa7\x0d\xa1\x0d\xd2\x0b\x2d\xd8\x13\x17\x97\x39\x91\x39\x98\x54\x9f\x5c\x99\x5c\xd3\x13\x2a\xd0\x0c\x2a\xe0\x13\x36\xb8\x34\xbf\x3b\xb9\x3b\xb8\x2e\xc8\x11\xd1\x3a\x4a\xd1\x13\x4b\xd0\x0c\x4b", }; static - struct _PyCode_DEF(180) -_sitebuiltins_toplevel_consts_5_consts_6 = { + struct _PyCode_DEF(194) +_sitebuiltins_toplevel_consts_5_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 90, + .ob_size = 97, }, - .co_consts = & _sitebuiltins_toplevel_consts_5_consts_6_consts._object.ob_base.ob_base, - .co_names = & _sitebuiltins_toplevel_consts_5_consts_6_names._object.ob_base.ob_base, + .co_consts = & _sitebuiltins_toplevel_consts_5_consts_5_consts._object.ob_base.ob_base, + .co_names = & _sitebuiltins_toplevel_consts_5_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 60, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 526, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__repr__), - .co_qualname = & _sitebuiltins_toplevel_consts_5_consts_6_qualname._ascii.ob_base, - .co_linetable = & _sitebuiltins_toplevel_consts_5_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x01\x00\x00\x00\x00\x72\x1a\x64\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x64\x02\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x66\x01\x64\x03\x7a\x05\x00\x00\x7a\x06\x00\x00\x53\x00", + .co_qualname = & _sitebuiltins_toplevel_consts_5_consts_5_qualname._ascii.ob_base, + .co_linetable = & _sitebuiltins_toplevel_consts_5_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x1a\x00\x00\x72\x1b\x64\x01\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x64\x02\x7c\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x01\x64\x03\x7a\x05\x00\x00\x7a\x06\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -94931,10 +92671,10 @@ static PyASCIIObject _ascii; uint8_t _data[49]; } -_sitebuiltins_toplevel_consts_5_consts_7_consts_1 = { +_sitebuiltins_toplevel_consts_5_consts_6_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 48, @@ -94943,33 +92683,11 @@ _sitebuiltins_toplevel_consts_5_consts_7_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Hit Return for more, or q (and Return) to quit: ", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_q = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "q", -}; static struct { PyGC_Head _gc_head; @@ -94978,18 +92696,18 @@ static PyObject *ob_item[2]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_7_consts_4 = { +_sitebuiltins_toplevel_consts_5_consts_6_consts_3 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { &_Py_STR(empty), - & const_str_q._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[113], }, }, }; @@ -94998,25 +92716,24 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[6]; + PyObject *ob_item[5]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_7_consts = { +_sitebuiltins_toplevel_consts_5_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 6, + .ob_size = 5, }, .ob_item = { Py_None, - & _sitebuiltins_toplevel_consts_5_consts_7_consts_1._ascii.ob_base, + & _sitebuiltins_toplevel_consts_5_consts_6_consts_1._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], - & _sitebuiltins_toplevel_consts_5_consts_7_consts_4._object.ob_base.ob_base, - & const_str_q._ascii.ob_base, + & _sitebuiltins_toplevel_consts_5_consts_6_consts_3._object.ob_base.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[113], }, }, }; @@ -95028,11 +92745,11 @@ static PyObject *ob_item[7]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_7_names = { +_sitebuiltins_toplevel_consts_5_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -95043,7 +92760,7 @@ _sitebuiltins_toplevel_consts_5_consts_7_names = { & const_str_MAXLINES._ascii.ob_base, & const_str_print._ascii.ob_base, & const_str__Printer__lines._ascii.ob_base, - & const_str_input._ascii.ob_base, + &_Py_ID(input), & const_str_IndexError._ascii.ob_base, }, }, @@ -95053,10 +92770,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -_sitebuiltins_toplevel_consts_5_consts_7_qualname = { +_sitebuiltins_toplevel_consts_5_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -95065,7 +92782,7 @@ _sitebuiltins_toplevel_consts_5_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Printer.__call__", @@ -95074,18 +92791,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[216]; + char ob_sval[169]; } -_sitebuiltins_toplevel_consts_5_consts_7_linetable = { +_sitebuiltins_toplevel_consts_5_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 215, + .ob_size = 168, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0c\x8a\x0c\x89\x0e\x8c\x0e\x88\x0e\xd8\x11\x43\x88\x06\xd8\x11\x12\x88\x06\xf0\x02\x0e\x09\x1a\xf0\x02\x0d\x0d\x1a\xdd\x19\x1e\x98\x76\xa0\x76\xb0\x04\xb4\x0d\xd1\x27\x3d\xd1\x19\x3e\xd4\x19\x3e\xf0\x00\x01\x11\x2b\xf0\x00\x01\x11\x2b\x90\x41\xdd\x14\x19\x98\x24\x9c\x2c\xa0\x71\x9c\x2f\xd1\x14\x2a\xd4\x14\x2a\xd0\x14\x2a\xd0\x14\x2a\xf0\x03\x01\x11\x2b\xf0\x0a\x00\x11\x17\x98\x24\x9c\x2d\xd1\x10\x27\x90\x06\xd8\x16\x1a\x90\x03\xd8\x16\x19\x90\x6b\xdd\x1a\x1f\xa0\x06\x99\x2d\x9c\x2d\x90\x43\xd8\x17\x1a\xa0\x29\xd0\x17\x2b\xd0\x17\x2b\xd8\x1e\x22\x98\x03\xf0\x07\x00\x17\x1a\x90\x6b\xf0\x08\x00\x14\x17\x98\x23\x92\x3a\x90\x3a\xd8\x14\x19\x90\x45\xf0\x03\x00\x14\x1e\xf8\xf5\x13\x00\x14\x1e\xf0\x00\x01\x0d\x16\xf0\x00\x01\x0d\x16\xf0\x00\x01\x0d\x16\xd8\x10\x15\x90\x05\x90\x05\xf0\x03\x01\x0d\x16\xf8\xf8\xf8\xf0\x09\x0e\x09\x1a", + .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0c\x89\x0c\x8c\x0e\xd8\x11\x43\x88\x06\xd8\x11\x12\x88\x06\xd8\x0e\x0f\xf0\x02\x0d\x0d\x1a\xdc\x19\x1e\x98\x76\xa0\x76\xb0\x04\xb7\x0d\xb1\x0d\xd1\x27\x3d\xd3\x19\x3e\xf2\x00\x01\x11\x2b\x90\x41\xdc\x14\x19\x98\x24\x9f\x2c\x99\x2c\xa0\x71\x99\x2f\xd5\x14\x2a\xf1\x03\x01\x11\x2b\xf0\x0a\x00\x11\x17\x98\x24\x9f\x2d\x99\x2d\xd1\x10\x27\x90\x06\xd8\x16\x1a\x90\x03\xd8\x16\x19\x90\x6b\xdc\x1a\x1f\xa0\x06\x9b\x2d\x90\x43\xd8\x17\x1a\xa0\x29\xd1\x17\x2b\xd8\x1e\x22\x98\x03\xf0\x07\x00\x17\x1a\x91\x6b\xf0\x08\x00\x14\x17\x98\x23\x92\x3a\xd8\x14\x19\xf0\x1d\x00\x0f\x10\xf8\xf4\x08\x00\x14\x1e\xf2\x00\x01\x0d\x16\xd9\x10\x15\xf0\x03\x01\x0d\x16\xfa", }; static struct { @@ -95093,16 +92810,16 @@ static Py_hash_t ob_shash; char ob_sval[18]; } -_sitebuiltins_toplevel_consts_5_consts_7_exceptiontable = { +_sitebuiltins_toplevel_consts_5_consts_6_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x9b\x35\x41\x3f\x00\xc1\x3f\x0a\x42\x0d\x03\xc2\x0c\x01\x42\x0d\x03", + .ob_sval = "\x97\x36\x41\x3c\x00\xc1\x3c\x09\x42\x08\x03\xc2\x07\x01\x42\x08\x03", }; static struct { @@ -95112,7 +92829,7 @@ static const_str_prompt = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -95121,7 +92838,7 @@ const_str_prompt = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "prompt", @@ -95134,59 +92851,57 @@ static PyObject *ob_item[5]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_7_localsplusnames = { +_sitebuiltins_toplevel_consts_5_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_prompt._ascii.ob_base, &_Py_ID(lineno), - & const_str_i._ascii.ob_base, - & const_str_key._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], + &_Py_ID(key), }, }, }; static - struct _PyCode_DEF(290) -_sitebuiltins_toplevel_consts_5_consts_7 = { + struct _PyCode_DEF(278) +_sitebuiltins_toplevel_consts_5_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 145, + .ob_size = 139, }, - .co_consts = & _sitebuiltins_toplevel_consts_5_consts_7_consts._object.ob_base.ob_base, - .co_names = & _sitebuiltins_toplevel_consts_5_consts_7_names._object.ob_base.ob_base, - .co_exceptiontable = & _sitebuiltins_toplevel_consts_5_consts_7_exceptiontable.ob_base.ob_base, + .co_consts = & _sitebuiltins_toplevel_consts_5_consts_6_consts._object.ob_base.ob_base, + .co_names = & _sitebuiltins_toplevel_consts_5_consts_6_names._object.ob_base.ob_base, + .co_exceptiontable = & _sitebuiltins_toplevel_consts_5_consts_6_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 67, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _sitebuiltins_toplevel_consts_5_consts_7_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 527, + .co_localsplusnames = & _sitebuiltins_toplevel_consts_5_consts_6_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__call__), - .co_qualname = & _sitebuiltins_toplevel_consts_5_consts_7_qualname._ascii.ob_base, - .co_linetable = & _sitebuiltins_toplevel_consts_5_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x7d\x01\x64\x02\x7d\x02\x09\x00\x09\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x02\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x1c\x7d\x03\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x1d\x09\x00\x7c\x02\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0d\x00\x00\x7d\x02\x64\x00\x7d\x04\x7c\x04\x80\x17\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x64\x04\x76\x01\x72\x02\x64\x00\x7d\x04\x7c\x04\xae\x17\x7c\x04\x64\x05\x6b\x02\x00\x00\x00\x00\x72\x02\x64\x00\x53\x00\x6e\x11\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x8c\x77", + .co_qualname = & _sitebuiltins_toplevel_consts_5_consts_6_qualname._ascii.ob_base, + .co_linetable = & _sitebuiltins_toplevel_consts_5_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x7d\x01\x64\x02\x7d\x02\x09\x00\x09\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x02\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x1a\x00\x00\x7d\x03\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x1c\x04\x00\x09\x00\x7c\x02\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0d\x00\x00\x7d\x02\x64\x00\x7d\x04\x7c\x04\x80\x14\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x64\x03\x76\x01\x72\x02\x64\x00\x7d\x04\x7c\x04\x80\x01\x8c\x14\x7c\x04\x64\x04\x6b\x28\x00\x00\x72\x01\x79\x00\x8c\x66\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -95197,11 +92912,11 @@ static PyObject *ob_item[2]; }_object; } -_sitebuiltins_toplevel_consts_5_consts_9 = { +_sitebuiltins_toplevel_consts_5_consts_8 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -95217,29 +92932,28 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[10]; + PyObject *ob_item[9]; }_object; } _sitebuiltins_toplevel_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 10, + .ob_size = 9, }, .ob_item = { & const_str__Printer._ascii.ob_base, & _sitebuiltins_toplevel_consts_5_consts_1._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 23], - (PyObject *)& _Py_SINGLETON(tuple_empty), + & _sitebuiltins_toplevel_consts_5_consts_3.ob_base.ob_base, & _sitebuiltins_toplevel_consts_5_consts_4.ob_base.ob_base, & _sitebuiltins_toplevel_consts_5_consts_5.ob_base.ob_base, & _sitebuiltins_toplevel_consts_5_consts_6.ob_base.ob_base, - & _sitebuiltins_toplevel_consts_5_consts_7.ob_base.ob_base, Py_None, - & _sitebuiltins_toplevel_consts_5_consts_9._object.ob_base.ob_base, + & _sitebuiltins_toplevel_consts_5_consts_8._object.ob_base.ob_base, }, }, }; @@ -95255,7 +92969,7 @@ _sitebuiltins_toplevel_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -95277,54 +92991,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[106]; + char ob_sval[36]; } _sitebuiltins_toplevel_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 105, + .ob_size = 35, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x01\x05\x2e\xf0\x00\x01\x05\x2e\xf0\x06\x00\x10\x12\x80\x48\xf0\x04\x07\x05\x33\xf0\x00\x07\x05\x33\xf0\x00\x07\x05\x33\xf0\x00\x07\x05\x33\xf0\x12\x0e\x05\x2b\xf0\x00\x0e\x05\x2b\xf0\x00\x0e\x05\x2b\xf0\x20\x05\x05\x4c\x01\xf0\x00\x05\x05\x4c\x01\xf0\x00\x05\x05\x4c\x01\xf0\x0e\x12\x05\x1a\xf0\x00\x12\x05\x1a\xf0\x00\x12\x05\x1a\xf0\x00\x12\x05\x1a\xf0\x00\x12\x05\x1a", + .ob_sval = "\x84\x00\xf1\x02\x01\x05\x2e\xf0\x06\x00\x10\x12\x80\x48\xf3\x04\x07\x05\x33\xf2\x12\x0e\x05\x2b\xf2\x20\x05\x05\x4c\x01\xf3\x0e\x12\x05\x1a", }; static - struct _PyCode_DEF(48) + struct _PyCode_DEF(46) _sitebuiltins_toplevel_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 24, + .ob_size = 23, }, .co_consts = & _sitebuiltins_toplevel_consts_5_consts._object.ob_base.ob_base, .co_names = & _sitebuiltins_toplevel_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 29, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 528, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = & const_str__Printer._ascii.ob_base, .co_qualname = & const_str__Printer._ascii.ob_base, .co_linetable = & _sitebuiltins_toplevel_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x09\x64\x04\x84\x01\x5a\x05\x64\x05\x84\x00\x5a\x06\x64\x06\x84\x00\x5a\x07\x64\x07\x84\x00\x5a\x08\x64\x08\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x5a\x04\x64\x08\x64\x03\x84\x01\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x79\x07", ._co_firsttraceable = 0, }; static @@ -95335,7 +93047,7 @@ static const_str__Helper = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -95344,7 +93056,7 @@ const_str__Helper = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Helper", @@ -95357,7 +93069,7 @@ static _sitebuiltins_toplevel_consts_7_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 307, @@ -95366,7 +93078,7 @@ _sitebuiltins_toplevel_consts_7_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x44\x65\x66\x69\x6e\x65\x20\x74\x68\x65\x20\x62\x75\x69\x6c\x74\x69\x6e\x20\x27\x68\x65\x6c\x70\x27\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x69\x73\x20\x61\x20\x77\x72\x61\x70\x70\x65\x72\x20\x61\x72\x6f\x75\x6e\x64\x20\x70\x79\x64\x6f\x63\x2e\x68\x65\x6c\x70\x20\x74\x68\x61\x74\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x61\x20\x68\x65\x6c\x70\x66\x75\x6c\x20\x6d\x65\x73\x73\x61\x67\x65\x0a\x20\x20\x20\x20\x77\x68\x65\x6e\x20\x27\x68\x65\x6c\x70\x27\x20\x69\x73\x20\x74\x79\x70\x65\x64\x20\x61\x74\x20\x74\x68\x65\x20\x50\x79\x74\x68\x6f\x6e\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x69\x76\x65\x20\x70\x72\x6f\x6d\x70\x74\x2e\x0a\x0a\x20\x20\x20\x20\x43\x61\x6c\x6c\x69\x6e\x67\x20\x68\x65\x6c\x70\x28\x29\x20\x61\x74\x20\x74\x68\x65\x20\x50\x79\x74\x68\x6f\x6e\x20\x70\x72\x6f\x6d\x70\x74\x20\x73\x74\x61\x72\x74\x73\x20\x61\x6e\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x69\x76\x65\x20\x68\x65\x6c\x70\x20\x73\x65\x73\x73\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x43\x61\x6c\x6c\x69\x6e\x67\x20\x68\x65\x6c\x70\x28\x74\x68\x69\x6e\x67\x29\x20\x70\x72\x69\x6e\x74\x73\x20\x68\x65\x6c\x70\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x70\x79\x74\x68\x6f\x6e\x20\x6f\x62\x6a\x65\x63\x74\x20\x27\x74\x68\x69\x6e\x67\x27\x2e\x0a\x20\x20\x20\x20", @@ -95379,7 +93091,7 @@ static _sitebuiltins_toplevel_consts_7_consts_2_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 72, @@ -95388,7 +93100,7 @@ _sitebuiltins_toplevel_consts_7_consts_2_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Type help() for interactive help, or help(object) for help about object.", @@ -95405,7 +93117,7 @@ _sitebuiltins_toplevel_consts_7_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -95424,7 +93136,7 @@ static _sitebuiltins_toplevel_consts_7_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -95433,7 +93145,7 @@ _sitebuiltins_toplevel_consts_7_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Helper.__repr__", @@ -95442,54 +93154,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[13]; + char ob_sval[8]; } _sitebuiltins_toplevel_consts_7_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 12, + .ob_size = 7, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x02\x01\x10\x38\xf0\x00\x01\x10\x38", + .ob_sval = "\x80\x00\xf0\x02\x01\x10\x38", }; static - struct _PyCode_DEF(6) + struct _PyCode_DEF(4) _sitebuiltins_toplevel_consts_7_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, .co_consts = & _sitebuiltins_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 98, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 529, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__repr__), .co_qualname = & _sitebuiltins_toplevel_consts_7_consts_2_qualname._ascii.ob_base, .co_linetable = & _sitebuiltins_toplevel_consts_7_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -95500,7 +93210,7 @@ static const_str_pydoc = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -95509,7 +93219,7 @@ const_str_pydoc = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pydoc", @@ -95522,7 +93232,7 @@ static const_str_help = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -95531,7 +93241,7 @@ const_str_help = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "help", @@ -95548,7 +93258,7 @@ _sitebuiltins_toplevel_consts_7_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -95567,7 +93277,7 @@ static _sitebuiltins_toplevel_consts_7_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -95576,7 +93286,7 @@ _sitebuiltins_toplevel_consts_7_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Helper.__call__", @@ -95585,18 +93295,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[35]; + char ob_sval[28]; } _sitebuiltins_toplevel_consts_7_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 34, + .ob_size = 27, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x14\x88\x0c\x88\x0c\x88\x0c\xd8\x0f\x19\x88\x75\x8c\x7a\x98\x34\xd0\x0f\x28\xa0\x34\xd0\x0f\x28\xd0\x0f\x28\xd0\x08\x28", + .ob_sval = "\x80\x00\xdb\x08\x14\xd8\x0f\x19\x88\x75\x8f\x7a\x89\x7a\x98\x34\xd0\x0f\x28\xa0\x34\xd1\x0f\x28\xd0\x08\x28", }; static struct { @@ -95610,54 +93320,52 @@ _sitebuiltins_toplevel_consts_7_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_args._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(args), & const_str_kwds._ascii.ob_base, & const_str_pydoc._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(36) + struct _PyCode_DEF(46) _sitebuiltins_toplevel_consts_7_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 23, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, .co_names = & _sitebuiltins_toplevel_consts_7_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 15, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 101, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 530, .co_localsplusnames = & _sitebuiltins_toplevel_consts_7_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = &_Py_ID(__call__), .co_qualname = & _sitebuiltins_toplevel_consts_7_consts_3_qualname._ascii.ob_base, .co_linetable = & _sitebuiltins_toplevel_consts_7_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x64\x00\x6c\x00\x7d\x03\x02\x00\x7c\x03\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x69\x00\x7c\x02\xa4\x01\x8e\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x64\x00\x6c\x00\x7d\x03\x02\x00\x7c\x03\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x69\x00\x7c\x02\xa4\x01\x8e\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -95672,7 +93380,7 @@ _sitebuiltins_toplevel_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -95698,7 +93406,7 @@ _sitebuiltins_toplevel_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -95717,54 +93425,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[61]; + char ob_sval[18]; } _sitebuiltins_toplevel_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 60, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x07\x05\x08\xf0\x00\x07\x05\x08\xf0\x12\x02\x05\x38\xf0\x00\x02\x05\x38\xf0\x00\x02\x05\x38\xf0\x06\x02\x05\x29\xf0\x00\x02\x05\x29\xf0\x00\x02\x05\x29\xf0\x00\x02\x05\x29\xf0\x00\x02\x05\x29", + .ob_sval = "\x84\x00\xf1\x02\x07\x05\x08\xf2\x12\x02\x05\x38\xf3\x06\x02\x05\x29", }; static - struct _PyCode_DEF(30) + struct _PyCode_DEF(28) _sitebuiltins_toplevel_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 15, + .ob_size = 14, }, .co_consts = & _sitebuiltins_toplevel_consts_7_consts._object.ob_base.ob_base, .co_names = & _sitebuiltins_toplevel_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 88, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 531, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = & const_str__Helper._ascii.ob_base, .co_qualname = & const_str__Helper._ascii.ob_base, .co_linetable = & _sitebuiltins_toplevel_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x79\x04", ._co_firsttraceable = 0, }; static @@ -95779,7 +93485,7 @@ _sitebuiltins_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -95809,7 +93515,7 @@ _sitebuiltins_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -95817,7 +93523,7 @@ _sitebuiltins_toplevel_names = { .ob_item = { &_Py_ID(__doc__), & const_str_sys._ascii.ob_base, - & const_str_object._ascii.ob_base, + &_Py_ID(object), & const_str_Quitter._ascii.ob_base, & const_str__Printer._ascii.ob_base, & const_str__Helper._ascii.ob_base, @@ -95828,63 +93534,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[164]; + char ob_sval[53]; } _sitebuiltins_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 163, + .ob_size = 52, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x02\x02\x01\x04\xf0\x00\x02\x01\x04\xf0\x14\x00\x01\x0b\x80\x0a\x80\x0a\x80\x0a\xf0\x04\x0d\x01\x1f\xf0\x00\x0d\x01\x1f\xf0\x00\x0d\x01\x1f\xf0\x00\x0d\x01\x1f\xf0\x00\x0d\x01\x1f\x88\x66\xf1\x00\x0d\x01\x1f\xf4\x00\x0d\x01\x1f\xf0\x00\x0d\x01\x1f\xf0\x20\x38\x01\x1a\xf0\x00\x38\x01\x1a\xf0\x00\x38\x01\x1a\xf0\x00\x38\x01\x1a\xf0\x00\x38\x01\x1a\x88\x76\xf1\x00\x38\x01\x1a\xf4\x00\x38\x01\x1a\xf0\x00\x38\x01\x1a\xf0\x76\x01\x0f\x01\x29\xf0\x00\x0f\x01\x29\xf0\x00\x0f\x01\x29\xf0\x00\x0f\x01\x29\xf0\x00\x0f\x01\x29\x88\x66\xf1\x00\x0f\x01\x29\xf4\x00\x0f\x01\x29\xf0\x00\x0f\x01\x29\xf0\x00\x0f\x01\x29\xf0\x00\x0f\x01\x29", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x02\x02\x01\x04\xf3\x14\x00\x01\x0b\xf4\x04\x0d\x01\x1f\x88\x66\xf4\x00\x0d\x01\x1f\xf4\x20\x38\x01\x1a\x88\x76\xf4\x00\x38\x01\x1a\xf4\x76\x01\x0f\x01\x29\x88\x66\xf5\x00\x0f\x01\x29", }; static - struct _PyCode_DEF(102) + struct _PyCode_DEF(82) _sitebuiltins_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 51, + .ob_size = 41, }, .co_consts = & _sitebuiltins_toplevel_consts._object.ob_base.ob_base, .co_names = & _sitebuiltins_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 532, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & _sitebuiltins_toplevel_consts_3_consts_1_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & _sitebuiltins_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x02\x00\x47\x00\x64\x03\x84\x00\x64\x04\x65\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x03\x02\x00\x47\x00\x64\x05\x84\x00\x64\x06\x65\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x04\x02\x00\x47\x00\x64\x07\x84\x00\x64\x08\x65\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x02\x00\x47\x00\x64\x03\x84\x00\x64\x04\x65\x02\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x03\x02\x00\x47\x00\x64\x05\x84\x00\x64\x06\x65\x02\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x04\x02\x00\x47\x00\x64\x07\x84\x00\x64\x08\x65\x02\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x05\x79\x02", ._co_firsttraceable = 0, }; -static void _sitebuiltins_do_patchups(void) { -} PyObject * _Py_get__sitebuiltins_toplevel(void) { - _sitebuiltins_do_patchups(); return Py_NewRef((PyObject *) &_sitebuiltins_toplevel); } @@ -95896,7 +93597,7 @@ static genericpath_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 152, @@ -95905,7 +93606,7 @@ genericpath_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x50\x61\x74\x68\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\x6e\x73\x20\x63\x6f\x6d\x6d\x6f\x6e\x20\x74\x6f\x20\x6d\x6f\x72\x65\x20\x74\x68\x61\x6e\x20\x6f\x6e\x65\x20\x4f\x53\x0a\x44\x6f\x20\x6e\x6f\x74\x20\x75\x73\x65\x20\x64\x69\x72\x65\x63\x74\x6c\x79\x2e\x20\x20\x54\x68\x65\x20\x4f\x53\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x6d\x6f\x64\x75\x6c\x65\x73\x20\x69\x6d\x70\x6f\x72\x74\x20\x74\x68\x65\x20\x61\x70\x70\x72\x6f\x70\x72\x69\x61\x74\x65\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x20\x66\x72\x6f\x6d\x20\x74\x68\x69\x73\x20\x6d\x6f\x64\x75\x6c\x65\x20\x74\x68\x65\x6d\x73\x65\x6c\x76\x65\x73\x2e\x0a", @@ -95918,7 +93619,7 @@ static const_str_commonprefix = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -95927,7 +93628,7 @@ const_str_commonprefix = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "commonprefix", @@ -95940,7 +93641,7 @@ static const_str_exists = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -95949,7 +93650,7 @@ const_str_exists = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "exists", @@ -95962,7 +93663,7 @@ static const_str_getatime = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -95971,7 +93672,7 @@ const_str_getatime = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getatime", @@ -95984,7 +93685,7 @@ static const_str_getctime = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -95993,7 +93694,7 @@ const_str_getctime = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getctime", @@ -96006,7 +93707,7 @@ static const_str_getmtime = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -96015,7 +93716,7 @@ const_str_getmtime = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getmtime", @@ -96028,7 +93729,7 @@ static const_str_getsize = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -96037,7 +93738,7 @@ const_str_getsize = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getsize", @@ -96050,7 +93751,7 @@ static const_str_isdir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -96059,7 +93760,7 @@ const_str_isdir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "isdir", @@ -96072,7 +93773,7 @@ static const_str_isfile = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -96081,11 +93782,33 @@ const_str_isfile = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "isfile", }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[7]; + } +const_str_islink = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 6, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "islink", +}; static struct { PyASCIIObject _ascii; @@ -96094,7 +93817,7 @@ static const_str_samefile = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -96103,7 +93826,7 @@ const_str_samefile = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "samefile", @@ -96116,7 +93839,7 @@ static const_str_sameopenfile = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -96125,7 +93848,7 @@ const_str_sameopenfile = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sameopenfile", @@ -96138,7 +93861,7 @@ static const_str_samestat = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -96147,7 +93870,7 @@ const_str_samestat = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "samestat", @@ -96157,17 +93880,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[11]; + PyObject *ob_item[12]; }_object; } genericpath_toplevel_consts_3 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 11, + .ob_size = 12, }, .ob_item = { & const_str_commonprefix._ascii.ob_base, @@ -96178,6 +93901,7 @@ genericpath_toplevel_consts_3 = { & const_str_getsize._ascii.ob_base, & const_str_isdir._ascii.ob_base, & const_str_isfile._ascii.ob_base, + & const_str_islink._ascii.ob_base, & const_str_samefile._ascii.ob_base, & const_str_sameopenfile._ascii.ob_base, & const_str_samestat._ascii.ob_base, @@ -96192,7 +93916,7 @@ static genericpath_toplevel_consts_4_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 68, @@ -96201,7 +93925,7 @@ genericpath_toplevel_consts_4_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Test whether a path exists. Returns False for broken symbolic links", @@ -96218,7 +93942,7 @@ genericpath_toplevel_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -96242,7 +93966,7 @@ genericpath_toplevel_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -96263,7 +93987,7 @@ static genericpath_toplevel_consts_4_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -96272,7 +93996,7 @@ genericpath_toplevel_consts_4_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -96281,18 +94005,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[67]; + char ob_sval[49]; } genericpath_toplevel_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 66, + .ob_size = 48, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdd\x08\x0a\x8c\x07\x90\x04\x89\x0d\x8c\x0d\x88\x0d\x88\x0d\xf8\xdd\x0c\x13\x95\x5a\xd0\x0b\x20\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xd8\x0f\x14\x88\x75\x88\x75\xf0\x03\x01\x05\x15\xf8\xf8\xf8\xe0\x0b\x0f\x88\x34", + .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdc\x08\x0a\x8f\x07\x89\x07\x90\x04\x8c\x0d\xf0\x06\x00\x0c\x10\xf8\xf4\x05\x00\x0d\x14\x94\x5a\xd0\x0b\x20\xf2\x00\x01\x05\x15\xd9\x0f\x14\xf0\x03\x01\x05\x15\xfa", }; static struct { @@ -96303,49 +94027,47 @@ static genericpath_toplevel_consts_4_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x82\x14\x17\x00\x97\x11\x2c\x03\xab\x01\x2c\x03", + .ob_sval = "\x82\x15\x18\x00\x98\x0f\x2a\x03\xa9\x01\x2a\x03", }; static - struct _PyCode_DEF(98) + struct _PyCode_DEF(90) genericpath_toplevel_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 49, + .ob_size = 45, }, .co_consts = & genericpath_toplevel_consts_4_consts._object.ob_base.ob_base, .co_names = & genericpath_toplevel_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = & genericpath_toplevel_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 16, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 533, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str_exists._ascii.ob_base, .co_qualname = & const_str_exists._ascii.ob_base, .co_linetable = & genericpath_toplevel_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x18\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x02\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -96356,7 +94078,7 @@ static genericpath_toplevel_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 37, @@ -96365,7 +94087,7 @@ genericpath_toplevel_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Test whether a path is a regular file", @@ -96382,7 +94104,7 @@ genericpath_toplevel_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -96401,7 +94123,7 @@ static const_str_S_ISREG = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -96410,7 +94132,7 @@ const_str_S_ISREG = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISREG", @@ -96427,7 +94149,7 @@ genericpath_toplevel_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -96446,18 +94168,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[80]; + char ob_sval[67]; } genericpath_toplevel_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 79, + .ob_size = 66, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdc\x0d\x0f\x8f\x57\x89\x57\x90\x54\x8b\x5d\x88\x02\xf4\x06\x00\x0c\x10\x8f\x3c\x89\x3c\x98\x02\x9f\x0a\x99\x0a\xd3\x0b\x23\xd0\x04\x23\xf8\xf4\x05\x00\x0d\x14\x94\x5a\xd0\x0b\x20\xf2\x00\x01\x05\x15\xd9\x0f\x14\xf0\x03\x01\x05\x15\xfa", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[16]; + } +genericpath_toplevel_consts_5_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 15, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdd\x0d\x0f\x8c\x57\x90\x54\x89\x5d\x8c\x5d\x88\x02\x88\x02\xf8\xdd\x0c\x13\x95\x5a\xd0\x0b\x20\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xd8\x0f\x14\x88\x75\x88\x75\xf0\x03\x01\x05\x15\xf8\xf8\xf8\xe5\x0b\x0f\x8c\x3c\x98\x02\x9c\x0a\xd1\x0b\x23\xd4\x0b\x23\xd0\x04\x23", + .ob_sval = "\x82\x15\x36\x00\xb6\x0f\x41\x08\x03\xc1\x07\x01\x41\x08\x03", }; static struct { @@ -96471,7 +94210,7 @@ genericpath_toplevel_consts_5_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -96483,40 +94222,38 @@ genericpath_toplevel_consts_5_localsplusnames = { }, }; static - struct _PyCode_DEF(144) + struct _PyCode_DEF(150) genericpath_toplevel_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 72, + .ob_size = 75, }, .co_consts = & genericpath_toplevel_consts_5_consts._object.ob_base.ob_base, .co_names = & genericpath_toplevel_consts_5_names._object.ob_base.ob_base, - .co_exceptiontable = & genericpath_toplevel_consts_4_exceptiontable.ob_base.ob_base, + .co_exceptiontable = & genericpath_toplevel_consts_5_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 27, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 534, .co_localsplusnames = & genericpath_toplevel_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str_isfile._ascii.ob_base, .co_qualname = & const_str_isfile._ascii.ob_base, .co_linetable = & genericpath_toplevel_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x18\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -96527,7 +94264,7 @@ static genericpath_toplevel_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 60, @@ -96536,7 +94273,7 @@ genericpath_toplevel_consts_6_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return true if the pathname refers to an existing directory.", @@ -96553,7 +94290,7 @@ genericpath_toplevel_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -96572,7 +94309,7 @@ static const_str_S_ISDIR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -96581,7 +94318,7 @@ const_str_S_ISDIR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISDIR", @@ -96598,7 +94335,7 @@ genericpath_toplevel_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -96617,18 +94354,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[80]; + char ob_sval[67]; } genericpath_toplevel_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 79, + .ob_size = 66, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdd\x0d\x0f\x8c\x57\x90\x51\x89\x5a\x8c\x5a\x88\x02\x88\x02\xf8\xdd\x0c\x13\x95\x5a\xd0\x0b\x20\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xd8\x0f\x14\x88\x75\x88\x75\xf0\x03\x01\x05\x15\xf8\xf8\xf8\xe5\x0b\x0f\x8c\x3c\x98\x02\x9c\x0a\xd1\x0b\x23\xd4\x0b\x23\xd0\x04\x23", + .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdc\x0d\x0f\x8f\x57\x89\x57\x90\x51\x8b\x5a\x88\x02\xf4\x06\x00\x0c\x10\x8f\x3c\x89\x3c\x98\x02\x9f\x0a\x99\x0a\xd3\x0b\x23\xd0\x04\x23\xf8\xf4\x05\x00\x0d\x14\x94\x5a\xd0\x0b\x20\xf2\x00\x01\x05\x15\xd9\x0f\x14\xf0\x03\x01\x05\x15\xfa", }; static struct { @@ -96642,119 +94379,167 @@ genericpath_toplevel_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_s._ascii.ob_base, + &_Py_ID(s), & const_str_st._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(144) + struct _PyCode_DEF(150) genericpath_toplevel_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 72, + .ob_size = 75, }, .co_consts = & genericpath_toplevel_consts_6_consts._object.ob_base.ob_base, .co_names = & genericpath_toplevel_consts_6_names._object.ob_base.ob_base, - .co_exceptiontable = & genericpath_toplevel_consts_4_exceptiontable.ob_base.ob_base, + .co_exceptiontable = & genericpath_toplevel_consts_5_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 39, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 535, .co_localsplusnames = & genericpath_toplevel_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str_isdir._ascii.ob_base, .co_qualname = & const_str_isdir._ascii.ob_base, .co_linetable = & genericpath_toplevel_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x18\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[50]; + uint8_t _data[39]; } genericpath_toplevel_consts_7_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 49, + .length = 38, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "Return the size of a file, reported by os.stat().", + ._data = "Test whether a path is a symbolic link", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[1]; + PyObject *ob_item[2]; }_object; } genericpath_toplevel_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 1, + .ob_size = 2, }, .ob_item = { & genericpath_toplevel_consts_7_consts_0._ascii.ob_base, + Py_False, + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[6]; + } +const_str_lstat = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 5, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "lstat", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[8]; + } +const_str_S_ISLNK = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 7, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "S_ISLNK", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[8]; }_object; } genericpath_toplevel_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 8, }, .ob_item = { & const_str_os._ascii.ob_base, + & const_str_lstat._ascii.ob_base, + & const_str_OSError._ascii.ob_base, + & const_str_ValueError._ascii.ob_base, + & const_str_AttributeError._ascii.ob_base, & const_str_stat._ascii.ob_base, - & const_str_st_size._ascii.ob_base, + & const_str_S_ISLNK._ascii.ob_base, + & const_str_st_mode._ascii.ob_base, }, }, }; @@ -96762,77 +94547,92 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[22]; + char ob_sval[69]; } genericpath_toplevel_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 21, + .ob_size = 68, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x0d\x8c\x37\x90\x38\xd1\x0b\x1c\xd4\x0b\x1c\xd4\x0b\x24\xd0\x04\x24", + .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdc\x0d\x0f\x8f\x58\x89\x58\x90\x64\x8b\x5e\x88\x02\xf4\x06\x00\x0c\x10\x8f\x3c\x89\x3c\x98\x02\x9f\x0a\x99\x0a\xd3\x0b\x23\xd0\x04\x23\xf8\xf4\x05\x00\x0d\x14\x94\x5a\xa4\x1e\xd0\x0b\x30\xf2\x00\x01\x05\x15\xd9\x0f\x14\xf0\x03\x01\x05\x15\xfa", }; static - struct _PyCode_DEF(52) + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[16]; + } +genericpath_toplevel_consts_7_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 15, + }, + .ob_shash = -1, + .ob_sval = "\x82\x15\x36\x00\xb6\x14\x41\x0d\x03\xc1\x0c\x01\x41\x0d\x03", +}; +static + struct _PyCode_DEF(160) genericpath_toplevel_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 80, }, .co_consts = & genericpath_toplevel_consts_7_consts._object.ob_base.ob_base, .co_names = & genericpath_toplevel_consts_7_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & genericpath_toplevel_consts_7_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 48, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 51, + .co_nlocalsplus = 2, + .co_nlocals = 2, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_39_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_version = 536, + .co_localsplusnames = & genericpath_toplevel_consts_5_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, - .co_name = & const_str_getsize._ascii.ob_base, - .co_qualname = & const_str_getsize._ascii.ob_base, + .co_name = & const_str_islink._ascii.ob_base, + .co_qualname = & const_str_islink._ascii.ob_base, .co_linetable = & genericpath_toplevel_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[68]; + uint8_t _data[50]; } genericpath_toplevel_consts_8_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 67, + .length = 49, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "Return the last modification time of a file, reported by os.stat().", + ._data = "Return the size of a file, reported by os.stat().", }; static struct { @@ -96846,7 +94646,7 @@ genericpath_toplevel_consts_8_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -96868,7 +94668,7 @@ genericpath_toplevel_consts_8_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -96876,7 +94676,7 @@ genericpath_toplevel_consts_8_names = { .ob_item = { & const_str_os._ascii.ob_base, & const_str_stat._ascii.ob_base, - & const_str_st_mtime._ascii.ob_base, + & const_str_st_size._ascii.ob_base, }, }, }; @@ -96884,54 +94684,172 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[22]; + char ob_sval[24]; } genericpath_toplevel_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 21, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x0d\x8c\x37\x90\x38\xd1\x0b\x1c\xd4\x0b\x1c\xd4\x0b\x25\xd0\x04\x25", + .ob_sval = "\x80\x00\xe4\x0b\x0d\x8f\x37\x89\x37\x90\x38\xd3\x0b\x1c\xd7\x0b\x24\xd1\x0b\x24\xd0\x04\x24", }; static - struct _PyCode_DEF(52) + struct _PyCode_DEF(64) genericpath_toplevel_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 32, }, .co_consts = & genericpath_toplevel_consts_8_consts._object.ob_base.ob_base, .co_names = & genericpath_toplevel_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 53, + .co_firstlineno = 60, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 537, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_39_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, + .co_name = & const_str_getsize._ascii.ob_base, + .co_qualname = & const_str_getsize._ascii.ob_base, + .co_linetable = & genericpath_toplevel_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_firsttraceable = 0, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[68]; + } +genericpath_toplevel_consts_9_consts_0 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 67, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "Return the last modification time of a file, reported by os.stat().", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; + } +genericpath_toplevel_consts_9_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, + }, + .ob_item = { + & genericpath_toplevel_consts_9_consts_0._ascii.ob_base, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +genericpath_toplevel_consts_9_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + & const_str_os._ascii.ob_base, + & const_str_stat._ascii.ob_base, + & const_str_st_mtime._ascii.ob_base, + }, + }, +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[24]; + } +genericpath_toplevel_consts_9_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 23, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xe4\x0b\x0d\x8f\x37\x89\x37\x90\x38\xd3\x0b\x1c\xd7\x0b\x25\xd1\x0b\x25\xd0\x04\x25", +}; +static + struct _PyCode_DEF(64) +genericpath_toplevel_consts_9 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 32, + }, + .co_consts = & genericpath_toplevel_consts_9_consts._object.ob_base.ob_base, + .co_names = & genericpath_toplevel_consts_9_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 65, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 538, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_39_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str_getmtime._ascii.ob_base, .co_qualname = & const_str_getmtime._ascii.ob_base, - .co_linetable = & genericpath_toplevel_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & genericpath_toplevel_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -96939,10 +94857,10 @@ static PyASCIIObject _ascii; uint8_t _data[62]; } -genericpath_toplevel_consts_9_consts_0 = { +genericpath_toplevel_consts_10_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 61, @@ -96951,7 +94869,7 @@ genericpath_toplevel_consts_9_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return the last access time of a file, reported by os.stat().", @@ -96964,17 +94882,17 @@ static PyObject *ob_item[1]; }_object; } -genericpath_toplevel_consts_9_consts = { +genericpath_toplevel_consts_10_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & genericpath_toplevel_consts_9_consts_0._ascii.ob_base, + & genericpath_toplevel_consts_10_consts_0._ascii.ob_base, }, }, }; @@ -96986,7 +94904,7 @@ static const_str_st_atime = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -96995,7 +94913,7 @@ const_str_st_atime = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "st_atime", @@ -97008,11 +94926,11 @@ static PyObject *ob_item[3]; }_object; } -genericpath_toplevel_consts_9_names = { +genericpath_toplevel_consts_10_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -97025,40 +94943,38 @@ genericpath_toplevel_consts_9_names = { }, }; static - struct _PyCode_DEF(52) -genericpath_toplevel_consts_9 = { + struct _PyCode_DEF(64) +genericpath_toplevel_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 32, }, - .co_consts = & genericpath_toplevel_consts_9_consts._object.ob_base.ob_base, - .co_names = & genericpath_toplevel_consts_9_names._object.ob_base.ob_base, + .co_consts = & genericpath_toplevel_consts_10_consts._object.ob_base.ob_base, + .co_names = & genericpath_toplevel_consts_10_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 58, + .co_firstlineno = 70, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 539, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_39_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str_getatime._ascii.ob_base, .co_qualname = & const_str_getatime._ascii.ob_base, - .co_linetable = & genericpath_toplevel_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & genericpath_toplevel_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -97066,10 +94982,10 @@ static PyASCIIObject _ascii; uint8_t _data[66]; } -genericpath_toplevel_consts_10_consts_0 = { +genericpath_toplevel_consts_11_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 65, @@ -97078,7 +94994,7 @@ genericpath_toplevel_consts_10_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return the metadata change time of a file, reported by os.stat().", @@ -97091,17 +95007,17 @@ static PyObject *ob_item[1]; }_object; } -genericpath_toplevel_consts_10_consts = { +genericpath_toplevel_consts_11_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & genericpath_toplevel_consts_10_consts_0._ascii.ob_base, + & genericpath_toplevel_consts_11_consts_0._ascii.ob_base, }, }, }; @@ -97113,7 +95029,7 @@ static const_str_st_ctime = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -97122,7 +95038,7 @@ const_str_st_ctime = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "st_ctime", @@ -97135,11 +95051,11 @@ static PyObject *ob_item[3]; }_object; } -genericpath_toplevel_consts_10_names = { +genericpath_toplevel_consts_11_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -97152,40 +95068,38 @@ genericpath_toplevel_consts_10_names = { }, }; static - struct _PyCode_DEF(52) -genericpath_toplevel_consts_10 = { + struct _PyCode_DEF(64) +genericpath_toplevel_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 32, }, - .co_consts = & genericpath_toplevel_consts_10_consts._object.ob_base.ob_base, - .co_names = & genericpath_toplevel_consts_10_names._object.ob_base.ob_base, + .co_consts = & genericpath_toplevel_consts_11_consts._object.ob_base.ob_base, + .co_names = & genericpath_toplevel_consts_11_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 63, + .co_firstlineno = 75, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 540, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_39_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str_getctime._ascii.ob_base, .co_qualname = & const_str_getctime._ascii.ob_base, - .co_linetable = & genericpath_toplevel_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & genericpath_toplevel_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -97193,10 +95107,10 @@ static PyASCIIObject _ascii; uint8_t _data[72]; } -genericpath_toplevel_consts_11_consts_0 = { +genericpath_toplevel_consts_12_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 71, @@ -97205,7 +95119,7 @@ genericpath_toplevel_consts_11_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Given a list of pathnames, returns the longest common leading component", @@ -97218,17 +95132,17 @@ static PyObject *ob_item[4]; }_object; } -genericpath_toplevel_consts_11_consts = { +genericpath_toplevel_consts_12_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & genericpath_toplevel_consts_11_consts_0._ascii.ob_base, + & genericpath_toplevel_consts_12_consts_0._ascii.ob_base, &_Py_STR(empty), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], Py_None, @@ -97243,7 +95157,7 @@ static const_str_min = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -97252,7 +95166,7 @@ const_str_min = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "min", @@ -97265,7 +95179,7 @@ static const_str_enumerate = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -97274,7 +95188,7 @@ const_str_enumerate = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "enumerate", @@ -97287,11 +95201,11 @@ static PyObject *ob_item[9]; }_object; } -genericpath_toplevel_consts_11_names = { +genericpath_toplevel_consts_12_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -97313,18 +95227,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[153]; + char ob_sval[119]; } -genericpath_toplevel_consts_11_linetable = { +genericpath_toplevel_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 152, + .ob_size = 118, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0c\xd0\x04\x17\x90\x52\x90\x52\xf5\x0a\x00\x0c\x16\x90\x61\x98\x01\x94\x64\x9d\x54\xa5\x35\x98\x4d\xd1\x0b\x2a\xd4\x0b\x2a\xf0\x00\x01\x05\x25\xdd\x0c\x11\x95\x23\x95\x62\x94\x69\xa0\x11\xd1\x12\x23\xd4\x12\x23\xd1\x0c\x24\xd4\x0c\x24\x88\x01\xdd\x09\x0c\x88\x51\x89\x16\x8c\x16\x80\x42\xdd\x09\x0c\x88\x51\x89\x16\x8c\x16\x80\x42\xdd\x10\x19\x98\x22\x91\x0d\x94\x0d\xf0\x00\x02\x05\x1a\xf0\x00\x02\x05\x1a\x89\x04\x88\x01\x88\x31\xd8\x0b\x0c\x90\x02\x90\x31\x94\x05\x8a\x3a\x88\x3a\xd8\x13\x15\x90\x62\x90\x71\x90\x62\x94\x36\x88\x4d\x88\x4d\x88\x4d\xf0\x03\x00\x0c\x16\xe0\x0b\x0d\x80\x49", + .ob_sval = "\x80\x00\xe1\x0b\x0c\x90\x52\xf4\x0a\x00\x0c\x16\x90\x61\x98\x01\x91\x64\x9c\x54\xa4\x35\x98\x4d\xd4\x0b\x2a\xdc\x0c\x11\x94\x23\x94\x62\x97\x69\x91\x69\xa0\x11\xd3\x12\x23\xd3\x0c\x24\x88\x01\xdc\x09\x0c\x88\x51\x8b\x16\x80\x42\xdc\x09\x0c\x88\x51\x8b\x16\x80\x42\xdc\x10\x19\x98\x22\x93\x0d\xf2\x00\x02\x05\x1a\x89\x04\x88\x01\x88\x31\xd8\x0b\x0c\x90\x02\x90\x31\x91\x05\x8b\x3a\xd8\x13\x15\x90\x62\x90\x71\x90\x36\x8a\x4d\xf0\x05\x02\x05\x1a\xf0\x06\x00\x0c\x0e\x80\x49", }; static struct { @@ -97334,7 +95248,7 @@ static const_str_s1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -97343,7 +95257,7 @@ const_str_s1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "s1", @@ -97356,7 +95270,7 @@ static const_str_s2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -97365,7 +95279,7 @@ const_str_s2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "s2", @@ -97378,59 +95292,57 @@ static PyObject *ob_item[5]; }_object; } -genericpath_toplevel_consts_11_localsplusnames = { +genericpath_toplevel_consts_12_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & const_str_m._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[109], & const_str_s1._ascii.ob_base, & const_str_s2._ascii.ob_base, - & const_str_i._ascii.ob_base, - & const_str_c._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], + &_Py_ID(c), }, }, }; static - struct _PyCode_DEF(310) -genericpath_toplevel_consts_11 = { + struct _PyCode_DEF(244) +genericpath_toplevel_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 155, + .ob_size = 122, }, - .co_consts = & genericpath_toplevel_consts_11_consts._object.ob_base.ob_base, - .co_names = & genericpath_toplevel_consts_11_names._object.ob_base.ob_base, + .co_consts = & genericpath_toplevel_consts_12_consts._object.ob_base.ob_base, + .co_names = & genericpath_toplevel_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 69, + .co_firstlineno = 81, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & genericpath_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 541, + .co_localsplusnames = & genericpath_toplevel_consts_12_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str_commonprefix._ascii.ob_base, .co_qualname = & const_str_commonprefix._ascii.ob_base, - .co_linetable = & genericpath_toplevel_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x73\x02\x64\x01\x53\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x27\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x1d\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x04\x7c\x02\x7c\x03\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x0c\x7c\x01\x64\x03\x7c\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x01\x00\x53\x00\x8c\x1e\x7c\x01\x53\x00", + .co_linetable = & genericpath_toplevel_consts_12_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x73\x01\x79\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\x19\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xab\x02\x00\x00\x00\x00\x00\x00\x73\x23\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x14\x00\x00\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x04\x7c\x02\x7c\x03\x19\x00\x00\x00\x6b\x37\x00\x00\x73\x01\x8c\x0f\x7c\x01\x64\x03\x7c\x03\x1a\x00\x63\x02\x01\x00\x53\x00\x04\x00\x7c\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -97438,10 +95350,10 @@ static PyASCIIObject _ascii; uint8_t _data[54]; } -genericpath_toplevel_consts_12_consts_0 = { +genericpath_toplevel_consts_13_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 53, @@ -97450,7 +95362,7 @@ genericpath_toplevel_consts_12_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Test whether two stat buffers reference the same file", @@ -97463,17 +95375,17 @@ static PyObject *ob_item[1]; }_object; } -genericpath_toplevel_consts_12_consts = { +genericpath_toplevel_consts_13_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & genericpath_toplevel_consts_12_consts_0._ascii.ob_base, + & genericpath_toplevel_consts_13_consts_0._ascii.ob_base, }, }, }; @@ -97485,7 +95397,7 @@ static const_str_st_ino = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -97494,7 +95406,7 @@ const_str_st_ino = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "st_ino", @@ -97507,7 +95419,7 @@ static const_str_st_dev = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -97516,7 +95428,7 @@ const_str_st_dev = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "st_dev", @@ -97529,11 +95441,11 @@ static PyObject *ob_item[2]; }_object; } -genericpath_toplevel_consts_12_names = { +genericpath_toplevel_consts_13_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -97548,18 +95460,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[37]; + char ob_sval[45]; } -genericpath_toplevel_consts_12_linetable = { +genericpath_toplevel_consts_13_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 36, + .ob_size = 44, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0c\x0e\x8c\x49\x98\x12\x9c\x19\xd2\x0c\x22\xf0\x00\x01\x0d\x23\xd8\x0c\x0e\x8c\x49\x98\x12\x9c\x19\xd2\x0c\x22\xf0\x03\x01\x05\x24", + .ob_sval = "\x80\x00\xe0\x0c\x0e\x8f\x49\x89\x49\x98\x12\x9f\x19\x99\x19\xd1\x0c\x22\xf2\x00\x01\x0d\x23\xd8\x0c\x0e\x8f\x49\x89\x49\x98\x12\x9f\x19\x99\x19\xd1\x0c\x22\xf0\x03\x01\x05\x24", }; static struct { @@ -97569,11 +95481,11 @@ static PyObject *ob_item[2]; }_object; } -genericpath_toplevel_consts_12_localsplusnames = { +genericpath_toplevel_consts_13_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -97585,40 +95497,38 @@ genericpath_toplevel_consts_12_localsplusnames = { }, }; static - struct _PyCode_DEF(66) -genericpath_toplevel_consts_12 = { + struct _PyCode_DEF(106) +genericpath_toplevel_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 53, }, - .co_consts = & genericpath_toplevel_consts_12_consts._object.ob_base.ob_base, - .co_names = & genericpath_toplevel_consts_12_names._object.ob_base.ob_base, + .co_consts = & genericpath_toplevel_consts_13_consts._object.ob_base.ob_base, + .co_names = & genericpath_toplevel_consts_13_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 87, + .co_firstlineno = 99, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & genericpath_toplevel_consts_12_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 542, + .co_localsplusnames = & genericpath_toplevel_consts_13_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str_samestat._ascii.ob_base, .co_qualname = & const_str_samestat._ascii.ob_base, - .co_linetable = & genericpath_toplevel_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x6f\x0f\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00", + .co_linetable = & genericpath_toplevel_consts_13_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x78\x01\x72\x19\x01\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -97626,10 +95536,10 @@ static PyASCIIObject _ascii; uint8_t _data[214]; } -genericpath_toplevel_consts_13_consts_0 = { +genericpath_toplevel_consts_14_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 213, @@ -97638,7 +95548,7 @@ genericpath_toplevel_consts_13_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x54\x65\x73\x74\x20\x77\x68\x65\x74\x68\x65\x72\x20\x74\x77\x6f\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x73\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x61\x63\x74\x75\x61\x6c\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x69\x73\x20\x64\x65\x74\x65\x72\x6d\x69\x6e\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x64\x65\x76\x69\x63\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x61\x6e\x64\x20\x69\x2d\x6e\x6f\x64\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x61\x6e\x64\x0a\x20\x20\x20\x20\x72\x61\x69\x73\x65\x73\x20\x61\x6e\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x69\x66\x20\x61\x6e\x20\x6f\x73\x2e\x73\x74\x61\x74\x28\x29\x20\x63\x61\x6c\x6c\x20\x6f\x6e\x20\x65\x69\x74\x68\x65\x72\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x66\x61\x69\x6c\x73\x2e\x0a\x20\x20\x20\x20", @@ -97651,17 +95561,17 @@ static PyObject *ob_item[1]; }_object; } -genericpath_toplevel_consts_13_consts = { +genericpath_toplevel_consts_14_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & genericpath_toplevel_consts_13_consts_0._ascii.ob_base, + & genericpath_toplevel_consts_14_consts_0._ascii.ob_base, }, }, }; @@ -97673,11 +95583,11 @@ static PyObject *ob_item[3]; }_object; } -genericpath_toplevel_consts_13_names = { +genericpath_toplevel_consts_14_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -97693,18 +95603,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[47]; + char ob_sval[44]; } -genericpath_toplevel_consts_13_linetable = { +genericpath_toplevel_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 46, + .ob_size = 43, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0c\x00\x0a\x0c\x8c\x17\x90\x12\x89\x1b\x8c\x1b\x80\x42\xdd\x09\x0b\x8c\x17\x90\x12\x89\x1b\x8c\x1b\x80\x42\xdd\x0b\x13\x90\x42\x98\x02\xd1\x0b\x1b\xd4\x0b\x1b\xd0\x04\x1b", + .ob_sval = "\x80\x00\xf4\x0c\x00\x0a\x0c\x8f\x17\x89\x17\x90\x12\x8b\x1b\x80\x42\xdc\x09\x0b\x8f\x17\x89\x17\x90\x12\x8b\x1b\x80\x42\xdc\x0b\x13\x90\x42\x98\x02\xd3\x0b\x1b\xd0\x04\x1b", }; static struct { @@ -97714,7 +95624,7 @@ static const_str_f1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -97723,7 +95633,7 @@ const_str_f1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "f1", @@ -97736,7 +95646,7 @@ static const_str_f2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -97745,7 +95655,7 @@ const_str_f2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "f2", @@ -97758,11 +95668,11 @@ static PyObject *ob_item[4]; }_object; } -genericpath_toplevel_consts_13_localsplusnames = { +genericpath_toplevel_consts_14_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -97776,40 +95686,38 @@ genericpath_toplevel_consts_13_localsplusnames = { }, }; static - struct _PyCode_DEF(114) -genericpath_toplevel_consts_13 = { + struct _PyCode_DEF(110) +genericpath_toplevel_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 57, + .ob_size = 55, }, - .co_consts = & genericpath_toplevel_consts_13_consts._object.ob_base.ob_base, - .co_names = & genericpath_toplevel_consts_13_names._object.ob_base.ob_base, + .co_consts = & genericpath_toplevel_consts_14_consts._object.ob_base.ob_base, + .co_names = & genericpath_toplevel_consts_14_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 94, + .co_firstlineno = 106, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & genericpath_toplevel_consts_13_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 543, + .co_localsplusnames = & genericpath_toplevel_consts_14_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str_samefile._ascii.ob_base, .co_qualname = & const_str_samefile._ascii.ob_base, - .co_linetable = & genericpath_toplevel_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & genericpath_toplevel_consts_14_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x03\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -97817,10 +95725,10 @@ static PyASCIIObject _ascii; uint8_t _data[59]; } -genericpath_toplevel_consts_14_consts_0 = { +genericpath_toplevel_consts_15_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 58, @@ -97829,7 +95737,7 @@ genericpath_toplevel_consts_14_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Test whether two open file objects reference the same file", @@ -97842,17 +95750,17 @@ static PyObject *ob_item[1]; }_object; } -genericpath_toplevel_consts_14_consts = { +genericpath_toplevel_consts_15_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & genericpath_toplevel_consts_14_consts_0._ascii.ob_base, + & genericpath_toplevel_consts_15_consts_0._ascii.ob_base, }, }, }; @@ -97864,7 +95772,7 @@ static const_str_fstat = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -97873,7 +95781,7 @@ const_str_fstat = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fstat", @@ -97886,11 +95794,11 @@ static PyObject *ob_item[3]; }_object; } -genericpath_toplevel_consts_14_names = { +genericpath_toplevel_consts_15_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -97906,18 +95814,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[45]; + char ob_sval[42]; } -genericpath_toplevel_consts_14_linetable = { +genericpath_toplevel_consts_15_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 44, + .ob_size = 41, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x09\x0b\x8c\x18\x90\x23\x89\x1d\x8c\x1d\x80\x42\xdd\x09\x0b\x8c\x18\x90\x23\x89\x1d\x8c\x1d\x80\x42\xdd\x0b\x13\x90\x42\x98\x02\xd1\x0b\x1b\xd4\x0b\x1b\xd0\x04\x1b", + .ob_sval = "\x80\x00\xe4\x09\x0b\x8f\x18\x89\x18\x90\x23\x8b\x1d\x80\x42\xdc\x09\x0b\x8f\x18\x89\x18\x90\x23\x8b\x1d\x80\x42\xdc\x0b\x13\x90\x42\x98\x02\xd3\x0b\x1b\xd0\x04\x1b", }; static struct { @@ -97927,7 +95835,7 @@ static const_str_fp1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -97936,7 +95844,7 @@ const_str_fp1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fp1", @@ -97949,7 +95857,7 @@ static const_str_fp2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -97958,7 +95866,7 @@ const_str_fp2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fp2", @@ -97971,11 +95879,11 @@ static PyObject *ob_item[4]; }_object; } -genericpath_toplevel_consts_14_localsplusnames = { +genericpath_toplevel_consts_15_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -97989,40 +95897,38 @@ genericpath_toplevel_consts_14_localsplusnames = { }, }; static - struct _PyCode_DEF(114) -genericpath_toplevel_consts_14 = { + struct _PyCode_DEF(110) +genericpath_toplevel_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 57, + .ob_size = 55, }, - .co_consts = & genericpath_toplevel_consts_14_consts._object.ob_base.ob_base, - .co_names = & genericpath_toplevel_consts_14_names._object.ob_base.ob_base, + .co_consts = & genericpath_toplevel_consts_15_consts._object.ob_base.ob_base, + .co_names = & genericpath_toplevel_consts_15_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 107, + .co_firstlineno = 119, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & genericpath_toplevel_consts_14_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 544, + .co_localsplusnames = & genericpath_toplevel_consts_15_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str_sameopenfile._ascii.ob_base, .co_qualname = & const_str_sameopenfile._ascii.ob_base, - .co_linetable = & genericpath_toplevel_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & genericpath_toplevel_consts_15_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x03\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -98030,10 +95936,10 @@ static PyASCIIObject _ascii; uint8_t _data[165]; } -genericpath_toplevel_consts_15_consts_0 = { +genericpath_toplevel_consts_16_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 164, @@ -98042,7 +95948,7 @@ genericpath_toplevel_consts_15_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x53\x70\x6c\x69\x74\x20\x74\x68\x65\x20\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x20\x66\x72\x6f\x6d\x20\x61\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x2e\x0a\x0a\x20\x20\x20\x20\x45\x78\x74\x65\x6e\x73\x69\x6f\x6e\x20\x69\x73\x20\x65\x76\x65\x72\x79\x74\x68\x69\x6e\x67\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x6c\x61\x73\x74\x20\x64\x6f\x74\x20\x74\x6f\x20\x74\x68\x65\x20\x65\x6e\x64\x2c\x20\x69\x67\x6e\x6f\x72\x69\x6e\x67\x0a\x20\x20\x20\x20\x6c\x65\x61\x64\x69\x6e\x67\x20\x64\x6f\x74\x73\x2e\x20\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x22\x28\x72\x6f\x6f\x74\x2c\x20\x65\x78\x74\x29\x22\x3b\x20\x65\x78\x74\x20\x6d\x61\x79\x20\x62\x65\x20\x65\x6d\x70\x74\x79\x2e", @@ -98055,17 +95961,17 @@ static PyObject *ob_item[4]; }_object; } -genericpath_toplevel_consts_15_consts = { +genericpath_toplevel_consts_16_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & genericpath_toplevel_consts_15_consts_0._ascii.ob_base, + & genericpath_toplevel_consts_16_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], Py_None, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], @@ -98080,11 +95986,11 @@ static PyObject *ob_item[2]; }_object; } -genericpath_toplevel_consts_15_names = { +genericpath_toplevel_consts_16_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -98103,7 +96009,7 @@ static const_str__splitext = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -98112,7 +96018,7 @@ const_str__splitext = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_splitext", @@ -98121,18 +96027,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[198]; + char ob_sval[163]; } -genericpath_toplevel_consts_15_linetable = { +genericpath_toplevel_consts_16_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 197, + .ob_size = 162, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0e\x00\x10\x11\x8f\x77\x8a\x77\x90\x73\x89\x7c\x8c\x7c\x80\x48\xd8\x07\x0d\xf0\x00\x02\x05\x2e\xd8\x16\x17\x97\x67\x92\x67\x98\x66\x91\x6f\x94\x6f\x88\x0b\xdd\x13\x16\x90\x78\xa0\x1b\xd1\x13\x2d\xd4\x13\x2d\x88\x08\xe0\x0f\x10\x8f\x77\x8a\x77\x90\x76\x89\x7f\x8c\x7f\x80\x48\xd8\x07\x0f\x90\x28\xd2\x07\x1a\xd0\x07\x1a\xe0\x18\x20\xa0\x31\x99\x0c\x88\x0d\xd8\x0e\x1b\x98\x68\xd2\x0e\x26\xd0\x0e\x26\xd8\x0f\x10\x90\x1d\x98\x7d\xa8\x51\x99\x7f\xd0\x11\x2e\xd4\x0f\x2f\xb0\x36\xd2\x0f\x39\xd0\x0f\x39\xd8\x17\x18\x98\x19\x98\x28\x98\x19\x94\x7c\xa0\x51\xa0\x78\xa0\x79\xa0\x79\xa4\x5c\xd0\x17\x31\xd0\x10\x31\xd8\x0c\x19\x98\x51\xd1\x0c\x1e\x88\x4d\xf0\x07\x00\x0f\x1c\x98\x68\xd2\x0e\x26\xd0\x0e\x26\xf0\x0a\x00\x0c\x0d\x88\x61\x90\x02\x90\x11\x90\x02\x8c\x65\x88\x38\x80\x4f", + .ob_sval = "\x80\x00\xf0\x0e\x00\x10\x11\x8f\x77\x89\x77\x90\x73\x8b\x7c\x80\x48\xd9\x07\x0d\xd8\x16\x17\x97\x67\x91\x67\x98\x66\x93\x6f\x88\x0b\xdc\x13\x16\x90\x78\xa0\x1b\xd3\x13\x2d\x88\x08\xe0\x0f\x10\x8f\x77\x89\x77\x90\x76\x8b\x7f\x80\x48\xd8\x07\x0f\x90\x28\xd2\x07\x1a\xe0\x18\x20\xa0\x31\x99\x0c\x88\x0d\xd8\x0e\x1b\x98\x68\xd2\x0e\x26\xd8\x0f\x10\x90\x1d\x98\x7d\xa8\x51\x99\x7f\xd0\x0f\x2f\xb0\x36\xd2\x0f\x39\xd8\x17\x18\x98\x19\x98\x28\x90\x7c\xa0\x51\xa0\x78\xa0\x79\xa0\x5c\xd0\x17\x31\xd0\x10\x31\xd8\x0c\x19\x98\x51\xd1\x0c\x1e\x88\x4d\xf0\x07\x00\x0f\x1c\x98\x68\xd3\x0e\x26\xf0\x0a\x00\x0c\x0d\x88\x61\x90\x02\x90\x11\x88\x65\x88\x38\x80\x4f", }; static struct { @@ -98142,7 +96048,7 @@ static const_str_altsep = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -98151,7 +96057,7 @@ const_str_altsep = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "altsep", @@ -98164,7 +96070,7 @@ static const_str_extsep = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -98173,7 +96079,7 @@ const_str_extsep = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "extsep", @@ -98186,7 +96092,7 @@ static const_str_sepIndex = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -98195,7 +96101,7 @@ const_str_sepIndex = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sepIndex", @@ -98208,7 +96114,7 @@ static const_str_altsepIndex = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -98217,7 +96123,7 @@ const_str_altsepIndex = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "altsepIndex", @@ -98230,7 +96136,7 @@ static const_str_dotIndex = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -98239,7 +96145,7 @@ const_str_dotIndex = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dotIndex", @@ -98252,7 +96158,7 @@ static const_str_filenameIndex = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -98261,7 +96167,7 @@ const_str_filenameIndex = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "filenameIndex", @@ -98274,18 +96180,18 @@ static PyObject *ob_item[8]; }_object; } -genericpath_toplevel_consts_15_localsplusnames = { +genericpath_toplevel_consts_16_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, }, .ob_item = { - & const_str_p._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(p), + &_Py_ID(sep), & const_str_altsep._ascii.ob_base, & const_str_extsep._ascii.ob_base, & const_str_sepIndex._ascii.ob_base, @@ -98296,40 +96202,38 @@ genericpath_toplevel_consts_15_localsplusnames = { }, }; static - struct _PyCode_DEF(318) -genericpath_toplevel_consts_15 = { + struct _PyCode_DEF(240) +genericpath_toplevel_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 159, + .ob_size = 120, }, - .co_consts = & genericpath_toplevel_consts_15_consts._object.ob_base.ob_base, - .co_names = & genericpath_toplevel_consts_15_names._object.ob_base.ob_base, + .co_consts = & genericpath_toplevel_consts_16_consts._object.ob_base.ob_base, + .co_names = & genericpath_toplevel_consts_16_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 121, + .co_firstlineno = 133, .co_nlocalsplus = 8, .co_nlocals = 8, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & genericpath_toplevel_consts_15_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_27_localspluskinds.ob_base.ob_base, + .co_version = 545, + .co_localsplusnames = & genericpath_toplevel_consts_16_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_13_localspluskinds.ob_base.ob_base, .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str__splitext._ascii.ob_base, .co_qualname = & const_str__splitext._ascii.ob_base, - .co_linetable = & genericpath_toplevel_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x02\x72\x25\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x05\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x7c\x04\x6b\x04\x00\x00\x00\x00\x72\x3b\x7c\x04\x64\x01\x7a\x00\x00\x00\x7d\x07\x7c\x07\x7c\x06\x6b\x00\x00\x00\x00\x00\x72\x30\x7c\x00\x7c\x07\x7c\x07\x64\x01\x7a\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x6b\x03\x00\x00\x00\x00\x72\x14\x7c\x00\x64\x02\x7c\x06\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x06\x64\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x53\x00\x7c\x07\x64\x01\x7a\x0d\x00\x00\x7d\x07\x7c\x07\x7c\x06\x6b\x00\x00\x00\x00\x00\xb0\x30\x7c\x00\x7c\x00\x64\x02\x64\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x53\x00", + .co_linetable = & genericpath_toplevel_consts_16_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x02\x72\x1d\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x05\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x7c\x04\x6b\x44\x00\x00\x72\x2a\x7c\x04\x64\x01\x7a\x00\x00\x00\x7d\x07\x7c\x07\x7c\x06\x6b\x02\x00\x00\x72\x20\x7c\x00\x7c\x07\x7c\x07\x64\x01\x7a\x00\x00\x00\x1a\x00\x7c\x03\x6b\x37\x00\x00\x72\x0a\x7c\x00\x64\x02\x7c\x06\x1a\x00\x7c\x00\x7c\x06\x64\x02\x1a\x00\x66\x02\x53\x00\x7c\x07\x64\x01\x7a\x0d\x00\x00\x7d\x07\x7c\x07\x7c\x06\x6b\x02\x00\x00\x72\x01\x8c\x20\x7c\x00\x7c\x00\x64\x02\x64\x03\x1a\x00\x66\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -98337,10 +96241,10 @@ static PyASCIIObject _ascii; uint8_t _data[60]; } -genericpath_toplevel_consts_16_consts_3 = { +genericpath_toplevel_consts_17_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 59, @@ -98349,7 +96253,7 @@ genericpath_toplevel_consts_16_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "() argument must be str, bytes, or os.PathLike object, not ", @@ -98359,10 +96263,10 @@ static PyASCIIObject _ascii; uint8_t _data[47]; } -genericpath_toplevel_consts_16_consts_4 = { +genericpath_toplevel_consts_17_consts_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 46, @@ -98371,7 +96275,7 @@ genericpath_toplevel_consts_16_consts_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Can't mix strings and bytes in path components", @@ -98384,11 +96288,11 @@ static PyObject *ob_item[5]; }_object; } -genericpath_toplevel_consts_16_consts = { +genericpath_toplevel_consts_17_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -98397,8 +96301,8 @@ genericpath_toplevel_consts_16_consts = { Py_None, Py_False, Py_True, - & genericpath_toplevel_consts_16_consts_3._ascii.ob_base, - & genericpath_toplevel_consts_16_consts_4._ascii.ob_base, + & genericpath_toplevel_consts_17_consts_3._ascii.ob_base, + & genericpath_toplevel_consts_17_consts_4._ascii.ob_base, }, }, }; @@ -98410,11 +96314,11 @@ static PyObject *ob_item[6]; }_object; } -genericpath_toplevel_consts_16_names = { +genericpath_toplevel_consts_17_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -98422,7 +96326,7 @@ genericpath_toplevel_consts_16_names = { .ob_item = { &_Py_ID(isinstance), & const_str_str._ascii.ob_base, - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_TypeError._ascii.ob_base, &_Py_ID(__class__), &_Py_ID(__name__), @@ -98437,7 +96341,7 @@ static const_str__check_arg_types = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -98446,7 +96350,7 @@ const_str__check_arg_types = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_check_arg_types", @@ -98455,18 +96359,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[198]; + char ob_sval[137]; } -genericpath_toplevel_consts_16_linetable = { +genericpath_toplevel_consts_17_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 197, + .ob_size = 136, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x18\x1d\xd0\x04\x1d\x80\x46\x88\x58\xd8\x0d\x11\xf0\x00\x07\x05\x5b\x01\xf0\x00\x07\x05\x5b\x01\x88\x01\xdd\x0b\x15\x90\x61\x9d\x13\xd1\x0b\x1d\xd4\x0b\x1d\xf0\x00\x06\x09\x5b\x01\xd8\x15\x19\x88\x46\x88\x46\xdd\x0d\x17\x98\x01\x9d\x35\xd1\x0d\x21\xd4\x0d\x21\xf0\x00\x04\x09\x5b\x01\xd8\x17\x1b\x88\x48\x88\x48\xe5\x12\x1b\x98\x78\xf0\x00\x01\x1d\x50\x01\xf0\x00\x01\x1d\x50\x01\xd8\x37\x38\xb4\x7b\xd4\x37\x4b\xf0\x03\x01\x1d\x50\x01\xf0\x00\x01\x1d\x50\x01\xf1\x00\x01\x13\x51\x01\xf4\x00\x01\x13\x51\x01\xd8\x56\x5a\xf0\x03\x01\x0d\x5b\x01\xe0\x07\x0d\xf0\x00\x01\x05\x54\x01\x90\x28\xf0\x00\x01\x05\x54\x01\xdd\x0e\x17\xd0\x18\x48\xd1\x0e\x49\xd4\x0e\x49\xc8\x74\xd0\x08\x53\xf0\x03\x01\x05\x54\x01\xf0\x00\x01\x05\x54\x01\xf0\x00\x01\x05\x54\x01\xf0\x00\x01\x05\x54\x01", + .ob_sval = "\x80\x00\xd8\x18\x1d\xd0\x04\x1d\x80\x46\x88\x58\xd8\x0d\x11\xf2\x00\x07\x05\x5b\x01\x88\x01\xdc\x0b\x15\x90\x61\x9c\x13\xd4\x0b\x1d\xd8\x15\x19\x89\x46\xdc\x0d\x17\x98\x01\x9c\x35\xd4\x0d\x21\xd8\x17\x1b\x89\x48\xe4\x12\x1b\x98\x78\x98\x6a\xf0\x00\x01\x29\x37\xd8\x37\x38\xb7\x7b\xb1\x7b\xd7\x37\x4b\xd1\x37\x4b\xd0\x36\x4e\xf0\x03\x01\x1d\x50\x01\xf3\x00\x01\x13\x51\x01\xd8\x56\x5a\xf0\x03\x01\x0d\x5b\x01\xf0\x0d\x07\x05\x5b\x01\xf1\x10\x00\x08\x0e\x91\x28\xdc\x0e\x17\xd0\x18\x48\xd3\x0e\x49\xc8\x74\xd0\x08\x53\xf0\x03\x00\x13\x1b\x80\x76", }; static struct { @@ -98476,7 +96380,7 @@ static const_str_funcname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -98485,7 +96389,7 @@ const_str_funcname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "funcname", @@ -98498,7 +96402,7 @@ static const_str_hasstr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -98507,7 +96411,7 @@ const_str_hasstr = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "hasstr", @@ -98520,7 +96424,7 @@ static const_str_hasbytes = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -98529,7 +96433,7 @@ const_str_hasbytes = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "hasbytes", @@ -98542,59 +96446,57 @@ static PyObject *ob_item[5]; }_object; } -genericpath_toplevel_consts_16_localsplusnames = { +genericpath_toplevel_consts_17_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { & const_str_funcname._ascii.ob_base, - & const_str_args._ascii.ob_base, + &_Py_ID(args), & const_str_hasstr._ascii.ob_base, & const_str_hasbytes._ascii.ob_base, - & const_str_s._ascii.ob_base, + &_Py_ID(s), }, }, }; static - struct _PyCode_DEF(224) -genericpath_toplevel_consts_16 = { + struct _PyCode_DEF(208) +genericpath_toplevel_consts_17 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 112, + .ob_size = 104, }, - .co_consts = & genericpath_toplevel_consts_16_consts._object.ob_base.ob_base, - .co_names = & genericpath_toplevel_consts_16_names._object.ob_base.ob_base, + .co_consts = & genericpath_toplevel_consts_17_consts._object.ob_base.ob_base, + .co_names = & genericpath_toplevel_consts_17_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 144, + .co_firstlineno = 156, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & genericpath_toplevel_consts_16_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 546, + .co_localsplusnames = & genericpath_toplevel_consts_17_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = & const_str__check_arg_types._ascii.ob_base, .co_qualname = & const_str__check_arg_types._ascii.ob_base, - .co_linetable = & genericpath_toplevel_consts_16_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x78\x01\x7d\x02\x7d\x03\x7c\x01\x44\x00\x5d\x50\x7d\x04\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x03\x64\x02\x7d\x02\x8c\x1a\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x03\x64\x02\x7d\x03\x8c\x32\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x9b\x00\x64\x03\x7c\x04\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x9d\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x82\x02\x7c\x02\x72\x12\x7c\x03\x72\x12\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x82\x02\x64\x00\x53\x00\x64\x00\x53\x00", + .co_linetable = & genericpath_toplevel_consts_17_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x78\x01\x7d\x02\x7d\x03\x7c\x01\x44\x00\x5d\x4c\x00\x00\x7d\x04\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x03\x64\x02\x7d\x02\x8c\x16\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x03\x64\x02\x7d\x03\x8c\x29\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x9b\x00\x64\x03\x7c\x04\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x9d\x03\xab\x01\x00\x00\x00\x00\x00\x00\x64\x00\x82\x02\x04\x00\x7c\x02\x72\x0f\x7c\x03\x72\x0c\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xab\x01\x00\x00\x00\x00\x00\x00\x64\x00\x82\x02\x79\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -98602,17 +96504,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[17]; + PyObject *ob_item[18]; }_object; } genericpath_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 17, + .ob_size = 18, }, .ob_item = { & genericpath_toplevel_consts_0._ascii.ob_base, @@ -98632,6 +96534,7 @@ genericpath_toplevel_consts = { & genericpath_toplevel_consts_14.ob_base.ob_base, & genericpath_toplevel_consts_15.ob_base.ob_base, & genericpath_toplevel_consts_16.ob_base.ob_base, + & genericpath_toplevel_consts_17.ob_base.ob_base, }, }, }; @@ -98640,17 +96543,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[17]; + PyObject *ob_item[18]; }_object; } genericpath_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 17, + .ob_size = 18, }, .ob_item = { &_Py_ID(__doc__), @@ -98660,6 +96563,7 @@ genericpath_toplevel_names = { & const_str_exists._ascii.ob_base, & const_str_isfile._ascii.ob_base, & const_str_isdir._ascii.ob_base, + & const_str_islink._ascii.ob_base, & const_str_getsize._ascii.ob_base, & const_str_getmtime._ascii.ob_base, & const_str_getatime._ascii.ob_base, @@ -98677,63 +96581,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[263]; + char ob_sval[97]; } genericpath_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 262, + .ob_size = 96, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x02\x04\x01\x04\xf0\x00\x04\x01\x04\xf0\x0a\x00\x01\x0a\x80\x09\x80\x09\x80\x09\xd8\x00\x0b\x80\x0b\x80\x0b\x80\x0b\xf0\x04\x02\x0b\x17\xf0\x00\x02\x0b\x17\xf0\x00\x02\x0b\x17\x80\x07\xf0\x0e\x06\x01\x10\xf0\x00\x06\x01\x10\xf0\x00\x06\x01\x10\xf0\x16\x06\x01\x24\xf0\x00\x06\x01\x24\xf0\x00\x06\x01\x24\xf0\x18\x06\x01\x24\xf0\x00\x06\x01\x24\xf0\x00\x06\x01\x24\xf0\x12\x02\x01\x25\xf0\x00\x02\x01\x25\xf0\x00\x02\x01\x25\xf0\x0a\x02\x01\x26\xf0\x00\x02\x01\x26\xf0\x00\x02\x01\x26\xf0\x0a\x02\x01\x26\xf0\x00\x02\x01\x26\xf0\x00\x02\x01\x26\xf0\x0a\x02\x01\x26\xf0\x00\x02\x01\x26\xf0\x00\x02\x01\x26\xf0\x0c\x0e\x01\x0e\xf0\x00\x0e\x01\x0e\xf0\x00\x0e\x01\x0e\xf0\x24\x03\x01\x24\xf0\x00\x03\x01\x24\xf0\x00\x03\x01\x24\xf0\x0e\x08\x01\x1c\xf0\x00\x08\x01\x1c\xf0\x00\x08\x01\x1c\xf0\x1a\x04\x01\x1c\xf0\x00\x04\x01\x1c\xf0\x00\x04\x01\x1c\xf0\x1c\x15\x01\x14\xf0\x00\x15\x01\x14\xf0\x00\x15\x01\x14\xf0\x2e\x0b\x01\x54\x01\xf0\x00\x0b\x01\x54\x01\xf0\x00\x0b\x01\x54\x01\xf0\x00\x0b\x01\x54\x01\xf0\x00\x0b\x01\x54\x01", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x02\x04\x01\x04\xf3\x0a\x00\x01\x0a\xdb\x00\x0b\xf2\x04\x02\x0b\x17\x80\x07\xf2\x0e\x06\x01\x10\xf2\x16\x06\x01\x24\xf2\x18\x06\x01\x24\xf2\x18\x06\x01\x24\xf2\x12\x02\x01\x25\xf2\x0a\x02\x01\x26\xf2\x0a\x02\x01\x26\xf2\x0a\x02\x01\x26\xf2\x0c\x0e\x01\x0e\xf2\x24\x03\x01\x24\xf2\x0e\x08\x01\x1c\xf2\x1a\x04\x01\x1c\xf2\x1c\x15\x01\x14\xf3\x2e\x0b\x01\x54\x01", }; static - struct _PyCode_DEF(112) + struct _PyCode_DEF(116) genericpath_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 56, + .ob_size = 58, }, .co_consts = & genericpath_toplevel_consts._object.ob_base.ob_base, .co_names = & genericpath_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 547, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & genericpath_toplevel_consts_4_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & genericpath_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x64\x01\x64\x02\x6c\x02\x5a\x02\x67\x00\x64\x03\xa2\x01\x5a\x03\x64\x04\x84\x00\x5a\x04\x64\x05\x84\x00\x5a\x05\x64\x06\x84\x00\x5a\x06\x64\x07\x84\x00\x5a\x07\x64\x08\x84\x00\x5a\x08\x64\x09\x84\x00\x5a\x09\x64\x0a\x84\x00\x5a\x0a\x64\x0b\x84\x00\x5a\x0b\x64\x0c\x84\x00\x5a\x0c\x64\x0d\x84\x00\x5a\x0d\x64\x0e\x84\x00\x5a\x0e\x64\x0f\x84\x00\x5a\x0f\x64\x10\x84\x00\x5a\x10\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x64\x01\x64\x02\x6c\x02\x5a\x02\x67\x00\x64\x03\xa2\x01\x5a\x03\x64\x04\x84\x00\x5a\x04\x64\x05\x84\x00\x5a\x05\x64\x06\x84\x00\x5a\x06\x64\x07\x84\x00\x5a\x07\x64\x08\x84\x00\x5a\x08\x64\x09\x84\x00\x5a\x09\x64\x0a\x84\x00\x5a\x0a\x64\x0b\x84\x00\x5a\x0b\x64\x0c\x84\x00\x5a\x0c\x64\x0d\x84\x00\x5a\x0d\x64\x0e\x84\x00\x5a\x0e\x64\x0f\x84\x00\x5a\x0f\x64\x10\x84\x00\x5a\x10\x64\x11\x84\x00\x5a\x11\x79\x02", ._co_firsttraceable = 0, }; -static void genericpath_do_patchups(void) { -} PyObject * _Py_get_genericpath_toplevel(void) { - genericpath_do_patchups(); return Py_NewRef((PyObject *) &genericpath_toplevel); } @@ -98745,7 +96644,7 @@ static ntpath_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 144, @@ -98754,7 +96653,7 @@ ntpath_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x43\x6f\x6d\x6d\x6f\x6e\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x6d\x61\x6e\x69\x70\x75\x6c\x61\x74\x69\x6f\x6e\x73\x2c\x20\x57\x69\x6e\x64\x6f\x77\x73\x4e\x54\x2f\x39\x35\x20\x76\x65\x72\x73\x69\x6f\x6e\x2e\x0a\x0a\x49\x6e\x73\x74\x65\x61\x64\x20\x6f\x66\x20\x69\x6d\x70\x6f\x72\x74\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x6d\x6f\x64\x75\x6c\x65\x20\x64\x69\x72\x65\x63\x74\x6c\x79\x2c\x20\x69\x6d\x70\x6f\x72\x74\x20\x6f\x73\x20\x61\x6e\x64\x20\x72\x65\x66\x65\x72\x20\x74\x6f\x20\x74\x68\x69\x73\x0a\x6d\x6f\x64\x75\x6c\x65\x20\x61\x73\x20\x6f\x73\x2e\x70\x61\x74\x68\x2e\x0a", @@ -98767,7 +96666,7 @@ static ntpath_toplevel_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -98776,33 +96675,11 @@ ntpath_toplevel_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "..", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -ntpath_toplevel_consts_4 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = ";", -}; static struct { PyASCIIObject _ascii; @@ -98811,7 +96688,7 @@ static ntpath_toplevel_consts_6 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -98820,7 +96697,7 @@ ntpath_toplevel_consts_6 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = ".;C:\\bin", @@ -98833,7 +96710,7 @@ static const_str_nul = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -98842,7 +96719,7 @@ const_str_nul = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "nul", @@ -98855,7 +96732,7 @@ static const_str_normcase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -98864,7 +96741,7 @@ const_str_normcase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "normcase", @@ -98877,7 +96754,7 @@ static const_str_isabs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -98886,7 +96763,7 @@ const_str_isabs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "isabs", @@ -98899,7 +96776,7 @@ static const_str_splitdrive = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -98908,7 +96785,7 @@ const_str_splitdrive = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "splitdrive", @@ -98916,46 +96793,46 @@ const_str_splitdrive = { static struct { PyASCIIObject _ascii; - uint8_t _data[9]; + uint8_t _data[10]; } -const_str_splitext = { +const_str_splitroot = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 8, + .length = 9, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "splitext", + ._data = "splitroot", }; static struct { PyASCIIObject _ascii; - uint8_t _data[7]; + uint8_t _data[9]; } -const_str_islink = { +const_str_splitext = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 6, + .length = 8, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "islink", + ._data = "splitext", }; static struct { @@ -98965,7 +96842,7 @@ static const_str_lexists = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -98974,7 +96851,7 @@ const_str_lexists = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "lexists", @@ -98987,7 +96864,7 @@ static const_str_ismount = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -98996,7 +96873,7 @@ const_str_ismount = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ismount", @@ -99009,7 +96886,7 @@ static const_str_expanduser = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -99018,7 +96895,7 @@ const_str_expanduser = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "expanduser", @@ -99031,7 +96908,7 @@ static const_str_expandvars = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -99040,7 +96917,7 @@ const_str_expandvars = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "expandvars", @@ -99053,7 +96930,7 @@ static const_str_normpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -99062,7 +96939,7 @@ const_str_normpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "normpath", @@ -99075,7 +96952,7 @@ static const_str_abspath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -99084,7 +96961,7 @@ const_str_abspath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abspath", @@ -99097,7 +96974,7 @@ static const_str_curdir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -99106,7 +96983,7 @@ const_str_curdir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "curdir", @@ -99119,7 +96996,7 @@ static const_str_pardir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -99128,7 +97005,7 @@ const_str_pardir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pardir", @@ -99141,7 +97018,7 @@ static const_str_pathsep = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -99150,7 +97027,7 @@ const_str_pathsep = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pathsep", @@ -99163,7 +97040,7 @@ static const_str_defpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -99172,7 +97049,7 @@ const_str_defpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "defpath", @@ -99185,7 +97062,7 @@ static const_str_devnull = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -99194,7 +97071,7 @@ const_str_devnull = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "devnull", @@ -99207,7 +97084,7 @@ static const_str_realpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -99216,7 +97093,7 @@ const_str_realpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "realpath", @@ -99229,7 +97106,7 @@ static const_str_supports_unicode_filenames = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -99238,7 +97115,7 @@ const_str_supports_unicode_filenames = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "supports_unicode_filenames", @@ -99251,7 +97128,7 @@ static const_str_relpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -99260,7 +97137,7 @@ const_str_relpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "relpath", @@ -99273,7 +97150,7 @@ static const_str_commonpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -99282,33 +97159,56 @@ const_str_commonpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "commonpath", }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[11]; + } +const_str_isjunction = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 10, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "isjunction", +}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[38]; + PyObject *ob_item[40]; }_object; } ntpath_toplevel_consts_11 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 38, + .ob_size = 40, }, .ob_item = { & const_str_normcase._ascii.ob_base, & const_str_isabs._ascii.ob_base, &_Py_ID(join), & const_str_splitdrive._ascii.ob_base, + & const_str_splitroot._ascii.ob_base, & const_str_split._ascii.ob_base, & const_str_splitext._ascii.ob_base, & const_str_basename._ascii.ob_base, @@ -99330,7 +97230,7 @@ ntpath_toplevel_consts_11 = { & const_str_abspath._ascii.ob_base, & const_str_curdir._ascii.ob_base, & const_str_pardir._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_pathsep._ascii.ob_base, & const_str_defpath._ascii.ob_base, & const_str_altsep._ascii.ob_base, @@ -99343,6 +97243,7 @@ ntpath_toplevel_consts_11 = { & const_str_sameopenfile._ascii.ob_base, & const_str_samestat._ascii.ob_base, & const_str_commonpath._ascii.ob_base, + & const_str_isjunction._ascii.ob_base, }, }, }; @@ -99355,7 +97256,7 @@ static ntpath_toplevel_consts_12_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 2, @@ -99371,7 +97272,7 @@ static ntpath_toplevel_consts_12_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -99380,7 +97281,7 @@ ntpath_toplevel_consts_12_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\\/", @@ -99397,7 +97298,7 @@ ntpath_toplevel_consts_12_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -99421,14 +97322,14 @@ ntpath_toplevel_consts_12_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), }, }, }; @@ -99440,7 +97341,7 @@ static ntpath_toplevel_consts_12_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -99449,7 +97350,7 @@ ntpath_toplevel_consts_12_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -99462,7 +97363,7 @@ static const_str__get_bothseps = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -99471,7 +97372,7 @@ const_str__get_bothseps = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_bothseps", @@ -99480,54 +97381,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[31]; + char ob_sval[19]; } ntpath_toplevel_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 30, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x03\x05\x15\xd8\x0f\x15\x88\x76\xe0\x0f\x14\x88\x75", + .ob_sval = "\x80\x00\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xd8\x0f\x15\xe0\x0f\x14", }; static - struct _PyCode_DEF(52) + struct _PyCode_DEF(38) ntpath_toplevel_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 19, }, .co_consts = & ntpath_toplevel_consts_12_consts._object.ob_base.ob_base, .co_names = & ntpath_toplevel_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 35, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 548, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str__get_bothseps._ascii.ob_base, .co_qualname = & const_str__get_bothseps._ascii.ob_base, .co_linetable = & ntpath_toplevel_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x64\x01\x53\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x01\x79\x01\x79\x02", ._co_firsttraceable = 0, }; static @@ -99538,7 +97437,7 @@ static const_str_LCMapStringEx = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -99547,7 +97446,7 @@ const_str_LCMapStringEx = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LCMapStringEx", @@ -99560,7 +97459,7 @@ static const_str_LOCALE_NAME_INVARIANT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -99569,7 +97468,7 @@ const_str_LOCALE_NAME_INVARIANT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LOCALE_NAME_INVARIANT", @@ -99582,7 +97481,7 @@ static const_str_LCMAP_LOWERCASE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -99591,7 +97490,7 @@ const_str_LCMAP_LOWERCASE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LCMAP_LOWERCASE", @@ -99608,7 +97507,7 @@ ntpath_toplevel_consts_13 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -99628,7 +97527,7 @@ static ntpath_toplevel_consts_14_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 110, @@ -99637,7 +97536,7 @@ ntpath_toplevel_consts_14_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x4e\x6f\x72\x6d\x61\x6c\x69\x7a\x65\x20\x63\x61\x73\x65\x20\x6f\x66\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x4d\x61\x6b\x65\x73\x20\x61\x6c\x6c\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x73\x20\x6c\x6f\x77\x65\x72\x63\x61\x73\x65\x20\x61\x6e\x64\x20\x61\x6c\x6c\x20\x73\x6c\x61\x73\x68\x65\x73\x20\x69\x6e\x74\x6f\x20\x62\x61\x63\x6b\x73\x6c\x61\x73\x68\x65\x73\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -99650,7 +97549,7 @@ static const_str_surrogateescape = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -99659,7 +97558,7 @@ const_str_surrogateescape = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "surrogateescape", @@ -99676,7 +97575,7 @@ ntpath_toplevel_consts_14_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -99684,8 +97583,8 @@ ntpath_toplevel_consts_14_consts = { .ob_item = { & ntpath_toplevel_consts_14_consts_0._ascii.ob_base, & const_str_surrogateescape._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], + (PyObject *)&_Py_SINGLETON(strings).ascii[92], }, }, }; @@ -99697,7 +97596,7 @@ static const_str_getfilesystemencoding = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -99706,7 +97605,7 @@ const_str_getfilesystemencoding = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getfilesystemencoding", @@ -99719,7 +97618,7 @@ static const_str__LCMapStringEx = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -99728,7 +97627,7 @@ const_str__LCMapStringEx = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_LCMapStringEx", @@ -99741,7 +97640,7 @@ static const_str__LOCALE_NAME_INVARIANT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -99750,7 +97649,7 @@ const_str__LOCALE_NAME_INVARIANT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_LOCALE_NAME_INVARIANT", @@ -99763,7 +97662,7 @@ static const_str__LCMAP_LOWERCASE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -99772,7 +97671,7 @@ const_str__LCMAP_LOWERCASE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_LCMAP_LOWERCASE", @@ -99789,7 +97688,7 @@ ntpath_toplevel_consts_14_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 12, @@ -99798,7 +97697,7 @@ ntpath_toplevel_consts_14_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_sys._ascii.ob_base, & const_str_getfilesystemencoding._ascii.ob_base, &_Py_ID(decode), @@ -99814,18 +97713,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[184]; + char ob_sval[149]; } ntpath_toplevel_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 183, + .ob_size = 148, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0a\x00\x0d\x0f\x8c\x49\x90\x61\x89\x4c\x8c\x4c\x88\x01\xd8\x0f\x10\xf0\x00\x01\x09\x15\xd8\x13\x14\x88\x48\xdd\x0b\x15\x90\x61\x9d\x15\xd1\x0b\x1f\xd4\x0b\x1f\xf0\x00\x09\x09\x38\xdd\x17\x1a\xd4\x17\x30\xd1\x17\x32\xd4\x17\x32\x88\x48\xd8\x10\x11\x97\x08\x92\x08\x98\x18\xd0\x23\x34\xd1\x10\x35\xd4\x10\x35\xd7\x10\x3d\xd2\x10\x3d\xb8\x63\xc0\x34\xd1\x10\x48\xd4\x10\x48\x88\x41\xdd\x10\x1e\xd5\x1f\x35\xdd\x1f\x2f\xb0\x11\xf1\x03\x01\x11\x34\xf4\x00\x01\x11\x34\x88\x41\xe0\x13\x14\x97\x38\x92\x38\x98\x48\xd0\x26\x37\xd1\x13\x38\xd4\x13\x38\xd0\x0c\x38\xe5\x13\x21\xd5\x22\x38\xdd\x22\x32\xd8\x22\x23\xa7\x29\xa2\x29\xa8\x43\xb0\x14\xd1\x22\x36\xd4\x22\x36\xf1\x05\x02\x14\x38\xf4\x00\x02\x14\x38\xf0\x00\x02\x0d\x38", + .ob_sval = "\x80\x00\xf4\x0a\x00\x0d\x0f\x8f\x49\x89\x49\x90\x61\x8b\x4c\x88\x01\xd9\x0f\x10\xd8\x13\x14\x88\x48\xdc\x0b\x15\x90\x61\x9c\x15\xd4\x0b\x1f\xdc\x17\x1a\xd7\x17\x30\xd1\x17\x30\xd3\x17\x32\x88\x48\xd8\x10\x11\x97\x08\x91\x08\x98\x18\xd0\x23\x34\xd3\x10\x35\xd7\x10\x3d\xd1\x10\x3d\xb8\x63\xc0\x34\xd3\x10\x48\x88\x41\xdc\x10\x1e\xd4\x1f\x35\xdc\x1f\x2f\xb0\x11\xf3\x03\x01\x11\x34\x88\x41\xe0\x13\x14\x97\x38\x91\x38\x98\x48\xd0\x26\x37\xd3\x13\x38\xd0\x0c\x38\xe4\x13\x21\xd4\x22\x38\xdc\x22\x32\xd8\x22\x23\xa7\x29\xa1\x29\xa8\x43\xb0\x14\xd3\x22\x36\xf3\x05\x02\x14\x38\xf0\x00\x02\x0d\x38", }; static struct { @@ -99839,52 +97738,50 @@ ntpath_toplevel_consts_14_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_s._ascii.ob_base, + &_Py_ID(s), &_Py_ID(encoding), }, }, }; static - struct _PyCode_DEF(406) + struct _PyCode_DEF(344) ntpath_toplevel_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 203, + .ob_size = 172, }, .co_consts = & ntpath_toplevel_consts_14_consts._object.ob_base.ob_base, .co_names = & ntpath_toplevel_consts_14_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, .co_firstlineno = 51, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 549, .co_localsplusnames = & ntpath_toplevel_consts_14_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_normcase._ascii.ob_base, .co_qualname = & const_str_normcase._ascii.ob_base, .co_linetable = & ntpath_toplevel_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x73\x02\x7c\x00\x53\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x6e\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x73\x02\x7c\x00\x53\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x5d\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x03\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x03\xab\x02\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -99899,15 +97796,15 @@ ntpath_toplevel_consts_15_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { & ntpath_toplevel_consts_14_consts_0._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], + (PyObject *)&_Py_SINGLETON(strings).ascii[92], }, }, }; @@ -99919,7 +97816,7 @@ static const_str_fsencode = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -99928,7 +97825,7 @@ const_str_fsencode = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fsencode", @@ -99941,7 +97838,7 @@ static const_str_fsdecode = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -99950,7 +97847,7 @@ const_str_fsdecode = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fsdecode", @@ -99967,7 +97864,7 @@ ntpath_toplevel_consts_15_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -99976,7 +97873,7 @@ ntpath_toplevel_consts_15_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_fsencode._ascii.ob_base, & const_str_fsdecode._ascii.ob_base, &_Py_ID(replace), @@ -99988,76 +97885,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[121]; + char ob_sval[99]; } ntpath_toplevel_consts_15_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 120, + .ob_size = 98, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0a\x00\x0d\x0f\x8c\x49\x90\x61\x89\x4c\x8c\x4c\x88\x01\xdd\x0b\x15\x90\x61\x9d\x15\xd1\x0b\x1f\xd4\x0b\x1f\xf0\x00\x01\x09\x4a\x01\xdd\x13\x15\x94\x3b\x9d\x72\x9c\x7b\xa8\x31\x99\x7e\x9c\x7e\xd7\x1f\x35\xd2\x1f\x35\xb0\x63\xb8\x34\xd1\x1f\x40\xd4\x1f\x40\xd7\x1f\x46\xd2\x1f\x46\xd1\x1f\x48\xd4\x1f\x48\xd1\x13\x49\xd4\x13\x49\xd0\x0c\x49\xd8\x0f\x10\x8f\x79\x8a\x79\x98\x13\x98\x64\xd1\x0f\x23\xd4\x0f\x23\xd7\x0f\x29\xd2\x0f\x29\xd1\x0f\x2b\xd4\x0f\x2b\xd0\x08\x2b", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[1]; - }_object; - } -ntpath_toplevel_consts_15_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 1, - }, - .ob_item = { - & const_str_s._ascii.ob_base, - }, - }, + .ob_sval = "\x80\x00\xf4\x0a\x00\x0d\x0f\x8f\x49\x89\x49\x90\x61\x8b\x4c\x88\x01\xdc\x0b\x15\x90\x61\x9c\x15\xd4\x0b\x1f\xdc\x13\x15\x97\x3b\x91\x3b\x9c\x72\x9f\x7b\x99\x7b\xa8\x31\x9b\x7e\xd7\x1f\x35\xd1\x1f\x35\xb0\x63\xb8\x34\xd3\x1f\x40\xd7\x1f\x46\xd1\x1f\x46\xd3\x1f\x48\xd3\x13\x49\xd0\x0c\x49\xd8\x0f\x10\x8f\x79\x89\x79\x98\x13\x98\x64\xd3\x0f\x23\xd7\x0f\x29\xd1\x0f\x29\xd3\x0f\x2b\xd0\x08\x2b", }; static - struct _PyCode_DEF(316) + struct _PyCode_DEF(280) ntpath_toplevel_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 158, + .ob_size = 140, }, .co_consts = & ntpath_toplevel_consts_15_consts._object.ob_base.ob_base, .co_names = & ntpath_toplevel_consts_15_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 70, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_15_localsplusnames._object.ob_base.ob_base, + .co_version = 550, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_normcase._ascii.ob_base, .co_qualname = & const_str_normcase._ascii.ob_base, .co_linetable = & ntpath_toplevel_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x4c\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x46\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -100068,7 +97941,7 @@ static ntpath_toplevel_consts_16_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 31, @@ -100077,7 +97950,7 @@ ntpath_toplevel_consts_16_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Test whether a path is absolute", @@ -100091,7 +97964,7 @@ static ntpath_toplevel_consts_16_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 2, @@ -100107,7 +97980,7 @@ static ntpath_toplevel_consts_16_consts_6 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -100116,7 +97989,7 @@ ntpath_toplevel_consts_16_consts_6 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = ":\\", @@ -100133,7 +98006,7 @@ ntpath_toplevel_consts_16_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 12, @@ -100143,8 +98016,8 @@ ntpath_toplevel_consts_16_consts = { (PyObject *)&_Py_SINGLETON(bytes_characters[92]), (PyObject *)&_Py_SINGLETON(bytes_characters[47]), & ntpath_toplevel_consts_16_consts_3.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[92], + (PyObject *)&_Py_SINGLETON(strings).ascii[47], & ntpath_toplevel_consts_16_consts_6._ascii.ob_base, Py_None, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 3], @@ -100166,7 +98039,7 @@ ntpath_toplevel_consts_16_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -100175,7 +98048,7 @@ ntpath_toplevel_consts_16_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), &_Py_ID(replace), & const_str_startswith._ascii.ob_base, }, @@ -100185,18 +98058,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[146]; + char ob_sval[111]; } ntpath_toplevel_consts_16_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 145, + .ob_size = 110, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x08\x0a\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xdd\x07\x11\x90\x21\x95\x55\xd1\x07\x1b\xd4\x07\x1b\xf0\x00\x07\x05\x1a\xd8\x0e\x13\x88\x03\xd8\x11\x15\x88\x06\xd8\x14\x1a\x88\x09\x88\x09\xe0\x0e\x12\x88\x03\xd8\x11\x14\x88\x06\xd8\x14\x19\x88\x09\xd8\x08\x09\x88\x22\x88\x31\x88\x22\x8c\x05\x8f\x0d\x8a\x0d\x90\x66\x98\x63\xd1\x08\x22\xd4\x08\x22\x80\x41\xf0\x06\x00\x08\x09\x87\x7c\x82\x7c\x90\x43\xd1\x07\x18\xd4\x07\x18\xf0\x00\x01\x05\x14\x98\x41\x9f\x4c\x9a\x4c\xa8\x19\xb0\x41\xd1\x1c\x36\xd4\x1c\x36\xf0\x00\x01\x05\x14\xd8\x0f\x13\x88\x74\xd8\x0b\x10\x88\x35", + .ob_sval = "\x80\x00\xe4\x08\x0a\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x07\x11\x90\x21\x94\x55\xd4\x07\x1b\xd8\x0e\x13\x88\x03\xd8\x11\x15\x88\x06\xd8\x14\x1a\x89\x09\xe0\x0e\x12\x88\x03\xd8\x11\x14\x88\x06\xd8\x14\x19\x88\x09\xd8\x08\x09\x88\x22\x88\x31\x88\x05\x8f\x0d\x89\x0d\x90\x66\x98\x63\xd3\x08\x22\x80\x41\xf0\x06\x00\x08\x09\x87\x7c\x81\x7c\x90\x43\xd4\x07\x18\x98\x41\x9f\x4c\x99\x4c\xa8\x19\xb0\x41\xd4\x1c\x36\xd8\x0f\x13\xd8\x0b\x10", }; static struct { @@ -100206,7 +98079,7 @@ static const_str_colon_sep = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -100215,7 +98088,7 @@ const_str_colon_sep = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "colon_sep", @@ -100232,54 +98105,52 @@ ntpath_toplevel_consts_16_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_s._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(s), + &_Py_ID(sep), & const_str_altsep._ascii.ob_base, & const_str_colon_sep._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(264) + struct _PyCode_DEF(218) ntpath_toplevel_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 132, + .ob_size = 109, }, .co_consts = & ntpath_toplevel_consts_16_consts._object.ob_base.ob_base, .co_names = & ntpath_toplevel_consts_16_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 87, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 551, .co_localsplusnames = & ntpath_toplevel_consts_16_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_isabs._ascii.ob_base, .co_qualname = & const_str_isabs._ascii.ob_base, .co_linetable = & ntpath_toplevel_consts_16_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x07\x64\x01\x7d\x01\x64\x02\x7d\x02\x64\x03\x7d\x03\x6e\x06\x64\x04\x7d\x01\x64\x05\x7d\x02\x64\x06\x7d\x03\x7c\x00\x64\x07\x64\x08\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x16\x7c\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x64\x09\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x64\x0a\x53\x00\x64\x0b\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x07\x64\x01\x7d\x01\x64\x02\x7d\x02\x64\x03\x7d\x03\x6e\x06\x64\x04\x7d\x01\x64\x05\x7d\x02\x64\x06\x7d\x03\x7c\x00\x64\x07\x64\x08\x1a\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x73\x12\x7c\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x64\x09\xab\x02\x00\x00\x00\x00\x00\x00\x72\x01\x79\x0a\x79\x0b", ._co_firsttraceable = 0, }; static @@ -100294,7 +98165,7 @@ ntpath_toplevel_consts_17_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -100304,9 +98175,9 @@ ntpath_toplevel_consts_17_consts = { (PyObject *)&_Py_SINGLETON(bytes_characters[92]), & ntpath_toplevel_consts_12_consts_1.ob_base.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[58]), - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[92], & ntpath_toplevel_consts_12_consts_2._ascii.ob_base, - & importlib__bootstrap_external_toplevel_consts_8_consts_0._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[58], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], &_Py_ID(join), @@ -100321,7 +98192,7 @@ static const_str_BytesWarning = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -100330,7 +98201,7 @@ const_str_BytesWarning = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "BytesWarning", @@ -100343,7 +98214,7 @@ static const_str_genericpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -100352,7 +98223,7 @@ const_str_genericpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "genericpath", @@ -100369,7 +98240,7 @@ ntpath_toplevel_consts_17_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 12, @@ -100378,8 +98249,8 @@ ntpath_toplevel_consts_17_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, - & const_str_splitdrive._ascii.ob_base, + &_Py_ID(bytes), + & const_str_splitroot._ascii.ob_base, & const_str_map._ascii.ob_base, & const_str_lower._ascii.ob_base, & const_str_TypeError._ascii.ob_base, @@ -100394,18 +98265,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[458]; + char ob_sval[357]; } ntpath_toplevel_consts_17_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 457, + .ob_size = 356, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0b\x0d\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x07\x05\x14\xd8\x0e\x13\x88\x03\xd8\x0f\x15\x88\x04\xd8\x10\x14\x88\x05\x88\x05\xe0\x0e\x12\x88\x03\xd8\x0f\x14\x88\x04\xd8\x10\x13\x88\x05\xf0\x02\x1f\x05\x0e\xd8\x0f\x14\xf0\x00\x01\x09\x1b\xd8\x0c\x10\x90\x12\x90\x21\x90\x12\x8c\x48\x90\x73\x89\x4e\x88\x4e\xdd\x24\x2e\xa8\x74\xd1\x24\x34\xd4\x24\x34\xd1\x08\x21\x88\x0c\x90\x6b\xdd\x11\x14\x95\x52\x94\x59\xa0\x05\xd1\x11\x26\xd4\x11\x26\xf0\x00\x13\x09\x2f\xf0\x00\x13\x09\x2f\x88\x41\xdd\x1e\x28\xa8\x11\x99\x6d\x9c\x6d\x89\x4f\x88\x47\x90\x56\xd8\x0f\x15\xf0\x00\x0d\x0d\x27\x98\x26\xa0\x11\x9c\x29\xa0\x74\xd0\x1a\x2b\xd0\x1a\x2b\xe0\x13\x1a\xf0\x00\x01\x11\x2b\xa0\x2c\xf0\x00\x01\x11\x2b\xd8\x23\x2a\x90\x4c\xd8\x1e\x24\x90\x0b\xd8\x10\x18\xd8\x11\x18\xf0\x00\x07\x0d\x27\x98\x57\xa8\x0c\xd2\x1d\x34\xd0\x1d\x34\xd8\x13\x1a\x97\x3d\x92\x3d\x91\x3f\x94\x3f\xa0\x6c\xd7\x26\x38\xd2\x26\x38\xd1\x26\x3a\xd4\x26\x3a\xd2\x13\x3a\xd0\x13\x3a\xe0\x23\x2a\x90\x4c\xd8\x22\x28\x90\x4b\xd8\x14\x1c\xe0\x1f\x26\x90\x0c\xe0\x0f\x1a\xf0\x00\x01\x0d\x30\x98\x7b\xa8\x32\x9c\x7f\xb0\x64\xd0\x1f\x3a\xd0\x1f\x3a\xd8\x1e\x29\xa8\x43\xd1\x1e\x2f\x90\x0b\xd8\x1a\x25\xa8\x06\xd1\x1a\x2e\x88\x4b\x88\x4b\xe0\x0c\x17\xf0\x00\x02\x09\x34\x98\x4b\xa8\x01\x9c\x4e\xb0\x24\xd0\x1c\x36\xd0\x1c\x36\xd8\x0c\x18\xf0\x03\x00\x1d\x37\xd8\x1d\x29\xa8\x22\xa8\x23\xa8\x23\xd4\x1d\x2e\xb0\x25\xd2\x1d\x37\xd0\x1d\x37\xd8\x13\x1f\xa0\x23\xd1\x13\x25\xa8\x0b\xd1\x13\x33\xd0\x0c\x33\xd8\x0f\x1b\x98\x6b\xd1\x0f\x29\xd0\x08\x29\xf8\xdd\x0c\x15\x95\x7e\xa5\x7c\xd0\x0b\x34\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xdd\x08\x13\xd4\x08\x24\xa0\x56\xa8\x54\xd0\x08\x3a\xb0\x45\xd0\x08\x3a\xd0\x08\x3a\xd0\x08\x3a\xd0\x08\x3a\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xdc\x0b\x0d\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xd8\x0e\x13\x88\x03\xd8\x0f\x15\x88\x04\xd8\x10\x14\x89\x05\xe0\x0e\x12\x88\x03\xd8\x0f\x14\x88\x04\xd8\x10\x13\x88\x05\xf0\x02\x21\x05\x0e\xd9\x0f\x14\xd8\x0c\x10\x90\x12\x90\x21\x88\x48\x90\x73\x8a\x4e\xdc\x31\x3a\xb8\x34\xb3\x1f\xd1\x08\x2e\x88\x0c\x90\x6b\xa0\x3b\xdc\x11\x14\x94\x52\x97\x59\x91\x59\xa0\x05\xd3\x11\x26\xf2\x00\x15\x09\x2f\x88\x41\xdc\x26\x2f\xb0\x01\xa3\x6c\xd1\x0c\x23\x88\x47\x90\x56\x98\x56\xd9\x0f\x15\xe1\x13\x1a\xa1\x2c\xd8\x23\x2a\x90\x4c\xd8\x1e\x24\x90\x0b\xd8\x1e\x24\x90\x0b\xd8\x10\x18\xd9\x11\x18\x98\x57\xa8\x0c\xd2\x1d\x34\xd8\x13\x1a\x97\x3d\x91\x3d\x93\x3f\xa0\x6c\xd7\x26\x38\xd1\x26\x38\xd3\x26\x3a\xd2\x13\x3a\xe0\x23\x2a\x90\x4c\xd8\x22\x28\x90\x4b\xd8\x22\x28\x90\x4b\xd8\x14\x1c\xe0\x1f\x26\x90\x0c\xe1\x0f\x1a\x98\x7b\xa8\x32\x99\x7f\xb0\x64\xd1\x1f\x3a\xd8\x1e\x29\xa8\x43\xd1\x1e\x2f\x90\x0b\xd8\x1a\x25\xa8\x06\xd1\x1a\x2e\x89\x4b\xf0\x2b\x15\x09\x2f\xf1\x2e\x00\x0d\x18\xa1\x0b\xd9\x0c\x18\x98\x5c\xa8\x22\xa8\x23\xd0\x1d\x2e\xb0\x65\xb8\x64\xb1\x6c\xd1\x1d\x42\xd8\x13\x1f\xa0\x23\xd1\x13\x25\xa8\x0b\xd1\x13\x33\xd0\x0c\x33\xd8\x0f\x1b\x98\x6b\xd1\x0f\x29\xa8\x4b\xd1\x0f\x37\xd0\x08\x37\xf8\xdc\x0c\x15\x94\x7e\xa4\x7c\xd0\x0b\x34\xf2\x00\x02\x05\x0e\xdc\x08\x13\xd7\x08\x24\xd1\x08\x24\xa0\x56\xa8\x54\xd0\x08\x3a\xb0\x45\xd3\x08\x3a\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xfa", }; static struct { @@ -100416,13 +98287,13 @@ static ntpath_toplevel_consts_17_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\xb8\x43\x17\x44\x15\x00\xc4\x10\x04\x44\x15\x00\xc4\x15\x2c\x45\x01\x03", + .ob_sval = "\xb4\x42\x2f\x43\x2c\x00\xc3\x24\x07\x43\x2c\x00\xc3\x2c\x2d\x44\x19\x03", }; static struct { @@ -100432,7 +98303,7 @@ static const_str_paths = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -100441,7 +98312,7 @@ const_str_paths = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "paths", @@ -100454,7 +98325,7 @@ static const_str_seps = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -100463,7 +98334,7 @@ const_str_seps = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "seps", @@ -100476,7 +98347,7 @@ static const_str_colon = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -100485,7 +98356,7 @@ const_str_colon = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "colon", @@ -100498,7 +98369,7 @@ static const_str_result_drive = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -100507,11 +98378,33 @@ const_str_result_drive = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "result_drive", }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[12]; + } +const_str_result_root = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 11, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "result_root", +}; static struct { PyASCIIObject _ascii; @@ -100520,7 +98413,7 @@ static const_str_result_path = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -100529,7 +98422,7 @@ const_str_result_path = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "result_path", @@ -100542,7 +98435,7 @@ static const_str_p_drive = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -100551,11 +98444,33 @@ const_str_p_drive = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "p_drive", }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[7]; + } +const_str_p_root = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 6, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "p_root", +}; static struct { PyASCIIObject _ascii; @@ -100564,7 +98479,7 @@ static const_str_p_path = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -100573,7 +98488,7 @@ const_str_p_path = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "p_path", @@ -100583,67 +98498,67 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[10]; + PyObject *ob_item[12]; }_object; } ntpath_toplevel_consts_17_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 10, + .ob_size = 12, }, .ob_item = { &_Py_ID(path), & const_str_paths._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_seps._ascii.ob_base, & const_str_colon._ascii.ob_base, & const_str_result_drive._ascii.ob_base, + & const_str_result_root._ascii.ob_base, & const_str_result_path._ascii.ob_base, - & const_str_p._ascii.ob_base, + &_Py_ID(p), & const_str_p_drive._ascii.ob_base, + & const_str_p_root._ascii.ob_base, & const_str_p_path._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(648) + struct _PyCode_DEF(568) ntpath_toplevel_consts_17 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 324, + .ob_size = 284, }, .co_consts = & ntpath_toplevel_consts_17_consts._object.ob_base.ob_base, .co_names = & ntpath_toplevel_consts_17_names._object.ob_base.ob_base, .co_exceptiontable = & ntpath_toplevel_consts_17_exceptiontable.ob_base.ob_base, .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 17 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 107, - .co_nlocalsplus = 10, - .co_nlocals = 10, - .co_nplaincellvars = 0, + .co_nlocalsplus = 12, + .co_nlocals = 12, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 552, .co_localsplusnames = & ntpath_toplevel_consts_17_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_4_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_36_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = &_Py_ID(join), .co_qualname = &_Py_ID(join), .co_linetable = & ntpath_toplevel_consts_17_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x07\x64\x01\x7d\x02\x64\x02\x7d\x03\x64\x03\x7d\x04\x6e\x06\x64\x04\x7d\x02\x64\x05\x7d\x03\x64\x06\x7d\x04\x09\x00\x7c\x01\x73\x0d\x7c\x00\x64\x00\x64\x07\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7a\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x05\x7d\x06\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x78\x7d\x07\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x08\x7d\x09\x7c\x09\x72\x13\x7c\x09\x64\x07\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x76\x00\x72\x09\x7c\x08\x73\x02\x7c\x05\x73\x02\x7c\x08\x7d\x05\x7c\x09\x7d\x06\x8c\x29\x7c\x08\x72\x37\x7c\x08\x7c\x05\x6b\x03\x00\x00\x00\x00\x72\x31\x7c\x08\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x05\x7c\x08\x7d\x05\x7c\x09\x7d\x06\x8c\x60\x7c\x08\x7d\x05\x7c\x06\x72\x0f\x7c\x06\x64\x08\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x76\x01\x72\x05\x7c\x06\x7c\x02\x7a\x00\x00\x00\x7d\x06\x7c\x06\x7c\x09\x7a\x00\x00\x00\x7d\x06\x8c\x79\x7c\x06\x72\x22\x7c\x06\x64\x07\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x76\x01\x72\x18\x7c\x05\x72\x16\x7c\x05\x64\x08\x64\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6b\x03\x00\x00\x00\x00\x72\x08\x7c\x05\x7c\x02\x7a\x00\x00\x00\x7c\x06\x7a\x00\x00\x00\x53\x00\x7c\x05\x7c\x06\x7a\x00\x00\x00\x53\x00\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x15\x01\x00\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\x7c\x00\x67\x02\x7c\x01\xa2\x01\x52\x00\x8e\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x07\x64\x01\x7d\x02\x64\x02\x7d\x03\x64\x03\x7d\x04\x6e\x06\x64\x04\x7d\x02\x64\x05\x7d\x03\x64\x06\x7d\x04\x09\x00\x7c\x01\x73\x08\x7c\x00\x64\x00\x64\x07\x1a\x00\x7c\x02\x7a\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x05\x7d\x06\x7d\x07\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x62\x00\x00\x7d\x08\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x09\x7d\x0a\x7d\x0b\x7c\x0a\x72\x0b\x7c\x09\x73\x02\x7c\x05\x73\x02\x7c\x09\x7d\x05\x7c\x0a\x7d\x06\x7c\x0b\x7d\x07\x8c\x1f\x7c\x09\x72\x2f\x7c\x09\x7c\x05\x6b\x37\x00\x00\x72\x2a\x7c\x09\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\x07\x7c\x09\x7d\x05\x7c\x0a\x7d\x06\x7c\x0b\x7d\x07\x8c\x4e\x7c\x09\x7d\x05\x7c\x07\x72\x0c\x7c\x07\x64\x08\x19\x00\x00\x00\x7c\x03\x76\x01\x72\x05\x7c\x07\x7c\x02\x7a\x00\x00\x00\x7d\x07\x7c\x07\x7c\x0b\x7a\x00\x00\x00\x7d\x07\x8c\x64\x04\x00\x7c\x07\x72\x16\x7c\x06\x73\x14\x7c\x05\x72\x12\x7c\x05\x64\x08\x64\x00\x1a\x00\x7c\x04\x7c\x03\x7a\x00\x00\x00\x76\x01\x72\x08\x7c\x05\x7c\x02\x7a\x00\x00\x00\x7c\x07\x7a\x00\x00\x00\x53\x00\x7c\x05\x7c\x06\x7a\x00\x00\x00\x7c\x07\x7a\x00\x00\x00\x53\x00\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x19\x01\x00\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\x7c\x00\x67\x02\x7c\x01\xa2\x01\xad\x06\x8e\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -100654,7 +98569,7 @@ static ntpath_toplevel_consts_18_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 730, @@ -100663,21 +98578,186 @@ ntpath_toplevel_consts_18_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x53\x70\x6c\x69\x74\x20\x61\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x69\x6e\x74\x6f\x20\x64\x72\x69\x76\x65\x2f\x55\x4e\x43\x20\x73\x68\x61\x72\x65\x70\x6f\x69\x6e\x74\x20\x61\x6e\x64\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x20\x70\x61\x74\x68\x20\x73\x70\x65\x63\x69\x66\x69\x65\x72\x73\x2e\x0a\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x61\x20\x32\x2d\x74\x75\x70\x6c\x65\x20\x28\x64\x72\x69\x76\x65\x5f\x6f\x72\x5f\x75\x6e\x63\x2c\x20\x70\x61\x74\x68\x29\x3b\x20\x65\x69\x74\x68\x65\x72\x20\x70\x61\x72\x74\x20\x6d\x61\x79\x20\x62\x65\x20\x65\x6d\x70\x74\x79\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x79\x6f\x75\x20\x61\x73\x73\x69\x67\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x73\x75\x6c\x74\x20\x3d\x20\x73\x70\x6c\x69\x74\x64\x72\x69\x76\x65\x28\x70\x29\x0a\x20\x20\x20\x20\x49\x74\x20\x69\x73\x20\x61\x6c\x77\x61\x79\x73\x20\x74\x72\x75\x65\x20\x74\x68\x61\x74\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x73\x75\x6c\x74\x5b\x30\x5d\x20\x2b\x20\x72\x65\x73\x75\x6c\x74\x5b\x31\x5d\x20\x3d\x3d\x20\x70\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x74\x68\x65\x20\x70\x61\x74\x68\x20\x63\x6f\x6e\x74\x61\x69\x6e\x65\x64\x20\x61\x20\x64\x72\x69\x76\x65\x20\x6c\x65\x74\x74\x65\x72\x2c\x20\x64\x72\x69\x76\x65\x5f\x6f\x72\x5f\x75\x6e\x63\x20\x77\x69\x6c\x6c\x20\x63\x6f\x6e\x74\x61\x69\x6e\x20\x65\x76\x65\x72\x79\x74\x68\x69\x6e\x67\x0a\x20\x20\x20\x20\x75\x70\x20\x74\x6f\x20\x61\x6e\x64\x20\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x63\x6f\x6c\x6f\x6e\x2e\x20\x20\x65\x2e\x67\x2e\x20\x73\x70\x6c\x69\x74\x64\x72\x69\x76\x65\x28\x22\x63\x3a\x2f\x64\x69\x72\x22\x29\x20\x72\x65\x74\x75\x72\x6e\x73\x20\x28\x22\x63\x3a\x22\x2c\x20\x22\x2f\x64\x69\x72\x22\x29\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x74\x68\x65\x20\x70\x61\x74\x68\x20\x63\x6f\x6e\x74\x61\x69\x6e\x65\x64\x20\x61\x20\x55\x4e\x43\x20\x70\x61\x74\x68\x2c\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x5f\x6f\x72\x5f\x75\x6e\x63\x20\x77\x69\x6c\x6c\x20\x63\x6f\x6e\x74\x61\x69\x6e\x20\x74\x68\x65\x20\x68\x6f\x73\x74\x20\x6e\x61\x6d\x65\x0a\x20\x20\x20\x20\x61\x6e\x64\x20\x73\x68\x61\x72\x65\x20\x75\x70\x20\x74\x6f\x20\x62\x75\x74\x20\x6e\x6f\x74\x20\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x74\x68\x65\x20\x66\x6f\x75\x72\x74\x68\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x73\x65\x70\x61\x72\x61\x74\x6f\x72\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x2e\x0a\x20\x20\x20\x20\x65\x2e\x67\x2e\x20\x73\x70\x6c\x69\x74\x64\x72\x69\x76\x65\x28\x22\x2f\x2f\x68\x6f\x73\x74\x2f\x63\x6f\x6d\x70\x75\x74\x65\x72\x2f\x64\x69\x72\x22\x29\x20\x72\x65\x74\x75\x72\x6e\x73\x20\x28\x22\x2f\x2f\x68\x6f\x73\x74\x2f\x63\x6f\x6d\x70\x75\x74\x65\x72\x22\x2c\x20\x22\x2f\x64\x69\x72\x22\x29\x0a\x0a\x20\x20\x20\x20\x50\x61\x74\x68\x73\x20\x63\x61\x6e\x6e\x6f\x74\x20\x63\x6f\x6e\x74\x61\x69\x6e\x20\x62\x6f\x74\x68\x20\x61\x20\x64\x72\x69\x76\x65\x20\x6c\x65\x74\x74\x65\x72\x20\x61\x6e\x64\x20\x61\x20\x55\x4e\x43\x20\x70\x61\x74\x68\x2e\x0a\x0a\x20\x20\x20\x20", }; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; + } +ntpath_toplevel_consts_18_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, + }, + .ob_item = { + & ntpath_toplevel_consts_18_consts_0._ascii.ob_base, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; + } +ntpath_toplevel_consts_18_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, + }, + .ob_item = { + & const_str_splitroot._ascii.ob_base, + }, + }, +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[36]; + } +ntpath_toplevel_consts_18_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 35, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xf4\x26\x00\x19\x22\xa0\x21\x9b\x0c\xd1\x04\x15\x80\x45\x88\x34\x90\x14\xd8\x0b\x10\x90\x24\x98\x14\x91\x2b\xd0\x0b\x1d\xd0\x04\x1d", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[6]; + } +const_str_drive = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 5, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "drive", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[4]; + }_object; + } +ntpath_toplevel_consts_18_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 4, + }, + .ob_item = { + &_Py_ID(p), + & const_str_drive._ascii.ob_base, + & const_str_root._ascii.ob_base, + & const_str_tail._ascii.ob_base, + }, + }, +}; +static + struct _PyCode_DEF(46) +ntpath_toplevel_consts_18 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 23, + }, + .co_consts = & ntpath_toplevel_consts_18_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_18_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 156, + .co_nlocalsplus = 4, + .co_nlocals = 4, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 553, + .co_localsplusnames = & ntpath_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, + .co_name = & const_str_splitdrive._ascii.ob_base, + .co_qualname = & const_str_splitdrive._ascii.ob_base, + .co_linetable = & ntpath_toplevel_consts_18_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x01\x7d\x02\x7d\x03\x7c\x01\x7c\x02\x7c\x03\x7a\x00\x00\x00\x66\x02\x53\x00", + ._co_firsttraceable = 0, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[511]; + } +ntpath_toplevel_consts_19_consts_0 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 510, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "\x53\x70\x6c\x69\x74\x20\x61\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x69\x6e\x74\x6f\x20\x64\x72\x69\x76\x65\x2c\x20\x72\x6f\x6f\x74\x20\x61\x6e\x64\x20\x74\x61\x69\x6c\x2e\x20\x54\x68\x65\x20\x64\x72\x69\x76\x65\x20\x69\x73\x20\x64\x65\x66\x69\x6e\x65\x64\x0a\x20\x20\x20\x20\x65\x78\x61\x63\x74\x6c\x79\x20\x61\x73\x20\x69\x6e\x20\x73\x70\x6c\x69\x74\x64\x72\x69\x76\x65\x28\x29\x2e\x20\x4f\x6e\x20\x57\x69\x6e\x64\x6f\x77\x73\x2c\x20\x74\x68\x65\x20\x72\x6f\x6f\x74\x20\x6d\x61\x79\x20\x62\x65\x20\x61\x20\x73\x69\x6e\x67\x6c\x65\x20\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x73\x65\x70\x61\x72\x61\x74\x6f\x72\x20\x6f\x72\x20\x61\x6e\x20\x65\x6d\x70\x74\x79\x20\x73\x74\x72\x69\x6e\x67\x2e\x20\x54\x68\x65\x20\x74\x61\x69\x6c\x20\x63\x6f\x6e\x74\x61\x69\x6e\x73\x20\x61\x6e\x79\x74\x68\x69\x6e\x67\x20\x61\x66\x74\x65\x72\x20\x74\x68\x65\x20\x72\x6f\x6f\x74\x2e\x0a\x20\x20\x20\x20\x46\x6f\x72\x20\x65\x78\x61\x6d\x70\x6c\x65\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x70\x6c\x69\x74\x72\x6f\x6f\x74\x28\x27\x2f\x2f\x73\x65\x72\x76\x65\x72\x2f\x73\x68\x61\x72\x65\x2f\x27\x29\x20\x3d\x3d\x20\x28\x27\x2f\x2f\x73\x65\x72\x76\x65\x72\x2f\x73\x68\x61\x72\x65\x27\x2c\x20\x27\x2f\x27\x2c\x20\x27\x27\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x70\x6c\x69\x74\x72\x6f\x6f\x74\x28\x27\x43\x3a\x2f\x55\x73\x65\x72\x73\x2f\x42\x61\x72\x6e\x65\x79\x27\x29\x20\x3d\x3d\x20\x28\x27\x43\x3a\x27\x2c\x20\x27\x2f\x27\x2c\x20\x27\x55\x73\x65\x72\x73\x2f\x42\x61\x72\x6e\x65\x79\x27\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x70\x6c\x69\x74\x72\x6f\x6f\x74\x28\x27\x43\x3a\x2f\x2f\x2f\x73\x70\x61\x6d\x2f\x2f\x2f\x68\x61\x6d\x27\x29\x20\x3d\x3d\x20\x28\x27\x43\x3a\x27\x2c\x20\x27\x2f\x27\x2c\x20\x27\x2f\x2f\x73\x70\x61\x6d\x2f\x2f\x2f\x68\x61\x6d\x27\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x70\x6c\x69\x74\x72\x6f\x6f\x74\x28\x27\x57\x69\x6e\x64\x6f\x77\x73\x2f\x6e\x6f\x74\x65\x70\x61\x64\x27\x29\x20\x3d\x3d\x20\x28\x27\x27\x2c\x20\x27\x27\x2c\x20\x27\x57\x69\x6e\x64\x6f\x77\x73\x2f\x6e\x6f\x74\x65\x70\x61\x64\x27\x29\x0a\x20\x20\x20\x20", +}; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; char ob_sval[9]; } -ntpath_toplevel_consts_18_consts_5 = { +ntpath_toplevel_consts_19_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 8, @@ -100690,10 +98770,10 @@ static PyASCIIObject _ascii; uint8_t _data[9]; } -ntpath_toplevel_consts_18_consts_9 = { +ntpath_toplevel_consts_19_consts_9 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -100702,7 +98782,7 @@ ntpath_toplevel_consts_18_consts_9 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\\\\?\\UNC\\", @@ -100712,34 +98792,36 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[15]; + PyObject *ob_item[17]; }_object; } -ntpath_toplevel_consts_18_consts = { +ntpath_toplevel_consts_19_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 15, + .ob_size = 17, }, .ob_item = { - & ntpath_toplevel_consts_18_consts_0._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], + & ntpath_toplevel_consts_19_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[92]), (PyObject *)&_Py_SINGLETON(bytes_characters[47]), (PyObject *)&_Py_SINGLETON(bytes_characters[58]), - & ntpath_toplevel_consts_18_consts_5.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, - & importlib__bootstrap_external_toplevel_consts_8_consts_0._ascii.ob_base, - & ntpath_toplevel_consts_18_consts_9._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & ntpath_toplevel_consts_19_consts_4.ob_base.ob_base, + (PyObject *)&_Py_SINGLETON(bytes_empty), + (PyObject *)&_Py_SINGLETON(strings).ascii[92], + (PyObject *)&_Py_SINGLETON(strings).ascii[47], + (PyObject *)&_Py_SINGLETON(strings).ascii[58], + & ntpath_toplevel_consts_19_consts_9._ascii.ob_base, + &_Py_STR(empty), Py_None, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 8], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 3], }, }, }; @@ -100751,7 +98833,7 @@ static const_str_upper = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -100760,7 +98842,7 @@ const_str_upper = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "upper", @@ -100773,7 +98855,7 @@ static const_str_find = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -100782,7 +98864,7 @@ const_str_find = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "find", @@ -100792,24 +98874,23 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[8]; + PyObject *ob_item[7]; }_object; } -ntpath_toplevel_consts_18_names = { +ntpath_toplevel_consts_19_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 8, + .ob_size = 7, }, .ob_item = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, - &_Py_ID(len), &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), &_Py_ID(replace), & const_str_upper._ascii.ob_base, & const_str_find._ascii.ob_base, @@ -100820,18 +98901,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[357]; + char ob_sval[392]; } -ntpath_toplevel_consts_18_linetable = { +ntpath_toplevel_consts_19_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 356, + .ob_size = 391, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x26\x00\x09\x0b\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xdd\x07\x0a\x88\x31\x81\x76\x84\x76\x90\x11\x82\x7b\x80\x7b\xdd\x0b\x15\x90\x61\x9d\x15\xd1\x0b\x1f\xd4\x0b\x1f\xf0\x00\x09\x09\x28\xd8\x12\x17\x88\x43\xd8\x15\x19\x88\x46\xd8\x14\x18\x88\x45\xd8\x19\x28\x88\x4a\x88\x4a\xe0\x12\x16\x88\x43\xd8\x15\x18\x88\x46\xd8\x14\x17\x88\x45\xd8\x19\x27\x88\x4a\xd8\x10\x11\x97\x09\x92\x09\x98\x26\xa0\x23\xd1\x10\x26\xd4\x10\x26\x88\x05\xd8\x0b\x10\x90\x11\x90\x31\x90\x13\x8c\x3a\x98\x13\x98\x71\x99\x17\xd2\x0b\x20\xd0\x0b\x20\xf0\x06\x00\x1a\x1f\x98\x72\xa0\x01\x98\x72\x9c\x19\x9f\x1f\x9a\x1f\xd1\x19\x2a\xd4\x19\x2a\xa8\x6a\xd2\x19\x38\xd0\x19\x38\x90\x41\x90\x41\xb8\x61\x88\x45\xd8\x14\x19\x97\x4a\x92\x4a\x98\x73\xa0\x45\xd1\x14\x2a\xd4\x14\x2a\x88\x45\xd8\x0f\x14\x98\x02\x8a\x7b\x88\x7b\xd8\x17\x18\x98\x21\x98\x42\x98\x51\x98\x42\x9c\x25\x90\x78\x90\x0f\xd8\x15\x1a\x97\x5a\x92\x5a\xa0\x03\xa0\x55\xa8\x51\xa1\x59\xd1\x15\x2f\xd4\x15\x2f\x88\x46\xd8\x0f\x15\x98\x12\x8a\x7c\x88\x7c\xd8\x17\x18\x98\x21\x98\x42\x98\x51\x98\x42\x9c\x25\x90\x78\x90\x0f\xd8\x13\x14\x90\x57\x90\x66\x90\x57\x94\x3a\x98\x71\xa0\x16\xa0\x17\xa0\x17\x9c\x7a\xd0\x13\x29\xd0\x0c\x29\xd8\x0b\x10\x90\x11\x90\x31\x90\x13\x8c\x3a\x98\x15\xd2\x0b\x1e\xd0\x0b\x1e\xe0\x13\x14\x90\x52\x90\x61\x90\x52\x94\x35\x98\x21\x98\x41\x98\x42\x98\x42\x9c\x25\x90\x3c\xd0\x0c\x1f\xd8\x0b\x0c\x88\x52\x88\x61\x88\x52\x8c\x35\x90\x21\x88\x38\x80\x4f", + .ob_sval = "\x80\x00\xf4\x16\x00\x09\x0b\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x07\x11\x90\x21\x94\x55\xd4\x07\x1b\xd8\x0e\x13\x88\x03\xd8\x11\x15\x88\x06\xd8\x10\x14\x88\x05\xd8\x15\x24\x88\x0a\xd8\x10\x13\x89\x05\xe0\x0e\x12\x88\x03\xd8\x11\x14\x88\x06\xd8\x10\x13\x88\x05\xd8\x15\x23\x88\x0a\xd8\x10\x12\x88\x05\xd8\x0c\x0d\x8f\x49\x89\x49\x90\x66\x98\x63\xd3\x0c\x22\x80\x45\xd8\x07\x0c\x88\x52\x88\x61\x80\x79\x90\x43\xd2\x07\x17\xd8\x0b\x10\x90\x11\x90\x31\x88\x3a\x98\x13\xd2\x0b\x1c\xf0\x06\x00\x1a\x1f\x98\x72\xa0\x01\x98\x19\x9f\x1f\x99\x1f\xd3\x19\x2a\xa8\x6a\xd2\x19\x38\x91\x41\xb8\x61\x88\x45\xd8\x14\x19\x97\x4a\x91\x4a\x98\x73\xa0\x45\xd3\x14\x2a\x88\x45\xd8\x0f\x14\x98\x02\x8a\x7b\xd8\x17\x18\x98\x25\xa0\x15\x90\x7f\xd0\x10\x26\xd8\x15\x1a\x97\x5a\x91\x5a\xa0\x03\xa0\x55\xa8\x51\xa1\x59\xd3\x15\x2f\x88\x46\xd8\x0f\x15\x98\x12\x8a\x7c\xd8\x17\x18\x98\x25\xa0\x15\x90\x7f\xd0\x10\x26\xd8\x13\x14\x90\x57\x90\x66\x90\x3a\x98\x71\xa0\x16\xa8\x06\xb0\x11\xa9\x0a\xd0\x1f\x33\xb0\x51\xb0\x76\xc0\x01\xb1\x7a\xb0\x7b\xb0\x5e\xd0\x13\x43\xd0\x0c\x43\xf0\x06\x00\x14\x19\x98\x21\x98\x42\x98\x51\x98\x25\xa0\x11\xa0\x31\xa0\x32\xa0\x15\xd0\x13\x26\xd0\x0c\x26\xd8\x09\x0e\x88\x71\x90\x11\x88\x1a\x90\x75\xd2\x09\x1c\xd8\x0b\x10\x90\x11\x90\x31\x88\x3a\x98\x13\xd2\x0b\x1c\xe0\x13\x14\x90\x52\x90\x61\x90\x35\x98\x21\x98\x41\x98\x61\x98\x26\xa0\x21\xa0\x41\xa0\x42\xa0\x25\xd0\x13\x27\xd0\x0c\x27\xf0\x06\x00\x14\x15\x90\x52\x90\x61\x90\x35\x98\x25\xa0\x11\xa0\x31\xa0\x32\xa0\x15\xd0\x13\x26\xd0\x0c\x26\xf0\x06\x00\x10\x15\x90\x65\x98\x51\x88\x7f\xd0\x08\x1e", }; static struct { @@ -100841,7 +98922,7 @@ static const_str_unc_prefix = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -100850,11 +98931,33 @@ const_str_unc_prefix = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "unc_prefix", }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[6]; + } +const_str_empty = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 5, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "empty", +}; static struct { PyASCIIObject _ascii; @@ -100863,7 +98966,7 @@ static const_str_normp = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -100872,7 +98975,7 @@ const_str_normp = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "normp", @@ -100885,7 +98988,7 @@ static const_str_index2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -100894,7 +98997,7 @@ const_str_index2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "index2", @@ -100904,66 +99007,65 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[9]; + PyObject *ob_item[10]; }_object; } -ntpath_toplevel_consts_18_localsplusnames = { +ntpath_toplevel_consts_19_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 9, + .ob_size = 10, }, .ob_item = { - & const_str_p._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(p), + &_Py_ID(sep), & const_str_altsep._ascii.ob_base, & const_str_colon._ascii.ob_base, & const_str_unc_prefix._ascii.ob_base, + & const_str_empty._ascii.ob_base, & const_str_normp._ascii.ob_base, - & const_str_start._ascii.ob_base, + &_Py_ID(start), & const_str_index._ascii.ob_base, & const_str_index2._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(604) -ntpath_toplevel_consts_18 = { + struct _PyCode_DEF(510) +ntpath_toplevel_consts_19 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 302, + .ob_size = 255, }, - .co_consts = & ntpath_toplevel_consts_18_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_18_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_19_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_19_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 15 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 154, - .co_nlocalsplus = 9, - .co_nlocals = 9, - .co_nplaincellvars = 0, + .co_firstlineno = 179, + .co_nlocalsplus = 10, + .co_nlocals = 10, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_57_localspluskinds.ob_base.ob_base, + .co_version = 554, + .co_localsplusnames = & ntpath_toplevel_consts_19_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = & const_str_splitdrive._ascii.ob_base, - .co_qualname = & const_str_splitdrive._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_18_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x05\x00\x00\x00\x00\x72\xfa\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x09\x64\x02\x7d\x01\x64\x03\x7d\x02\x64\x04\x7d\x03\x64\x05\x7d\x04\x6e\x08\x64\x06\x7d\x01\x64\x07\x7d\x02\x64\x08\x7d\x03\x64\x09\x7d\x04\x7c\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x64\x0a\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\x7a\x05\x00\x00\x6b\x02\x00\x00\x00\x00\x72\x8b\x7c\x05\x64\x0b\x64\x0c\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6b\x02\x00\x00\x00\x00\x72\x02\x64\x0c\x6e\x01\x64\x01\x7d\x06\x7c\x05\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x07\x64\x0d\x6b\x02\x00\x00\x00\x00\x72\x0c\x7c\x00\x7c\x00\x64\x0b\x64\x0a\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x53\x00\x7c\x05\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x07\x64\x0e\x7a\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x08\x64\x0d\x6b\x02\x00\x00\x00\x00\x72\x0c\x7c\x00\x7c\x00\x64\x0b\x64\x0a\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x53\x00\x7c\x00\x64\x0b\x7c\x08\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x08\x64\x0b\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x53\x00\x7c\x05\x64\x0e\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x6b\x02\x00\x00\x00\x00\x72\x14\x7c\x00\x64\x0b\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\x64\x0b\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x53\x00\x7c\x00\x64\x0b\x64\x0a\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x66\x02\x53\x00", + .co_name = & const_str_splitroot._ascii.ob_base, + .co_qualname = & const_str_splitroot._ascii.ob_base, + .co_linetable = & ntpath_toplevel_consts_19_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x0b\x64\x01\x7d\x01\x64\x02\x7d\x02\x64\x03\x7d\x03\x64\x04\x7d\x04\x64\x05\x7d\x05\x6e\x0a\x64\x06\x7d\x01\x64\x07\x7d\x02\x64\x08\x7d\x03\x64\x09\x7d\x04\x64\x0a\x7d\x05\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x64\x0b\x64\x0c\x1a\x00\x7c\x01\x6b\x28\x00\x00\x72\x7c\x7c\x06\x64\x0c\x64\x0d\x1a\x00\x7c\x01\x6b\x28\x00\x00\x72\x69\x7c\x06\x64\x0b\x64\x0e\x1a\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6b\x28\x00\x00\x72\x02\x64\x0e\x6e\x01\x64\x0d\x7d\x07\x7c\x06\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x07\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x08\x64\x0f\x6b\x28\x00\x00\x72\x05\x7c\x00\x7c\x05\x7c\x05\x66\x03\x53\x00\x7c\x06\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x08\x64\x0c\x7a\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x09\x7c\x09\x64\x0f\x6b\x28\x00\x00\x72\x05\x7c\x00\x7c\x05\x7c\x05\x66\x03\x53\x00\x7c\x00\x64\x0b\x7c\x09\x1a\x00\x7c\x00\x7c\x09\x7c\x09\x64\x0c\x7a\x00\x00\x00\x1a\x00\x7c\x00\x7c\x09\x64\x0c\x7a\x00\x00\x00\x64\x0b\x1a\x00\x66\x03\x53\x00\x7c\x05\x7c\x00\x64\x0b\x64\x0c\x1a\x00\x7c\x00\x64\x0c\x64\x0b\x1a\x00\x66\x03\x53\x00\x7c\x06\x64\x0c\x64\x0d\x1a\x00\x7c\x03\x6b\x28\x00\x00\x72\x21\x7c\x06\x64\x0d\x64\x10\x1a\x00\x7c\x01\x6b\x28\x00\x00\x72\x0e\x7c\x00\x64\x0b\x64\x0d\x1a\x00\x7c\x00\x64\x0d\x64\x10\x1a\x00\x7c\x00\x64\x10\x64\x0b\x1a\x00\x66\x03\x53\x00\x7c\x00\x64\x0b\x64\x0d\x1a\x00\x7c\x05\x7c\x00\x64\x0d\x64\x0b\x1a\x00\x66\x03\x53\x00\x7c\x05\x7c\x05\x7c\x00\x66\x03\x53\x00", ._co_firsttraceable = 0, }; static @@ -100971,10 +99073,10 @@ static PyASCIIObject _ascii; uint8_t _data[127]; } -ntpath_toplevel_consts_19_consts_0 = { +ntpath_toplevel_consts_20_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 126, @@ -100983,7 +99085,7 @@ ntpath_toplevel_consts_19_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x53\x70\x6c\x69\x74\x20\x61\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x2e\x0a\x0a\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x20\x74\x75\x70\x6c\x65\x20\x28\x68\x65\x61\x64\x2c\x20\x74\x61\x69\x6c\x29\x20\x77\x68\x65\x72\x65\x20\x74\x61\x69\x6c\x20\x69\x73\x20\x65\x76\x65\x72\x79\x74\x68\x69\x6e\x67\x20\x61\x66\x74\x65\x72\x20\x74\x68\x65\x20\x66\x69\x6e\x61\x6c\x20\x73\x6c\x61\x73\x68\x2e\x0a\x20\x20\x20\x20\x45\x69\x74\x68\x65\x72\x20\x70\x61\x72\x74\x20\x6d\x61\x79\x20\x62\x65\x20\x65\x6d\x70\x74\x79\x2e", @@ -100996,17 +99098,17 @@ static PyObject *ob_item[3]; }_object; } -ntpath_toplevel_consts_19_consts = { +ntpath_toplevel_consts_20_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & ntpath_toplevel_consts_19_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_20_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], Py_None, }, @@ -101020,11 +99122,11 @@ static PyObject *ob_item[6]; }_object; } -ntpath_toplevel_consts_19_names = { +ntpath_toplevel_consts_20_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -101033,7 +99135,7 @@ ntpath_toplevel_consts_19_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, & const_str__get_bothseps._ascii.ob_base, - & const_str_splitdrive._ascii.ob_base, + & const_str_splitroot._ascii.ob_base, &_Py_ID(len), & const_str_rstrip._ascii.ob_base, }, @@ -101043,81 +99145,80 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[181]; + char ob_sval[149]; } -ntpath_toplevel_consts_19_linetable = { +ntpath_toplevel_consts_20_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 180, + .ob_size = 148, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0a\x00\x09\x0b\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xdd\x0b\x18\x98\x11\xd1\x0b\x1b\xd4\x0b\x1b\x80\x44\xdd\x0b\x15\x90\x61\x89\x3d\x8c\x3d\x81\x44\x80\x41\x80\x71\xe5\x08\x0b\x88\x41\x89\x06\x8c\x06\x80\x41\xd8\x0a\x0b\xf0\x00\x01\x05\x0f\x90\x01\x90\x21\x90\x41\x91\x23\x94\x06\x98\x64\xd0\x10\x22\xd0\x10\x22\xd8\x08\x09\x88\x51\x89\x06\x88\x01\xf0\x03\x00\x0b\x0c\xf0\x00\x01\x05\x0f\x90\x01\x90\x21\x90\x41\x91\x23\x94\x06\x98\x64\xd0\x10\x22\xd0\x10\x22\xe0\x11\x12\x90\x32\x90\x41\x90\x32\x94\x15\x98\x01\x98\x21\x98\x22\x98\x22\x9c\x05\x88\x24\x80\x44\xe0\x0b\x0f\x8f\x3b\x8a\x3b\x90\x74\xd1\x0b\x1c\xd4\x0b\x1c\xd0\x0b\x24\xa0\x04\x80\x44\xd8\x0b\x0c\x88\x74\x89\x38\x90\x54\x88\x3e\xd0\x04\x19", + .ob_sval = "\x80\x00\xf4\x0a\x00\x09\x0b\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x0b\x18\x98\x11\xd3\x0b\x1b\x80\x44\xdc\x0e\x17\x98\x01\x8b\x6c\x81\x47\x80\x41\x80\x71\x88\x21\xe4\x08\x0b\x88\x41\x8b\x06\x80\x41\xd9\x0a\x0b\x90\x01\x90\x21\x90\x41\x91\x23\x91\x06\x98\x64\xd1\x10\x22\xd8\x08\x09\x88\x51\x89\x06\x88\x01\xf1\x03\x00\x0b\x0c\x90\x01\x90\x21\x90\x41\x91\x23\x91\x06\x98\x64\xd2\x10\x22\xe0\x11\x12\x90\x32\x90\x41\x90\x15\x98\x01\x98\x21\x98\x22\x98\x05\x88\x24\x80\x44\xd8\x0b\x0c\x88\x71\x89\x35\x90\x34\x97\x3b\x91\x3b\x98\x74\xd3\x13\x24\xd1\x0b\x24\xa0\x64\xd0\x0b\x2a\xd0\x04\x2a", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[6]; + PyObject *ob_item[7]; }_object; } -ntpath_toplevel_consts_19_localsplusnames = { +ntpath_toplevel_consts_20_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 6, + .ob_size = 7, }, .ob_item = { - & const_str_p._ascii.ob_base, + &_Py_ID(p), & const_str_seps._ascii.ob_base, - & const_str_d._ascii.ob_base, - & const_str_i._ascii.ob_base, + &_Py_ID(d), + &_Py_ID(r), + (PyObject *)&_Py_SINGLETON(strings).ascii[105], & const_str_head._ascii.ob_base, & const_str_tail._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(308) -ntpath_toplevel_consts_19 = { + struct _PyCode_DEF(248) +ntpath_toplevel_consts_20 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 154, + .ob_size = 124, }, - .co_consts = & ntpath_toplevel_consts_19_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_19_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_20_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_20_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 208, - .co_nlocalsplus = 6, - .co_nlocals = 6, - .co_nplaincellvars = 0, + .co_firstlineno = 236, + .co_nlocalsplus = 7, + .co_nlocals = 7, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_19_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 555, + .co_localsplusnames = & ntpath_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_split._ascii.ob_base, .co_qualname = & const_str_split._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_19_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x72\x21\x7c\x00\x7c\x03\x64\x01\x7a\x0a\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x76\x01\x72\x14\x7c\x03\x64\x01\x7a\x17\x00\x00\x7d\x03\x7c\x03\x72\x0d\x7c\x00\x7c\x03\x64\x01\x7a\x0a\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x76\x01\xb0\x14\x7c\x00\x64\x02\x7c\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x03\x64\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7d\x04\x7c\x04\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x01\x7c\x04\x7d\x04\x7c\x02\x7c\x04\x7a\x00\x00\x00\x7c\x05\x66\x02\x53\x00", + .co_linetable = & ntpath_toplevel_consts_20_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x02\x7d\x03\x7d\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x72\x1c\x7c\x00\x7c\x04\x64\x01\x7a\x0a\x00\x00\x19\x00\x00\x00\x7c\x01\x76\x01\x72\x12\x7c\x04\x64\x01\x7a\x17\x00\x00\x7d\x04\x7c\x04\x72\x0b\x7c\x00\x7c\x04\x64\x01\x7a\x0a\x00\x00\x19\x00\x00\x00\x7c\x01\x76\x01\x72\x01\x8c\x12\x7c\x00\x64\x02\x7c\x04\x1a\x00\x7c\x00\x7c\x04\x64\x02\x1a\x00\x7d\x06\x7d\x05\x7c\x02\x7c\x03\x7a\x00\x00\x00\x7c\x05\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7c\x06\x66\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -101128,11 +99229,11 @@ static PyObject *ob_item[7]; }_object; } -ntpath_toplevel_consts_20_consts = { +ntpath_toplevel_consts_21_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -101142,8 +99243,8 @@ ntpath_toplevel_consts_20_consts = { (PyObject *)&_Py_SINGLETON(bytes_characters[92]), (PyObject *)&_Py_SINGLETON(bytes_characters[47]), (PyObject *)&_Py_SINGLETON(bytes_characters[46]), - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[92], + (PyObject *)&_Py_SINGLETON(strings).ascii[47], &_Py_STR(dot), }, }, @@ -101156,11 +99257,11 @@ static PyObject *ob_item[6]; }_object; } -ntpath_toplevel_consts_20_names = { +ntpath_toplevel_consts_21_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -101169,7 +99270,7 @@ ntpath_toplevel_consts_20_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_genericpath._ascii.ob_base, & const_str__splitext._ascii.ob_base, }, @@ -101179,18 +99280,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[80]; + char ob_sval[72]; } -ntpath_toplevel_consts_20_linetable = { +ntpath_toplevel_consts_21_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 79, + .ob_size = 71, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x08\x0a\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xdd\x07\x11\x90\x21\x95\x55\xd1\x07\x1b\xd4\x07\x1b\xf0\x00\x03\x05\x38\xdd\x0f\x1a\xd4\x0f\x24\xa0\x51\xa8\x05\xa8\x74\xb0\x54\xd1\x0f\x3a\xd4\x0f\x3a\xd0\x08\x3a\xe5\x0f\x1a\xd4\x0f\x24\xa0\x51\xa8\x04\xa8\x63\xb0\x33\xd1\x0f\x37\xd4\x0f\x37\xd0\x08\x37", + .ob_sval = "\x80\x00\xdc\x08\x0a\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x07\x11\x90\x21\x94\x55\xd4\x07\x1b\xdc\x0f\x1a\xd7\x0f\x24\xd1\x0f\x24\xa0\x51\xa8\x05\xa8\x74\xb0\x54\xd3\x0f\x3a\xd0\x08\x3a\xe4\x0f\x1a\xd7\x0f\x24\xd1\x0f\x24\xa0\x51\xa8\x04\xa8\x63\xb0\x33\xd3\x0f\x37\xd0\x08\x37", }; static struct { @@ -101200,55 +99301,53 @@ static PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_20_localsplusnames = { +ntpath_toplevel_consts_21_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_p._ascii.ob_base, + &_Py_ID(p), }, }, }; static - struct _PyCode_DEF(176) -ntpath_toplevel_consts_20 = { + struct _PyCode_DEF(172) +ntpath_toplevel_consts_21 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 88, + .ob_size = 86, }, - .co_consts = & ntpath_toplevel_consts_20_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_20_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_21_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_21_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 231, + .co_firstlineno = 257, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, + .co_version = 556, + .co_localsplusnames = & ntpath_toplevel_consts_21_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_splitext._ascii.ob_base, .co_qualname = & const_str_splitext._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x17\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\x64\x02\x64\x03\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x04\x64\x05\x64\x06\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & ntpath_toplevel_consts_21_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x18\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\x64\x02\x64\x03\xab\x04\x00\x00\x00\x00\x00\x00\x53\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x04\x64\x05\x64\x06\xab\x04\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -101256,10 +99355,10 @@ static PyASCIIObject _ascii; uint8_t _data[42]; } -ntpath_toplevel_consts_21_consts_0 = { +ntpath_toplevel_consts_22_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 41, @@ -101268,7 +99367,7 @@ ntpath_toplevel_consts_21_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Returns the final component of a pathname", @@ -101281,17 +99380,17 @@ static PyObject *ob_item[2]; }_object; } -ntpath_toplevel_consts_21_consts = { +ntpath_toplevel_consts_22_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & ntpath_toplevel_consts_21_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_22_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], }, }, @@ -101304,11 +99403,11 @@ static PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_21_names = { +ntpath_toplevel_consts_22_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -101322,54 +99421,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[19]; + char ob_sval[17]; } -ntpath_toplevel_consts_21_linetable = { +ntpath_toplevel_consts_22_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 18, + .ob_size = 16, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x10\x90\x11\x89\x38\x8c\x38\x90\x41\x8c\x3b\xd0\x04\x16", + .ob_sval = "\x80\x00\xe4\x0b\x10\x90\x11\x8b\x38\x90\x41\x89\x3b\xd0\x04\x16", }; static - struct _PyCode_DEF(44) -ntpath_toplevel_consts_21 = { + struct _PyCode_DEF(30) +ntpath_toplevel_consts_22 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 22, + .ob_size = 15, }, - .co_consts = & ntpath_toplevel_consts_21_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_21_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_22_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_22_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 242, + .co_firstlineno = 268, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, + .co_version = 557, + .co_localsplusnames = & ntpath_toplevel_consts_21_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_basename._ascii.ob_base, .co_qualname = & const_str_basename._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_21_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & ntpath_toplevel_consts_22_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -101377,10 +99474,10 @@ static PyASCIIObject _ascii; uint8_t _data[46]; } -ntpath_toplevel_consts_22_consts_0 = { +ntpath_toplevel_consts_23_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 45, @@ -101389,7 +99486,7 @@ ntpath_toplevel_consts_22_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Returns the directory component of a pathname", @@ -101402,79 +99499,99 @@ static PyObject *ob_item[2]; }_object; } -ntpath_toplevel_consts_22_consts = { +ntpath_toplevel_consts_23_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & ntpath_toplevel_consts_22_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_23_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], }, }, }; static - struct _PyCode_DEF(44) -ntpath_toplevel_consts_22 = { + struct _PyCode_DEF(30) +ntpath_toplevel_consts_23 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 22, + .ob_size = 15, }, - .co_consts = & ntpath_toplevel_consts_22_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_21_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_23_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_22_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 249, + .co_firstlineno = 275, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, + .co_version = 558, + .co_localsplusnames = & ntpath_toplevel_consts_21_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_dirname._ascii.ob_base, .co_qualname = & const_str_dirname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_21_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & ntpath_toplevel_consts_22_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[105]; + uint8_t _data[15]; } -ntpath_toplevel_consts_23_consts_0 = { +const_str_st_reparse_tag = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 14, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "st_reparse_tag", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[34]; + } +ntpath_toplevel_consts_25_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 104, + .length = 33, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x54\x65\x73\x74\x20\x77\x68\x65\x74\x68\x65\x72\x20\x61\x20\x70\x61\x74\x68\x20\x69\x73\x20\x61\x20\x73\x79\x6d\x62\x6f\x6c\x69\x63\x20\x6c\x69\x6e\x6b\x2e\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x77\x69\x6c\x6c\x20\x61\x6c\x77\x61\x79\x73\x20\x72\x65\x74\x75\x72\x6e\x20\x66\x61\x6c\x73\x65\x20\x66\x6f\x72\x20\x57\x69\x6e\x64\x6f\x77\x73\x20\x70\x72\x69\x6f\x72\x20\x74\x6f\x20\x36\x2e\x30\x2e\x0a\x20\x20\x20\x20", + ._data = "Test whether a path is a junction", }; static struct { @@ -101484,17 +99601,17 @@ static PyObject *ob_item[2]; }_object; } -ntpath_toplevel_consts_23_consts = { +ntpath_toplevel_consts_25_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & ntpath_toplevel_consts_23_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_25_consts_0._ascii.ob_base, Py_False, }, }, @@ -101502,63 +99619,41 @@ ntpath_toplevel_consts_23_consts = { static struct { PyASCIIObject _ascii; - uint8_t _data[6]; - } -const_str_lstat = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 5, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "lstat", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[8]; + uint8_t _data[27]; } -const_str_S_ISLNK = { +const_str_IO_REPARSE_TAG_MOUNT_POINT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 7, + .length = 26, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "S_ISLNK", + ._data = "IO_REPARSE_TAG_MOUNT_POINT", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[8]; + PyObject *ob_item[9]; }_object; } -ntpath_toplevel_consts_23_names = { +ntpath_toplevel_consts_25_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 8, + .ob_size = 9, }, .ob_item = { & const_str_os._ascii.ob_base, @@ -101566,9 +99661,10 @@ ntpath_toplevel_consts_23_names = { & const_str_OSError._ascii.ob_base, & const_str_ValueError._ascii.ob_base, & const_str_AttributeError._ascii.ob_base, + & const_str_bool._ascii.ob_base, + & const_str_st_reparse_tag._ascii.ob_base, & const_str_stat._ascii.ob_base, - & const_str_S_ISLNK._ascii.ob_base, - & const_str_st_mode._ascii.ob_base, + & const_str_IO_REPARSE_TAG_MOUNT_POINT._ascii.ob_base, }, }, }; @@ -101576,71 +99672,144 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[82]; + char ob_sval[78]; } -ntpath_toplevel_consts_23_linetable = { +ntpath_toplevel_consts_25_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 81, + .ob_size = 77, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x03\x05\x15\xdd\x0d\x0f\x8c\x58\x90\x64\x89\x5e\x8c\x5e\x88\x02\x88\x02\xf8\xdd\x0c\x13\x95\x5a\xa5\x1e\xd0\x0b\x30\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xd8\x0f\x14\x88\x75\x88\x75\xf0\x03\x01\x05\x15\xf8\xf8\xf8\xe5\x0b\x0f\x8c\x3c\x98\x02\x9c\x0a\xd1\x0b\x23\xd4\x0b\x23\xd0\x04\x23", + .ob_sval = "\x80\x00\xf0\x04\x03\x09\x19\xdc\x11\x13\x97\x18\x91\x18\x98\x24\x93\x1e\x88\x42\xf4\x06\x00\x10\x14\x90\x42\xd7\x14\x25\xd1\x14\x25\xac\x14\xd7\x29\x48\xd1\x29\x48\xd1\x14\x48\xd3\x0f\x49\xd0\x08\x49\xf8\xf4\x05\x00\x11\x18\x9c\x1a\xa4\x5e\xd0\x0f\x34\xf2\x00\x01\x09\x19\xd9\x13\x18\xf0\x03\x01\x09\x19\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[13]; + char ob_sval[16]; } -ntpath_toplevel_consts_23_exceptiontable = { +ntpath_toplevel_consts_25_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 12, + .ob_size = 15, }, .ob_shash = -1, - .ob_sval = "\x82\x14\x17\x00\x97\x17\x32\x03\xb1\x01\x32\x03", + .ob_sval = "\x82\x15\x3d\x00\xbd\x14\x41\x14\x03\xc1\x13\x01\x41\x14\x03", }; static - struct _PyCode_DEF(156) -ntpath_toplevel_consts_23 = { + struct _PyCode_DEF(174) +ntpath_toplevel_consts_25 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 78, + .ob_size = 87, }, - .co_consts = & ntpath_toplevel_consts_23_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_23_names._object.ob_base.ob_base, - .co_exceptiontable = & ntpath_toplevel_consts_23_exceptiontable.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_25_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_25_names._object.ob_base.ob_base, + .co_exceptiontable = & ntpath_toplevel_consts_25_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 256, + .co_firstlineno = 283, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 559, .co_localsplusnames = & genericpath_toplevel_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = & const_str_islink._ascii.ob_base, - .co_qualname = & const_str_islink._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_23_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x1e\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_name = & const_str_isjunction._ascii.ob_base, + .co_qualname = & const_str_isjunction._ascii.ob_base, + .co_linetable = & ntpath_toplevel_consts_25_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 0, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +ntpath_toplevel_consts_26_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + & const_str_os._ascii.ob_base, + & const_str_fspath._ascii.ob_base, + }, + }, +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[17]; + } +ntpath_toplevel_consts_26_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 16, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xe4\x08\x0a\x8f\x09\x89\x09\x90\x24\x8c\x0f\xd8\x0f\x14", +}; +static + struct _PyCode_DEF(46) +ntpath_toplevel_consts_26 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 23, + }, + .co_consts = & ntpath_toplevel_consts_25_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_26_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 291, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 560, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, + .co_name = & const_str_isjunction._ascii.ob_base, + .co_qualname = & const_str_isjunction._ascii.ob_base, + .co_linetable = & ntpath_toplevel_consts_26_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -101648,10 +99817,10 @@ static PyASCIIObject _ascii; uint8_t _data[68]; } -ntpath_toplevel_consts_24_consts_0 = { +ntpath_toplevel_consts_27_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 67, @@ -101660,7 +99829,7 @@ ntpath_toplevel_consts_24_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Test whether a path exists. Returns True for broken symbolic links", @@ -101673,17 +99842,17 @@ static PyObject *ob_item[3]; }_object; } -ntpath_toplevel_consts_24_consts = { +ntpath_toplevel_consts_27_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & ntpath_toplevel_consts_24_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_27_consts_0._ascii.ob_base, Py_False, Py_True, }, @@ -101697,11 +99866,11 @@ static PyObject *ob_item[4]; }_object; } -ntpath_toplevel_consts_24_names = { +ntpath_toplevel_consts_27_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -101718,54 +99887,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[67]; + char ob_sval[51]; } -ntpath_toplevel_consts_24_linetable = { +ntpath_toplevel_consts_27_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 66, + .ob_size = 50, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdd\x0d\x0f\x8c\x58\x90\x64\x89\x5e\x8c\x5e\x88\x02\x88\x02\xf8\xdd\x0c\x13\x95\x5a\xd0\x0b\x20\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xd8\x0f\x14\x88\x75\x88\x75\xf0\x03\x01\x05\x15\xf8\xf8\xf8\xe0\x0b\x0f\x88\x34", + .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdc\x0d\x0f\x8f\x58\x89\x58\x90\x64\x8b\x5e\x88\x02\xf0\x06\x00\x0c\x10\xf8\xf4\x05\x00\x0d\x14\x94\x5a\xd0\x0b\x20\xf2\x00\x01\x05\x15\xd9\x0f\x14\xf0\x03\x01\x05\x15\xfa", }; static - struct _PyCode_DEF(98) -ntpath_toplevel_consts_24 = { + struct _PyCode_DEF(90) +ntpath_toplevel_consts_27 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 49, + .ob_size = 45, }, - .co_consts = & ntpath_toplevel_consts_24_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_24_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_27_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_27_names._object.ob_base.ob_base, .co_exceptiontable = & genericpath_toplevel_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 268, + .co_firstlineno = 299, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 561, .co_localsplusnames = & genericpath_toplevel_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_lexists._ascii.ob_base, .co_qualname = & const_str_lexists._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_24_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x18\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x64\x02\x53\x00", + .co_linetable = & ntpath_toplevel_consts_27_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x79\x02\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -101776,7 +99943,7 @@ static const_str__getvolumepathname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -101785,7 +99952,7 @@ const_str__getvolumepathname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_getvolumepathname", @@ -101798,11 +99965,11 @@ static PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_25 = { +ntpath_toplevel_consts_28 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -101817,10 +99984,10 @@ static PyASCIIObject _ascii; uint8_t _data[98]; } -ntpath_toplevel_consts_26_consts_0 = { +ntpath_toplevel_consts_29_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 97, @@ -101829,7 +99996,7 @@ ntpath_toplevel_consts_26_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x54\x65\x73\x74\x20\x77\x68\x65\x74\x68\x65\x72\x20\x61\x20\x70\x61\x74\x68\x20\x69\x73\x20\x61\x20\x6d\x6f\x75\x6e\x74\x20\x70\x6f\x69\x6e\x74\x20\x28\x61\x20\x64\x72\x69\x76\x65\x20\x72\x6f\x6f\x74\x2c\x20\x74\x68\x65\x20\x72\x6f\x6f\x74\x20\x6f\x66\x20\x61\x0a\x20\x20\x20\x20\x73\x68\x61\x72\x65\x2c\x20\x6f\x72\x20\x61\x20\x6d\x6f\x75\x6e\x74\x65\x64\x20\x76\x6f\x6c\x75\x6d\x65\x29", @@ -101842,17 +100009,17 @@ static PyObject *ob_item[4]; }_object; } -ntpath_toplevel_consts_26_consts = { +ntpath_toplevel_consts_29_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & ntpath_toplevel_consts_26_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_29_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], Py_True, Py_False, @@ -101867,11 +100034,11 @@ static PyObject *ob_item[8]; }_object; } -ntpath_toplevel_consts_26_names = { +ntpath_toplevel_consts_29_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -101881,7 +100048,7 @@ ntpath_toplevel_consts_26_names = { & const_str_fspath._ascii.ob_base, & const_str__get_bothseps._ascii.ob_base, & const_str_abspath._ascii.ob_base, - & const_str_splitdrive._ascii.ob_base, + & const_str_splitroot._ascii.ob_base, & const_str__getvolumepathname._ascii.ob_base, & const_str_rstrip._ascii.ob_base, & const_str_casefold._ascii.ob_base, @@ -101892,103 +100059,80 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[201]; + char ob_sval[146]; } -ntpath_toplevel_consts_26_linetable = { +ntpath_toplevel_consts_29_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 200, + .ob_size = 145, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x0c\x0e\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xdd\x0b\x18\x98\x14\xd1\x0b\x1e\xd4\x0b\x1e\x80\x44\xdd\x0b\x12\x90\x34\x89\x3d\x8c\x3d\x80\x44\xdd\x11\x1b\x98\x44\xd1\x11\x21\xd4\x11\x21\x81\x4a\x80\x44\x88\x24\xd8\x07\x0b\xf0\x00\x01\x05\x2c\x90\x04\x90\x51\x94\x07\x98\x34\x90\x0f\x90\x0f\xd8\x14\x18\x90\x08\xd0\x0f\x2b\x98\x64\xa0\x64\x98\x6c\xd0\x08\x2b\xd8\x07\x0b\xf0\x00\x01\x05\x14\x90\x04\x98\x04\x90\x0c\x90\x0c\xd8\x0f\x13\x88\x74\xe5\x07\x19\xf0\x00\x05\x05\x15\xd8\x0c\x10\x8f\x4b\x8a\x4b\x98\x04\xd1\x0c\x1d\xd4\x0c\x1d\x88\x01\xdd\x0b\x1d\x98\x64\xd1\x0b\x23\xd4\x0b\x23\xd7\x0b\x2a\xd2\x0b\x2a\xa8\x34\xd1\x0b\x30\xd4\x0b\x30\x88\x01\xd8\x0f\x10\x8f\x7a\x8a\x7a\x89\x7c\x8c\x7c\x98\x71\x9f\x7a\x9a\x7a\x99\x7c\x9c\x7c\xd2\x0f\x2b\xd0\x08\x2b\xe0\x0f\x14\x88\x75", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_y = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "y", + .ob_sval = "\x80\x00\xf4\x06\x00\x0c\x0e\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xdc\x0b\x18\x98\x14\xd3\x0b\x1e\x80\x44\xdc\x0b\x12\x90\x34\x8b\x3d\x80\x44\xdc\x18\x21\xa0\x24\x9b\x0f\xd1\x04\x15\x80\x45\x88\x34\x90\x14\xd9\x07\x0c\x90\x15\x90\x71\x91\x18\x98\x54\xd1\x11\x21\xd8\x13\x17\x88\x78\x88\x0f\xd9\x07\x0b\x91\x44\xd8\x0f\x13\xe5\x07\x19\xd8\x0c\x10\x8f\x4b\x89\x4b\x98\x04\xd3\x0c\x1d\x88\x01\xdc\x0b\x1d\x98\x64\xd3\x0b\x23\xd7\x0b\x2a\xd1\x0b\x2a\xa8\x34\xd3\x0b\x30\x88\x01\xd8\x0f\x10\x8f\x7a\x89\x7a\x8b\x7c\x98\x71\x9f\x7a\x99\x7a\x9b\x7c\xd1\x0f\x2b\xd0\x08\x2b\xe0\x0f\x14", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[6]; + PyObject *ob_item[7]; }_object; } -ntpath_toplevel_consts_26_localsplusnames = { +ntpath_toplevel_consts_29_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 6, + .ob_size = 7, }, .ob_item = { &_Py_ID(path), & const_str_seps._ascii.ob_base, + & const_str_drive._ascii.ob_base, & const_str_root._ascii.ob_base, & const_str_rest._ascii.ob_base, - & const_str_x._ascii.ob_base, - & const_str_y._ascii.ob_base, + &_Py_ID(x), + (PyObject *)&_Py_SINGLETON(strings).ascii[121], }, }, }; static - struct _PyCode_DEF(404) -ntpath_toplevel_consts_26 = { + struct _PyCode_DEF(318) +ntpath_toplevel_consts_29 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 202, + .ob_size = 159, }, - .co_consts = & ntpath_toplevel_consts_26_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_26_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_29_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_29_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 290, - .co_nlocalsplus = 6, - .co_nlocals = 6, - .co_nplaincellvars = 0, + .co_firstlineno = 321, + .co_nlocalsplus = 7, + .co_nlocals = 7, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_26_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 562, + .co_localsplusnames = & ntpath_toplevel_consts_29_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_ismount._ascii.ob_base, .co_qualname = & const_str_ismount._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_26_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\x72\x11\x7c\x02\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x76\x00\x72\x07\x7c\x03\x0c\x00\x70\x03\x7c\x03\x7c\x01\x76\x00\x53\x00\x7c\x03\x72\x06\x7c\x03\x7c\x01\x76\x00\x72\x02\x64\x02\x53\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x61\x7c\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x04\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00\x64\x03\x53\x00", + .co_linetable = & ntpath_toplevel_consts_29_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x02\x7d\x03\x7d\x04\x7c\x02\x72\x0a\x7c\x02\x64\x01\x19\x00\x00\x00\x7c\x01\x76\x00\x72\x03\x7c\x04\x0c\x00\x53\x00\x7c\x03\x72\x03\x7c\x04\x73\x01\x79\x02\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x72\x4c\x7c\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x05\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x53\x00\x79\x03", ._co_firsttraceable = 0, }; static @@ -101996,10 +100140,10 @@ static PyASCIIObject _ascii; uint8_t _data[77]; } -ntpath_toplevel_consts_27_consts_0 = { +ntpath_toplevel_consts_30_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 76, @@ -102008,33 +100152,11 @@ ntpath_toplevel_consts_27_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x45\x78\x70\x61\x6e\x64\x20\x7e\x20\x61\x6e\x64\x20\x7e\x75\x73\x65\x72\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x73\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x75\x73\x65\x72\x20\x6f\x72\x20\x24\x48\x4f\x4d\x45\x20\x69\x73\x20\x75\x6e\x6b\x6e\x6f\x77\x6e\x2c\x20\x64\x6f\x20\x6e\x6f\x74\x68\x69\x6e\x67\x2e", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -ntpath_toplevel_consts_27_consts_2 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "~", -}; static struct { PyASCIIObject _ascii; @@ -102043,7 +100165,7 @@ static const_str_USERPROFILE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -102052,7 +100174,7 @@ const_str_USERPROFILE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "USERPROFILE", @@ -102065,7 +100187,7 @@ static const_str_HOMEPATH = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -102074,7 +100196,7 @@ const_str_HOMEPATH = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HOMEPATH", @@ -102087,7 +100209,7 @@ static const_str_HOMEDRIVE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -102096,7 +100218,7 @@ const_str_HOMEDRIVE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HOMEDRIVE", @@ -102109,7 +100231,7 @@ static const_str_USERNAME = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -102118,7 +100240,7 @@ const_str_USERNAME = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "USERNAME", @@ -102131,19 +100253,19 @@ static PyObject *ob_item[10]; }_object; } -ntpath_toplevel_consts_27_consts = { +ntpath_toplevel_consts_30_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, }, .ob_item = { - & ntpath_toplevel_consts_27_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_30_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[126]), - & ntpath_toplevel_consts_27_consts_2._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[126], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], & const_str_USERPROFILE._ascii.ob_base, & const_str_HOMEPATH._ascii.ob_base, @@ -102162,11 +100284,11 @@ static PyObject *ob_item[15]; }_object; } -ntpath_toplevel_consts_27_names = { +ntpath_toplevel_consts_30_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -102175,7 +100297,7 @@ ntpath_toplevel_consts_27_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_startswith._ascii.ob_base, &_Py_ID(len), & const_str__get_bothseps._ascii.ob_base, @@ -102194,18 +100316,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[471]; + char ob_sval[380]; } -ntpath_toplevel_consts_27_linetable = { +ntpath_toplevel_consts_30_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 470, + .ob_size = 379, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x08\x00\x0c\x0e\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x03\x05\x14\xd8\x10\x14\x88\x05\x88\x05\xe0\x10\x13\x88\x05\xd8\x0b\x0f\x8f\x3f\x8a\x3f\x98\x35\xd1\x0b\x21\xd4\x0b\x21\xf0\x00\x01\x05\x14\xd8\x0f\x13\x88\x0b\xd8\x0b\x0c\x8d\x63\x90\x24\x89\x69\x8c\x69\x80\x71\x80\x41\xd8\x0a\x0b\x88\x61\x8a\x25\x88\x25\x90\x44\x98\x11\x94\x47\xa5\x3d\xb0\x14\xd1\x23\x36\xd4\x23\x36\xd0\x14\x36\xd0\x14\x36\xd8\x08\x09\x88\x51\x89\x06\x88\x01\xf0\x03\x00\x0b\x0c\x88\x61\x8a\x25\x88\x25\x90\x44\x98\x11\x94\x47\xa5\x3d\xb0\x14\xd1\x23\x36\xd4\x23\x36\xd0\x14\x36\xd0\x14\x36\xf0\x06\x00\x08\x15\x9d\x02\x9c\x0a\xd0\x07\x22\xd0\x07\x22\xdd\x13\x15\x94\x3a\x98\x6d\xd4\x13\x2c\x88\x08\x88\x08\xd8\x0d\x17\x9d\x32\x9c\x3a\xd0\x0d\x25\xd0\x0d\x25\xd8\x0f\x13\x88\x0b\xf0\x04\x03\x09\x17\xdd\x14\x16\x94\x4a\x98\x7b\xd4\x14\x2b\x88\x45\x88\x45\xf8\xdd\x0f\x17\xf0\x00\x01\x09\x17\xf0\x00\x01\x09\x17\xf0\x00\x01\x09\x17\xd8\x14\x16\x88\x45\x88\x45\x88\x45\xf0\x03\x01\x09\x17\xf8\xf8\xf8\xe5\x13\x17\x98\x05\x9d\x72\x9c\x7a\xa8\x2a\xd4\x1f\x35\xd1\x13\x36\xd4\x13\x36\x88\x08\xe0\x07\x08\x88\x41\x82\x76\x80\x76\xd8\x16\x1a\x98\x31\x98\x51\x98\x33\x94\x69\x88\x0b\xdd\x0b\x15\x90\x6b\xa5\x35\xd1\x0b\x29\xd4\x0b\x29\xf0\x00\x01\x09\x33\xdd\x1a\x1c\x9c\x2b\xa0\x6b\xd1\x1a\x32\xd4\x1a\x32\x88\x4b\xdd\x17\x19\x94\x7a\x97\x7e\x92\x7e\xa0\x6a\xd1\x17\x31\xd4\x17\x31\x88\x0c\xe0\x0b\x16\x98\x2c\xd2\x0b\x26\xd0\x0b\x26\xf0\x0c\x00\x10\x1c\x9d\x78\xa8\x08\xd1\x1f\x31\xd4\x1f\x31\xd2\x0f\x31\xd0\x0f\x31\xd8\x17\x1b\x90\x0b\xdd\x17\x1b\x9d\x47\xa0\x48\xd1\x1c\x2d\xd4\x1c\x2d\xa8\x7b\xd1\x17\x3b\xd4\x17\x3b\x88\x48\xe5\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x01\x05\x29\xdd\x13\x15\x94\x3b\x98\x78\xd1\x13\x28\xd4\x13\x28\x88\x08\xe0\x0b\x13\x90\x64\x98\x31\x98\x32\x98\x32\x94\x68\xd1\x0b\x1e\xd0\x04\x1e", + .ob_sval = "\x80\x00\xf4\x08\x00\x0c\x0e\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xd8\x10\x14\x89\x05\xe0\x10\x13\x88\x05\xd8\x0b\x0f\x8f\x3f\x89\x3f\x98\x35\xd4\x0b\x21\xd8\x0f\x13\x88\x0b\xd8\x0b\x0c\x8c\x63\x90\x24\x8b\x69\x80\x71\x80\x41\xd8\x0a\x0b\x88\x61\x8a\x25\x90\x44\x98\x11\x91\x47\xa4\x3d\xb0\x14\xd3\x23\x36\xd1\x14\x36\xd8\x08\x09\x88\x51\x89\x06\x88\x01\xf0\x03\x00\x0b\x0c\x88\x61\x8a\x25\x90\x44\x98\x11\x91\x47\xa4\x3d\xb0\x14\xd3\x23\x36\xd2\x14\x36\xf0\x06\x00\x08\x15\x9c\x02\x9f\x0a\x99\x0a\xd1\x07\x22\xdc\x13\x15\x97\x3a\x91\x3a\x98\x6d\xd1\x13\x2c\x89\x08\xd8\x0d\x17\x9c\x32\x9f\x3a\x99\x3a\xd1\x0d\x25\xd8\x0f\x13\x88\x0b\xf0\x04\x03\x09\x17\xdc\x14\x16\x97\x4a\x91\x4a\x98\x7b\xd1\x14\x2b\x88\x45\xf4\x06\x00\x14\x18\x98\x05\x9c\x72\x9f\x7a\x99\x7a\xa8\x2a\xd1\x1f\x35\xd3\x13\x36\x88\x08\xe0\x07\x08\x88\x41\x82\x76\xd8\x16\x1a\x98\x31\x98\x51\x90\x69\x88\x0b\xdc\x0b\x15\x90\x6b\xa4\x35\xd4\x0b\x29\xdc\x1a\x1c\x9f\x2b\x99\x2b\xa0\x6b\xd3\x1a\x32\x88\x4b\xdc\x17\x19\x97\x7a\x91\x7a\x97\x7e\x91\x7e\xa0\x6a\xd3\x17\x31\x88\x0c\xe0\x0b\x16\x98\x2c\xd2\x0b\x26\xf0\x0c\x00\x10\x1c\x9c\x78\xa8\x08\xd3\x1f\x31\xd2\x0f\x31\xd8\x17\x1b\x90\x0b\xdc\x17\x1b\x9c\x47\xa0\x48\xd3\x1c\x2d\xa8\x7b\xd3\x17\x3b\x88\x48\xe4\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xdc\x13\x15\x97\x3b\x91\x3b\x98\x78\xd3\x13\x28\x88\x08\xe0\x0b\x13\x90\x64\x98\x31\x98\x32\x90\x68\xd1\x0b\x1e\xd0\x04\x1e\xf8\xf4\x2f\x00\x10\x18\xf2\x00\x01\x09\x17\xd8\x14\x16\x8a\x45\xf0\x03\x01\x09\x17\xfa", }; static struct { @@ -102213,16 +100335,16 @@ static Py_hash_t ob_shash; char ob_sval[19]; } -ntpath_toplevel_consts_27_exceptiontable = { +ntpath_toplevel_consts_30_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\xc3\x08\x12\x43\x1b\x00\xc3\x1b\x0c\x43\x2a\x03\xc3\x29\x01\x43\x2a\x03", + .ob_sval = "\xc2\x36\x13\x46\x0b\x00\xc6\x0b\x0b\x46\x19\x03\xc6\x18\x01\x46\x19\x03", }; static struct { @@ -102232,7 +100354,7 @@ static const_str_tilde = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -102241,7 +100363,7 @@ const_str_tilde = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "tilde", @@ -102254,7 +100376,7 @@ static const_str_userhome = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -102263,33 +100385,11 @@ const_str_userhome = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "userhome", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[6]; - } -const_str_drive = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 5, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "drive", -}; static struct { PyASCIIObject _ascii; @@ -102298,7 +100398,7 @@ static const_str_target_user = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -102307,7 +100407,7 @@ const_str_target_user = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "target_user", @@ -102320,7 +100420,7 @@ static const_str_current_user = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -102329,7 +100429,7 @@ const_str_current_user = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "current_user", @@ -102342,11 +100442,11 @@ static PyObject *ob_item[8]; }_object; } -ntpath_toplevel_consts_27_localsplusnames = { +ntpath_toplevel_consts_30_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -102354,8 +100454,8 @@ ntpath_toplevel_consts_27_localsplusnames = { .ob_item = { &_Py_ID(path), & const_str_tilde._ascii.ob_base, - & const_str_i._ascii.ob_base, - & const_str_n._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], + &_Py_ID(n), & const_str_userhome._ascii.ob_base, & const_str_drive._ascii.ob_base, & const_str_target_user._ascii.ob_base, @@ -102364,40 +100464,38 @@ ntpath_toplevel_consts_27_localsplusnames = { }, }; static - struct _PyCode_DEF(934) -ntpath_toplevel_consts_27 = { + struct _PyCode_DEF(824) +ntpath_toplevel_consts_30 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 467, + .ob_size = 412, }, - .co_consts = & ntpath_toplevel_consts_27_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_27_names._object.ob_base.ob_base, - .co_exceptiontable = & ntpath_toplevel_consts_27_exceptiontable.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_30_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_30_names._object.ob_base.ob_base, + .co_exceptiontable = & ntpath_toplevel_consts_30_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 13 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 319, + .co_firstlineno = 350, .co_nlocalsplus = 8, .co_nlocals = 8, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_27_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_27_localspluskinds.ob_base.ob_base, + .co_version = 563, + .co_localsplusnames = & ntpath_toplevel_consts_30_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_13_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_expanduser._ascii.ob_base, .co_qualname = & const_str_expanduser._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_27_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x03\x64\x01\x7d\x01\x6e\x02\x64\x02\x7d\x01\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x7c\x00\x53\x00\x64\x03\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7d\x02\x7c\x02\x7c\x03\x6b\x00\x00\x00\x00\x00\x72\x39\x7c\x00\x7c\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x22\x7c\x02\x64\x03\x7a\x0d\x00\x00\x7d\x02\x7c\x02\x7c\x03\x6b\x00\x00\x00\x00\x00\x72\x17\x7c\x00\x7c\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\xb0\x22\x64\x04\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x13\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x6e\x56\x64\x05\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x02\x7c\x00\x53\x00\x09\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x12\x23\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x07\x7d\x05\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x02\x64\x03\x6b\x03\x00\x00\x00\x00\x72\x8a\x7c\x00\x64\x03\x7c\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x14\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x06\x7c\x07\x6b\x03\x00\x00\x00\x00\x72\x32\x7c\x07\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x02\x7c\x00\x53\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x14\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x7c\x00\x7c\x02\x64\x09\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x53\x00", + .co_linetable = & ntpath_toplevel_consts_30_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x03\x64\x01\x7d\x01\x6e\x02\x64\x02\x7d\x01\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x73\x02\x7c\x00\x53\x00\x64\x03\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x7d\x02\x7c\x02\x7c\x03\x6b\x02\x00\x00\x72\x2b\x7c\x00\x7c\x02\x19\x00\x00\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x76\x01\x72\x1b\x7c\x02\x64\x03\x7a\x0d\x00\x00\x7d\x02\x7c\x02\x7c\x03\x6b\x02\x00\x00\x72\x11\x7c\x00\x7c\x02\x19\x00\x00\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x76\x01\x72\x01\x8c\x1b\x64\x04\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x14\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x19\x00\x00\x00\x7d\x04\x6e\x45\x64\x05\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x02\x7c\x00\x53\x00\x09\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x19\x00\x00\x00\x7d\x05\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x19\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x02\x64\x03\x6b\x37\x00\x00\x72\x73\x7c\x00\x64\x03\x7c\x02\x1a\x00\x7d\x06\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x15\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x06\x7c\x07\x6b\x37\x00\x00\x72\x25\x7c\x07\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\x02\x7c\x00\x53\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x15\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x7c\x00\x7c\x02\x64\x09\x1a\x00\x7a\x00\x00\x00\x53\x00\x23\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x07\x7d\x05\x59\x00\x8c\xcf\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -102405,10 +100503,10 @@ static PyASCIIObject _ascii; uint8_t _data[103]; } -ntpath_toplevel_consts_28_consts_0 = { +ntpath_toplevel_consts_31_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 102, @@ -102417,7 +100515,7 @@ ntpath_toplevel_consts_28_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x45\x78\x70\x61\x6e\x64\x20\x73\x68\x65\x6c\x6c\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x66\x6f\x72\x6d\x73\x20\x24\x76\x61\x72\x2c\x20\x24\x7b\x76\x61\x72\x7d\x20\x61\x6e\x64\x20\x25\x76\x61\x72\x25\x2e\x0a\x0a\x20\x20\x20\x20\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x61\x72\x65\x20\x6c\x65\x66\x74\x20\x75\x6e\x63\x68\x61\x6e\x67\x65\x64\x2e", @@ -102427,10 +100525,10 @@ static PyASCIIObject _ascii; uint8_t _data[3]; } -ntpath_toplevel_consts_28_consts_5 = { +ntpath_toplevel_consts_31_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -102439,7 +100537,7 @@ ntpath_toplevel_consts_28_consts_5 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_-", @@ -102452,7 +100550,7 @@ static const_str_environb = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -102461,55 +100559,11 @@ const_str_environb = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "environb", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -ntpath_toplevel_consts_28_consts_11 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "$", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -ntpath_toplevel_consts_28_consts_13 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "'", -}; static struct { PyGC_Head _gc_head; @@ -102518,30 +100572,30 @@ static PyObject *ob_item[18]; }_object; } -ntpath_toplevel_consts_28_consts = { +ntpath_toplevel_consts_31_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 18, }, .ob_item = { - & ntpath_toplevel_consts_28_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_31_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[36]), (PyObject *)&_Py_SINGLETON(bytes_characters[37]), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], Py_None, - & ntpath_toplevel_consts_28_consts_5._ascii.ob_base, + & ntpath_toplevel_consts_31_consts_5._ascii.ob_base, & const_str_ascii._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[39]), (PyObject *)&_Py_SINGLETON(bytes_characters[123]), (PyObject *)&_Py_SINGLETON(bytes_characters[125]), & const_str_environb._ascii.ob_base, - & ntpath_toplevel_consts_28_consts_11._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[36], &_Py_STR(percent), - & ntpath_toplevel_consts_28_consts_13._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[39], &_Py_STR(open_br), &_Py_STR(close_br), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], @@ -102549,28 +100603,6 @@ ntpath_toplevel_consts_28_consts = { }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[7]; - } -const_str_string = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 6, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "string", -}; static struct { PyASCIIObject _ascii; @@ -102579,7 +100611,7 @@ static const_str_ascii_letters = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -102588,7 +100620,7 @@ const_str_ascii_letters = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ascii_letters", @@ -102601,7 +100633,7 @@ static const_str_digits = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -102610,7 +100642,7 @@ const_str_digits = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "digits", @@ -102623,11 +100655,11 @@ static PyObject *ob_item[15]; }_object; } -ntpath_toplevel_consts_28_names = { +ntpath_toplevel_consts_31_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -102636,8 +100668,8 @@ ntpath_toplevel_consts_28_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, - & const_str_string._ascii.ob_base, + &_Py_ID(bytes), + &_Py_ID(string), & const_str_ascii_letters._ascii.ob_base, & const_str_digits._ascii.ob_base, &_Py_ID(getattr), @@ -102655,18 +100687,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[1317]; + char ob_sval[1097]; } -ntpath_toplevel_consts_28_linetable = { +ntpath_toplevel_consts_31_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 1316, + .ob_size = 1096, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x08\x00\x0c\x0e\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x15\x05\x1d\xd8\x0b\x0f\x90\x74\xd0\x0b\x1b\xd0\x0b\x1b\xa0\x04\xa8\x44\xd0\x20\x30\xd0\x20\x30\xd8\x13\x17\x88\x4b\xd8\x08\x15\x88\x0d\x88\x0d\x88\x0d\xdd\x13\x18\x98\x16\xd4\x19\x2d\xb0\x06\xb4\x0d\xd1\x19\x3d\xc0\x04\xd1\x19\x44\xc0\x67\xd1\x13\x4e\xd4\x13\x4e\x88\x08\xd8\x10\x15\x88\x05\xd8\x12\x16\x88\x07\xd8\x10\x14\x88\x05\xd8\x11\x15\x88\x06\xd8\x11\x15\x88\x06\xdd\x12\x19\x9d\x22\x98\x6a\xa8\x24\xd1\x12\x2f\xd4\x12\x2f\x88\x07\x88\x07\xe0\x0b\x0e\x90\x64\x88\x3f\x88\x3f\x98\x73\xa8\x24\x98\x7f\x98\x7f\xd8\x13\x17\x88\x4b\xd8\x08\x15\x88\x0d\x88\x0d\x88\x0d\xd8\x13\x19\xd4\x13\x27\xa8\x26\xac\x2d\xd1\x13\x37\xb8\x24\xd1\x13\x3e\x88\x08\xd8\x10\x14\x88\x05\xd8\x12\x15\x88\x07\xd8\x10\x13\x88\x05\xd8\x11\x14\x88\x06\xd8\x11\x14\x88\x06\xdd\x12\x14\x94\x2a\x88\x07\xd8\x0a\x0e\x88\x72\x90\x01\x88\x72\x8c\x28\x80\x43\xd8\x0c\x0d\x80\x45\xdd\x0e\x11\x90\x24\x89\x69\x8c\x69\x80\x47\xd8\x0a\x0f\x90\x27\x8a\x2f\x89\x2f\xd8\x0c\x10\x90\x15\x90\x75\x98\x51\x91\x77\x90\x1d\xd4\x0c\x1f\x88\x01\xd8\x0b\x0c\x90\x05\x8a\x3a\x88\x3a\xd8\x13\x17\x98\x05\xa0\x01\x99\x09\x98\x0a\x98\x0a\xd4\x13\x23\x88\x44\xdd\x16\x19\x98\x24\x91\x69\x94\x69\x88\x47\xf0\x02\x05\x0d\x24\xd8\x18\x1c\x9f\x0a\x9a\x0a\xa0\x31\x99\x0d\x9c\x0d\x90\x05\xd8\x10\x13\x90\x71\x98\x34\xa0\x0a\xa0\x15\xa8\x11\xa1\x19\xa0\x0a\xd4\x1b\x2b\xd1\x17\x2b\xd1\x10\x2b\x90\x03\x91\x03\xf8\xdd\x13\x1d\xf0\x00\x02\x0d\x24\xf0\x00\x02\x0d\x24\xf0\x00\x02\x0d\x24\xd8\x10\x13\x90\x71\x98\x34\x91\x78\x91\x0f\x90\x03\xd8\x18\x1f\xa0\x21\x99\x0b\x90\x05\x90\x05\x91\x05\xf0\x05\x02\x0d\x24\xf8\xf8\xf8\xf0\x06\x00\x0e\x0f\x90\x27\x8a\x5c\x88\x5c\xd8\x0f\x13\x90\x45\x98\x41\x91\x49\x98\x65\xa0\x61\x99\x69\xd0\x14\x27\xd4\x0f\x28\xa8\x47\xd2\x0f\x33\xd0\x0f\x33\xd8\x10\x13\x90\x71\x91\x08\x90\x03\xd8\x10\x15\x98\x11\x91\x0a\x90\x05\x91\x05\xe0\x17\x1b\x98\x45\xa0\x21\x99\x47\x98\x48\x98\x48\x94\x7e\x90\x04\xdd\x1a\x1d\x98\x64\x99\x29\x9c\x29\x90\x07\xf0\x02\x0e\x11\x21\xd8\x1c\x20\x9f\x4a\x9a\x4a\xa0\x77\xd1\x1c\x2f\xd4\x1c\x2f\x90\x45\xf0\x0a\x00\x1b\x1f\x98\x76\xa0\x05\x98\x76\x9c\x2c\x90\x43\xf0\x02\x06\x15\x38\xd8\x1b\x22\x98\x3f\xdd\x24\x26\xa4\x4b\xb5\x02\xb4\x0a\xbd\x32\xbc\x3b\xc0\x73\xd1\x3b\x4b\xd4\x3b\x4b\xd4\x30\x4c\xd1\x24\x4d\xd4\x24\x4d\x98\x45\x98\x45\xe0\x24\x2b\xa8\x43\xa4\x4c\x98\x45\xf8\xf8\xdd\x1b\x23\xf0\x00\x01\x15\x38\xf0\x00\x01\x15\x38\xf0\x00\x01\x15\x38\xd8\x20\x27\xa8\x23\xa1\x0d\xb0\x07\xd1\x20\x37\x98\x05\x98\x05\x98\x05\xf0\x03\x01\x15\x38\xf8\xf8\xf8\xe0\x14\x17\x98\x35\x91\x4c\x90\x43\x91\x43\xf8\xf5\x19\x00\x18\x22\xf0\x00\x02\x11\x28\xf0\x00\x02\x11\x28\xf0\x00\x02\x11\x28\xd8\x14\x17\x98\x37\xa0\x54\x99\x3e\xd1\x14\x29\x90\x43\xd8\x1c\x23\xa0\x61\x99\x4b\x90\x45\x90\x45\x91\x45\xf0\x05\x02\x11\x28\xf8\xf8\xf8\xf0\x1a\x00\x0e\x0f\x90\x26\x8a\x5b\x89\x5b\xd8\x0f\x13\x90\x45\x98\x41\x91\x49\x98\x65\xa0\x61\x99\x69\xd0\x14\x27\xd4\x0f\x28\xa8\x46\xd2\x0f\x32\xd0\x0f\x32\xd8\x10\x13\x90\x71\x91\x08\x90\x03\xd8\x10\x15\x98\x11\x91\x0a\x90\x05\x91\x05\xd8\x11\x15\x90\x65\x98\x61\x91\x69\xa0\x05\xa8\x01\xa1\x09\xd0\x16\x29\xd4\x11\x2a\xa8\x65\xd2\x11\x33\xd0\x11\x33\xd8\x17\x1b\x98\x45\xa0\x21\x99\x47\x98\x48\x98\x48\x94\x7e\x90\x04\xdd\x1a\x1d\x98\x64\x99\x29\x9c\x29\x90\x07\xf0\x02\x0e\x11\x21\xd8\x1c\x20\x9f\x4a\x9a\x4a\xa0\x76\xd1\x1c\x2e\xd4\x1c\x2e\x90\x45\xf0\x0a\x00\x1b\x1f\x98\x76\xa0\x05\x98\x76\x9c\x2c\x90\x43\xf0\x02\x06\x15\x3e\xd8\x1b\x22\x98\x3f\xdd\x24\x26\xa4\x4b\xb5\x02\xb4\x0a\xbd\x32\xbc\x3b\xc0\x73\xd1\x3b\x4b\xd4\x3b\x4b\xd4\x30\x4c\xd1\x24\x4d\xd4\x24\x4d\x98\x45\x98\x45\xe0\x24\x2b\xa8\x43\xa4\x4c\x98\x45\xf8\xf8\xdd\x1b\x23\xf0\x00\x01\x15\x3e\xf0\x00\x01\x15\x3e\xf0\x00\x01\x15\x3e\xd8\x20\x26\xa8\x15\xa1\x0e\xb0\x13\xd1\x20\x34\xb0\x76\xd1\x20\x3d\x98\x05\x98\x05\x98\x05\xf0\x03\x01\x15\x3e\xf8\xf8\xf8\xe0\x14\x17\x98\x35\x91\x4c\x90\x43\x90\x43\xf8\xf5\x19\x00\x18\x22\xf0\x00\x02\x11\x28\xf0\x00\x02\x11\x28\xf0\x00\x02\x11\x28\xd8\x14\x17\x98\x36\xa0\x45\x99\x3e\xa8\x44\xd1\x1b\x30\xd1\x14\x30\x90\x43\xd8\x1c\x23\xa0\x61\x99\x4b\x90\x45\x90\x45\x90\x45\xf0\x05\x02\x11\x28\xf8\xf8\xf8\xf0\x1c\x00\x17\x1b\x98\x32\x98\x41\x98\x32\x94\x68\x90\x03\xd8\x10\x15\x98\x11\x91\x0a\x90\x05\xd8\x14\x18\x98\x15\x98\x75\xa0\x71\x99\x79\x98\x1f\xd4\x14\x29\x90\x01\xd8\x16\x17\xf0\x00\x03\x11\x2e\x98\x41\xa0\x18\x98\x4d\x98\x4d\xd8\x14\x17\x98\x31\x91\x48\x90\x43\xd8\x14\x19\x98\x51\x91\x4a\x90\x45\xd8\x18\x1c\x98\x55\xa0\x35\xa8\x31\xa1\x39\x98\x5f\xd4\x18\x2d\x90\x41\xf0\x07\x00\x17\x18\xf0\x00\x03\x11\x2e\x98\x41\xa0\x18\x98\x4d\x98\x4d\xf0\x08\x06\x11\x29\xd8\x17\x1e\x90\x7f\xdd\x20\x22\xa4\x0b\xad\x42\xac\x4a\xb5\x72\xb4\x7b\xc0\x33\xd1\x37\x47\xd4\x37\x47\xd4\x2c\x48\xd1\x20\x49\xd4\x20\x49\x98\x05\x98\x05\xe0\x20\x27\xa8\x03\xa4\x0c\x98\x05\xf8\xf8\xdd\x17\x1f\xf0\x00\x01\x11\x29\xf0\x00\x01\x11\x29\xf0\x00\x01\x11\x29\xd8\x1c\x22\xa0\x53\x99\x4c\x90\x45\x90\x45\x90\x45\xf0\x03\x01\x11\x29\xf8\xf8\xf8\xe0\x10\x13\x90\x75\x91\x0c\x90\x03\xd8\x13\x14\xf0\x00\x01\x11\x1f\xd8\x14\x19\x98\x51\x91\x4a\x90\x45\xf8\xe0\x0c\x0f\x90\x31\x89\x48\x88\x43\xd8\x08\x0d\x90\x11\x89\x0a\x88\x05\xf0\x57\x02\x00\x0b\x10\x90\x27\x8a\x2f\x89\x2f\xf0\x58\x02\x00\x0c\x0f\x80\x4a", + .ob_sval = "\x80\x00\xf4\x08\x00\x0c\x0e\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xd8\x0b\x0f\x90\x74\xd1\x0b\x1b\xa0\x04\xa8\x44\xd1\x20\x30\xd8\x13\x17\x88\x4b\xdb\x08\x15\xdc\x13\x18\x98\x16\xd7\x19\x2d\xd1\x19\x2d\xb0\x06\xb7\x0d\xb1\x0d\xd1\x19\x3d\xc0\x04\xd1\x19\x44\xc0\x67\xd3\x13\x4e\x88\x08\xd8\x10\x15\x88\x05\xd8\x12\x16\x88\x07\xd8\x10\x14\x88\x05\xd8\x11\x15\x88\x06\xd8\x11\x15\x88\x06\xdc\x12\x19\x9c\x22\x98\x6a\xa8\x24\xd3\x12\x2f\x89\x07\xe0\x0b\x0e\x90\x64\x89\x3f\x98\x73\xa8\x24\x99\x7f\xd8\x13\x17\x88\x4b\xdb\x08\x15\xd8\x13\x19\xd7\x13\x27\xd1\x13\x27\xa8\x26\xaf\x2d\xa9\x2d\xd1\x13\x37\xb8\x24\xd1\x13\x3e\x88\x08\xd8\x10\x14\x88\x05\xd8\x12\x15\x88\x07\xd8\x10\x13\x88\x05\xd8\x11\x14\x88\x06\xd8\x11\x14\x88\x06\xdc\x12\x14\x97\x2a\x91\x2a\x88\x07\xd8\x0a\x0e\x88\x72\x90\x01\x88\x28\x80\x43\xd8\x0c\x0d\x80\x45\xdc\x0e\x11\x90\x24\x8b\x69\x80\x47\xd8\x0a\x0f\x90\x27\x8b\x2f\xd8\x0c\x10\x90\x15\x90\x75\x98\x51\x91\x77\xd0\x0c\x1f\x88\x01\xd8\x0b\x0c\x90\x05\x8a\x3a\xd8\x13\x17\x98\x05\xa0\x01\x99\x09\x98\x0a\xd0\x13\x23\x88\x44\xdc\x16\x19\x98\x24\x93\x69\x88\x47\xf0\x02\x05\x0d\x24\xd8\x18\x1c\x9f\x0a\x99\x0a\xa0\x31\x9b\x0d\x90\x05\xd8\x10\x13\x90\x71\x98\x34\xa0\x0a\xa0\x15\xa8\x11\xa1\x19\xd0\x1b\x2b\xd1\x17\x2b\xd1\x10\x2b\x92\x03\xf0\x08\x00\x0e\x0f\x90\x27\x8a\x5c\xd8\x0f\x13\x90\x45\x98\x41\x91\x49\x98\x65\xa0\x61\x99\x69\xd0\x0f\x28\xa8\x47\xd2\x0f\x33\xd8\x10\x13\x90\x71\x91\x08\x90\x03\xd8\x10\x15\x98\x11\x91\x0a\x92\x05\xe0\x17\x1b\x98\x45\xa0\x21\x99\x47\x98\x48\x90\x7e\x90\x04\xdc\x1a\x1d\x98\x64\x9b\x29\x90\x07\xf0\x02\x0e\x11\x21\xd8\x1c\x20\x9f\x4a\x99\x4a\xa0\x77\xd3\x1c\x2f\x90\x45\xf0\x0a\x00\x1b\x1f\x98\x76\xa0\x05\x98\x2c\x90\x43\xf0\x02\x06\x15\x38\xd8\x1b\x22\x98\x3f\xdc\x24\x26\xa7\x4b\xa1\x4b\xb4\x02\xb7\x0a\xb1\x0a\xbc\x32\xbf\x3b\xb9\x3b\xc0\x73\xd3\x3b\x4b\xd1\x30\x4c\xd3\x24\x4d\x99\x45\xe0\x24\x2b\xa8\x43\xa1\x4c\x98\x45\xf0\x06\x00\x15\x18\x98\x35\x91\x4c\x92\x43\xd8\x0d\x0e\x90\x26\x8b\x5b\xd8\x0f\x13\x90\x45\x98\x41\x91\x49\x98\x65\xa0\x61\x99\x69\xd0\x0f\x28\xa8\x46\xd2\x0f\x32\xd8\x10\x13\x90\x71\x91\x08\x90\x03\xd8\x10\x15\x98\x11\x91\x0a\x92\x05\xd8\x11\x15\x90\x65\x98\x61\x91\x69\xa0\x05\xa8\x01\xa1\x09\xd0\x11\x2a\xa8\x65\xd2\x11\x33\xd8\x17\x1b\x98\x45\xa0\x21\x99\x47\x98\x48\x90\x7e\x90\x04\xdc\x1a\x1d\x98\x64\x9b\x29\x90\x07\xf0\x02\x0e\x11\x21\xd8\x1c\x20\x9f\x4a\x99\x4a\xa0\x76\xd3\x1c\x2e\x90\x45\xf0\x0a\x00\x1b\x1f\x98\x76\xa0\x05\x98\x2c\x90\x43\xf0\x02\x06\x15\x3e\xd8\x1b\x22\x98\x3f\xdc\x24\x26\xa7\x4b\xa1\x4b\xb4\x02\xb7\x0a\xb1\x0a\xbc\x32\xbf\x3b\xb9\x3b\xc0\x73\xd3\x3b\x4b\xd1\x30\x4c\xd3\x24\x4d\x99\x45\xe0\x24\x2b\xa8\x43\xa1\x4c\x98\x45\xf0\x06\x00\x15\x18\x98\x35\x91\x4c\x91\x43\xe0\x16\x1a\x98\x32\x98\x41\x90\x68\x90\x03\xd8\x10\x15\x98\x11\x91\x0a\x90\x05\xd8\x14\x18\x98\x15\x98\x75\xa0\x71\x99\x79\xd0\x14\x29\x90\x01\xd9\x16\x17\x98\x41\xa0\x18\x99\x4d\xd8\x14\x17\x98\x31\x91\x48\x90\x43\xd8\x14\x19\x98\x51\x91\x4a\x90\x45\xd8\x18\x1c\x98\x55\xa0\x35\xa8\x31\xa1\x39\xd0\x18\x2d\x90\x41\xf1\x07\x00\x17\x18\x98\x41\xa0\x18\x9a\x4d\xf0\x08\x06\x11\x29\xd8\x17\x1e\x90\x7f\xdc\x20\x22\xa7\x0b\xa1\x0b\xac\x42\xaf\x4a\xa9\x4a\xb4\x72\xb7\x7b\xb1\x7b\xc0\x33\xd3\x37\x47\xd1\x2c\x48\xd3\x20\x49\x99\x05\xe0\x20\x27\xa8\x03\xa1\x0c\x98\x05\xf0\x06\x00\x11\x14\x90\x75\x91\x0c\x90\x03\xd9\x13\x14\xd8\x14\x19\x98\x51\x91\x4a\x91\x45\xe0\x0c\x0f\x90\x31\x89\x48\x88\x43\xd8\x08\x0d\x90\x11\x89\x0a\x88\x05\xf0\x57\x02\x00\x0b\x10\x90\x27\x8c\x2f\xf0\x58\x02\x00\x0c\x0f\x80\x4a\xf8\xf4\x49\x02\x00\x14\x1e\xf2\x00\x02\x0d\x24\xd8\x10\x13\x90\x71\x98\x34\x91\x78\x91\x0f\x90\x03\xd8\x18\x1f\xa0\x21\x99\x0b\x92\x05\xf0\x05\x02\x0d\x24\xfb\xf4\x2c\x00\x1c\x24\xf2\x00\x01\x15\x38\xd8\x20\x27\xa8\x23\xa1\x0d\xb0\x07\xd1\x20\x37\x9b\x05\xf0\x03\x01\x15\x38\xfb\xf4\x15\x00\x18\x22\xf2\x00\x02\x11\x28\xd8\x14\x17\x98\x37\xa0\x54\x99\x3e\xd1\x14\x29\x90\x43\xd8\x1c\x23\xa0\x61\x99\x4b\x92\x45\xf0\x05\x02\x11\x28\xfb\xf4\x40\x01\x00\x1c\x24\xf2\x00\x01\x15\x3e\xd8\x20\x26\xa8\x15\xa1\x0e\xb0\x13\xd1\x20\x34\xb0\x76\xd1\x20\x3d\x9a\x05\xf0\x03\x01\x15\x3e\xfb\xf4\x15\x00\x18\x22\xf2\x00\x02\x11\x28\xd8\x14\x17\x98\x36\xa0\x45\x99\x3e\xa8\x44\xd1\x1b\x30\xd1\x14\x30\x90\x43\xd8\x1c\x23\xa0\x61\x99\x4b\x92\x45\xf0\x05\x02\x11\x28\xfb\xf4\x34\x00\x18\x20\xf2\x00\x01\x11\x29\xd8\x1c\x22\xa0\x53\x99\x4c\x92\x45\xf0\x03\x01\x11\x29\xfa", }; static struct { @@ -102674,16 +100706,16 @@ static Py_hash_t ob_shash; char ob_sval[112]; } -ntpath_toplevel_consts_28_exceptiontable = { +ntpath_toplevel_consts_31_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 111, }, .ob_shash = -1, - .ob_sval = "\xc4\x01\x28\x44\x2b\x00\xc4\x2b\x17\x45\x06\x03\xc5\x05\x01\x45\x06\x03\xc6\x0c\x15\x48\x0d\x00\xc6\x2c\x41\x01\x47\x2e\x00\xc7\x2e\x12\x48\x03\x03\xc8\x02\x01\x48\x03\x03\xc8\x0d\x17\x48\x28\x03\xc8\x27\x01\x48\x28\x03\xca\x03\x15\x4c\x06\x00\xca\x23\x41\x01\x4b\x25\x00\xcb\x25\x15\x4b\x3d\x03\xcb\x3c\x01\x4b\x3d\x03\xcc\x06\x1a\x4c\x23\x03\xcc\x22\x01\x4c\x23\x03\xcd\x26\x41\x01\x4e\x28\x00\xce\x28\x0f\x4e\x3a\x03\xce\x39\x01\x4e\x3a\x03", + .ob_sval = "\xc3\x33\x1f\x4b\x19\x00\xc5\x07\x11\x4c\x0d\x00\xc5\x1e\x41\x01\x4b\x35\x00\xc7\x28\x11\x4d\x03\x00\xc7\x3f\x41\x01\x4c\x29\x00\xc9\x38\x41\x01\x4d\x22\x00\xcb\x19\x16\x4b\x32\x03\xcb\x31\x01\x4b\x32\x03\xcb\x35\x11\x4c\x0a\x03\xcc\x09\x01\x4c\x0a\x03\xcc\x0d\x16\x4c\x26\x03\xcc\x25\x01\x4c\x26\x03\xcc\x29\x14\x4d\x00\x03\xcc\x3f\x01\x4d\x00\x03\xcd\x03\x19\x4d\x1f\x03\xcd\x1e\x01\x4d\x1f\x03\xcd\x22\x0e\x4d\x33\x03\xcd\x32\x01\x4d\x33\x03", }; static struct { @@ -102693,7 +100725,7 @@ static const_str_varchars = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -102702,7 +100734,7 @@ const_str_varchars = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "varchars", @@ -102715,7 +100747,7 @@ static const_str_quote = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -102724,7 +100756,7 @@ const_str_quote = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "quote", @@ -102737,7 +100769,7 @@ static const_str_percent = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -102746,7 +100778,7 @@ const_str_percent = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "percent", @@ -102759,7 +100791,7 @@ static const_str_brace = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -102768,7 +100800,7 @@ const_str_brace = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "brace", @@ -102781,7 +100813,7 @@ static const_str_rbrace = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -102790,7 +100822,7 @@ const_str_rbrace = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "rbrace", @@ -102803,7 +100835,7 @@ static const_str_dollar = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -102812,7 +100844,7 @@ const_str_dollar = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dollar", @@ -102825,7 +100857,7 @@ static const_str_res = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -102834,7 +100866,7 @@ const_str_res = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "res", @@ -102847,7 +100879,7 @@ static const_str_pathlen = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -102856,7 +100888,7 @@ const_str_pathlen = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pathlen", @@ -102869,7 +100901,7 @@ static const_str_var = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -102878,7 +100910,7 @@ const_str_var = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "var", @@ -102891,18 +100923,18 @@ static PyObject *ob_item[15]; }_object; } -ntpath_toplevel_consts_28_localsplusnames = { +ntpath_toplevel_consts_31_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, }, .ob_item = { &_Py_ID(path), - & const_str_string._ascii.ob_base, + &_Py_ID(string), & const_str_varchars._ascii.ob_base, & const_str_quote._ascii.ob_base, & const_str_percent._ascii.ob_base, @@ -102913,47 +100945,45 @@ ntpath_toplevel_consts_28_localsplusnames = { & const_str_res._ascii.ob_base, & const_str_index._ascii.ob_base, & const_str_pathlen._ascii.ob_base, - & const_str_c._ascii.ob_base, + &_Py_ID(c), & const_str_var._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(1978) -ntpath_toplevel_consts_28 = { + struct _PyCode_DEF(1772) +ntpath_toplevel_consts_31 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 989, + .ob_size = 886, }, - .co_consts = & ntpath_toplevel_consts_28_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_28_names._object.ob_base.ob_base, - .co_exceptiontable = & ntpath_toplevel_consts_28_exceptiontable.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_31_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_31_names._object.ob_base.ob_base, + .co_exceptiontable = & ntpath_toplevel_consts_31_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 21 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 380, + .co_firstlineno = 411, .co_nlocalsplus = 15, .co_nlocals = 15, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_28_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_57_consts_9_localspluskinds.ob_base.ob_base, + .co_version = 564, + .co_localsplusnames = & ntpath_toplevel_consts_31_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_56_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_expandvars._ascii.ob_base, .co_qualname = & const_str_expandvars._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_28_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x4f\x64\x01\x7c\x00\x76\x01\x72\x06\x64\x02\x7c\x00\x76\x01\x72\x02\x7c\x00\x53\x00\x64\x03\x64\x04\x6c\x04\x7d\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x64\x05\x7a\x00\x00\x00\x64\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x07\x7d\x03\x64\x02\x7d\x04\x64\x08\x7d\x05\x64\x09\x7d\x06\x64\x01\x7d\x07\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\x64\x04\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x6e\x36\x64\x0b\x7c\x00\x76\x01\x72\x06\x64\x0c\x7c\x00\x76\x01\x72\x02\x7c\x00\x53\x00\x64\x03\x64\x04\x6c\x04\x7d\x01\x7c\x01\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x64\x05\x7a\x00\x00\x00\x7d\x02\x64\x0d\x7d\x03\x64\x0c\x7d\x04\x64\x0e\x7d\x05\x64\x0f\x7d\x06\x64\x0b\x7d\x07\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x00\x64\x04\x64\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x64\x03\x7d\x0a\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x0a\x7c\x0b\x6b\x00\x00\x00\x00\x00\x90\x03\x72\x0a\x7c\x00\x7c\x0a\x7c\x0a\x64\x10\x7a\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x7c\x0c\x7c\x03\x6b\x02\x00\x00\x00\x00\x72\x65\x7c\x00\x7c\x0a\x64\x10\x7a\x00\x00\x00\x64\x04\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x09\x00\x7c\x00\xa0\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0c\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x09\x7c\x0c\x7c\x00\x64\x04\x7c\x0a\x64\x10\x7a\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7a\x0d\x00\x00\x7d\x09\x90\x02\x6e\xa4\x23\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x7c\x09\x7c\x0c\x7c\x00\x7a\x00\x00\x00\x7a\x0d\x00\x00\x7d\x09\x7c\x0b\x64\x10\x7a\x0a\x00\x00\x7d\x0a\x59\x00\x90\x02\x6e\x8a\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x0c\x7c\x04\x6b\x02\x00\x00\x00\x00\x72\xdc\x7c\x00\x7c\x0a\x64\x10\x7a\x00\x00\x00\x7c\x0a\x64\x11\x7a\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6b\x02\x00\x00\x00\x00\x72\x0c\x7c\x09\x7c\x0c\x7a\x0d\x00\x00\x7d\x09\x7c\x0a\x64\x10\x7a\x0d\x00\x00\x7d\x0a\x90\x02\x6e\x60\x7c\x00\x7c\x0a\x64\x10\x7a\x00\x00\x00\x64\x04\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x09\x00\x7c\x00\xa0\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x00\x64\x04\x7c\x0a\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0d\x09\x00\x7c\x08\x80\x37\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x6e\x08\x7c\x08\x7c\x0d\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x6e\x18\x23\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0b\x01\x00\x7c\x04\x7c\x0d\x7a\x00\x00\x00\x7c\x04\x7a\x00\x00\x00\x7d\x0e\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x09\x7c\x0e\x7a\x0d\x00\x00\x7d\x09\x90\x01\x6e\xc2\x23\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x7c\x09\x7c\x04\x7c\x00\x7a\x00\x00\x00\x7a\x0d\x00\x00\x7d\x09\x7c\x0b\x64\x10\x7a\x0a\x00\x00\x7d\x0a\x59\x00\x90\x01\x6e\xa8\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x0c\x7c\x07\x6b\x02\x00\x00\x00\x00\x90\x01\x72\x98\x7c\x00\x7c\x0a\x64\x10\x7a\x00\x00\x00\x7c\x0a\x64\x11\x7a\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x6b\x02\x00\x00\x00\x00\x72\x0c\x7c\x09\x7c\x0c\x7a\x0d\x00\x00\x7d\x09\x7c\x0a\x64\x10\x7a\x0d\x00\x00\x7d\x0a\x90\x01\x6e\x7d\x7c\x00\x7c\x0a\x64\x10\x7a\x00\x00\x00\x7c\x0a\x64\x11\x7a\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x6b\x02\x00\x00\x00\x00\x72\xc0\x7c\x00\x7c\x0a\x64\x11\x7a\x00\x00\x00\x64\x04\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x09\x00\x7c\x00\xa0\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x00\x64\x04\x7c\x0a\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0d\x09\x00\x7c\x08\x80\x37\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x6e\x08\x7c\x08\x7c\x0d\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x6e\x1b\x23\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0e\x01\x00\x7c\x07\x7c\x05\x7a\x00\x00\x00\x7c\x0d\x7a\x00\x00\x00\x7c\x06\x7a\x00\x00\x00\x7d\x0e\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x09\x7c\x0e\x7a\x0d\x00\x00\x7d\x09\x6e\xc9\x23\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x13\x01\x00\x7c\x09\x7c\x07\x7c\x05\x7a\x00\x00\x00\x7c\x00\x7a\x00\x00\x00\x7a\x0d\x00\x00\x7d\x09\x7c\x0b\x64\x10\x7a\x0a\x00\x00\x7d\x0a\x59\x00\x6e\xad\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x00\x64\x04\x64\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0d\x7c\x0a\x64\x10\x7a\x0d\x00\x00\x7d\x0a\x7c\x00\x7c\x0a\x7c\x0a\x64\x10\x7a\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x7c\x0c\x72\x21\x7c\x0c\x7c\x02\x76\x00\x72\x1d\x7c\x0d\x7c\x0c\x7a\x0d\x00\x00\x7d\x0d\x7c\x0a\x64\x10\x7a\x0d\x00\x00\x7d\x0a\x7c\x00\x7c\x0a\x7c\x0a\x64\x10\x7a\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x7c\x0c\x72\x04\x7c\x0c\x7c\x02\x76\x00\xb0\x1d\x09\x00\x7c\x08\x80\x37\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x6e\x08\x7c\x08\x7c\x0d\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x6e\x15\x23\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x08\x01\x00\x7c\x07\x7c\x0d\x7a\x00\x00\x00\x7d\x0e\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x09\x7c\x0e\x7a\x0d\x00\x00\x7d\x09\x7c\x0c\x72\x05\x7c\x0a\x64\x10\x7a\x17\x00\x00\x7d\x0a\x6e\x05\x7c\x09\x7c\x0c\x7a\x0d\x00\x00\x7d\x09\x7c\x0a\x64\x10\x7a\x0d\x00\x00\x7d\x0a\x7c\x0a\x7c\x0b\x6b\x00\x00\x00\x00\x00\x90\x03\xb0\x0a\x7c\x09\x53\x00", + .co_linetable = & ntpath_toplevel_consts_31_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x50\x64\x01\x7c\x00\x76\x01\x72\x06\x64\x02\x7c\x00\x76\x01\x72\x02\x7c\x00\x53\x00\x64\x03\x64\x04\x6c\x04\x7d\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x64\x05\x7a\x00\x00\x00\x64\x06\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x07\x7d\x03\x64\x02\x7d\x04\x64\x08\x7d\x05\x64\x09\x7d\x06\x64\x01\x7d\x07\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\x64\x04\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x08\x6e\x44\x64\x0b\x7c\x00\x76\x01\x72\x06\x64\x0c\x7c\x00\x76\x01\x72\x02\x7c\x00\x53\x00\x64\x03\x64\x04\x6c\x04\x7d\x01\x7c\x01\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x64\x05\x7a\x00\x00\x00\x7d\x02\x64\x0d\x7d\x03\x64\x0c\x7d\x04\x64\x0e\x7d\x05\x64\x0f\x7d\x06\x64\x0b\x7d\x07\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x00\x64\x04\x64\x03\x1a\x00\x7d\x09\x64\x03\x7d\x0a\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x0a\x7c\x0b\x6b\x02\x00\x00\x90\x02\x72\x05\x7c\x00\x7c\x0a\x7c\x0a\x64\x10\x7a\x00\x00\x00\x1a\x00\x7d\x0c\x7c\x0c\x7c\x03\x6b\x28\x00\x00\x72\x35\x7c\x00\x7c\x0a\x64\x10\x7a\x00\x00\x00\x64\x04\x1a\x00\x7d\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0b\x09\x00\x7c\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0c\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x09\x7c\x0c\x7c\x00\x64\x04\x7c\x0a\x64\x10\x7a\x00\x00\x00\x1a\x00\x7a\x00\x00\x00\x7a\x0d\x00\x00\x7d\x09\x90\x01\x6e\xb7\x7c\x0c\x7c\x04\x6b\x28\x00\x00\x72\x8d\x7c\x00\x7c\x0a\x64\x10\x7a\x00\x00\x00\x7c\x0a\x64\x11\x7a\x00\x00\x00\x1a\x00\x7c\x04\x6b\x28\x00\x00\x72\x0c\x7c\x09\x7c\x0c\x7a\x0d\x00\x00\x7d\x09\x7c\x0a\x64\x10\x7a\x0d\x00\x00\x7d\x0a\x90\x01\x6e\x98\x7c\x00\x7c\x0a\x64\x10\x7a\x00\x00\x00\x64\x04\x1a\x00\x7d\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0b\x09\x00\x7c\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x00\x64\x04\x7c\x0a\x1a\x00\x7d\x0d\x09\x00\x7c\x08\x80\x3a\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xab\x01\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0e\x6e\x05\x7c\x08\x7c\x0d\x19\x00\x00\x00\x7d\x0e\x7c\x09\x7c\x0e\x7a\x0d\x00\x00\x7d\x09\x90\x01\x6e\x25\x7c\x0c\x7c\x07\x6b\x28\x00\x00\x90\x01\x72\x1a\x7c\x00\x7c\x0a\x64\x10\x7a\x00\x00\x00\x7c\x0a\x64\x11\x7a\x00\x00\x00\x1a\x00\x7c\x07\x6b\x28\x00\x00\x72\x0c\x7c\x09\x7c\x0c\x7a\x0d\x00\x00\x7d\x09\x7c\x0a\x64\x10\x7a\x0d\x00\x00\x7d\x0a\x90\x01\x6e\x05\x7c\x00\x7c\x0a\x64\x10\x7a\x00\x00\x00\x7c\x0a\x64\x11\x7a\x00\x00\x00\x1a\x00\x7c\x05\x6b\x28\x00\x00\x72\x72\x7c\x00\x7c\x0a\x64\x11\x7a\x00\x00\x00\x64\x04\x1a\x00\x7d\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0b\x09\x00\x7c\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x00\x64\x04\x7c\x0a\x1a\x00\x7d\x0d\x09\x00\x7c\x08\x80\x3a\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xab\x01\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0e\x6e\x05\x7c\x08\x7c\x0d\x19\x00\x00\x00\x7d\x0e\x7c\x09\x7c\x0e\x7a\x0d\x00\x00\x7d\x09\x6e\x85\x7c\x00\x64\x04\x64\x03\x1a\x00\x7d\x0d\x7c\x0a\x64\x10\x7a\x0d\x00\x00\x7d\x0a\x7c\x00\x7c\x0a\x7c\x0a\x64\x10\x7a\x00\x00\x00\x1a\x00\x7d\x0c\x7c\x0c\x72\x1d\x7c\x0c\x7c\x02\x76\x00\x72\x19\x7c\x0d\x7c\x0c\x7a\x0d\x00\x00\x7d\x0d\x7c\x0a\x64\x10\x7a\x0d\x00\x00\x7d\x0a\x7c\x00\x7c\x0a\x7c\x0a\x64\x10\x7a\x00\x00\x00\x1a\x00\x7d\x0c\x7c\x0c\x72\x05\x7c\x0c\x7c\x02\x76\x00\x72\x01\x8c\x19\x09\x00\x7c\x08\x80\x3a\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xab\x01\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0e\x6e\x05\x7c\x08\x7c\x0d\x19\x00\x00\x00\x7d\x0e\x7c\x09\x7c\x0e\x7a\x0d\x00\x00\x7d\x09\x7c\x0c\x72\x0b\x7c\x0a\x64\x10\x7a\x17\x00\x00\x7d\x0a\x6e\x05\x7c\x09\x7c\x0c\x7a\x0d\x00\x00\x7d\x09\x7c\x0a\x64\x10\x7a\x0d\x00\x00\x7d\x0a\x7c\x0a\x7c\x0b\x6b\x02\x00\x00\x72\x02\x90\x02\x8c\x05\x7c\x09\x53\x00\x23\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x10\x01\x00\x7c\x09\x7c\x0c\x7c\x00\x7a\x00\x00\x00\x7a\x0d\x00\x00\x7d\x09\x7c\x0b\x64\x10\x7a\x0a\x00\x00\x7d\x0a\x59\x00\x8c\x26\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0c\x01\x00\x7c\x04\x7c\x0d\x7a\x00\x00\x00\x7c\x04\x7a\x00\x00\x00\x7d\x0e\x59\x00\x90\x01\x8c\x6a\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x10\x01\x00\x7c\x09\x7c\x04\x7c\x00\x7a\x00\x00\x00\x7a\x0d\x00\x00\x7d\x09\x7c\x0b\x64\x10\x7a\x0a\x00\x00\x7d\x0a\x59\x00\x8c\x5a\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0e\x01\x00\x7c\x07\x7c\x05\x7a\x00\x00\x00\x7c\x0d\x7a\x00\x00\x00\x7c\x06\x7a\x00\x00\x00\x7d\x0e\x59\x00\x8c\xff\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x13\x01\x00\x7c\x09\x7c\x07\x7c\x05\x7a\x00\x00\x00\x7c\x00\x7a\x00\x00\x00\x7a\x0d\x00\x00\x7d\x09\x7c\x0b\x64\x10\x7a\x0a\x00\x00\x7d\x0a\x59\x00\x8c\x93\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x08\x01\x00\x7c\x07\x7c\x0d\x7a\x00\x00\x00\x7d\x0e\x59\x00\x8c\xb9\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -102964,7 +100994,7 @@ static const_str__path_normpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -102973,7 +101003,7 @@ const_str__path_normpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_path_normpath", @@ -102986,11 +101016,11 @@ static PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_29 = { +ntpath_toplevel_consts_32 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -103005,10 +101035,10 @@ static PyASCIIObject _ascii; uint8_t _data[49]; } -ntpath_toplevel_consts_30_consts_0 = { +ntpath_toplevel_consts_33_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 48, @@ -103017,7 +101047,7 @@ ntpath_toplevel_consts_30_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Normalize path, eliminating double slashes, etc.", @@ -103030,17 +101060,17 @@ static PyObject *ob_item[3]; }_object; } -ntpath_toplevel_consts_30_consts = { +ntpath_toplevel_consts_33_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & ntpath_toplevel_consts_30_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_33_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[46]), &_Py_STR(dot), }, @@ -103054,11 +101084,11 @@ static PyObject *ob_item[7]; }_object; } -ntpath_toplevel_consts_30_names = { +ntpath_toplevel_consts_33_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -103067,7 +101097,7 @@ ntpath_toplevel_consts_30_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_fsencode._ascii.ob_base, & const_str__path_normpath._ascii.ob_base, & const_str_fsdecode._ascii.ob_base, @@ -103078,54 +101108,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[93]; + char ob_sval[76]; } -ntpath_toplevel_consts_30_linetable = { +ntpath_toplevel_consts_33_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 92, + .ob_size = 75, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0f\x11\x8c\x79\x98\x14\x89\x7f\x8c\x7f\x88\x04\xdd\x0b\x15\x90\x64\x9d\x45\xd1\x0b\x22\xd4\x0b\x22\xf0\x00\x01\x09\x4a\x01\xdd\x13\x15\x94\x3b\x9d\x7e\xad\x62\xac\x6b\xb8\x24\xd1\x2e\x3f\xd4\x2e\x3f\xd1\x1f\x40\xd4\x1f\x40\xd1\x13\x41\xd4\x13\x41\xd0\x13\x49\xc0\x54\xd0\x0c\x49\xdd\x0f\x1d\x98\x64\xd1\x0f\x23\xd4\x0f\x23\xd0\x0f\x2a\xa0\x73\xd0\x08\x2a", + .ob_sval = "\x80\x00\xe4\x0f\x11\x8f\x79\x89\x79\x98\x14\x8b\x7f\x88\x04\xdc\x0b\x15\x90\x64\x9c\x45\xd4\x0b\x22\xdc\x13\x15\x97\x3b\x91\x3b\x9c\x7e\xac\x62\xaf\x6b\xa9\x6b\xb8\x24\xd3\x2e\x3f\xd3\x1f\x40\xd3\x13\x41\xd2\x13\x49\xc0\x54\xd0\x0c\x49\xdc\x0f\x1d\x98\x64\xd3\x0f\x23\xd2\x0f\x2a\xa0\x73\xd0\x08\x2a", }; static - struct _PyCode_DEF(224) -ntpath_toplevel_consts_30 = { + struct _PyCode_DEF(212) +ntpath_toplevel_consts_33 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 112, + .ob_size = 106, }, - .co_consts = & ntpath_toplevel_consts_30_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_30_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_33_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_33_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 538, + .co_firstlineno = 564, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 565, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_normpath._ascii.ob_base, .co_qualname = & const_str_normpath._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_30_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x35\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x01\x64\x01\x53\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x01\x64\x02\x53\x00", + .co_linetable = & ntpath_toplevel_consts_33_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x35\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x78\x01\x73\x02\x01\x00\x64\x01\x53\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x78\x01\x73\x02\x01\x00\x64\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -103134,10 +101162,10 @@ static Py_hash_t ob_shash; char ob_sval[3]; } -ntpath_toplevel_consts_31_consts_4 = { +ntpath_toplevel_consts_34_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 2, @@ -103153,23 +101181,23 @@ static PyObject *ob_item[11]; }_object; } -ntpath_toplevel_consts_31_consts = { +ntpath_toplevel_consts_34_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, }, .ob_item = { - & ntpath_toplevel_consts_30_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_33_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[92]), (PyObject *)&_Py_SINGLETON(bytes_characters[47]), (PyObject *)&_Py_SINGLETON(bytes_characters[46]), - & ntpath_toplevel_consts_31_consts_4.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + & ntpath_toplevel_consts_34_consts_4.ob_base.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[92], + (PyObject *)&_Py_SINGLETON(strings).ascii[47], &_Py_STR(dot), & ntpath_toplevel_consts_2._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], @@ -103182,30 +101210,27 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[13]; + PyObject *ob_item[10]; }_object; } -ntpath_toplevel_consts_31_names = { +ntpath_toplevel_consts_34_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 13, + .ob_size = 10, }, .ob_item = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), &_Py_ID(replace), - & const_str_splitdrive._ascii.ob_base, - & const_str_startswith._ascii.ob_base, - & const_str_lstrip._ascii.ob_base, + & const_str_splitroot._ascii.ob_base, & const_str_split._ascii.ob_base, &_Py_ID(len), - & const_str_endswith._ascii.ob_base, &_Py_ID(append), &_Py_ID(join), }, @@ -103215,18 +101240,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[429]; + char ob_sval[308]; } -ntpath_toplevel_consts_31_linetable = { +ntpath_toplevel_consts_34_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 428, + .ob_size = 307, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0f\x11\x8c\x79\x98\x14\x89\x7f\x8c\x7f\x88\x04\xdd\x0b\x15\x90\x64\x9d\x45\xd1\x0b\x22\xd4\x0b\x22\xf0\x00\x09\x09\x1a\xd8\x12\x17\x88\x43\xd8\x15\x19\x88\x46\xd8\x15\x19\x88\x46\xd8\x15\x1a\x88\x46\x88\x46\xe0\x12\x16\x88\x43\xd8\x15\x18\x88\x46\xd8\x15\x18\x88\x46\xd8\x15\x19\x88\x46\xd8\x0f\x13\x8f\x7c\x8a\x7c\x98\x46\xa0\x43\xd1\x0f\x28\xd4\x0f\x28\x88\x04\xdd\x17\x21\xa0\x24\xd1\x17\x27\xd4\x17\x27\x89\x0c\x88\x06\x90\x04\xf0\x06\x00\x0c\x10\x8f\x3f\x8a\x3f\x98\x33\xd1\x0b\x1f\xd4\x0b\x1f\xf0\x00\x02\x09\x24\xd8\x0c\x12\x90\x63\x89\x4d\x88\x46\xd8\x13\x17\x97\x3b\x92\x3b\x98\x73\xd1\x13\x23\xd4\x13\x23\x88\x44\xe0\x10\x14\x97\x0a\x92\x0a\x98\x33\x91\x0f\x94\x0f\x88\x05\xd8\x0c\x0d\x88\x01\xd8\x0e\x0f\x95\x23\x90\x65\x91\x2a\x94\x2a\x8a\x6e\x88\x6e\xd8\x13\x18\x98\x11\x94\x38\xf0\x00\x0b\x0d\x17\x98\x75\xa0\x51\x9c\x78\xa8\x36\xd2\x1f\x31\xd0\x1f\x31\xd8\x14\x19\x98\x21\x90\x48\x90\x48\xd8\x11\x16\x90\x71\x94\x18\x98\x56\xd2\x11\x23\xd0\x11\x23\xd8\x13\x14\x90\x71\x92\x35\x90\x35\x98\x55\xa0\x31\xa0\x51\xa1\x33\x9c\x5a\xa8\x36\xd2\x1d\x31\xd0\x1d\x31\xd8\x18\x1d\x98\x61\xa0\x01\x99\x63\xa0\x21\xa0\x41\xa1\x23\x98\x67\x98\x0e\xd8\x14\x15\x98\x11\x91\x46\x90\x41\x90\x41\xd8\x15\x16\x98\x21\x92\x56\x90\x56\xa0\x06\xa7\x0f\xa2\x0f\xb0\x03\xd1\x20\x34\xd4\x20\x34\x90\x56\xd8\x18\x1d\x98\x61\x98\x08\x98\x08\xe0\x14\x15\x98\x11\x91\x46\x90\x41\x90\x41\xe0\x10\x11\x90\x51\x91\x06\x90\x01\xf0\x19\x00\x0f\x10\x95\x23\x90\x65\x91\x2a\x94\x2a\x8a\x6e\x88\x6e\xf0\x1c\x00\x10\x16\xf0\x00\x01\x09\x21\x98\x65\xf0\x00\x01\x09\x21\xd8\x0c\x11\x8f\x4c\x8a\x4c\x98\x16\xd1\x0c\x20\xd4\x0c\x20\xd0\x0c\x20\xd8\x0f\x15\x98\x03\x9f\x08\x9a\x08\xa0\x15\x99\x0f\x9c\x0f\xd1\x0f\x27\xd0\x08\x27", + .ob_sval = "\x80\x00\xe4\x0f\x11\x8f\x79\x89\x79\x98\x14\x8b\x7f\x88\x04\xdc\x0b\x15\x90\x64\x9c\x45\xd4\x0b\x22\xd8\x12\x17\x88\x43\xd8\x15\x19\x88\x46\xd8\x15\x19\x88\x46\xd8\x15\x1a\x89\x46\xe0\x12\x16\x88\x43\xd8\x15\x18\x88\x46\xd8\x15\x18\x88\x46\xd8\x15\x19\x88\x46\xd8\x0f\x13\x8f\x7c\x89\x7c\x98\x46\xa0\x43\xd3\x0f\x28\x88\x04\xdc\x1c\x25\xa0\x64\x9b\x4f\xd1\x08\x19\x88\x05\x88\x74\x90\x54\xd8\x11\x16\x98\x14\x91\x1c\x88\x06\xd8\x10\x14\x97\x0a\x91\x0a\x98\x33\x93\x0f\x88\x05\xd8\x0c\x0d\x88\x01\xd8\x0e\x0f\x94\x23\x90\x65\x93\x2a\x8a\x6e\xd8\x13\x18\x98\x11\x92\x38\x98\x75\xa0\x51\x99\x78\xa8\x36\xd2\x1f\x31\xd8\x14\x19\x98\x21\x91\x48\xd8\x11\x16\x90\x71\x91\x18\x98\x56\xd2\x11\x23\xd8\x13\x14\x90\x71\x92\x35\x98\x55\xa0\x31\xa0\x51\xa1\x33\x99\x5a\xa8\x36\xd2\x1d\x31\xd8\x18\x1d\x98\x61\xa0\x01\x99\x63\xa0\x21\xa0\x41\xa1\x23\x98\x67\x98\x0e\xd8\x14\x15\x98\x11\x91\x46\x91\x41\xd8\x15\x16\x98\x21\x92\x56\xa1\x04\xd8\x18\x1d\x98\x61\x99\x08\xe0\x14\x15\x98\x11\x91\x46\x91\x41\xe0\x10\x11\x90\x51\x91\x06\x90\x01\xf0\x19\x00\x0f\x10\x94\x23\x90\x65\x93\x2a\x8b\x6e\xf1\x1c\x00\x10\x16\x99\x65\xd8\x0c\x11\x8f\x4c\x89\x4c\x98\x16\xd4\x0c\x20\xd8\x0f\x15\x98\x03\x9f\x08\x99\x08\xa0\x15\x9b\x0f\xd1\x0f\x27\xd0\x08\x27", }; static struct { @@ -103236,7 +101261,7 @@ static const_str_comps = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -103245,7 +101270,7 @@ const_str_comps = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "comps", @@ -103255,65 +101280,65 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[8]; + PyObject *ob_item[10]; }_object; } -ntpath_toplevel_consts_31_localsplusnames = { +ntpath_toplevel_consts_34_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 8, + .ob_size = 10, }, .ob_item = { &_Py_ID(path), - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_altsep._ascii.ob_base, & const_str_curdir._ascii.ob_base, & const_str_pardir._ascii.ob_base, + & const_str_drive._ascii.ob_base, + & const_str_root._ascii.ob_base, & const_str_prefix._ascii.ob_base, & const_str_comps._ascii.ob_base, - & const_str_i._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], }, }, }; static - struct _PyCode_DEF(744) -ntpath_toplevel_consts_31 = { + struct _PyCode_DEF(524) +ntpath_toplevel_consts_34 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 372, + .ob_size = 262, }, - .co_consts = & ntpath_toplevel_consts_31_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_31_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_34_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_34_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 14 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 496, - .co_nlocalsplus = 8, - .co_nlocals = 8, - .co_nplaincellvars = 0, + .co_firstlineno = 527, + .co_nlocalsplus = 10, + .co_nlocals = 10, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_31_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_27_localspluskinds.ob_base.ob_base, + .co_version = 566, + .co_localsplusnames = & ntpath_toplevel_consts_34_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_normpath._ascii.ob_base, .co_qualname = & const_str_normpath._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_31_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x09\x64\x01\x7d\x01\x64\x02\x7d\x02\x64\x03\x7d\x03\x64\x04\x7d\x04\x6e\x08\x64\x05\x7d\x01\x64\x06\x7d\x02\x64\x07\x7d\x03\x64\x08\x7d\x04\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x05\x7d\x00\x7c\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1a\x7c\x05\x7c\x01\x7a\x0d\x00\x00\x7d\x05\x7c\x00\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x64\x09\x7d\x07\x7c\x07\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x72\x87\x7c\x06\x7c\x07\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0c\x7c\x06\x7c\x07\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x6b\x02\x00\x00\x00\x00\x72\x04\x7c\x06\x7c\x07\x3d\x00\x6e\x5c\x7c\x06\x7c\x07\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6b\x02\x00\x00\x00\x00\x72\x4b\x7c\x07\x64\x09\x6b\x04\x00\x00\x00\x00\x72\x20\x7c\x06\x7c\x07\x64\x0a\x7a\x0a\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6b\x03\x00\x00\x00\x00\x72\x11\x7c\x06\x7c\x07\x64\x0a\x7a\x0a\x00\x00\x7c\x07\x64\x0a\x7a\x00\x00\x00\x85\x02\x3d\x00\x7c\x07\x64\x0a\x7a\x17\x00\x00\x7d\x07\x6e\x2a\x7c\x07\x64\x09\x6b\x02\x00\x00\x00\x00\x72\x19\x7c\x05\xa0\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x04\x7c\x06\x7c\x07\x3d\x00\x6e\x0b\x7c\x07\x64\x0a\x7a\x0d\x00\x00\x7d\x07\x6e\x05\x7c\x07\x64\x0a\x7a\x0d\x00\x00\x7d\x07\x7c\x07\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\xb0\x87\x7c\x05\x73\x17\x7c\x06\x73\x15\x7c\x06\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x05\x7c\x01\xa0\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x53\x00", + .co_linetable = & ntpath_toplevel_consts_34_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x09\x64\x01\x7d\x01\x64\x02\x7d\x02\x64\x03\x7d\x03\x64\x04\x7d\x04\x6e\x08\x64\x05\x7d\x01\x64\x06\x7d\x02\x64\x07\x7d\x03\x64\x08\x7d\x04\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x05\x7d\x06\x7d\x00\x7c\x05\x7c\x06\x7a\x00\x00\x00\x7d\x07\x7c\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x08\x64\x09\x7d\x09\x7c\x09\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x72\x5f\x7c\x08\x7c\x09\x19\x00\x00\x00\x72\x08\x7c\x08\x7c\x09\x19\x00\x00\x00\x7c\x03\x6b\x28\x00\x00\x72\x04\x7c\x08\x7c\x09\x3d\x00\x6e\x3f\x7c\x08\x7c\x09\x19\x00\x00\x00\x7c\x04\x6b\x28\x00\x00\x72\x32\x7c\x09\x64\x09\x6b\x44\x00\x00\x72\x1c\x7c\x08\x7c\x09\x64\x0a\x7a\x0a\x00\x00\x19\x00\x00\x00\x7c\x04\x6b\x37\x00\x00\x72\x11\x7c\x08\x7c\x09\x64\x0a\x7a\x0a\x00\x00\x7c\x09\x64\x0a\x7a\x00\x00\x00\x85\x02\x3d\x00\x7c\x09\x64\x0a\x7a\x17\x00\x00\x7d\x09\x6e\x16\x7c\x09\x64\x09\x6b\x28\x00\x00\x72\x06\x7c\x06\x72\x04\x7c\x08\x7c\x09\x3d\x00\x6e\x0b\x7c\x09\x64\x0a\x7a\x0d\x00\x00\x7d\x09\x6e\x05\x7c\x09\x64\x0a\x7a\x0d\x00\x00\x7d\x09\x7c\x09\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x72\x01\x8c\x5f\x7c\x07\x73\x13\x7c\x08\x73\x11\x7c\x08\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x07\x7c\x01\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -103321,10 +101346,10 @@ static PyASCIIObject _ascii; uint8_t _data[165]; } -ntpath_toplevel_consts_32_consts_0 = { +ntpath_toplevel_consts_35_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 164, @@ -103333,7 +101358,7 @@ ntpath_toplevel_consts_32_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x61\x62\x73\x6f\x6c\x75\x74\x65\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x61\x20\x70\x61\x74\x68\x20\x61\x73\x20\x61\x20\x66\x61\x6c\x6c\x62\x61\x63\x6b\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x6e\x20\x63\x61\x73\x65\x0a\x20\x20\x20\x20\x60\x6e\x74\x2e\x5f\x67\x65\x74\x66\x75\x6c\x6c\x70\x61\x74\x68\x6e\x61\x6d\x65\x60\x20\x69\x73\x20\x6e\x6f\x74\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x6f\x72\x20\x72\x61\x69\x73\x65\x73\x20\x4f\x53\x45\x72\x72\x6f\x72\x2e\x20\x53\x65\x65\x20\x62\x70\x6f\x2d\x33\x31\x30\x34\x37\x20\x66\x6f\x72\x0a\x20\x20\x20\x20\x6d\x6f\x72\x65\x2e\x0a\x0a\x20\x20\x20\x20", @@ -103346,17 +101371,17 @@ static PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_32_consts = { +ntpath_toplevel_consts_35_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & ntpath_toplevel_consts_32_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_35_consts_0._ascii.ob_base, }, }, }; @@ -103368,7 +101393,7 @@ static const_str_getcwdb = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -103377,7 +101402,7 @@ const_str_getcwdb = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getcwdb", @@ -103390,11 +101415,11 @@ static PyObject *ob_item[9]; }_object; } -ntpath_toplevel_consts_32_names = { +ntpath_toplevel_consts_35_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -103404,7 +101429,7 @@ ntpath_toplevel_consts_32_names = { & const_str_fspath._ascii.ob_base, & const_str_isabs._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_getcwdb._ascii.ob_base, & const_str_getcwd._ascii.ob_base, &_Py_ID(join), @@ -103420,7 +101445,7 @@ static const_str__abspath_fallback = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -103429,7 +101454,7 @@ const_str__abspath_fallback = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_abspath_fallback", @@ -103438,40 +101463,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[99]; + char ob_sval[78]; } -ntpath_toplevel_consts_32_linetable = { +ntpath_toplevel_consts_35_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 98, + .ob_size = 77, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0e\x00\x0c\x0e\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xdd\x0b\x10\x90\x14\x89\x3b\x8c\x3b\xf0\x00\x05\x05\x1f\xdd\x0b\x15\x90\x64\x9d\x45\xd1\x0b\x22\xd4\x0b\x22\xf0\x00\x03\x09\x1e\xdd\x12\x14\x94\x2a\x91\x2c\x94\x2c\x88\x43\x88\x43\xe5\x12\x14\x94\x29\x91\x2b\x94\x2b\x88\x43\xdd\x0f\x13\x90\x43\x98\x14\x89\x7f\x8c\x7f\x88\x04\xdd\x0b\x13\x90\x44\x89\x3e\x8c\x3e\xd0\x04\x19", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[4]; - } -const_str_cwd = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 3, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "cwd", + .ob_sval = "\x80\x00\xf4\x0e\x00\x0c\x0e\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xdc\x0b\x10\x90\x14\x8c\x3b\xdc\x0b\x15\x90\x64\x9c\x45\xd4\x0b\x22\xdc\x12\x14\x97\x2a\x91\x2a\x93\x2c\x89\x43\xe4\x12\x14\x97\x29\x91\x29\x93\x2b\x88\x43\xdc\x0f\x13\x90\x43\x98\x14\x8b\x7f\x88\x04\xdc\x0b\x13\x90\x44\x8b\x3e\xd0\x04\x19", }; static struct { @@ -103481,56 +101484,54 @@ static PyObject *ob_item[2]; }_object; } -ntpath_toplevel_consts_32_localsplusnames = { +ntpath_toplevel_consts_35_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { &_Py_ID(path), - & const_str_cwd._ascii.ob_base, + &_Py_ID(cwd), }, }, }; static - struct _PyCode_DEF(254) -ntpath_toplevel_consts_32 = { + struct _PyCode_DEF(226) +ntpath_toplevel_consts_35 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 127, + .ob_size = 113, }, - .co_consts = & ntpath_toplevel_consts_32_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_32_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_35_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_35_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 546, + .co_firstlineno = 572, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_32_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 567, + .co_localsplusnames = & ntpath_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str__abspath_fallback._ascii.ob_base, .co_qualname = & const_str__abspath_fallback._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_32_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x4c\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x14\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x13\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & ntpath_toplevel_consts_35_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x73\x45\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x15\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x14\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -103541,7 +101542,7 @@ static const_str__getfullpathname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -103550,7 +101551,7 @@ const_str__getfullpathname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_getfullpathname", @@ -103563,11 +101564,11 @@ static PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_33 = { +ntpath_toplevel_consts_36 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -103582,10 +101583,10 @@ static PyASCIIObject _ascii; uint8_t _data[39]; } -ntpath_toplevel_consts_34_consts_0 = { +ntpath_toplevel_consts_37_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 38, @@ -103594,7 +101595,7 @@ ntpath_toplevel_consts_34_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return the absolute version of a path.", @@ -103607,17 +101608,17 @@ static PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_34_consts = { +ntpath_toplevel_consts_37_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & ntpath_toplevel_consts_34_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_37_consts_0._ascii.ob_base, }, }, }; @@ -103629,11 +101630,11 @@ static PyObject *ob_item[5]; }_object; } -ntpath_toplevel_consts_34_names = { +ntpath_toplevel_consts_37_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -103651,71 +101652,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[80]; + char ob_sval[54]; } -ntpath_toplevel_consts_34_linetable = { +ntpath_toplevel_consts_37_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 79, + .ob_size = 53, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x03\x09\x2b\xdd\x13\x23\xa5\x48\xa8\x54\xa1\x4e\xa4\x4e\xd1\x13\x33\xd4\x13\x33\xd0\x0c\x33\xf8\xdd\x10\x17\x9d\x1a\xd0\x0f\x24\xf0\x00\x01\x09\x2b\xf0\x00\x01\x09\x2b\xf0\x00\x01\x09\x2b\xdd\x13\x24\xa0\x54\xd1\x13\x2a\xd4\x13\x2a\xd0\x0c\x2a\xd0\x0c\x2a\xd0\x0c\x2a\xf0\x03\x01\x09\x2b\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x04\x03\x09\x2b\xdc\x13\x23\xa4\x48\xa8\x54\xa3\x4e\xd3\x13\x33\xd0\x0c\x33\xf8\xdc\x10\x17\x9c\x1a\xd0\x0f\x24\xf2\x00\x01\x09\x2b\xdc\x13\x24\xa0\x54\xd3\x13\x2a\xd2\x0c\x2a\xf0\x03\x01\x09\x2b\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[13]; } -ntpath_toplevel_consts_34_exceptiontable = { +ntpath_toplevel_consts_37_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x82\x1b\x1e\x00\x9e\x20\x41\x01\x03\xc1\x00\x01\x41\x01\x03", + .ob_sval = "\x82\x13\x16\x00\x96\x1a\x33\x03\xb2\x01\x33\x03", }; static - struct _PyCode_DEF(136) -ntpath_toplevel_consts_34 = { + struct _PyCode_DEF(108) +ntpath_toplevel_consts_37 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 68, + .ob_size = 54, }, - .co_consts = & ntpath_toplevel_consts_34_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_34_names._object.ob_base.ob_base, - .co_exceptiontable = & ntpath_toplevel_consts_34_exceptiontable.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_37_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_37_names._object.ob_base.ob_base, + .co_exceptiontable = & ntpath_toplevel_consts_37_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 570, + .co_firstlineno = 596, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 568, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_abspath._ascii.ob_base, .co_qualname = & const_str_abspath._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_34_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x12\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_linetable = & ntpath_toplevel_consts_37_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x0e\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -103726,7 +101725,7 @@ static const_str__getfinalpathname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -103735,7 +101734,7 @@ const_str__getfinalpathname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_getfinalpathname", @@ -103748,7 +101747,7 @@ static const_str_readlink = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -103757,7 +101756,7 @@ const_str_readlink = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "readlink", @@ -103770,11 +101769,11 @@ static PyObject *ob_item[2]; }_object; } -ntpath_toplevel_consts_35 = { +ntpath_toplevel_consts_38 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -103787,47 +101786,44 @@ ntpath_toplevel_consts_35 = { }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_4390 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 4390 }, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_4392 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 4392 }, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_4393 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 4393 }, }; static @@ -103838,11 +101834,11 @@ static PyObject *ob_item[12]; }_object; } -ntpath_toplevel_consts_36_consts_1 = { +ntpath_toplevel_consts_39_consts_1 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 12, @@ -103857,9 +101853,9 @@ ntpath_toplevel_consts_36_consts_1 = { (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 50], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 67], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 87], - & const_int_4390.ob_base.ob_base, - & const_int_4392.ob_base.ob_base, - & const_int_4393.ob_base.ob_base, + & const_int_4390.ob_base, + & const_int_4392.ob_base, + & const_int_4393.ob_base, }, }, }; @@ -103871,18 +101867,18 @@ static PyObject *ob_item[2]; }_object; } -ntpath_toplevel_consts_36_consts = { +ntpath_toplevel_consts_39_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & ntpath_toplevel_consts_36_consts_1._object.ob_base.ob_base, + & ntpath_toplevel_consts_39_consts_1._object.ob_base.ob_base, }, }, }; @@ -103894,7 +101890,7 @@ static const_str__nt_readlink = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -103903,7 +101899,7 @@ const_str__nt_readlink = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_nt_readlink", @@ -103916,7 +101912,7 @@ static const_str_winerror = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -103925,7 +101921,7 @@ const_str_winerror = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "winerror", @@ -103938,11 +101934,11 @@ static PyObject *ob_item[12]; }_object; } -ntpath_toplevel_consts_36_names = { +ntpath_toplevel_consts_39_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 12, @@ -103971,7 +101967,7 @@ static const_str__readlink_deep = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -103980,7 +101976,7 @@ const_str__readlink_deep = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_readlink_deep", @@ -103989,35 +101985,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[268]; + char ob_sval[208]; } -ntpath_toplevel_consts_36_linetable = { +ntpath_toplevel_consts_39_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 267, + .ob_size = 207, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x1e\x00\x1c\x4c\x01\xd0\x08\x18\xe5\x0f\x12\x89\x75\x8c\x75\x88\x04\xdd\x0e\x16\x90\x74\x89\x6e\x8c\x6e\xa0\x44\xd0\x0e\x28\xd0\x0e\x28\xd8\x0c\x10\x8f\x48\x8a\x48\x95\x58\x98\x64\x91\x5e\x94\x5e\xd1\x0c\x24\xd4\x0c\x24\xd0\x0c\x24\xf0\x02\x13\x0d\x16\xd8\x1b\x1f\x90\x08\xdd\x17\x23\xa0\x44\xd1\x17\x29\xd4\x17\x29\x90\x04\xf5\x06\x00\x18\x1d\x98\x54\x91\x7b\x94\x7b\xf0\x00\x07\x11\x43\x01\xf5\x08\x00\x1c\x22\xa0\x28\xd1\x1b\x2b\xd4\x1b\x2b\xf0\x00\x02\x15\x1e\xd8\x1f\x27\x98\x04\xd8\x18\x1d\xdd\x1b\x23\xa5\x44\xad\x17\xb0\x18\xd1\x29\x3a\xd4\x29\x3a\xb8\x44\xd1\x24\x41\xd4\x24\x41\xd1\x1b\x42\xd4\x1b\x42\x90\x44\xf8\xf8\xdd\x13\x1a\xf0\x00\x03\x0d\x16\xf0\x00\x03\x0d\x16\xf0\x00\x03\x0d\x16\xd8\x13\x15\x94\x3b\xd0\x22\x32\xd0\x13\x32\xd0\x13\x32\xd8\x14\x19\x90\x45\x90\x45\x90\x45\x90\x45\xd8\x10\x15\xf8\xf8\xf8\xf8\xdd\x13\x1d\xf0\x00\x02\x0d\x16\xf0\x00\x02\x0d\x16\xf0\x00\x02\x0d\x16\xe0\x10\x15\x90\x05\xf0\x05\x02\x0d\x16\xf8\xf8\xf8\xf5\x27\x00\x0f\x17\x90\x74\x89\x6e\x8c\x6e\xa0\x44\xd0\x0e\x28\xd0\x0e\x28\xf0\x2c\x00\x10\x14\x88\x0b", + .ob_sval = "\x80\x00\xf0\x1e\x00\x1c\x4c\x01\xd0\x08\x18\xe4\x0f\x12\x8b\x75\x88\x04\xdc\x0e\x16\x90\x74\x8b\x6e\xa0\x44\xd1\x0e\x28\xd8\x0c\x10\x8f\x48\x89\x48\x94\x58\x98\x64\x93\x5e\xd4\x0c\x24\xf0\x02\x13\x0d\x16\xd8\x1b\x1f\x90\x08\xdc\x17\x23\xa0\x44\xd3\x17\x29\x90\x04\xf4\x06\x00\x18\x1d\x98\x54\x94\x7b\xf4\x08\x00\x1c\x22\xa0\x28\xd4\x1b\x2b\xd8\x1f\x27\x98\x04\xd8\x18\x1d\xf0\x12\x00\x10\x14\x88\x0b\xf4\x11\x00\x1c\x24\xa4\x44\xac\x17\xb0\x18\xd3\x29\x3a\xb8\x44\xd3\x24\x41\xd3\x1b\x42\x90\x44\xf4\x1d\x00\x0f\x17\x90\x74\x8b\x6e\xa0\x44\xd2\x0e\x28\xf0\x2c\x00\x10\x14\x88\x0b\xf8\xf4\x0f\x00\x14\x1b\xf2\x00\x03\x0d\x16\xd8\x13\x15\x97\x3b\x91\x3b\xd0\x22\x32\xd1\x13\x32\xdb\x14\x19\xf0\x0a\x00\x10\x14\x88\x0b\xf0\x09\x00\x11\x16\xfb\xdc\x13\x1d\xf2\x00\x02\x0d\x16\xe0\x10\x15\xd8\x0f\x13\x88\x0b\xf0\x07\x02\x0d\x16\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[43]; + char ob_sval[42]; } -ntpath_toplevel_consts_36_exceptiontable = { +ntpath_toplevel_consts_39_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 42, + .ob_size = 41, }, .ob_shash = -1, - .ob_sval = "\xc1\x05\x31\x42\x22\x00\xc1\x37\x2a\x42\x22\x00\xc2\x22\x0a\x43\x0b\x03\xc2\x2c\x09\x42\x3b\x03\xc2\x3a\x01\x42\x3b\x03\xc2\x3b\x0d\x43\x0b\x03\xc3\x0a\x01\x43\x0b\x03", + .ob_sval = "\xb5\x25\x42\x0b\x00\xc1\x1d\x1e\x42\x0b\x00\xc2\x0b\x09\x42\x39\x03\xc2\x14\x0e\x42\x29\x03\xc2\x28\x01\x42\x29\x03\xc2\x29\x0c\x42\x39\x03\xc2\x38\x01\x42\x39\x03", }; static struct { @@ -104027,7 +102023,7 @@ static const_str_allowed_winerror = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -104036,11 +102032,33 @@ const_str_allowed_winerror = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "allowed_winerror", }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[5]; + } +const_str_seen = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 4, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "seen", +}; static struct { PyASCIIObject _ascii; @@ -104049,7 +102067,7 @@ static const_str_old_path = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -104058,7 +102076,7 @@ const_str_old_path = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "old_path", @@ -104071,7 +102089,7 @@ static const_str_ex = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -104080,7 +102098,7 @@ const_str_ex = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ex", @@ -104093,11 +102111,11 @@ static PyObject *ob_item[5]; }_object; } -ntpath_toplevel_consts_36_localsplusnames = { +ntpath_toplevel_consts_39_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -104112,70 +102130,66 @@ ntpath_toplevel_consts_36_localsplusnames = { }, }; static - struct _PyCode_DEF(450) -ntpath_toplevel_consts_36 = { + struct _PyCode_DEF(376) +ntpath_toplevel_consts_39 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 225, + .ob_size = 188, }, - .co_consts = & ntpath_toplevel_consts_36_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_36_names._object.ob_base.ob_base, - .co_exceptiontable = & ntpath_toplevel_consts_36_exceptiontable.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_39_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_39_names._object.ob_base.ob_base, + .co_exceptiontable = & ntpath_toplevel_consts_39_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 583, + .co_firstlineno = 609, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_36_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 569, + .co_localsplusnames = & ntpath_toplevel_consts_39_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str__readlink_deep._ascii.ob_base, .co_qualname = & const_str__readlink_deep._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_36_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x76\x01\x72\xbd\x7c\x02\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x7c\x00\x7d\x03\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x3c\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x03\x7c\x03\x7d\x00\x6e\x68\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x6e\x2c\x23\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x14\x7d\x04\x7c\x04\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x76\x00\x72\x05\x59\x00\x64\x00\x7d\x04\x7e\x04\x6e\x25\x82\x00\x64\x00\x7d\x04\x7e\x04\x77\x01\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x15\x77\x00\x78\x03\x59\x00\x77\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x76\x01\xb0\xbd\x7c\x00\x53\x00", + .co_linetable = & ntpath_toplevel_consts_39_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x02\x76\x01\x72\x6f\x7c\x02\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x7c\x00\x7d\x03\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x73\x2e\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x73\x05\x7c\x03\x7d\x00\x09\x00\x7c\x00\x53\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x02\x76\x01\x72\x01\x8c\x6f\x7c\x00\x53\x00\x23\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x1a\x7d\x04\x7c\x04\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x76\x00\x72\x06\x59\x00\x64\x00\x7d\x04\x7e\x04\x7c\x00\x53\x00\x82\x00\x64\x00\x7d\x04\x7e\x04\x77\x01\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x7c\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_1920 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 1920 }, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_1921 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 1921 }, }; static @@ -104186,11 +102200,11 @@ static PyObject *ob_item[15]; }_object; } -ntpath_toplevel_consts_37_consts_1 = { +ntpath_toplevel_consts_40_consts_1 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -104209,8 +102223,8 @@ ntpath_toplevel_consts_37_consts_1 = { (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 87], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 123], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 161], - & const_int_1920.ob_base.ob_base, - & const_int_1921.ob_base.ob_base, + & const_int_1920.ob_base, + & const_int_1921.ob_base, }, }, }; @@ -104222,18 +102236,18 @@ static PyObject *ob_item[3]; }_object; } -ntpath_toplevel_consts_37_consts = { +ntpath_toplevel_consts_40_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { Py_None, - & ntpath_toplevel_consts_37_consts_1._object.ob_base.ob_base, + & ntpath_toplevel_consts_40_consts_1._object.ob_base.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], }, }, @@ -104246,11 +102260,11 @@ static PyObject *ob_item[6]; }_object; } -ntpath_toplevel_consts_37_names = { +ntpath_toplevel_consts_40_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -104273,7 +102287,7 @@ static const_str__getfinalpathname_nonstrict = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -104282,7 +102296,7 @@ const_str__getfinalpathname_nonstrict = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_getfinalpathname_nonstrict", @@ -104291,35 +102305,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[347]; + char ob_sval[223]; } -ntpath_toplevel_consts_37_linetable = { +ntpath_toplevel_consts_40_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 346, + .ob_size = 222, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x24\x00\x1c\x58\x01\xd0\x08\x18\xf0\x08\x00\x10\x14\x90\x42\x90\x51\x90\x42\x8c\x78\x88\x04\xd8\x0e\x12\xf0\x00\x17\x09\x3a\xf0\x02\x16\x0d\x3a\xdd\x17\x28\xa8\x14\xd1\x17\x2e\xd4\x17\x2e\x90\x04\xd8\x2b\x2f\xd0\x17\x39\x95\x74\x98\x44\xa0\x24\xd1\x17\x27\xd4\x17\x27\xd0\x17\x27\xb0\x54\xd0\x10\x39\xf8\xdd\x13\x1a\xf0\x00\x13\x0d\x3a\xf0\x00\x13\x0d\x3a\xf0\x00\x13\x0d\x3a\xd8\x13\x15\x94\x3b\xd0\x26\x36\xd0\x13\x36\xd0\x13\x36\xd8\x14\x19\xf0\x02\x09\x11\x19\xf5\x08\x00\x20\x2e\xa8\x64\xd1\x1f\x33\xd4\x1f\x33\x90\x48\xd8\x17\x1f\xa0\x34\xd2\x17\x27\xd0\x17\x27\xd8\x37\x3b\xd0\x1f\x49\x9d\x74\xa0\x48\xa8\x64\xd1\x1f\x33\xd4\x1f\x33\xd0\x1f\x33\xc0\x18\xd0\x18\x49\xd0\x18\x49\xd0\x18\x49\xd0\x18\x49\xd0\x18\x49\xd0\x18\x49\xf0\x03\x00\x18\x28\xf8\xe5\x17\x1e\xf0\x00\x02\x11\x19\xf0\x00\x02\x11\x19\xf0\x00\x02\x11\x19\xe0\x14\x18\x90\x44\xf0\x05\x02\x11\x19\xf8\xf8\xf8\xf5\x06\x00\x1e\x23\xa0\x34\x99\x5b\x9c\x5b\x91\x0a\x90\x04\x90\x64\xf0\x08\x00\x14\x18\xf0\x00\x01\x11\x27\xa0\x04\xf0\x00\x01\x11\x27\xd8\x1b\x1f\xa0\x24\x99\x3b\xd0\x14\x26\xd0\x14\x26\xd0\x14\x26\xd0\x14\x26\xd0\x14\x26\xd0\x14\x26\xd8\x2b\x2f\xd0\x17\x39\x95\x74\x98\x44\xa0\x24\xd1\x17\x27\xd4\x17\x27\xd0\x17\x27\xb0\x54\x90\x04\x90\x04\x90\x04\x90\x04\x90\x04\x90\x04\xf8\xf8\xf8\xf8\xf0\x27\x13\x0d\x3a\xf8\xf8\xf8\xf0\x09\x00\x0f\x13\xf0\x00\x17\x09\x3a\xf0\x30\x00\x10\x14\x88\x0b", + .ob_sval = "\x80\x00\xf0\x24\x00\x1c\x58\x01\xd0\x08\x18\xf0\x08\x00\x10\x14\x90\x42\x90\x51\x88\x78\x88\x04\xd9\x0e\x12\xf0\x02\x16\x0d\x3a\xdc\x17\x28\xa8\x14\xd3\x17\x2e\x90\x04\xd9\x2b\x2f\x94\x74\x98\x44\xa0\x24\xd3\x17\x27\xd0\x10\x39\xb0\x54\xd0\x10\x39\xf0\x2a\x00\x10\x14\x88\x0b\xf8\xf4\x29\x00\x14\x1b\xf2\x00\x13\x0d\x3a\xd8\x13\x15\x97\x3b\x91\x3b\xd0\x26\x36\xd1\x13\x36\xd8\x14\x19\xf0\x02\x09\x11\x19\xf4\x08\x00\x20\x2e\xa8\x64\xd3\x1f\x33\x90\x48\xd8\x17\x1f\xa0\x34\xd2\x17\x27\xd9\x37\x3b\x9c\x74\xa0\x48\xa8\x64\xd4\x1f\x33\xc0\x18\xd5\x18\x49\xf0\x03\x00\x18\x28\xf8\xe4\x17\x1e\xf2\x00\x02\x11\x19\xe1\x14\x18\xf0\x05\x02\x11\x19\xfa\xf4\x06\x00\x1e\x23\xa0\x34\x9b\x5b\x91\x0a\x90\x04\x90\x64\xf1\x08\x00\x14\x18\xa1\x04\xd8\x1b\x1f\xa0\x24\x99\x3b\xd5\x14\x26\xd9\x2b\x2f\x94\x74\x98\x44\xa0\x24\xd4\x17\x27\xb0\x54\x95\x04\xfb\xf0\x27\x13\x0d\x3a\xfa\xf2\x09\x00\x0f\x13\xf8", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[75]; + char ob_sval[79]; } -ntpath_toplevel_consts_37_exceptiontable = { +ntpath_toplevel_consts_40_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 74, + .ob_size = 78, }, .ob_shash = -1, - .ob_sval = "\x90\x22\x33\x00\xb3\x0a\x43\x05\x03\xbd\x0a\x43\x00\x03\xc1\x08\x28\x41\x37\x02\xc1\x30\x01\x43\x05\x03\xc1\x36\x01\x43\x00\x03\xc1\x37\x0a\x42\x04\x05\xc2\x01\x02\x43\x00\x03\xc2\x03\x01\x42\x04\x05\xc2\x04\x1d\x43\x00\x03\xc2\x21\x01\x43\x05\x03\xc2\x27\x14\x43\x00\x03\xc3\x00\x05\x43\x05\x03", + .ob_sval = "\x8b\x18\x28\x00\xa4\x01\x28\x00\xa8\x09\x42\x2c\x03\xb1\x0f\x42\x27\x03\xc1\x01\x1f\x41\x27\x02\xc1\x20\x01\x42\x2c\x03\xc1\x26\x01\x42\x27\x03\xc1\x27\x09\x41\x33\x05\xc1\x30\x02\x42\x27\x03\xc1\x32\x01\x41\x33\x05\xc1\x33\x19\x42\x27\x03\xc2\x0c\x01\x42\x2c\x03\xc2\x12\x10\x42\x27\x03\xc2\x27\x05\x42\x2c\x03", }; static struct { @@ -104329,7 +102343,7 @@ static const_str_new_path = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -104338,7 +102352,7 @@ const_str_new_path = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "new_path", @@ -104351,11 +102365,11 @@ static PyObject *ob_item[6]; }_object; } -ntpath_toplevel_consts_37_localsplusnames = { +ntpath_toplevel_consts_40_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -104371,40 +102385,38 @@ ntpath_toplevel_consts_37_localsplusnames = { }, }; static - struct _PyCode_DEF(408) -ntpath_toplevel_consts_37 = { + struct _PyCode_DEF(358) +ntpath_toplevel_consts_40 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 204, + .ob_size = 179, }, - .co_consts = & ntpath_toplevel_consts_37_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_37_names._object.ob_base.ob_base, - .co_exceptiontable = & ntpath_toplevel_consts_37_exceptiontable.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_40_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_40_names._object.ob_base.ob_base, + .co_exceptiontable = & ntpath_toplevel_consts_40_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 625, + .co_firstlineno = 651, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_37_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 570, + .co_localsplusnames = & ntpath_toplevel_consts_40_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str__getfinalpathname_nonstrict._ascii.ob_base, .co_qualname = & const_str__getfinalpathname_nonstrict._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_37_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x7d\x01\x7c\x00\x64\x00\x64\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x72\xbb\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x02\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x01\x7c\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x88\x7d\x03\x7c\x03\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x76\x01\x72\x01\x82\x00\x09\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x7c\x00\x6b\x03\x00\x00\x00\x00\x72\x19\x7c\x02\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x01\x7c\x04\x63\x02\x59\x00\x64\x00\x7d\x03\x7e\x03\x53\x00\x6e\x10\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x00\x7d\x05\x7c\x00\x72\x0c\x7c\x05\x73\x0a\x7c\x00\x7c\x02\x7a\x00\x00\x00\x63\x02\x59\x00\x64\x00\x7d\x03\x7e\x03\x53\x00\x7c\x02\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x01\x7c\x05\x7d\x02\x59\x00\x64\x00\x7d\x03\x7e\x03\x6e\x08\x64\x00\x7d\x03\x7e\x03\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x00\xb0\xbb\x7c\x02\x53\x00", + .co_linetable = & ntpath_toplevel_consts_40_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7d\x01\x7c\x00\x64\x00\x64\x02\x1a\x00\x7d\x02\x7c\x00\x72\x1c\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x02\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x53\x00\x7c\x02\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x7b\x7d\x03\x7c\x03\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x76\x01\x72\x01\x82\x00\x09\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x7c\x00\x6b\x37\x00\x00\x72\x15\x7c\x02\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x6e\x01\x7c\x04\x63\x02\x59\x00\x64\x00\x7d\x03\x7e\x03\x53\x00\x6e\x0f\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x00\x7d\x05\x7c\x00\x72\x0c\x7c\x05\x73\x0a\x7c\x00\x7c\x02\x7a\x00\x00\x00\x63\x02\x59\x00\x64\x00\x7d\x03\x7e\x03\x53\x00\x7c\x02\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x6e\x01\x7c\x05\x7d\x02\x59\x00\x64\x00\x7d\x03\x7e\x03\x6e\x08\x64\x00\x7d\x03\x7e\x03\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x00\x72\x01\x8c\xa8\x8c\x8d", ._co_firsttraceable = 0, }; static @@ -104413,10 +102425,10 @@ static Py_hash_t ob_shash; char ob_sval[5]; } -ntpath_toplevel_consts_40_consts_1 = { +ntpath_toplevel_consts_43_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 4, @@ -104430,10 +102442,10 @@ static Py_hash_t ob_shash; char ob_sval[3]; } -ntpath_toplevel_consts_40_consts_3 = { +ntpath_toplevel_consts_43_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 2, @@ -104447,10 +102459,10 @@ static Py_hash_t ob_shash; char ob_sval[8]; } -ntpath_toplevel_consts_40_consts_4 = { +ntpath_toplevel_consts_43_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 7, @@ -104463,10 +102475,10 @@ static PyASCIIObject _ascii; uint8_t _data[5]; } -ntpath_toplevel_consts_40_consts_5 = { +ntpath_toplevel_consts_43_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -104475,7 +102487,7 @@ ntpath_toplevel_consts_40_consts_5 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\\\\?\\", @@ -104485,10 +102497,10 @@ static PyASCIIObject _ascii; uint8_t _data[8]; } -ntpath_toplevel_consts_40_consts_8 = { +ntpath_toplevel_consts_43_consts_8 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -104497,7 +102509,7 @@ ntpath_toplevel_consts_40_consts_8 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\\\\.\\NUL", @@ -104510,25 +102522,25 @@ static PyObject *ob_item[10]; }_object; } -ntpath_toplevel_consts_40_consts = { +ntpath_toplevel_consts_43_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, }, .ob_item = { Py_None, - & ntpath_toplevel_consts_40_consts_1.ob_base.ob_base, - & ntpath_toplevel_consts_18_consts_5.ob_base.ob_base, - & ntpath_toplevel_consts_40_consts_3.ob_base.ob_base, - & ntpath_toplevel_consts_40_consts_4.ob_base.ob_base, - & ntpath_toplevel_consts_40_consts_5._ascii.ob_base, - & ntpath_toplevel_consts_18_consts_9._ascii.ob_base, + & ntpath_toplevel_consts_43_consts_1.ob_base.ob_base, + & ntpath_toplevel_consts_19_consts_4.ob_base.ob_base, + & ntpath_toplevel_consts_43_consts_3.ob_base.ob_base, + & ntpath_toplevel_consts_43_consts_4.ob_base.ob_base, + & ntpath_toplevel_consts_43_consts_5._ascii.ob_base, + & ntpath_toplevel_consts_19_consts_9._ascii.ob_base, & importlib__bootstrap_external_toplevel_consts_22_consts_6._ascii.ob_base, - & ntpath_toplevel_consts_40_consts_8._ascii.ob_base, + & ntpath_toplevel_consts_43_consts_8._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], }, }, @@ -104541,11 +102553,11 @@ static PyObject *ob_item[19]; }_object; } -ntpath_toplevel_consts_40_names = { +ntpath_toplevel_consts_43_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 19, @@ -104553,7 +102565,7 @@ ntpath_toplevel_consts_40_names = { .ob_item = { & const_str_normpath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_os._ascii.ob_base, & const_str_getcwdb._ascii.ob_base, & const_str_normcase._ascii.ob_base, @@ -104577,18 +102589,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[617]; + char ob_sval[431]; } -ntpath_toplevel_consts_40_linetable = { +ntpath_toplevel_consts_43_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 616, + .ob_size = 430, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x17\x98\x04\x89\x7e\x8c\x7e\x88\x04\xdd\x0b\x15\x90\x64\x9d\x45\xd1\x0b\x22\xd4\x0b\x22\xf0\x00\x0f\x09\x24\xd8\x15\x1f\x88\x46\xd8\x19\x28\x88\x4a\xd8\x1d\x24\x88\x4e\xdd\x12\x14\x94\x2a\x91\x2c\x94\x2c\x88\x43\xe5\x0f\x17\x98\x04\x89\x7e\x8c\x7e\xa5\x18\xad\x22\xac\x2b\xb5\x67\xd1\x2a\x3e\xd4\x2a\x3e\xd1\x21\x3f\xd4\x21\x3f\xd2\x0f\x3f\xd0\x0f\x3f\xd8\x17\x24\x90\x7d\xf0\x03\x00\x10\x40\x01\xf0\x06\x00\x16\x1f\x88\x46\xd8\x19\x27\x88\x4a\xd8\x1d\x23\x88\x4e\xdd\x12\x14\x94\x29\x91\x2b\x94\x2b\x88\x43\xe5\x0f\x17\x98\x04\x89\x7e\x8c\x7e\xa5\x18\xad\x27\xd1\x21\x32\xd4\x21\x32\xd2\x0f\x32\xd0\x0f\x32\xd8\x17\x23\x90\x7c\xd8\x15\x19\x97\x5f\x92\x5f\xa0\x56\xd1\x15\x2c\xd4\x15\x2c\x88\x0a\xd8\x0f\x19\xf0\x00\x01\x09\x23\xa5\x25\xa8\x04\xa1\x2b\xa4\x2b\xf0\x00\x01\x09\x23\xdd\x13\x17\x98\x03\x98\x54\x91\x3f\x94\x3f\x88\x44\xf0\x02\x0f\x09\x35\xdd\x13\x24\xa0\x54\xd1\x13\x2a\xd4\x13\x2a\x88\x44\xd8\x1f\x20\xd0\x0c\x1c\xd0\x0c\x1c\xf8\xdd\x0f\x19\xf0\x00\x07\x09\x22\xf0\x00\x07\x09\x22\xf0\x00\x07\x09\x22\xf0\x0a\x00\x10\x16\xf0\x00\x01\x0d\x31\xdd\x16\x1d\x9d\x63\xa0\x22\x99\x67\x9c\x67\xd1\x16\x26\xd4\x16\x26\xa8\x44\xd0\x10\x30\xdd\x13\x1b\x98\x44\x91\x3e\x94\x3e\x88\x44\x88\x44\x88\x44\x88\x44\x88\x44\x88\x44\xf8\xf8\xf8\xf8\xdd\x0f\x16\xf0\x00\x04\x09\x35\xf0\x00\x04\x09\x35\xf0\x00\x04\x09\x35\xd8\x0f\x15\xf0\x00\x01\x0d\x16\xd8\x10\x15\xd8\x1f\x21\x9c\x7b\xd0\x0c\x1c\xdd\x13\x2e\xa8\x74\xd1\x13\x34\xd4\x13\x34\x88\x44\x88\x44\x88\x44\x88\x44\x88\x44\x88\x44\xf8\xf8\xf8\xf8\xf0\x09\x04\x09\x35\xf8\xf8\xf8\xf0\x10\x00\x10\x1a\xf0\x00\x13\x09\x21\x98\x64\x9f\x6f\x9a\x6f\xa8\x66\xd1\x1e\x35\xd4\x1e\x35\xf0\x00\x13\x09\x21\xf0\x06\x00\x10\x14\x8f\x7f\x8a\x7f\x98\x7a\xd1\x0f\x2a\xd4\x0f\x2a\xf0\x00\x03\x0d\x2b\xd8\x18\x26\xa8\x14\xad\x63\xb0\x2a\xa9\x6f\xac\x6f\xd0\x2e\x3e\xd0\x2e\x3e\xd4\x29\x3f\xd1\x18\x3f\x90\x05\x90\x05\xe0\x18\x1c\x9d\x53\xa0\x16\x99\x5b\x9c\x5b\x98\x5c\x98\x5c\xd4\x18\x2a\x90\x05\xf0\x04\x0b\x0d\x21\xdd\x13\x24\xa0\x55\xd1\x13\x2b\xd4\x13\x2b\xa8\x74\xd2\x13\x33\xd0\x13\x33\xd8\x1b\x20\x90\x44\xf8\xf8\xdd\x13\x1d\xf0\x00\x03\x0d\x15\xf0\x00\x03\x0d\x15\xf0\x00\x03\x0d\x15\xf0\x06\x00\x11\x15\x90\x04\x90\x04\x90\x04\x90\x04\xf8\xf8\xf8\xf8\xdd\x13\x1a\xf0\x00\x04\x0d\x21\xf0\x00\x04\x0d\x21\xf0\x00\x04\x0d\x21\xf0\x06\x00\x14\x16\x94\x3b\xd0\x22\x32\xd2\x13\x32\xd0\x13\x32\xd8\x1b\x20\x90\x44\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf0\x09\x04\x0d\x21\xf8\xf8\xf8\xf0\x0a\x00\x10\x14\x88\x0b", + .ob_sval = "\x80\x00\xdc\x0f\x17\x98\x04\x8b\x7e\x88\x04\xdc\x0b\x15\x90\x64\x9c\x45\xd4\x0b\x22\xd8\x15\x1f\x88\x46\xd8\x19\x28\x88\x4a\xd8\x1d\x24\x88\x4e\xdc\x12\x14\x97\x2a\x91\x2a\x93\x2c\x88\x43\xe4\x0f\x17\x98\x04\x8b\x7e\xa4\x18\xac\x22\xaf\x2b\xa9\x2b\xb4\x67\xd3\x2a\x3e\xd3\x21\x3f\xd2\x0f\x3f\xd8\x17\x24\xe0\x15\x1e\x88\x46\xd8\x19\x27\x88\x4a\xd8\x1d\x23\x88\x4e\xdc\x12\x14\x97\x29\x91\x29\x93\x2b\x88\x43\xe4\x0f\x17\x98\x04\x8b\x7e\xa4\x18\xac\x27\xd3\x21\x32\xd2\x0f\x32\xd8\x17\x23\xd8\x15\x19\x97\x5f\x91\x5f\xa0\x56\xd3\x15\x2c\x88\x0a\xd9\x0f\x19\xa4\x25\xa8\x04\xa4\x2b\xdc\x13\x17\x98\x03\x98\x54\x93\x3f\x88\x44\xf0\x02\x0f\x09\x35\xdc\x13\x24\xa0\x54\xd3\x13\x2a\x88\x44\xd8\x1f\x20\xd0\x0c\x1c\xf1\x22\x00\x10\x1a\x98\x64\x9f\x6f\x99\x6f\xa8\x66\xd4\x1e\x35\xf0\x06\x00\x10\x14\x8f\x7f\x89\x7f\x98\x7a\xd4\x0f\x2a\xd8\x18\x26\xa8\x14\xac\x63\xb0\x2a\xab\x6f\xd0\x2e\x3e\xd0\x29\x3f\xd1\x18\x3f\x91\x05\xe0\x18\x1c\x9c\x53\xa0\x16\x9b\x5b\x98\x5c\xd0\x18\x2a\x90\x05\xf0\x04\x0b\x0d\x21\xdc\x13\x24\xa0\x55\xd3\x13\x2b\xa8\x74\xd2\x13\x33\xd8\x1b\x20\x90\x44\xf0\x14\x00\x10\x14\x88\x0b\x88\x74\x88\x0b\xf8\xf4\x49\x01\x00\x10\x1a\xf2\x00\x07\x09\x22\xf1\x0a\x00\x10\x16\xdc\x16\x1d\x9c\x63\xa0\x22\x9b\x67\xd3\x16\x26\xa8\x44\xd0\x10\x30\xdc\x13\x1b\x98\x44\x93\x3e\x8d\x44\xfb\xdc\x0f\x16\xf2\x00\x04\x09\x35\xd9\x0f\x15\xd8\x10\x15\xd8\x1f\x21\x9f\x7b\x99\x7b\xd0\x0c\x1c\xdc\x13\x2e\xa8\x74\xd3\x13\x34\x8d\x44\xfb\xf0\x09\x04\x09\x35\xfb\xf4\x26\x00\x14\x1e\xf2\x00\x03\x0d\x15\xf3\x06\x00\x11\x15\xf0\x0c\x00\x10\x14\x88\x0b\xfb\xf4\x0b\x00\x14\x1b\xf2\x00\x04\x0d\x21\xf0\x06\x00\x14\x16\x97\x3b\x91\x3b\xd0\x22\x32\xd2\x13\x32\xd8\x1b\x20\x90\x44\xfb\xd8\x0f\x13\x88\x0b\xfb\xf0\x0b\x04\x0d\x21\xfa", }; static struct { @@ -104596,16 +102608,16 @@ static Py_hash_t ob_shash; char ob_sval[67]; } -ntpath_toplevel_consts_40_exceptiontable = { +ntpath_toplevel_consts_43_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 66, }, .ob_shash = -1, - .ob_sval = "\xc3\x2f\x11\x44\x01\x00\xc4\x01\x0a\x45\x2e\x03\xc4\x0b\x2e\x44\x3e\x03\xc4\x3e\x0d\x45\x2e\x03\xc5\x0b\x19\x45\x29\x03\xc5\x29\x05\x45\x2e\x03\xc7\x10\x15\x47\x26\x00\xc7\x26\x0a\x48\x19\x03\xc7\x35\x0d\x48\x19\x03\xc8\x02\x0d\x48\x14\x03\xc8\x14\x05\x48\x19\x03", + .ob_sval = "\xc3\x06\x0d\x44\x2c\x00\xc4\x18\x10\x46\x0f\x00\xc4\x2c\x09\x46\x0c\x03\xc4\x35\x22\x45\x1c\x03\xc5\x1c\x0c\x46\x0c\x03\xc5\x28\x1a\x46\x07\x03\xc6\x07\x05\x46\x0c\x03\xc6\x0f\x09\x47\x06\x03\xc6\x1e\x0c\x47\x06\x03\xc6\x2a\x11\x47\x01\x03\xc7\x01\x05\x47\x06\x03", }; static struct { @@ -104615,7 +102627,7 @@ static const_str_new_unc_prefix = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -104624,7 +102636,7 @@ const_str_new_unc_prefix = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "new_unc_prefix", @@ -104637,7 +102649,7 @@ static const_str_had_prefix = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -104646,7 +102658,7 @@ const_str_had_prefix = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "had_prefix", @@ -104659,7 +102671,7 @@ static const_str_initial_winerror = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -104668,7 +102680,7 @@ const_str_initial_winerror = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "initial_winerror", @@ -104681,7 +102693,7 @@ static const_str_spath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -104690,7 +102702,7 @@ const_str_spath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "spath", @@ -104703,11 +102715,11 @@ static PyObject *ob_item[10]; }_object; } -ntpath_toplevel_consts_40_localsplusnames = { +ntpath_toplevel_consts_43_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -104718,7 +102730,7 @@ ntpath_toplevel_consts_40_localsplusnames = { & const_str_prefix._ascii.ob_base, & const_str_unc_prefix._ascii.ob_base, & const_str_new_unc_prefix._ascii.ob_base, - & const_str_cwd._ascii.ob_base, + &_Py_ID(cwd), & const_str_had_prefix._ascii.ob_base, & const_str_initial_winerror._ascii.ob_base, & const_str_ex._ascii.ob_base, @@ -104727,73 +102739,49 @@ ntpath_toplevel_consts_40_localsplusnames = { }, }; static - struct _PyCode_DEF(1084) -ntpath_toplevel_consts_40 = { + struct _PyCode_DEF(914) +ntpath_toplevel_consts_43 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 542, + .ob_size = 457, }, - .co_consts = & ntpath_toplevel_consts_40_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_40_names._object.ob_base.ob_base, - .co_exceptiontable = & ntpath_toplevel_consts_40_exceptiontable.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_43_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_43_names._object.ob_base.ob_base, + .co_exceptiontable = & ntpath_toplevel_consts_43_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 1, + .co_framesize = 16 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 674, + .co_firstlineno = 700, .co_nlocalsplus = 10, .co_nlocals = 10, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_40_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 571, + .co_localsplusnames = & ntpath_toplevel_consts_43_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_realpath._ascii.ob_base, .co_qualname = & const_str_realpath._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_40_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x53\x64\x01\x7d\x02\x64\x02\x7d\x03\x64\x03\x7d\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x72\x02\x64\x04\x53\x00\x6e\x40\x64\x05\x7d\x02\x64\x06\x7d\x03\x64\x07\x7d\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x72\x02\x64\x08\x53\x00\x7c\x00\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x73\x1f\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x10\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x09\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x64\x09\x7d\x07\x6e\x70\x23\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x38\x7d\x08\x7c\x01\x72\x1d\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x82\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x59\x00\x64\x00\x7d\x08\x7e\x08\x6e\x33\x64\x00\x7d\x08\x7e\x08\x77\x01\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x23\x7d\x08\x7c\x01\x72\x01\x82\x00\x7c\x08\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x59\x00\x64\x00\x7d\x08\x7e\x08\x6e\x08\x64\x00\x7d\x08\x7e\x08\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x06\x73\xa9\x7c\x00\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x94\x7c\x00\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1b\x7c\x04\x7c\x00\x74\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7d\x09\x6e\x17\x7c\x00\x74\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x09\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6b\x02\x00\x00\x00\x00\x72\x02\x7c\x09\x7d\x00\x6e\x36\x23\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0a\x7d\x08\x59\x00\x64\x00\x7d\x08\x7e\x08\x6e\x27\x64\x00\x7d\x08\x7e\x08\x77\x01\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x17\x7d\x08\x7c\x08\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x6b\x02\x00\x00\x00\x00\x72\x02\x7c\x09\x7d\x00\x59\x00\x64\x00\x7d\x08\x7e\x08\x6e\x08\x64\x00\x7d\x08\x7e\x08\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x00\x53\x00", + .co_linetable = & ntpath_toplevel_consts_43_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x49\x64\x01\x7d\x02\x64\x02\x7d\x03\x64\x03\x7d\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x72\x37\x79\x04\x64\x05\x7d\x02\x64\x06\x7d\x03\x64\x07\x7d\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x72\x01\x79\x08\x7c\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x73\x17\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x73\x0c\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x00\x09\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x64\x09\x7d\x07\x7c\x06\x73\x55\x7c\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x72\x44\x7c\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x72\x12\x7c\x04\x7c\x00\x74\x25\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x64\x00\x1a\x00\x7a\x00\x00\x00\x7d\x09\x6e\x0e\x7c\x00\x74\x25\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x64\x00\x1a\x00\x7d\x09\x09\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x6b\x28\x00\x00\x72\x02\x7c\x09\x7d\x00\x7c\x00\x53\x00\x7c\x00\x53\x00\x23\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x2c\x7d\x08\x7c\x01\x72\x15\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x64\x00\x82\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x59\x00\x64\x00\x7d\x08\x7e\x08\x8c\x89\x64\x00\x7d\x08\x7e\x08\x77\x01\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x24\x7d\x08\x7c\x01\x72\x01\x82\x00\x7c\x08\x6a\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x59\x00\x64\x00\x7d\x08\x7e\x08\x8c\xb4\x64\x00\x7d\x08\x7e\x08\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0b\x7d\x08\x59\x00\x64\x00\x7d\x08\x7e\x08\x7c\x00\x53\x00\x64\x00\x7d\x08\x7e\x08\x77\x01\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x1c\x7d\x08\x7c\x08\x6a\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x07\x6b\x28\x00\x00\x72\x02\x7c\x09\x7d\x00\x59\x00\x64\x00\x7d\x08\x7e\x08\x7c\x00\x53\x00\x64\x00\x7d\x08\x7e\x08\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[18]; - } -const_str_getwindowsversion = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 17, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "getwindowsversion", -}; static struct { PyASCIIObject _ascii; uint8_t _data[36]; } -ntpath_toplevel_consts_44_consts_0 = { +ntpath_toplevel_consts_45_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 35, @@ -104802,7 +102790,7 @@ ntpath_toplevel_consts_44_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return a relative version of a path", @@ -104812,10 +102800,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -ntpath_toplevel_consts_44_consts_8 = { +ntpath_toplevel_consts_45_consts_8 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -104824,7 +102812,7 @@ ntpath_toplevel_consts_44_consts_8 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "no path specified", @@ -104834,10 +102822,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -ntpath_toplevel_consts_44_consts_9 = { +ntpath_toplevel_consts_45_consts_9 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -104846,7 +102834,7 @@ ntpath_toplevel_consts_44_consts_9 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "path is on mount ", @@ -104856,10 +102844,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -ntpath_toplevel_consts_44_consts_10 = { +ntpath_toplevel_consts_45_consts_10 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -104868,195 +102856,40 @@ ntpath_toplevel_consts_44_consts_10 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = ", start on mount ", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[28]; - } -ntpath_toplevel_consts_44_consts_11_qualname = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 27, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "relpath..", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[30]; - } -ntpath_toplevel_consts_44_consts_11_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 29, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xd0\x15\x3c\xd0\x15\x3c\xd0\x15\x3c\x98\x41\xb8\x21\xd0\x15\x3c\x90\x61\xd0\x15\x3c\xd0\x15\x3c\xd0\x15\x3c", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -ntpath_toplevel_consts_44_consts_11_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_x._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(22) -ntpath_toplevel_consts_44_consts_11 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 11, - }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 769, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_44_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_44_consts_11_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_44_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7c\x00\x5d\x06\x7d\x01\x7c\x01\xaf\x04\x7c\x01\x91\x02\x8c\x07\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[30]; - } -ntpath_toplevel_consts_44_consts_12_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 29, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xd0\x14\x3a\xd0\x14\x3a\xd0\x14\x3a\x98\x31\xb8\x01\xd0\x14\x3a\x90\x51\xd0\x14\x3a\xd0\x14\x3a\xd0\x14\x3a", -}; -static - struct _PyCode_DEF(22) -ntpath_toplevel_consts_44_consts_12 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 11, - }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 770, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_44_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_44_consts_11_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_44_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7c\x00\x5d\x06\x7d\x01\x7c\x01\xaf\x04\x7c\x01\x91\x02\x8c\x07\x53\x00", - ._co_firsttraceable = 0, -}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[16]; + PyObject *ob_item[14]; }_object; } -ntpath_toplevel_consts_44_consts = { +ntpath_toplevel_consts_45_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 16, + .ob_size = 14, }, .ob_item = { - & ntpath_toplevel_consts_44_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_45_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[92]), (PyObject *)&_Py_SINGLETON(bytes_characters[46]), - & ntpath_toplevel_consts_31_consts_4.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, + & ntpath_toplevel_consts_34_consts_4.ob_base.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[92], &_Py_STR(dot), & ntpath_toplevel_consts_2._ascii.ob_base, Py_None, - & ntpath_toplevel_consts_44_consts_8._ascii.ob_base, - & ntpath_toplevel_consts_44_consts_9._ascii.ob_base, - & ntpath_toplevel_consts_44_consts_10._ascii.ob_base, - & ntpath_toplevel_consts_44_consts_11.ob_base.ob_base, - & ntpath_toplevel_consts_44_consts_12.ob_base.ob_base, + & ntpath_toplevel_consts_45_consts_8._ascii.ob_base, + & ntpath_toplevel_consts_45_consts_9._ascii.ob_base, + & ntpath_toplevel_consts_45_consts_10._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], & const_str_relpath._ascii.ob_base, @@ -105071,11 +102904,11 @@ static PyObject *ob_item[19]; }_object; } -ntpath_toplevel_consts_44_names = { +ntpath_toplevel_consts_45_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 19, @@ -105084,11 +102917,11 @@ ntpath_toplevel_consts_44_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_ValueError._ascii.ob_base, & const_str_abspath._ascii.ob_base, & const_str_normpath._ascii.ob_base, - & const_str_splitdrive._ascii.ob_base, + & const_str_splitroot._ascii.ob_base, & const_str_normcase._ascii.ob_base, & const_str_split._ascii.ob_base, & const_str_zip._ascii.ob_base, @@ -105107,35 +102940,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[517]; + char ob_sval[436]; } -ntpath_toplevel_consts_44_linetable = { +ntpath_toplevel_consts_45_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 516, + .ob_size = 435, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x0d\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x07\x05\x16\xd8\x0e\x13\x88\x03\xd8\x11\x15\x88\x06\xd8\x11\x16\x88\x06\x88\x06\xe0\x0e\x12\x88\x03\xd8\x11\x14\x88\x06\xd8\x11\x15\x88\x06\xe0\x07\x0c\x80\x7d\xd8\x10\x16\x88\x05\xe0\x0b\x0f\xf0\x00\x01\x05\x2e\xdd\x0e\x18\xd0\x19\x2c\xd1\x0e\x2d\xd4\x0e\x2d\xd0\x08\x2d\xe5\x0c\x0e\x8c\x49\x90\x65\xd1\x0c\x1c\xd4\x0c\x1c\x80\x45\xf0\x02\x18\x05\x0e\xdd\x14\x1b\x9d\x48\xa0\x55\x99\x4f\x9c\x4f\xd1\x14\x2c\xd4\x14\x2c\x88\x09\xdd\x13\x1a\x9d\x38\xa0\x44\x99\x3e\x9c\x3e\xd1\x13\x2a\xd4\x13\x2a\x88\x08\xdd\x22\x2c\xa8\x59\xd1\x22\x37\xd4\x22\x37\xd1\x08\x1f\x88\x0b\x90\x5a\xdd\x20\x2a\xa8\x38\xd1\x20\x34\xd4\x20\x34\xd1\x08\x1d\x88\x0a\x90\x49\xdd\x0b\x13\x90\x4b\xd1\x0b\x20\xd4\x0b\x20\xa5\x48\xa8\x5a\xd1\x24\x38\xd4\x24\x38\xd2\x0b\x38\xd0\x0b\x38\xdd\x12\x1c\x90\x2a\xd8\x10\x1a\x90\x0a\x90\x0a\x98\x4b\x98\x4b\xf0\x03\x01\x1e\x29\xf1\x00\x01\x13\x2a\xf4\x00\x01\x13\x2a\xf0\x00\x01\x0d\x2a\xf0\x06\x00\x16\x3d\xd0\x15\x3c\xa0\x1a\xd7\x21\x31\xd2\x21\x31\xb0\x23\xd1\x21\x36\xd4\x21\x36\xd0\x15\x3c\xd1\x15\x3c\xd4\x15\x3c\x88\x0a\xd8\x14\x3a\xd0\x14\x3a\xa0\x09\xa7\x0f\xa2\x0f\xb0\x03\xd1\x20\x34\xd4\x20\x34\xd0\x14\x3a\xd1\x14\x3a\xd4\x14\x3a\x88\x09\xe0\x0c\x0d\x88\x01\xdd\x16\x19\x98\x2a\xa0\x69\xd1\x16\x30\xd4\x16\x30\xf0\x00\x03\x09\x13\xf0\x00\x03\x09\x13\x89\x46\x88\x42\x90\x02\xdd\x0f\x17\x98\x02\x89\x7c\x8c\x7c\x9d\x78\xa8\x02\x99\x7c\x9c\x7c\xd2\x0f\x2b\xd0\x0f\x2b\xd8\x10\x15\x90\x05\xd8\x0c\x0d\x90\x11\x89\x46\x88\x41\x88\x41\xe0\x14\x1a\x90\x38\x9d\x73\xa0\x3a\x99\x7f\x9c\x7f\xa8\x71\xd1\x1f\x30\xd1\x13\x31\xb0\x49\xb8\x61\xb8\x62\xb8\x62\xb4\x4d\xd1\x13\x41\x88\x08\xd8\x0f\x17\xf0\x00\x01\x09\x1a\xd8\x13\x19\x88\x4d\xdd\x0f\x13\x90\x58\x88\x7f\xd0\x08\x1e\xf8\xdd\x0c\x15\x95\x7a\xa5\x3e\xb5\x3c\xd5\x41\x53\xd0\x0b\x54\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xdd\x08\x13\xd4\x08\x24\xa0\x59\xb0\x04\xb0\x65\xd1\x08\x3c\xd4\x08\x3c\xd0\x08\x3c\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xe4\x0b\x0d\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xd8\x0e\x13\x88\x03\xd8\x11\x15\x88\x06\xd8\x11\x16\x89\x06\xe0\x0e\x12\x88\x03\xd8\x11\x14\x88\x06\xd8\x11\x15\x88\x06\xe0\x07\x0c\x80\x7d\xd8\x10\x16\x88\x05\xe1\x0b\x0f\xdc\x0e\x18\xd0\x19\x2c\xd3\x0e\x2d\xd0\x08\x2d\xe4\x0c\x0e\x8f\x49\x89\x49\x90\x65\xd3\x0c\x1c\x80\x45\xf0\x02\x18\x05\x0e\xdc\x14\x1b\x9c\x48\xa0\x55\x9b\x4f\xd3\x14\x2c\x88\x09\xdc\x13\x1a\x9c\x38\xa0\x44\x9b\x3e\xd3\x13\x2a\x88\x08\xdc\x25\x2e\xa8\x79\xd3\x25\x39\xd1\x08\x22\x88\x0b\x90\x51\x98\x0a\xdc\x23\x2c\xa8\x58\xd3\x23\x36\xd1\x08\x20\x88\x0a\x90\x41\x90\x79\xdc\x0b\x13\x90\x4b\xd3\x0b\x20\xa4\x48\xa8\x5a\xd3\x24\x38\xd2\x0b\x38\xdd\x12\x1c\xda\x10\x1a\x99\x4b\xf0\x03\x01\x1e\x29\xf3\x00\x01\x13\x2a\xf0\x00\x01\x0d\x2a\xf0\x06\x00\x22\x2c\xd7\x21\x31\xd1\x21\x31\xb0\x23\xd3\x21\x36\xd6\x15\x3c\x98\x41\xba\x21\x92\x61\xd0\x15\x3c\x88\x0a\xd0\x15\x3c\xd8\x20\x29\xa7\x0f\xa1\x0f\xb0\x03\xd3\x20\x34\xd6\x14\x3a\x98\x31\xba\x01\x92\x51\xd0\x14\x3a\x88\x09\xd0\x14\x3a\xe0\x0c\x0d\x88\x01\xdc\x16\x19\x98\x2a\xa0\x69\xd3\x16\x30\xf2\x00\x03\x09\x13\x89\x46\x88\x42\x90\x02\xdc\x0f\x17\x98\x02\x8b\x7c\x9c\x78\xa8\x02\x9b\x7c\xd2\x0f\x2b\xd9\x10\x15\xd8\x0c\x0d\x90\x11\x89\x46\x89\x41\xf0\x07\x03\x09\x13\xf0\x0a\x00\x15\x1b\x90\x38\x9c\x73\xa0\x3a\x9b\x7f\xa8\x71\xd1\x1f\x30\xd1\x13\x31\xb0\x49\xb8\x61\xb8\x62\xb0\x4d\xd1\x13\x41\x88\x08\xd9\x0f\x17\xd8\x13\x19\x88\x4d\xdc\x0f\x13\x90\x58\x88\x7f\xd0\x08\x1e\xf9\xf2\x19\x00\x16\x3d\xf9\xda\x14\x3a\xf8\xf4\x18\x00\x0d\x16\x94\x7a\xa4\x3e\xb4\x3c\xd4\x41\x53\xd0\x0b\x54\xf2\x00\x02\x05\x0e\xdc\x08\x13\xd7\x08\x24\xd1\x08\x24\xa0\x59\xb0\x04\xb0\x65\xd4\x08\x3c\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[20]; + char ob_sval[63]; } -ntpath_toplevel_consts_44_exceptiontable = { +ntpath_toplevel_consts_45_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 19, + .ob_size = 62, }, .ob_shash = -1, - .ob_sval = "\xc1\x21\x44\x32\x46\x1d\x00\xc6\x14\x08\x46\x1d\x00\xc6\x1d\x3b\x47\x18\x03", + .ob_sval = "\xc1\x1a\x42\x01\x45\x2c\x00\xc3\x1b\x07\x45\x22\x04\xc3\x23\x04\x45\x22\x04\xc3\x27\x15\x45\x2c\x00\xc3\x3c\x07\x45\x27\x04\xc4\x04\x04\x45\x27\x04\xc4\x08\x41\x11\x45\x2c\x00\xc5\x1a\x07\x45\x2c\x00\xc5\x22\x0a\x45\x2c\x00\xc5\x2c\x37\x46\x23\x03", }; static struct { @@ -105145,7 +102978,7 @@ static const_str_start_abs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -105154,7 +102987,7 @@ const_str_start_abs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "start_abs", @@ -105167,7 +103000,7 @@ static const_str_path_abs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -105176,7 +103009,7 @@ const_str_path_abs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "path_abs", @@ -105189,7 +103022,7 @@ static const_str_start_drive = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -105198,7 +103031,7 @@ const_str_start_drive = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "start_drive", @@ -105211,7 +103044,7 @@ static const_str_start_rest = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -105220,7 +103053,7 @@ const_str_start_rest = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "start_rest", @@ -105233,7 +103066,7 @@ static const_str_path_drive = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -105242,7 +103075,7 @@ const_str_path_drive = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "path_drive", @@ -105255,7 +103088,7 @@ static const_str_path_rest = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -105264,7 +103097,7 @@ const_str_path_rest = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "path_rest", @@ -105277,7 +103110,7 @@ static const_str_start_list = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -105286,7 +103119,7 @@ const_str_start_list = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "start_list", @@ -105299,7 +103132,7 @@ static const_str_path_list = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -105308,7 +103141,7 @@ const_str_path_list = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "path_list", @@ -105321,7 +103154,7 @@ static const_str_e1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -105330,7 +103163,7 @@ const_str_e1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "e1", @@ -105343,7 +103176,7 @@ static const_str_e2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -105352,7 +103185,7 @@ const_str_e2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "e2", @@ -105365,7 +103198,7 @@ static const_str_rel_list = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -105374,7 +103207,7 @@ const_str_rel_list = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "rel_list", @@ -105384,33 +103217,35 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[17]; + PyObject *ob_item[19]; }_object; } -ntpath_toplevel_consts_44_localsplusnames = { +ntpath_toplevel_consts_45_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 17, + .ob_size = 19, }, .ob_item = { &_Py_ID(path), - & const_str_start._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(start), + &_Py_ID(sep), & const_str_curdir._ascii.ob_base, & const_str_pardir._ascii.ob_base, & const_str_start_abs._ascii.ob_base, & const_str_path_abs._ascii.ob_base, & const_str_start_drive._ascii.ob_base, + &_Py_ID(_), & const_str_start_rest._ascii.ob_base, & const_str_path_drive._ascii.ob_base, & const_str_path_rest._ascii.ob_base, + &_Py_ID(x), & const_str_start_list._ascii.ob_base, & const_str_path_list._ascii.ob_base, - & const_str_i._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], & const_str_e1._ascii.ob_base, & const_str_e2._ascii.ob_base, & const_str_rel_list._ascii.ob_base, @@ -105418,40 +103253,55 @@ ntpath_toplevel_consts_44_localsplusnames = { }, }; static - struct _PyCode_DEF(950) -ntpath_toplevel_consts_44 = { + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[20]; + } +ntpath_toplevel_consts_45_localspluskinds = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 19, + }, + .ob_shash = -1, + .ob_sval = " ", +}; +static + struct _PyCode_DEF(844) +ntpath_toplevel_consts_45 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 475, + .ob_size = 422, }, - .co_consts = & ntpath_toplevel_consts_44_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_44_names._object.ob_base.ob_base, - .co_exceptiontable = & ntpath_toplevel_consts_44_exceptiontable.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_45_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_45_names._object.ob_base.ob_base, + .co_exceptiontable = & ntpath_toplevel_consts_45_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 26 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 741, - .co_nlocalsplus = 17, - .co_nlocals = 17, - .co_nplaincellvars = 0, + .co_firstlineno = 766, + .co_nlocalsplus = 19, + .co_nlocals = 19, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_44_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & zipimport_toplevel_consts_24_localspluskinds.ob_base.ob_base, + .co_version = 572, + .co_localsplusnames = & ntpath_toplevel_consts_45_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & ntpath_toplevel_consts_45_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = & const_str_relpath._ascii.ob_base, .co_qualname = & const_str_relpath._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_44_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x07\x64\x01\x7d\x02\x64\x02\x7d\x03\x64\x03\x7d\x04\x6e\x06\x64\x04\x7d\x02\x64\x05\x7d\x03\x64\x06\x7d\x04\x7c\x01\x80\x02\x7c\x03\x7d\x01\x7c\x00\x73\x0f\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x07\x7d\x08\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x09\x7d\x0a\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x15\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\x7c\x09\x9b\x02\x64\x0a\x7c\x07\x9b\x02\x9d\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x64\x0b\x84\x00\x7c\x08\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x64\x0c\x84\x00\x7c\x0a\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x64\x0d\x7d\x0d\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x7c\x0c\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x2c\x5c\x02\x00\x00\x7d\x0e\x7d\x0f\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0f\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x02\x01\x00\x6e\x06\x7c\x0d\x64\x0e\x7a\x0d\x00\x00\x7d\x0d\x8c\x2d\x7c\x04\x67\x01\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x7a\x0a\x00\x00\x7a\x05\x00\x00\x7c\x0c\x7c\x0d\x64\x07\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7d\x10\x7c\x10\x73\x02\x7c\x03\x53\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x10\x8e\x00\x53\x00\x23\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x05\x24\x00\x72\x18\x01\x00\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0f\x7c\x00\x7c\x01\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_linetable = & ntpath_toplevel_consts_45_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x07\x64\x01\x7d\x02\x64\x02\x7d\x03\x64\x03\x7d\x04\x6e\x06\x64\x04\x7d\x02\x64\x05\x7d\x03\x64\x06\x7d\x04\x7c\x01\x80\x02\x7c\x03\x7d\x01\x7c\x00\x73\x0b\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x07\x7d\x08\x7d\x09\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x0a\x7d\x08\x7d\x0b\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xab\x01\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\x11\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\x7c\x0a\x9b\x02\x64\x0a\x7c\x07\x9b\x02\x9d\x04\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x09\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x8f\x0c\x63\x02\x67\x00\x63\x02\x5d\x07\x00\x00\x7d\x0c\x7c\x0c\x73\x01\x8c\x06\x7c\x0c\x91\x02\x8c\x09\x04\x00\x7d\x0d\x7d\x0c\x7c\x0b\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x8f\x0c\x63\x02\x67\x00\x63\x02\x5d\x07\x00\x00\x7d\x0c\x7c\x0c\x73\x01\x8c\x06\x7c\x0c\x91\x02\x8c\x09\x04\x00\x7d\x0e\x7d\x0c\x64\x0b\x7d\x0f\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x7c\x0e\xab\x02\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x23\x00\x00\x5c\x02\x00\x00\x7d\x10\x7d\x11\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x10\xab\x01\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x11\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\x02\x01\x00\x6e\x07\x7c\x0f\x64\x0c\x7a\x0d\x00\x00\x7d\x0f\x8c\x25\x04\x00\x7c\x04\x67\x01\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x0f\x7a\x0a\x00\x00\x7a\x05\x00\x00\x7c\x0e\x7c\x0f\x64\x07\x1a\x00\x7a\x00\x00\x00\x7d\x12\x7c\x12\x73\x02\x7c\x03\x53\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x12\x8e\x00\x53\x00\x63\x02\x01\x00\x63\x02\x7d\x0c\x77\x00\x63\x02\x01\x00\x63\x02\x7d\x0c\x77\x00\x23\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x74\x20\x00\x00\x00\x00\x00\x00\x00\x00\x66\x05\x24\x00\x72\x19\x01\x00\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\x7c\x00\x7c\x01\xab\x03\x00\x00\x00\x00\x00\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -105459,10 +103309,10 @@ static PyASCIIObject _ascii; uint8_t _data[69]; } -ntpath_toplevel_consts_45_consts_0 = { +ntpath_toplevel_consts_46_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 68, @@ -105471,7 +103321,7 @@ ntpath_toplevel_consts_45_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Given a sequence of path names, returns the longest common sub-path.", @@ -105481,10 +103331,10 @@ static PyASCIIObject _ascii; uint8_t _data[38]; } -ntpath_toplevel_consts_45_consts_1 = { +ntpath_toplevel_consts_46_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 37, @@ -105493,96 +103343,128 @@ ntpath_toplevel_consts_45_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "commonpath() arg is an empty sequence", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[3]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[38]; } -ntpath_toplevel_consts_45_consts_9_names = { - ._object = { +ntpath_toplevel_consts_46_consts_10 = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 3, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_item = { - & const_str_splitdrive._ascii.ob_base, - &_Py_ID(replace), - & const_str_lower._ascii.ob_base, + .length = 37, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "Can't mix absolute and relative paths", }; static struct { PyASCIIObject _ascii; - uint8_t _data[31]; + uint8_t _data[32]; } -ntpath_toplevel_consts_45_consts_9_qualname = { +ntpath_toplevel_consts_46_consts_11 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 30, + .length = 31, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "commonpath..", + ._data = "Paths don't have the same drive", }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[60]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[14]; + }_object; } -ntpath_toplevel_consts_45_consts_9_linetable = { - .ob_base = { +ntpath_toplevel_consts_46_consts = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 14, + }, + .ob_item = { + & ntpath_toplevel_consts_46_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_46_consts_1._ascii.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + (PyObject *)&_Py_SINGLETON(bytes_characters[92]), + (PyObject *)&_Py_SINGLETON(bytes_characters[47]), + (PyObject *)&_Py_SINGLETON(bytes_characters[46]), + (PyObject *)&_Py_SINGLETON(strings).ascii[92], + (PyObject *)&_Py_SINGLETON(strings).ascii[47], + &_Py_STR(dot), + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + & ntpath_toplevel_consts_46_consts_10._ascii.ob_base, + & ntpath_toplevel_consts_46_consts_11._ascii.ob_base, + Py_None, + & const_str_commonpath._ascii.ob_base, }, - .ob_size = 59, }, - .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd0\x16\x51\xd0\x16\x51\xd0\x16\x51\xc0\x61\x95\x7a\xa0\x21\xa7\x29\xa2\x29\xa8\x46\xb0\x43\xd1\x22\x38\xd4\x22\x38\xd7\x22\x3e\xd2\x22\x3e\xd1\x22\x40\xd4\x22\x40\xd1\x17\x41\xd4\x17\x41\xd0\x16\x51\xd0\x16\x51\xd0\x16\x51", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[20]; }_object; } -ntpath_toplevel_consts_45_consts_9_localsplusnames = { +ntpath_toplevel_consts_46_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 20, }, .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_p._ascii.ob_base, - & const_str_altsep._ascii.ob_base, - & const_str_sep._ascii.ob_base, + & const_str_ValueError._ascii.ob_base, + & const_str_tuple._ascii.ob_base, + & const_str_map._ascii.ob_base, + & const_str_os._ascii.ob_base, + & const_str_fspath._ascii.ob_base, + &_Py_ID(isinstance), + &_Py_ID(bytes), + & const_str_splitroot._ascii.ob_base, + &_Py_ID(replace), + & const_str_lower._ascii.ob_base, + & const_str_split._ascii.ob_base, + &_Py_ID(len), + & const_str_min._ascii.ob_base, + & const_str_max._ascii.ob_base, + & const_str_enumerate._ascii.ob_base, + &_Py_ID(join), + & const_str_TypeError._ascii.ob_base, + & const_str_AttributeError._ascii.ob_base, + & const_str_genericpath._ascii.ob_base, + & const_str__check_arg_types._ascii.ob_base, }, }, }; @@ -105590,503 +103472,302 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[5]; + char ob_sval[556]; } -ntpath_toplevel_consts_45_consts_9_localspluskinds = { +ntpath_toplevel_consts_46_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 4, + .ob_size = 555, }, .ob_shash = -1, - .ob_sval = "\x20\x20\x80\x80", -}; -static - struct _PyCode_DEF(122) -ntpath_toplevel_consts_45_consts_9 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 61, - }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = & ntpath_toplevel_consts_45_consts_9_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 8, - .co_firstlineno = 814, - .co_nlocalsplus = 4, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 2, - .co_localsplusnames = & ntpath_toplevel_consts_45_consts_9_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & ntpath_toplevel_consts_45_consts_9_localspluskinds.ob_base.ob_base, - .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_45_consts_9_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_45_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x02\x97\x00\x67\x00\x7c\x00\x5d\x37\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x02\x89\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x38\x53\x00", - ._co_firsttraceable = 1, + .ob_sval = "\x80\x00\xf1\x06\x00\x0c\x11\xdc\x0e\x18\xd0\x19\x40\xd3\x0e\x41\xd0\x08\x41\xe4\x0c\x11\x94\x23\x94\x62\x97\x69\x91\x69\xa0\x15\xd3\x12\x27\xd3\x0c\x28\x80\x45\xdc\x07\x11\x90\x25\x98\x01\x91\x28\x9c\x45\xd4\x07\x22\xd8\x0e\x13\x88\x03\xd8\x11\x15\x88\x06\xd8\x11\x15\x89\x06\xe0\x0e\x12\x88\x03\xd8\x11\x14\x88\x06\xd8\x11\x14\x88\x06\xf0\x04\x1e\x05\x0e\xd8\x4a\x4f\xd6\x16\x50\xc0\x51\x94\x79\xa0\x11\xa7\x19\xa1\x19\xa8\x36\xb0\x33\xd3\x21\x37\xd7\x21\x3d\xd1\x21\x3d\xd3\x21\x3f\xd5\x17\x40\xd0\x16\x50\x88\x0b\xd0\x16\x50\xd8\x33\x3e\xd7\x16\x3f\xd0\x16\x3f\xa9\x07\xa8\x01\xa8\x31\xa8\x61\x90\x71\x97\x77\x91\x77\x98\x73\x95\x7c\xd0\x16\x3f\x88\x0b\xd2\x16\x3f\xe4\x0b\x0e\xa0\x1b\xd7\x0f\x2d\xd0\x0f\x2d\x91\x67\x90\x61\x98\x11\x98\x41\x92\x01\xd4\x0f\x2d\xd3\x0b\x2e\xb0\x21\xd2\x0b\x33\xdc\x12\x1c\xd0\x1d\x44\xd3\x12\x45\xd0\x0c\x45\xf4\x0a\x00\x0c\x0f\xa0\x1b\xd7\x0f\x2d\xd0\x0f\x2d\x91\x67\x90\x61\x98\x11\x98\x41\x92\x01\xd4\x0f\x2d\xd3\x0b\x2e\xb0\x21\xd2\x0b\x33\xdc\x12\x1c\xd0\x1d\x3e\xd3\x12\x3f\xd0\x0c\x3f\xe4\x1c\x25\xa0\x65\xa8\x41\xa1\x68\xd7\x26\x36\xd1\x26\x36\xb0\x76\xb8\x73\xd3\x26\x43\xd3\x1c\x44\xd1\x08\x19\x88\x05\x88\x74\x90\x54\xd8\x11\x15\x97\x1a\x91\x1a\x98\x43\x93\x1f\x88\x06\xd8\x1d\x23\xd6\x11\x39\x98\x01\xa2\x71\xa8\x51\xb0\x26\xab\x5b\x92\x21\xd0\x11\x39\x88\x06\xd0\x11\x39\xe0\x44\x4f\xd7\x16\x50\xb8\x71\xa0\x31\xd6\x17\x3a\x98\x61\xaa\x01\xa8\x61\xb0\x36\xab\x6b\x9a\x01\xd4\x17\x3a\xd0\x16\x50\x88\x0b\xd1\x16\x50\xdc\x0d\x10\x90\x1b\xd3\x0d\x1d\x88\x02\xdc\x0d\x10\x90\x1b\xd3\x0d\x1d\x88\x02\xdc\x14\x1d\x98\x62\x93\x4d\xf2\x00\x05\x09\x26\x89\x44\x88\x41\x88\x71\xd8\x0f\x10\x90\x42\x90\x71\x91\x45\x8b\x7a\xd8\x19\x1f\xa0\x02\xa0\x11\x98\x1a\x90\x06\xd9\x10\x15\xf0\x07\x05\x09\x26\xf0\x0a\x00\x16\x1c\x98\x48\x9c\x53\xa0\x12\x9b\x57\xd0\x15\x25\x88\x46\xe0\x0f\x14\x90\x74\x89\x7c\x98\x63\x9f\x68\x99\x68\xa0\x76\xd3\x1e\x2e\xd1\x0f\x2e\xd0\x08\x2e\xf9\xf2\x35\x00\x17\x51\x01\xf9\xdc\x16\x3f\xf9\xe4\x0f\x2d\xf9\xf4\x0c\x00\x10\x2e\xf9\xf2\x0a\x00\x12\x3a\xf9\xe2\x17\x3a\xf9\xd3\x16\x50\xf8\xf4\x16\x00\x0d\x16\x94\x7e\xd0\x0b\x26\xf2\x00\x02\x05\x0e\xdc\x08\x13\xd7\x08\x24\xd1\x08\x24\xa0\x5c\xd0\x08\x3a\xb0\x45\xd3\x08\x3a\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[40]; + char ob_sval[146]; } -ntpath_toplevel_consts_45_consts_10_linetable = { +ntpath_toplevel_consts_46_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 39, + .ob_size = 145, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd0\x16\x3c\xd0\x16\x3c\xd0\x16\x3c\xa9\x04\xa8\x01\xa8\x31\x90\x71\x97\x77\x92\x77\x98\x73\x91\x7c\x94\x7c\xd0\x16\x3c\xd0\x16\x3c\xd0\x16\x3c", + .ob_sval = "\xc1\x12\x04\x48\x06\x00\xc1\x16\x30\x47\x1c\x04\xc2\x06\x08\x48\x06\x00\xc2\x0e\x1c\x47\x21\x08\xc2\x2a\x0f\x48\x06\x00\xc2\x39\x0d\x47\x28\x0c\xc3\x06\x22\x48\x06\x00\xc3\x28\x0d\x47\x2f\x0c\xc3\x35\x41\x0e\x48\x06\x00\xc5\x03\x07\x47\x36\x04\xc5\x0b\x05\x47\x36\x04\xc5\x11\x04\x47\x36\x04\xc5\x15\x07\x48\x06\x00\xc5\x1c\x09\x48\x00\x06\xc5\x25\x07\x47\x3b\x0c\xc5\x2d\x05\x47\x3b\x0c\xc5\x33\x04\x47\x3b\x0c\xc5\x37\x05\x48\x00\x06\xc5\x3c\x32\x48\x06\x00\xc6\x2f\x2c\x48\x06\x00\xc7\x1c\x1f\x48\x06\x00\xc7\x3b\x05\x48\x00\x06\xc8\x00\x06\x48\x06\x00\xc8\x06\x27\x48\x2d\x03", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[4]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[12]; } -ntpath_toplevel_consts_45_consts_10_localsplusnames = { - ._object = { +const_str_drivesplits = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 4, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_d._ascii.ob_base, - & const_str_p._ascii.ob_base, - & const_str_sep._ascii.ob_base, + .length = 11, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, }, + ._data = "drivesplits", }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[5]; + PyASCIIObject _ascii; + uint8_t _data[12]; } -ntpath_toplevel_consts_45_consts_10_localspluskinds = { - .ob_base = { +const_str_split_paths = { + ._ascii = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - .ob_size = 4, - }, - .ob_shash = -1, - .ob_sval = "\x20\x20\x20\x80", -}; -static - struct _PyCode_DEF(64) -ntpath_toplevel_consts_45_consts_10 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .length = 11, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 32, }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = & ntpath_toplevel_consts_21_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 815, - .co_nlocalsplus = 4, - .co_nlocals = 3, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & ntpath_toplevel_consts_45_consts_10_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & ntpath_toplevel_consts_45_consts_10_localspluskinds.ob_base.ob_base, - .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_45_consts_9_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_45_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x67\x00\x7c\x00\x5d\x1a\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x02\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x1b\x53\x00", - ._co_firsttraceable = 1, + ._data = "split_paths", }; static struct { PyASCIIObject _ascii; - uint8_t _data[30]; + uint8_t _data[7]; } -ntpath_toplevel_consts_45_consts_11_qualname = { +const_str_common = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 29, + .length = 6, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, + }, + }, + ._data = "common", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[18]; + }_object; + } +ntpath_toplevel_consts_46_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 18, + }, + .ob_item = { + & const_str_paths._ascii.ob_base, + &_Py_ID(sep), + & const_str_altsep._ascii.ob_base, + & const_str_curdir._ascii.ob_base, + &_Py_ID(p), + & const_str_drivesplits._ascii.ob_base, + &_Py_ID(d), + &_Py_ID(r), + & const_str_split_paths._ascii.ob_base, + & const_str_drive._ascii.ob_base, + & const_str_root._ascii.ob_base, + &_Py_ID(path), + & const_str_common._ascii.ob_base, + &_Py_ID(c), + &_Py_ID(s), + & const_str_s1._ascii.ob_base, + & const_str_s2._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], }, }, - ._data = "commonpath..", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[52]; + char ob_sval[19]; } -ntpath_toplevel_consts_45_consts_11_linetable = { +ntpath_toplevel_consts_46_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 51, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\xf8\xe8\x00\xe8\x00\x80\x00\xd0\x18\x3e\xd0\x18\x3e\xa9\x24\xa8\x21\xa8\x51\x98\x11\x98\x32\x98\x41\x98\x32\x9c\x15\xa0\x23\x9a\x1c\xd0\x18\x3e\xd0\x18\x3e\xd0\x18\x3e\xd0\x18\x3e\xd0\x18\x3e\xd0\x18\x3e", + .ob_sval = " ", }; static - struct _PyCode_DEF(58) -ntpath_toplevel_consts_45_consts_11 = { + struct _PyCode_DEF(1120) +ntpath_toplevel_consts_46 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 560, }, - .co_consts = & zipimport_toplevel_consts_25_consts._object.ob_base.ob_base, - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 51, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, + .co_consts = & ntpath_toplevel_consts_46_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_46_names._object.ob_base.ob_base, + .co_exceptiontable = & ntpath_toplevel_consts_46_exceptiontable.ob_base.ob_base, + .co_flags = 3, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 818, - .co_nlocalsplus = 4, - .co_nlocals = 3, - .co_nplaincellvars = 0, + .co_framesize = 28 + FRAME_SPECIALS_SIZE, + .co_stacksize = 10, + .co_firstlineno = 822, + .co_nlocalsplus = 18, + .co_nlocals = 18, .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & ntpath_toplevel_consts_45_consts_10_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & ntpath_toplevel_consts_45_consts_10_localspluskinds.ob_base.ob_base, + .co_nfreevars = 0, + .co_version = 573, + .co_localsplusnames = & ntpath_toplevel_consts_46_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & ntpath_toplevel_consts_46_localspluskinds.ob_base.ob_base, .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_genexpr), - .co_qualname = & ntpath_toplevel_consts_45_consts_11_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_45_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x15\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x02\x64\x00\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x03\x6b\x02\x00\x00\x00\x00\x56\x00\x97\x01\x01\x00\x8c\x16\x64\x00\x53\x00", - ._co_firsttraceable = 3, + .co_name = & const_str_commonpath._ascii.ob_base, + .co_qualname = & const_str_commonpath._ascii.ob_base, + .co_linetable = & ntpath_toplevel_consts_46_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x73\x0b\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\x19\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x07\x64\x03\x7d\x01\x64\x04\x7d\x02\x64\x05\x7d\x03\x6e\x06\x64\x06\x7d\x01\x64\x07\x7d\x02\x64\x08\x7d\x03\x09\x00\x7c\x00\x44\x00\x8f\x04\x63\x02\x67\x00\x63\x02\x5d\x2b\x00\x00\x7d\x04\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x2d\x04\x00\x7d\x05\x7d\x04\x7c\x05\x44\x00\x8f\x06\x8f\x07\x8f\x04\x63\x04\x67\x00\x63\x02\x5d\x17\x00\x00\x5c\x03\x00\x00\x7d\x06\x7d\x07\x7d\x04\x7c\x04\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x19\x04\x00\x7d\x08\x7d\x07\x7d\x06\x7d\x04\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x44\x00\x8f\x06\x8f\x07\x8f\x04\x63\x04\x68\x00\x63\x02\x5d\x08\x00\x00\x5c\x03\x00\x00\x7d\x06\x7d\x07\x7d\x04\x7c\x07\x92\x02\x8c\x0a\x04\x00\x63\x04\x7d\x04\x7d\x07\x7d\x06\xab\x01\x00\x00\x00\x00\x00\x00\x64\x09\x6b\x37\x00\x00\x72\x0b\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x44\x00\x8f\x06\x8f\x07\x8f\x04\x63\x04\x68\x00\x63\x02\x5d\x08\x00\x00\x5c\x03\x00\x00\x7d\x06\x7d\x07\x7d\x04\x7c\x06\x92\x02\x8c\x0a\x04\x00\x63\x04\x7d\x04\x7d\x07\x7d\x06\xab\x01\x00\x00\x00\x00\x00\x00\x64\x09\x6b\x37\x00\x00\x72\x0b\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\x19\x00\x00\x00\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x09\x7d\x0a\x7d\x0b\x7c\x0b\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0c\x7c\x0c\x44\x00\x8f\x0d\x63\x02\x67\x00\x63\x02\x5d\x0d\x00\x00\x7d\x0d\x7c\x0d\x73\x01\x8c\x06\x7c\x0d\x7c\x03\x6b\x37\x00\x00\x73\x01\x8c\x0c\x7c\x0d\x91\x02\x8c\x0f\x04\x00\x7d\x0c\x7d\x0d\x7c\x08\x44\x00\x8f\x0e\x8f\x0d\x63\x03\x67\x00\x63\x02\x5d\x1b\x00\x00\x7d\x0e\x7c\x0e\x44\x00\x8f\x0d\x63\x02\x67\x00\x63\x02\x5d\x0d\x00\x00\x7d\x0d\x7c\x0d\x73\x01\x8c\x06\x7c\x0d\x7c\x03\x6b\x37\x00\x00\x73\x01\x8c\x0c\x7c\x0d\x91\x02\x8c\x0f\x04\x00\x63\x02\x7d\x0d\x91\x02\x8c\x1d\x04\x00\x7d\x08\x7d\x0e\x7d\x0d\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0f\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x10\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0f\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x14\x00\x00\x5c\x02\x00\x00\x7d\x11\x7d\x0d\x7c\x0d\x7c\x10\x7c\x11\x19\x00\x00\x00\x6b\x37\x00\x00\x73\x01\x8c\x0f\x7c\x0c\x64\x0c\x7c\x11\x1a\x00\x7d\x0c\x01\x00\x6e\x0f\x04\x00\x7c\x0c\x64\x0c\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0f\xab\x01\x00\x00\x00\x00\x00\x00\x1a\x00\x7d\x0c\x7c\x09\x7c\x0a\x7a\x00\x00\x00\x7c\x01\x6a\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0c\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x53\x00\x63\x02\x01\x00\x63\x02\x7d\x04\x77\x00\x63\x02\x01\x00\x63\x04\x7d\x04\x7d\x07\x7d\x06\x77\x00\x63\x02\x01\x00\x63\x04\x7d\x04\x7d\x07\x7d\x06\x77\x00\x63\x02\x01\x00\x63\x04\x7d\x04\x7d\x07\x7d\x06\x77\x00\x63\x02\x01\x00\x63\x02\x7d\x0d\x77\x00\x63\x02\x01\x00\x63\x02\x7d\x0d\x77\x00\x63\x02\x01\x00\x63\x03\x7d\x0d\x7d\x0e\x77\x00\x23\x00\x74\x20\x00\x00\x00\x00\x00\x00\x00\x00\x74\x22\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x18\x01\x00\x74\x25\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\x67\x01\x7c\x00\xa2\x01\xad\x06\x8e\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 0, }; static struct { - PyASCIIObject _ascii; - uint8_t _data[38]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[1]; + }_object; } -ntpath_toplevel_consts_45_consts_12 = { - ._ascii = { +ntpath_toplevel_consts_47 = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 37, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, }, - }, - ._data = "Can't mix absolute and relative paths", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[39]; - } -ntpath_toplevel_consts_45_consts_14_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_item = { + & const_str__path_isdir._ascii.ob_base, }, - .ob_size = 38, }, - .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xd0\x12\x2d\xd0\x12\x2d\x99\x14\x98\x11\x98\x41\x90\x31\xd0\x12\x2d\xd0\x12\x2d\xd0\x12\x2d\xd0\x12\x2d\xd0\x12\x2d\xd0\x12\x2d", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_45_consts_14_localsplusnames = { +ntpath_toplevel_consts_48 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 1, }, .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_d._ascii.ob_base, - & const_str_p._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(32) -ntpath_toplevel_consts_45_consts_14 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + & const_str__path_isfile._ascii.ob_base, }, - .ob_size = 16, }, - .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 51, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 825, - .co_nlocalsplus = 3, - .co_nlocals = 3, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_45_consts_14_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, - .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_genexpr), - .co_qualname = & ntpath_toplevel_consts_45_consts_11_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_45_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x09\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x01\x56\x00\x97\x01\x01\x00\x8c\x0a\x64\x00\x53\x00", - ._co_firsttraceable = 2, }; static struct { PyASCIIObject _ascii; - uint8_t _data[32]; + uint8_t _data[13]; } -ntpath_toplevel_consts_45_consts_16 = { +const_str__path_islink = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 31, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, - }, - }, - ._data = "Paths don't have the same drive", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[36]; - } -ntpath_toplevel_consts_45_consts_17_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .statically_allocated = 1, }, - .ob_size = 35, }, - .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd0\x11\x39\xd0\x11\x39\xd0\x11\x39\x98\x01\xa0\x71\xd0\x11\x39\xa8\x51\xb0\x26\xaa\x5b\xa8\x5b\x90\x21\xa8\x5b\xa8\x5b\xa8\x5b", + ._data = "_path_islink", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_45_consts_17_localsplusnames = { +ntpath_toplevel_consts_49 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 1, }, .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_c._ascii.ob_base, - & const_str_curdir._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(36) -ntpath_toplevel_consts_45_consts_17 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + & const_str__path_islink._ascii.ob_base, }, - .ob_size = 18, }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 830, - .co_nlocalsplus = 3, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & ntpath_toplevel_consts_45_consts_17_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, - .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_45_consts_9_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_45_consts_17_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x67\x00\x7c\x00\x5d\x0c\x7d\x01\x7c\x01\xaf\x04\x7c\x01\x89\x02\x6b\x03\x00\x00\x00\x00\xaf\x0a\x7c\x01\x91\x02\x8c\x0d\x53\x00", - ._co_firsttraceable = 1, }; static struct { PyASCIIObject _ascii; - uint8_t _data[42]; + uint8_t _data[13]; } -ntpath_toplevel_consts_45_consts_18_consts_0_qualname = { +const_str__path_exists = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 41, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, - }, - }, - ._data = "commonpath...", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[36]; - } -ntpath_toplevel_consts_45_consts_18_consts_0_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 35, - }, - .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd0\x17\x3a\xd0\x17\x3a\xd0\x17\x3a\x98\x61\xa8\x01\xd0\x17\x3a\xa8\x61\xb0\x36\xaa\x6b\xa8\x6b\x98\x01\xa8\x6b\xa8\x6b\xa8\x6b", -}; -static - struct _PyCode_DEF(36) -ntpath_toplevel_consts_45_consts_18_consts_0 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .statically_allocated = 1, }, - .ob_size = 18, }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 832, - .co_nlocalsplus = 3, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & ntpath_toplevel_consts_45_consts_17_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, - .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_45_consts_18_consts_0_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_45_consts_18_consts_0_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x67\x00\x7c\x00\x5d\x0c\x7d\x01\x7c\x01\xaf\x04\x7c\x01\x89\x02\x6b\x03\x00\x00\x00\x00\xaf\x0a\x7c\x01\x91\x02\x8c\x0d\x53\x00", - ._co_firsttraceable = 1, + ._data = "_path_exists", }; static struct { @@ -106096,136 +103777,106 @@ static PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_45_consts_18_consts = { +ntpath_toplevel_consts_50 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & ntpath_toplevel_consts_45_consts_18_consts_0.ob_base.ob_base, + & const_str__path_exists._ascii.ob_base, }, }, }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[47]; + PyASCIIObject _ascii; + uint8_t _data[17]; } -ntpath_toplevel_consts_45_consts_18_linetable = { - .ob_base = { +const_str__path_isdevdrive = { + ._ascii = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 16, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 46, }, - .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd0\x16\x50\xd0\x16\x50\xd0\x16\x50\xb8\x71\xd0\x17\x3a\xd0\x17\x3a\xd0\x17\x3a\xd0\x17\x3a\xa0\x31\xd0\x17\x3a\xd1\x17\x3a\xd4\x17\x3a\xd0\x16\x50\xd0\x16\x50\xd0\x16\x50", + ._data = "_path_isdevdrive", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[1]; }_object; } -ntpath_toplevel_consts_45_consts_18_localsplusnames = { +ntpath_toplevel_consts_51 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 1, }, .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_s._ascii.ob_base, - & const_str_curdir._ascii.ob_base, + & const_str__path_isdevdrive._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(44) -ntpath_toplevel_consts_45_consts_18 = { - .ob_base = { + struct { + PyASCIIObject _ascii; + uint8_t _data[65]; + } +ntpath_toplevel_consts_52_consts_0 = { + ._ascii = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 64, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 22, }, - .co_consts = & ntpath_toplevel_consts_45_consts_18_consts._object.ob_base.ob_base, - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 832, - .co_nlocalsplus = 3, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & ntpath_toplevel_consts_45_consts_18_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, - .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_45_consts_9_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_45_consts_18_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x67\x00\x7c\x00\x5d\x10\x7d\x01\x88\x02\x66\x01\x64\x00\x84\x08\x7c\x01\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x11\x53\x00", - ._co_firsttraceable = 1, + ._data = "Determines whether the specified path is on a Windows Dev Drive.", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[20]; + PyObject *ob_item[2]; }_object; } -ntpath_toplevel_consts_45_consts = { +ntpath_toplevel_consts_52_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 20, + .ob_size = 2, }, .ob_item = { - & ntpath_toplevel_consts_45_consts_0._ascii.ob_base, - & ntpath_toplevel_consts_45_consts_1._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - (PyObject *)&_Py_SINGLETON(bytes_characters[92]), - (PyObject *)&_Py_SINGLETON(bytes_characters[47]), - (PyObject *)&_Py_SINGLETON(bytes_characters[46]), - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, - &_Py_STR(dot), - & ntpath_toplevel_consts_45_consts_9.ob_base.ob_base, - & ntpath_toplevel_consts_45_consts_10.ob_base.ob_base, - & ntpath_toplevel_consts_45_consts_11.ob_base.ob_base, - & ntpath_toplevel_consts_45_consts_12._ascii.ob_base, - Py_None, - & ntpath_toplevel_consts_45_consts_14.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], - & ntpath_toplevel_consts_45_consts_16._ascii.ob_base, - & ntpath_toplevel_consts_45_consts_17.ob_base.ob_base, - & ntpath_toplevel_consts_45_consts_18.ob_base.ob_base, - & const_str_commonpath._ascii.ob_base, + & ntpath_toplevel_consts_52_consts_0._ascii.ob_base, + Py_False, }, }, }; @@ -106234,300 +103885,192 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[20]; + PyObject *ob_item[3]; }_object; } -ntpath_toplevel_consts_45_names = { +ntpath_toplevel_consts_52_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 20, + .ob_size = 3, }, .ob_item = { - & const_str_ValueError._ascii.ob_base, - & const_str_tuple._ascii.ob_base, - & const_str_map._ascii.ob_base, - & const_str_os._ascii.ob_base, - & const_str_fspath._ascii.ob_base, - &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, - & const_str_set._ascii.ob_base, - &_Py_ID(len), - & const_str_splitdrive._ascii.ob_base, - &_Py_ID(replace), - & const_str_split._ascii.ob_base, - & const_str_min._ascii.ob_base, - & const_str_max._ascii.ob_base, - & const_str_enumerate._ascii.ob_base, - &_Py_ID(join), - & const_str_TypeError._ascii.ob_base, - & const_str_AttributeError._ascii.ob_base, - & const_str_genericpath._ascii.ob_base, - & const_str__check_arg_types._ascii.ob_base, - }, - }, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[632]; - } -ntpath_toplevel_consts_45_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 631, - }, - .ob_shash = -1, - .ob_sval = "\xf8\xf8\xf8\x80\x00\xf0\x06\x00\x0c\x11\xf0\x00\x01\x05\x42\x01\xdd\x0e\x18\xd0\x19\x40\xd1\x0e\x41\xd4\x0e\x41\xd0\x08\x41\xe5\x0c\x11\x95\x23\x95\x62\x94\x69\xa0\x15\xd1\x12\x27\xd4\x12\x27\xd1\x0c\x28\xd4\x0c\x28\x80\x45\xdd\x07\x11\x90\x25\x98\x01\x94\x28\x9d\x45\xd1\x07\x22\xd4\x07\x22\xf0\x00\x07\x05\x15\xd8\x0e\x13\x88\x03\xd8\x11\x15\x88\x06\xd8\x11\x15\x88\x06\x88\x06\xe0\x0e\x12\x88\x03\xd8\x11\x14\x88\x06\xd8\x11\x14\x88\x06\xf0\x04\x21\x05\x0e\xd8\x16\x51\xd0\x16\x51\xd0\x16\x51\xd0\x16\x51\xd0\x16\x51\xc8\x35\xd0\x16\x51\xd1\x16\x51\xd4\x16\x51\x88\x0b\xd8\x16\x3c\xd0\x16\x3c\xd0\x16\x3c\xd0\x16\x3c\xb0\x0b\xd0\x16\x3c\xd1\x16\x3c\xd4\x16\x3c\x88\x0b\xf0\x04\x03\x09\x50\x01\xdd\x15\x18\xd0\x18\x3e\xd0\x18\x3e\xd0\x18\x3e\xd0\x18\x3e\xb0\x2b\xd0\x18\x3e\xd1\x18\x3e\xd4\x18\x3e\xd1\x15\x3e\xd4\x15\x3e\x89\x46\x88\x45\x88\x45\xf8\xdd\x0f\x19\xf0\x00\x01\x09\x50\x01\xf0\x00\x01\x09\x50\x01\xf0\x00\x01\x09\x50\x01\xdd\x12\x1c\xd0\x1d\x44\xd1\x12\x45\xd4\x12\x45\xc8\x34\xd0\x0c\x4f\xf0\x03\x01\x09\x50\x01\xf8\xf8\xf8\xf5\x0c\x00\x0c\x0f\x8d\x73\xd0\x12\x2d\xd0\x12\x2d\xa0\x1b\xd0\x12\x2d\xd1\x12\x2d\xd4\x12\x2d\xd1\x0f\x2d\xd4\x0f\x2d\xd1\x0b\x2e\xd4\x0b\x2e\xb0\x21\xd2\x0b\x33\xd0\x0b\x33\xdd\x12\x1c\xd0\x1d\x3e\xd1\x12\x3f\xd4\x12\x3f\xd0\x0c\x3f\xe5\x16\x20\xa0\x15\xa0\x71\xa4\x18\xd7\x21\x31\xd2\x21\x31\xb0\x26\xb8\x23\xd1\x21\x3e\xd4\x21\x3e\xd1\x16\x3f\xd4\x16\x3f\x89\x0b\x88\x05\x88\x74\xd8\x11\x15\x97\x1a\x92\x1a\x98\x43\x91\x1f\x94\x1f\x88\x06\xd8\x11\x39\xd0\x11\x39\xd0\x11\x39\xd0\x11\x39\x98\x56\xd0\x11\x39\xd1\x11\x39\xd4\x11\x39\x88\x06\xe0\x16\x50\xd0\x16\x50\xd0\x16\x50\xd0\x16\x50\xc0\x4b\xd0\x16\x50\xd1\x16\x50\xd4\x16\x50\x88\x0b\xdd\x0d\x10\x90\x1b\xd1\x0d\x1d\xd4\x0d\x1d\x88\x02\xdd\x0d\x10\x90\x1b\xd1\x0d\x1d\xd4\x0d\x1d\x88\x02\xdd\x14\x1d\x98\x62\x91\x4d\x94\x4d\xf0\x00\x05\x09\x26\xf0\x00\x05\x09\x26\x89\x44\x88\x41\x88\x71\xd8\x0f\x10\x90\x42\x90\x71\x94\x45\x8a\x7a\x88\x7a\xd8\x19\x1f\xa0\x02\xa0\x11\xa0\x02\x9c\x1a\x90\x06\xd8\x10\x15\x90\x05\xf0\x05\x00\x10\x1a\xf0\x08\x00\x16\x1c\x98\x48\x9d\x53\xa0\x12\x99\x57\x9c\x57\x98\x48\xd4\x15\x25\x88\x46\xe0\x20\x25\xd0\x11\x30\x90\x15\x98\x13\x91\x1b\x90\x1b\xa8\x35\x88\x06\xd8\x0f\x15\x98\x03\x9f\x08\x9a\x08\xa0\x16\xd1\x18\x28\xd4\x18\x28\xd1\x0f\x28\xd0\x08\x28\xf8\xdd\x0c\x15\x95\x7e\xd0\x0b\x26\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xdd\x08\x13\xd4\x08\x24\xa0\x5c\xd0\x08\x3a\xb0\x45\xd0\x08\x3a\xd0\x08\x3a\xd0\x08\x3a\xd0\x08\x3a\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xf8\xf8\xf8", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[38]; - } -ntpath_toplevel_consts_45_exceptiontable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 37, - }, - .ob_shash = -1, - .ob_sval = "\xc1\x25\x1d\x47\x18\x00\xc2\x03\x1d\x42\x21\x00\xc2\x20\x01\x47\x18\x00\xc2\x21\x1b\x42\x3c\x03\xc2\x3c\x44\x1b\x47\x18\x00\xc7\x18\x25\x47\x3d\x03", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[12]; - } -const_str_drivesplits = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 11, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "drivesplits", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[12]; - } -const_str_split_paths = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 11, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + & const_str__path_isdevdrive._ascii.ob_base, + & const_str_abspath._ascii.ob_base, + & const_str_OSError._ascii.ob_base, }, }, - ._data = "split_paths", }; static struct { PyASCIIObject _ascii; - uint8_t _data[7]; + uint8_t _data[11]; } -const_str_common = { +const_str_isdevdrive = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 6, + .length = 10, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "common", + ._data = "isdevdrive", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[15]; - }_object; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[41]; } -ntpath_toplevel_consts_45_localsplusnames = { - ._object = { +ntpath_toplevel_consts_52_linetable = { + .ob_base = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 15, - }, - .ob_item = { - & const_str_paths._ascii.ob_base, - & const_str_drivesplits._ascii.ob_base, - & const_str_split_paths._ascii.ob_base, - & const_str_isabs._ascii.ob_base, - & const_str_drive._ascii.ob_base, - &_Py_ID(path), - & const_str_common._ascii.ob_base, - & const_str_s1._ascii.ob_base, - & const_str_s2._ascii.ob_base, - & const_str_i._ascii.ob_base, - & const_str_c._ascii.ob_base, - & const_str_prefix._ascii.ob_base, - & const_str_altsep._ascii.ob_base, - & const_str_curdir._ascii.ob_base, - & const_str_sep._ascii.ob_base, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, + .ob_size = 40, }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xf0\x04\x03\x09\x19\xdc\x13\x23\xa4\x47\xa8\x44\xa3\x4d\xd3\x13\x32\xd0\x0c\x32\xf8\xdc\x0f\x16\xf2\x00\x01\x09\x19\xd9\x13\x18\xf0\x03\x01\x09\x19\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[13]; } -ntpath_toplevel_consts_45_localspluskinds = { +ntpath_toplevel_consts_52_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 12, }, .ob_shash = -1, - .ob_sval = " @@@", + .ob_sval = "\x82\x13\x16\x00\x96\x09\x22\x03\xa1\x01\x22\x03", }; static - struct _PyCode_DEF(1024) -ntpath_toplevel_consts_45 = { + struct _PyCode_DEF(74) +ntpath_toplevel_consts_52 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 512, + .ob_size = 37, }, - .co_consts = & ntpath_toplevel_consts_45_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_45_names._object.ob_base.ob_base, - .co_exceptiontable = & ntpath_toplevel_consts_45_exceptiontable.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_52_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_52_names._object.ob_base.ob_base, + .co_exceptiontable = & ntpath_toplevel_consts_52_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 797, - .co_nlocalsplus = 15, - .co_nlocals = 12, - .co_nplaincellvars = 3, - .co_ncellvars = 3, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 892, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_45_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & ntpath_toplevel_consts_45_localspluskinds.ob_base.ob_base, + .co_version = 574, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, - .co_name = & const_str_commonpath._ascii.ob_base, - .co_qualname = & const_str_commonpath._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_45_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x0c\x87\x0d\x87\x0e\x97\x00\x7c\x00\x73\x0f\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x07\x64\x03\x8a\x0e\x64\x04\x8a\x0c\x64\x05\x8a\x0d\x6e\x06\x64\x06\x8a\x0e\x64\x07\x8a\x0c\x64\x08\x8a\x0d\x09\x00\x88\x0c\x88\x0e\x66\x02\x64\x09\x84\x08\x7c\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x88\x0e\x66\x01\x64\x0a\x84\x08\x7c\x01\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x09\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x0e\x66\x01\x64\x0b\x84\x08\x7c\x01\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x01\x00\x00\x7d\x03\x6e\x1e\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0e\x84\x00\x7c\x01\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0f\x6b\x03\x00\x00\x00\x00\x72\x0f\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x0c\x89\x0e\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x04\x7d\x05\x7c\x05\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x0e\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x88\x0d\x66\x01\x64\x11\x84\x08\x7c\x06\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x88\x0d\x66\x01\x64\x12\x84\x08\x7c\x02\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x1d\x5c\x02\x00\x00\x7d\x09\x7d\x0a\x7c\x0a\x7c\x08\x7c\x09\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x0c\x7c\x06\x64\x0d\x7c\x09\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x01\x00\x6e\x18\x8c\x1e\x7c\x06\x64\x0d\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x03\x72\x05\x7c\x04\x89\x0e\x7a\x00\x00\x00\x6e\x01\x7c\x04\x7d\x0b\x7c\x0b\x89\x0e\xa0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x53\x00\x23\x00\x74\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x14\x01\x00\x74\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x64\x13\x67\x01\x7c\x00\xa2\x01\x52\x00\x8e\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", - ._co_firsttraceable = 3, + .co_name = & const_str_isdevdrive._ascii.ob_base, + .co_qualname = & const_str_isdevdrive._ascii.ob_base, + .co_linetable = & ntpath_toplevel_consts_52_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 0, }; static struct { - PyASCIIObject _ascii; - uint8_t _data[7]; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[8]; } -const_str__isdir = { - ._ascii = { +ntpath_toplevel_consts_53_linetable = { + .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 6, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, + .ob_size = 7, }, - ._data = "_isdir", + .ob_shash = -1, + .ob_sval = "\x80\x00\xf0\x06\x00\x10\x15", }; static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[1]; - }_object; - } -ntpath_toplevel_consts_46 = { - ._object = { + struct _PyCode_DEF(4) +ntpath_toplevel_consts_53 = { + .ob_base = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 1, - }, - .ob_item = { - & const_str__isdir._ascii.ob_base, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 2, }, + .co_consts = & ntpath_toplevel_consts_52_consts._object.ob_base.ob_base, + .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, + .co_firstlineno = 887, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 575, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, + .co_name = & const_str_isdevdrive._ascii.ob_base, + .co_qualname = & const_str_isdevdrive._ascii.ob_base, + .co_linetable = & ntpath_toplevel_consts_53_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", + ._co_firsttraceable = 0, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[48]; + PyObject *ob_item[55]; }_object; } ntpath_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 48, + .ob_size = 55, }, .ob_item = { & ntpath_toplevel_consts_0._ascii.ob_base, &_Py_STR(dot), & ntpath_toplevel_consts_2._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, - & ntpath_toplevel_consts_4._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[92], + (PyObject *)&_Py_SINGLETON(strings).ascii[59], + (PyObject *)&_Py_SINGLETON(strings).ascii[47], & ntpath_toplevel_consts_6._ascii.ob_base, & const_str_nul._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], @@ -106546,29 +104089,36 @@ ntpath_toplevel_consts = { & ntpath_toplevel_consts_21.ob_base.ob_base, & ntpath_toplevel_consts_22.ob_base.ob_base, & ntpath_toplevel_consts_23.ob_base.ob_base, - & ntpath_toplevel_consts_24.ob_base.ob_base, - & ntpath_toplevel_consts_25._object.ob_base.ob_base, + & const_str_st_reparse_tag._ascii.ob_base, + & ntpath_toplevel_consts_25.ob_base.ob_base, & ntpath_toplevel_consts_26.ob_base.ob_base, & ntpath_toplevel_consts_27.ob_base.ob_base, - & ntpath_toplevel_consts_28.ob_base.ob_base, - & ntpath_toplevel_consts_29._object.ob_base.ob_base, + & ntpath_toplevel_consts_28._object.ob_base.ob_base, + & ntpath_toplevel_consts_29.ob_base.ob_base, & ntpath_toplevel_consts_30.ob_base.ob_base, & ntpath_toplevel_consts_31.ob_base.ob_base, - & ntpath_toplevel_consts_32.ob_base.ob_base, - & ntpath_toplevel_consts_33._object.ob_base.ob_base, + & ntpath_toplevel_consts_32._object.ob_base.ob_base, + & ntpath_toplevel_consts_33.ob_base.ob_base, & ntpath_toplevel_consts_34.ob_base.ob_base, - & ntpath_toplevel_consts_35._object.ob_base.ob_base, - & ntpath_toplevel_consts_36.ob_base.ob_base, + & ntpath_toplevel_consts_35.ob_base.ob_base, + & ntpath_toplevel_consts_36._object.ob_base.ob_base, & ntpath_toplevel_consts_37.ob_base.ob_base, - Py_False, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, + & ntpath_toplevel_consts_38._object.ob_base.ob_base, + & ntpath_toplevel_consts_39.ob_base.ob_base, & ntpath_toplevel_consts_40.ob_base.ob_base, - & const_str_getwindowsversion._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 3], - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - & ntpath_toplevel_consts_44.ob_base.ob_base, + Py_False, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, + & ntpath_toplevel_consts_43.ob_base.ob_base, + Py_True, & ntpath_toplevel_consts_45.ob_base.ob_base, - & ntpath_toplevel_consts_46._object.ob_base.ob_base, + & ntpath_toplevel_consts_46.ob_base.ob_base, + & ntpath_toplevel_consts_47._object.ob_base.ob_base, + & ntpath_toplevel_consts_48._object.ob_base.ob_base, + & ntpath_toplevel_consts_49._object.ob_base.ob_base, + & ntpath_toplevel_consts_50._object.ob_base.ob_base, + & ntpath_toplevel_consts_51._object.ob_base.ob_base, + & ntpath_toplevel_consts_52.ob_base.ob_base, + & ntpath_toplevel_consts_53.ob_base.ob_base, & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, }, }, @@ -106581,7 +104131,7 @@ static const_str__winapi = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -106590,34 +104140,56 @@ const_str__winapi = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_winapi", }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[12]; + } +const_str_stat_result = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 11, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "stat_result", +}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[57]; + PyObject *ob_item[66]; }_object; } ntpath_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 57, + .ob_size = 66, }, .ob_item = { &_Py_ID(__doc__), & const_str_curdir._ascii.ob_base, & const_str_pardir._ascii.ob_base, & const_str_extsep._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_pathsep._ascii.ob_base, & const_str_altsep._ascii.ob_base, & const_str_defpath._ascii.ob_base, @@ -106640,14 +104212,17 @@ ntpath_toplevel_names = { & const_str_isabs._ascii.ob_base, &_Py_ID(join), & const_str_splitdrive._ascii.ob_base, + & const_str_splitroot._ascii.ob_base, & const_str_split._ascii.ob_base, & const_str_splitext._ascii.ob_base, & const_str__splitext._ascii.ob_base, & const_str_basename._ascii.ob_base, & const_str_dirname._ascii.ob_base, - & const_str_islink._ascii.ob_base, + & const_str_hasattr._ascii.ob_base, + & const_str_stat_result._ascii.ob_base, + & const_str_isjunction._ascii.ob_base, & const_str_lexists._ascii.ob_base, - & const_str_nt._ascii.ob_base, + &_Py_ID(nt), & const_str__getvolumepathname._ascii.ob_base, & const_str_ismount._ascii.ob_base, & const_str_expanduser._ascii.ob_base, @@ -106663,13 +104238,19 @@ ntpath_toplevel_names = { & const_str__readlink_deep._ascii.ob_base, & const_str__getfinalpathname_nonstrict._ascii.ob_base, & const_str_realpath._ascii.ob_base, - & const_str_hasattr._ascii.ob_base, - & const_str_getwindowsversion._ascii.ob_base, & const_str_supports_unicode_filenames._ascii.ob_base, & const_str_relpath._ascii.ob_base, & const_str_commonpath._ascii.ob_base, - & const_str__isdir._ascii.ob_base, + & const_str__path_isdir._ascii.ob_base, & const_str_isdir._ascii.ob_base, + & const_str__path_isfile._ascii.ob_base, + & const_str_isfile._ascii.ob_base, + & const_str__path_islink._ascii.ob_base, + & const_str_islink._ascii.ob_base, + & const_str__path_exists._ascii.ob_base, + & const_str_exists._ascii.ob_base, + & const_str__path_isdevdrive._ascii.ob_base, + & const_str_isdevdrive._ascii.ob_base, }, }, }; @@ -106677,80 +104258,75 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[1028]; + char ob_sval[493]; } ntpath_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 1027, + .ob_size = 492, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x04\x04\x01\x04\xf0\x00\x04\x01\x04\xf0\x12\x00\x0a\x0d\x80\x06\xd8\x09\x0d\x80\x06\xd8\x09\x0c\x80\x06\xd8\x06\x0a\x80\x03\xd8\x0a\x0d\x80\x07\xd8\x09\x0c\x80\x06\xd8\x0a\x15\x80\x07\xd8\x0a\x0f\x80\x07\xe0\x00\x09\x80\x09\x80\x09\x80\x09\xd8\x00\x0a\x80\x0a\x80\x0a\x80\x0a\xd8\x00\x0b\x80\x0b\x80\x0b\x80\x0b\xd8\x00\x12\xd0\x00\x12\xd0\x00\x12\xd0\x00\x12\xd8\x00\x19\xd0\x00\x19\xd0\x00\x19\xd0\x00\x19\xf0\x06\x06\x0b\x41\x01\xf0\x00\x06\x0b\x41\x01\xf0\x00\x06\x0b\x41\x01\x80\x07\xf0\x10\x04\x01\x15\xf0\x00\x04\x01\x15\xf0\x00\x04\x01\x15\xf0\x14\x21\x01\x2c\xf0\x02\x03\x05\x2d\xf0\x00\x03\x05\x2d\xf0\x00\x03\x05\x2d\xf0\x00\x03\x05\x2d\xf0\x00\x03\x05\x2d\xf0\x00\x03\x05\x2d\xf0\x00\x03\x05\x2d\xf0\x00\x03\x05\x2d\xf0\x00\x03\x05\x2d\xf0\x00\x03\x05\x2d\xf0\x0a\x11\x05\x38\xf0\x00\x11\x05\x38\xf0\x00\x11\x05\x38\xf0\x00\x11\x05\x38\xf8\xf0\x24\x00\x08\x13\xf0\x00\x09\x01\x2c\xf0\x00\x09\x01\x2c\xf0\x00\x09\x01\x2c\xf0\x02\x08\x05\x2c\xf0\x00\x08\x05\x2c\xf0\x00\x08\x05\x2c\xf0\x00\x08\x05\x2c\xf0\x00\x08\x05\x2c\xf0\x03\x09\x01\x2c\xf8\xf8\xf8\xf0\x24\x10\x01\x11\xf0\x00\x10\x01\x11\xf0\x00\x10\x01\x11\xf0\x28\x29\x01\x0e\xf0\x00\x29\x01\x0e\xf0\x00\x29\x01\x0e\xf0\x5e\x01\x2e\x01\x14\xf0\x00\x2e\x01\x14\xf0\x00\x2e\x01\x14\xf0\x6c\x01\x0f\x01\x1a\xf0\x00\x0f\x01\x1a\xf0\x00\x0f\x01\x1a\xf0\x2e\x05\x01\x38\xf0\x00\x05\x01\x38\xf0\x00\x05\x01\x38\xf0\x0c\x00\x14\x1f\xd4\x13\x28\xd4\x13\x30\x80\x08\xd4\x00\x10\xf0\x0a\x02\x01\x17\xf0\x00\x02\x01\x17\xf0\x00\x02\x01\x17\xf0\x0e\x02\x01\x17\xf0\x00\x02\x01\x17\xf0\x00\x02\x01\x17\xf0\x0e\x08\x01\x24\xf0\x00\x08\x01\x24\xf0\x00\x08\x01\x24\xf0\x18\x06\x01\x10\xf0\x00\x06\x01\x10\xf0\x00\x06\x01\x10\xf0\x24\x03\x01\x1e\xd8\x04\x25\xd0\x04\x25\xd0\x04\x25\xd0\x04\x25\xd0\x04\x25\xd0\x04\x25\xd0\x04\x25\xf8\xd8\x07\x12\xf0\x00\x01\x01\x1e\xf0\x00\x01\x01\x1e\xf0\x00\x01\x01\x1e\xd8\x19\x1d\xd0\x04\x16\xd0\x04\x16\xd0\x04\x16\xf0\x03\x01\x01\x1e\xf8\xf8\xf8\xf0\x04\x11\x01\x15\xf0\x00\x11\x01\x15\xf0\x00\x11\x01\x15\xf0\x3a\x2d\x01\x1f\xf0\x00\x2d\x01\x1f\xf0\x00\x2d\x01\x1f\xf0\x7a\x01\x6a\x01\x01\x0f\xf0\x00\x6a\x01\x01\x0f\xf0\x00\x6a\x01\x01\x0f\xf0\x60\x03\x33\x01\x2b\xd8\x04\x21\xd0\x04\x21\xd0\x04\x21\xd0\x04\x21\xd0\x04\x21\xd0\x04\x21\xf0\x5a\x01\x05\x05\x2b\xf0\x00\x05\x05\x2b\xf0\x00\x05\x05\x2b\xf0\x00\x05\x05\x2b\xf8\xf0\x57\x01\x00\x08\x13\xf0\x00\x28\x01\x28\xf0\x00\x28\x01\x28\xf0\x00\x28\x01\x28\xf0\x02\x27\x05\x28\xf0\x00\x27\x05\x28\xf0\x00\x27\x05\x28\xf0\x00\x27\x05\x28\xf0\x00\x27\x05\x28\xf0\x03\x28\x01\x28\xf8\xf8\xf8\xf0\x66\x01\x0e\x01\x1a\xf0\x00\x0e\x01\x1a\xf0\x00\x0e\x01\x1a\xf0\x22\x0c\x01\x2b\xd8\x04\x23\xd0\x04\x23\xd0\x04\x23\xd0\x04\x23\xd0\x04\x23\xd0\x04\x23\xf0\x0c\x05\x05\x2b\xf0\x00\x05\x05\x2b\xf0\x00\x05\x05\x2b\xf0\x00\x05\x05\x2b\xf8\xf0\x09\x00\x08\x13\xf0\x00\x01\x01\x20\xf0\x00\x01\x01\x20\xf0\x00\x01\x01\x20\xd8\x0e\x1f\x80\x47\x80\x47\x80\x47\xf0\x03\x01\x01\x20\xf8\xf8\xf8\xf0\x16\x5d\x02\x01\x14\xd8\x04\x3e\xd0\x04\x3e\xd0\x04\x3e\xd0\x04\x3e\xd0\x04\x3e\xd0\x04\x3e\xd0\x04\x3e\xd0\x04\x3e\xf0\x0a\x28\x05\x14\xf0\x00\x28\x05\x14\xf0\x00\x28\x05\x14\xf0\x54\x01\x2f\x05\x14\xf0\x00\x2f\x05\x14\xf0\x00\x2f\x05\x14\xf0\x62\x01\x00\x22\x27\xf0\x00\x3c\x05\x14\xf0\x00\x3c\x05\x14\xf0\x00\x3c\x05\x14\xf0\x00\x3c\x05\x14\xf0\x00\x3c\x05\x14\xf0\x00\x3c\x05\x14\xf8\xf0\x7f\x02\x00\x08\x13\xf0\x00\x02\x01\x17\xf0\x00\x02\x01\x17\xf0\x00\x02\x01\x17\xe0\x0f\x16\x80\x48\x80\x48\x80\x48\xf0\x05\x02\x01\x17\xf8\xf8\xf8\xf0\x7e\x04\x00\x1f\x26\x98\x67\xa0\x63\xd0\x2b\x3e\xd1\x1e\x3f\xd4\x1e\x3f\xf0\x00\x01\x1f\x3e\xd8\x1e\x33\x98\x63\xd4\x1e\x33\xd1\x1e\x35\xd4\x1e\x35\xb0\x61\xd4\x1e\x38\xb8\x41\xd2\x1e\x3d\xf0\x03\x00\x01\x1b\xf0\x06\x2b\x01\x0e\xf0\x00\x2b\x01\x0e\xf0\x00\x2b\x01\x0e\xf0\x00\x2b\x01\x0e\xf0\x70\x01\x31\x01\x0e\xf0\x00\x31\x01\x0e\xf0\x00\x31\x01\x0e\xf0\x68\x01\x08\x01\x09\xf0\x0a\x00\x05\x23\xd0\x04\x22\xd0\x04\x22\xd0\x04\x22\xd0\x04\x22\xd0\x04\x22\xd0\x04\x22\xd0\x04\x22\xf8\xd8\x07\x12\xf0\x00\x02\x01\x09\xf0\x00\x02\x01\x09\xf0\x00\x02\x01\x09\xe0\x04\x08\x80\x44\x80\x44\xf0\x05\x02\x01\x09\xf8\xf8\xf8", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x04\x04\x01\x04\xf0\x12\x00\x0a\x0d\x80\x06\xd8\x09\x0d\x80\x06\xd8\x09\x0c\x80\x06\xd8\x06\x0a\x80\x03\xd8\x0a\x0d\x80\x07\xd8\x09\x0c\x80\x06\xd8\x0a\x15\x80\x07\xd8\x0a\x0f\x80\x07\xe3\x00\x09\xdb\x00\x0a\xdb\x00\x0b\xdb\x00\x12\xdc\x00\x19\xf2\x06\x06\x0b\x4f\x01\x80\x07\xf2\x10\x04\x01\x15\xf0\x14\x21\x01\x2c\xf7\x02\x03\x05\x2d\xf1\x00\x03\x05\x2d\xf2\x0a\x11\x05\x38\xf2\x48\x01\x10\x01\x11\xf2\x28\x2b\x01\x0e\xf2\x62\x01\x14\x01\x1e\xf2\x2e\x31\x01\x1f\xf2\x72\x01\x0d\x01\x2b\xf2\x2a\x05\x01\x38\xf0\x0c\x00\x14\x1f\xd7\x13\x28\xd1\x13\x28\xd7\x13\x30\xd1\x13\x30\x80\x08\xd4\x00\x10\xf2\x0a\x02\x01\x17\xf2\x0e\x02\x01\x17\xf1\x0e\x00\x04\x0b\x88\x32\x8f\x3e\x89\x3e\xd0\x1b\x2b\xd4\x03\x2c\xf3\x02\x06\x05\x4a\x01\xf2\x10\x03\x05\x15\xf2\x10\x06\x01\x10\xf0\x24\x03\x01\x1e\xdd\x04\x25\xf2\x06\x11\x01\x15\xf2\x3a\x2d\x01\x1f\xf2\x7a\x01\x6a\x01\x01\x0f\xf0\x60\x03\x2e\x01\x2b\xdd\x04\x21\xf2\x50\x01\x05\x05\x2b\xf2\x10\x0e\x01\x1a\xf0\x22\x0c\x01\x2b\xdd\x04\x23\xf2\x0c\x05\x05\x2b\xf0\x0e\x5d\x02\x01\x14\xdf\x04\x3e\xf2\x0a\x28\x05\x14\xf2\x54\x01\x2f\x05\x14\xf0\x62\x01\x00\x22\x27\xf4\x00\x3c\x05\x14\xf0\x40\x02\x00\x1e\x22\xd0\x00\x1a\xf3\x04\x2b\x01\x0e\xf2\x70\x01\x2e\x01\x0e\xf0\x62\x01\x0a\x01\x09\xf5\x08\x00\x05\x28\xdd\x04\x29\xdd\x04\x29\xdd\x04\x29\xf0\x0c\x0d\x01\x19\xdd\x04\x23\xf3\x0e\x05\x05\x19\xf8\xf0\x6f\x19\x00\x08\x13\xf2\x00\x09\x01\x2c\xf4\x02\x08\x05\x2c\xf0\x03\x09\x01\x2c\xfb\xf0\x74\x07\x00\x08\x13\xf2\x00\x01\x01\x1e\xd8\x19\x1d\xd2\x04\x16\xf0\x03\x01\x01\x1e\xfb\xf0\x5e\x06\x00\x08\x13\xf2\x00\x23\x01\x28\xf4\x02\x22\x05\x28\xf0\x03\x23\x01\x28\xfb\xf0\x44\x02\x00\x08\x13\xf2\x00\x01\x01\x20\xd8\x0e\x1f\x82\x47\xf0\x03\x01\x01\x20\xfb\xf0\x1a\x00\x08\x13\xf2\x00\x02\x01\x17\xe0\x0f\x16\x82\x48\xf0\x05\x02\x01\x17\xfb\xf0\x64\x08\x00\x08\x13\xf2\x00\x02\x01\x09\xe1\x04\x08\xf0\x05\x02\x01\x09\xfb\xf0\x0e\x00\x08\x13\xf2\x00\x04\x01\x15\xf4\x02\x03\x05\x15\xf0\x03\x04\x01\x15\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[106]; + char ob_sval[126]; } ntpath_toplevel_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 105, + .ob_size = 125, }, .ob_shash = -1, - .ob_sval = "\xaf\x0d\x3d\x00\xbd\x08\x41\x08\x03\xc1\x07\x01\x41\x08\x03\xc1\x38\x06\x41\x3f\x00\xc1\x3f\x07\x42\x09\x03\xc2\x08\x01\x42\x09\x03\xc2\x16\x06\x42\x20\x00\xc2\x20\x08\x42\x2b\x03\xc2\x2a\x01\x42\x2b\x03\xc2\x32\x06\x42\x3c\x00\xc2\x3c\x07\x43\x06\x03\xc3\x05\x01\x43\x06\x03\xc3\x0a\x08\x43\x1f\x00\xc3\x1f\x07\x43\x29\x03\xc3\x28\x01\x43\x29\x03\xc4\x19\x06\x44\x21\x00\xc4\x21\x05\x44\x2a\x03\xc4\x29\x01\x44\x2a\x03", + .ob_sval = "\xb0\x0d\x43\x36\x00\xc2\x0e\x06\x44\x04\x00\xc2\x1e\x06\x44\x11\x00\xc2\x2b\x06\x44\x1f\x00\xc2\x35\x08\x44\x2c\x00\xc3\x13\x18\x44\x39\x00\xc3\x2c\x06\x45\x04\x00\xc3\x36\x08\x44\x01\x03\xc4\x00\x01\x44\x01\x03\xc4\x04\x07\x44\x0e\x03\xc4\x0d\x01\x44\x0e\x03\xc4\x11\x08\x44\x1c\x03\xc4\x1b\x01\x44\x1c\x03\xc4\x1f\x07\x44\x29\x03\xc4\x28\x01\x44\x29\x03\xc4\x2c\x07\x44\x36\x03\xc4\x35\x01\x44\x36\x03\xc4\x39\x05\x45\x01\x03\xc5\x00\x01\x45\x01\x03\xc5\x04\x08\x45\x0f\x03\xc5\x0e\x01\x45\x0f\x03", }; static - struct _PyCode_DEF(602) + struct _PyCode_DEF(676) ntpath_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 301, + .ob_size = 338, }, .co_consts = & ntpath_toplevel_consts._object.ob_base.ob_base, .co_names = & ntpath_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = & ntpath_toplevel_exceptiontable.ob_base.ob_base, .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 576, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & ntpath_toplevel_consts_12_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & ntpath_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x5a\x01\x64\x02\x5a\x02\x64\x01\x5a\x03\x64\x03\x5a\x04\x64\x04\x5a\x05\x64\x05\x5a\x06\x64\x06\x5a\x07\x64\x07\x5a\x08\x64\x08\x64\x09\x6c\x09\x5a\x09\x64\x08\x64\x09\x6c\x0a\x5a\x0a\x64\x08\x64\x09\x6c\x0b\x5a\x0b\x64\x08\x64\x09\x6c\x0c\x5a\x0c\x64\x08\x64\x0a\x6c\x0c\x54\x00\x67\x00\x64\x0b\xa2\x01\x5a\x0d\x64\x0c\x84\x00\x5a\x0e\x09\x00\x64\x08\x64\x0d\x6c\x0f\x6d\x10\x5a\x11\x6d\x12\x5a\x13\x6d\x14\x5a\x15\x01\x00\x64\x0e\x84\x00\x5a\x16\x6e\x0e\x23\x00\x65\x17\x24\x00\x72\x06\x01\x00\x64\x0f\x84\x00\x5a\x16\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x10\x84\x00\x5a\x18\x64\x11\x84\x00\x5a\x19\x64\x12\x84\x00\x5a\x1a\x64\x13\x84\x00\x5a\x1b\x64\x14\x84\x00\x5a\x1c\x65\x0c\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1c\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x15\x84\x00\x5a\x1e\x64\x16\x84\x00\x5a\x1f\x64\x17\x84\x00\x5a\x20\x64\x18\x84\x00\x5a\x21\x09\x00\x64\x08\x64\x19\x6c\x22\x6d\x23\x5a\x23\x01\x00\x6e\x0d\x23\x00\x65\x17\x24\x00\x72\x05\x01\x00\x64\x09\x5a\x23\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x1a\x84\x00\x5a\x24\x64\x1b\x84\x00\x5a\x25\x64\x1c\x84\x00\x5a\x26\x09\x00\x64\x08\x64\x1d\x6c\x22\x6d\x27\x5a\x27\x01\x00\x64\x1e\x84\x00\x5a\x28\x6e\x0e\x23\x00\x65\x17\x24\x00\x72\x06\x01\x00\x64\x1f\x84\x00\x5a\x28\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x20\x84\x00\x5a\x29\x09\x00\x64\x08\x64\x21\x6c\x22\x6d\x2a\x5a\x2a\x01\x00\x64\x22\x84\x00\x5a\x2b\x6e\x0d\x23\x00\x65\x17\x24\x00\x72\x05\x01\x00\x65\x29\x5a\x2b\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x09\x00\x64\x08\x64\x23\x6c\x22\x6d\x2c\x5a\x2c\x6d\x2d\x5a\x2e\x01\x00\x64\x24\x84\x00\x5a\x2f\x64\x25\x84\x00\x5a\x30\x64\x26\x64\x27\x9c\x01\x64\x28\x84\x02\x5a\x31\x6e\x0d\x23\x00\x65\x17\x24\x00\x72\x05\x01\x00\x65\x2b\x5a\x31\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x02\x00\x65\x32\x65\x0a\x64\x29\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x18\x02\x00\x65\x0a\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x2a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x2b\x6b\x05\x00\x00\x00\x00\x5a\x34\x64\x2f\x64\x2c\x84\x01\x5a\x35\x64\x2d\x84\x00\x5a\x36\x09\x00\x64\x08\x64\x2e\x6c\x22\x6d\x37\x5a\x38\x01\x00\x64\x09\x53\x00\x23\x00\x65\x17\x24\x00\x72\x04\x01\x00\x59\x00\x64\x09\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x5a\x01\x64\x02\x5a\x02\x64\x01\x5a\x03\x64\x03\x5a\x04\x64\x04\x5a\x05\x64\x05\x5a\x06\x64\x06\x5a\x07\x64\x07\x5a\x08\x64\x08\x64\x09\x6c\x09\x5a\x09\x64\x08\x64\x09\x6c\x0a\x5a\x0a\x64\x08\x64\x09\x6c\x0b\x5a\x0b\x64\x08\x64\x09\x6c\x0c\x5a\x0c\x64\x08\x64\x0a\x6c\x0c\xad\x02\x01\x00\x67\x00\x64\x0b\xa2\x01\x5a\x0d\x64\x0c\x84\x00\x5a\x0e\x09\x00\x64\x08\x64\x0d\x6c\x0f\x6d\x10\x5a\x11\x6d\x12\x5a\x13\x6d\x14\x5a\x15\x01\x00\x64\x0e\x84\x00\x5a\x16\x64\x10\x84\x00\x5a\x18\x64\x11\x84\x00\x5a\x19\x64\x12\x84\x00\x5a\x1a\x64\x13\x84\x00\x5a\x1b\x64\x14\x84\x00\x5a\x1c\x64\x15\x84\x00\x5a\x1d\x65\x0c\x6a\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1d\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x16\x84\x00\x5a\x1f\x64\x17\x84\x00\x5a\x20\x02\x00\x65\x21\x65\x09\x6a\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x18\xab\x02\x00\x00\x00\x00\x00\x00\x72\x04\x64\x19\x84\x00\x5a\x23\x6e\x03\x64\x1a\x84\x00\x5a\x23\x64\x1b\x84\x00\x5a\x24\x09\x00\x64\x08\x64\x1c\x6c\x25\x6d\x26\x5a\x26\x01\x00\x64\x1d\x84\x00\x5a\x27\x64\x1e\x84\x00\x5a\x28\x64\x1f\x84\x00\x5a\x29\x09\x00\x64\x08\x64\x20\x6c\x25\x6d\x2a\x5a\x2a\x01\x00\x64\x21\x84\x00\x5a\x2b\x64\x23\x84\x00\x5a\x2c\x09\x00\x64\x08\x64\x24\x6c\x25\x6d\x2d\x5a\x2d\x01\x00\x64\x25\x84\x00\x5a\x2e\x09\x00\x64\x08\x64\x26\x6c\x25\x6d\x2f\x5a\x2f\x6d\x30\x5a\x31\x01\x00\x64\x27\x84\x00\x5a\x32\x64\x28\x84\x00\x5a\x33\x64\x29\x64\x2a\x9c\x01\x64\x2b\x84\x02\x5a\x34\x64\x2c\x5a\x35\x64\x36\x64\x2d\x84\x01\x5a\x36\x64\x2e\x84\x00\x5a\x37\x09\x00\x64\x08\x64\x2f\x6c\x25\x6d\x38\x5a\x39\x01\x00\x64\x08\x64\x30\x6c\x25\x6d\x3a\x5a\x3b\x01\x00\x64\x08\x64\x31\x6c\x25\x6d\x3c\x5a\x3d\x01\x00\x64\x08\x64\x32\x6c\x25\x6d\x3e\x5a\x3f\x01\x00\x09\x00\x64\x08\x64\x33\x6c\x25\x6d\x40\x5a\x40\x01\x00\x64\x34\x84\x00\x5a\x41\x79\x09\x23\x00\x65\x17\x24\x00\x72\x06\x01\x00\x64\x0f\x84\x00\x5a\x16\x59\x00\x8c\xc3\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x65\x17\x24\x00\x72\x05\x01\x00\x64\x09\x5a\x26\x59\x00\x8c\x79\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x65\x17\x24\x00\x72\x06\x01\x00\x64\x22\x84\x00\x5a\x2b\x59\x00\x8c\x74\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x65\x17\x24\x00\x72\x05\x01\x00\x65\x2c\x5a\x2e\x59\x00\x8c\x74\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x65\x17\x24\x00\x72\x05\x01\x00\x65\x2e\x5a\x34\x59\x00\x8c\x6c\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x65\x17\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x55\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x65\x17\x24\x00\x72\x06\x01\x00\x64\x35\x84\x00\x5a\x41\x59\x00\x79\x09\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; -static void ntpath_do_patchups(void) { -} PyObject * _Py_get_ntpath_toplevel(void) { - ntpath_do_patchups(); return Py_NewRef((PyObject *) &ntpath_toplevel); } @@ -106762,7 +104338,7 @@ static posixpath_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 473, @@ -106771,7 +104347,7 @@ posixpath_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x43\x6f\x6d\x6d\x6f\x6e\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\x6e\x73\x20\x6f\x6e\x20\x50\x6f\x73\x69\x78\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x73\x2e\x0a\x0a\x49\x6e\x73\x74\x65\x61\x64\x20\x6f\x66\x20\x69\x6d\x70\x6f\x72\x74\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x6d\x6f\x64\x75\x6c\x65\x20\x64\x69\x72\x65\x63\x74\x6c\x79\x2c\x20\x69\x6d\x70\x6f\x72\x74\x20\x6f\x73\x20\x61\x6e\x64\x20\x72\x65\x66\x65\x72\x20\x74\x6f\x0a\x74\x68\x69\x73\x20\x6d\x6f\x64\x75\x6c\x65\x20\x61\x73\x20\x6f\x73\x2e\x70\x61\x74\x68\x2e\x20\x20\x54\x68\x65\x20\x22\x6f\x73\x2e\x70\x61\x74\x68\x22\x20\x6e\x61\x6d\x65\x20\x69\x73\x20\x61\x6e\x20\x61\x6c\x69\x61\x73\x20\x66\x6f\x72\x20\x74\x68\x69\x73\x0a\x6d\x6f\x64\x75\x6c\x65\x20\x6f\x6e\x20\x50\x6f\x73\x69\x78\x20\x73\x79\x73\x74\x65\x6d\x73\x3b\x20\x6f\x6e\x20\x6f\x74\x68\x65\x72\x20\x73\x79\x73\x74\x65\x6d\x73\x20\x28\x65\x2e\x67\x2e\x20\x57\x69\x6e\x64\x6f\x77\x73\x29\x2c\x0a\x6f\x73\x2e\x70\x61\x74\x68\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\x6e\x73\x20\x69\x6e\x20\x61\x20\x6d\x61\x6e\x6e\x65\x72\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x74\x6f\x20\x74\x68\x61\x74\x0a\x70\x6c\x61\x74\x66\x6f\x72\x6d\x2c\x20\x61\x6e\x64\x20\x69\x73\x20\x61\x6e\x20\x61\x6c\x69\x61\x73\x20\x74\x6f\x20\x61\x6e\x6f\x74\x68\x65\x72\x20\x6d\x6f\x64\x75\x6c\x65\x20\x28\x65\x2e\x67\x2e\x20\x6e\x74\x70\x61\x74\x68\x29\x2e\x0a\x0a\x53\x6f\x6d\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x63\x61\x6e\x20\x61\x63\x74\x75\x61\x6c\x6c\x79\x20\x62\x65\x20\x75\x73\x65\x66\x75\x6c\x20\x6f\x6e\x20\x6e\x6f\x6e\x2d\x50\x6f\x73\x69\x78\x20\x73\x79\x73\x74\x65\x6d\x73\x20\x74\x6f\x6f\x2c\x20\x65\x2e\x67\x2e\x0a\x66\x6f\x72\x20\x6d\x61\x6e\x69\x70\x75\x6c\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x20\x6f\x66\x20\x55\x52\x4c\x73\x2e\x0a", @@ -106784,7 +104360,7 @@ static posixpath_toplevel_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -106793,7 +104369,7 @@ posixpath_toplevel_consts_5 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "/bin:/usr/bin", @@ -106806,7 +104382,7 @@ static posixpath_toplevel_consts_7 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -106815,7 +104391,7 @@ posixpath_toplevel_consts_7 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "/dev/null", @@ -106825,23 +104401,24 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[38]; + PyObject *ob_item[40]; }_object; } posixpath_toplevel_consts_10 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 38, + .ob_size = 40, }, .ob_item = { & const_str_normcase._ascii.ob_base, & const_str_isabs._ascii.ob_base, &_Py_ID(join), & const_str_splitdrive._ascii.ob_base, + & const_str_splitroot._ascii.ob_base, & const_str_split._ascii.ob_base, & const_str_splitext._ascii.ob_base, & const_str_basename._ascii.ob_base, @@ -106866,7 +104443,7 @@ posixpath_toplevel_consts_10 = { & const_str_samestat._ascii.ob_base, & const_str_curdir._ascii.ob_base, & const_str_pardir._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_pathsep._ascii.ob_base, & const_str_defpath._ascii.ob_base, & const_str_altsep._ascii.ob_base, @@ -106876,6 +104453,7 @@ posixpath_toplevel_consts_10 = { & const_str_supports_unicode_filenames._ascii.ob_base, & const_str_relpath._ascii.ob_base, & const_str_commonpath._ascii.ob_base, + & const_str_isjunction._ascii.ob_base, }, }, }; @@ -106891,7 +104469,7 @@ posixpath_toplevel_consts_11_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -106899,7 +104477,7 @@ posixpath_toplevel_consts_11_consts = { .ob_item = { Py_None, (PyObject *)&_Py_SINGLETON(bytes_characters[47]), - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], }, }, }; @@ -106911,7 +104489,7 @@ static posixpath_toplevel_consts_11_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -106920,7 +104498,7 @@ posixpath_toplevel_consts_11_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -106933,7 +104511,7 @@ static const_str__get_sep = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -106942,7 +104520,7 @@ const_str__get_sep = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_sep", @@ -106951,54 +104529,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[31]; + char ob_sval[19]; } posixpath_toplevel_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 30, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x03\x05\x13\xd8\x0f\x13\x88\x74\xe0\x0f\x12\x88\x73", + .ob_sval = "\x80\x00\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xd8\x0f\x13\xe0\x0f\x12", }; static - struct _PyCode_DEF(52) + struct _PyCode_DEF(38) posixpath_toplevel_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 19, }, .co_consts = & posixpath_toplevel_consts_11_consts._object.ob_base.ob_base, .co_names = & ntpath_toplevel_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 41, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 577, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str__get_sep._ascii.ob_base, .co_qualname = & const_str__get_sep._ascii.ob_base, .co_linetable = & posixpath_toplevel_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x64\x01\x53\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x01\x79\x01\x79\x02", ._co_firsttraceable = 0, }; static @@ -107009,7 +104585,7 @@ static posixpath_toplevel_consts_12_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 54, @@ -107018,7 +104594,7 @@ posixpath_toplevel_consts_12_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Normalize case of pathname. Has no effect under Posix", @@ -107035,7 +104611,7 @@ posixpath_toplevel_consts_12_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -107045,29 +104621,6 @@ posixpath_toplevel_consts_12_consts = { }, }, }; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -posixpath_toplevel_consts_12_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & const_str_os._ascii.ob_base, - & const_str_fspath._ascii.ob_base, - }, - }, -}; static struct { PyObject_VAR_HEAD @@ -107077,49 +104630,47 @@ static posixpath_toplevel_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 16, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x0d\x8c\x39\x90\x51\x89\x3c\x8c\x3c\xd0\x04\x17", + .ob_sval = "\x80\x00\xe4\x0b\x0d\x8f\x39\x89\x39\x90\x51\x8b\x3c\xd0\x04\x17", }; static - struct _PyCode_DEF(42) + struct _PyCode_DEF(44) posixpath_toplevel_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 22, }, .co_consts = & posixpath_toplevel_consts_12_consts._object.ob_base.ob_base, - .co_names = & posixpath_toplevel_consts_12_names._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_26_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 52, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_15_localsplusnames._object.ob_base.ob_base, + .co_version = 578, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_normcase._ascii.ob_base, .co_qualname = & const_str_normcase._ascii.ob_base, .co_linetable = & posixpath_toplevel_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -107134,7 +104685,7 @@ posixpath_toplevel_consts_13_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -107156,7 +104707,7 @@ posixpath_toplevel_consts_13_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -107173,18 +104724,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[45]; + char ob_sval[40]; } posixpath_toplevel_consts_13_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 44, + .ob_size = 39, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x08\x0a\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xdd\x0a\x12\x90\x31\x89\x2b\x8c\x2b\x80\x43\xd8\x0b\x0c\x8f\x3c\x8a\x3c\x98\x03\xd1\x0b\x1c\xd4\x0b\x1c\xd0\x04\x1c", + .ob_sval = "\x80\x00\xe4\x08\x0a\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x0a\x12\x90\x31\x8b\x2b\x80\x43\xd8\x0b\x0c\x8f\x3c\x89\x3c\x98\x03\xd3\x0b\x1c\xd0\x04\x1c", }; static struct { @@ -107198,52 +104749,50 @@ posixpath_toplevel_consts_13_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_s._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(s), + &_Py_ID(sep), }, }, }; static - struct _PyCode_DEF(114) + struct _PyCode_DEF(100) posixpath_toplevel_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 57, + .ob_size = 50, }, .co_consts = & posixpath_toplevel_consts_13_consts._object.ob_base.ob_base, .co_names = & posixpath_toplevel_consts_13_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 60, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 579, .co_localsplusnames = & posixpath_toplevel_consts_13_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_isabs._ascii.ob_base, .co_qualname = & const_str_isabs._ascii.ob_base, .co_linetable = & posixpath_toplevel_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -107254,7 +104803,7 @@ static posixpath_toplevel_consts_14_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 230, @@ -107263,7 +104812,7 @@ posixpath_toplevel_consts_14_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x4a\x6f\x69\x6e\x20\x74\x77\x6f\x20\x6f\x72\x20\x6d\x6f\x72\x65\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x73\x2c\x20\x69\x6e\x73\x65\x72\x74\x69\x6e\x67\x20\x27\x2f\x27\x20\x61\x73\x20\x6e\x65\x65\x64\x65\x64\x2e\x0a\x20\x20\x20\x20\x49\x66\x20\x61\x6e\x79\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x20\x69\x73\x20\x61\x6e\x20\x61\x62\x73\x6f\x6c\x75\x74\x65\x20\x70\x61\x74\x68\x2c\x20\x61\x6c\x6c\x20\x70\x72\x65\x76\x69\x6f\x75\x73\x20\x70\x61\x74\x68\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x73\x0a\x20\x20\x20\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x64\x69\x73\x63\x61\x72\x64\x65\x64\x2e\x20\x20\x41\x6e\x20\x65\x6d\x70\x74\x79\x20\x6c\x61\x73\x74\x20\x70\x61\x72\x74\x20\x77\x69\x6c\x6c\x20\x72\x65\x73\x75\x6c\x74\x20\x69\x6e\x20\x61\x20\x70\x61\x74\x68\x20\x74\x68\x61\x74\x0a\x20\x20\x20\x20\x65\x6e\x64\x73\x20\x77\x69\x74\x68\x20\x61\x20\x73\x65\x70\x61\x72\x61\x74\x6f\x72\x2e", @@ -107280,7 +104829,7 @@ posixpath_toplevel_consts_14_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -107305,7 +104854,7 @@ posixpath_toplevel_consts_14_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -107329,18 +104878,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[249]; + char ob_sval[187]; } posixpath_toplevel_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 248, + .ob_size = 186, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0a\x00\x09\x0b\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xdd\x0a\x12\x90\x31\x89\x2b\x8c\x2b\x80\x43\xd8\x0b\x0c\x80\x44\xf0\x02\x0c\x05\x0e\xd8\x0f\x10\xf0\x00\x01\x09\x1b\xd8\x0c\x10\x90\x12\x90\x21\x90\x12\x8c\x48\x90\x73\x89\x4e\x88\x4e\xdd\x11\x14\x95\x52\x94\x59\xa0\x01\xd1\x11\x22\xd4\x11\x22\xf0\x00\x06\x09\x20\xf0\x00\x06\x09\x20\x88\x41\xd8\x0f\x10\x8f\x7c\x8a\x7c\x98\x43\xd1\x0f\x20\xd4\x0f\x20\xf0\x00\x05\x0d\x20\xd8\x17\x18\x90\x04\x90\x04\xd8\x15\x19\xf0\x00\x03\x0d\x20\x98\x54\x9f\x5d\x9a\x5d\xa8\x33\xd1\x1d\x2f\xd4\x1d\x2f\xf0\x00\x03\x0d\x20\xd8\x10\x14\x98\x01\x91\x09\x90\x04\x90\x04\xe0\x10\x14\x98\x03\x98\x61\x99\x07\x91\x0f\x90\x04\x90\x04\xf0\x0d\x06\x09\x20\xf8\xf5\x0e\x00\x0d\x16\x95\x7e\xa5\x7c\xd0\x0b\x34\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xdd\x08\x13\xd4\x08\x24\xa0\x56\xa8\x51\xd0\x08\x33\xb0\x11\xd0\x08\x33\xd0\x08\x33\xd0\x08\x33\xd0\x08\x33\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xf8\xf8\xf8\xf0\x06\x00\x0c\x10\x80\x4b", + .ob_sval = "\x80\x00\xf4\x0a\x00\x09\x0b\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x0a\x12\x90\x31\x8b\x2b\x80\x43\xd8\x0b\x0c\x80\x44\xf0\x02\x0c\x05\x0e\xd9\x0f\x10\xd8\x0c\x10\x90\x12\x90\x21\x88\x48\x90\x73\x8a\x4e\xdc\x11\x14\x94\x52\x97\x59\x91\x59\xa0\x01\xd3\x11\x22\xf2\x00\x06\x09\x20\x88\x41\xd8\x0f\x10\x8f\x7c\x89\x7c\x98\x43\xd4\x0f\x20\xd8\x17\x18\x91\x04\xd9\x15\x19\x98\x54\x9f\x5d\x99\x5d\xa8\x33\xd4\x1d\x2f\xd8\x10\x14\x98\x01\x91\x09\x91\x04\xe0\x10\x14\x98\x03\x98\x61\x99\x07\x91\x0f\x91\x04\xf1\x0d\x06\x09\x20\xf0\x14\x00\x0c\x10\x80\x4b\xf8\xf4\x07\x00\x0d\x16\x94\x7e\xa4\x7c\xd0\x0b\x34\xf2\x00\x02\x05\x0e\xdc\x08\x13\xd7\x08\x24\xd1\x08\x24\xa0\x56\xa8\x51\xd0\x08\x33\xb0\x11\xd3\x08\x33\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xfa", }; static struct { @@ -107351,13 +104900,13 @@ static posixpath_toplevel_consts_14_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\xa7\x41\x29\x42\x11\x00\xc2\x11\x2c\x42\x3d\x03", + .ob_sval = "\xa4\x41\x1e\x42\x05\x00\xc2\x05\x2d\x42\x32\x03", }; static struct { @@ -107371,55 +104920,53 @@ posixpath_toplevel_consts_14_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & const_str_a._ascii.ob_base, - & const_str_p._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(a), + &_Py_ID(p), + &_Py_ID(sep), &_Py_ID(path), - & const_str_b._ascii.ob_base, + &_Py_ID(b), }, }, }; static - struct _PyCode_DEF(388) + struct _PyCode_DEF(362) posixpath_toplevel_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 194, + .ob_size = 181, }, .co_consts = & posixpath_toplevel_consts_14_consts._object.ob_base.ob_base, .co_names = & posixpath_toplevel_consts_14_names._object.ob_base.ob_base, .co_exceptiontable = & posixpath_toplevel_consts_14_exceptiontable.ob_base.ob_base, .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 71, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 580, .co_localsplusnames = & posixpath_toplevel_consts_14_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = &_Py_ID(join), .co_qualname = &_Py_ID(join), .co_linetable = & posixpath_toplevel_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x7d\x03\x09\x00\x7c\x01\x73\x0d\x7c\x03\x64\x01\x64\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7a\x00\x00\x00\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x3f\x7d\x04\x7c\x04\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x03\x7c\x04\x7d\x03\x8c\x1a\x7c\x03\x72\x15\x7c\x03\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x06\x7c\x03\x7c\x04\x7a\x0d\x00\x00\x7d\x03\x8c\x37\x7c\x03\x7c\x02\x7c\x04\x7a\x00\x00\x00\x7a\x0d\x00\x00\x7d\x03\x8c\x40\x6e\x2f\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x15\x01\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x67\x02\x7c\x01\xa2\x01\x52\x00\x8e\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x7d\x03\x09\x00\x7c\x01\x73\x08\x7c\x03\x64\x01\x64\x02\x1a\x00\x7c\x02\x7a\x00\x00\x00\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x37\x00\x00\x7d\x04\x7c\x04\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x72\x03\x7c\x04\x7d\x03\x8c\x17\x7c\x03\x72\x11\x7c\x03\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x72\x06\x7c\x03\x7c\x04\x7a\x0d\x00\x00\x7d\x03\x8c\x30\x7c\x03\x7c\x02\x7c\x04\x7a\x00\x00\x00\x7a\x0d\x00\x00\x7d\x03\x8c\x39\x04\x00\x09\x00\x7c\x03\x53\x00\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x19\x01\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x00\x67\x02\x7c\x01\xa2\x01\xad\x06\x8e\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -107430,7 +104977,7 @@ static posixpath_toplevel_consts_15_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 128, @@ -107439,7 +104986,7 @@ posixpath_toplevel_consts_15_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x53\x70\x6c\x69\x74\x20\x61\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x2e\x20\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x74\x75\x70\x6c\x65\x20\x22\x28\x68\x65\x61\x64\x2c\x20\x74\x61\x69\x6c\x29\x22\x20\x77\x68\x65\x72\x65\x20\x22\x74\x61\x69\x6c\x22\x20\x69\x73\x0a\x20\x20\x20\x20\x65\x76\x65\x72\x79\x74\x68\x69\x6e\x67\x20\x61\x66\x74\x65\x72\x20\x74\x68\x65\x20\x66\x69\x6e\x61\x6c\x20\x73\x6c\x61\x73\x68\x2e\x20\x20\x45\x69\x74\x68\x65\x72\x20\x70\x61\x72\x74\x20\x6d\x61\x79\x20\x62\x65\x20\x65\x6d\x70\x74\x79\x2e", @@ -107456,7 +105003,7 @@ posixpath_toplevel_consts_15_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -107480,7 +105027,7 @@ posixpath_toplevel_consts_15_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -107499,18 +105046,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[129]; + char ob_sval[108]; } posixpath_toplevel_consts_15_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 128, + .ob_size = 107, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x09\x0b\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xdd\x0a\x12\x90\x31\x89\x2b\x8c\x2b\x80\x43\xd8\x08\x09\x8f\x07\x8a\x07\x90\x03\x89\x0c\x8c\x0c\x90\x71\xd1\x08\x18\x80\x41\xd8\x11\x12\x90\x32\x90\x41\x90\x32\x94\x15\x98\x01\x98\x21\x98\x22\x98\x22\x9c\x05\x88\x24\x80\x44\xd8\x07\x0b\xf0\x00\x01\x05\x20\x90\x04\x98\x03\x9d\x43\xa0\x04\x99\x49\x9c\x49\x99\x0d\xd2\x10\x25\xd0\x10\x25\xd8\x0f\x13\x8f\x7b\x8a\x7b\x98\x33\xd1\x0f\x1f\xd4\x0f\x1f\x88\x04\xd8\x0b\x0f\x90\x14\x88\x3a\xd0\x04\x15", + .ob_sval = "\x80\x00\xf4\x06\x00\x09\x0b\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x0a\x12\x90\x31\x8b\x2b\x80\x43\xd8\x08\x09\x8f\x07\x89\x07\x90\x03\x8b\x0c\x90\x71\xd1\x08\x18\x80\x41\xd8\x11\x12\x90\x32\x90\x41\x90\x15\x98\x01\x98\x21\x98\x22\x98\x05\x88\x24\x80\x44\xd9\x07\x0b\x90\x04\x98\x03\x9c\x43\xa0\x04\x9b\x49\x99\x0d\xd2\x10\x25\xd8\x0f\x13\x8f\x7b\x89\x7b\x98\x33\xd3\x0f\x1f\x88\x04\xd8\x0b\x0f\x90\x14\x88\x3a\xd0\x04\x15", }; static struct { @@ -107524,55 +105071,53 @@ posixpath_toplevel_consts_15_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & const_str_p._ascii.ob_base, - & const_str_sep._ascii.ob_base, - & const_str_i._ascii.ob_base, + &_Py_ID(p), + &_Py_ID(sep), + (PyObject *)&_Py_SINGLETON(strings).ascii[105], & const_str_head._ascii.ob_base, & const_str_tail._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(258) + struct _PyCode_DEF(206) posixpath_toplevel_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 129, + .ob_size = 103, }, .co_consts = & posixpath_toplevel_consts_15_consts._object.ob_base.ob_base, .co_names = & posixpath_toplevel_consts_15_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 100, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 581, .co_localsplusnames = & posixpath_toplevel_consts_15_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_split._ascii.ob_base, .co_qualname = & const_str_split._ascii.ob_base, .co_linetable = & posixpath_toplevel_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7a\x00\x00\x00\x7d\x02\x7c\x00\x64\x02\x7c\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\x64\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7d\x03\x7c\x03\x72\x2b\x7c\x03\x7c\x01\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x05\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x15\x7c\x03\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x7c\x04\x66\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x7a\x00\x00\x00\x7d\x02\x7c\x00\x64\x02\x7c\x02\x1a\x00\x7c\x00\x7c\x02\x64\x02\x1a\x00\x7d\x04\x7d\x03\x7c\x03\x72\x22\x7c\x03\x7c\x01\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x05\x00\x00\x6b\x37\x00\x00\x72\x11\x7c\x03\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x7c\x04\x66\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -107587,7 +105132,7 @@ posixpath_toplevel_consts_16_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -107596,7 +105141,7 @@ posixpath_toplevel_consts_16_consts = { Py_None, (PyObject *)&_Py_SINGLETON(bytes_characters[47]), (PyObject *)&_Py_SINGLETON(bytes_characters[46]), - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], &_Py_STR(dot), }, }, @@ -107605,18 +105150,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[79]; + char ob_sval[69]; } posixpath_toplevel_consts_16_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 78, + .ob_size = 68, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x08\x0a\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xdd\x07\x11\x90\x21\x95\x55\xd1\x07\x1b\xd4\x07\x1b\xf0\x00\x05\x05\x15\xd8\x0e\x12\x88\x03\xd8\x11\x15\x88\x06\x88\x06\xe0\x0e\x11\x88\x03\xd8\x11\x14\x88\x06\xdd\x0b\x16\xd4\x0b\x20\xa0\x11\xa0\x43\xa8\x14\xa8\x76\xd1\x0b\x36\xd4\x0b\x36\xd0\x04\x36", + .ob_sval = "\x80\x00\xdc\x08\x0a\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x07\x11\x90\x21\x94\x55\xd4\x07\x1b\xd8\x0e\x12\x88\x03\xd8\x11\x15\x89\x06\xe0\x0e\x11\x88\x03\xd8\x11\x14\x88\x06\xdc\x0b\x16\xd7\x0b\x20\xd1\x0b\x20\xa0\x11\xa0\x43\xa8\x14\xa8\x76\xd3\x0b\x36\xd0\x04\x36", }; static struct { @@ -107630,53 +105175,51 @@ posixpath_toplevel_consts_16_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_p._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(p), + &_Py_ID(sep), & const_str_extsep._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(148) + struct _PyCode_DEF(142) posixpath_toplevel_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 74, + .ob_size = 71, }, .co_consts = & posixpath_toplevel_consts_16_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_20_names._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_21_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 117, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 582, .co_localsplusnames = & posixpath_toplevel_consts_16_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_splitext._ascii.ob_base, .co_qualname = & const_str_splitext._ascii.ob_base, .co_linetable = & posixpath_toplevel_consts_16_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x05\x64\x01\x7d\x01\x64\x02\x7d\x02\x6e\x04\x64\x03\x7d\x01\x64\x04\x7d\x02\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x64\x00\x7c\x02\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x05\x64\x01\x7d\x01\x64\x02\x7d\x02\x6e\x04\x64\x03\x7d\x01\x64\x04\x7d\x02\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x64\x00\x7c\x02\xab\x04\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -107687,7 +105230,7 @@ static posixpath_toplevel_consts_17_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 74, @@ -107696,7 +105239,7 @@ posixpath_toplevel_consts_17_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x53\x70\x6c\x69\x74\x20\x61\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x69\x6e\x74\x6f\x20\x64\x72\x69\x76\x65\x20\x61\x6e\x64\x20\x70\x61\x74\x68\x2e\x20\x4f\x6e\x20\x50\x6f\x73\x69\x78\x2c\x20\x64\x72\x69\x76\x65\x20\x69\x73\x20\x61\x6c\x77\x61\x79\x73\x0a\x20\x20\x20\x20\x65\x6d\x70\x74\x79\x2e", @@ -107713,7 +105256,7 @@ posixpath_toplevel_consts_17_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -107729,77 +105272,103 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[35]; + char ob_sval[33]; } posixpath_toplevel_consts_17_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 34, + .ob_size = 32, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x09\x0b\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xd8\x0b\x0c\x88\x52\x88\x61\x88\x52\x8c\x35\x90\x21\x88\x38\x80\x4f", + .ob_sval = "\x80\x00\xf4\x06\x00\x09\x0b\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xd8\x0b\x0c\x88\x52\x88\x61\x88\x35\x90\x21\x88\x38\x80\x4f", }; static - struct _PyCode_DEF(66) + struct _PyCode_DEF(58) posixpath_toplevel_consts_17 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 29, }, .co_consts = & posixpath_toplevel_consts_17_consts._object.ob_base.ob_base, - .co_names = & posixpath_toplevel_consts_12_names._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_26_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 131, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, + .co_version = 583, + .co_localsplusnames = & ntpath_toplevel_consts_21_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_splitdrive._ascii.ob_base, .co_qualname = & const_str_splitdrive._ascii.ob_base, .co_linetable = & posixpath_toplevel_consts_17_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x64\x01\x64\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x66\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x64\x01\x64\x02\x1a\x00\x7c\x00\x66\x02\x53\x00", ._co_firsttraceable = 0, }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[422]; + } +posixpath_toplevel_consts_18_consts_0 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 421, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "\x53\x70\x6c\x69\x74\x20\x61\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x69\x6e\x74\x6f\x20\x64\x72\x69\x76\x65\x2c\x20\x72\x6f\x6f\x74\x20\x61\x6e\x64\x20\x74\x61\x69\x6c\x2e\x20\x4f\x6e\x20\x50\x6f\x73\x69\x78\x2c\x20\x64\x72\x69\x76\x65\x20\x69\x73\x20\x61\x6c\x77\x61\x79\x73\x0a\x20\x20\x20\x20\x65\x6d\x70\x74\x79\x3b\x20\x74\x68\x65\x20\x72\x6f\x6f\x74\x20\x6d\x61\x79\x20\x62\x65\x20\x65\x6d\x70\x74\x79\x2c\x20\x61\x20\x73\x69\x6e\x67\x6c\x65\x20\x73\x6c\x61\x73\x68\x2c\x20\x6f\x72\x20\x74\x77\x6f\x20\x73\x6c\x61\x73\x68\x65\x73\x2e\x20\x54\x68\x65\x20\x74\x61\x69\x6c\x0a\x20\x20\x20\x20\x63\x6f\x6e\x74\x61\x69\x6e\x73\x20\x61\x6e\x79\x74\x68\x69\x6e\x67\x20\x61\x66\x74\x65\x72\x20\x74\x68\x65\x20\x72\x6f\x6f\x74\x2e\x20\x46\x6f\x72\x20\x65\x78\x61\x6d\x70\x6c\x65\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x70\x6c\x69\x74\x72\x6f\x6f\x74\x28\x27\x66\x6f\x6f\x2f\x62\x61\x72\x27\x29\x20\x3d\x3d\x20\x28\x27\x27\x2c\x20\x27\x27\x2c\x20\x27\x66\x6f\x6f\x2f\x62\x61\x72\x27\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x70\x6c\x69\x74\x72\x6f\x6f\x74\x28\x27\x2f\x66\x6f\x6f\x2f\x62\x61\x72\x27\x29\x20\x3d\x3d\x20\x28\x27\x27\x2c\x20\x27\x2f\x27\x2c\x20\x27\x66\x6f\x6f\x2f\x62\x61\x72\x27\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x70\x6c\x69\x74\x72\x6f\x6f\x74\x28\x27\x2f\x2f\x66\x6f\x6f\x2f\x62\x61\x72\x27\x29\x20\x3d\x3d\x20\x28\x27\x27\x2c\x20\x27\x2f\x2f\x27\x2c\x20\x27\x66\x6f\x6f\x2f\x62\x61\x72\x27\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x70\x6c\x69\x74\x72\x6f\x6f\x74\x28\x27\x2f\x2f\x2f\x66\x6f\x6f\x2f\x62\x61\x72\x27\x29\x20\x3d\x3d\x20\x28\x27\x27\x2c\x20\x27\x2f\x27\x2c\x20\x27\x2f\x2f\x66\x6f\x6f\x2f\x62\x61\x72\x27\x29\x0a\x20\x20\x20\x20", +}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[9]; }_object; } posixpath_toplevel_consts_18_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 9, }, .ob_item = { - & ntpath_toplevel_consts_21_consts_0._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + & posixpath_toplevel_consts_18_consts_0._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(bytes_characters[47]), + (PyObject *)&_Py_SINGLETON(bytes_empty), + (PyObject *)&_Py_SINGLETON(strings).ascii[47], + &_Py_STR(empty), Py_None, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 3], }, }, }; @@ -107815,7 +105384,7 @@ posixpath_toplevel_consts_18_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -107823,8 +105392,8 @@ posixpath_toplevel_consts_18_names = { .ob_item = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, - & const_str__get_sep._ascii.ob_base, - & const_str_rfind._ascii.ob_base, + &_Py_ID(isinstance), + &_Py_ID(bytes), }, }, }; @@ -107832,18 +105401,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[60]; + char ob_sval[144]; } posixpath_toplevel_consts_18_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 59, + .ob_size = 143, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x08\x0a\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xdd\x0a\x12\x90\x31\x89\x2b\x8c\x2b\x80\x43\xd8\x08\x09\x8f\x07\x8a\x07\x90\x03\x89\x0c\x8c\x0c\x90\x71\xd1\x08\x18\x80\x41\xd8\x0b\x0c\x88\x51\x88\x52\x88\x52\x8c\x35\x80\x4c", + .ob_sval = "\x80\x00\xf4\x14\x00\x09\x0b\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x07\x11\x90\x21\x94\x55\xd4\x07\x1b\xd8\x0e\x12\x88\x03\xd8\x10\x13\x89\x05\xe0\x0e\x11\x88\x03\xd8\x10\x12\x88\x05\xd8\x07\x08\x88\x12\x88\x21\x80\x75\x90\x03\x82\x7c\xe0\x0f\x14\x90\x65\x98\x51\x88\x7f\xd0\x08\x1e\xd8\x09\x0a\x88\x31\x88\x51\x88\x16\x90\x33\x8a\x1d\x98\x21\x98\x41\x98\x61\x98\x26\xa0\x43\x9a\x2d\xe0\x0f\x14\x90\x63\x98\x31\x98\x51\x98\x52\x98\x35\xd0\x0f\x20\xd0\x08\x20\xf0\x08\x00\x10\x15\x90\x61\x98\x02\x98\x11\x90\x65\x98\x51\x98\x71\x98\x72\x98\x55\xd0\x0f\x22\xd0\x08\x22", }; static struct { @@ -107857,53 +105426,51 @@ posixpath_toplevel_consts_18_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_p._ascii.ob_base, - & const_str_sep._ascii.ob_base, - & const_str_i._ascii.ob_base, + &_Py_ID(p), + &_Py_ID(sep), + & const_str_empty._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(140) + struct _PyCode_DEF(190) posixpath_toplevel_consts_18 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 70, + .ob_size = 95, }, .co_consts = & posixpath_toplevel_consts_18_consts._object.ob_base.ob_base, .co_names = & posixpath_toplevel_consts_18_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 140, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 5, + .co_firstlineno = 138, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 584, .co_localsplusnames = & posixpath_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, - .co_name = & const_str_basename._ascii.ob_base, - .co_qualname = & const_str_basename._ascii.ob_base, + .co_name = & const_str_splitroot._ascii.ob_base, + .co_qualname = & const_str_splitroot._ascii.ob_base, .co_linetable = & posixpath_toplevel_consts_18_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7a\x00\x00\x00\x7d\x02\x7c\x00\x7c\x02\x64\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x05\x64\x01\x7d\x01\x64\x02\x7d\x02\x6e\x04\x64\x03\x7d\x01\x64\x04\x7d\x02\x7c\x00\x64\x05\x64\x06\x1a\x00\x7c\x01\x6b\x37\x00\x00\x72\x05\x7c\x02\x7c\x02\x7c\x00\x66\x03\x53\x00\x7c\x00\x64\x06\x64\x07\x1a\x00\x7c\x01\x6b\x37\x00\x00\x73\x08\x7c\x00\x64\x07\x64\x08\x1a\x00\x7c\x01\x6b\x28\x00\x00\x72\x08\x7c\x02\x7c\x01\x7c\x00\x64\x06\x64\x05\x1a\x00\x66\x03\x53\x00\x7c\x02\x7c\x00\x64\x05\x64\x07\x1a\x00\x7c\x00\x64\x07\x64\x05\x1a\x00\x66\x03\x53\x00", ._co_firsttraceable = 0, }; static @@ -107918,7 +105485,7 @@ posixpath_toplevel_consts_19_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -107930,106 +105497,229 @@ posixpath_toplevel_consts_19_consts = { }, }, }; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[4]; + }_object; + } +posixpath_toplevel_consts_19_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 4, + }, + .ob_item = { + & const_str_os._ascii.ob_base, + & const_str_fspath._ascii.ob_base, + & const_str__get_sep._ascii.ob_base, + & const_str_rfind._ascii.ob_base, + }, + }, +}; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[110]; + char ob_sval[54]; } posixpath_toplevel_consts_19_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 109, + .ob_size = 53, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x08\x0a\x8c\x09\x90\x21\x89\x0c\x8c\x0c\x80\x41\xdd\x0a\x12\x90\x31\x89\x2b\x8c\x2b\x80\x43\xd8\x08\x09\x8f\x07\x8a\x07\x90\x03\x89\x0c\x8c\x0c\x90\x71\xd1\x08\x18\x80\x41\xd8\x0b\x0c\x88\x52\x88\x61\x88\x52\x8c\x35\x80\x44\xd8\x07\x0b\xf0\x00\x01\x05\x20\x90\x04\x98\x03\x9d\x43\xa0\x04\x99\x49\x9c\x49\x99\x0d\xd2\x10\x25\xd0\x10\x25\xd8\x0f\x13\x8f\x7b\x8a\x7b\x98\x33\xd1\x0f\x1f\xd4\x0f\x1f\x88\x04\xd8\x0b\x0f\x80\x4b", + .ob_sval = "\x80\x00\xe4\x08\x0a\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x0a\x12\x90\x31\x8b\x2b\x80\x43\xd8\x08\x09\x8f\x07\x89\x07\x90\x03\x8b\x0c\x90\x71\xd1\x08\x18\x80\x41\xd8\x0b\x0c\x88\x51\x88\x52\x88\x35\x80\x4c", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[3]; }_object; } posixpath_toplevel_consts_19_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 3, }, .ob_item = { - & const_str_p._ascii.ob_base, - & const_str_sep._ascii.ob_base, - & const_str_i._ascii.ob_base, - & const_str_head._ascii.ob_base, + &_Py_ID(p), + &_Py_ID(sep), + (PyObject *)&_Py_SINGLETON(strings).ascii[105], }, }, }; static - struct _PyCode_DEF(234) + struct _PyCode_DEF(116) posixpath_toplevel_consts_19 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 117, + .ob_size = 58, }, .co_consts = & posixpath_toplevel_consts_19_consts._object.ob_base.ob_base, + .co_names = & posixpath_toplevel_consts_19_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 169, + .co_nlocalsplus = 3, + .co_nlocals = 3, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 585, + .co_localsplusnames = & posixpath_toplevel_consts_19_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, + .co_name = & const_str_basename._ascii.ob_base, + .co_qualname = & const_str_basename._ascii.ob_base, + .co_linetable = & posixpath_toplevel_consts_19_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x7a\x00\x00\x00\x7d\x02\x7c\x00\x7c\x02\x64\x02\x1a\x00\x53\x00", + ._co_firsttraceable = 0, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +posixpath_toplevel_consts_20_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + & ntpath_toplevel_consts_23_consts_0._ascii.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + Py_None, + }, + }, +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[91]; + } +posixpath_toplevel_consts_20_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 90, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xe4\x08\x0a\x8f\x09\x89\x09\x90\x21\x8b\x0c\x80\x41\xdc\x0a\x12\x90\x31\x8b\x2b\x80\x43\xd8\x08\x09\x8f\x07\x89\x07\x90\x03\x8b\x0c\x90\x71\xd1\x08\x18\x80\x41\xd8\x0b\x0c\x88\x52\x88\x61\x88\x35\x80\x44\xd9\x07\x0b\x90\x04\x98\x03\x9c\x43\xa0\x04\x9b\x49\x99\x0d\xd2\x10\x25\xd8\x0f\x13\x8f\x7b\x89\x7b\x98\x33\xd3\x0f\x1f\x88\x04\xd8\x0b\x0f\x80\x4b", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[4]; + }_object; + } +posixpath_toplevel_consts_20_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 4, + }, + .ob_item = { + &_Py_ID(p), + &_Py_ID(sep), + (PyObject *)&_Py_SINGLETON(strings).ascii[105], + & const_str_head._ascii.ob_base, + }, + }, +}; +static + struct _PyCode_DEF(192) +posixpath_toplevel_consts_20 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 96, + }, + .co_consts = & posixpath_toplevel_consts_20_consts._object.ob_base.ob_base, .co_names = & posixpath_toplevel_consts_15_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 150, + .co_firstlineno = 179, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & posixpath_toplevel_consts_19_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 586, + .co_localsplusnames = & posixpath_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_dirname._ascii.ob_base, .co_qualname = & const_str_dirname._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_19_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7a\x00\x00\x00\x7d\x02\x7c\x00\x64\x02\x7c\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x72\x2b\x7c\x03\x7c\x01\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x05\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x15\x7c\x03\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x53\x00", + .co_linetable = & posixpath_toplevel_consts_20_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x7a\x00\x00\x00\x7d\x02\x7c\x00\x64\x02\x7c\x02\x1a\x00\x7d\x03\x7c\x03\x72\x22\x7c\x03\x7c\x01\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x05\x00\x00\x6b\x37\x00\x00\x72\x11\x7c\x03\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x53\x00", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[39]; + uint8_t _data[82]; } -posixpath_toplevel_consts_20_consts_0 = { +posixpath_toplevel_consts_21_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 38, + .length = 81, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "Test whether a path is a symbolic link", + ._data = "\x54\x65\x73\x74\x20\x77\x68\x65\x74\x68\x65\x72\x20\x61\x20\x70\x61\x74\x68\x20\x69\x73\x20\x61\x20\x6a\x75\x6e\x63\x74\x69\x6f\x6e\x0a\x20\x20\x20\x20\x4a\x75\x6e\x63\x74\x69\x6f\x6e\x73\x20\x61\x72\x65\x20\x6e\x6f\x74\x20\x61\x20\x70\x61\x72\x74\x20\x6f\x66\x20\x70\x6f\x73\x69\x78\x20\x73\x65\x6d\x61\x6e\x74\x69\x63\x73", }; static struct { @@ -108039,17 +105729,17 @@ static PyObject *ob_item[2]; }_object; } -posixpath_toplevel_consts_20_consts = { +posixpath_toplevel_consts_21_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & posixpath_toplevel_consts_20_consts_0._ascii.ob_base, + & posixpath_toplevel_consts_21_consts_0._ascii.ob_base, Py_False, }, }, @@ -108058,108 +105748,104 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[82]; + char ob_sval[19]; } -posixpath_toplevel_consts_20_linetable = { +posixpath_toplevel_consts_21_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 81, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdd\x0d\x0f\x8c\x58\x90\x64\x89\x5e\x8c\x5e\x88\x02\x88\x02\xf8\xdd\x0c\x13\x95\x5a\xa5\x1e\xd0\x0b\x30\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xd8\x0f\x14\x88\x75\x88\x75\xf0\x03\x01\x05\x15\xf8\xf8\xf8\xe5\x0b\x0f\x8c\x3c\x98\x02\x9c\x0a\xd1\x0b\x23\xd4\x0b\x23\xd0\x04\x23", + .ob_sval = "\x80\x00\xf4\x06\x00\x05\x07\x87\x49\x81\x49\x88\x64\x84\x4f\xd8\x0b\x10", }; static - struct _PyCode_DEF(156) -posixpath_toplevel_consts_20 = { + struct _PyCode_DEF(46) +posixpath_toplevel_consts_21 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 78, + .ob_size = 23, }, - .co_consts = & posixpath_toplevel_consts_20_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_23_names._object.ob_base.ob_base, - .co_exceptiontable = & ntpath_toplevel_consts_23_exceptiontable.ob_base.ob_base, + .co_consts = & posixpath_toplevel_consts_21_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_26_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 164, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 192, + .co_nlocalsplus = 1, + .co_nlocals = 1, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & genericpath_toplevel_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 587, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, - .co_name = & const_str_islink._ascii.ob_base, - .co_qualname = & const_str_islink._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x1e\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_name = & const_str_isjunction._ascii.ob_base, + .co_qualname = & const_str_isjunction._ascii.ob_base, + .co_linetable = & posixpath_toplevel_consts_21_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[67]; + char ob_sval[49]; } -posixpath_toplevel_consts_21_linetable = { +posixpath_toplevel_consts_22_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 66, + .ob_size = 48, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdd\x08\x0a\x8c\x08\x90\x14\x89\x0e\x8c\x0e\x88\x0e\x88\x0e\xf8\xdd\x0c\x13\x95\x5a\xd0\x0b\x20\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xd8\x0f\x14\x88\x75\x88\x75\xf0\x03\x01\x05\x15\xf8\xf8\xf8\xe0\x0b\x0f\x88\x34", + .ob_sval = "\x80\x00\xf0\x04\x03\x05\x15\xdc\x08\x0a\x8f\x08\x89\x08\x90\x14\x8c\x0e\xf0\x06\x00\x0c\x10\xf8\xf4\x05\x00\x0d\x14\x94\x5a\xd0\x0b\x20\xf2\x00\x01\x05\x15\xd9\x0f\x14\xf0\x03\x01\x05\x15\xfa", }; static - struct _PyCode_DEF(98) -posixpath_toplevel_consts_21 = { + struct _PyCode_DEF(90) +posixpath_toplevel_consts_22 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 49, + .ob_size = 45, }, - .co_consts = & ntpath_toplevel_consts_24_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_24_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_27_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_27_names._object.ob_base.ob_base, .co_exceptiontable = & genericpath_toplevel_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 174, + .co_firstlineno = 201, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 588, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_lexists._ascii.ob_base, .co_qualname = & const_str_lexists._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_21_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x18\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x64\x02\x53\x00", + .co_linetable = & posixpath_toplevel_consts_22_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x02\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -108167,10 +105853,10 @@ static PyASCIIObject _ascii; uint8_t _data[37]; } -posixpath_toplevel_consts_22_consts_0 = { +posixpath_toplevel_consts_23_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 36, @@ -108179,7 +105865,7 @@ posixpath_toplevel_consts_22_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Test whether a path is a mount point", @@ -108192,19 +105878,19 @@ static PyObject *ob_item[5]; }_object; } -posixpath_toplevel_consts_22_consts = { +posixpath_toplevel_consts_23_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & posixpath_toplevel_consts_22_consts_0._ascii.ob_base, + & posixpath_toplevel_consts_23_consts_0._ascii.ob_base, Py_False, - & ntpath_toplevel_consts_31_consts_4.ob_base.ob_base, + & ntpath_toplevel_consts_34_consts_4.ob_base.ob_base, & ntpath_toplevel_consts_2._ascii.ob_base, Py_True, }, @@ -108218,11 +105904,11 @@ static PyObject *ob_item[14]; }_object; } -posixpath_toplevel_consts_22_names = { +posixpath_toplevel_consts_23_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 14, @@ -108237,7 +105923,7 @@ posixpath_toplevel_consts_22_names = { & const_str_ValueError._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), &_Py_ID(join), & const_str_realpath._ascii.ob_base, & const_str_st_dev._ascii.ob_base, @@ -108249,35 +105935,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[296]; + char ob_sval[228]; } -posixpath_toplevel_consts_22_linetable = { +posixpath_toplevel_consts_23_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 295, + .ob_size = 227, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x08\x05\x19\xdd\x0d\x0f\x8c\x58\x90\x64\x89\x5e\x8c\x5e\x88\x02\xf5\x0c\x00\x0c\x10\x8c\x3c\x98\x02\x9c\x0a\xd1\x0b\x23\xd4\x0b\x23\xf0\x00\x01\x09\x19\xd8\x13\x18\x90\x35\xf0\x03\x01\x09\x19\xf8\xf5\x0b\x00\x0d\x14\x95\x5a\xd0\x0b\x20\xf0\x00\x02\x05\x15\xf0\x00\x02\x05\x15\xf0\x00\x02\x05\x15\xe0\x0f\x14\x88\x75\x88\x75\xf0\x05\x02\x05\x15\xf8\xf8\xf8\xf5\x10\x00\x0c\x0e\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x03\x05\x22\xdd\x11\x15\x90\x64\x98\x45\xd1\x11\x22\xd4\x11\x22\x88\x06\x88\x06\xe5\x11\x15\x90\x64\x98\x44\xd1\x11\x21\xd4\x11\x21\x88\x06\xdd\x0d\x15\x90\x66\xd1\x0d\x1d\xd4\x0d\x1d\x80\x46\xf0\x02\x03\x05\x15\xdd\x0d\x0f\x8c\x58\x90\x66\xd1\x0d\x1d\xd4\x0d\x1d\x88\x02\x88\x02\xf8\xdd\x0c\x13\x95\x5a\xd0\x0b\x20\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xf0\x00\x01\x05\x15\xd8\x0f\x14\x88\x75\x88\x75\xf0\x03\x01\x05\x15\xf8\xf8\xf8\xf0\x06\x00\x0c\x0e\x8c\x39\x80\x44\xd8\x0b\x0d\x8c\x39\x80\x44\xd8\x07\x0b\x88\x74\x82\x7c\x80\x7c\xd8\x0f\x13\x88\x74\xd8\x0b\x0d\x8c\x39\x80\x44\xd8\x0b\x0d\x8c\x39\x80\x44\xd8\x07\x0b\x88\x74\x82\x7c\x80\x7c\xd8\x0f\x13\x88\x74\xd8\x0b\x10\x88\x35", + .ob_sval = "\x80\x00\xf0\x04\x08\x05\x19\xdc\x0d\x0f\x8f\x58\x89\x58\x90\x64\x8b\x5e\x88\x02\xf4\x0c\x00\x0c\x10\x8f\x3c\x89\x3c\x98\x02\x9f\x0a\x99\x0a\xd4\x0b\x23\xd8\x13\x18\xe4\x0b\x0d\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xdc\x11\x15\x90\x64\x98\x45\xd3\x11\x22\x89\x06\xe4\x11\x15\x90\x64\x98\x44\xd3\x11\x21\x88\x06\xdc\x0d\x15\x90\x66\xd3\x0d\x1d\x80\x46\xf0\x02\x03\x05\x15\xdc\x0d\x0f\x8f\x58\x89\x58\x90\x66\xd3\x0d\x1d\x88\x02\xf0\x08\x00\x0c\x0e\x8f\x39\x89\x39\x80\x44\xd8\x0b\x0d\x8f\x39\x89\x39\x80\x44\xd8\x07\x0b\x88\x74\x82\x7c\xd8\x0f\x13\xd8\x0b\x0d\x8f\x39\x89\x39\x80\x44\xd8\x0b\x0d\x8f\x39\x89\x39\x80\x44\xd8\x07\x0b\x88\x74\x82\x7c\xd8\x0f\x13\xd8\x0b\x10\xf8\xf4\x37\x00\x0d\x14\x94\x5a\xd0\x0b\x20\xf2\x00\x02\x05\x15\xe1\x0f\x14\xf0\x05\x02\x05\x15\xfb\xf4\x20\x00\x0d\x14\x94\x5a\xd0\x0b\x20\xf2\x00\x01\x05\x15\xd9\x0f\x14\xf0\x03\x01\x05\x15\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[34]; + char ob_sval[36]; } -posixpath_toplevel_consts_22_exceptiontable = { +posixpath_toplevel_consts_23_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 33, + .ob_size = 35, }, .ob_shash = -1, - .ob_sval = "\x82\x14\x32\x00\xb2\x11\x41\x07\x03\xc1\x06\x01\x41\x07\x03\xc2\x24\x14\x42\x39\x00\xc2\x39\x11\x43\x0e\x03\xc3\x0d\x01\x43\x0e\x03", + .ob_sval = "\x82\x15\x43\x13\x00\xc2\x01\x15\x43\x28\x00\xc3\x13\x0f\x43\x25\x03\xc3\x24\x01\x43\x25\x03\xc3\x28\x0f\x43\x3a\x03\xc3\x39\x01\x43\x3a\x03", }; static struct { @@ -108287,7 +105973,7 @@ static const_str_dev1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -108296,7 +105982,7 @@ const_str_dev1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dev1", @@ -108309,7 +105995,7 @@ static const_str_dev2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -108318,7 +106004,7 @@ const_str_dev2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dev2", @@ -108331,7 +106017,7 @@ static const_str_ino1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -108340,7 +106026,7 @@ const_str_ino1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ino1", @@ -108353,7 +106039,7 @@ static const_str_ino2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -108362,7 +106048,7 @@ const_str_ino2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ino2", @@ -108375,11 +106061,11 @@ static PyObject *ob_item[8]; }_object; } -posixpath_toplevel_consts_22_localsplusnames = { +posixpath_toplevel_consts_23_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -108397,40 +106083,38 @@ posixpath_toplevel_consts_22_localsplusnames = { }, }; static - struct _PyCode_DEF(510) -posixpath_toplevel_consts_22 = { + struct _PyCode_DEF(506) +posixpath_toplevel_consts_23 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 255, + .ob_size = 253, }, - .co_consts = & posixpath_toplevel_consts_22_consts._object.ob_base.ob_base, - .co_names = & posixpath_toplevel_consts_22_names._object.ob_base.ob_base, - .co_exceptiontable = & posixpath_toplevel_consts_22_exceptiontable.ob_base.ob_base, + .co_consts = & posixpath_toplevel_consts_23_consts._object.ob_base.ob_base, + .co_names = & posixpath_toplevel_consts_23_names._object.ob_base.ob_base, + .co_exceptiontable = & posixpath_toplevel_consts_23_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 186, + .co_firstlineno = 213, .co_nlocalsplus = 8, .co_nlocals = 8, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & posixpath_toplevel_consts_22_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_27_localspluskinds.ob_base.ob_base, + .co_version = 589, + .co_localsplusnames = & posixpath_toplevel_consts_23_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_13_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_ismount._ascii.ob_base, .co_qualname = & const_str_ismount._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_22_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x64\x01\x53\x00\x6e\x18\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x11\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x6e\x10\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x6e\x18\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x01\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x03\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x04\x7c\x05\x6b\x03\x00\x00\x00\x00\x72\x02\x64\x04\x53\x00\x7c\x01\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x03\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x06\x7c\x07\x6b\x02\x00\x00\x00\x00\x72\x02\x64\x04\x53\x00\x64\x01\x53\x00", + .co_linetable = & posixpath_toplevel_consts_23_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x72\x01\x79\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x0d\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x02\x6e\x0c\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x03\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x01\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x03\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x04\x7c\x05\x6b\x37\x00\x00\x72\x01\x79\x04\x7c\x01\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x03\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x06\x7c\x07\x6b\x28\x00\x00\x72\x01\x79\x04\x79\x01\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -108438,10 +106122,10 @@ static PyASCIIObject _ascii; uint8_t _data[80]; } -posixpath_toplevel_consts_23_consts_0 = { +posixpath_toplevel_consts_24_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 79, @@ -108450,7 +106134,7 @@ posixpath_toplevel_consts_23_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x45\x78\x70\x61\x6e\x64\x20\x7e\x20\x61\x6e\x64\x20\x7e\x75\x73\x65\x72\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x69\x6f\x6e\x73\x2e\x20\x20\x49\x66\x20\x75\x73\x65\x72\x20\x6f\x72\x20\x24\x48\x4f\x4d\x45\x20\x69\x73\x20\x75\x6e\x6b\x6e\x6f\x77\x6e\x2c\x0a\x20\x20\x20\x20\x64\x6f\x20\x6e\x6f\x74\x68\x69\x6e\x67\x2e", @@ -108463,7 +106147,7 @@ static const_str_HOME = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -108472,7 +106156,7 @@ const_str_HOME = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HOME", @@ -108485,7 +106169,7 @@ static const_str_ASCII = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -108494,7 +106178,7 @@ const_str_ASCII = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ASCII", @@ -108507,7 +106191,7 @@ static const_str_vxworks = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -108516,7 +106200,7 @@ const_str_vxworks = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "vxworks", @@ -108529,19 +106213,19 @@ static PyObject *ob_item[11]; }_object; } -posixpath_toplevel_consts_23_consts = { +posixpath_toplevel_consts_24_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, }, .ob_item = { - & posixpath_toplevel_consts_23_consts_0._ascii.ob_base, + & posixpath_toplevel_consts_24_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[126]), - & ntpath_toplevel_consts_27_consts_2._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[126], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], & const_str_HOME._ascii.ob_base, @@ -108549,7 +106233,7 @@ posixpath_toplevel_consts_23_consts = { & const_str_ASCII._ascii.ob_base, & const_str_vxworks._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[47]), - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], }, }, }; @@ -108561,7 +106245,7 @@ static const_str_pwd = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -108570,7 +106254,7 @@ const_str_pwd = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pwd", @@ -108583,7 +106267,7 @@ static const_str_getpwuid = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -108592,7 +106276,7 @@ const_str_getpwuid = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getpwuid", @@ -108605,7 +106289,7 @@ static const_str_getuid = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -108614,7 +106298,7 @@ const_str_getuid = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getuid", @@ -108627,7 +106311,7 @@ static const_str_pw_dir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -108636,7 +106320,7 @@ const_str_pw_dir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pw_dir", @@ -108649,7 +106333,7 @@ static const_str_getpwnam = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -108658,7 +106342,7 @@ const_str_getpwnam = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getpwnam", @@ -108671,11 +106355,11 @@ static PyObject *ob_item[21]; }_object; } -posixpath_toplevel_consts_23_names = { +posixpath_toplevel_consts_24_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 21, @@ -108684,7 +106368,7 @@ posixpath_toplevel_consts_23_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_startswith._ascii.ob_base, & const_str__get_sep._ascii.ob_base, & const_str_find._ascii.ob_base, @@ -108709,18 +106393,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[564]; + char ob_sval[425]; } -posixpath_toplevel_consts_23_linetable = { +posixpath_toplevel_consts_24_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 563, + .ob_size = 424, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x0c\x0e\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x03\x05\x14\xd8\x10\x14\x88\x05\x88\x05\xe0\x10\x13\x88\x05\xd8\x0b\x0f\x8f\x3f\x8a\x3f\x98\x35\xd1\x0b\x21\xd4\x0b\x21\xf0\x00\x01\x05\x14\xd8\x0f\x13\x88\x0b\xdd\x0a\x12\x90\x34\x89\x2e\x8c\x2e\x80\x43\xd8\x08\x0c\x8f\x09\x8a\x09\x90\x23\x90\x71\xd1\x08\x19\xd4\x08\x19\x80\x41\xd8\x07\x08\x88\x31\x82\x75\x80\x75\xdd\x0c\x0f\x90\x04\x89\x49\x8c\x49\x88\x01\xd8\x07\x08\x88\x41\x82\x76\x80\x76\xd8\x0b\x11\x9d\x12\x9c\x1a\xd0\x0b\x23\xd0\x0b\x23\xf0\x02\x04\x0d\x1c\xd8\x10\x1a\x90\x0a\x90\x0a\x90\x0a\x90\x0a\xf8\xdd\x13\x1e\xf0\x00\x02\x0d\x1c\xf0\x00\x02\x0d\x1c\xf0\x00\x02\x0d\x1c\xe0\x17\x1b\x90\x0b\x90\x0b\x90\x0b\xf0\x05\x02\x0d\x1c\xf8\xf8\xf8\xf0\x06\x05\x0d\x1c\xd8\x1b\x1e\x9f\x3c\x9a\x3c\xad\x02\xac\x09\xa9\x0b\xac\x0b\xd1\x1b\x34\xd4\x1b\x34\xd4\x1b\x3b\x90\x08\x90\x08\xf8\xdd\x13\x1b\xf0\x00\x03\x0d\x1c\xf0\x00\x03\x0d\x1c\xf0\x00\x03\x0d\x1c\xf0\x06\x00\x18\x1c\x90\x0b\x90\x0b\x90\x0b\xf0\x07\x03\x0d\x1c\xf8\xf8\xf8\xf5\x0a\x00\x18\x1a\x94\x7a\xa0\x26\xd4\x17\x29\x88\x48\x88\x48\xf0\x04\x04\x09\x18\xd8\x0c\x16\x88\x4a\x88\x4a\x88\x4a\x88\x4a\xf8\xdd\x0f\x1a\xf0\x00\x02\x09\x18\xf0\x00\x02\x09\x18\xf0\x00\x02\x09\x18\xe0\x13\x17\x88\x4b\x88\x4b\x88\x4b\xf0\x05\x02\x09\x18\xf8\xf8\xf8\xf0\x06\x00\x10\x14\x90\x41\x90\x61\x90\x43\x8c\x79\x88\x04\xdd\x0b\x15\x90\x64\x9d\x45\xd1\x0b\x22\xd4\x0b\x22\xf0\x00\x01\x09\x26\xdd\x13\x16\x90\x74\x98\x57\xd1\x13\x25\xd4\x13\x25\x88\x44\xf0\x02\x05\x09\x18\xd8\x14\x17\x97\x4c\x92\x4c\xa0\x14\xd1\x14\x26\xd4\x14\x26\x88\x45\x88\x45\xf8\xdd\x0f\x17\xf0\x00\x03\x09\x18\xf0\x00\x03\x09\x18\xf0\x00\x03\x09\x18\xf0\x06\x00\x14\x18\x88\x4b\x88\x4b\x88\x4b\xf0\x07\x03\x09\x18\xf8\xf8\xf8\xf0\x08\x00\x14\x19\x94\x3c\x88\x08\xe0\x07\x0f\xd0\x07\x17\x9d\x43\x9c\x4c\xa8\x49\xd2\x1c\x35\xd0\x1c\x35\xd8\x0f\x13\x88\x0b\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x04\x05\x13\xdd\x13\x15\x94\x3b\x98\x78\xd1\x13\x28\xd4\x13\x28\x88\x08\xd8\x0f\x13\x88\x04\x88\x04\xe0\x0f\x12\x88\x04\xd8\x0f\x17\x8f\x7f\x8a\x7f\x98\x74\xd1\x0f\x24\xd4\x0f\x24\x80\x48\xd8\x0c\x14\x90\x74\x98\x41\x98\x42\x98\x42\x94\x78\xd1\x0c\x1f\xd0\x0b\x28\xa0\x44\xd0\x04\x28", + .ob_sval = "\x80\x00\xf4\x06\x00\x0c\x0e\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xd8\x10\x14\x89\x05\xe0\x10\x13\x88\x05\xd8\x0b\x0f\x8f\x3f\x89\x3f\x98\x35\xd4\x0b\x21\xd8\x0f\x13\x88\x0b\xdc\x0a\x12\x90\x34\x8b\x2e\x80\x43\xd8\x08\x0c\x8f\x09\x89\x09\x90\x23\x90\x71\xd3\x08\x19\x80\x41\xd8\x07\x08\x88\x31\x82\x75\xdc\x0c\x0f\x90\x04\x8b\x49\x88\x01\xd8\x07\x08\x88\x41\x82\x76\xd8\x0b\x11\x9c\x12\x9f\x1a\x99\x1a\xd1\x0b\x23\xf0\x02\x04\x0d\x1c\xdb\x10\x1a\xf0\x08\x05\x0d\x1c\xd8\x1b\x1e\x9f\x3c\x99\x3c\xac\x02\xaf\x09\xa9\x09\xab\x0b\xd3\x1b\x34\xd7\x1b\x3b\xd1\x1b\x3b\x91\x08\xf4\x0c\x00\x18\x1a\x97\x7a\x91\x7a\xa0\x26\xd1\x17\x29\x89\x48\xf0\x04\x04\x09\x18\xdb\x0c\x16\xf0\x08\x00\x10\x14\x90\x41\x90\x61\x88\x79\x88\x04\xdc\x0b\x15\x90\x64\x9c\x45\xd4\x0b\x22\xdc\x13\x16\x90\x74\x98\x57\xd3\x13\x25\x88\x44\xf0\x02\x05\x09\x18\xd8\x14\x17\x97\x4c\x91\x4c\xa0\x14\xd3\x14\x26\x88\x45\xf0\x0a\x00\x14\x19\x97\x3c\x91\x3c\x88\x08\xe0\x07\x0f\xd0\x07\x17\x9c\x43\x9f\x4c\x99\x4c\xa8\x49\xd2\x1c\x35\xd8\x0f\x13\x88\x0b\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xdc\x13\x15\x97\x3b\x91\x3b\x98\x78\xd3\x13\x28\x88\x08\xd8\x0f\x13\x89\x04\xe0\x0f\x12\x88\x04\xd8\x0f\x17\x8f\x7f\x89\x7f\x98\x74\xd3\x0f\x24\x80\x48\xd8\x0c\x14\x90\x74\x98\x41\x98\x42\x90\x78\xd1\x0c\x1f\xd2\x0b\x28\xa0\x44\xd0\x04\x28\xf8\xf4\x49\x01\x00\x14\x1f\xf2\x00\x02\x0d\x1c\xe0\x17\x1b\x92\x0b\xf0\x05\x02\x0d\x1c\xfb\xf4\x0a\x00\x14\x1c\xf2\x00\x03\x0d\x1c\xf0\x06\x00\x18\x1c\x92\x0b\xf0\x07\x03\x0d\x1c\xfb\xf4\x12\x00\x10\x1b\xf2\x00\x02\x09\x18\xe0\x13\x17\x8a\x4b\xf0\x05\x02\x09\x18\xfb\xf4\x10\x00\x10\x18\xf2\x00\x03\x09\x18\xf0\x06\x00\x14\x18\x8a\x4b\xf0\x07\x03\x09\x18\xfa", }; static struct { @@ -108728,16 +106412,16 @@ static Py_hash_t ob_shash; char ob_sval[73]; } -posixpath_toplevel_consts_23_exceptiontable = { +posixpath_toplevel_consts_24_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 72, }, .ob_shash = -1, - .ob_sval = "\xc2\x15\x04\x42\x1a\x00\xc2\x1a\x0c\x42\x29\x03\xc2\x28\x01\x42\x29\x03\xc2\x2d\x2b\x43\x19\x00\xc3\x19\x0c\x43\x28\x03\xc3\x27\x01\x43\x28\x03\xc3\x3f\x04\x44\x04\x00\xc4\x04\x0c\x44\x13\x03\xc4\x12\x01\x44\x13\x03\xc5\x06\x15\x45\x1c\x00\xc5\x1c\x0c\x45\x2b\x03\xc5\x2a\x01\x45\x2b\x03", + .ob_sval = "\xc2\x03\x04\x45\x2c\x00\xc2\x08\x2d\x45\x3d\x00\xc3\x0b\x04\x46\x0e\x00\xc3\x31\x11\x46\x1f\x00\xc5\x2c\x0b\x45\x3a\x03\xc5\x39\x01\x45\x3a\x03\xc5\x3d\x0b\x46\x0b\x03\xc6\x0a\x01\x46\x0b\x03\xc6\x0e\x0b\x46\x1c\x03\xc6\x1b\x01\x46\x1c\x03\xc6\x1f\x0b\x46\x2d\x03\xc6\x2c\x01\x46\x2d\x03", }; static struct { @@ -108747,7 +106431,7 @@ static const_str_pwent = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -108756,7 +106440,7 @@ const_str_pwent = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pwent", @@ -108769,11 +106453,11 @@ static PyObject *ob_item[9]; }_object; } -posixpath_toplevel_consts_23_localsplusnames = { +posixpath_toplevel_consts_24_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -108781,8 +106465,8 @@ posixpath_toplevel_consts_23_localsplusnames = { .ob_item = { &_Py_ID(path), & const_str_tilde._ascii.ob_base, - & const_str_sep._ascii.ob_base, - & const_str_i._ascii.ob_base, + &_Py_ID(sep), + (PyObject *)&_Py_SINGLETON(strings).ascii[105], & const_str_pwd._ascii.ob_base, & const_str_userhome._ascii.ob_base, &_Py_ID(name), @@ -108792,40 +106476,38 @@ posixpath_toplevel_consts_23_localsplusnames = { }, }; static - struct _PyCode_DEF(950) -posixpath_toplevel_consts_23 = { + struct _PyCode_DEF(864) +posixpath_toplevel_consts_24 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 475, + .ob_size = 432, }, - .co_consts = & posixpath_toplevel_consts_23_consts._object.ob_base.ob_base, - .co_names = & posixpath_toplevel_consts_23_names._object.ob_base.ob_base, - .co_exceptiontable = & posixpath_toplevel_consts_23_exceptiontable.ob_base.ob_base, + .co_consts = & posixpath_toplevel_consts_24_consts._object.ob_base.ob_base, + .co_names = & posixpath_toplevel_consts_24_names._object.ob_base.ob_base, + .co_exceptiontable = & posixpath_toplevel_consts_24_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 13 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 229, + .co_firstlineno = 256, .co_nlocalsplus = 9, .co_nlocals = 9, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & posixpath_toplevel_consts_23_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_57_localspluskinds.ob_base.ob_base, + .co_version = 590, + .co_localsplusnames = & posixpath_toplevel_consts_24_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_61_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_expanduser._ascii.ob_base, .co_qualname = & const_str_expanduser._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_23_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x03\x64\x01\x7d\x01\x6e\x02\x64\x02\x7d\x01\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x7c\x00\x53\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x64\x04\x6b\x00\x00\x00\x00\x00\x72\x0f\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x64\x03\x6b\x02\x00\x00\x00\x00\x72\x78\x64\x05\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x57\x09\x00\x64\x04\x64\x06\x6c\x09\x7d\x04\x6e\x12\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x09\x00\x7c\x04\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x9c\x23\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x77\x09\x00\x64\x04\x64\x06\x6c\x09\x7d\x04\x6e\x12\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x00\x64\x03\x7c\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x10\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x64\x07\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x09\x00\x7c\x04\xa0\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x6e\x12\x23\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x07\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x80\x12\x74\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x6b\x02\x00\x00\x00\x00\x72\x02\x7c\x00\x53\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x17\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x09\x7d\x08\x6e\x02\x64\x0a\x7d\x08\x7c\x05\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x7c\x00\x7c\x03\x64\x06\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x70\x01\x7c\x08\x53\x00", + .co_linetable = & posixpath_toplevel_consts_24_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x03\x64\x01\x7d\x01\x6e\x02\x64\x02\x7d\x01\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x73\x02\x7c\x00\x53\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x03\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x64\x04\x6b\x02\x00\x00\x72\x0b\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x64\x03\x6b\x28\x00\x00\x72\x5a\x64\x05\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x34\x09\x00\x64\x04\x64\x06\x6c\x09\x7d\x04\x09\x00\x7c\x04\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x58\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x19\x00\x00\x00\x7d\x05\x6e\x44\x09\x00\x64\x04\x64\x06\x6c\x09\x7d\x04\x7c\x00\x64\x03\x7c\x03\x1a\x00\x7d\x06\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x0c\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x64\x07\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x06\x09\x00\x7c\x04\x6a\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x07\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x80\x15\x74\x22\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x6b\x28\x00\x00\x72\x02\x7c\x00\x53\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x18\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x09\x7d\x08\x6e\x02\x64\x0a\x7d\x08\x7c\x05\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x7c\x00\x7c\x03\x64\x06\x1a\x00\x7a\x00\x00\x00\x78\x01\x73\x02\x01\x00\x7c\x08\x53\x00\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -108833,10 +106515,10 @@ static PyASCIIObject _ascii; uint8_t _data[91]; } -posixpath_toplevel_consts_24_consts_0 = { +posixpath_toplevel_consts_25_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 90, @@ -108845,7 +106527,7 @@ posixpath_toplevel_consts_24_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x45\x78\x70\x61\x6e\x64\x20\x73\x68\x65\x6c\x6c\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x6f\x66\x20\x66\x6f\x72\x6d\x20\x24\x76\x61\x72\x20\x61\x6e\x64\x20\x24\x7b\x76\x61\x72\x7d\x2e\x20\x20\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x0a\x20\x20\x20\x20\x61\x72\x65\x20\x6c\x65\x66\x74\x20\x75\x6e\x63\x68\x61\x6e\x67\x65\x64\x2e", @@ -108856,10 +106538,10 @@ static Py_hash_t ob_shash; char ob_sval[18]; } -posixpath_toplevel_consts_24_consts_4 = { +posixpath_toplevel_consts_25_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 17, @@ -108872,10 +106554,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -posixpath_toplevel_consts_24_consts_9 = { +posixpath_toplevel_consts_25_consts_9 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -108884,7 +106566,7 @@ posixpath_toplevel_consts_24_consts_9 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\\$(\\w+|\\{[^}]*\\})", @@ -108894,32 +106576,31 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[15]; + PyObject *ob_item[14]; }_object; } -posixpath_toplevel_consts_24_consts = { +posixpath_toplevel_consts_25_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 15, + .ob_size = 14, }, .ob_item = { - & posixpath_toplevel_consts_24_consts_0._ascii.ob_base, + & posixpath_toplevel_consts_25_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[36]), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], Py_None, - & posixpath_toplevel_consts_24_consts_4.ob_base.ob_base, + & posixpath_toplevel_consts_25_consts_4.ob_base.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[123]), (PyObject *)&_Py_SINGLETON(bytes_characters[125]), & const_str_environb._ascii.ob_base, - & ntpath_toplevel_consts_28_consts_11._ascii.ob_base, - & posixpath_toplevel_consts_24_consts_9._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[36], + & posixpath_toplevel_consts_25_consts_9._ascii.ob_base, &_Py_STR(open_br), &_Py_STR(close_br), - Py_True, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], }, @@ -108933,7 +106614,7 @@ static const_str__varprogb = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -108942,7 +106623,7 @@ const_str__varprogb = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_varprogb", @@ -108955,7 +106636,7 @@ static const_str_re = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -108964,7 +106645,7 @@ const_str_re = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "re", @@ -108977,7 +106658,7 @@ static const_str__varprog = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -108986,7 +106667,7 @@ const_str__varprog = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_varprog", @@ -108999,7 +106680,7 @@ static const_str_span = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -109008,7 +106689,7 @@ const_str_span = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "span", @@ -109021,7 +106702,7 @@ static const_str_group = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -109030,7 +106711,7 @@ const_str_group = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "group", @@ -109043,11 +106724,11 @@ static PyObject *ob_item[20]; }_object; } -posixpath_toplevel_consts_24_names = { +posixpath_toplevel_consts_25_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 20, @@ -109056,7 +106737,7 @@ posixpath_toplevel_consts_24_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str__varprogb._ascii.ob_base, & const_str_re._ascii.ob_base, & const_str_compile._ascii.ob_base, @@ -109080,18 +106761,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[487]; + char ob_sval[393]; } -posixpath_toplevel_consts_24_linetable = { +posixpath_toplevel_consts_25_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 486, + .ob_size = 392, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x0c\x0e\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xe5\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x13\x05\x1d\xd8\x0b\x0f\x90\x74\xd0\x0b\x1b\xd0\x0b\x1b\xd8\x13\x17\x88\x4b\xdd\x0f\x18\xf0\x00\x02\x09\x44\x01\xd8\x0c\x15\x88\x49\x88\x49\x88\x49\xd8\x18\x1a\x9f\x0a\x9a\x0a\xd0\x23\x38\xb8\x22\xbc\x28\xd1\x18\x43\xd4\x18\x43\x88\x49\xdd\x11\x1a\xd4\x11\x21\x88\x06\xd8\x10\x14\x88\x05\xd8\x0e\x12\x88\x03\xdd\x12\x19\x9d\x22\x98\x6a\xa8\x24\xd1\x12\x2f\xd4\x12\x2f\x88\x07\x88\x07\xe0\x0b\x0e\x90\x64\x88\x3f\x88\x3f\xd8\x13\x17\x88\x4b\xdd\x0f\x17\xf0\x00\x02\x09\x42\x01\xd8\x0c\x15\x88\x49\x88\x49\x88\x49\xd8\x17\x19\x97\x7a\x92\x7a\xd0\x22\x36\xb8\x02\xbc\x08\xd1\x17\x41\xd4\x17\x41\x88\x48\xdd\x11\x19\x94\x1f\x88\x06\xd8\x10\x13\x88\x05\xd8\x0e\x11\x88\x03\xdd\x12\x14\x94\x2a\x88\x07\xd8\x08\x09\x80\x41\xf0\x02\x13\x05\x19\xd8\x0c\x12\x88\x46\x90\x34\x98\x11\x89\x4f\x8c\x4f\x88\x01\xd8\x0f\x10\xf0\x00\x01\x09\x12\xd8\x0c\x11\xd8\x0f\x10\x8f\x76\x8a\x76\x90\x61\x89\x79\x8c\x79\x89\x04\x88\x01\x88\x31\xd8\x0f\x10\x8f\x77\x8a\x77\x90\x71\x89\x7a\x8c\x7a\x88\x04\xd8\x0b\x0f\x8f\x3f\x8a\x3f\x98\x35\xd1\x0b\x21\xd4\x0b\x21\xf0\x00\x01\x09\x1e\xa0\x64\xa7\x6d\xa2\x6d\xb0\x43\xd1\x26\x38\xd4\x26\x38\xf0\x00\x01\x09\x1e\xd8\x13\x17\x98\x01\x98\x22\x98\x04\x94\x3a\x88\x44\xf0\x02\x0b\x09\x19\xd8\x0f\x16\x88\x7f\xdd\x18\x1a\x9c\x0b\xa5\x42\xa4\x4a\xad\x72\xac\x7b\xb8\x34\xd1\x2f\x40\xd4\x2f\x40\xd4\x24\x41\xd1\x18\x42\xd4\x18\x42\x90\x05\x90\x05\xe0\x18\x1f\xa0\x04\x9c\x0d\x90\x05\xf0\x08\x00\x14\x18\x98\x01\x98\x02\x98\x02\x94\x38\x88\x44\xd8\x13\x17\x98\x02\x98\x11\x98\x02\x94\x38\x98\x65\xd1\x13\x23\x88\x44\xdd\x10\x13\x90\x44\x91\x09\x94\x09\x88\x41\xd8\x0c\x10\x90\x44\x89\x4c\x88\x44\x88\x44\xf8\xf5\x0d\x00\x10\x18\xf0\x00\x01\x09\x12\xf0\x00\x01\x09\x12\xf0\x00\x01\x09\x12\xd8\x10\x11\x88\x41\x88\x41\x88\x41\xf0\x03\x01\x09\x12\xf8\xf8\xf8\xf0\x1b\x13\x05\x19\xf0\x28\x00\x0c\x10\x80\x4b", + .ob_sval = "\x80\x00\xf4\x06\x00\x0c\x0e\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xe4\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xd8\x0b\x0f\x90\x74\xd1\x0b\x1b\xd8\x13\x17\x88\x4b\xdd\x0f\x18\xdb\x0c\x15\xd8\x18\x1a\x9f\x0a\x99\x0a\xd0\x23\x38\xb8\x22\xbf\x28\xb9\x28\xd3\x18\x43\x88\x49\xdc\x11\x1a\xd7\x11\x21\xd1\x11\x21\x88\x06\xd8\x10\x14\x88\x05\xd8\x0e\x12\x88\x03\xdc\x12\x19\x9c\x22\x98\x6a\xa8\x24\xd3\x12\x2f\x89\x07\xe0\x0b\x0e\x90\x64\x89\x3f\xd8\x13\x17\x88\x4b\xdd\x0f\x17\xdb\x0c\x15\xd8\x17\x19\x97\x7a\x91\x7a\xd0\x22\x36\xb8\x02\xbf\x08\xb9\x08\xd3\x17\x41\x88\x48\xdc\x11\x19\x97\x1f\x91\x1f\x88\x06\xd8\x10\x13\x88\x05\xd8\x0e\x11\x88\x03\xdc\x12\x14\x97\x2a\x91\x2a\x88\x07\xd8\x08\x09\x80\x41\xd8\x0a\x0e\xd9\x0c\x12\x90\x34\x98\x11\x8b\x4f\x88\x01\xd9\x0f\x10\xd8\x0c\x11\xf0\x22\x00\x0c\x10\x80\x4b\xf0\x21\x00\x10\x11\x8f\x76\x89\x76\x90\x61\x8b\x79\x89\x04\x88\x01\x88\x31\xd8\x0f\x10\x8f\x77\x89\x77\x90\x71\x8b\x7a\x88\x04\xd8\x0b\x0f\x8f\x3f\x89\x3f\x98\x35\xd4\x0b\x21\xa0\x64\xa7\x6d\xa1\x6d\xb0\x43\xd4\x26\x38\xd8\x13\x17\x98\x01\x98\x22\x90\x3a\x88\x44\xf0\x02\x0b\x09\x19\xd8\x0f\x16\x88\x7f\xdc\x18\x1a\x9f\x0b\x99\x0b\xa4\x42\xa7\x4a\xa1\x4a\xac\x72\xaf\x7b\xa9\x7b\xb8\x34\xd3\x2f\x40\xd1\x24\x41\xd3\x18\x42\x91\x05\xe0\x18\x1f\xa0\x04\x99\x0d\x90\x05\xf0\x08\x00\x14\x18\x98\x01\x98\x02\x90\x38\x88\x44\xd8\x13\x17\x98\x02\x98\x11\x90\x38\x98\x65\xd1\x13\x23\x88\x44\xdc\x10\x13\x90\x44\x93\x09\x88\x41\xd8\x0c\x10\x90\x44\x89\x4c\x88\x44\xf0\x27\x00\x0b\x0f\xf8\xf4\x1a\x00\x10\x18\xf2\x00\x01\x09\x12\xd8\x10\x11\x8a\x41\xf0\x03\x01\x09\x12\xfa", }; static struct { @@ -109099,60 +106780,16 @@ static Py_hash_t ob_shash; char ob_sval[20]; } -posixpath_toplevel_consts_24_exceptiontable = { +posixpath_toplevel_consts_25_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 19, }, .ob_shash = -1, - .ob_sval = "\xc4\x39\x41\x01\x46\x26\x00\xc6\x26\x0c\x46\x35\x03\xc6\x34\x01\x46\x35\x03", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[4]; - } -const_str_end = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 3, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "end", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_j = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "j", + .ob_sval = "\xc4\x26\x41\x01\x46\x05\x00\xc6\x05\x0b\x46\x13\x03\xc6\x12\x01\x46\x13\x03", }; static struct { @@ -109162,11 +106799,11 @@ static PyObject *ob_item[12]; }_object; } -posixpath_toplevel_consts_24_localsplusnames = { +posixpath_toplevel_consts_25_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 12, @@ -109175,90 +106812,86 @@ posixpath_toplevel_consts_24_localsplusnames = { &_Py_ID(path), & const_str_re._ascii.ob_base, & const_str_search._ascii.ob_base, - & const_str_start._ascii.ob_base, - & const_str_end._ascii.ob_base, + &_Py_ID(start), + &_Py_ID(end), & const_str_environ._ascii.ob_base, - & const_str_i._ascii.ob_base, - & const_str_m._ascii.ob_base, - & const_str_j._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], + (PyObject *)&_Py_SINGLETON(strings).ascii[109], + (PyObject *)&_Py_SINGLETON(strings).ascii[106], &_Py_ID(name), - & const_str_value._ascii.ob_base, + &_Py_ID(value), & const_str_tail._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(886) -posixpath_toplevel_consts_24 = { + struct _PyCode_DEF(812) +posixpath_toplevel_consts_25 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 443, + .ob_size = 406, }, - .co_consts = & posixpath_toplevel_consts_24_consts._object.ob_base.ob_base, - .co_names = & posixpath_toplevel_consts_24_names._object.ob_base.ob_base, - .co_exceptiontable = & posixpath_toplevel_consts_24_exceptiontable.ob_base.ob_base, + .co_consts = & posixpath_toplevel_consts_25_consts._object.ob_base.ob_base, + .co_names = & posixpath_toplevel_consts_25_names._object.ob_base.ob_base, + .co_exceptiontable = & posixpath_toplevel_consts_25_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 18 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 293, + .co_firstlineno = 320, .co_nlocalsplus = 12, .co_nlocals = 12, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & posixpath_toplevel_consts_24_localsplusnames._object.ob_base.ob_base, + .co_version = 591, + .co_localsplusnames = & posixpath_toplevel_consts_25_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_36_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_expandvars._ascii.ob_base, .co_qualname = & const_str_expandvars._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_24_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x53\x64\x01\x7c\x00\x76\x01\x72\x02\x7c\x00\x53\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x1f\x64\x02\x64\x03\x6c\x05\x7d\x01\x7c\x01\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x01\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x61\x04\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x05\x7d\x03\x64\x06\x7d\x04\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x64\x03\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x48\x64\x08\x7c\x00\x76\x01\x72\x02\x7c\x00\x53\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x1f\x64\x02\x64\x03\x6c\x05\x7d\x01\x7c\x01\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\x7c\x01\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x61\x0a\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x0a\x7d\x03\x64\x0b\x7d\x04\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x02\x7d\x06\x09\x00\x02\x00\x7c\x02\x7c\x00\x7c\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x07\x73\x01\x6e\xe2\x7c\x07\xa0\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x06\x7d\x08\x7c\x07\xa0\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x7c\x09\xa0\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1f\x7c\x09\xa0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0a\x7c\x09\x64\x0d\x64\x0e\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x09\x00\x7c\x05\x80\x37\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x6e\x08\x7c\x05\x7c\x09\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x7c\x00\x7c\x08\x64\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x00\x64\x03\x7c\x06\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\x7a\x00\x00\x00\x7d\x00\x74\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x00\x7c\x0b\x7a\x0d\x00\x00\x7d\x00\x6e\x12\x23\x00\x74\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x08\x7d\x06\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x8c\xf1\x7c\x00\x53\x00", + .co_linetable = & posixpath_toplevel_consts_25_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x52\x64\x01\x7c\x00\x76\x01\x72\x02\x7c\x00\x53\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x73\x20\x64\x02\x64\x03\x6c\x05\x7d\x01\x7c\x01\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x01\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x61\x04\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x05\x7d\x03\x64\x06\x7d\x04\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x64\x03\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x50\x64\x08\x7c\x00\x76\x01\x72\x02\x7c\x00\x53\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x73\x20\x64\x02\x64\x03\x6c\x05\x7d\x01\x7c\x01\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\x7c\x01\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x61\x0a\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x0a\x7d\x03\x64\x0b\x7d\x04\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x02\x7d\x06\x09\x00\x02\x00\x7c\x02\x7c\x00\x7c\x06\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x07\x73\x03\x09\x00\x7c\x00\x53\x00\x7c\x07\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x06\x7d\x08\x7c\x07\x6a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x09\x7c\x09\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x72\x16\x7c\x09\x6a\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x72\x05\x7c\x09\x64\x0c\x64\x0d\x1a\x00\x7d\x09\x09\x00\x7c\x05\x80\x3a\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0a\x6e\x05\x7c\x05\x7c\x09\x19\x00\x00\x00\x7d\x0a\x7c\x00\x7c\x08\x64\x03\x1a\x00\x7d\x0b\x7c\x00\x64\x03\x7c\x06\x1a\x00\x7c\x0a\x7a\x00\x00\x00\x7d\x00\x74\x25\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x00\x7c\x0b\x7a\x0d\x00\x00\x7d\x00\x8c\xba\x23\x00\x74\x26\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x7c\x08\x7d\x06\x59\x00\x8c\x0e\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static - struct _PyCode_DEF(224) -posixpath_toplevel_consts_26 = { + struct _PyCode_DEF(212) +posixpath_toplevel_consts_27 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 112, + .ob_size = 106, }, - .co_consts = & ntpath_toplevel_consts_30_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_30_names._object.ob_base.ob_base, + .co_consts = & ntpath_toplevel_consts_33_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_33_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 389, + .co_firstlineno = 408, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 592, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_normpath._ascii.ob_base, .co_qualname = & const_str_normpath._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_30_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x35\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x01\x64\x01\x53\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x01\x64\x02\x53\x00", + .co_linetable = & ntpath_toplevel_consts_33_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x35\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x78\x01\x73\x02\x01\x00\x64\x01\x53\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x78\x01\x73\x02\x01\x00\x64\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -109266,30 +106899,28 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[12]; + PyObject *ob_item[10]; }_object; } -posixpath_toplevel_consts_27_consts = { +posixpath_toplevel_consts_28_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 12, + .ob_size = 10, }, .ob_item = { - & ntpath_toplevel_consts_30_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_33_consts_0._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[47]), (PyObject *)&_Py_SINGLETON(bytes_empty), (PyObject *)&_Py_SINGLETON(bytes_characters[46]), - & ntpath_toplevel_consts_31_consts_4.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + & ntpath_toplevel_consts_34_consts_4.ob_base.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], &_Py_STR(empty), &_Py_STR(dot), & ntpath_toplevel_consts_2._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 3], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], }, }, @@ -109302,11 +106933,11 @@ static PyObject *ob_item[9]; }_object; } -posixpath_toplevel_consts_27_names = { +posixpath_toplevel_consts_28_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -109315,8 +106946,8 @@ posixpath_toplevel_consts_27_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, - & const_str_startswith._ascii.ob_base, + &_Py_ID(bytes), + & const_str_splitroot._ascii.ob_base, & const_str_split._ascii.ob_base, &_Py_ID(append), & const_str_pop._ascii.ob_base, @@ -109328,40 +106959,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[361]; + char ob_sval[228]; } -posixpath_toplevel_consts_27_linetable = { +posixpath_toplevel_consts_28_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 360, + .ob_size = 227, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0f\x11\x8c\x79\x98\x14\x89\x7f\x8c\x7f\x88\x04\xdd\x0b\x15\x90\x64\x9d\x45\xd1\x0b\x22\xd4\x0b\x22\xf0\x00\x09\x09\x1a\xd8\x12\x16\x88\x43\xd8\x14\x17\x88\x45\xd8\x12\x16\x88\x43\xd8\x15\x1a\x88\x46\x88\x46\xe0\x12\x15\x88\x43\xd8\x14\x16\x88\x45\xd8\x12\x15\x88\x43\xd8\x15\x19\x88\x46\xd8\x0b\x0f\x90\x35\x8a\x3d\x88\x3d\xd8\x13\x16\x88\x4a\xd8\x1a\x1e\x9f\x2f\x9a\x2f\xa8\x23\xd1\x1a\x2e\xd4\x1a\x2e\x88\x0f\xf0\x08\x00\x0d\x1c\xf0\x00\x02\x09\x20\xd8\x0c\x10\x8f\x4f\x8a\x4f\x98\x43\xa0\x01\x99\x45\xd1\x0c\x22\xd4\x0c\x22\xf0\x03\x02\x09\x20\xd8\x2b\x2f\xaf\x3f\xaa\x3f\xb8\x33\xb8\x71\xb9\x35\xd1\x2b\x41\xd4\x2b\x41\xf0\x03\x02\x09\x20\xe0\x1e\x1f\x88\x4f\xd8\x10\x14\x97\x0a\x92\x0a\x98\x33\x91\x0f\x94\x0f\x88\x05\xd8\x14\x16\x88\x09\xd8\x14\x19\xf0\x00\x07\x09\x20\xf0\x00\x07\x09\x20\x88\x44\xd8\x0f\x13\x98\x05\x98\x73\x90\x7c\xd0\x0f\x23\xd0\x0f\x23\xd8\x10\x18\xd8\x10\x14\x98\x06\x92\x0e\x90\x0e\xa0\x7f\x90\x0e\xb8\x79\x90\x0e\xd8\x12\x1b\xf0\x03\x00\x11\x1f\xd8\x20\x29\xa8\x22\xa4\x0d\xb0\x16\xd2\x20\x37\xd0\x20\x37\xd8\x10\x19\xd7\x10\x20\xd2\x10\x20\xa0\x14\xd1\x10\x26\xd4\x10\x26\xd0\x10\x26\xd0\x10\x26\xd8\x11\x1a\xf0\x00\x01\x0d\x20\xd8\x10\x19\x97\x0d\x92\x0d\x91\x0f\x94\x0f\x90\x0f\xf8\xd8\x10\x19\x88\x05\xd8\x0f\x12\x8f\x78\x8a\x78\x98\x05\x89\x7f\x8c\x7f\x88\x04\xd8\x0b\x1a\xf0\x00\x01\x09\x2e\xd8\x13\x16\x90\x7f\xd1\x13\x26\xa8\x14\xd1\x13\x2d\x88\x44\xd8\x0f\x13\x88\x7b\x90\x73\xd0\x08\x1a", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[6]; - } -const_str_empty = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 5, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "empty", + .ob_sval = "\x80\x00\xe4\x0f\x11\x8f\x79\x89\x79\x98\x14\x8b\x7f\x88\x04\xdc\x0b\x15\x90\x64\x9c\x45\xd4\x0b\x22\xd8\x12\x16\x88\x43\xd8\x14\x17\x88\x45\xd8\x12\x16\x88\x43\xd8\x15\x1a\x89\x46\xe0\x12\x15\x88\x43\xd8\x14\x16\x88\x45\xd8\x12\x15\x88\x43\xd8\x15\x19\x88\x46\xd8\x0b\x0f\x90\x35\x8a\x3d\xd8\x13\x16\x88\x4a\xdc\x23\x2c\xa8\x54\xa3\x3f\xd1\x08\x20\x88\x01\x88\x3f\x98\x44\xd8\x10\x14\x97\x0a\x91\x0a\x98\x33\x93\x0f\x88\x05\xd8\x14\x16\x88\x09\xd8\x14\x19\xf2\x00\x07\x09\x20\x88\x44\xd8\x0f\x13\x98\x05\x98\x73\x90\x7c\xd1\x0f\x23\xd8\x10\x18\xd8\x10\x14\x98\x06\x92\x0e\xa1\x7f\xb9\x79\xd9\x12\x1b\xa0\x09\xa8\x22\xa1\x0d\xb0\x16\xd2\x20\x37\xd8\x10\x19\xd7\x10\x20\xd1\x10\x20\xa0\x14\xd5\x10\x26\xda\x11\x1a\xd8\x10\x19\x97\x0d\x91\x0d\x95\x0f\xf0\x0f\x07\x09\x20\xf0\x10\x00\x11\x1a\x88\x05\xd8\x0f\x1e\xa0\x13\xa7\x18\xa1\x18\xa8\x25\xa3\x1f\xd1\x0f\x30\x88\x04\xd8\x0f\x13\x8a\x7b\x90\x73\xd0\x08\x1a", }; static struct { @@ -109371,7 +106980,7 @@ static const_str_dotdot = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -109380,7 +106989,7 @@ const_str_dotdot = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dotdot", @@ -109393,7 +107002,7 @@ static const_str_initial_slashes = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -109402,7 +107011,7 @@ const_str_initial_slashes = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "initial_slashes", @@ -109415,7 +107024,7 @@ static const_str_new_comps = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -109424,7 +107033,7 @@ const_str_new_comps = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "new_comps", @@ -109437,7 +107046,7 @@ static const_str_comp = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -109446,7 +107055,7 @@ const_str_comp = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "comp", @@ -109456,24 +107065,25 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[9]; + PyObject *ob_item[10]; }_object; } -posixpath_toplevel_consts_27_localsplusnames = { +posixpath_toplevel_consts_28_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 9, + .ob_size = 10, }, .ob_item = { &_Py_ID(path), - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_empty._ascii.ob_base, & const_str_dot._ascii.ob_base, & const_str_dotdot._ascii.ob_base, + &_Py_ID(_), & const_str_initial_slashes._ascii.ob_base, & const_str_comps._ascii.ob_base, & const_str_new_comps._ascii.ob_base, @@ -109482,40 +107092,38 @@ posixpath_toplevel_consts_27_localsplusnames = { }, }; static - struct _PyCode_DEF(560) -posixpath_toplevel_consts_27 = { + struct _PyCode_DEF(388) +posixpath_toplevel_consts_28 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 280, + .ob_size = 194, }, - .co_consts = & posixpath_toplevel_consts_27_consts._object.ob_base.ob_base, - .co_names = & posixpath_toplevel_consts_27_names._object.ob_base.ob_base, + .co_consts = & posixpath_toplevel_consts_28_consts._object.ob_base.ob_base, + .co_names = & posixpath_toplevel_consts_28_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 14 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 350, - .co_nlocalsplus = 9, - .co_nlocals = 9, - .co_nplaincellvars = 0, + .co_firstlineno = 377, + .co_nlocalsplus = 10, + .co_nlocals = 10, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & posixpath_toplevel_consts_27_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_57_localspluskinds.ob_base.ob_base, + .co_version = 593, + .co_localsplusnames = & posixpath_toplevel_consts_28_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_normpath._ascii.ob_base, .co_qualname = & const_str_normpath._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_27_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x09\x64\x01\x7d\x01\x64\x02\x7d\x02\x64\x03\x7d\x03\x64\x04\x7d\x04\x6e\x08\x64\x05\x7d\x01\x64\x06\x7d\x02\x64\x07\x7d\x03\x64\x08\x7d\x04\x7c\x00\x7c\x02\x6b\x02\x00\x00\x00\x00\x72\x02\x7c\x03\x53\x00\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x72\x32\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x09\x7a\x05\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1a\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x0a\x7a\x05\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x64\x09\x7d\x05\x7c\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x67\x00\x7d\x07\x7c\x06\x44\x00\x5d\x4d\x7d\x08\x7c\x08\x7c\x02\x7c\x03\x66\x02\x76\x00\x72\x01\x8c\x09\x7c\x08\x7c\x04\x6b\x03\x00\x00\x00\x00\x73\x12\x7c\x05\x73\x02\x7c\x07\x72\x0e\x7c\x07\x72\x22\x7c\x07\x64\x0b\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6b\x02\x00\x00\x00\x00\x72\x16\x7c\x07\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x37\x7c\x07\x72\x14\x7c\x07\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x4e\x7c\x07\x7d\x06\x7c\x01\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x05\x72\x08\x7c\x01\x7c\x05\x7a\x05\x00\x00\x7c\x00\x7a\x00\x00\x00\x7d\x00\x7c\x00\x70\x01\x7c\x03\x53\x00", + .co_linetable = & posixpath_toplevel_consts_28_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x09\x64\x01\x7d\x01\x64\x02\x7d\x02\x64\x03\x7d\x03\x64\x04\x7d\x04\x6e\x08\x64\x05\x7d\x01\x64\x06\x7d\x02\x64\x07\x7d\x03\x64\x08\x7d\x04\x7c\x00\x7c\x02\x6b\x28\x00\x00\x72\x02\x7c\x03\x53\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x05\x7d\x06\x7d\x00\x7c\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x07\x67\x00\x7d\x08\x7c\x07\x44\x00\x5d\x41\x00\x00\x7d\x09\x7c\x09\x7c\x02\x7c\x03\x66\x02\x76\x00\x72\x01\x8c\x0a\x7c\x09\x7c\x04\x6b\x37\x00\x00\x73\x0e\x7c\x06\x73\x02\x7c\x08\x72\x0a\x7c\x08\x72\x1a\x7c\x08\x64\x09\x19\x00\x00\x00\x7c\x04\x6b\x28\x00\x00\x72\x12\x7c\x08\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x2f\x7c\x08\x73\x01\x8c\x32\x7c\x08\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x43\x04\x00\x7c\x08\x7d\x07\x7c\x06\x7c\x01\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7d\x00\x7c\x00\x78\x01\x73\x02\x01\x00\x7c\x03\x53\x00", ._co_firsttraceable = 0, }; static @@ -109523,10 +107131,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -posixpath_toplevel_consts_28_consts_0 = { +posixpath_toplevel_consts_29_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -109535,7 +107143,7 @@ posixpath_toplevel_consts_28_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return an absolute path.", @@ -109548,17 +107156,17 @@ static PyObject *ob_item[1]; }_object; } -posixpath_toplevel_consts_28_consts = { +posixpath_toplevel_consts_29_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & posixpath_toplevel_consts_28_consts_0._ascii.ob_base, + & posixpath_toplevel_consts_29_consts_0._ascii.ob_base, }, }, }; @@ -109566,54 +107174,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[97]; + char ob_sval[76]; } -posixpath_toplevel_consts_28_linetable = { +posixpath_toplevel_consts_29_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 96, + .ob_size = 75, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x0d\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xdd\x0b\x10\x90\x14\x89\x3b\x8c\x3b\xf0\x00\x05\x05\x1f\xdd\x0b\x15\x90\x64\x9d\x45\xd1\x0b\x22\xd4\x0b\x22\xf0\x00\x03\x09\x1e\xdd\x12\x14\x94\x2a\x91\x2c\x94\x2c\x88\x43\x88\x43\xe5\x12\x14\x94\x29\x91\x2b\x94\x2b\x88\x43\xdd\x0f\x13\x90\x43\x98\x14\x89\x7f\x8c\x7f\x88\x04\xdd\x0b\x13\x90\x44\x89\x3e\x8c\x3e\xd0\x04\x19", + .ob_sval = "\x80\x00\xe4\x0b\x0d\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xdc\x0b\x10\x90\x14\x8c\x3b\xdc\x0b\x15\x90\x64\x9c\x45\xd4\x0b\x22\xdc\x12\x14\x97\x2a\x91\x2a\x93\x2c\x89\x43\xe4\x12\x14\x97\x29\x91\x29\x93\x2b\x88\x43\xdc\x0f\x13\x90\x43\x98\x14\x8b\x7f\x88\x04\xdc\x0b\x13\x90\x44\x8b\x3e\xd0\x04\x19", }; static - struct _PyCode_DEF(254) -posixpath_toplevel_consts_28 = { + struct _PyCode_DEF(226) +posixpath_toplevel_consts_29 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 127, + .ob_size = 113, }, - .co_consts = & posixpath_toplevel_consts_28_consts._object.ob_base.ob_base, - .co_names = & ntpath_toplevel_consts_32_names._object.ob_base.ob_base, + .co_consts = & posixpath_toplevel_consts_29_consts._object.ob_base.ob_base, + .co_names = & ntpath_toplevel_consts_35_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 397, + .co_firstlineno = 416, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_32_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 594, + .co_localsplusnames = & ntpath_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_abspath._ascii.ob_base, .co_qualname = & const_str_abspath._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_28_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x4c\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x14\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x13\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & posixpath_toplevel_consts_29_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x73\x45\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x15\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x14\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -109621,10 +107227,10 @@ static PyASCIIObject _ascii; uint8_t _data[109]; } -posixpath_toplevel_consts_31_consts_0 = { +posixpath_toplevel_consts_32_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 108, @@ -109633,7 +107239,7 @@ posixpath_toplevel_consts_31_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x63\x61\x6e\x6f\x6e\x69\x63\x61\x6c\x20\x70\x61\x74\x68\x20\x6f\x66\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x2c\x20\x65\x6c\x69\x6d\x69\x6e\x61\x74\x69\x6e\x67\x20\x61\x6e\x79\x0a\x73\x79\x6d\x62\x6f\x6c\x69\x63\x20\x6c\x69\x6e\x6b\x73\x20\x65\x6e\x63\x6f\x75\x6e\x74\x65\x72\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x70\x61\x74\x68\x2e", @@ -109646,17 +107252,17 @@ static PyObject *ob_item[3]; }_object; } -posixpath_toplevel_consts_31_consts = { +posixpath_toplevel_consts_32_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & posixpath_toplevel_consts_31_consts_0._ascii.ob_base, + & posixpath_toplevel_consts_32_consts_0._ascii.ob_base, Py_None, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], }, @@ -109670,7 +107276,7 @@ static const_str__joinrealpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -109679,7 +107285,7 @@ const_str__joinrealpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_joinrealpath", @@ -109692,11 +107298,11 @@ static PyObject *ob_item[4]; }_object; } -posixpath_toplevel_consts_31_names = { +posixpath_toplevel_consts_32_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -109713,18 +107319,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[63]; + char ob_sval[55]; } -posixpath_toplevel_consts_31_linetable = { +posixpath_toplevel_consts_32_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 62, + .ob_size = 54, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x10\x12\x8c\x79\x98\x18\xd1\x0f\x22\xd4\x0f\x22\x80\x48\xdd\x0f\x1c\x98\x58\xa0\x62\xa0\x71\xa0\x62\x9c\x5c\xa8\x38\xb0\x56\xb8\x52\xd1\x0f\x40\xd4\x0f\x40\x81\x48\x80\x44\x88\x22\xdd\x0b\x12\x90\x34\x89\x3d\x8c\x3d\xd0\x04\x18", + .ob_sval = "\x80\x00\xf4\x06\x00\x10\x12\x8f\x79\x89\x79\x98\x18\xd3\x0f\x22\x80\x48\xdc\x0f\x1c\x98\x58\xa0\x62\xa0\x71\x98\x5c\xa8\x38\xb0\x56\xb8\x52\xd3\x0f\x40\x81\x48\x80\x44\x88\x22\xdc\x0b\x12\x90\x34\x8b\x3d\xd0\x04\x18", }; static struct { @@ -109734,7 +107340,7 @@ static const_str_ok = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -109743,7 +107349,7 @@ const_str_ok = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ok", @@ -109756,11 +107362,11 @@ static PyObject *ob_item[4]; }_object; } -posixpath_toplevel_consts_31_localsplusnames = { +posixpath_toplevel_consts_32_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -109774,40 +107380,38 @@ posixpath_toplevel_consts_31_localsplusnames = { }, }; static - struct _PyCode_DEF(130) -posixpath_toplevel_consts_31 = { + struct _PyCode_DEF(106) +posixpath_toplevel_consts_32 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 65, + .ob_size = 53, }, - .co_consts = & posixpath_toplevel_consts_31_consts._object.ob_base.ob_base, - .co_names = & posixpath_toplevel_consts_31_names._object.ob_base.ob_base, + .co_consts = & posixpath_toplevel_consts_32_consts._object.ob_base.ob_base, + .co_names = & posixpath_toplevel_consts_32_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 1, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 412, + .co_firstlineno = 431, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & posixpath_toplevel_consts_31_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 595, + .co_localsplusnames = & posixpath_toplevel_consts_32_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_realpath._ascii.ob_base, .co_qualname = & const_str_realpath._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_31_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\x64\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x69\x00\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & posixpath_toplevel_consts_32_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\x64\x02\x1a\x00\x7c\x00\x7c\x01\x69\x00\xab\x04\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -109818,11 +107422,11 @@ static PyObject *ob_item[10]; }_object; } -posixpath_toplevel_consts_32_consts = { +posixpath_toplevel_consts_33_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -109831,8 +107435,8 @@ posixpath_toplevel_consts_32_consts = { Py_None, (PyObject *)&_Py_SINGLETON(bytes_characters[47]), (PyObject *)&_Py_SINGLETON(bytes_characters[46]), - & ntpath_toplevel_consts_31_consts_4.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + & ntpath_toplevel_consts_34_consts_4.ob_base.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], &_Py_STR(dot), & ntpath_toplevel_consts_2._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], @@ -109849,18 +107453,18 @@ static PyObject *ob_item[14]; }_object; } -posixpath_toplevel_consts_32_names = { +posixpath_toplevel_consts_33_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 14, }, .ob_item = { &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_isabs._ascii.ob_base, & const_str_partition._ascii.ob_base, & const_str_split._ascii.ob_base, @@ -109880,18 +107484,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[506]; + char ob_sval[390]; } -posixpath_toplevel_consts_32_linetable = { +posixpath_toplevel_consts_33_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 505, + .ob_size = 389, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x07\x05\x16\xd8\x0e\x12\x88\x03\xd8\x11\x15\x88\x06\xd8\x11\x16\x88\x06\x88\x06\xe0\x0e\x11\x88\x03\xd8\x11\x14\x88\x06\xd8\x11\x15\x88\x06\xe5\x07\x0c\x88\x54\x81\x7b\x84\x7b\xf0\x00\x02\x05\x13\xd8\x0f\x13\x90\x41\x90\x42\x90\x42\x8c\x78\x88\x04\xd8\x0f\x12\x88\x04\xe0\x0a\x0e\xf1\x00\x2c\x05\x1d\xd8\x18\x1c\x9f\x0e\x9a\x0e\xa0\x73\xd1\x18\x2b\xd4\x18\x2b\x89\x0d\x88\x04\x88\x61\x90\x14\xd8\x0f\x13\xf0\x00\x02\x09\x15\x90\x74\x98\x76\x92\x7e\x90\x7e\xe0\x0c\x14\xd8\x0b\x0f\x90\x36\x8a\x3e\x88\x3e\xe0\x0f\x13\xf0\x00\x05\x0d\x1e\xdd\x1d\x22\xa0\x34\x99\x5b\x9c\x5b\x91\x0a\x90\x04\x90\x64\xd8\x13\x17\x98\x36\x92\x3e\x90\x3e\xdd\x1b\x1f\xa0\x04\xa0\x66\xa8\x66\xd1\x1b\x35\xd4\x1b\x35\x90\x44\xf8\xe0\x17\x1d\x90\x04\xd8\x0c\x14\xdd\x12\x16\x90\x74\x98\x54\xd1\x12\x22\xd4\x12\x22\x88\x07\xf0\x02\x07\x09\x2f\xdd\x11\x13\x94\x18\x98\x27\xd1\x11\x22\xd4\x11\x22\x88\x42\xf5\x0c\x00\x17\x1b\x94\x6c\xa0\x32\xa4\x3a\xd1\x16\x2e\xd4\x16\x2e\x88\x47\x88\x47\xf8\xf5\x0b\x00\x10\x17\xf0\x00\x03\x09\x1c\xf0\x00\x03\x09\x1c\xf0\x00\x03\x09\x1c\xd8\x0f\x15\xf0\x00\x01\x0d\x16\xd8\x10\x15\xd8\x16\x1b\x88\x47\x88\x47\x88\x47\xf0\x07\x03\x09\x1c\xf8\xf8\xf8\xf0\x0c\x00\x10\x17\xf0\x00\x02\x09\x15\xd8\x13\x1a\x88\x44\xd8\x0c\x14\xe0\x0b\x12\x90\x64\x88\x3f\x88\x3f\xe0\x13\x17\x98\x07\x94\x3d\x88\x44\xd8\x0f\x13\xd0\x0f\x1f\xe0\x10\x18\xe0\x0f\x15\xf0\x00\x05\x0d\x32\xe5\x10\x12\x94\x07\x98\x07\xd1\x10\x20\xd4\x10\x20\xd0\x10\x20\xd0\x10\x20\xf5\x06\x00\x18\x1c\x98\x47\xa0\x54\xd1\x17\x2a\xd4\x17\x2a\xa8\x45\xd0\x17\x31\xd0\x10\x31\xd8\x18\x1c\x88\x04\x88\x57\x89\x0d\xdd\x13\x20\xa0\x14\xa5\x72\xa4\x7b\xb0\x37\xd1\x27\x3b\xd4\x27\x3b\xb8\x56\xc0\x54\xd1\x13\x4a\xd4\x13\x4a\x89\x08\x88\x04\x88\x62\xd8\x0f\x11\xf0\x00\x01\x09\x2b\xdd\x13\x17\x98\x04\x98\x64\xd1\x13\x23\xd4\x13\x23\xa0\x55\xd0\x13\x2a\xd0\x0c\x2a\xd8\x18\x1c\x88\x04\x88\x57\x89\x0d\xf0\x59\x01\x00\x0b\x0f\xf1\x00\x2c\x05\x1d\xf0\x5c\x01\x00\x0c\x10\x90\x14\x88\x3a\xd0\x04\x15", + .ob_sval = "\x80\x00\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xd8\x0e\x12\x88\x03\xd8\x11\x15\x88\x06\xd8\x11\x16\x89\x06\xe0\x0e\x11\x88\x03\xd8\x11\x14\x88\x06\xd8\x11\x15\x88\x06\xe4\x07\x0c\x88\x54\x84\x7b\xd8\x0f\x13\x90\x41\x90\x42\x88\x78\x88\x04\xd8\x0f\x12\x88\x04\xe2\x0a\x0e\xd8\x18\x1c\x9f\x0e\x99\x0e\xa0\x73\xd3\x18\x2b\x89\x0d\x88\x04\x88\x61\x90\x14\xd9\x0f\x13\x90\x74\x98\x76\x92\x7e\xe0\x0c\x14\xd8\x0b\x0f\x90\x36\x8a\x3e\xe1\x0f\x13\xdc\x1d\x22\xa0\x34\x9b\x5b\x91\x0a\x90\x04\x90\x64\xd8\x13\x17\x98\x36\x92\x3e\xdc\x1b\x1f\xa0\x04\xa0\x66\xa8\x66\xd3\x1b\x35\x91\x44\xe0\x17\x1d\x90\x04\xd8\x0c\x14\xdc\x12\x16\x90\x74\x98\x54\xd3\x12\x22\x88\x07\xf0\x02\x07\x09\x2f\xdc\x11\x13\x97\x18\x91\x18\x98\x27\xd3\x11\x22\x88\x42\xf4\x0c\x00\x17\x1b\x97\x6c\x91\x6c\xa0\x32\xa7\x3a\xa1\x3a\xd3\x16\x2e\x88\x47\xd9\x0f\x16\xd8\x13\x1a\x88\x44\xd8\x0c\x14\xe0\x0b\x12\x90\x64\x89\x3f\xe0\x13\x17\x98\x07\x91\x3d\x88\x44\xd8\x0f\x13\xd0\x0f\x1f\xe0\x10\x18\xe1\x0f\x15\xe4\x10\x12\x97\x07\x91\x07\x98\x07\xd5\x10\x20\xf4\x06\x00\x18\x1c\x98\x47\xa0\x54\xd3\x17\x2a\xa8\x45\xd0\x17\x31\xd0\x10\x31\xd8\x18\x1c\x88\x04\x88\x57\x89\x0d\xdc\x13\x20\xa0\x14\xa4\x72\xa7\x7b\xa1\x7b\xb0\x37\xd3\x27\x3b\xb8\x56\xc0\x54\xd3\x13\x4a\x89\x08\x88\x04\x88\x62\xd9\x0f\x11\xdc\x13\x17\x98\x04\x98\x64\xd3\x13\x23\xa0\x55\xd0\x13\x2a\xd0\x0c\x2a\xd8\x18\x1c\x88\x04\x88\x57\x89\x0d\xf3\x59\x01\x00\x0b\x0f\xf0\x5c\x01\x00\x0c\x10\x90\x14\x88\x3a\xd0\x04\x15\xf8\xf4\x3b\x00\x10\x17\xf2\x00\x03\x09\x1c\xd9\x0f\x15\xd8\x10\x15\xd8\x16\x1b\x8a\x47\xf0\x07\x03\x09\x1c\xfa", }; static struct { @@ -109899,16 +107503,16 @@ static Py_hash_t ob_shash; char ob_sval[19]; } -posixpath_toplevel_consts_32_exceptiontable = { +posixpath_toplevel_consts_33_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\xc2\x29\x14\x43\x17\x00\xc3\x17\x0f\x43\x29\x03\xc3\x28\x01\x43\x29\x03", + .ob_sval = "\xc2\x08\x15\x44\x39\x00\xc4\x39\x0e\x45\x0a\x03\xc5\x09\x01\x45\x0a\x03", }; static struct { @@ -109918,7 +107522,7 @@ static const_str_newpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -109927,7 +107531,7 @@ const_str_newpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "newpath", @@ -109940,7 +107544,7 @@ static const_str_is_link = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -109949,7 +107553,7 @@ const_str_is_link = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "is_link", @@ -109962,11 +107566,11 @@ static PyObject *ob_item[13]; }_object; } -posixpath_toplevel_consts_32_localsplusnames = { +posixpath_toplevel_consts_33_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -109976,7 +107580,7 @@ posixpath_toplevel_consts_32_localsplusnames = { & const_str_rest._ascii.ob_base, &_Py_ID(strict), & const_str_seen._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_curdir._ascii.ob_base, & const_str_pardir._ascii.ob_base, &_Py_ID(name), @@ -109994,10 +107598,10 @@ static Py_hash_t ob_shash; char ob_sval[14]; } -posixpath_toplevel_consts_32_localspluskinds = { +posixpath_toplevel_consts_33_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 13, @@ -110006,148 +107610,38 @@ posixpath_toplevel_consts_32_localspluskinds = { .ob_sval = " ", }; static - struct _PyCode_DEF(746) -posixpath_toplevel_consts_32 = { + struct _PyCode_DEF(666) +posixpath_toplevel_consts_33 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 373, + .ob_size = 333, }, - .co_consts = & posixpath_toplevel_consts_32_consts._object.ob_base.ob_base, - .co_names = & posixpath_toplevel_consts_32_names._object.ob_base.ob_base, - .co_exceptiontable = & posixpath_toplevel_consts_32_exceptiontable.ob_base.ob_base, + .co_consts = & posixpath_toplevel_consts_33_consts._object.ob_base.ob_base, + .co_names = & posixpath_toplevel_consts_33_names._object.ob_base.ob_base, + .co_exceptiontable = & posixpath_toplevel_consts_33_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 19 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 421, + .co_firstlineno = 440, .co_nlocalsplus = 13, .co_nlocals = 13, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & posixpath_toplevel_consts_32_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & posixpath_toplevel_consts_32_localspluskinds.ob_base.ob_base, + .co_version = 596, + .co_localsplusnames = & posixpath_toplevel_consts_33_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & posixpath_toplevel_consts_33_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str__joinrealpath._ascii.ob_base, .co_qualname = & const_str__joinrealpath._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_32_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x07\x64\x01\x7d\x04\x64\x02\x7d\x05\x64\x03\x7d\x06\x6e\x06\x64\x04\x7d\x04\x64\x05\x7d\x05\x64\x06\x7d\x06\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0c\x7c\x01\x64\x07\x64\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x04\x7d\x00\x7c\x01\x90\x01\x72\x30\x7c\x01\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x07\x7d\x08\x7d\x01\x7c\x07\x72\x06\x7c\x07\x7c\x05\x6b\x02\x00\x00\x00\x00\x72\x01\x8c\x25\x7c\x07\x7c\x06\x6b\x02\x00\x00\x00\x00\x72\x2f\x7c\x00\x72\x2a\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x00\x7d\x07\x7c\x07\x7c\x06\x6b\x02\x00\x00\x00\x00\x72\x11\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x06\x7c\x06\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x6e\x02\x7c\x06\x7d\x00\x8c\x5a\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x07\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x09\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x6e\x15\x23\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x08\x01\x00\x7c\x02\x72\x01\x82\x00\x64\x08\x7d\x0b\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x0b\x73\x03\x7c\x09\x7d\x00\x8c\xb3\x7c\x09\x7c\x03\x76\x00\x72\x34\x7c\x03\x7c\x09\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x81\x01\x8c\xc2\x7c\x02\x72\x15\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x12\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x66\x02\x53\x00\x64\x00\x7c\x03\x7c\x09\x3c\x00\x00\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x03\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x00\x7d\x0c\x7c\x0c\x73\x12\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x66\x02\x53\x00\x7c\x00\x7c\x03\x7c\x09\x3c\x00\x00\x00\x7c\x01\x90\x01\xb0\x30\x7c\x00\x64\x09\x66\x02\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[30]; - } -posixpath_toplevel_consts_34_consts_9_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 29, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xd0\x15\x40\xd0\x15\x40\xd0\x15\x40\x98\x41\xb8\x61\xd0\x15\x40\x90\x61\xd0\x15\x40\xd0\x15\x40\xd0\x15\x40", -}; -static - struct _PyCode_DEF(22) -posixpath_toplevel_consts_34_consts_9 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 11, - }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 508, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_44_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_44_consts_11_qualname._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_34_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7c\x00\x5d\x06\x7d\x01\x7c\x01\xaf\x04\x7c\x01\x91\x02\x8c\x07\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[30]; - } -posixpath_toplevel_consts_34_consts_10_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 29, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xd0\x14\x3e\xd0\x14\x3e\xd0\x14\x3e\x98\x31\xb8\x41\xd0\x14\x3e\x90\x51\xd0\x14\x3e\xd0\x14\x3e\xd0\x14\x3e", -}; -static - struct _PyCode_DEF(22) -posixpath_toplevel_consts_34_consts_10 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 11, - }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 509, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & ntpath_toplevel_consts_44_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_44_consts_11_qualname._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_34_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7c\x00\x5d\x06\x7d\x01\x7c\x01\xaf\x04\x7c\x01\x91\x02\x8c\x07\x53\x00", + .co_linetable = & posixpath_toplevel_consts_33_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x07\x64\x01\x7d\x04\x64\x02\x7d\x05\x64\x03\x7d\x06\x6e\x06\x64\x04\x7d\x04\x64\x05\x7d\x05\x64\x06\x7d\x06\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x72\x07\x7c\x01\x64\x07\x64\x00\x1a\x00\x7d\x01\x7c\x04\x7d\x00\x7c\x01\x90\x01\x72\x02\x7c\x01\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x07\x7d\x08\x7d\x01\x7c\x07\x72\x05\x7c\x07\x7c\x05\x6b\x28\x00\x00\x72\x01\x8c\x20\x7c\x07\x7c\x06\x6b\x28\x00\x00\x72\x26\x7c\x00\x72\x21\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x00\x7d\x07\x7c\x07\x7c\x06\x6b\x28\x00\x00\x72\x10\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x06\x7c\x06\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x00\x6e\x02\x7c\x06\x7d\x00\x8c\x4b\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x07\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x09\x09\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0a\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x0b\x73\x03\x7c\x09\x7d\x00\x8c\x91\x7c\x09\x7c\x03\x76\x00\x72\x2e\x7c\x03\x7c\x09\x19\x00\x00\x00\x7d\x00\x7c\x00\x81\x01\x8c\x9d\x7c\x02\x72\x16\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0e\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x64\x08\x66\x02\x53\x00\x64\x00\x7c\x03\x7c\x09\x3c\x00\x00\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x03\xab\x04\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x00\x7d\x0c\x7c\x0c\x73\x0e\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x64\x08\x66\x02\x53\x00\x7c\x00\x7c\x03\x7c\x09\x3c\x00\x00\x00\x7c\x01\x72\x02\x90\x01\x8c\x02\x7c\x00\x64\x09\x66\x02\x53\x00\x23\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x08\x01\x00\x7c\x02\x72\x01\x82\x00\x64\x08\x7d\x0b\x59\x00\x8c\x8d\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -110155,30 +107649,28 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[12]; + PyObject *ob_item[10]; }_object; } -posixpath_toplevel_consts_34_consts = { +posixpath_toplevel_consts_35_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 12, + .ob_size = 10, }, .ob_item = { - & ntpath_toplevel_consts_44_consts_0._ascii.ob_base, - & ntpath_toplevel_consts_44_consts_8._ascii.ob_base, + & ntpath_toplevel_consts_45_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_45_consts_8._ascii.ob_base, (PyObject *)&_Py_SINGLETON(bytes_characters[46]), (PyObject *)&_Py_SINGLETON(bytes_characters[47]), - & ntpath_toplevel_consts_31_consts_4.ob_base.ob_base, + & ntpath_toplevel_consts_34_consts_4.ob_base.ob_base, &_Py_STR(dot), - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], & ntpath_toplevel_consts_2._ascii.ob_base, Py_None, - & posixpath_toplevel_consts_34_consts_9.ob_base.ob_base, - & posixpath_toplevel_consts_34_consts_10.ob_base.ob_base, & const_str_relpath._ascii.ob_base, }, }, @@ -110191,11 +107683,11 @@ static PyObject *ob_item[16]; }_object; } -posixpath_toplevel_consts_34_names = { +posixpath_toplevel_consts_35_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 16, @@ -110205,7 +107697,7 @@ posixpath_toplevel_consts_34_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_abspath._ascii.ob_base, & const_str_split._ascii.ob_base, &_Py_ID(len), @@ -110224,197 +107716,140 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[347]; + char ob_sval[301]; } -posixpath_toplevel_consts_34_linetable = { +posixpath_toplevel_consts_35_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 346, + .ob_size = 300, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x06\x00\x0c\x10\xf0\x00\x01\x05\x2e\xdd\x0e\x18\xd0\x19\x2c\xd1\x0e\x2d\xd4\x0e\x2d\xd0\x08\x2d\xe5\x0b\x0d\x8c\x39\x90\x54\x89\x3f\x8c\x3f\x80\x44\xdd\x07\x11\x90\x24\x9d\x05\xd1\x07\x1e\xd4\x07\x1e\xf0\x00\x07\x05\x16\xd8\x11\x15\x88\x06\xd8\x0e\x12\x88\x03\xd8\x11\x16\x88\x06\x88\x06\xe0\x11\x14\x88\x06\xd8\x0e\x11\x88\x03\xd8\x11\x15\x88\x06\xe0\x07\x0c\x80\x7d\xd8\x10\x16\x88\x05\x88\x05\xe5\x10\x12\x94\x09\x98\x25\xd1\x10\x20\xd4\x10\x20\x88\x05\xf0\x04\x0c\x05\x0e\xd8\x15\x40\xd0\x15\x40\xa5\x17\xa8\x15\xa1\x1e\xa4\x1e\xd7\x21\x35\xd2\x21\x35\xb0\x63\xd1\x21\x3a\xd4\x21\x3a\xd0\x15\x40\xd1\x15\x40\xd4\x15\x40\x88\x0a\xd8\x14\x3e\xd0\x14\x3e\xa5\x07\xa8\x04\xa1\x0d\xa4\x0d\xd7\x20\x33\xd2\x20\x33\xb0\x43\xd1\x20\x38\xd4\x20\x38\xd0\x14\x3e\xd1\x14\x3e\xd4\x14\x3e\x88\x09\xe5\x0c\x0f\x95\x0c\x98\x6a\xa8\x29\xd0\x1d\x34\xd1\x10\x35\xd4\x10\x35\xd1\x0c\x36\xd4\x0c\x36\x88\x01\xe0\x14\x1a\x90\x38\x9d\x73\xa0\x3a\x99\x7f\x9c\x7f\xa8\x71\xd1\x1f\x30\xd1\x13\x31\xb0\x49\xb8\x61\xb8\x62\xb8\x62\xb4\x4d\xd1\x13\x41\x88\x08\xd8\x0f\x17\xf0\x00\x01\x09\x1a\xd8\x13\x19\x88\x4d\xdd\x0f\x13\x90\x58\x88\x7f\xd0\x08\x1e\xf8\xdd\x0c\x15\x95\x7e\xa5\x7c\xd5\x35\x47\xd0\x0b\x48\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xdd\x08\x13\xd4\x08\x24\xa0\x59\xb0\x04\xb0\x65\xd1\x08\x3c\xd4\x08\x3c\xd0\x08\x3c\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf1\x06\x00\x0c\x10\xdc\x0e\x18\xd0\x19\x2c\xd3\x0e\x2d\xd0\x08\x2d\xe4\x0b\x0d\x8f\x39\x89\x39\x90\x54\x8b\x3f\x80\x44\xdc\x07\x11\x90\x24\x9c\x05\xd4\x07\x1e\xd8\x11\x15\x88\x06\xd8\x0e\x12\x88\x03\xd8\x11\x16\x89\x06\xe0\x11\x14\x88\x06\xd8\x0e\x11\x88\x03\xd8\x11\x15\x88\x06\xe0\x07\x0c\x80\x7d\xd8\x10\x16\x89\x05\xe4\x10\x12\x97\x09\x91\x09\x98\x25\xd3\x10\x20\x88\x05\xf0\x04\x0c\x05\x0e\xdc\x21\x28\xa8\x15\xa3\x1e\xd7\x21\x35\xd1\x21\x35\xb0\x63\xd3\x21\x3a\xd6\x15\x40\x98\x41\xba\x61\x92\x61\xd0\x15\x40\x88\x0a\xd0\x15\x40\xdc\x20\x27\xa8\x04\xa3\x0d\xd7\x20\x33\xd1\x20\x33\xb0\x43\xd3\x20\x38\xd6\x14\x3e\x98\x31\xba\x41\x92\x51\xd0\x14\x3e\x88\x09\xd0\x14\x3e\xe4\x0c\x0f\x94\x0c\x98\x6a\xa8\x29\xd0\x1d\x34\xd3\x10\x35\xd3\x0c\x36\x88\x01\xe0\x14\x1a\x90\x38\x9c\x73\xa0\x3a\x9b\x7f\xa8\x71\xd1\x1f\x30\xd1\x13\x31\xb0\x49\xb8\x61\xb8\x62\xb0\x4d\xd1\x13\x41\x88\x08\xd9\x0f\x17\xd8\x13\x19\x88\x4d\xdc\x0f\x13\x90\x58\x88\x7f\xd0\x08\x1e\xf9\xf2\x11\x00\x16\x41\x01\xf9\xda\x14\x3e\xf8\xf4\x10\x00\x0d\x16\x94\x7e\xa4\x7c\xd4\x35\x47\xd0\x0b\x48\xf2\x00\x02\x05\x0e\xdc\x08\x13\xd7\x08\x24\xd1\x08\x24\xa0\x59\xb0\x04\xb0\x65\xd4\x08\x3c\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[20]; + char ob_sval[61]; } -posixpath_toplevel_consts_34_exceptiontable = { +posixpath_toplevel_consts_35_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 19, + .ob_size = 60, }, .ob_shash = -1, - .ob_sval = "\xc1\x22\x42\x1a\x44\x06\x00\xc3\x3d\x08\x44\x06\x00\xc4\x06\x35\x44\x3b\x03", + .ob_sval = "\xc1\x1b\x1c\x43\x33\x00\xc1\x37\x07\x43\x29\x04\xc1\x3f\x04\x43\x29\x04\xc2\x03\x1e\x43\x33\x00\xc2\x21\x07\x43\x2e\x04\xc2\x29\x04\x43\x2e\x04\xc2\x2d\x33\x43\x33\x00\xc3\x21\x07\x43\x33\x00\xc3\x29\x0a\x43\x33\x00\xc3\x33\x32\x44\x25\x03", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[9]; + PyObject *ob_item[10]; }_object; } -posixpath_toplevel_consts_34_localsplusnames = { +posixpath_toplevel_consts_35_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 9, + .ob_size = 10, }, .ob_item = { &_Py_ID(path), - & const_str_start._ascii.ob_base, + &_Py_ID(start), & const_str_curdir._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_pardir._ascii.ob_base, + &_Py_ID(x), & const_str_start_list._ascii.ob_base, & const_str_path_list._ascii.ob_base, - & const_str_i._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], & const_str_rel_list._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(636) -posixpath_toplevel_consts_34 = { + struct _PyCode_DEF(592) +posixpath_toplevel_consts_35 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 318, + .ob_size = 296, }, - .co_consts = & posixpath_toplevel_consts_34_consts._object.ob_base.ob_base, - .co_names = & posixpath_toplevel_consts_34_names._object.ob_base.ob_base, - .co_exceptiontable = & posixpath_toplevel_consts_34_exceptiontable.ob_base.ob_base, + .co_consts = & posixpath_toplevel_consts_35_consts._object.ob_base.ob_base, + .co_names = & posixpath_toplevel_consts_35_names._object.ob_base.ob_base, + .co_exceptiontable = & posixpath_toplevel_consts_35_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 16 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 486, - .co_nlocalsplus = 9, - .co_nlocals = 9, - .co_nplaincellvars = 0, + .co_firstlineno = 505, + .co_nlocalsplus = 10, + .co_nlocals = 10, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & posixpath_toplevel_consts_34_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_57_localspluskinds.ob_base.ob_base, + .co_version = 597, + .co_localsplusnames = & posixpath_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_relpath._ascii.ob_base, .co_qualname = & const_str_relpath._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_34_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x73\x0f\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x07\x64\x02\x7d\x02\x64\x03\x7d\x03\x64\x04\x7d\x04\x6e\x06\x64\x05\x7d\x02\x64\x06\x7d\x03\x64\x07\x7d\x04\x7c\x01\x80\x03\x7c\x02\x7d\x01\x6e\x14\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x64\x09\x84\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x0a\x84\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x06\x67\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x04\x67\x01\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x7a\x0a\x00\x00\x7a\x05\x00\x00\x7c\x06\x7c\x07\x64\x08\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7d\x08\x7c\x08\x73\x02\x7c\x02\x53\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\x8e\x00\x53\x00\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x04\x24\x00\x72\x18\x01\x00\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\x7c\x00\x7c\x01\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_linetable = & posixpath_toplevel_consts_35_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x73\x0b\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x07\x64\x02\x7d\x02\x64\x03\x7d\x03\x64\x04\x7d\x04\x6e\x06\x64\x05\x7d\x02\x64\x06\x7d\x03\x64\x07\x7d\x04\x7c\x01\x80\x03\x7c\x02\x7d\x01\x6e\x15\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x8f\x05\x63\x02\x67\x00\x63\x02\x5d\x07\x00\x00\x7d\x05\x7c\x05\x73\x01\x8c\x06\x7c\x05\x91\x02\x8c\x09\x04\x00\x7d\x06\x7d\x05\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x8f\x05\x63\x02\x67\x00\x63\x02\x5d\x07\x00\x00\x7d\x05\x7c\x05\x73\x01\x8c\x06\x7c\x05\x91\x02\x8c\x09\x04\x00\x7d\x07\x7d\x05\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7c\x07\x67\x02\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x04\x67\x01\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x08\x7a\x0a\x00\x00\x7a\x05\x00\x00\x7c\x07\x7c\x08\x64\x08\x1a\x00\x7a\x00\x00\x00\x7d\x09\x7c\x09\x73\x02\x7c\x02\x53\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x8e\x00\x53\x00\x63\x02\x01\x00\x63\x02\x7d\x05\x77\x00\x63\x02\x01\x00\x63\x02\x7d\x05\x77\x00\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x74\x18\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x66\x04\x24\x00\x72\x19\x01\x00\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\x7c\x00\x7c\x01\xab\x03\x00\x00\x00\x00\x00\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[36]; - } -posixpath_toplevel_consts_35_consts_7_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 35, - }, - .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd0\x16\x39\xd0\x16\x39\xd0\x16\x39\xa8\x34\x90\x74\x97\x7a\x92\x7a\xa0\x23\x91\x7f\x94\x7f\xd0\x16\x39\xd0\x16\x39\xd0\x16\x39", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[3]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[30]; } -posixpath_toplevel_consts_35_consts_7_localsplusnames = { - ._object = { +posixpath_toplevel_consts_36_consts_7_qualname = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 3, - }, - .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - &_Py_ID(path), - & const_str_sep._ascii.ob_base, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - }, -}; -static - struct _PyCode_DEF(58) -posixpath_toplevel_consts_35_consts_7 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .length = 29, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 29, }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = & ntpath_toplevel_consts_21_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 542, - .co_nlocalsplus = 3, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & posixpath_toplevel_consts_35_consts_7_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, - .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_45_consts_9_qualname._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_35_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x67\x00\x7c\x00\x5d\x17\x7d\x01\x7c\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x18\x53\x00", - ._co_firsttraceable = 1, + ._data = "commonpath..", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[48]; + char ob_sval[28]; } -posixpath_toplevel_consts_35_consts_8_linetable = { +posixpath_toplevel_consts_36_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 47, + .ob_size = 27, }, .ob_shash = -1, - .ob_sval = "\xf8\xe8\x00\xe8\x00\x80\x00\xd0\x18\x35\xd0\x18\x35\xa8\x21\x98\x11\x98\x32\x98\x41\x98\x32\x9c\x15\xa0\x23\x9a\x1c\xd0\x18\x35\xd0\x18\x35\xd0\x18\x35\xd0\x18\x35\xd0\x18\x35\xd0\x18\x35", + .ob_sval = "\xf8\xe8\x00\xf8\x80\x00\xd2\x18\x35\xa8\x21\x98\x11\x98\x32\x98\x41\x98\x15\xa0\x23\x9d\x1c\xd1\x18\x35\xf9", }; static struct { @@ -110424,185 +107859,85 @@ static PyObject *ob_item[3]; }_object; } -posixpath_toplevel_consts_35_consts_8_localsplusnames = { +posixpath_toplevel_consts_36_consts_7_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_p._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(p), + &_Py_ID(sep), }, }, }; static - struct _PyCode_DEF(52) -posixpath_toplevel_consts_35_consts_8 = { + struct _PyCode_DEF(46) +posixpath_toplevel_consts_36_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 23, }, .co_consts = & zipimport_toplevel_consts_25_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_exceptiontable = & importlib__bootstrap_external_toplevel_consts_64_consts_7_consts_2_exceptiontable.ob_base.ob_base, .co_flags = 51, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 545, + .co_firstlineno = 564, .co_nlocalsplus = 3, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & posixpath_toplevel_consts_35_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, + .co_version = 598, + .co_localsplusnames = & posixpath_toplevel_consts_36_consts_7_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = &_Py_STR(anon_genexpr), - .co_qualname = & ntpath_toplevel_consts_45_consts_11_qualname._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_35_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x12\x7d\x01\x7c\x01\x64\x00\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x02\x6b\x02\x00\x00\x00\x00\x56\x00\x97\x01\x01\x00\x8c\x13\x64\x00\x53\x00", + .co_qualname = & posixpath_toplevel_consts_36_consts_7_qualname._ascii.ob_base, + .co_linetable = & posixpath_toplevel_consts_36_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x0c\x00\x00\x7d\x01\x7c\x01\x64\x00\x64\x01\x1a\x00\x89\x02\x6b\x28\x00\x00\x96\x01\x97\x01\x01\x00\x8c\x0e\x04\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 3, }; -static - struct _PyCode_DEF(36) -posixpath_toplevel_consts_35_consts_11_consts_0 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 18, - }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 549, - .co_nlocalsplus = 3, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & ntpath_toplevel_consts_45_consts_17_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, - .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_45_consts_18_consts_0_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_45_consts_18_consts_0_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x67\x00\x7c\x00\x5d\x0c\x7d\x01\x7c\x01\xaf\x04\x7c\x01\x89\x02\x6b\x03\x00\x00\x00\x00\xaf\x0a\x7c\x01\x91\x02\x8c\x0d\x53\x00", - ._co_firsttraceable = 1, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[1]; - }_object; - } -posixpath_toplevel_consts_35_consts_11_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 1, - }, - .ob_item = { - & posixpath_toplevel_consts_35_consts_11_consts_0.ob_base.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(44) -posixpath_toplevel_consts_35_consts_11 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 22, - }, - .co_consts = & posixpath_toplevel_consts_35_consts_11_consts._object.ob_base.ob_base, - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 549, - .co_nlocalsplus = 3, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & ntpath_toplevel_consts_45_consts_18_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_consts_1_localspluskinds.ob_base.ob_base, - .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & ntpath_toplevel_consts_45_consts_9_qualname._ascii.ob_base, - .co_linetable = & ntpath_toplevel_consts_45_consts_18_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x67\x00\x7c\x00\x5d\x10\x7d\x01\x88\x02\x66\x01\x64\x00\x84\x08\x7c\x01\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x11\x53\x00", - ._co_firsttraceable = 1, -}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[13]; + PyObject *ob_item[11]; }_object; } -posixpath_toplevel_consts_35_consts = { +posixpath_toplevel_consts_36_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 13, + .ob_size = 11, }, .ob_item = { - & ntpath_toplevel_consts_45_consts_0._ascii.ob_base, - & ntpath_toplevel_consts_45_consts_1._ascii.ob_base, + & ntpath_toplevel_consts_46_consts_0._ascii.ob_base, + & ntpath_toplevel_consts_46_consts_1._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], (PyObject *)&_Py_SINGLETON(bytes_characters[47]), (PyObject *)&_Py_SINGLETON(bytes_characters[46]), - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], &_Py_STR(dot), - & posixpath_toplevel_consts_35_consts_7.ob_base.ob_base, - & posixpath_toplevel_consts_35_consts_8.ob_base.ob_base, - & ntpath_toplevel_consts_45_consts_12._ascii.ob_base, + & posixpath_toplevel_consts_36_consts_7.ob_base.ob_base, + & ntpath_toplevel_consts_46_consts_10._ascii.ob_base, Py_None, - & posixpath_toplevel_consts_35_consts_11.ob_base.ob_base, & const_str_commonpath._ascii.ob_base, }, }, @@ -110612,17 +107947,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[16]; + PyObject *ob_item[17]; }_object; } -posixpath_toplevel_consts_35_names = { +posixpath_toplevel_consts_36_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 16, + .ob_size = 17, }, .ob_item = { & const_str_ValueError._ascii.ob_base, @@ -110631,7 +107966,8 @@ posixpath_toplevel_consts_35_names = { & const_str_os._ascii.ob_base, & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), + & const_str_split._ascii.ob_base, & const_str_set._ascii.ob_base, & const_str_min._ascii.ob_base, & const_str_max._ascii.ob_base, @@ -110648,65 +107984,67 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[449]; + char ob_sval[373]; } -posixpath_toplevel_consts_35_linetable = { +posixpath_toplevel_consts_36_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 448, + .ob_size = 372, }, .ob_shash = -1, - .ob_sval = "\xf8\xf8\x80\x00\xf0\x06\x00\x0c\x11\xf0\x00\x01\x05\x42\x01\xdd\x0e\x18\xd0\x19\x40\xd1\x0e\x41\xd4\x0e\x41\xd0\x08\x41\xe5\x0c\x11\x95\x23\x95\x62\x94\x69\xa0\x15\xd1\x12\x27\xd4\x12\x27\xd1\x0c\x28\xd4\x0c\x28\x80\x45\xdd\x07\x11\x90\x25\x98\x01\x94\x28\x9d\x45\xd1\x07\x22\xd4\x07\x22\xf0\x00\x05\x05\x15\xd8\x0e\x12\x88\x03\xd8\x11\x15\x88\x06\x88\x06\xe0\x0e\x11\x88\x03\xd8\x11\x14\x88\x06\xf0\x04\x15\x05\x0e\xd8\x16\x39\xd0\x16\x39\xd0\x16\x39\xd0\x16\x39\xb0\x35\xd0\x16\x39\xd1\x16\x39\xd4\x16\x39\x88\x0b\xf0\x04\x03\x09\x50\x01\xdd\x15\x18\xd0\x18\x35\xd0\x18\x35\xd0\x18\x35\xd0\x18\x35\xa8\x75\xd0\x18\x35\xd1\x18\x35\xd4\x18\x35\xd1\x15\x35\xd4\x15\x35\x89\x46\x88\x45\x88\x45\xf8\xdd\x0f\x19\xf0\x00\x01\x09\x50\x01\xf0\x00\x01\x09\x50\x01\xf0\x00\x01\x09\x50\x01\xdd\x12\x1c\xd0\x1d\x44\xd1\x12\x45\xd4\x12\x45\xc8\x34\xd0\x0c\x4f\xf0\x03\x01\x09\x50\x01\xf8\xf8\xf8\xf0\x06\x00\x17\x51\x01\xd0\x16\x50\xd0\x16\x50\xd0\x16\x50\xc0\x4b\xd0\x16\x50\xd1\x16\x50\xd4\x16\x50\x88\x0b\xdd\x0d\x10\x90\x1b\xd1\x0d\x1d\xd4\x0d\x1d\x88\x02\xdd\x0d\x10\x90\x1b\xd1\x0d\x1d\xd4\x0d\x1d\x88\x02\xd8\x11\x13\x88\x06\xdd\x14\x1d\x98\x62\x91\x4d\x94\x4d\xf0\x00\x03\x09\x16\xf0\x00\x03\x09\x16\x89\x44\x88\x41\x88\x71\xd8\x0f\x10\x90\x42\x90\x71\x94\x45\x8a\x7a\x88\x7a\xd8\x19\x1b\x98\x42\x98\x51\x98\x42\x9c\x16\x90\x06\xd8\x10\x15\x90\x05\xf0\x05\x00\x10\x1a\xf0\x08\x00\x19\x1e\xd0\x11\x2a\x90\x13\x90\x13\xa0\x33\xa0\x72\xa8\x01\xa0\x72\xa4\x37\x88\x06\xd8\x0f\x15\x98\x03\x9f\x08\x9a\x08\xa0\x16\xd1\x18\x28\xd4\x18\x28\xd1\x0f\x28\xd0\x08\x28\xf8\xdd\x0c\x15\x95\x7e\xd0\x0b\x26\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xf0\x00\x02\x05\x0e\xdd\x08\x13\xd4\x08\x24\xa0\x5c\xd0\x08\x3a\xb0\x45\xd0\x08\x3a\xd0\x08\x3a\xd0\x08\x3a\xd0\x08\x3a\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xf8\xf8\xf8", + .ob_sval = "\xf8\x80\x00\xf1\x06\x00\x0c\x11\xdc\x0e\x18\xd0\x19\x40\xd3\x0e\x41\xd0\x08\x41\xe4\x0c\x11\x94\x23\x94\x62\x97\x69\x91\x69\xa0\x15\xd3\x12\x27\xd3\x0c\x28\x80\x45\xdc\x07\x11\x90\x25\x98\x01\x91\x28\x9c\x45\xd4\x07\x22\xd8\x0e\x12\x88\x03\xd8\x11\x15\x89\x06\xe0\x0e\x11\x88\x03\xd8\x11\x14\x88\x06\xf0\x04\x15\x05\x0e\xd8\x33\x38\xd6\x16\x39\xa8\x34\x90\x74\x97\x7a\x91\x7a\xa0\x23\x95\x7f\xd0\x16\x39\x88\x0b\xd0\x16\x39\xf0\x04\x03\x09\x50\x01\xdc\x15\x18\xd3\x18\x35\xa8\x75\xd4\x18\x35\xd3\x15\x35\x89\x46\x88\x45\xf0\x08\x00\x45\x01\x50\x01\xd7\x16\x50\xb8\x71\xa0\x31\xd6\x17\x3a\x98\x61\xaa\x01\xa8\x61\xb0\x36\xab\x6b\x9a\x01\xd4\x17\x3a\xd0\x16\x50\x88\x0b\xd1\x16\x50\xdc\x0d\x10\x90\x1b\xd3\x0d\x1d\x88\x02\xdc\x0d\x10\x90\x1b\xd3\x0d\x1d\x88\x02\xd8\x11\x13\x88\x06\xdc\x14\x1d\x98\x62\x93\x4d\xf2\x00\x03\x09\x16\x89\x44\x88\x41\x88\x71\xd8\x0f\x10\x90\x42\x90\x71\x91\x45\x8b\x7a\xd8\x19\x1b\x98\x42\x98\x51\x98\x16\x90\x06\xd9\x10\x15\xf0\x07\x03\x09\x16\xf1\x0a\x00\x19\x1e\x91\x13\xa0\x33\xa0\x72\xa8\x01\xa0\x37\x88\x06\xd8\x0f\x15\x98\x03\x9f\x08\x99\x08\xa0\x16\xd3\x18\x28\xd1\x0f\x28\xd0\x08\x28\xf9\xf2\x23\x00\x17\x3a\xf8\xf4\x08\x00\x10\x1a\xf2\x00\x01\x09\x50\x01\xdc\x12\x1c\xd0\x1d\x44\xd3\x12\x45\xc8\x34\xd0\x0c\x4f\xf0\x03\x01\x09\x50\x01\xfc\xf2\x06\x00\x18\x3b\xf9\xd3\x16\x50\xf8\xf4\x16\x00\x0d\x16\x94\x7e\xd0\x0b\x26\xf2\x00\x02\x05\x0e\xdc\x08\x13\xd7\x08\x24\xd1\x08\x24\xa0\x5c\xd0\x08\x3a\xb0\x45\xd3\x08\x3a\xd8\x08\x0d\xf0\x05\x02\x05\x0e\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[38]; + char ob_sval[109]; } -posixpath_toplevel_consts_35_exceptiontable = { +posixpath_toplevel_consts_36_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 37, + .ob_size = 108, }, .ob_shash = -1, - .ob_sval = "\xc1\x20\x0e\x44\x2c\x00\xc1\x2f\x1d\x42\x0d\x00\xc2\x0c\x01\x44\x2c\x00\xc2\x0d\x1b\x42\x28\x03\xc2\x28\x42\x03\x44\x2c\x00\xc4\x2c\x25\x45\x11\x03", + .ob_sval = "\xc1\x0f\x04\x44\x2c\x00\xc1\x13\x18\x44\x03\x04\xc1\x2b\x02\x44\x2c\x00\xc1\x2e\x16\x44\x08\x00\xc2\x04\x05\x44\x2c\x00\xc2\x09\x09\x44\x26\x06\xc2\x12\x07\x44\x21\x0c\xc2\x1a\x05\x44\x21\x0c\xc2\x20\x04\x44\x21\x0c\xc2\x24\x05\x44\x26\x06\xc2\x29\x34\x44\x2c\x00\xc3\x1e\x24\x44\x2c\x00\xc4\x03\x05\x44\x2c\x00\xc4\x08\x16\x44\x1e\x03\xc4\x1e\x03\x44\x2c\x00\xc4\x21\x05\x44\x26\x06\xc4\x26\x06\x44\x2c\x00\xc4\x2c\x27\x45\x13\x03", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[11]; + PyObject *ob_item[13]; }_object; } -posixpath_toplevel_consts_35_localsplusnames = { +posixpath_toplevel_consts_36_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 11, + .ob_size = 13, }, .ob_item = { & const_str_paths._ascii.ob_base, + & const_str_curdir._ascii.ob_base, + &_Py_ID(path), & const_str_split_paths._ascii.ob_base, & const_str_isabs._ascii.ob_base, + &_Py_ID(s), + &_Py_ID(c), & const_str_s1._ascii.ob_base, & const_str_s2._ascii.ob_base, & const_str_common._ascii.ob_base, - & const_str_i._ascii.ob_base, - & const_str_c._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[105], & const_str_prefix._ascii.ob_base, - & const_str_curdir._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), }, }, }; @@ -110714,79 +108052,77 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[12]; + char ob_sval[14]; } -posixpath_toplevel_consts_35_localspluskinds = { +posixpath_toplevel_consts_36_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 11, + .ob_size = 13, }, .ob_shash = -1, - .ob_sval = " @@", + .ob_sval = " @", }; static - struct _PyCode_DEF(680) -posixpath_toplevel_consts_35 = { + struct _PyCode_DEF(684) +posixpath_toplevel_consts_36 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 340, + .ob_size = 342, }, - .co_consts = & posixpath_toplevel_consts_35_consts._object.ob_base.ob_base, - .co_names = & posixpath_toplevel_consts_35_names._object.ob_base.ob_base, - .co_exceptiontable = & posixpath_toplevel_consts_35_exceptiontable.ob_base.ob_base, + .co_consts = & posixpath_toplevel_consts_36_consts._object.ob_base.ob_base, + .co_names = & posixpath_toplevel_consts_36_names._object.ob_base.ob_base, + .co_exceptiontable = & posixpath_toplevel_consts_36_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 527, - .co_nlocalsplus = 11, - .co_nlocals = 9, - .co_nplaincellvars = 2, - .co_ncellvars = 2, + .co_framesize = 22 + FRAME_SPECIALS_SIZE, + .co_stacksize = 9, + .co_firstlineno = 546, + .co_nlocalsplus = 13, + .co_nlocals = 12, + .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & posixpath_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & posixpath_toplevel_consts_35_localspluskinds.ob_base.ob_base, + .co_version = 599, + .co_localsplusnames = & posixpath_toplevel_consts_36_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & posixpath_toplevel_consts_36_localspluskinds.ob_base.ob_base, .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_commonpath._ascii.ob_base, .co_qualname = & const_str_commonpath._ascii.ob_base, - .co_linetable = & posixpath_toplevel_consts_35_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x09\x87\x0a\x97\x00\x7c\x00\x73\x0f\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x05\x64\x03\x8a\x0a\x64\x04\x8a\x09\x6e\x04\x64\x05\x8a\x0a\x64\x06\x8a\x09\x09\x00\x88\x0a\x66\x01\x64\x07\x84\x08\x7c\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x0a\x66\x01\x64\x08\x84\x08\x7c\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x01\x00\x00\x7d\x02\x6e\x1e\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01\x88\x09\x66\x01\x64\x0b\x84\x08\x7c\x01\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x03\x7d\x05\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x1d\x5c\x02\x00\x00\x7d\x06\x7d\x07\x7c\x07\x7c\x04\x7c\x06\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x0c\x7c\x03\x64\x0a\x7c\x06\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x01\x00\x6e\x01\x8c\x1e\x7c\x02\x72\x02\x89\x0a\x6e\x09\x89\x0a\x64\x0a\x64\x02\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x08\x89\x0a\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x53\x00\x23\x00\x74\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x14\x01\x00\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\x67\x01\x7c\x00\xa2\x01\x52\x00\x8e\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", - ._co_firsttraceable = 2, + .co_linetable = & posixpath_toplevel_consts_36_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x0c\x97\x00\x7c\x00\x73\x0b\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\x19\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x05\x64\x03\x8a\x0c\x64\x04\x7d\x01\x6e\x04\x64\x05\x8a\x0c\x64\x06\x7d\x01\x09\x00\x7c\x00\x44\x00\x8f\x02\x63\x02\x67\x00\x63\x02\x5d\x13\x00\x00\x7d\x02\x7c\x02\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x0c\xab\x01\x00\x00\x00\x00\x00\x00\x91\x02\x8c\x15\x04\x00\x7d\x03\x7d\x02\x09\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x88\x0c\x66\x01\x64\x07\x84\x08\x7c\x00\x44\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x01\x00\x00\x7d\x04\x7c\x03\x44\x00\x8f\x05\x8f\x06\x63\x03\x67\x00\x63\x02\x5d\x1b\x00\x00\x7d\x05\x7c\x05\x44\x00\x8f\x06\x63\x02\x67\x00\x63\x02\x5d\x0d\x00\x00\x7d\x06\x7c\x06\x73\x01\x8c\x06\x7c\x06\x7c\x01\x6b\x37\x00\x00\x73\x01\x8c\x0c\x7c\x06\x91\x02\x8c\x0f\x04\x00\x63\x02\x7d\x06\x91\x02\x8c\x1d\x04\x00\x7d\x03\x7d\x05\x7d\x06\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x07\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x07\x7d\x09\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x14\x00\x00\x5c\x02\x00\x00\x7d\x0a\x7d\x06\x7c\x06\x7c\x08\x7c\x0a\x19\x00\x00\x00\x6b\x37\x00\x00\x73\x01\x8c\x0f\x7c\x07\x64\x09\x7c\x0a\x1a\x00\x7d\x09\x01\x00\x6e\x01\x04\x00\x7c\x04\x72\x02\x89\x0c\x6e\x04\x89\x0c\x64\x09\x64\x02\x1a\x00\x7d\x0b\x7c\x0b\x89\x0c\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x53\x00\x63\x02\x01\x00\x63\x02\x7d\x02\x77\x00\x23\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0d\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\xab\x01\x00\x00\x00\x00\x00\x00\x64\x09\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01\x63\x02\x01\x00\x63\x02\x7d\x06\x77\x00\x63\x02\x01\x00\x63\x03\x7d\x06\x7d\x05\x77\x00\x23\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x18\x01\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\x67\x01\x7c\x00\xa2\x01\xad\x06\x8e\x00\x01\x00\x82\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 1, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[37]; + PyObject *ob_item[38]; }_object; } posixpath_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 37, + .ob_size = 38, }, .ob_item = { & posixpath_toplevel_consts_0._ascii.ob_base, &_Py_STR(dot), & ntpath_toplevel_consts_2._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, - & importlib__bootstrap_external_toplevel_consts_8_consts_0._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], + (PyObject *)&_Py_SINGLETON(strings).ascii[58], & posixpath_toplevel_consts_5._ascii.ob_base, Py_None, & posixpath_toplevel_consts_7._ascii.ob_base, @@ -110807,17 +108143,18 @@ posixpath_toplevel_consts = { & posixpath_toplevel_consts_22.ob_base.ob_base, & posixpath_toplevel_consts_23.ob_base.ob_base, & posixpath_toplevel_consts_24.ob_base.ob_base, - & ntpath_toplevel_consts_29._object.ob_base.ob_base, - & posixpath_toplevel_consts_26.ob_base.ob_base, + & posixpath_toplevel_consts_25.ob_base.ob_base, + & ntpath_toplevel_consts_32._object.ob_base.ob_base, & posixpath_toplevel_consts_27.ob_base.ob_base, & posixpath_toplevel_consts_28.ob_base.ob_base, + & posixpath_toplevel_consts_29.ob_base.ob_base, Py_False, - & codecs_toplevel_consts_14_consts_6._object.ob_base.ob_base, - & posixpath_toplevel_consts_31.ob_base.ob_base, + & codecs_toplevel_consts_14_consts_5._object.ob_base.ob_base, & posixpath_toplevel_consts_32.ob_base.ob_base, + & posixpath_toplevel_consts_33.ob_base.ob_base, & const_str_darwin._ascii.ob_base, - & posixpath_toplevel_consts_34.ob_base.ob_base, & posixpath_toplevel_consts_35.ob_base.ob_base, + & posixpath_toplevel_consts_36.ob_base.ob_base, & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, }, }, @@ -110827,24 +108164,24 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[42]; + PyObject *ob_item[43]; }_object; } posixpath_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 42, + .ob_size = 43, }, .ob_item = { &_Py_ID(__doc__), & const_str_curdir._ascii.ob_base, & const_str_pardir._ascii.ob_base, & const_str_extsep._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_pathsep._ascii.ob_base, & const_str_defpath._ascii.ob_base, & const_str_altsep._ascii.ob_base, @@ -110862,16 +108199,17 @@ posixpath_toplevel_names = { & const_str_splitext._ascii.ob_base, & const_str__splitext._ascii.ob_base, & const_str_splitdrive._ascii.ob_base, + & const_str_splitroot._ascii.ob_base, & const_str_basename._ascii.ob_base, & const_str_dirname._ascii.ob_base, - & const_str_islink._ascii.ob_base, + & const_str_isjunction._ascii.ob_base, & const_str_lexists._ascii.ob_base, & const_str_ismount._ascii.ob_base, & const_str_expanduser._ascii.ob_base, & const_str__varprog._ascii.ob_base, & const_str__varprogb._ascii.ob_base, & const_str_expandvars._ascii.ob_base, - & const_str_posix._ascii.ob_base, + &_Py_ID(posix), & const_str__path_normpath._ascii.ob_base, & const_str_normpath._ascii.ob_base, & const_str_ImportError._ascii.ob_base, @@ -110889,18 +108227,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[589]; + char ob_sval[273]; } posixpath_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 588, + .ob_size = 272, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x02\x0a\x01\x04\xf0\x00\x0a\x01\x04\xf0\x1e\x00\x0a\x0d\x80\x06\xd8\x09\x0d\x80\x06\xd8\x09\x0c\x80\x06\xd8\x06\x09\x80\x03\xd8\x0a\x0d\x80\x07\xd8\x0a\x19\x80\x07\xd8\x09\x0d\x80\x06\xd8\x0a\x15\x80\x07\xe0\x00\x09\x80\x09\x80\x09\x80\x09\xd8\x00\x0a\x80\x0a\x80\x0a\x80\x0a\xd8\x00\x0b\x80\x0b\x80\x0b\x80\x0b\xd8\x00\x12\xd0\x00\x12\xd0\x00\x12\xd0\x00\x12\xd8\x00\x19\xd0\x00\x19\xd0\x00\x19\xd0\x00\x19\xf0\x04\x07\x0b\x19\xf0\x00\x07\x0b\x19\xf0\x00\x07\x0b\x19\x80\x07\xf0\x14\x04\x01\x13\xf0\x00\x04\x01\x13\xf0\x00\x04\x01\x13\xf0\x16\x02\x01\x18\xf0\x00\x02\x01\x18\xf0\x00\x02\x01\x18\xf0\x10\x04\x01\x1d\xf0\x00\x04\x01\x1d\xf0\x00\x04\x01\x1d\xf0\x16\x15\x01\x10\xf0\x00\x15\x01\x10\xf0\x00\x15\x01\x10\xf0\x3a\x09\x01\x16\xf0\x00\x09\x01\x16\xf0\x00\x09\x01\x16\xf0\x22\x08\x01\x37\xf0\x00\x08\x01\x37\xf0\x00\x08\x01\x37\xf0\x12\x00\x14\x1f\xd4\x13\x28\xd4\x13\x30\x80\x08\xd4\x00\x10\xf0\x0a\x04\x01\x14\xf0\x00\x04\x01\x14\xf0\x00\x04\x01\x14\xf0\x12\x05\x01\x11\xf0\x00\x05\x01\x11\xf0\x00\x05\x01\x11\xf0\x14\x08\x01\x10\xf0\x00\x08\x01\x10\xf0\x00\x08\x01\x10\xf0\x1c\x06\x01\x24\xf0\x00\x06\x01\x24\xf0\x00\x06\x01\x24\xf0\x14\x06\x01\x10\xf0\x00\x06\x01\x10\xf0\x00\x06\x01\x10\xf0\x18\x1f\x01\x11\xf0\x00\x1f\x01\x11\xf0\x00\x1f\x01\x11\xf0\x56\x01\x36\x01\x29\xf0\x00\x36\x01\x29\xf0\x00\x36\x01\x29\xf0\x7a\x01\x00\x0c\x10\x80\x08\xd8\x0c\x10\x80\x09\xf0\x04\x2e\x01\x10\xf0\x00\x2e\x01\x10\xf0\x00\x2e\x01\x10\xf0\x6a\x01\x30\x01\x2b\xd8\x04\x24\xd0\x04\x24\xd0\x04\x24\xd0\x04\x24\xd0\x04\x24\xd0\x04\x24\xf0\x54\x01\x05\x05\x2b\xf0\x00\x05\x05\x2b\xf0\x00\x05\x05\x2b\xf0\x00\x05\x05\x2b\xf8\xf0\x51\x01\x00\x08\x13\xf0\x00\x25\x01\x1b\xf0\x00\x25\x01\x1b\xf0\x00\x25\x01\x1b\xf0\x02\x24\x05\x1b\xf0\x00\x24\x05\x1b\xf0\x00\x24\x05\x1b\xf0\x00\x24\x05\x1b\xf0\x00\x24\x05\x1b\xf0\x03\x25\x01\x1b\xf8\xf8\xf8\xf0\x60\x01\x09\x01\x1a\xf0\x00\x09\x01\x1a\xf0\x00\x09\x01\x1a\xf0\x1e\x00\x22\x27\xf0\x00\x05\x01\x19\xf0\x00\x05\x01\x19\xf0\x00\x05\x01\x19\xf0\x00\x05\x01\x19\xf0\x00\x05\x01\x19\xf0\x12\x3c\x01\x16\xf0\x00\x3c\x01\x16\xf0\x00\x3c\x01\x16\xf0\x7e\x01\x00\x1f\x22\x9c\x6c\xa8\x68\xd2\x1e\x36\xd0\x00\x1a\xf0\x04\x21\x01\x0e\xf0\x00\x21\x01\x0e\xf0\x00\x21\x01\x0e\xf0\x00\x21\x01\x0e\xf0\x52\x01\x23\x01\x0e\xf0\x00\x23\x01\x0e\xf0\x00\x23\x01\x0e\xf0\x00\x23\x01\x0e\xf0\x00\x23\x01\x0e", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x02\x0a\x01\x04\xf0\x1e\x00\x0a\x0d\x80\x06\xd8\x09\x0d\x80\x06\xd8\x09\x0c\x80\x06\xd8\x06\x09\x80\x03\xd8\x0a\x0d\x80\x07\xd8\x0a\x19\x80\x07\xd8\x09\x0d\x80\x06\xd8\x0a\x15\x80\x07\xe3\x00\x09\xdb\x00\x0a\xdb\x00\x0b\xdb\x00\x12\xdc\x00\x19\xf2\x04\x07\x0b\x27\x80\x07\xf2\x14\x04\x01\x13\xf2\x16\x02\x01\x18\xf2\x10\x04\x01\x1d\xf2\x16\x15\x01\x10\xf2\x3a\x09\x01\x16\xf2\x22\x08\x01\x37\xf0\x12\x00\x14\x1f\xd7\x13\x28\xd1\x13\x28\xd7\x13\x30\xd1\x13\x30\x80\x08\xd4\x00\x10\xf2\x0a\x04\x01\x14\xf2\x0e\x1a\x01\x23\xf2\x3e\x05\x01\x11\xf2\x14\x08\x01\x10\xf2\x1a\x04\x01\x11\xf2\x12\x06\x01\x10\xf2\x18\x1f\x01\x11\xf2\x56\x01\x36\x01\x29\xf0\x7a\x01\x00\x0c\x10\x80\x08\xd8\x0c\x10\x80\x09\xf2\x04\x2e\x01\x10\xf0\x6a\x01\x28\x01\x2b\xdd\x04\x24\xf2\x44\x01\x05\x05\x2b\xf2\x10\x09\x01\x1a\xf0\x1e\x00\x22\x27\xf4\x00\x05\x01\x19\xf2\x12\x3c\x01\x16\xf0\x7e\x01\x00\x1f\x22\x9f\x6c\x99\x6c\xa8\x68\xd1\x1e\x36\xd0\x00\x1a\xf3\x04\x21\x01\x0e\xf3\x52\x01\x23\x01\x0e\xf8\xf0\x55\x05\x00\x08\x13\xf2\x00\x1d\x01\x1b\xf4\x02\x1c\x05\x1b\xf0\x03\x1d\x01\x1b\xfa", }; static struct { @@ -110911,58 +108249,53 @@ static posixpath_toplevel_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\xc1\x2b\x06\x41\x35\x00\xc1\x35\x08\x42\x00\x03\xc1\x3f\x01\x42\x00\x03", + .ob_sval = "\xc1\x39\x06\x42\x25\x00\xc2\x25\x08\x42\x30\x03\xc2\x2f\x01\x42\x30\x03", }; static - struct _PyCode_DEF(326) + struct _PyCode_DEF(358) posixpath_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 163, + .ob_size = 179, }, .co_consts = & posixpath_toplevel_consts._object.ob_base.ob_base, .co_names = & posixpath_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = & posixpath_toplevel_exceptiontable.ob_base.ob_base, .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 600, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & posixpath_toplevel_consts_11_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & posixpath_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x5a\x01\x64\x02\x5a\x02\x64\x01\x5a\x03\x64\x03\x5a\x04\x64\x04\x5a\x05\x64\x05\x5a\x06\x64\x06\x5a\x07\x64\x07\x5a\x08\x64\x08\x64\x06\x6c\x09\x5a\x09\x64\x08\x64\x06\x6c\x0a\x5a\x0a\x64\x08\x64\x06\x6c\x0b\x5a\x0b\x64\x08\x64\x06\x6c\x0c\x5a\x0c\x64\x08\x64\x09\x6c\x0c\x54\x00\x67\x00\x64\x0a\xa2\x01\x5a\x0d\x64\x0b\x84\x00\x5a\x0e\x64\x0c\x84\x00\x5a\x0f\x64\x0d\x84\x00\x5a\x10\x64\x0e\x84\x00\x5a\x11\x64\x0f\x84\x00\x5a\x12\x64\x10\x84\x00\x5a\x13\x65\x0c\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x13\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x11\x84\x00\x5a\x15\x64\x12\x84\x00\x5a\x16\x64\x13\x84\x00\x5a\x17\x64\x14\x84\x00\x5a\x18\x64\x15\x84\x00\x5a\x19\x64\x16\x84\x00\x5a\x1a\x64\x17\x84\x00\x5a\x1b\x64\x06\x61\x1c\x64\x06\x61\x1d\x64\x18\x84\x00\x5a\x1e\x09\x00\x64\x08\x64\x19\x6c\x1f\x6d\x20\x5a\x20\x01\x00\x64\x1a\x84\x00\x5a\x21\x6e\x0e\x23\x00\x65\x22\x24\x00\x72\x06\x01\x00\x64\x1b\x84\x00\x5a\x21\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x1c\x84\x00\x5a\x23\x64\x1d\x64\x1e\x9c\x01\x64\x1f\x84\x02\x5a\x24\x64\x20\x84\x00\x5a\x25\x65\x0a\x6a\x26\x00\x00\x00\x00\x00\x00\x00\x00\x64\x21\x6b\x02\x00\x00\x00\x00\x5a\x27\x64\x24\x64\x22\x84\x01\x5a\x28\x64\x23\x84\x00\x5a\x29\x64\x06\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x5a\x01\x64\x02\x5a\x02\x64\x01\x5a\x03\x64\x03\x5a\x04\x64\x04\x5a\x05\x64\x05\x5a\x06\x64\x06\x5a\x07\x64\x07\x5a\x08\x64\x08\x64\x06\x6c\x09\x5a\x09\x64\x08\x64\x06\x6c\x0a\x5a\x0a\x64\x08\x64\x06\x6c\x0b\x5a\x0b\x64\x08\x64\x06\x6c\x0c\x5a\x0c\x64\x08\x64\x09\x6c\x0c\xad\x02\x01\x00\x67\x00\x64\x0a\xa2\x01\x5a\x0d\x64\x0b\x84\x00\x5a\x0e\x64\x0c\x84\x00\x5a\x0f\x64\x0d\x84\x00\x5a\x10\x64\x0e\x84\x00\x5a\x11\x64\x0f\x84\x00\x5a\x12\x64\x10\x84\x00\x5a\x13\x65\x0c\x6a\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x13\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x11\x84\x00\x5a\x15\x64\x12\x84\x00\x5a\x16\x64\x13\x84\x00\x5a\x17\x64\x14\x84\x00\x5a\x18\x64\x15\x84\x00\x5a\x19\x64\x16\x84\x00\x5a\x1a\x64\x17\x84\x00\x5a\x1b\x64\x18\x84\x00\x5a\x1c\x64\x06\x61\x1d\x64\x06\x61\x1e\x64\x19\x84\x00\x5a\x1f\x09\x00\x64\x08\x64\x1a\x6c\x20\x6d\x21\x5a\x21\x01\x00\x64\x1b\x84\x00\x5a\x22\x64\x1d\x84\x00\x5a\x24\x64\x1e\x64\x1f\x9c\x01\x64\x20\x84\x02\x5a\x25\x64\x21\x84\x00\x5a\x26\x65\x0a\x6a\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x22\x6b\x28\x00\x00\x5a\x28\x64\x25\x64\x23\x84\x01\x5a\x29\x64\x24\x84\x00\x5a\x2a\x79\x06\x23\x00\x65\x23\x24\x00\x72\x06\x01\x00\x64\x1c\x84\x00\x5a\x22\x59\x00\x8c\x2d\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; -static void posixpath_do_patchups(void) { -} PyObject * _Py_get_posixpath_toplevel(void) { - posixpath_do_patchups(); return Py_NewRef((PyObject *) &posixpath_toplevel); } @@ -110974,7 +108307,7 @@ static os_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 1102, @@ -110983,7 +108316,7 @@ os_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x4f\x53\x20\x72\x6f\x75\x74\x69\x6e\x65\x73\x20\x66\x6f\x72\x20\x4e\x54\x20\x6f\x72\x20\x50\x6f\x73\x69\x78\x20\x64\x65\x70\x65\x6e\x64\x69\x6e\x67\x20\x6f\x6e\x20\x77\x68\x61\x74\x20\x73\x79\x73\x74\x65\x6d\x20\x77\x65\x27\x72\x65\x20\x6f\x6e\x2e\x0a\x0a\x54\x68\x69\x73\x20\x65\x78\x70\x6f\x72\x74\x73\x3a\x0a\x20\x20\x2d\x20\x61\x6c\x6c\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x20\x66\x72\x6f\x6d\x20\x70\x6f\x73\x69\x78\x20\x6f\x72\x20\x6e\x74\x2c\x20\x65\x2e\x67\x2e\x20\x75\x6e\x6c\x69\x6e\x6b\x2c\x20\x73\x74\x61\x74\x2c\x20\x65\x74\x63\x2e\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x70\x61\x74\x68\x20\x69\x73\x20\x65\x69\x74\x68\x65\x72\x20\x70\x6f\x73\x69\x78\x70\x61\x74\x68\x20\x6f\x72\x20\x6e\x74\x70\x61\x74\x68\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x6e\x61\x6d\x65\x20\x69\x73\x20\x65\x69\x74\x68\x65\x72\x20\x27\x70\x6f\x73\x69\x78\x27\x20\x6f\x72\x20\x27\x6e\x74\x27\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x63\x75\x72\x64\x69\x72\x20\x69\x73\x20\x61\x20\x73\x74\x72\x69\x6e\x67\x20\x72\x65\x70\x72\x65\x73\x65\x6e\x74\x69\x6e\x67\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x28\x61\x6c\x77\x61\x79\x73\x20\x27\x2e\x27\x29\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x70\x61\x72\x64\x69\x72\x20\x69\x73\x20\x61\x20\x73\x74\x72\x69\x6e\x67\x20\x72\x65\x70\x72\x65\x73\x65\x6e\x74\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x72\x65\x6e\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x28\x61\x6c\x77\x61\x79\x73\x20\x27\x2e\x2e\x27\x29\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x73\x65\x70\x20\x69\x73\x20\x74\x68\x65\x20\x28\x6f\x72\x20\x61\x20\x6d\x6f\x73\x74\x20\x63\x6f\x6d\x6d\x6f\x6e\x29\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x73\x65\x70\x61\x72\x61\x74\x6f\x72\x20\x28\x27\x2f\x27\x20\x6f\x72\x20\x27\x5c\x5c\x27\x29\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x65\x78\x74\x73\x65\x70\x20\x69\x73\x20\x74\x68\x65\x20\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x20\x73\x65\x70\x61\x72\x61\x74\x6f\x72\x20\x28\x61\x6c\x77\x61\x79\x73\x20\x27\x2e\x27\x29\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x61\x6c\x74\x73\x65\x70\x20\x69\x73\x20\x74\x68\x65\x20\x61\x6c\x74\x65\x72\x6e\x61\x74\x65\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x73\x65\x70\x61\x72\x61\x74\x6f\x72\x20\x28\x4e\x6f\x6e\x65\x20\x6f\x72\x20\x27\x2f\x27\x29\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x70\x61\x74\x68\x73\x65\x70\x20\x69\x73\x20\x74\x68\x65\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x20\x73\x65\x70\x61\x72\x61\x74\x6f\x72\x20\x75\x73\x65\x64\x20\x69\x6e\x20\x24\x50\x41\x54\x48\x20\x65\x74\x63\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x6c\x69\x6e\x65\x73\x65\x70\x20\x69\x73\x20\x74\x68\x65\x20\x6c\x69\x6e\x65\x20\x73\x65\x70\x61\x72\x61\x74\x6f\x72\x20\x69\x6e\x20\x74\x65\x78\x74\x20\x66\x69\x6c\x65\x73\x20\x28\x27\x5c\x72\x27\x20\x6f\x72\x20\x27\x5c\x6e\x27\x20\x6f\x72\x20\x27\x5c\x72\x5c\x6e\x27\x29\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x64\x65\x66\x70\x61\x74\x68\x20\x69\x73\x20\x74\x68\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x73\x65\x61\x72\x63\x68\x20\x70\x61\x74\x68\x20\x66\x6f\x72\x20\x65\x78\x65\x63\x75\x74\x61\x62\x6c\x65\x73\x0a\x20\x20\x2d\x20\x6f\x73\x2e\x64\x65\x76\x6e\x75\x6c\x6c\x20\x69\x73\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x20\x70\x61\x74\x68\x20\x6f\x66\x20\x74\x68\x65\x20\x6e\x75\x6c\x6c\x20\x64\x65\x76\x69\x63\x65\x20\x28\x27\x2f\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x27\x2c\x20\x65\x74\x63\x2e\x29\x0a\x0a\x50\x72\x6f\x67\x72\x61\x6d\x73\x20\x74\x68\x61\x74\x20\x69\x6d\x70\x6f\x72\x74\x20\x61\x6e\x64\x20\x75\x73\x65\x20\x27\x6f\x73\x27\x20\x73\x74\x61\x6e\x64\x20\x61\x20\x62\x65\x74\x74\x65\x72\x20\x63\x68\x61\x6e\x63\x65\x20\x6f\x66\x20\x62\x65\x69\x6e\x67\x0a\x70\x6f\x72\x74\x61\x62\x6c\x65\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x70\x6c\x61\x74\x66\x6f\x72\x6d\x73\x2e\x20\x20\x4f\x66\x20\x63\x6f\x75\x72\x73\x65\x2c\x20\x74\x68\x65\x79\x20\x6d\x75\x73\x74\x20\x74\x68\x65\x6e\x0a\x6f\x6e\x6c\x79\x20\x75\x73\x65\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x20\x74\x68\x61\x74\x20\x61\x72\x65\x20\x64\x65\x66\x69\x6e\x65\x64\x20\x62\x79\x20\x61\x6c\x6c\x20\x70\x6c\x61\x74\x66\x6f\x72\x6d\x73\x20\x28\x65\x2e\x67\x2e\x2c\x20\x75\x6e\x6c\x69\x6e\x6b\x0a\x61\x6e\x64\x20\x6f\x70\x65\x6e\x64\x69\x72\x29\x2c\x20\x61\x6e\x64\x20\x6c\x65\x61\x76\x65\x20\x61\x6c\x6c\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x6d\x61\x6e\x69\x70\x75\x6c\x61\x74\x69\x6f\x6e\x20\x74\x6f\x20\x6f\x73\x2e\x70\x61\x74\x68\x0a\x28\x65\x2e\x67\x2e\x2c\x20\x73\x70\x6c\x69\x74\x20\x61\x6e\x64\x20\x6a\x6f\x69\x6e\x29\x2e\x0a", @@ -111000,7 +108333,7 @@ os_toplevel_consts_3 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -111018,7 +108351,7 @@ static const_str_linesep = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -111027,7 +108360,7 @@ const_str_linesep = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "linesep", @@ -111040,7 +108373,7 @@ static const_str_get_exec_path = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -111049,7 +108382,7 @@ const_str_get_exec_path = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "get_exec_path", @@ -111062,7 +108395,7 @@ static const_str_fdopen = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -111071,7 +108404,7 @@ const_str_fdopen = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fdopen", @@ -111088,7 +108421,7 @@ os_toplevel_consts_4 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 18, @@ -111097,7 +108430,7 @@ os_toplevel_consts_4 = { & const_str_altsep._ascii.ob_base, & const_str_curdir._ascii.ob_base, & const_str_pardir._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_pathsep._ascii.ob_base, & const_str_linesep._ascii.ob_base, & const_str_defpath._ascii.ob_base, @@ -111127,13 +108460,13 @@ os_toplevel_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_globals._ascii.ob_base, + &_Py_ID(globals), }, }, }; @@ -111145,7 +108478,7 @@ static os_toplevel_consts_5_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -111154,7 +108487,7 @@ os_toplevel_consts_5_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -111167,7 +108500,7 @@ static const_str__exists = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -111176,7 +108509,7 @@ const_str__exists = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_exists", @@ -111185,176 +108518,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[18]; + char ob_sval[16]; } os_toplevel_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 17, + .ob_size = 15, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0b\x0f\x95\x37\x91\x39\x94\x39\xd0\x0b\x1c\xd0\x04\x1c", + .ob_sval = "\x80\x00\xd8\x0b\x0f\x94\x37\x93\x39\xd0\x0b\x1c\xd0\x04\x1c", }; static - struct _PyCode_DEF(34) + struct _PyCode_DEF(26) os_toplevel_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 13, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & os_toplevel_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 41, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 601, .co_localsplusnames = & importlib__bootstrap_toplevel_consts_4_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__exists._ascii.ob_base, .co_qualname = & const_str__exists._ascii.ob_base, .co_linetable = & os_toplevel_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -os_toplevel_consts_6_consts_1_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - &_Py_ID(_), - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[38]; - } -os_toplevel_consts_6_consts_1_qualname = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 37, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "_get_exports_list..", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[34]; - } -os_toplevel_consts_6_consts_1_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 33, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xd0\x0f\x36\xd0\x0f\x36\xd0\x0f\x36\x90\x61\xa8\x21\xa8\x41\xac\x24\xb0\x23\xaa\x2b\xa8\x2b\x90\x01\xa8\x2b\xa8\x2b\xa8\x2b", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -os_toplevel_consts_6_consts_1_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_n._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(42) -os_toplevel_consts_6_consts_1 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 21, - }, - .co_consts = & os_toplevel_consts_6_consts_1_consts._object.ob_base.ob_base, - .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 48, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_6_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & os_toplevel_consts_6_consts_1_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_6_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7c\x00\x5d\x10\x7d\x01\x7c\x01\x64\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x03\x00\x00\x00\x00\xaf\x0e\x7c\x01\x91\x02\x8c\x11\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x76\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -111362,21 +108571,22 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[3]; }_object; } os_toplevel_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 3, }, .ob_item = { Py_None, - & os_toplevel_consts_6_consts_1.ob_base.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + &_Py_ID(_), }, }, }; @@ -111392,7 +108602,7 @@ os_toplevel_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -111413,7 +108623,7 @@ static const_str__get_exports_list = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -111422,7 +108632,7 @@ const_str__get_exports_list = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_exports_list", @@ -111431,71 +108641,92 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[83]; + char ob_sval[72]; } os_toplevel_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 82, + .ob_size = 71, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x02\x03\x05\x37\xdd\x0f\x13\x90\x46\x94\x4e\xd1\x0f\x23\xd4\x0f\x23\xd0\x08\x23\xf8\xdd\x0b\x19\xf0\x00\x01\x05\x37\xf0\x00\x01\x05\x37\xf0\x00\x01\x05\x37\xd8\x0f\x36\xd0\x0f\x36\x9d\x33\x98\x76\x99\x3b\x9c\x3b\xd0\x0f\x36\xd1\x0f\x36\xd4\x0f\x36\xd0\x08\x36\xd0\x08\x36\xd0\x08\x36\xf0\x03\x01\x05\x37\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x02\x03\x05\x37\xdc\x0f\x13\x90\x46\x97\x4e\x91\x4e\xd3\x0f\x23\xd0\x08\x23\xf8\xdc\x0b\x19\xf2\x00\x01\x05\x37\xdc\x1b\x1e\x98\x76\x9b\x3b\xd6\x0f\x36\x90\x61\xa8\x21\xa8\x41\xa9\x24\xb0\x23\xab\x2b\x92\x01\xd1\x0f\x36\xf9\xd4\x0f\x36\xd2\x08\x36\xf0\x03\x01\x05\x37\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[13]; + char ob_sval[31]; } os_toplevel_consts_6_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 12, + .ob_size = 30, }, .ob_shash = -1, - .ob_sval = "\x82\x13\x16\x00\x96\x23\x3c\x03\xbb\x01\x3c\x03", + .ob_sval = "\x82\x14\x17\x00\x97\x16\x41\x0b\x03\xad\x0d\x41\x00\x06\xbb\x04\x41\x00\x06\xbf\x09\x41\x0b\x03\xc1\x0a\x01\x41\x0b\x03", }; static - struct _PyCode_DEF(126) + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +os_toplevel_consts_6_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + &_Py_ID(module), + &_Py_ID(n), + }, + }, +}; +static + struct _PyCode_DEF(156) os_toplevel_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 63, + .ob_size = 78, }, .co_consts = & os_toplevel_consts_6_consts._object.ob_base.ob_base, .co_names = & os_toplevel_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = & os_toplevel_consts_6_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 5, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, + .co_stacksize = 6, .co_firstlineno = 44, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, + .co_nlocalsplus = 2, + .co_nlocals = 2, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_37_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_version = 602, + .co_localsplusnames = & os_toplevel_consts_6_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__get_exports_list._ascii.ob_base, .co_qualname = & const_str__get_exports_list._ascii.ob_base, .co_linetable = & os_toplevel_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x1c\x01\x00\x64\x01\x84\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x2b\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x8f\x01\x63\x02\x67\x00\x63\x02\x5d\x0d\x00\x00\x7d\x01\x7c\x01\x64\x01\x19\x00\x00\x00\x64\x02\x6b\x37\x00\x00\x73\x01\x8c\x0c\x7c\x01\x91\x02\x8c\x0f\x04\x00\x6e\x05\x63\x02\x01\x00\x63\x02\x7d\x01\x77\x00\x63\x02\x7d\x01\x63\x02\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -111506,7 +108737,7 @@ static const_str__exit = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -111515,7 +108746,7 @@ const_str__exit = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_exit", @@ -111532,7 +108763,7 @@ os_toplevel_consts_10 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -111550,7 +108781,7 @@ static const_str__have_functions = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -111559,7 +108790,7 @@ const_str__have_functions = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_have_functions", @@ -111576,7 +108807,7 @@ os_toplevel_consts_12 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -111594,7 +108825,7 @@ static os_toplevel_consts_14 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -111603,7 +108834,7 @@ os_toplevel_consts_14 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0d\x0a", @@ -111616,7 +108847,7 @@ static os_toplevel_consts_15 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -111625,7 +108856,7 @@ os_toplevel_consts_15 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "no os specific module found", @@ -111638,7 +108869,7 @@ static os_toplevel_consts_16 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -111647,7 +108878,7 @@ os_toplevel_consts_16 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "os.path", @@ -111664,7 +108895,7 @@ os_toplevel_consts_17 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -111672,7 +108903,7 @@ os_toplevel_consts_17 = { .ob_item = { & const_str_curdir._ascii.ob_base, & const_str_pardir._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_pathsep._ascii.ob_base, & const_str_defpath._ascii.ob_base, & const_str_extsep._ascii.ob_base, @@ -111689,7 +108920,7 @@ static const_str__globals = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -111698,7 +108929,7 @@ const_str__globals = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_globals", @@ -111711,7 +108942,7 @@ static const_str__set = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -111720,7 +108951,7 @@ const_str__set = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_set", @@ -111737,7 +108968,7 @@ os_toplevel_consts_19_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -111758,7 +108989,7 @@ static const_str__add = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -111767,7 +108998,7 @@ const_str__add = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_add", @@ -111776,18 +109007,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[63]; + char ob_sval[40]; } os_toplevel_consts_19_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 62, + .ob_size = 39, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0c\x0e\x95\x28\x88\x4e\x88\x4e\xa0\x13\xad\x0f\xd0\x21\x37\xd0\x21\x37\xdd\x0c\x10\x8f\x48\x8a\x48\x95\x58\x98\x62\x94\x5c\xd1\x0c\x22\xd4\x0c\x22\xd0\x0c\x22\xd0\x0c\x22\xd0\x0c\x22\xf0\x03\x00\x0d\x1b\x88\x4e\xd0\x21\x37\xd0\x21\x37", + .ob_sval = "\x80\x00\xd8\x0c\x0e\x94\x28\x89\x4e\xa0\x13\xac\x0f\xd1\x21\x37\xdc\x0c\x10\x8f\x48\x89\x48\x94\x58\x98\x62\x91\x5c\xd5\x0c\x22\xf0\x03\x00\x22\x38\x88\x4e", }; static struct { @@ -111801,7 +109032,7 @@ os_toplevel_consts_19_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -111813,40 +109044,38 @@ os_toplevel_consts_19_localsplusnames = { }, }; static - struct _PyCode_DEF(124) + struct _PyCode_DEF(96) os_toplevel_consts_19 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 62, + .ob_size = 48, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & os_toplevel_consts_19_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 104, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 603, .co_localsplusnames = & os_toplevel_consts_19_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__add._ascii.ob_base, .co_qualname = & const_str__add._ascii.ob_base, .co_linetable = & os_toplevel_consts_19_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x30\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x29\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x64\x00\x53\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x26\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x1d\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x79\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -111857,7 +109086,7 @@ static const_str_HAVE_FACCESSAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -111866,33 +109095,11 @@ const_str_HAVE_FACCESSAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FACCESSAT", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[7]; - } -const_str_access = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 6, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "access", -}; static struct { PyASCIIObject _ascii; @@ -111901,7 +109108,7 @@ static const_str_HAVE_FCHMODAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -111910,7 +109117,7 @@ const_str_HAVE_FCHMODAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FCHMODAT", @@ -111923,7 +109130,7 @@ static const_str_chmod = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -111932,7 +109139,7 @@ const_str_chmod = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "chmod", @@ -111945,7 +109152,7 @@ static const_str_HAVE_FCHOWNAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -111954,7 +109161,7 @@ const_str_HAVE_FCHOWNAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FCHOWNAT", @@ -111967,7 +109174,7 @@ static const_str_chown = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -111976,7 +109183,7 @@ const_str_chown = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "chown", @@ -111989,7 +109196,7 @@ static const_str_HAVE_FSTATAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -111998,7 +109205,7 @@ const_str_HAVE_FSTATAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FSTATAT", @@ -112011,7 +109218,7 @@ static const_str_HAVE_FUTIMESAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -112020,7 +109227,7 @@ const_str_HAVE_FUTIMESAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FUTIMESAT", @@ -112033,7 +109240,7 @@ static const_str_utime = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -112042,7 +109249,7 @@ const_str_utime = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "utime", @@ -112055,7 +109262,7 @@ static const_str_HAVE_LINKAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -112064,7 +109271,7 @@ const_str_HAVE_LINKAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_LINKAT", @@ -112077,7 +109284,7 @@ static const_str_link = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -112086,7 +109293,7 @@ const_str_link = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "link", @@ -112099,7 +109306,7 @@ static const_str_HAVE_MKDIRAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -112108,7 +109315,7 @@ const_str_HAVE_MKDIRAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_MKDIRAT", @@ -112121,7 +109328,7 @@ static const_str_HAVE_MKFIFOAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -112130,7 +109337,7 @@ const_str_HAVE_MKFIFOAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_MKFIFOAT", @@ -112143,7 +109350,7 @@ static const_str_mkfifo = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -112152,7 +109359,7 @@ const_str_mkfifo = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "mkfifo", @@ -112165,7 +109372,7 @@ static const_str_HAVE_MKNODAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -112174,7 +109381,7 @@ const_str_HAVE_MKNODAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_MKNODAT", @@ -112187,7 +109394,7 @@ static const_str_mknod = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -112196,7 +109403,7 @@ const_str_mknod = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "mknod", @@ -112209,7 +109416,7 @@ static const_str_HAVE_OPENAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -112218,7 +109425,7 @@ const_str_HAVE_OPENAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_OPENAT", @@ -112231,7 +109438,7 @@ static const_str_HAVE_READLINKAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -112240,7 +109447,7 @@ const_str_HAVE_READLINKAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_READLINKAT", @@ -112253,7 +109460,7 @@ static const_str_HAVE_RENAMEAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -112262,7 +109469,7 @@ const_str_HAVE_RENAMEAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_RENAMEAT", @@ -112275,7 +109482,7 @@ static const_str_rename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -112284,7 +109491,7 @@ const_str_rename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "rename", @@ -112297,7 +109504,7 @@ static const_str_HAVE_SYMLINKAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -112306,7 +109513,7 @@ const_str_HAVE_SYMLINKAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_SYMLINKAT", @@ -112319,7 +109526,7 @@ static const_str_symlink = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -112328,7 +109535,7 @@ const_str_symlink = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "symlink", @@ -112341,7 +109548,7 @@ static const_str_HAVE_UNLINKAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -112350,7 +109557,7 @@ const_str_HAVE_UNLINKAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_UNLINKAT", @@ -112363,7 +109570,7 @@ static const_str_rmdir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -112372,7 +109579,7 @@ const_str_rmdir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "rmdir", @@ -112385,7 +109592,7 @@ static const_str_HAVE_UTIMENSAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -112394,7 +109601,7 @@ const_str_HAVE_UTIMENSAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_UTIMENSAT", @@ -112407,7 +109614,7 @@ static const_str_HAVE_FCHDIR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -112416,7 +109623,7 @@ const_str_HAVE_FCHDIR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FCHDIR", @@ -112429,7 +109636,7 @@ static const_str_chdir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -112438,7 +109645,7 @@ const_str_chdir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "chdir", @@ -112451,7 +109658,7 @@ static const_str_HAVE_FCHMOD = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -112460,7 +109667,7 @@ const_str_HAVE_FCHMOD = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FCHMOD", @@ -112473,7 +109680,7 @@ static const_str_HAVE_FCHOWN = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -112482,7 +109689,7 @@ const_str_HAVE_FCHOWN = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FCHOWN", @@ -112495,7 +109702,7 @@ static const_str_HAVE_FDOPENDIR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -112504,7 +109711,7 @@ const_str_HAVE_FDOPENDIR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FDOPENDIR", @@ -112517,7 +109724,7 @@ static const_str_scandir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -112526,7 +109733,7 @@ const_str_scandir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "scandir", @@ -112539,7 +109746,7 @@ static const_str_HAVE_FEXECVE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -112548,7 +109755,7 @@ const_str_HAVE_FEXECVE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FEXECVE", @@ -112561,7 +109768,7 @@ static const_str_execve = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -112570,7 +109777,7 @@ const_str_execve = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "execve", @@ -112583,7 +109790,7 @@ static const_str_HAVE_FTRUNCATE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -112592,7 +109799,7 @@ const_str_HAVE_FTRUNCATE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FTRUNCATE", @@ -112605,7 +109812,7 @@ static const_str_HAVE_FUTIMENS = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -112614,7 +109821,7 @@ const_str_HAVE_FUTIMENS = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FUTIMENS", @@ -112627,7 +109834,7 @@ static const_str_HAVE_FUTIMES = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -112636,7 +109843,7 @@ const_str_HAVE_FUTIMES = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FUTIMES", @@ -112649,7 +109856,7 @@ static const_str_HAVE_FPATHCONF = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -112658,7 +109865,7 @@ const_str_HAVE_FPATHCONF = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FPATHCONF", @@ -112671,7 +109878,7 @@ static const_str_pathconf = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -112680,7 +109887,7 @@ const_str_pathconf = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pathconf", @@ -112693,7 +109900,7 @@ static const_str_statvfs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -112702,7 +109909,7 @@ const_str_statvfs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "statvfs", @@ -112715,7 +109922,7 @@ static const_str_fstatvfs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -112724,7 +109931,7 @@ const_str_fstatvfs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fstatvfs", @@ -112737,7 +109944,7 @@ static const_str_HAVE_FSTATVFS = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -112746,7 +109953,7 @@ const_str_HAVE_FSTATVFS = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_FSTATVFS", @@ -112759,7 +109966,7 @@ static const_str_HAVE_LCHFLAGS = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -112768,7 +109975,7 @@ const_str_HAVE_LCHFLAGS = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_LCHFLAGS", @@ -112781,7 +109988,7 @@ static const_str_chflags = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -112790,7 +109997,7 @@ const_str_chflags = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "chflags", @@ -112803,7 +110010,7 @@ static const_str_HAVE_LCHMOD = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -112812,7 +110019,7 @@ const_str_HAVE_LCHMOD = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_LCHMOD", @@ -112825,7 +110032,7 @@ static const_str_lchown = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -112834,7 +110041,7 @@ const_str_lchown = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "lchown", @@ -112847,7 +110054,7 @@ static const_str_HAVE_LCHOWN = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -112856,7 +110063,7 @@ const_str_HAVE_LCHOWN = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_LCHOWN", @@ -112869,7 +110076,7 @@ static const_str_HAVE_LUTIMES = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -112878,7 +110085,7 @@ const_str_HAVE_LUTIMES = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_LUTIMES", @@ -112891,7 +110098,7 @@ static const_str_HAVE_LSTAT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -112900,7 +110107,7 @@ const_str_HAVE_LSTAT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "HAVE_LSTAT", @@ -112913,7 +110120,7 @@ static const_str_MS_WINDOWS = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -112922,35 +110129,20 @@ const_str_MS_WINDOWS = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "MS_WINDOWS", }; -static - struct { - PyObject_VAR_HEAD - digit ob_digit[1]; - } -const_int_511 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, - }, - .ob_digit = { 511 }, -}; static struct { PyASCIIObject _ascii; uint8_t _data[396]; } -os_toplevel_consts_80_consts_0 = { +os_toplevel_consts_79_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 395, @@ -112959,7 +110151,7 @@ os_toplevel_consts_80_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x6d\x61\x6b\x65\x64\x69\x72\x73\x28\x6e\x61\x6d\x65\x20\x5b\x2c\x20\x6d\x6f\x64\x65\x3d\x30\x6f\x37\x37\x37\x5d\x5b\x2c\x20\x65\x78\x69\x73\x74\x5f\x6f\x6b\x3d\x46\x61\x6c\x73\x65\x5d\x29\x0a\x0a\x20\x20\x20\x20\x53\x75\x70\x65\x72\x2d\x6d\x6b\x64\x69\x72\x3b\x20\x63\x72\x65\x61\x74\x65\x20\x61\x20\x6c\x65\x61\x66\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x61\x6e\x64\x20\x61\x6c\x6c\x20\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x20\x6f\x6e\x65\x73\x2e\x20\x20\x57\x6f\x72\x6b\x73\x20\x6c\x69\x6b\x65\x0a\x20\x20\x20\x20\x6d\x6b\x64\x69\x72\x2c\x20\x65\x78\x63\x65\x70\x74\x20\x74\x68\x61\x74\x20\x61\x6e\x79\x20\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x20\x70\x61\x74\x68\x20\x73\x65\x67\x6d\x65\x6e\x74\x20\x28\x6e\x6f\x74\x20\x6a\x75\x73\x74\x20\x74\x68\x65\x20\x72\x69\x67\x68\x74\x6d\x6f\x73\x74\x29\x0a\x20\x20\x20\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x63\x72\x65\x61\x74\x65\x64\x20\x69\x66\x20\x69\x74\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x20\x65\x78\x69\x73\x74\x2e\x20\x49\x66\x20\x74\x68\x65\x20\x74\x61\x72\x67\x65\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x61\x6c\x72\x65\x61\x64\x79\x0a\x20\x20\x20\x20\x65\x78\x69\x73\x74\x73\x2c\x20\x72\x61\x69\x73\x65\x20\x61\x6e\x20\x4f\x53\x45\x72\x72\x6f\x72\x20\x69\x66\x20\x65\x78\x69\x73\x74\x5f\x6f\x6b\x20\x69\x73\x20\x46\x61\x6c\x73\x65\x2e\x20\x4f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x6e\x6f\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x69\x73\x0a\x20\x20\x20\x20\x72\x61\x69\x73\x65\x64\x2e\x20\x20\x54\x68\x69\x73\x20\x69\x73\x20\x72\x65\x63\x75\x72\x73\x69\x76\x65\x2e\x0a\x0a\x20\x20\x20\x20", @@ -112972,7 +110164,7 @@ static const_str_exist_ok = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -112981,7 +110173,7 @@ const_str_exist_ok = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "exist_ok", @@ -112994,11 +110186,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_80_consts_1 = { +os_toplevel_consts_79_consts_1 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -113016,18 +110208,18 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_80_consts = { +os_toplevel_consts_79_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & os_toplevel_consts_80_consts_0._ascii.ob_base, - & os_toplevel_consts_80_consts_1._object.ob_base.ob_base, + & os_toplevel_consts_79_consts_0._ascii.ob_base, + & os_toplevel_consts_79_consts_1._object.ob_base.ob_base, & const_str_ASCII._ascii.ob_base, Py_None, }, @@ -113041,7 +110233,7 @@ static const_str_makedirs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -113050,7 +110242,7 @@ const_str_makedirs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "makedirs", @@ -113063,11 +110255,11 @@ static PyObject *ob_item[11]; }_object; } -os_toplevel_consts_80_names = { +os_toplevel_consts_79_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -113080,7 +110272,7 @@ os_toplevel_consts_80_names = { & const_str_FileExistsError._ascii.ob_base, & const_str_curdir._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_mkdir._ascii.ob_base, & const_str_OSError._ascii.ob_base, & const_str_isdir._ascii.ob_base, @@ -113091,18 +110283,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[295]; + char ob_sval[189]; } -os_toplevel_consts_80_linetable = { +os_toplevel_consts_79_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 294, + .ob_size = 188, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x14\x00\x12\x16\x94\x1a\x98\x44\xd1\x11\x21\xd4\x11\x21\x81\x4a\x80\x44\x88\x24\xd8\x0b\x0f\xf0\x00\x01\x05\x26\xdd\x15\x19\x94\x5a\xa0\x04\xd1\x15\x25\xd4\x15\x25\x89\x0a\x88\x04\x88\x64\xd8\x07\x0b\xf0\x00\x0a\x05\x13\x90\x04\xf0\x00\x0a\x05\x13\x9d\x54\x9c\x5b\xa8\x14\xd1\x1d\x2e\xd4\x1d\x2e\xf0\x00\x0a\x05\x13\xf0\x02\x04\x09\x11\xdd\x0c\x14\x90\x54\xa0\x48\xd0\x0c\x2d\xd1\x0c\x2d\xd4\x0c\x2d\xd0\x0c\x2d\xd0\x0c\x2d\xf8\xdd\x0f\x1e\xf0\x00\x02\x09\x11\xf0\x00\x02\x09\x11\xf0\x00\x02\x09\x11\xe0\x0c\x10\x88\x44\xf0\x05\x02\x09\x11\xf8\xf8\xf8\xf5\x06\x00\x10\x16\x88\x04\xdd\x0b\x15\x90\x64\x9d\x45\xd1\x0b\x22\xd4\x0b\x22\xf0\x00\x01\x09\x2a\xdd\x13\x18\x9d\x16\xa0\x17\xd1\x13\x29\xd4\x13\x29\x88\x44\xd8\x0b\x0f\x90\x34\x8a\x3c\x88\x3c\xd8\x0c\x12\x88\x46\xf0\x02\x06\x05\x12\xdd\x08\x0d\x88\x64\x90\x44\xd1\x08\x19\xd4\x08\x19\xd0\x08\x19\xd0\x08\x19\xd0\x08\x19\xf8\xdd\x0b\x12\xf0\x00\x04\x05\x12\xf0\x00\x04\x05\x12\xf0\x00\x04\x05\x12\xf0\x06\x00\x10\x18\xf0\x00\x01\x09\x12\x9d\x74\x9c\x7a\xa8\x24\xd1\x1f\x2f\xd4\x1f\x2f\xf0\x00\x01\x09\x12\xd8\x0c\x11\xf0\x03\x01\x09\x12\xf0\x00\x01\x09\x12\xf0\x00\x01\x09\x12\xf0\x07\x04\x05\x12\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf4\x14\x00\x12\x16\x97\x1a\x91\x1a\x98\x44\xd3\x11\x21\x81\x4a\x80\x44\x88\x24\xd9\x0b\x0f\xdc\x15\x19\x97\x5a\x91\x5a\xa0\x04\xd3\x15\x25\x89\x0a\x88\x04\x88\x64\xd9\x07\x0b\x91\x04\x9c\x54\x9f\x5b\x99\x5b\xa8\x14\xd4\x1d\x2e\xf0\x02\x04\x09\x11\xdc\x0c\x14\x90\x54\xa0\x48\xd5\x0c\x2d\xf4\x08\x00\x10\x16\x88\x04\xdc\x0b\x15\x90\x64\x9c\x45\xd4\x0b\x22\xdc\x13\x18\x9c\x16\xa0\x17\xd3\x13\x29\x88\x44\xd8\x0b\x0f\x90\x34\x8a\x3c\xd8\x0c\x12\xf0\x02\x06\x05\x12\xdc\x08\x0d\x88\x64\x90\x44\xd5\x08\x19\xf8\xf4\x13\x00\x10\x1f\xf2\x00\x02\x09\x11\xe1\x0c\x10\xf0\x05\x02\x09\x11\xfb\xf4\x14\x00\x0c\x13\xf2\x00\x04\x05\x12\xf1\x06\x00\x10\x18\x9c\x74\x9f\x7a\x99\x7a\xa8\x24\xd4\x1f\x2f\xd8\x0c\x11\xf1\x03\x00\x20\x30\xf0\x07\x04\x05\x12\xfa", }; static struct { @@ -113110,16 +110302,16 @@ static Py_hash_t ob_shash; char ob_sval[37]; } -os_toplevel_consts_80_exceptiontable = { +os_toplevel_consts_79_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 36, }, .ob_shash = -1, - .ob_sval = "\xc1\x0a\x11\x41\x1c\x00\xc1\x1c\x0a\x41\x29\x03\xc1\x28\x01\x41\x29\x03\xc2\x26\x10\x42\x38\x00\xc2\x38\x21\x43\x1d\x03\xc3\x1c\x01\x43\x1d\x03", + .ob_sval = "\xc1\x0d\x0d\x42\x14\x00\xc2\x07\x0c\x42\x23\x00\xc2\x14\x09\x42\x20\x03\xc2\x1f\x01\x42\x20\x03\xc2\x23\x21\x43\x07\x03\xc3\x06\x01\x43\x07\x03", }; static struct { @@ -113129,7 +110321,7 @@ static const_str_cdir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -113138,7 +110330,7 @@ const_str_cdir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "cdir", @@ -113151,11 +110343,11 @@ static PyObject *ob_item[6]; }_object; } -os_toplevel_consts_80_localsplusnames = { +os_toplevel_consts_79_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -113171,40 +110363,38 @@ os_toplevel_consts_80_localsplusnames = { }, }; static - struct _PyCode_DEF(448) -os_toplevel_consts_80 = { + struct _PyCode_DEF(404) +os_toplevel_consts_79 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 224, + .ob_size = 202, }, - .co_consts = & os_toplevel_consts_80_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_80_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_80_exceptiontable.ob_base.ob_base, + .co_consts = & os_toplevel_consts_79_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_79_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_79_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 200, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_80_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 604, + .co_localsplusnames = & os_toplevel_consts_79_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_makedirs._ascii.ob_base, .co_qualname = & const_str_makedirs._ascii.ob_base, - .co_linetable = & os_toplevel_consts_80_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x04\x73\x17\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x03\x72\x72\x7c\x04\x72\x70\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x5c\x09\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x02\xac\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x10\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x15\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x04\x7c\x05\x6b\x02\x00\x00\x00\x00\x72\x02\x64\x03\x53\x00\x09\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x03\x53\x00\x23\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x1b\x01\x00\x7c\x02\x72\x14\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x01\x82\x00\x59\x00\x64\x03\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_linetable = & os_toplevel_consts_79_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x04\x73\x18\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x03\x72\x51\x7c\x04\x72\x4f\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x73\x3a\x09\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x02\xac\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x10\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x04\x7c\x05\x6b\x28\x00\x00\x72\x01\x79\x03\x09\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x03\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x45\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x1b\x01\x00\x7c\x02\x72\x15\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x73\x01\x82\x00\x59\x00\x79\x03\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -113212,10 +110402,10 @@ static PyASCIIObject _ascii; uint8_t _data[429]; } -os_toplevel_consts_81_consts_0 = { +os_toplevel_consts_80_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 428, @@ -113224,7 +110414,7 @@ os_toplevel_consts_81_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x72\x65\x6d\x6f\x76\x65\x64\x69\x72\x73\x28\x6e\x61\x6d\x65\x29\x0a\x0a\x20\x20\x20\x20\x53\x75\x70\x65\x72\x2d\x72\x6d\x64\x69\x72\x3b\x20\x72\x65\x6d\x6f\x76\x65\x20\x61\x20\x6c\x65\x61\x66\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x61\x6e\x64\x20\x61\x6c\x6c\x20\x65\x6d\x70\x74\x79\x20\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x0a\x20\x20\x20\x20\x6f\x6e\x65\x73\x2e\x20\x20\x57\x6f\x72\x6b\x73\x20\x6c\x69\x6b\x65\x20\x72\x6d\x64\x69\x72\x20\x65\x78\x63\x65\x70\x74\x20\x74\x68\x61\x74\x2c\x20\x69\x66\x20\x74\x68\x65\x20\x6c\x65\x61\x66\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x0a\x20\x20\x20\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79\x20\x72\x65\x6d\x6f\x76\x65\x64\x2c\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x63\x6f\x72\x72\x65\x73\x70\x6f\x6e\x64\x69\x6e\x67\x20\x74\x6f\x20\x72\x69\x67\x68\x74\x6d\x6f\x73\x74\x20\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x73\x65\x67\x6d\x65\x6e\x74\x73\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x70\x72\x75\x6e\x65\x64\x20\x61\x77\x61\x79\x20\x75\x6e\x74\x69\x6c\x20\x65\x69\x74\x68\x65\x72\x20\x74\x68\x65\x20\x77\x68\x6f\x6c\x65\x20\x70\x61\x74\x68\x20\x69\x73\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x75\x6d\x65\x64\x20\x6f\x72\x20\x61\x6e\x20\x65\x72\x72\x6f\x72\x20\x6f\x63\x63\x75\x72\x73\x2e\x20\x20\x45\x72\x72\x6f\x72\x73\x20\x64\x75\x72\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x6c\x61\x74\x74\x65\x72\x20\x70\x68\x61\x73\x65\x20\x61\x72\x65\x0a\x20\x20\x20\x20\x69\x67\x6e\x6f\x72\x65\x64\x20\x2d\x2d\x20\x74\x68\x65\x79\x20\x67\x65\x6e\x65\x72\x61\x6c\x6c\x79\x20\x6d\x65\x61\x6e\x20\x74\x68\x61\x74\x20\x61\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x77\x61\x73\x20\x6e\x6f\x74\x20\x65\x6d\x70\x74\x79\x2e\x0a\x0a\x20\x20\x20\x20", @@ -113237,17 +110427,17 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_81_consts = { +os_toplevel_consts_80_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & os_toplevel_consts_81_consts_0._ascii.ob_base, + & os_toplevel_consts_80_consts_0._ascii.ob_base, Py_None, }, }, @@ -113260,11 +110450,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_81_names = { +os_toplevel_consts_80_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -113285,7 +110475,7 @@ static const_str_removedirs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -113294,7 +110484,7 @@ const_str_removedirs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "removedirs", @@ -113303,18 +110493,206 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[205]; + char ob_sval[121]; + } +os_toplevel_consts_80_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 120, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xf4\x16\x00\x05\x0a\x88\x24\x84\x4b\xdc\x11\x15\x97\x1a\x91\x1a\x98\x44\xd3\x11\x21\x81\x4a\x80\x44\x88\x24\xd9\x0b\x0f\xdc\x15\x19\x97\x5a\x91\x5a\xa0\x04\xd3\x15\x25\x89\x0a\x88\x04\x88\x64\xd9\x0a\x0e\x91\x34\xf0\x02\x03\x09\x12\xdc\x0c\x11\x90\x24\x8c\x4b\xf4\x06\x00\x16\x1a\x97\x5a\x91\x5a\xa0\x04\xd3\x15\x25\x89\x0a\x88\x04\x88\x64\xf1\x0b\x00\x0b\x0f\x93\x34\x88\x24\x90\x34\x88\x24\xf8\xf4\x06\x00\x10\x17\xf2\x00\x01\x09\x12\xd9\x0c\x11\xf0\x03\x01\x09\x12\xfa", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[19]; + } +os_toplevel_consts_80_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 18, + }, + .ob_shash = -1, + .ob_sval = "\xc1\x03\x0b\x41\x2f\x00\xc1\x2f\x09\x41\x3b\x03\xc1\x3a\x01\x41\x3b\x03", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; + } +os_toplevel_consts_80_localsplusnames = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + &_Py_ID(name), + & const_str_head._ascii.ob_base, + & const_str_tail._ascii.ob_base, + }, + }, +}; +static + struct _PyCode_DEF(252) +os_toplevel_consts_80 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 126, + }, + .co_consts = & os_toplevel_consts_80_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_80_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_80_exceptiontable.ob_base.ob_base, + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 232, + .co_nlocalsplus = 3, + .co_nlocals = 3, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 605, + .co_localsplusnames = & os_toplevel_consts_80_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, + .co_name = & const_str_removedirs._ascii.ob_base, + .co_qualname = & const_str_removedirs._ascii.ob_base, + .co_linetable = & os_toplevel_consts_80_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x02\x73\x18\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x01\x72\x2e\x7c\x02\x72\x2b\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x01\x72\x04\x7c\x02\x72\x01\x8c\x29\x79\x01\x79\x01\x79\x01\x79\x01\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 0, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[573]; + } +os_toplevel_consts_81_consts_0 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 572, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "\x72\x65\x6e\x61\x6d\x65\x73\x28\x6f\x6c\x64\x2c\x20\x6e\x65\x77\x29\x0a\x0a\x20\x20\x20\x20\x53\x75\x70\x65\x72\x2d\x72\x65\x6e\x61\x6d\x65\x3b\x20\x63\x72\x65\x61\x74\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x73\x20\x6e\x65\x63\x65\x73\x73\x61\x72\x79\x20\x61\x6e\x64\x20\x64\x65\x6c\x65\x74\x65\x20\x61\x6e\x79\x20\x6c\x65\x66\x74\x0a\x20\x20\x20\x20\x65\x6d\x70\x74\x79\x2e\x20\x20\x57\x6f\x72\x6b\x73\x20\x6c\x69\x6b\x65\x20\x72\x65\x6e\x61\x6d\x65\x2c\x20\x65\x78\x63\x65\x70\x74\x20\x63\x72\x65\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\x61\x6e\x79\x20\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x0a\x20\x20\x20\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x6e\x65\x65\x64\x65\x64\x20\x74\x6f\x20\x6d\x61\x6b\x65\x20\x74\x68\x65\x20\x6e\x65\x77\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x67\x6f\x6f\x64\x20\x69\x73\x20\x61\x74\x74\x65\x6d\x70\x74\x65\x64\x0a\x20\x20\x20\x20\x66\x69\x72\x73\x74\x2e\x20\x20\x41\x66\x74\x65\x72\x20\x74\x68\x65\x20\x72\x65\x6e\x61\x6d\x65\x2c\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x63\x6f\x72\x72\x65\x73\x70\x6f\x6e\x64\x69\x6e\x67\x20\x74\x6f\x20\x72\x69\x67\x68\x74\x6d\x6f\x73\x74\x0a\x20\x20\x20\x20\x70\x61\x74\x68\x20\x73\x65\x67\x6d\x65\x6e\x74\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x6f\x6c\x64\x20\x6e\x61\x6d\x65\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x70\x72\x75\x6e\x65\x64\x20\x75\x6e\x74\x69\x6c\x20\x65\x69\x74\x68\x65\x72\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x77\x68\x6f\x6c\x65\x20\x70\x61\x74\x68\x20\x69\x73\x20\x63\x6f\x6e\x73\x75\x6d\x65\x64\x20\x6f\x72\x20\x61\x20\x6e\x6f\x6e\x65\x6d\x70\x74\x79\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x0a\x20\x20\x20\x20\x4e\x6f\x74\x65\x3a\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x63\x61\x6e\x20\x66\x61\x69\x6c\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x6e\x65\x77\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x73\x74\x72\x75\x63\x74\x75\x72\x65\x20\x6d\x61\x64\x65\x0a\x20\x20\x20\x20\x69\x66\x20\x79\x6f\x75\x20\x6c\x61\x63\x6b\x20\x70\x65\x72\x6d\x69\x73\x73\x69\x6f\x6e\x73\x20\x6e\x65\x65\x64\x65\x64\x20\x74\x6f\x20\x75\x6e\x6c\x69\x6e\x6b\x20\x74\x68\x65\x20\x6c\x65\x61\x66\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x6f\x72\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x2e\x0a\x0a\x20\x20\x20\x20", +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[2]; + }_object; + } +os_toplevel_consts_81_consts = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 2, + }, + .ob_item = { + & os_toplevel_consts_81_consts_0._ascii.ob_base, + Py_None, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[7]; + }_object; + } +os_toplevel_consts_81_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 7, + }, + .ob_item = { + &_Py_ID(path), + & const_str_split._ascii.ob_base, + & const_str_exists._ascii.ob_base, + & const_str_makedirs._ascii.ob_base, + & const_str_rename._ascii.ob_base, + & const_str_removedirs._ascii.ob_base, + & const_str_OSError._ascii.ob_base, + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[8]; + } +const_str_renames = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 7, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "renames", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[117]; } os_toplevel_consts_81_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 204, + .ob_size = 116, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x16\x00\x05\x0a\x88\x24\x81\x4b\x84\x4b\x80\x4b\xdd\x11\x15\x94\x1a\x98\x44\xd1\x11\x21\xd4\x11\x21\x81\x4a\x80\x44\x88\x24\xd8\x0b\x0f\xf0\x00\x01\x05\x26\xdd\x15\x19\x94\x5a\xa0\x04\xd1\x15\x25\xd4\x15\x25\x89\x0a\x88\x04\x88\x64\xd8\x0a\x0e\xf0\x00\x05\x05\x26\x90\x34\xf0\x00\x05\x05\x26\xf0\x02\x03\x09\x12\xdd\x0c\x11\x90\x24\x89\x4b\x8c\x4b\x88\x4b\x88\x4b\xf8\xdd\x0f\x16\xf0\x00\x01\x09\x12\xf0\x00\x01\x09\x12\xf0\x00\x01\x09\x12\xd8\x0c\x11\x88\x45\x88\x45\xf0\x03\x01\x09\x12\xf8\xf8\xf8\xe5\x15\x19\x94\x5a\xa0\x04\xd1\x15\x25\xd4\x15\x25\x89\x0a\x88\x04\x88\x64\xf0\x0b\x00\x0b\x0f\xf0\x00\x05\x05\x26\x90\x34\xf0\x00\x05\x05\x26\xf0\x00\x05\x05\x26\xf0\x00\x05\x05\x26\xf0\x00\x05\x05\x26\xf0\x00\x05\x05\x26\xf0\x00\x05\x05\x26\xf0\x00\x05\x05\x26\xf0\x00\x05\x05\x26\xf0\x00\x05\x05\x26", + .ob_sval = "\x80\x00\xf4\x1e\x00\x12\x16\x97\x1a\x91\x1a\x98\x43\x93\x1f\x81\x4a\x80\x44\x88\x24\xd9\x07\x0b\x91\x04\x9c\x54\x9f\x5b\x99\x5b\xa8\x14\xd4\x1d\x2e\xdc\x08\x10\x90\x14\x8c\x0e\xdc\x04\x0a\x88\x33\x90\x03\xd4\x04\x14\xdc\x11\x15\x97\x1a\x91\x1a\x98\x43\x93\x1f\x81\x4a\x80\x44\x88\x24\xd9\x07\x0b\x91\x04\xf0\x02\x03\x09\x11\xdc\x0c\x16\x90\x74\xd5\x0c\x1c\xf0\x05\x00\x11\x15\x80\x74\xf8\xf4\x06\x00\x10\x17\xf2\x00\x01\x09\x11\xd9\x0c\x10\xf0\x03\x01\x09\x11\xfa", }; static struct { @@ -113325,264 +110703,72 @@ static os_toplevel_consts_81_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\xc1\x05\x0f\x41\x15\x00\xc1\x15\x0a\x41\x23\x03\xc1\x22\x01\x41\x23\x03", + .ob_sval = "\xc1\x26\x0b\x41\x34\x00\xc1\x34\x09\x42\x00\x03\xc1\x3f\x01\x42\x00\x03", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[4]; }_object; } os_toplevel_consts_81_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 4, }, .ob_item = { - &_Py_ID(name), + & const_str_old._ascii.ob_base, + & const_str_new._ascii.ob_base, & const_str_head._ascii.ob_base, & const_str_tail._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(274) + struct _PyCode_DEF(262) os_toplevel_consts_81 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 137, + .ob_size = 131, }, .co_consts = & os_toplevel_consts_81_consts._object.ob_base.ob_base, .co_names = & os_toplevel_consts_81_names._object.ob_base.ob_base, .co_exceptiontable = & os_toplevel_consts_81_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 232, - .co_nlocalsplus = 3, - .co_nlocals = 3, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_81_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, - .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, - .co_name = & const_str_removedirs._ascii.ob_base, - .co_qualname = & const_str_removedirs._ascii.ob_base, - .co_linetable = & os_toplevel_consts_81_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x02\x73\x17\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x01\x72\x41\x7c\x02\x72\x41\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x11\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x7c\x01\x72\x08\x7c\x02\xb0\x3d\x64\x01\x53\x00\x64\x01\x53\x00\x64\x01\x53\x00\x64\x01\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[573]; - } -os_toplevel_consts_82_consts_0 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 572, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "\x72\x65\x6e\x61\x6d\x65\x73\x28\x6f\x6c\x64\x2c\x20\x6e\x65\x77\x29\x0a\x0a\x20\x20\x20\x20\x53\x75\x70\x65\x72\x2d\x72\x65\x6e\x61\x6d\x65\x3b\x20\x63\x72\x65\x61\x74\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x73\x20\x6e\x65\x63\x65\x73\x73\x61\x72\x79\x20\x61\x6e\x64\x20\x64\x65\x6c\x65\x74\x65\x20\x61\x6e\x79\x20\x6c\x65\x66\x74\x0a\x20\x20\x20\x20\x65\x6d\x70\x74\x79\x2e\x20\x20\x57\x6f\x72\x6b\x73\x20\x6c\x69\x6b\x65\x20\x72\x65\x6e\x61\x6d\x65\x2c\x20\x65\x78\x63\x65\x70\x74\x20\x63\x72\x65\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\x61\x6e\x79\x20\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x0a\x20\x20\x20\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x6e\x65\x65\x64\x65\x64\x20\x74\x6f\x20\x6d\x61\x6b\x65\x20\x74\x68\x65\x20\x6e\x65\x77\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x67\x6f\x6f\x64\x20\x69\x73\x20\x61\x74\x74\x65\x6d\x70\x74\x65\x64\x0a\x20\x20\x20\x20\x66\x69\x72\x73\x74\x2e\x20\x20\x41\x66\x74\x65\x72\x20\x74\x68\x65\x20\x72\x65\x6e\x61\x6d\x65\x2c\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x63\x6f\x72\x72\x65\x73\x70\x6f\x6e\x64\x69\x6e\x67\x20\x74\x6f\x20\x72\x69\x67\x68\x74\x6d\x6f\x73\x74\x0a\x20\x20\x20\x20\x70\x61\x74\x68\x20\x73\x65\x67\x6d\x65\x6e\x74\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x6f\x6c\x64\x20\x6e\x61\x6d\x65\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x70\x72\x75\x6e\x65\x64\x20\x75\x6e\x74\x69\x6c\x20\x65\x69\x74\x68\x65\x72\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x77\x68\x6f\x6c\x65\x20\x70\x61\x74\x68\x20\x69\x73\x20\x63\x6f\x6e\x73\x75\x6d\x65\x64\x20\x6f\x72\x20\x61\x20\x6e\x6f\x6e\x65\x6d\x70\x74\x79\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x0a\x20\x20\x20\x20\x4e\x6f\x74\x65\x3a\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x63\x61\x6e\x20\x66\x61\x69\x6c\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x6e\x65\x77\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x73\x74\x72\x75\x63\x74\x75\x72\x65\x20\x6d\x61\x64\x65\x0a\x20\x20\x20\x20\x69\x66\x20\x79\x6f\x75\x20\x6c\x61\x63\x6b\x20\x70\x65\x72\x6d\x69\x73\x73\x69\x6f\x6e\x73\x20\x6e\x65\x65\x64\x65\x64\x20\x74\x6f\x20\x75\x6e\x6c\x69\x6e\x6b\x20\x74\x68\x65\x20\x6c\x65\x61\x66\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x6f\x72\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x2e\x0a\x0a\x20\x20\x20\x20", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -os_toplevel_consts_82_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & os_toplevel_consts_82_consts_0._ascii.ob_base, - Py_None, - }, - }, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[7]; - }_object; - } -os_toplevel_consts_82_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 7, - }, - .ob_item = { - &_Py_ID(path), - & const_str_split._ascii.ob_base, - & const_str_exists._ascii.ob_base, - & const_str_makedirs._ascii.ob_base, - & const_str_rename._ascii.ob_base, - & const_str_removedirs._ascii.ob_base, - & const_str_OSError._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[8]; - } -const_str_renames = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 7, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "renames", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[192]; - } -os_toplevel_consts_82_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 191, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x1e\x00\x12\x16\x94\x1a\x98\x43\x91\x1f\x94\x1f\x81\x4a\x80\x44\x88\x24\xd8\x07\x0b\xf0\x00\x01\x05\x17\x90\x04\xf0\x00\x01\x05\x17\x9d\x54\x9c\x5b\xa8\x14\xd1\x1d\x2e\xd4\x1d\x2e\xf0\x00\x01\x05\x17\xdd\x08\x10\x90\x14\x89\x0e\x8c\x0e\x88\x0e\xdd\x04\x0a\x88\x33\x90\x03\xd1\x04\x14\xd4\x04\x14\xd0\x04\x14\xdd\x11\x15\x94\x1a\x98\x43\x91\x1f\x94\x1f\x81\x4a\x80\x44\x88\x24\xd8\x07\x0b\xf0\x00\x04\x05\x11\x90\x04\xf0\x00\x04\x05\x11\xf0\x02\x03\x09\x11\xdd\x0c\x16\x90\x74\xd1\x0c\x1c\xd4\x0c\x1c\xd0\x0c\x1c\xd0\x0c\x1c\xd0\x0c\x1c\xf8\xdd\x0f\x16\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8\xf0\x07\x04\x05\x11\xf0\x00\x04\x05\x11\xf0\x00\x04\x05\x11\xf0\x00\x04\x05\x11", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[19]; - } -os_toplevel_consts_82_exceptiontable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 18, - }, - .ob_shash = -1, - .ob_sval = "\xc1\x2b\x0f\x41\x3c\x00\xc1\x3c\x0a\x42\x0a\x03\xc2\x09\x01\x42\x0a\x03", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[4]; - }_object; - } -os_toplevel_consts_82_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 4, - }, - .ob_item = { - & const_str_old._ascii.ob_base, - & const_str_new._ascii.ob_base, - & const_str_head._ascii.ob_base, - & const_str_tail._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(290) -os_toplevel_consts_82 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 145, - }, - .co_consts = & os_toplevel_consts_82_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_82_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_82_exceptiontable.ob_base.ob_base, - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 254, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_82_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 606, + .co_localsplusnames = & os_toplevel_consts_81_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_renames._ascii.ob_base, .co_qualname = & const_str_renames._ascii.ob_base, - .co_linetable = & os_toplevel_consts_82_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\x72\x25\x7c\x03\x72\x23\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x0f\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\x72\x25\x7c\x03\x72\x25\x09\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x64\x01\x53\x00\x64\x01\x53\x00", + .co_linetable = & os_toplevel_consts_81_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\x72\x22\x7c\x03\x72\x20\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x73\x0b\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x02\x72\x10\x7c\x03\x72\x0d\x09\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01\x79\x01\x79\x01\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -113593,11 +110779,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_83 = { +os_toplevel_consts_82 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -113614,10 +110800,10 @@ static PyASCIIObject _ascii; uint8_t _data[2855]; } -os_toplevel_consts_85_consts_0 = { +os_toplevel_consts_83_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2854, @@ -113626,7 +110812,7 @@ os_toplevel_consts_85_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x44\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x74\x72\x65\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20\x46\x6f\x72\x20\x65\x61\x63\x68\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x6e\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x74\x72\x65\x65\x20\x72\x6f\x6f\x74\x65\x64\x20\x61\x74\x20\x74\x6f\x70\x20\x28\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x74\x6f\x70\x0a\x20\x20\x20\x20\x69\x74\x73\x65\x6c\x66\x2c\x20\x62\x75\x74\x20\x65\x78\x63\x6c\x75\x64\x69\x6e\x67\x20\x27\x2e\x27\x20\x61\x6e\x64\x20\x27\x2e\x2e\x27\x29\x2c\x20\x79\x69\x65\x6c\x64\x73\x20\x61\x20\x33\x2d\x74\x75\x70\x6c\x65\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x2c\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x0a\x0a\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x20\x69\x73\x20\x61\x20\x73\x74\x72\x69\x6e\x67\x2c\x20\x74\x68\x65\x20\x70\x61\x74\x68\x20\x74\x6f\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2e\x20\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x69\x73\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x0a\x20\x20\x20\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x69\x6e\x20\x64\x69\x72\x70\x61\x74\x68\x20\x28\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x73\x79\x6d\x6c\x69\x6e\x6b\x73\x20\x74\x6f\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x2c\x0a\x20\x20\x20\x20\x61\x6e\x64\x20\x65\x78\x63\x6c\x75\x64\x69\x6e\x67\x20\x27\x2e\x27\x20\x61\x6e\x64\x20\x27\x2e\x2e\x27\x29\x2e\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x20\x69\x73\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x6e\x6f\x6e\x2d\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x66\x69\x6c\x65\x73\x20\x69\x6e\x20\x64\x69\x72\x70\x61\x74\x68\x2e\x0a\x20\x20\x20\x20\x4e\x6f\x74\x65\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x73\x20\x69\x6e\x20\x74\x68\x65\x20\x6c\x69\x73\x74\x73\x20\x61\x72\x65\x20\x6a\x75\x73\x74\x20\x6e\x61\x6d\x65\x73\x2c\x20\x77\x69\x74\x68\x20\x6e\x6f\x20\x70\x61\x74\x68\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x73\x2e\x0a\x20\x20\x20\x20\x54\x6f\x20\x67\x65\x74\x20\x61\x20\x66\x75\x6c\x6c\x20\x70\x61\x74\x68\x20\x28\x77\x68\x69\x63\x68\x20\x62\x65\x67\x69\x6e\x73\x20\x77\x69\x74\x68\x20\x74\x6f\x70\x29\x20\x74\x6f\x20\x61\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x6e\x0a\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x64\x6f\x20\x6f\x73\x2e\x70\x61\x74\x68\x2e\x6a\x6f\x69\x6e\x28\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x6e\x61\x6d\x65\x29\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x20\x27\x74\x6f\x70\x64\x6f\x77\x6e\x27\x20\x69\x73\x20\x74\x72\x75\x65\x20\x6f\x72\x20\x6e\x6f\x74\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x2c\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x20\x66\x6f\x72\x20\x61\x0a\x20\x20\x20\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x73\x20\x66\x6f\x72\x20\x61\x6e\x79\x20\x6f\x66\x20\x69\x74\x73\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x0a\x20\x20\x20\x20\x28\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x72\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x74\x6f\x70\x20\x64\x6f\x77\x6e\x29\x2e\x20\x20\x49\x66\x20\x74\x6f\x70\x64\x6f\x77\x6e\x20\x69\x73\x20\x66\x61\x6c\x73\x65\x2c\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x0a\x20\x20\x20\x20\x66\x6f\x72\x20\x61\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x61\x66\x74\x65\x72\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x73\x20\x66\x6f\x72\x20\x61\x6c\x6c\x20\x6f\x66\x20\x69\x74\x73\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x28\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x72\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x62\x6f\x74\x74\x6f\x6d\x20\x75\x70\x29\x2e\x0a\x0a\x20\x20\x20\x20\x57\x68\x65\x6e\x20\x74\x6f\x70\x64\x6f\x77\x6e\x20\x69\x73\x20\x74\x72\x75\x65\x2c\x20\x74\x68\x65\x20\x63\x61\x6c\x6c\x65\x72\x20\x63\x61\x6e\x20\x6d\x6f\x64\x69\x66\x79\x20\x74\x68\x65\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x6c\x69\x73\x74\x20\x69\x6e\x2d\x70\x6c\x61\x63\x65\x0a\x20\x20\x20\x20\x28\x65\x2e\x67\x2e\x2c\x20\x76\x69\x61\x20\x64\x65\x6c\x20\x6f\x72\x20\x73\x6c\x69\x63\x65\x20\x61\x73\x73\x69\x67\x6e\x6d\x65\x6e\x74\x29\x2c\x20\x61\x6e\x64\x20\x77\x61\x6c\x6b\x20\x77\x69\x6c\x6c\x20\x6f\x6e\x6c\x79\x20\x72\x65\x63\x75\x72\x73\x65\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x77\x68\x6f\x73\x65\x20\x6e\x61\x6d\x65\x73\x20\x72\x65\x6d\x61\x69\x6e\x20\x69\x6e\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x3b\x20\x74\x68\x69\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x70\x72\x75\x6e\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x73\x65\x61\x72\x63\x68\x2c\x20\x6f\x72\x20\x74\x6f\x20\x69\x6d\x70\x6f\x73\x65\x20\x61\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x6f\x72\x64\x65\x72\x20\x6f\x66\x20\x76\x69\x73\x69\x74\x69\x6e\x67\x2e\x20\x20\x4d\x6f\x64\x69\x66\x79\x69\x6e\x67\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x77\x68\x65\x6e\x0a\x20\x20\x20\x20\x74\x6f\x70\x64\x6f\x77\x6e\x20\x69\x73\x20\x66\x61\x6c\x73\x65\x20\x68\x61\x73\x20\x6e\x6f\x20\x65\x66\x66\x65\x63\x74\x20\x6f\x6e\x20\x74\x68\x65\x20\x62\x65\x68\x61\x76\x69\x6f\x72\x20\x6f\x66\x20\x6f\x73\x2e\x77\x61\x6c\x6b\x28\x29\x2c\x20\x73\x69\x6e\x63\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x69\x6e\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x68\x61\x76\x65\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x62\x65\x65\x6e\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x74\x69\x6d\x65\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x0a\x20\x20\x20\x20\x69\x74\x73\x65\x6c\x66\x20\x69\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x2e\x20\x4e\x6f\x20\x6d\x61\x74\x74\x65\x72\x20\x74\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x74\x6f\x70\x64\x6f\x77\x6e\x2c\x20\x74\x68\x65\x20\x6c\x69\x73\x74\x20\x6f\x66\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x69\x73\x20\x72\x65\x74\x72\x69\x65\x76\x65\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x20\x74\x75\x70\x6c\x65\x73\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x61\x6e\x64\x20\x69\x74\x73\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x72\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x42\x79\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x65\x72\x72\x6f\x72\x73\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x6f\x73\x2e\x73\x63\x61\x6e\x64\x69\x72\x28\x29\x20\x63\x61\x6c\x6c\x20\x61\x72\x65\x20\x69\x67\x6e\x6f\x72\x65\x64\x2e\x20\x20\x49\x66\x0a\x20\x20\x20\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x20\x27\x6f\x6e\x65\x72\x72\x6f\x72\x27\x20\x69\x73\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x2c\x20\x69\x74\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x61\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x3b\x20\x69\x74\x0a\x20\x20\x20\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x63\x61\x6c\x6c\x65\x64\x20\x77\x69\x74\x68\x20\x6f\x6e\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x2c\x20\x61\x6e\x20\x4f\x53\x45\x72\x72\x6f\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x20\x20\x49\x74\x20\x63\x61\x6e\x0a\x20\x20\x20\x20\x72\x65\x70\x6f\x72\x74\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x20\x74\x6f\x20\x63\x6f\x6e\x74\x69\x6e\x75\x65\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x77\x61\x6c\x6b\x2c\x20\x6f\x72\x20\x72\x61\x69\x73\x65\x20\x74\x68\x65\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x0a\x20\x20\x20\x20\x74\x6f\x20\x61\x62\x6f\x72\x74\x20\x74\x68\x65\x20\x77\x61\x6c\x6b\x2e\x20\x20\x4e\x6f\x74\x65\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x20\x69\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x61\x73\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x6f\x62\x6a\x65\x63\x74\x2e\x0a\x0a\x20\x20\x20\x20\x42\x79\x20\x64\x65\x66\x61\x75\x6c\x74\x2c\x20\x6f\x73\x2e\x77\x61\x6c\x6b\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x20\x66\x6f\x6c\x6c\x6f\x77\x20\x73\x79\x6d\x62\x6f\x6c\x69\x63\x20\x6c\x69\x6e\x6b\x73\x20\x74\x6f\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x6f\x6e\x0a\x20\x20\x20\x20\x73\x79\x73\x74\x65\x6d\x73\x20\x74\x68\x61\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x74\x68\x65\x6d\x2e\x20\x20\x49\x6e\x20\x6f\x72\x64\x65\x72\x20\x74\x6f\x20\x67\x65\x74\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x61\x6c\x69\x74\x79\x2c\x20\x73\x65\x74\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x27\x66\x6f\x6c\x6c\x6f\x77\x6c\x69\x6e\x6b\x73\x27\x20\x74\x6f\x20\x74\x72\x75\x65\x2e\x0a\x0a\x20\x20\x20\x20\x43\x61\x75\x74\x69\x6f\x6e\x3a\x20\x20\x69\x66\x20\x79\x6f\x75\x20\x70\x61\x73\x73\x20\x61\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x66\x6f\x72\x20\x74\x6f\x70\x2c\x20\x64\x6f\x6e\x27\x74\x20\x63\x68\x61\x6e\x67\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x77\x6f\x72\x6b\x69\x6e\x67\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x72\x65\x73\x75\x6d\x70\x74\x69\x6f\x6e\x73\x20\x6f\x66\x20\x77\x61\x6c\x6b\x2e\x20\x20\x77\x61\x6c\x6b\x20\x6e\x65\x76\x65\x72\x0a\x20\x20\x20\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2c\x20\x61\x6e\x64\x20\x61\x73\x73\x75\x6d\x65\x73\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x63\x6c\x69\x65\x6e\x74\x20\x64\x6f\x65\x73\x6e\x27\x74\x0a\x20\x20\x20\x20\x65\x69\x74\x68\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x45\x78\x61\x6d\x70\x6c\x65\x3a\x0a\x0a\x20\x20\x20\x20\x69\x6d\x70\x6f\x72\x74\x20\x6f\x73\x0a\x20\x20\x20\x20\x66\x72\x6f\x6d\x20\x6f\x73\x2e\x70\x61\x74\x68\x20\x69\x6d\x70\x6f\x72\x74\x20\x6a\x6f\x69\x6e\x2c\x20\x67\x65\x74\x73\x69\x7a\x65\x0a\x20\x20\x20\x20\x66\x6f\x72\x20\x72\x6f\x6f\x74\x2c\x20\x64\x69\x72\x73\x2c\x20\x66\x69\x6c\x65\x73\x20\x69\x6e\x20\x6f\x73\x2e\x77\x61\x6c\x6b\x28\x27\x70\x79\x74\x68\x6f\x6e\x2f\x4c\x69\x62\x2f\x65\x6d\x61\x69\x6c\x27\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x72\x6f\x6f\x74\x2c\x20\x22\x63\x6f\x6e\x73\x75\x6d\x65\x73\x20\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x73\x75\x6d\x28\x67\x65\x74\x73\x69\x7a\x65\x28\x6a\x6f\x69\x6e\x28\x72\x6f\x6f\x74\x2c\x20\x6e\x61\x6d\x65\x29\x29\x20\x66\x6f\x72\x20\x6e\x61\x6d\x65\x20\x69\x6e\x20\x66\x69\x6c\x65\x73\x29\x2c\x20\x65\x6e\x64\x3d\x22\x20\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x22\x62\x79\x74\x65\x73\x20\x69\x6e\x22\x2c\x20\x6c\x65\x6e\x28\x66\x69\x6c\x65\x73\x29\x2c\x20\x22\x6e\x6f\x6e\x2d\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x66\x69\x6c\x65\x73\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x27\x43\x56\x53\x27\x20\x69\x6e\x20\x64\x69\x72\x73\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x73\x2e\x72\x65\x6d\x6f\x76\x65\x28\x27\x43\x56\x53\x27\x29\x20\x20\x23\x20\x64\x6f\x6e\x27\x74\x20\x76\x69\x73\x69\x74\x20\x43\x56\x53\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x0a\x0a\x20\x20\x20\x20", @@ -113636,10 +110822,10 @@ static PyASCIIObject _ascii; uint8_t _data[8]; } -os_toplevel_consts_85_consts_1 = { +os_toplevel_consts_83_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -113648,7 +110834,7 @@ os_toplevel_consts_85_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "os.walk", @@ -113658,21 +110844,24 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[5]; }_object; } -os_toplevel_consts_85_consts = { +os_toplevel_consts_83_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 5, }, .ob_item = { - & os_toplevel_consts_85_consts_0._ascii.ob_base, - & os_toplevel_consts_85_consts_1._ascii.ob_base, + & os_toplevel_consts_83_consts_0._ascii.ob_base, + & os_toplevel_consts_83_consts_1._ascii.ob_base, + Py_None, + Py_False, + Py_True, }, }, }; @@ -113684,7 +110873,7 @@ static const_str_audit = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -113693,7 +110882,7 @@ const_str_audit = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "audit", @@ -113701,47 +110890,83 @@ const_str_audit = { static struct { PyASCIIObject _ascii; - uint8_t _data[6]; + uint8_t _data[7]; } -const_str__walk = { +const_str_is_dir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 5, + .length = 6, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_walk", + ._data = "is_dir", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[11]; + } +const_str_is_symlink = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 10, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "is_symlink", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[4]; + PyObject *ob_item[18]; }_object; } -os_toplevel_consts_85_names = { +os_toplevel_consts_83_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 4, + .ob_size = 18, }, .ob_item = { & const_str_sys._ascii.ob_base, & const_str_audit._ascii.ob_base, - & const_str__walk._ascii.ob_base, & const_str_fspath._ascii.ob_base, + &_Py_ID(path), + & const_str_islink._ascii.ob_base, + &_Py_ID(join), + & const_str_pop._ascii.ob_base, + &_Py_ID(isinstance), + & const_str_tuple._ascii.ob_base, + & const_str_scandir._ascii.ob_base, + & const_str_OSError._ascii.ob_base, + &_Py_ID(next), + & const_str_StopIteration._ascii.ob_base, + & const_str_is_dir._ascii.ob_base, + &_Py_ID(append), + &_Py_ID(name), + & const_str_is_symlink._ascii.ob_base, + &_Py_ID(reversed), }, }, }; @@ -113753,7 +110978,7 @@ static const_str_walk = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -113762,7 +110987,7 @@ const_str_walk = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "walk", @@ -113771,18 +110996,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[56]; + char ob_sval[577]; } -os_toplevel_consts_85_linetable = { +os_toplevel_consts_83_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 55, + .ob_size = 576, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x78\x01\x00\x05\x08\x84\x49\x88\x69\x98\x13\x98\x67\xa0\x77\xb0\x0b\xd1\x04\x3c\xd4\x04\x3c\xd0\x04\x3c\xdd\x0b\x10\x95\x16\x98\x03\x91\x1b\x94\x1b\x98\x67\xa0\x77\xb0\x0b\xd1\x0b\x3c\xd4\x0b\x3c\xd0\x04\x3c", + .ob_sval = "\xe8\x00\xf8\x80\x00\xf4\x78\x01\x00\x05\x08\x87\x49\x81\x49\x88\x69\x98\x13\x98\x67\xa0\x77\xb0\x0b\xd4\x04\x3c\xe4\x0d\x13\x90\x43\x8b\x5b\x88\x4d\x80\x45\xdc\x13\x17\x97\x3b\x91\x3b\xa4\x04\xa7\x09\xa1\x09\x88\x44\x80\x46\xd9\x0a\x0f\xd8\x0e\x13\x8f\x69\x89\x69\x8b\x6b\x88\x03\xdc\x0b\x15\x90\x63\x9c\x35\xd4\x0b\x21\xd8\x12\x15\x8a\x49\xd8\x0c\x14\xe0\x0f\x11\x88\x04\xd8\x12\x14\x88\x07\xd8\x14\x16\x88\x09\xf0\x0e\x05\x09\x15\xdc\x19\x20\xa0\x13\x9b\x1c\x88\x4a\xf0\x0c\x00\x10\x15\x88\x04\xd8\x0d\x17\xf1\x00\x29\x09\x35\xd8\x12\x16\xf0\x02\x09\x11\x1a\xf0\x02\x03\x15\x1e\xdc\x20\x24\xa0\x5a\xd3\x20\x30\x99\x05\xf0\x12\x05\x11\x23\xd8\x1d\x22\x9f\x5c\x99\x5c\x9b\x5e\x90\x46\xf1\x0c\x00\x14\x1a\xd8\x14\x18\x97\x4b\x91\x4b\xa0\x05\xa7\x0a\xa1\x0a\xd5\x14\x2b\xe0\x14\x1b\x97\x4e\x91\x4e\xa0\x35\xa7\x3a\xa1\x3a\xd4\x14\x2e\xe1\x17\x1e\xa1\x36\xf1\x06\x00\x18\x23\xd8\x24\x28\x99\x09\xf0\x04\x06\x19\x2f\xd8\x29\x2e\xd7\x29\x39\xd1\x29\x39\xd3\x29\x3b\x98\x4a\xf0\x0c\x00\x29\x33\xa0\x4e\x98\x09\xe1\x17\x20\xd8\x18\x21\xd7\x18\x28\xd1\x18\x28\xa8\x15\xaf\x1a\xa9\x1a\xd4\x18\x34\xf0\x51\x01\x00\x13\x17\xf8\xf0\x31\x00\x0b\x10\xf8\xf4\x22\x00\x10\x17\xf2\x00\x03\x09\x15\xd8\x0f\x16\xd0\x0f\x22\xd9\x10\x17\x98\x05\x94\x0e\xdc\x0c\x14\xfb\xf0\x07\x03\x09\x15\xfb\xf4\x16\x00\x1c\x29\xf2\x00\x01\x15\x1e\xd9\x18\x1d\xf0\x03\x01\x15\x1e\xfb\xe4\x17\x1e\xf2\x00\x04\x11\x1a\xd8\x17\x1e\xd0\x17\x2a\xd9\x18\x1f\xa0\x05\x9c\x0e\xd8\x1b\x1f\x90\x44\xdc\x14\x19\xfb\xf0\x09\x04\x11\x1a\xfb\xf4\x10\x00\x18\x1f\xf2\x00\x03\x11\x23\xf0\x06\x00\x1e\x23\x92\x46\xf0\x07\x03\x11\x23\xfb\xf4\x24\x00\x20\x27\xf2\x00\x04\x19\x2f\xf0\x08\x00\x2a\x2f\x9a\x4a\xf0\x09\x04\x19\x2f\xfa\xf7\x43\x01\x29\x09\x35\xf7\x00\x29\x09\x35\xf1\x00\x29\x09\x35\xfa\xf1\x54\x01\x00\x0c\x10\xd9\x0c\x14\xe1\x0b\x12\xe0\x12\x15\x90\x74\x98\x57\xd0\x12\x24\xd2\x0c\x24\xe4\x1b\x23\xa0\x44\x9b\x3e\xf2\x00\x07\x0d\x2b\x90\x07\xd9\x1b\x1f\xa0\x03\xa0\x57\xd3\x1b\x2d\x90\x08\xf1\x0a\x00\x14\x1f\xa1\x66\xa8\x58\xd5\x26\x36\xd8\x14\x19\x97\x4c\x91\x4c\xa0\x18\xd5\x14\x2a\xf1\x0f\x07\x0d\x2b\xf0\x14\x00\x0d\x12\x8f\x4c\x89\x4c\x98\x23\x98\x74\xa0\x57\xd0\x19\x2d\xd4\x0c\x2e\xe4\x1c\x24\xa0\x59\xd3\x1c\x2f\xf2\x00\x01\x0d\x27\x90\x08\xd8\x10\x15\x97\x0c\x91\x0c\x98\x58\xd5\x10\x26\xf0\x03\x01\x0d\x27\xf3\x69\x02\x00\x0b\x10\xfb", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[231]; + } +os_toplevel_consts_83_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 230, + }, + .ob_shash = -1, + .ob_sval = "\x82\x41\x33\x48\x22\x01\xc1\x36\x0b\x44\x1c\x00\xc2\x01\x04\x48\x22\x01\xc2\x05\x02\x46\x18\x03\xc2\x09\x0b\x44\x3c\x02\xc2\x14\x01\x46\x18\x03\xc2\x16\x10\x45\x2d\x02\xc2\x26\x41\x02\x46\x18\x03\xc3\x29\x10\x45\x3e\x02\xc3\x39\x21\x46\x18\x03\xc4\x1a\x02\x48\x22\x01\xc4\x1c\x09\x44\x39\x03\xc4\x25\x0a\x44\x34\x03\xc4\x2f\x05\x48\x22\x01\xc4\x34\x05\x44\x39\x03\xc4\x39\x03\x48\x22\x01\xc4\x3c\x09\x45\x08\x05\xc5\x05\x01\x45\x0b\x02\xc5\x06\x01\x46\x18\x03\xc5\x07\x01\x45\x08\x05\xc5\x08\x03\x45\x0b\x02\xc5\x0b\x09\x45\x2a\x05\xc5\x14\x0c\x45\x25\x05\xc5\x20\x05\x46\x18\x03\xc5\x25\x05\x45\x2a\x05\xc5\x2a\x03\x46\x18\x03\xc5\x2d\x0b\x45\x3b\x05\xc5\x38\x02\x46\x18\x03\xc5\x3a\x01\x45\x3b\x05\xc5\x3b\x03\x46\x18\x03\xc5\x3e\x0b\x46\x0c\x05\xc6\x09\x02\x46\x18\x03\xc6\x0b\x01\x46\x0c\x05\xc6\x0c\x03\x46\x18\x03\xc6\x0f\x09\x48\x22\x01\xc6\x18\x05\x46\x21\x07\xc6\x1d\x35\x48\x22\x01\xc7\x13\x41\x0b\x48\x22\x01", }; static struct { @@ -113792,7 +111034,7 @@ static const_str_topdown = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -113801,7 +111043,7 @@ const_str_topdown = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "topdown", @@ -113814,7 +111056,7 @@ static const_str_onerror = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -113823,7 +111065,7 @@ const_str_onerror = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "onerror", @@ -113836,7 +111078,7 @@ static const_str_followlinks = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -113845,183 +111087,32 @@ const_str_followlinks = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "followlinks", }; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[4]; - }_object; - } -os_toplevel_consts_85_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 4, - }, - .ob_item = { - &_Py_ID(top), - & const_str_topdown._ascii.ob_base, - & const_str_onerror._ascii.ob_base, - & const_str_followlinks._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(112) -os_toplevel_consts_85 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 56, - }, - .co_consts = & os_toplevel_consts_85_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_85_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 4, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 7, - .co_firstlineno = 282, - .co_nlocalsplus = 4, - .co_nlocals = 4, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_85_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, - .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, - .co_name = & const_str_walk._ascii.ob_base, - .co_qualname = & const_str_walk._ascii.ob_base, - .co_linetable = & os_toplevel_consts_85_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x7c\x01\x7c\x02\x7c\x03\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\x7c\x03\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", - ._co_firsttraceable = 0, -}; static struct { PyASCIIObject _ascii; - uint8_t _data[7]; + uint8_t _data[6]; } -const_str_is_dir = { +const_str_stack = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 6, + .length = 5, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "is_dir", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[11]; - } -const_str_is_symlink = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 10, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "is_symlink", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[12]; - }_object; - } -os_toplevel_consts_86_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 12, - }, - .ob_item = { - & const_str_scandir._ascii.ob_base, - & const_str_OSError._ascii.ob_base, - &_Py_ID(next), - & const_str_StopIteration._ascii.ob_base, - & const_str_is_dir._ascii.ob_base, - &_Py_ID(append), - &_Py_ID(name), - & const_str_is_symlink._ascii.ob_base, - &_Py_ID(path), - & const_str_islink._ascii.ob_base, - &_Py_ID(join), - & const_str__walk._ascii.ob_base, - }, - }, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[865]; - } -os_toplevel_consts_86_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 864, - }, - .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xd8\x0b\x0d\x80\x44\xd8\x0e\x10\x80\x47\xd8\x10\x12\x80\x49\xf0\x0e\x07\x05\x0f\xf5\x06\x00\x16\x1d\x98\x53\x91\x5c\x94\x5c\x88\x0a\x88\x0a\xf8\xdd\x0b\x12\xf0\x00\x03\x05\x0f\xf0\x00\x03\x05\x0f\xf0\x00\x03\x05\x0f\xd8\x0b\x12\xd0\x0b\x1e\xd8\x0c\x13\x88\x47\x90\x45\x89\x4e\x8c\x4e\x88\x4e\xd8\x08\x0e\x88\x06\x88\x06\x88\x06\x88\x06\x88\x06\xf8\xf8\xf8\xf8\xf0\x07\x03\x05\x0f\xf8\xf8\xf8\xf0\x0a\x00\x0a\x14\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x02\x27\x09\x31\xf0\x02\x08\x0d\x17\xf0\x02\x03\x11\x1a\xdd\x1c\x20\xa0\x1a\xd1\x1c\x2c\xd4\x1c\x2c\x90\x45\x90\x45\xf8\xdd\x17\x24\xf0\x00\x01\x11\x1a\xf0\x00\x01\x11\x1a\xf0\x00\x01\x11\x1a\xd8\x14\x19\x90\x45\xf0\x03\x01\x11\x1a\xf8\xf8\xf8\xf0\x03\x00\x15\x1a\xf8\xf5\x06\x00\x14\x1b\xf0\x00\x03\x0d\x17\xf0\x00\x03\x0d\x17\xf0\x00\x03\x0d\x17\xd8\x13\x1a\xd0\x13\x26\xd8\x14\x1b\x90\x47\x98\x45\x91\x4e\x94\x4e\x90\x4e\xd8\x10\x16\x90\x06\x90\x06\x90\x06\xf0\x15\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf1\x00\x28\x05\x31\xf4\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf8\xf8\xf8\xf8\xf0\x0e\x03\x0d\x17\xf8\xf8\xf8\xf0\x0a\x05\x0d\x1f\xd8\x19\x1e\x9f\x1c\x9a\x1c\x99\x1e\x9c\x1e\x90\x06\x90\x06\xf8\xdd\x13\x1a\xf0\x00\x03\x0d\x1f\xf0\x00\x03\x0d\x1f\xf0\x00\x03\x0d\x1f\xf0\x06\x00\x1a\x1f\x90\x06\x90\x06\x90\x06\xf0\x07\x03\x0d\x1f\xf8\xf8\xf8\xf0\x0a\x00\x10\x16\xf0\x00\x03\x0d\x2b\xd8\x10\x14\x97\x0b\x92\x0b\x98\x45\x9c\x4a\xd1\x10\x27\xd4\x10\x27\xd0\x10\x27\xd0\x10\x27\xe0\x10\x17\x97\x0e\x92\x0e\x98\x75\x9c\x7a\xd1\x10\x2a\xd4\x10\x2a\xd0\x10\x2a\xe0\x13\x1a\xf0\x00\x10\x0d\x31\x98\x76\xf0\x00\x10\x0d\x31\xf0\x06\x00\x14\x1f\xf0\x00\x0a\x11\x2f\xd8\x20\x24\x90\x49\x90\x49\xf0\x04\x06\x15\x2b\xd8\x25\x2a\xd7\x25\x35\xd2\x25\x35\xd1\x25\x37\xd4\x25\x37\x98\x0a\x98\x0a\xf8\xdd\x1b\x22\xf0\x00\x04\x15\x2b\xf0\x00\x04\x15\x2b\xf0\x00\x04\x15\x2b\xf0\x08\x00\x26\x2b\x98\x0a\x98\x0a\x98\x0a\xf0\x09\x04\x15\x2b\xf8\xf8\xf8\xf0\x0a\x00\x25\x2f\xa0\x0e\x90\x49\xe0\x13\x1c\xf0\x00\x01\x11\x31\xd8\x14\x1d\xd7\x14\x24\xd2\x14\x24\xa0\x55\xa4\x5a\xd1\x14\x30\xd4\x14\x30\xd0\x14\x30\xf1\x4f\x01\x27\x09\x31\xf0\x0a\x00\x15\x1a\xf0\x0d\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf1\x00\x28\x05\x31\xf4\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf8\xf8\xf8\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x00\x28\x05\x31\xf0\x56\x01\x00\x08\x0f\xf0\x00\x12\x05\x21\xd8\x0e\x11\x90\x34\x98\x17\xd0\x0e\x20\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20\xf5\x06\x00\x18\x1c\x94\x7b\xa5\x44\xa4\x49\x90\x04\x88\x06\xd8\x17\x1b\xf0\x00\x07\x09\x4a\x01\xf0\x00\x07\x09\x4a\x01\x88\x47\xd8\x17\x1b\x90\x74\x98\x43\xa0\x17\xd1\x17\x29\xd4\x17\x29\x88\x48\xf0\x0a\x00\x10\x1b\xf0\x00\x01\x0d\x4a\x01\xa0\x26\xa0\x26\xa8\x18\xd1\x22\x32\xd4\x22\x32\xf0\x00\x01\x0d\x4a\x01\xdd\x1b\x20\xa0\x18\xa8\x37\xb0\x47\xb8\x5b\xd1\x1b\x49\xd4\x1b\x49\xd0\x10\x49\xd0\x10\x49\xd0\x10\x49\xd0\x10\x49\xd0\x10\x49\xd0\x10\x49\xd0\x10\x49\xf8\xf0\x0f\x07\x09\x4a\x01\xf0\x00\x07\x09\x4a\x01\xf0\x14\x00\x19\x22\xf0\x00\x01\x09\x46\x01\xf0\x00\x01\x09\x46\x01\x88\x48\xdd\x17\x1c\x98\x58\xa0\x77\xb0\x07\xb8\x1b\xd1\x17\x45\xd4\x17\x45\xd0\x0c\x45\xd0\x0c\x45\xd0\x0c\x45\xd0\x0c\x45\xd0\x0c\x45\xd0\x0c\x45\xd0\x0c\x45\xd0\x0c\x45\xe0\x0e\x11\x90\x34\x98\x17\xd0\x0e\x20\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20\xd0\x08\x20", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[186]; - } -os_toplevel_consts_86_exceptiontable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 185, - }, - .ob_shash = -1, - .ob_sval = "\x8a\x0f\x1a\x00\x9a\x0a\x3c\x03\xa4\x0d\x37\x03\xb7\x05\x3c\x03\xc1\x01\x02\x45\x14\x03\xc1\x05\x0f\x41\x15\x02\xc1\x14\x01\x41\x26\x02\xc1\x15\x0a\x41\x22\x05\xc1\x1f\x01\x41\x26\x02\xc1\x20\x01\x45\x14\x03\xc1\x21\x01\x41\x22\x05\xc1\x22\x03\x41\x26\x02\xc1\x25\x01\x45\x14\x03\xc1\x26\x0a\x42\x13\x05\xc1\x30\x0d\x42\x0e\x05\xc1\x3d\x04\x45\x14\x03\xc2\x0e\x05\x42\x13\x05\xc2\x13\x03\x45\x14\x03\xc2\x17\x14\x42\x2c\x02\xc2\x2b\x01\x45\x14\x03\xc2\x2c\x0c\x42\x3b\x05\xc2\x38\x02\x45\x14\x03\xc2\x3a\x01\x42\x3b\x05\xc2\x3b\x41\x03\x45\x14\x03\xc3\x3f\x14\x44\x14\x02\xc4\x13\x01\x45\x14\x03\xc4\x14\x0c\x44\x23\x05\xc4\x20\x02\x45\x14\x03\xc4\x22\x01\x44\x23\x05\xc4\x23\x24\x45\x14\x03\xc5\x14\x04\x45\x18\x07\xc5\x1b\x01\x45\x18\x07", + ._data = "stack", }; static struct { @@ -114031,7 +111122,7 @@ static const_str_nondirs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -114040,7 +111131,7 @@ const_str_nondirs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "nondirs", @@ -114053,7 +111144,7 @@ static const_str_walk_dirs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -114062,7 +111153,7 @@ const_str_walk_dirs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "walk_dirs", @@ -114075,7 +111166,7 @@ static const_str_scandir_it = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -114084,7 +111175,7 @@ const_str_scandir_it = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "scandir_it", @@ -114097,7 +111188,7 @@ static const_str_error = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -114106,11 +111197,33 @@ const_str_error = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "error", }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[5]; + } +const_str_cont = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 4, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "cont", +}; static struct { PyASCIIObject _ascii; @@ -114119,7 +111232,7 @@ static const_str_walk_into = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -114128,7 +111241,7 @@ const_str_walk_into = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "walk_into", @@ -114138,120 +111251,76 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[17]; + PyObject *ob_item[19]; }_object; } -os_toplevel_consts_86_localsplusnames = { +os_toplevel_consts_83_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 17, + .ob_size = 19, }, .ob_item = { &_Py_ID(top), & const_str_topdown._ascii.ob_base, & const_str_onerror._ascii.ob_base, & const_str_followlinks._ascii.ob_base, + & const_str_stack._ascii.ob_base, + & const_str_islink._ascii.ob_base, + &_Py_ID(join), & const_str_dirs._ascii.ob_base, & const_str_nondirs._ascii.ob_base, & const_str_walk_dirs._ascii.ob_base, & const_str_scandir_it._ascii.ob_base, & const_str_error._ascii.ob_base, + & const_str_cont._ascii.ob_base, & const_str_entry._ascii.ob_base, & const_str_is_dir._ascii.ob_base, & const_str_walk_into._ascii.ob_base, & const_str_is_symlink._ascii.ob_base, - & const_str_islink._ascii.ob_base, - &_Py_ID(join), & const_str_dirname._ascii.ob_base, & const_str_new_path._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(956) -os_toplevel_consts_86 = { + struct _PyCode_DEF(1096) +os_toplevel_consts_83 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 478, + .ob_size = 548, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_3_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_86_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_86_exceptiontable.ob_base.ob_base, + .co_consts = & os_toplevel_consts_83_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_83_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_83_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 26 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 345, - .co_nlocalsplus = 17, - .co_nlocals = 17, - .co_nplaincellvars = 0, + .co_firstlineno = 282, + .co_nlocalsplus = 19, + .co_nlocals = 19, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_86_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & zipimport_toplevel_consts_24_localspluskinds.ob_base.ob_base, + .co_version = 607, + .co_localsplusnames = & os_toplevel_consts_83_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & ntpath_toplevel_consts_45_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, - .co_name = & const_str__walk._ascii.ob_base, - .co_qualname = & const_str__walk._ascii.ob_base, - .co_linetable = & os_toplevel_consts_86_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x67\x00\x7d\x04\x67\x00\x7d\x05\x67\x00\x7d\x06\x09\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x6e\x25\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x18\x7d\x08\x7c\x02\x81\x0b\x02\x00\x7c\x02\x7c\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x00\x7d\x08\x7e\x08\x64\x00\x53\x00\x64\x00\x7d\x08\x7e\x08\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x07\x35\x00\x01\x00\x09\x00\x09\x00\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x6e\x10\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\xe6\x77\x00\x78\x03\x59\x00\x77\x01\x6e\x30\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x23\x7d\x08\x7c\x02\x81\x0b\x02\x00\x7c\x02\x7c\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x00\x7d\x08\x7e\x08\x64\x00\x64\x00\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x64\x00\x7d\x08\x7e\x08\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x09\x00\x7c\x09\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0a\x6e\x12\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x02\x7d\x0a\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x0a\x72\x1b\x7c\x04\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x1a\x7c\x05\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x73\x4e\x7c\x0a\x72\x4c\x7c\x03\x72\x03\x64\x01\x7d\x0b\x6e\x2b\x09\x00\x7c\x09\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x6e\x12\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x02\x7d\x0c\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x0c\x0c\x00\x7d\x0b\x7c\x0b\x72\x1a\x7c\x06\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x90\x01\x8c\x04\x09\x00\x64\x00\x64\x00\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x7c\x01\x72\x57\x7c\x00\x7c\x04\x7c\x05\x66\x03\x56\x00\x97\x01\x01\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x7d\x0d\x7c\x04\x44\x00\x5d\x33\x7d\x0f\x02\x00\x7c\x0e\x7c\x00\x7c\x0f\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x10\x7c\x03\x73\x0b\x02\x00\x7c\x0d\x7c\x10\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x18\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x10\x7c\x01\x7c\x02\x7c\x03\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x64\x00\x7b\x03\x56\x00\x97\x02\x86\x04\x01\x00\x8c\x34\x64\x00\x53\x00\x7c\x06\x44\x00\x5d\x1a\x7d\x10\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x10\x7c\x01\x7c\x02\x7c\x03\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x64\x00\x7b\x03\x56\x00\x97\x02\x86\x04\x01\x00\x8c\x1b\x7c\x00\x7c\x04\x7c\x05\x66\x03\x56\x00\x97\x01\x01\x00\x64\x00\x53\x00", + .co_name = & const_str_walk._ascii.ob_base, + .co_qualname = & const_str_walk._ascii.ob_base, + .co_linetable = & os_toplevel_consts_83_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x7c\x01\x7c\x02\x7c\x03\xab\x05\x00\x00\x00\x00\x00\x00\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x67\x01\x7d\x04\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7d\x05\x7c\x04\x72\xd1\x7c\x04\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x05\x7c\x00\x96\x01\x97\x01\x01\x00\x8c\x27\x67\x00\x7d\x07\x67\x00\x7d\x08\x67\x00\x7d\x09\x09\x00\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0a\x64\x03\x7d\x0c\x7c\x0a\x35\x00\x01\x00\x09\x00\x09\x00\x09\x00\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0d\x09\x00\x09\x00\x7c\x0d\x6a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x7c\x0e\x72\x1c\x7c\x07\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x6a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x1b\x7c\x08\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x6a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x73\x38\x7c\x0e\x72\x36\x7c\x03\x72\x03\x64\x04\x7d\x0f\x6e\x14\x09\x00\x7c\x0d\x6a\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x10\x7c\x10\x0c\x00\x7d\x0f\x7c\x0f\x72\x1b\x7c\x09\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x93\x79\x02\x79\x02\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x14\x7d\x0b\x7c\x02\x81\x08\x02\x00\x7c\x02\x7c\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x02\x7d\x0b\x7e\x0b\x8c\xec\x64\x02\x7d\x0b\x7e\x0b\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x18\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x48\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x16\x7d\x0b\x7c\x02\x81\x08\x02\x00\x7c\x02\x7c\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x04\x7d\x0c\x59\x00\x64\x02\x7d\x0b\x7e\x0b\x6e\x2a\x64\x02\x7d\x0b\x7e\x0b\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x03\x7d\x0e\x59\x00\x8c\xd4\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x03\x7d\x10\x59\x00\x8c\x92\x77\x00\x78\x03\x59\x00\x77\x01\x64\x02\x64\x02\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0c\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x6e\x03\x78\x03\x59\x00\x77\x01\x7c\x0c\x72\x02\x90\x01\x8c\x60\x7c\x01\x72\x3d\x7c\x00\x7c\x07\x7c\x08\x66\x03\x96\x01\x97\x01\x01\x00\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x27\x00\x00\x7d\x11\x02\x00\x7c\x06\x7c\x00\x7c\x11\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x12\x7c\x03\x73\x09\x02\x00\x7c\x05\x7c\x12\xab\x01\x00\x00\x00\x00\x00\x00\x72\x01\x8c\x17\x7c\x04\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x12\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x29\x04\x00\x6e\x35\x7c\x04\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x07\x7c\x08\x66\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x13\x00\x00\x7d\x12\x7c\x04\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x12\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x15\x04\x00\x7c\x04\x72\x02\x90\x01\x8c\xd6\x90\x01\x8c\x08\xad\x03\x77\x01", ._co_firsttraceable = 2, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[16]; - } -const_str_follow_symlinks = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 15, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "follow_symlinks", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[7]; - } -const_str_dir_fd = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 6, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "dir_fd", -}; static struct { PyGC_Head _gc_head; @@ -114260,18 +111329,18 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_89 = { +os_toplevel_consts_85 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_follow_symlinks._ascii.ob_base, - & const_str_dir_fd._ascii.ob_base, + &_Py_ID(follow_symlinks), + &_Py_ID(dir_fd), }, }, }; @@ -114280,10 +111349,10 @@ static PyASCIIObject _ascii; uint8_t _data[1283]; } -os_toplevel_consts_90_consts_0 = { +os_toplevel_consts_86_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 1282, @@ -114292,7 +111361,7 @@ os_toplevel_consts_90_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x44\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x74\x72\x65\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x69\x73\x20\x62\x65\x68\x61\x76\x65\x73\x20\x65\x78\x61\x63\x74\x6c\x79\x20\x6c\x69\x6b\x65\x20\x77\x61\x6c\x6b\x28\x29\x2c\x20\x65\x78\x63\x65\x70\x74\x20\x74\x68\x61\x74\x20\x69\x74\x20\x79\x69\x65\x6c\x64\x73\x20\x61\x20\x34\x2d\x74\x75\x70\x6c\x65\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x2c\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x2c\x20\x64\x69\x72\x66\x64\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x60\x64\x69\x72\x70\x61\x74\x68\x60\x2c\x20\x60\x64\x69\x72\x6e\x61\x6d\x65\x73\x60\x20\x61\x6e\x64\x20\x60\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x60\x20\x61\x72\x65\x20\x69\x64\x65\x6e\x74\x69\x63\x61\x6c\x20\x74\x6f\x20\x77\x61\x6c\x6b\x28\x29\x20\x6f\x75\x74\x70\x75\x74\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x6e\x64\x20\x60\x64\x69\x72\x66\x64\x60\x20\x69\x73\x20\x61\x20\x66\x69\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x20\x72\x65\x66\x65\x72\x72\x69\x6e\x67\x20\x74\x6f\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x60\x64\x69\x72\x70\x61\x74\x68\x60\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x61\x64\x76\x61\x6e\x74\x61\x67\x65\x20\x6f\x66\x20\x66\x77\x61\x6c\x6b\x28\x29\x20\x6f\x76\x65\x72\x20\x77\x61\x6c\x6b\x28\x29\x20\x69\x73\x20\x74\x68\x61\x74\x20\x69\x74\x27\x73\x20\x73\x61\x66\x65\x20\x61\x67\x61\x69\x6e\x73\x74\x20\x73\x79\x6d\x6c\x69\x6e\x6b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x61\x63\x65\x73\x20\x28\x77\x68\x65\x6e\x20\x66\x6f\x6c\x6c\x6f\x77\x5f\x73\x79\x6d\x6c\x69\x6e\x6b\x73\x20\x69\x73\x20\x46\x61\x6c\x73\x65\x29\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x49\x66\x20\x64\x69\x72\x5f\x66\x64\x20\x69\x73\x20\x6e\x6f\x74\x20\x4e\x6f\x6e\x65\x2c\x20\x69\x74\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x61\x20\x66\x69\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x20\x6f\x70\x65\x6e\x20\x74\x6f\x20\x61\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x61\x6e\x64\x20\x74\x6f\x70\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x3b\x20\x74\x6f\x70\x20\x77\x69\x6c\x6c\x20\x74\x68\x65\x6e\x20\x62\x65\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x20\x74\x6f\x20\x74\x68\x61\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x28\x64\x69\x72\x5f\x66\x64\x20\x69\x73\x20\x61\x6c\x77\x61\x79\x73\x20\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x20\x66\x6f\x72\x20\x66\x77\x61\x6c\x6b\x2e\x29\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x43\x61\x75\x74\x69\x6f\x6e\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x53\x69\x6e\x63\x65\x20\x66\x77\x61\x6c\x6b\x28\x29\x20\x79\x69\x65\x6c\x64\x73\x20\x66\x69\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x73\x2c\x20\x74\x68\x6f\x73\x65\x20\x61\x72\x65\x20\x6f\x6e\x6c\x79\x20\x76\x61\x6c\x69\x64\x20\x75\x6e\x74\x69\x6c\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x65\x78\x74\x20\x69\x74\x65\x72\x61\x74\x69\x6f\x6e\x20\x73\x74\x65\x70\x2c\x20\x73\x6f\x20\x79\x6f\x75\x20\x73\x68\x6f\x75\x6c\x64\x20\x64\x75\x70\x28\x29\x20\x74\x68\x65\x6d\x20\x69\x66\x20\x79\x6f\x75\x20\x77\x61\x6e\x74\x20\x74\x6f\x20\x6b\x65\x65\x70\x20\x74\x68\x65\x6d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x61\x20\x6c\x6f\x6e\x67\x65\x72\x20\x70\x65\x72\x69\x6f\x64\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x45\x78\x61\x6d\x70\x6c\x65\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6d\x70\x6f\x72\x74\x20\x6f\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x72\x6f\x6f\x74\x2c\x20\x64\x69\x72\x73\x2c\x20\x66\x69\x6c\x65\x73\x2c\x20\x72\x6f\x6f\x74\x66\x64\x20\x69\x6e\x20\x6f\x73\x2e\x66\x77\x61\x6c\x6b\x28\x27\x70\x79\x74\x68\x6f\x6e\x2f\x4c\x69\x62\x2f\x65\x6d\x61\x69\x6c\x27\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x72\x6f\x6f\x74\x2c\x20\x22\x63\x6f\x6e\x73\x75\x6d\x65\x73\x22\x2c\x20\x65\x6e\x64\x3d\x22\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x73\x75\x6d\x28\x6f\x73\x2e\x73\x74\x61\x74\x28\x6e\x61\x6d\x65\x2c\x20\x64\x69\x72\x5f\x66\x64\x3d\x72\x6f\x6f\x74\x66\x64\x29\x2e\x73\x74\x5f\x73\x69\x7a\x65\x20\x66\x6f\x72\x20\x6e\x61\x6d\x65\x20\x69\x6e\x20\x66\x69\x6c\x65\x73\x29\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6e\x64\x3d\x22\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x22\x62\x79\x74\x65\x73\x20\x69\x6e\x22\x2c\x20\x6c\x65\x6e\x28\x66\x69\x6c\x65\x73\x29\x2c\x20\x22\x6e\x6f\x6e\x2d\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x66\x69\x6c\x65\x73\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x27\x43\x56\x53\x27\x20\x69\x6e\x20\x64\x69\x72\x73\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x73\x2e\x72\x65\x6d\x6f\x76\x65\x28\x27\x43\x56\x53\x27\x29\x20\x20\x23\x20\x64\x6f\x6e\x27\x74\x20\x76\x69\x73\x69\x74\x20\x43\x56\x53\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -114302,10 +111371,10 @@ static PyASCIIObject _ascii; uint8_t _data[9]; } -os_toplevel_consts_90_consts_1 = { +os_toplevel_consts_86_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -114314,7 +111383,7 @@ os_toplevel_consts_90_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "os.fwalk", @@ -114327,17 +111396,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_90_consts_4 = { +os_toplevel_consts_86_consts_4 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_dir_fd._ascii.ob_base, + &_Py_ID(dir_fd), }, }, }; @@ -114349,21 +111418,21 @@ static PyObject *ob_item[6]; }_object; } -os_toplevel_consts_90_consts = { +os_toplevel_consts_86_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { - & os_toplevel_consts_90_consts_0._ascii.ob_base, - & os_toplevel_consts_90_consts_1._ascii.ob_base, + & os_toplevel_consts_86_consts_0._ascii.ob_base, + & os_toplevel_consts_86_consts_1._ascii.ob_base, Py_False, - & os_toplevel_consts_89._object.ob_base.ob_base, - & os_toplevel_consts_90_consts_4._object.ob_base.ob_base, + & os_toplevel_consts_85._object.ob_base.ob_base, + & os_toplevel_consts_86_consts_4._object.ob_base.ob_base, Py_None, }, }, @@ -114376,7 +111445,7 @@ static const_str_O_RDONLY = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -114385,7 +111454,7 @@ const_str_O_RDONLY = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "O_RDONLY", @@ -114398,7 +111467,7 @@ static const_str__fwalk = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -114407,7 +111476,7 @@ const_str__fwalk = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_fwalk", @@ -114420,11 +111489,11 @@ static PyObject *ob_item[15]; }_object; } -os_toplevel_consts_90_names = { +os_toplevel_consts_86_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -114443,7 +111512,7 @@ os_toplevel_consts_90_names = { & const_str_samestat._ascii.ob_base, & const_str__fwalk._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), &_Py_ID(close), }, }, @@ -114456,7 +111525,7 @@ static const_str_fwalk = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -114465,7 +111534,7 @@ const_str_fwalk = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fwalk", @@ -114474,35 +111543,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[272]; + char ob_sval[181]; } -os_toplevel_consts_90_linetable = { +os_toplevel_consts_86_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 271, + .ob_size = 180, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xf5\x42\x01\x00\x09\x0c\x8c\x09\x90\x2a\x98\x63\xa0\x37\xa8\x47\xb0\x5f\xc0\x66\xd1\x08\x4d\xd4\x08\x4d\xd0\x08\x4d\xdd\x0e\x14\x90\x53\x89\x6b\x8c\x6b\x88\x03\xf0\x06\x00\x10\x1f\xf0\x00\x01\x09\x46\x01\xdd\x16\x1a\x98\x33\xb0\x05\xb8\x66\xd0\x16\x45\xd1\x16\x45\xd4\x16\x45\x88\x47\xdd\x10\x14\x90\x53\x9d\x28\xa8\x36\xd0\x10\x32\xd1\x10\x32\xd4\x10\x32\x88\x05\xf0\x02\x06\x09\x19\xd8\x10\x1f\xf0\x00\x03\x0d\x45\x01\xa5\x42\xa4\x4a\xa8\x77\xac\x7f\xd1\x24\x3f\xd4\x24\x3f\xf0\x00\x03\x0d\x45\x01\xdd\x24\x28\xa4\x4d\xb0\x27\xbd\x34\xc0\x05\xb9\x3b\xbc\x3b\xd1\x24\x47\xd4\x24\x47\xf0\x03\x03\x0d\x45\x01\xe5\x1b\x21\xa0\x25\xa8\x13\xad\x6a\xb8\x13\xbd\x65\xd1\x2e\x44\xd4\x2e\x44\xd8\x22\x29\xa8\x37\xb0\x4f\xf1\x03\x01\x1c\x45\x01\xf4\x00\x01\x1c\x45\x01\xf0\x00\x01\x11\x45\x01\xf0\x00\x01\x11\x45\x01\xf0\x00\x01\x11\x45\x01\xf0\x00\x01\x11\x45\x01\xf0\x00\x01\x11\x45\x01\xf0\x00\x01\x11\x45\x01\xf0\x00\x01\x11\x45\x01\xf5\x06\x00\x0d\x12\x90\x25\x89\x4c\x8c\x4c\x88\x4c\x88\x4c\x88\x4c\xf8\x8d\x45\x90\x25\x89\x4c\x8c\x4c\x88\x4c\x88\x4c\xf8\xf8\xf8", + .ob_sval = "\xe8\x00\xf8\x80\x00\xf4\x42\x01\x00\x09\x0c\x8f\x09\x89\x09\x90\x2a\x98\x63\xa0\x37\xa8\x47\xb0\x5f\xc0\x66\xd4\x08\x4d\xdc\x0e\x14\x90\x53\x8b\x6b\x88\x03\xf1\x06\x00\x10\x1f\xdc\x16\x1a\x98\x33\xb0\x05\xb8\x66\xd4\x16\x45\x88\x47\xdc\x10\x14\x90\x53\x9c\x28\xa8\x36\xd4\x10\x32\x88\x05\xf0\x02\x06\x09\x19\xd9\x10\x1f\xa4\x42\xa7\x4a\xa1\x4a\xa8\x77\xaf\x7f\xa9\x7f\xd4\x24\x3f\xdc\x24\x28\xa7\x4d\xa1\x4d\xb0\x27\xbc\x34\xc0\x05\xbb\x3b\xd4\x24\x47\xdc\x1b\x21\xa0\x25\xa8\x13\xac\x6a\xb8\x13\xbc\x65\xd3\x2e\x44\xd8\x22\x29\xa8\x37\xb0\x4f\xf3\x03\x01\x1c\x45\x01\xf7\x00\x01\x11\x45\x01\xf0\x00\x01\x11\x45\x01\xf4\x06\x00\x0d\x12\x90\x25\x8d\x4c\xf0\x07\x01\x11\x45\x01\xf9\xf4\x06\x00\x0d\x12\x90\x25\x8d\x4c\xfc", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[14]; + char ob_sval[50]; } -os_toplevel_consts_90_exceptiontable = { +os_toplevel_consts_86_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 13, + .ob_size = 49, }, .ob_shash = -1, - .ob_sval = "\xc1\x17\x41\x2a\x43\x12\x00\xc3\x12\x11\x43\x23\x03", + .ob_sval = "\x82\x41\x08\x43\x0f\x01\xc1\x0b\x41\x21\x42\x3f\x00\xc2\x2c\x01\x42\x3d\x04\xc2\x2d\x04\x42\x3f\x00\xc2\x31\x0c\x43\x0f\x01\xc2\x3d\x01\x42\x3f\x00\xc2\x3f\x0d\x43\x0c\x03\xc3\x0c\x03\x43\x0f\x01", }; static struct { @@ -114512,7 +111581,7 @@ static const_str_orig_st = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -114521,7 +111590,7 @@ const_str_orig_st = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "orig_st", @@ -114534,7 +111603,7 @@ static const_str_topfd = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -114543,7 +111612,7 @@ const_str_topfd = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "topfd", @@ -114556,11 +111625,11 @@ static PyObject *ob_item[7]; }_object; } -os_toplevel_consts_90_localsplusnames = { +os_toplevel_consts_86_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -114569,48 +111638,46 @@ os_toplevel_consts_90_localsplusnames = { &_Py_ID(top), & const_str_topdown._ascii.ob_base, & const_str_onerror._ascii.ob_base, - & const_str_follow_symlinks._ascii.ob_base, - & const_str_dir_fd._ascii.ob_base, + &_Py_ID(follow_symlinks), + &_Py_ID(dir_fd), & const_str_orig_st._ascii.ob_base, & const_str_topfd._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(460) -os_toplevel_consts_90 = { + struct _PyCode_DEF(418) +os_toplevel_consts_86 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 230, + .ob_size = 209, }, - .co_consts = & os_toplevel_consts_90_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_90_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_90_exceptiontable.ob_base.ob_base, + .co_consts = & os_toplevel_consts_86_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_86_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_86_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 2, + .co_framesize = 15 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, - .co_firstlineno = 431, + .co_firstlineno = 437, .co_nlocalsplus = 7, .co_nlocals = 7, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_90_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_12_localspluskinds.ob_base.ob_base, + .co_version = 608, + .co_localsplusnames = & os_toplevel_consts_86_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_fwalk._ascii.ob_base, .co_qualname = & const_str_fwalk._ascii.ob_base, - .co_linetable = & os_toplevel_consts_90_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x7c\x04\xa6\x06\x00\x00\xab\x06\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x03\x73\x12\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\x7c\x04\xac\x03\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xac\x04\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x09\x00\x7c\x03\x73\x3b\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x4f\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2d\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7c\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\x7c\x03\xa6\x06\x00\x00\xab\x06\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x64\x05\x7b\x03\x56\x00\x97\x02\x86\x04\x01\x00\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x05\x53\x00\x23\x00\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_linetable = & os_toplevel_consts_86_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x7c\x04\xab\x06\x00\x00\x00\x00\x00\x00\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x03\x73\x0e\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x02\x7c\x04\xac\x03\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xac\x04\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x06\x09\x00\x7c\x03\x73\x3e\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x05\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x72\x45\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x26\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7c\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\x7c\x03\xab\x06\x00\x00\x00\x00\x00\x00\x45\x00\x64\x05\x7b\x03\x00\x00\x96\x03\x97\x02\x86\x05\x05\x00\x01\x00\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x05\x37\x00\x8c\x10\x23\x00\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x78\x03\x59\x00\x77\x01\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -114621,18 +111688,18 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_91_consts_2 = { +os_toplevel_consts_87_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_dir_fd._ascii.ob_base, - & const_str_follow_symlinks._ascii.ob_base, + &_Py_ID(dir_fd), + &_Py_ID(follow_symlinks), }, }, }; @@ -114644,17 +111711,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_91_consts_3 = { +os_toplevel_consts_87_consts_3 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_follow_symlinks._ascii.ob_base, + &_Py_ID(follow_symlinks), }, }, }; @@ -114666,11 +111733,11 @@ static PyObject *ob_item[5]; }_object; } -os_toplevel_consts_91_consts = { +os_toplevel_consts_87_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -114678,9 +111745,9 @@ os_toplevel_consts_91_consts = { .ob_item = { Py_None, Py_False, - & os_toplevel_consts_91_consts_2._object.ob_base.ob_base, - & os_toplevel_consts_91_consts_3._object.ob_base.ob_base, - & os_toplevel_consts_90_consts_4._object.ob_base.ob_base, + & os_toplevel_consts_87_consts_2._object.ob_base.ob_base, + & os_toplevel_consts_87_consts_3._object.ob_base.ob_base, + & os_toplevel_consts_86_consts_4._object.ob_base.ob_base, }, }, }; @@ -114692,11 +111759,11 @@ static PyObject *ob_item[16]; }_object; } -os_toplevel_consts_91_names = { +os_toplevel_consts_87_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 16, @@ -114725,35 +111792,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[713]; + char ob_sval[476]; } -os_toplevel_consts_91_linetable = { +os_toplevel_consts_87_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 712, + .ob_size = 475, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xf5\x0a\x00\x16\x1d\x98\x55\x91\x5e\x94\x5e\x88\x0a\xd8\x0f\x11\x88\x04\xd8\x12\x14\x88\x07\xd8\x1a\x21\xd0\x12\x3c\xa0\x5f\xd0\x12\x3c\x90\x24\x90\x24\xb8\x22\x88\x07\xd8\x15\x1f\xf0\x00\x11\x09\x19\xf0\x00\x11\x09\x19\x88\x45\xd8\x13\x18\x94\x3a\x88\x44\xd8\x0f\x16\xf0\x00\x01\x0d\x26\xdd\x17\x1f\xa0\x04\x91\x7e\x94\x7e\x90\x04\xf0\x02\x0d\x0d\x19\xd8\x13\x18\x97\x3c\x92\x3c\x91\x3e\x94\x3e\xf0\x00\x05\x11\x29\xd8\x14\x18\x97\x4b\x92\x4b\xa0\x04\xd1\x14\x25\xd4\x14\x25\xd0\x14\x25\xd8\x17\x1e\xd0\x17\x2a\xd8\x18\x1f\x9f\x0e\x9a\x0e\xa0\x75\xd1\x18\x2d\xd4\x18\x2d\xd0\x18\x2d\xf8\xe0\x14\x1b\x97\x4e\x92\x4e\xa0\x34\xd1\x14\x28\xd4\x14\x28\xd0\x14\x28\xf8\xf8\xdd\x13\x1a\xf0\x00\x06\x0d\x19\xf0\x00\x06\x0d\x19\xf0\x00\x06\x0d\x19\xf0\x02\x05\x11\x19\xe0\x17\x1c\xd7\x17\x27\xd2\x17\x27\xd1\x17\x29\xd4\x17\x29\xf0\x00\x01\x15\x2d\xd8\x18\x1f\x9f\x0e\x9a\x0e\xa0\x74\xd1\x18\x2c\xd4\x18\x2c\xd0\x18\x2c\xf8\xf8\xdd\x17\x1e\xf0\x00\x01\x11\x19\xf0\x00\x01\x11\x19\xf0\x00\x01\x11\x19\xd8\x14\x18\x90\x44\xf0\x03\x01\x11\x19\xf8\xf8\xf8\xf8\xf8\xf0\x0b\x06\x0d\x19\xf8\xf8\xf8\xf0\x10\x00\x0c\x13\xf0\x00\x01\x09\x30\xd8\x12\x19\x98\x34\xa0\x17\xa8\x25\xd0\x12\x2f\xd0\x0c\x2f\xd0\x0c\x2f\xd0\x0c\x2f\xe0\x1c\x23\x98\x4f\x90\x44\x90\x44\xb5\x13\xb0\x54\xb8\x37\xd1\x31\x43\xd4\x31\x43\xf0\x00\x14\x09\x1d\xf0\x00\x14\x09\x1d\x88\x44\xf0\x02\x0c\x0d\x19\xd8\x17\x26\xf0\x00\x06\x11\x44\x01\xd8\x17\x1e\xf0\x00\x05\x15\x44\x01\xdd\x22\x26\xa0\x74\xb0\x45\xc8\x35\xd0\x22\x51\xd1\x22\x51\xd4\x22\x51\x98\x07\x98\x07\xe0\x1f\x26\xd0\x1f\x32\xd0\x1f\x32\xd0\x1f\x32\xd8\x26\x2a\x99\x0b\x98\x04\x98\x65\xd8\x22\x27\xa7\x2a\xa2\x2a\xb8\x55\xa0\x2a\xd1\x22\x43\xd4\x22\x43\x98\x07\xdd\x18\x1c\x98\x54\xa5\x38\xb0\x45\xd0\x18\x3a\xd1\x18\x3a\xd4\x18\x3a\x90\x05\x90\x05\xf8\xdd\x13\x1a\xf0\x00\x03\x0d\x19\xf0\x00\x03\x0d\x19\xf0\x00\x03\x0d\x19\xd8\x13\x1a\xd0\x13\x26\xd8\x14\x1b\x90\x47\x98\x43\x91\x4c\x94\x4c\x90\x4c\xd8\x10\x18\x90\x08\x90\x08\x90\x08\x90\x08\xf8\xf8\xf8\xf8\xf0\x07\x03\x0d\x19\xf8\xf8\xf8\xf0\x08\x06\x0d\x1d\xd8\x13\x22\xf0\x00\x03\x11\x49\x01\xa5\x64\xa4\x6d\xb0\x47\xbd\x54\xc0\x25\xb9\x5b\xbc\x5b\xd1\x26\x49\xd4\x26\x49\xf0\x00\x03\x11\x49\x01\xdd\x1e\x22\x9c\x69\xa8\x07\xb0\x14\xd1\x1e\x36\xd4\x1e\x36\x90\x47\xdd\x1f\x25\xa0\x65\xa8\x57\xb0\x67\xd8\x26\x2d\xa8\x77\xb8\x0f\xf1\x03\x01\x20\x49\x01\xf4\x00\x01\x20\x49\x01\xf0\x00\x01\x15\x49\x01\xf0\x00\x01\x15\x49\x01\xf0\x00\x01\x15\x49\x01\xf0\x00\x01\x15\x49\x01\xf0\x00\x01\x15\x49\x01\xf0\x00\x01\x15\x49\x01\xf0\x00\x01\x15\x49\x01\xf5\x06\x00\x11\x16\x90\x65\x91\x0c\x94\x0c\x90\x0c\x90\x0c\xf8\x95\x05\x90\x65\x91\x0c\x94\x0c\x90\x0c\x90\x0c\xf8\xf8\xf8\xe0\x0f\x16\xf0\x00\x01\x09\x30\xd8\x12\x19\x98\x34\xa0\x17\xa8\x25\xd0\x12\x2f\xd0\x0c\x2f\xd0\x0c\x2f\xd0\x0c\x2f\xd0\x0c\x2f\xd0\x0c\x2f\xf0\x03\x01\x09\x30\xf0\x00\x01\x09\x30", + .ob_sval = "\xe8\x00\xf8\x80\x00\xf4\x0a\x00\x16\x1d\x98\x55\x93\x5e\x88\x0a\xd8\x0f\x11\x88\x04\xd8\x12\x14\x88\x07\xd9\x1a\x21\xa1\x5f\x91\x24\xb8\x22\x88\x07\xd8\x15\x1f\xf2\x00\x11\x09\x19\x88\x45\xd8\x13\x18\x97\x3a\x91\x3a\x88\x44\xd9\x0f\x16\xdc\x17\x1f\xa0\x04\x93\x7e\x90\x04\xf0\x02\x0d\x0d\x19\xd8\x13\x18\x97\x3c\x91\x3c\x94\x3e\xd8\x14\x18\x97\x4b\x91\x4b\xa0\x04\xd4\x14\x25\xd8\x17\x1e\xd0\x17\x2a\xd8\x18\x1f\x9f\x0e\x99\x0e\xa0\x75\xd5\x18\x2d\xe0\x14\x1b\x97\x4e\x91\x4e\xa0\x34\xd4\x14\x28\xf8\xf0\x15\x11\x09\x19\xf1\x26\x00\x0c\x13\xd8\x12\x19\x98\x34\xa0\x17\xa8\x25\xd0\x12\x2f\xd2\x0c\x2f\xe0\x1c\x23\x98\x4f\x91\x44\xb4\x13\xb0\x54\xb8\x37\xd3\x31\x43\xf2\x00\x14\x09\x1d\x88\x44\xf0\x02\x0c\x0d\x19\xd9\x17\x26\xd9\x17\x1e\xdc\x22\x26\xa0\x74\xb0\x45\xc8\x35\xd4\x22\x51\x99\x07\xe0\x1f\x26\xd0\x1f\x32\xd1\x18\x32\xd8\x26\x2a\x99\x0b\x98\x04\x98\x65\xd8\x22\x27\xa7\x2a\xa1\x2a\xb8\x55\xa0\x2a\xd3\x22\x43\x98\x07\xdc\x18\x1c\x98\x54\xa4\x38\xb0\x45\xd4\x18\x3a\x90\x05\xf0\x0a\x06\x0d\x1d\xd9\x13\x22\xa4\x64\xa7\x6d\xa1\x6d\xb0\x47\xbc\x54\xc0\x25\xbb\x5b\xd4\x26\x49\xdc\x1e\x22\x9f\x69\x99\x69\xa8\x07\xb0\x14\xd3\x1e\x36\x90\x47\xdc\x1f\x25\xa0\x65\xa8\x57\xb0\x67\xd8\x26\x2d\xa8\x77\xb8\x0f\xf3\x03\x01\x20\x49\x01\xf7\x00\x01\x15\x49\x01\xf0\x00\x01\x15\x49\x01\xf4\x06\x00\x11\x16\x90\x65\x95\x0c\xf0\x29\x14\x09\x1d\xf1\x2c\x00\x10\x17\xd8\x12\x19\x98\x34\xa0\x17\xa8\x25\xd0\x12\x2f\xd3\x0c\x2f\xf0\x03\x00\x10\x17\xf8\xf4\x43\x01\x00\x14\x1b\xf2\x00\x06\x0d\x19\xf0\x02\x05\x11\x19\xe0\x17\x1c\xd7\x17\x27\xd1\x17\x27\xd4\x17\x29\xd8\x18\x1f\x9f\x0e\x99\x0e\xa0\x74\xd4\x18\x2c\xf9\xdc\x17\x1e\xf2\x00\x01\x11\x19\xd9\x14\x18\xf0\x03\x01\x11\x19\xfd\xf0\x0b\x06\x0d\x19\xfb\xf4\x2a\x00\x14\x1b\xf2\x00\x03\x0d\x19\xd8\x13\x1a\xd0\x13\x26\xd9\x14\x1b\x98\x43\x94\x4c\xdd\x10\x18\xfb\xf0\x07\x03\x0d\x19\xfa\xf0\x0e\x01\x15\x49\x01\xf9\xf4\x06\x00\x11\x16\x90\x65\x95\x0c\xfc", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[93]; + char ob_sval[158]; } -os_toplevel_consts_91_exceptiontable = { +os_toplevel_consts_87_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 92, + .ob_size = 157, }, .ob_shash = -1, - .ob_sval = "\xbb\x41\x16\x42\x12\x02\xc2\x12\x0a\x43\x1a\x05\xc2\x1d\x29\x43\x07\x04\xc3\x06\x01\x43\x1a\x05\xc3\x07\x0a\x43\x14\x07\xc3\x11\x02\x43\x1a\x05\xc3\x13\x01\x43\x14\x07\xc3\x14\x03\x43\x1a\x05\xc3\x19\x01\x43\x1a\x05\xc3\x3e\x41\x0d\x45\x0c\x02\xc5\x0c\x0a\x45\x2d\x05\xc5\x16\x0d\x45\x28\x05\xc5\x28\x05\x45\x2d\x05\xc5\x31\x41\x13\x47\x14\x02\xc7\x14\x11\x47\x25\x05", + .ob_sval = "\x82\x36\x46\x3d\x01\xb9\x41\x06\x45\x08\x02\xc1\x3f\x1f\x46\x3d\x01\xc2\x1f\x41\x00\x46\x0a\x02\xc3\x20\x41\x0a\x46\x2d\x02\xc4\x2a\x01\x46\x2b\x06\xc4\x2b\x04\x46\x2d\x02\xc4\x2f\x19\x46\x3d\x01\xc5\x08\x09\x46\x07\x05\xc5\x12\x21\x45\x34\x04\xc5\x33\x01\x46\x07\x05\xc5\x34\x09\x46\x00\x07\xc5\x3d\x02\x46\x07\x05\xc5\x3f\x01\x46\x00\x07\xc6\x00\x03\x46\x07\x05\xc6\x03\x03\x46\x3d\x01\xc6\x06\x01\x46\x07\x05\xc6\x07\x03\x46\x3d\x01\xc6\x0a\x09\x46\x28\x05\xc6\x13\x0a\x46\x23\x05\xc6\x1d\x06\x46\x3d\x01\xc6\x23\x05\x46\x28\x05\xc6\x28\x03\x46\x3d\x01\xc6\x2b\x01\x46\x2d\x02\xc6\x2d\x0d\x46\x3a\x05\xc6\x3a\x03\x46\x3d\x01", }; static struct { @@ -114763,7 +111830,7 @@ static const_str_toppath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -114772,7 +111839,7 @@ const_str_toppath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "toppath", @@ -114785,7 +111852,7 @@ static const_str_isbytes = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -114794,7 +111861,7 @@ const_str_isbytes = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "isbytes", @@ -114807,7 +111874,7 @@ static const_str_entries = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -114816,7 +111883,7 @@ const_str_entries = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "entries", @@ -114829,7 +111896,7 @@ static const_str_dirfd = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -114838,7 +111905,7 @@ const_str_dirfd = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dirfd", @@ -114851,7 +111918,7 @@ static const_str_err = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -114860,7 +111927,7 @@ const_str_err = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "err", @@ -114873,11 +111940,11 @@ static PyObject *ob_item[16]; }_object; } -os_toplevel_consts_91_localsplusnames = { +os_toplevel_consts_87_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 16, @@ -114888,7 +111955,7 @@ os_toplevel_consts_91_localsplusnames = { & const_str_isbytes._ascii.ob_base, & const_str_topdown._ascii.ob_base, & const_str_onerror._ascii.ob_base, - & const_str_follow_symlinks._ascii.ob_base, + &_Py_ID(follow_symlinks), & const_str_scandir_it._ascii.ob_base, & const_str_dirs._ascii.ob_base, & const_str_nondirs._ascii.ob_base, @@ -114908,10 +111975,10 @@ static Py_hash_t ob_shash; char ob_sval[17]; } -os_toplevel_consts_91_localspluskinds = { +os_toplevel_consts_87_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 16, @@ -114920,40 +111987,38 @@ os_toplevel_consts_91_localspluskinds = { .ob_sval = " ", }; static - struct _PyCode_DEF(1004) -os_toplevel_consts_91 = { + struct _PyCode_DEF(894) +os_toplevel_consts_87 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 502, + .ob_size = 447, }, - .co_consts = & os_toplevel_consts_91_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_91_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_91_exceptiontable.ob_base.ob_base, + .co_consts = & os_toplevel_consts_87_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_87_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_87_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 6, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 25 + FRAME_SPECIALS_SIZE, .co_stacksize = 9, - .co_firstlineno = 479, + .co_firstlineno = 485, .co_nlocalsplus = 16, .co_nlocals = 16, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_91_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & os_toplevel_consts_91_localspluskinds.ob_base.ob_base, + .co_version = 609, + .co_localsplusnames = & os_toplevel_consts_87_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & os_toplevel_consts_87_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__fwalk._ascii.ob_base, .co_qualname = & const_str__fwalk._ascii.ob_base, - .co_linetable = & os_toplevel_consts_91_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x67\x00\x7d\x07\x67\x00\x7d\x08\x7c\x03\x73\x02\x7c\x05\x72\x02\x64\x00\x6e\x01\x67\x00\x7d\x09\x7c\x06\x44\x00\x5d\xbc\x7d\x0a\x7c\x0a\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x02\x72\x0f\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x09\x00\x7c\x0a\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2d\x7c\x07\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x09\x81\x15\x7c\x09\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x15\x7c\x08\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x72\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x3e\x01\x00\x09\x00\x7c\x0a\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x15\x7c\x08\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x10\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x59\x00\x8c\xb9\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x03\x72\x08\x7c\x01\x7c\x07\x7c\x08\x7c\x00\x66\x04\x56\x00\x97\x01\x01\x00\x7c\x09\x80\x02\x7c\x07\x6e\x0f\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x7c\x09\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\xec\x7d\x0b\x09\x00\x7c\x05\x73\x34\x7c\x03\x72\x13\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x7c\x00\x64\x01\xac\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x6e\x1f\x7c\x09\x80\x02\x4a\x00\x82\x01\x7c\x0b\x5c\x02\x00\x00\x7d\x0b\x7d\x0a\x7c\x0a\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xac\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xac\x04\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0d\x6e\x24\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x17\x7d\x0e\x7c\x04\x81\x0b\x02\x00\x7c\x04\x7c\x0e\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x00\x7d\x0e\x7e\x0e\x8c\x6d\x64\x00\x7d\x0e\x7e\x0e\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x09\x00\x7c\x05\x73\x22\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0c\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2f\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x0b\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0f\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x7c\x0f\x7c\x02\x7c\x03\x7c\x04\x7c\x05\xa6\x06\x00\x00\xab\x06\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x64\x00\x7b\x03\x56\x00\x97\x02\x86\x04\x01\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\xd9\x23\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x03\x73\x0a\x7c\x01\x7c\x07\x7c\x08\x7c\x00\x66\x04\x56\x00\x97\x01\x01\x00\x64\x00\x53\x00\x64\x00\x53\x00", + .co_linetable = & os_toplevel_consts_87_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x67\x00\x7d\x07\x67\x00\x7d\x08\x7c\x03\x73\x02\x7c\x05\x72\x02\x64\x00\x6e\x01\x67\x00\x7d\x09\x7c\x06\x44\x00\x5d\x62\x00\x00\x7d\x0a\x7c\x0a\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x02\x72\x0b\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0b\x09\x00\x7c\x0a\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x72\x25\x7c\x07\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x09\x81\x23\x7c\x09\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x11\x7c\x08\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x64\x04\x00\x7c\x03\x72\x08\x7c\x01\x7c\x07\x7c\x08\x7c\x00\x66\x04\x96\x01\x97\x01\x01\x00\x7c\x09\x80\x02\x7c\x07\x6e\x0b\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x7c\x09\xab\x02\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x9e\x00\x00\x7d\x0b\x09\x00\x7c\x05\x73\x2c\x7c\x03\x72\x0f\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x7c\x00\x64\x01\xac\x02\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x0c\x6e\x1b\x7c\x09\x80\x02\x4a\x00\x82\x01\x7c\x0b\x5c\x02\x00\x00\x7d\x0b\x7d\x0a\x7c\x0a\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xac\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0c\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xac\x04\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x0d\x09\x00\x7c\x05\x73\x1f\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x0c\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xab\x01\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x2e\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x0b\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x0f\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\x7c\x0f\x7c\x02\x7c\x03\x7c\x04\x7c\x05\xab\x06\x00\x00\x00\x00\x00\x00\x45\x00\x64\x00\x7b\x03\x00\x00\x96\x03\x97\x02\x86\x05\x05\x00\x01\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\xa0\x04\x00\x7c\x03\x73\x09\x7c\x01\x7c\x07\x7c\x08\x7c\x00\x66\x04\x96\x01\x97\x01\x01\x00\x79\x00\x79\x00\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x36\x01\x00\x09\x00\x7c\x0a\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x72\x11\x7c\x08\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0f\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x59\x00\x90\x01\x8c\x6a\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x15\x7d\x0e\x7c\x04\x81\x08\x02\x00\x7c\x04\x7c\x0e\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x00\x7d\x0e\x7e\x0e\x90\x01\x8c\x08\x64\x00\x7d\x0e\x7e\x0e\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x37\x00\x8c\x80\x23\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x78\x03\x59\x00\x77\x01\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -114961,10 +112026,10 @@ static PyASCIIObject _ascii; uint8_t _data[113]; } -os_toplevel_consts_93_consts_0 = { +os_toplevel_consts_89_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 112, @@ -114973,7 +112038,7 @@ os_toplevel_consts_93_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x65\x78\x65\x63\x6c\x28\x66\x69\x6c\x65\x2c\x20\x2a\x61\x72\x67\x73\x29\x0a\x0a\x20\x20\x20\x20\x45\x78\x65\x63\x75\x74\x65\x20\x74\x68\x65\x20\x65\x78\x65\x63\x75\x74\x61\x62\x6c\x65\x20\x66\x69\x6c\x65\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x6c\x69\x73\x74\x20\x61\x72\x67\x73\x2c\x20\x72\x65\x70\x6c\x61\x63\x69\x6e\x67\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x20", @@ -114986,17 +112051,17 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_93_consts = { +os_toplevel_consts_89_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & os_toplevel_consts_93_consts_0._ascii.ob_base, + & os_toplevel_consts_89_consts_0._ascii.ob_base, Py_None, }, }, @@ -115009,7 +112074,7 @@ static const_str_execv = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -115018,7 +112083,7 @@ const_str_execv = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "execv", @@ -115031,11 +112096,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_93_names = { +os_toplevel_consts_89_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -115053,7 +112118,7 @@ static const_str_execl = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -115062,7 +112127,7 @@ const_str_execl = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "execl", @@ -115071,18 +112136,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[27]; + char ob_sval[15]; } -os_toplevel_consts_93_linetable = { +os_toplevel_consts_89_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 26, + .ob_size = 14, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0a\x00\x05\x0a\x88\x24\x90\x04\xd1\x04\x15\xd4\x04\x15\xd0\x04\x15\xd0\x04\x15\xd0\x04\x15", + .ob_sval = "\x80\x00\xf4\x0a\x00\x05\x0a\x88\x24\x90\x04\xd5\x04\x15", }; static struct { @@ -115092,56 +112157,54 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_93_localsplusnames = { +os_toplevel_consts_89_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_file._ascii.ob_base, - & const_str_args._ascii.ob_base, + &_Py_ID(file), + &_Py_ID(args), }, }, }; static - struct _PyCode_DEF(38) -os_toplevel_consts_93 = { + struct _PyCode_DEF(28) +os_toplevel_consts_89 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 19, + .ob_size = 14, }, - .co_consts = & os_toplevel_consts_93_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_93_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_89_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_89_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 537, + .co_firstlineno = 543, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_93_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 610, + .co_localsplusnames = & os_toplevel_consts_89_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_execl._ascii.ob_base, .co_qualname = & const_str_execl._ascii.ob_base, - .co_linetable = & os_toplevel_consts_93_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", + .co_linetable = & os_toplevel_consts_89_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -115149,10 +112212,10 @@ static PyASCIIObject _ascii; uint8_t _data[139]; } -os_toplevel_consts_94_consts_0 = { +os_toplevel_consts_90_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 138, @@ -115161,7 +112224,7 @@ os_toplevel_consts_94_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x65\x78\x65\x63\x6c\x65\x28\x66\x69\x6c\x65\x2c\x20\x2a\x61\x72\x67\x73\x2c\x20\x65\x6e\x76\x29\x0a\x0a\x20\x20\x20\x20\x45\x78\x65\x63\x75\x74\x65\x20\x74\x68\x65\x20\x65\x78\x65\x63\x75\x74\x61\x62\x6c\x65\x20\x66\x69\x6c\x65\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x6c\x69\x73\x74\x20\x61\x72\x67\x73\x20\x61\x6e\x64\x0a\x20\x20\x20\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x65\x6e\x76\x2c\x20\x72\x65\x70\x6c\x61\x63\x69\x6e\x67\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x20", @@ -115174,17 +112237,17 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_94_consts = { +os_toplevel_consts_90_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & os_toplevel_consts_94_consts_0._ascii.ob_base, + & os_toplevel_consts_90_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], Py_None, }, @@ -115198,11 +112261,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_94_names = { +os_toplevel_consts_90_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -115220,7 +112283,7 @@ static const_str_execle = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -115229,7 +112292,7 @@ const_str_execle = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "execle", @@ -115238,40 +112301,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[46]; + char ob_sval[32]; } -os_toplevel_consts_94_linetable = { +os_toplevel_consts_90_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 45, + .ob_size = 31, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0a\x00\x0b\x0f\x88\x72\x8c\x28\x80\x43\xdd\x04\x0a\x88\x34\x90\x14\x90\x63\x90\x72\x90\x63\x94\x19\x98\x43\xd1\x04\x20\xd4\x04\x20\xd0\x04\x20\xd0\x04\x20\xd0\x04\x20", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[4]; - } -const_str_env = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 3, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "env", + .ob_sval = "\x80\x00\xf0\x0a\x00\x0b\x0f\x88\x72\x89\x28\x80\x43\xdc\x04\x0a\x88\x34\x90\x14\x90\x63\x90\x72\x90\x19\x98\x43\xd5\x04\x20", }; static struct { @@ -115281,57 +112322,55 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_94_localsplusnames = { +os_toplevel_consts_90_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_file._ascii.ob_base, - & const_str_args._ascii.ob_base, - & const_str_env._ascii.ob_base, + &_Py_ID(file), + &_Py_ID(args), + &_Py_ID(env), }, }, }; static - struct _PyCode_DEF(72) -os_toplevel_consts_94 = { + struct _PyCode_DEF(46) +os_toplevel_consts_90 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 36, + .ob_size = 23, }, - .co_consts = & os_toplevel_consts_94_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_94_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_90_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_90_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 544, + .co_firstlineno = 550, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_94_localsplusnames._object.ob_base.ob_base, + .co_version = 611, + .co_localsplusnames = & os_toplevel_consts_90_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_execle._ascii.ob_base, .co_qualname = & const_str_execle._ascii.ob_base, - .co_linetable = & os_toplevel_consts_94_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x64\x02\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x02\x53\x00", + .co_linetable = & os_toplevel_consts_90_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x64\x01\x19\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x64\x02\x64\x01\x1a\x00\x7c\x02\xab\x03\x00\x00\x00\x00\x00\x00\x01\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -115339,10 +112378,10 @@ static PyASCIIObject _ascii; uint8_t _data[150]; } -os_toplevel_consts_95_consts_0 = { +os_toplevel_consts_91_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 149, @@ -115351,7 +112390,7 @@ os_toplevel_consts_95_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x65\x78\x65\x63\x6c\x70\x28\x66\x69\x6c\x65\x2c\x20\x2a\x61\x72\x67\x73\x29\x0a\x0a\x20\x20\x20\x20\x45\x78\x65\x63\x75\x74\x65\x20\x74\x68\x65\x20\x65\x78\x65\x63\x75\x74\x61\x62\x6c\x65\x20\x66\x69\x6c\x65\x20\x28\x77\x68\x69\x63\x68\x20\x69\x73\x20\x73\x65\x61\x72\x63\x68\x65\x64\x20\x66\x6f\x72\x20\x61\x6c\x6f\x6e\x67\x20\x24\x50\x41\x54\x48\x29\x0a\x20\x20\x20\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x6c\x69\x73\x74\x20\x61\x72\x67\x73\x2c\x20\x72\x65\x70\x6c\x61\x63\x69\x6e\x67\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x20", @@ -115364,17 +112403,17 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_95_consts = { +os_toplevel_consts_91_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & os_toplevel_consts_95_consts_0._ascii.ob_base, + & os_toplevel_consts_91_consts_0._ascii.ob_base, Py_None, }, }, @@ -115387,7 +112426,7 @@ static const_str_execvp = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -115396,7 +112435,7 @@ const_str_execvp = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "execvp", @@ -115409,11 +112448,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_95_names = { +os_toplevel_consts_91_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -115431,7 +112470,7 @@ static const_str_execlp = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -115440,7 +112479,7 @@ const_str_execlp = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "execlp", @@ -115449,54 +112488,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[27]; + char ob_sval[15]; } -os_toplevel_consts_95_linetable = { +os_toplevel_consts_91_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 26, + .ob_size = 14, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0a\x00\x05\x0b\x88\x34\x90\x14\xd1\x04\x16\xd4\x04\x16\xd0\x04\x16\xd0\x04\x16\xd0\x04\x16", + .ob_sval = "\x80\x00\xf4\x0a\x00\x05\x0b\x88\x34\x90\x14\xd5\x04\x16", }; static - struct _PyCode_DEF(38) -os_toplevel_consts_95 = { + struct _PyCode_DEF(28) +os_toplevel_consts_91 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 19, + .ob_size = 14, }, - .co_consts = & os_toplevel_consts_95_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_95_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_91_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_91_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 552, + .co_firstlineno = 558, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_93_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 612, + .co_localsplusnames = & os_toplevel_consts_89_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_execlp._ascii.ob_base, .co_qualname = & const_str_execlp._ascii.ob_base, - .co_linetable = & os_toplevel_consts_95_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", + .co_linetable = & os_toplevel_consts_91_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -115504,10 +112541,10 @@ static PyASCIIObject _ascii; uint8_t _data[180]; } -os_toplevel_consts_96_consts_0 = { +os_toplevel_consts_92_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 179, @@ -115516,7 +112553,7 @@ os_toplevel_consts_96_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x65\x78\x65\x63\x6c\x70\x65\x28\x66\x69\x6c\x65\x2c\x20\x2a\x61\x72\x67\x73\x2c\x20\x65\x6e\x76\x29\x0a\x0a\x20\x20\x20\x20\x45\x78\x65\x63\x75\x74\x65\x20\x74\x68\x65\x20\x65\x78\x65\x63\x75\x74\x61\x62\x6c\x65\x20\x66\x69\x6c\x65\x20\x28\x77\x68\x69\x63\x68\x20\x69\x73\x20\x73\x65\x61\x72\x63\x68\x65\x64\x20\x66\x6f\x72\x20\x61\x6c\x6f\x6e\x67\x20\x24\x50\x41\x54\x48\x29\x0a\x20\x20\x20\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x6c\x69\x73\x74\x20\x61\x72\x67\x73\x20\x61\x6e\x64\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x65\x6e\x76\x2c\x20\x72\x65\x70\x6c\x61\x63\x69\x6e\x67\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x0a\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x20", @@ -115529,17 +112566,17 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_96_consts = { +os_toplevel_consts_92_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & os_toplevel_consts_96_consts_0._ascii.ob_base, + & os_toplevel_consts_92_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], Py_None, }, @@ -115553,7 +112590,7 @@ static const_str_execvpe = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -115562,7 +112599,7 @@ const_str_execvpe = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "execvpe", @@ -115575,11 +112612,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_96_names = { +os_toplevel_consts_92_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -115597,7 +112634,7 @@ static const_str_execlpe = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -115606,7 +112643,7 @@ const_str_execlpe = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "execlpe", @@ -115615,54 +112652,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[46]; + char ob_sval[32]; } -os_toplevel_consts_96_linetable = { +os_toplevel_consts_92_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 45, + .ob_size = 31, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0c\x00\x0b\x0f\x88\x72\x8c\x28\x80\x43\xdd\x04\x0b\x88\x44\x90\x24\x90\x73\x98\x02\x90\x73\x94\x29\x98\x53\xd1\x04\x21\xd4\x04\x21\xd0\x04\x21\xd0\x04\x21\xd0\x04\x21", + .ob_sval = "\x80\x00\xf0\x0c\x00\x0b\x0f\x88\x72\x89\x28\x80\x43\xdc\x04\x0b\x88\x44\x90\x24\x90\x73\x98\x02\x90\x29\x98\x53\xd5\x04\x21", }; static - struct _PyCode_DEF(72) -os_toplevel_consts_96 = { + struct _PyCode_DEF(46) +os_toplevel_consts_92 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 36, + .ob_size = 23, }, - .co_consts = & os_toplevel_consts_96_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_96_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_92_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_92_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 559, + .co_firstlineno = 565, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_94_localsplusnames._object.ob_base.ob_base, + .co_version = 613, + .co_localsplusnames = & os_toplevel_consts_90_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_execlpe._ascii.ob_base, .co_qualname = & const_str_execlpe._ascii.ob_base, - .co_linetable = & os_toplevel_consts_96_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x64\x02\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x02\x53\x00", + .co_linetable = & os_toplevel_consts_92_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x64\x01\x19\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x64\x02\x64\x01\x1a\x00\x7c\x02\xab\x03\x00\x00\x00\x00\x00\x00\x01\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -115670,10 +112705,10 @@ static PyASCIIObject _ascii; uint8_t _data[193]; } -os_toplevel_consts_97_consts_0 = { +os_toplevel_consts_93_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 192, @@ -115682,7 +112717,7 @@ os_toplevel_consts_97_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x65\x78\x65\x63\x76\x70\x28\x66\x69\x6c\x65\x2c\x20\x61\x72\x67\x73\x29\x0a\x0a\x20\x20\x20\x20\x45\x78\x65\x63\x75\x74\x65\x20\x74\x68\x65\x20\x65\x78\x65\x63\x75\x74\x61\x62\x6c\x65\x20\x66\x69\x6c\x65\x20\x28\x77\x68\x69\x63\x68\x20\x69\x73\x20\x73\x65\x61\x72\x63\x68\x65\x64\x20\x66\x6f\x72\x20\x61\x6c\x6f\x6e\x67\x20\x24\x50\x41\x54\x48\x29\x0a\x20\x20\x20\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x6c\x69\x73\x74\x20\x61\x72\x67\x73\x2c\x20\x72\x65\x70\x6c\x61\x63\x69\x6e\x67\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x20\x20\x20\x20\x61\x72\x67\x73\x20\x6d\x61\x79\x20\x62\x65\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x72\x20\x74\x75\x70\x6c\x65\x20\x6f\x66\x20\x73\x74\x72\x69\x6e\x67\x73\x2e\x20", @@ -115695,17 +112730,17 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_97_consts = { +os_toplevel_consts_93_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & os_toplevel_consts_97_consts_0._ascii.ob_base, + & os_toplevel_consts_93_consts_0._ascii.ob_base, Py_None, }, }, @@ -115718,7 +112753,7 @@ static const_str__execvpe = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -115727,7 +112762,7 @@ const_str__execvpe = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_execvpe", @@ -115740,11 +112775,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_97_names = { +os_toplevel_consts_93_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -115758,54 +112793,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[27]; + char ob_sval[15]; } -os_toplevel_consts_97_linetable = { +os_toplevel_consts_93_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 26, + .ob_size = 14, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0c\x00\x05\x0d\x88\x54\x90\x34\xd1\x04\x18\xd4\x04\x18\xd0\x04\x18\xd0\x04\x18\xd0\x04\x18", + .ob_sval = "\x80\x00\xf4\x0c\x00\x05\x0d\x88\x54\x90\x34\xd5\x04\x18", }; static - struct _PyCode_DEF(38) -os_toplevel_consts_97 = { + struct _PyCode_DEF(28) +os_toplevel_consts_93 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 19, + .ob_size = 14, }, - .co_consts = & os_toplevel_consts_97_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_97_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_93_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_93_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 568, + .co_firstlineno = 574, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_93_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 614, + .co_localsplusnames = & os_toplevel_consts_89_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_execvp._ascii.ob_base, .co_qualname = & const_str_execvp._ascii.ob_base, - .co_linetable = & os_toplevel_consts_97_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", + .co_linetable = & os_toplevel_consts_93_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -115813,10 +112846,10 @@ static PyASCIIObject _ascii; uint8_t _data[223]; } -os_toplevel_consts_98_consts_0 = { +os_toplevel_consts_94_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 222, @@ -115825,7 +112858,7 @@ os_toplevel_consts_98_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x65\x78\x65\x63\x76\x70\x65\x28\x66\x69\x6c\x65\x2c\x20\x61\x72\x67\x73\x2c\x20\x65\x6e\x76\x29\x0a\x0a\x20\x20\x20\x20\x45\x78\x65\x63\x75\x74\x65\x20\x74\x68\x65\x20\x65\x78\x65\x63\x75\x74\x61\x62\x6c\x65\x20\x66\x69\x6c\x65\x20\x28\x77\x68\x69\x63\x68\x20\x69\x73\x20\x73\x65\x61\x72\x63\x68\x65\x64\x20\x66\x6f\x72\x20\x61\x6c\x6f\x6e\x67\x20\x24\x50\x41\x54\x48\x29\x0a\x20\x20\x20\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x6c\x69\x73\x74\x20\x61\x72\x67\x73\x20\x61\x6e\x64\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x65\x6e\x76\x2c\x20\x72\x65\x70\x6c\x61\x63\x69\x6e\x67\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x20\x20\x20\x20\x61\x72\x67\x73\x20\x6d\x61\x79\x20\x62\x65\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x72\x20\x74\x75\x70\x6c\x65\x20\x6f\x66\x20\x73\x74\x72\x69\x6e\x67\x73\x2e\x20", @@ -115838,17 +112871,17 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_98_consts = { +os_toplevel_consts_94_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & os_toplevel_consts_98_consts_0._ascii.ob_base, + & os_toplevel_consts_94_consts_0._ascii.ob_base, Py_None, }, }, @@ -115857,54 +112890,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[29]; + char ob_sval[17]; } -os_toplevel_consts_98_linetable = { +os_toplevel_consts_94_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 28, + .ob_size = 16, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0e\x00\x05\x0d\x88\x54\x90\x34\x98\x13\xd1\x04\x1d\xd4\x04\x1d\xd0\x04\x1d\xd0\x04\x1d\xd0\x04\x1d", + .ob_sval = "\x80\x00\xf4\x0e\x00\x05\x0d\x88\x54\x90\x34\x98\x13\xd5\x04\x1d", }; static - struct _PyCode_DEF(40) -os_toplevel_consts_98 = { + struct _PyCode_DEF(30) +os_toplevel_consts_94 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 20, + .ob_size = 15, }, - .co_consts = & os_toplevel_consts_98_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_97_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_94_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_93_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 576, + .co_firstlineno = 582, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_94_localsplusnames._object.ob_base.ob_base, + .co_version = 615, + .co_localsplusnames = & os_toplevel_consts_90_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_execvpe._ascii.ob_base, .co_qualname = & const_str_execvpe._ascii.ob_base, - .co_linetable = & os_toplevel_consts_98_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", + .co_linetable = & os_toplevel_consts_94_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\xab\x03\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -115915,11 +112946,11 @@ static PyObject *ob_item[6]; }_object; } -os_toplevel_consts_99 = { +os_toplevel_consts_95 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -115942,18 +112973,18 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_100_consts = { +os_toplevel_consts_96_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & const_str_nt._ascii.ob_base, + &_Py_ID(nt), }, }, }; @@ -115965,11 +112996,11 @@ static PyObject *ob_item[13]; }_object; } -os_toplevel_consts_100_names = { +os_toplevel_consts_96_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -115995,18 +113026,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[318]; + char ob_sval[232]; } -os_toplevel_consts_100_linetable = { +os_toplevel_consts_96_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 317, + .ob_size = 231, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x07\x0a\x80\x7f\xdd\x14\x1a\x88\x09\xd8\x13\x17\x98\x13\x90\x2b\x88\x07\x88\x07\xe5\x14\x19\x88\x09\xd8\x13\x17\x90\x27\x88\x07\xdd\x0e\x15\x88\x03\xe5\x07\x0b\x84\x7c\x90\x44\xd1\x07\x19\xd4\x07\x19\xf0\x00\x02\x05\x0f\xd8\x08\x11\x88\x09\x90\x24\xd0\x08\x21\x98\x17\xd0\x08\x21\xd0\x08\x21\xd0\x08\x21\xd0\x08\x21\xd8\x08\x0e\x88\x06\xd8\x10\x14\x80\x49\xdd\x10\x1d\x98\x63\xd1\x10\x22\xd4\x10\x22\x80\x49\xdd\x07\x0b\x88\x74\x82\x7c\x80\x7c\xdd\x0f\x17\x98\x04\x89\x7e\x8c\x7e\x88\x04\xdd\x14\x17\x9d\x08\xa0\x29\xd1\x14\x2c\xd4\x14\x2c\x88\x09\xd8\x0f\x18\xf0\x00\x09\x05\x1e\xf0\x00\x09\x05\x1e\x88\x03\xdd\x13\x17\x94\x39\x98\x53\xa0\x24\xd1\x13\x27\xd4\x13\x27\x88\x08\xf0\x02\x07\x09\x1e\xd8\x0c\x15\x88\x49\x90\x68\xd0\x0c\x29\xa0\x17\xd0\x0c\x29\xd0\x0c\x29\xd0\x0c\x29\xd0\x0c\x29\xd0\x0c\x29\xf8\xdd\x10\x21\xd5\x23\x35\xd0\x0f\x36\xf0\x00\x01\x09\x19\xf0\x00\x01\x09\x19\xf0\x00\x01\x09\x19\xd8\x17\x18\x88\x48\x88\x48\x88\x48\x88\x48\x88\x48\x88\x48\xf8\xf8\xf8\xf8\xdd\x0f\x16\xf0\x00\x03\x09\x1e\xf0\x00\x03\x09\x1e\xf0\x00\x03\x09\x1e\xd8\x17\x18\x88\x48\xd8\x0f\x18\xd0\x0f\x20\xd8\x1c\x1d\x90\x09\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf0\x07\x03\x09\x1e\xf8\xf8\xf8\xf0\x08\x00\x08\x11\xd0\x07\x1c\xd8\x0e\x17\x88\x0f\xd8\x0a\x12\x80\x4e", + .ob_sval = "\x80\x00\xd8\x07\x0a\x80\x7f\xdc\x14\x1a\x88\x09\xd8\x13\x17\x98\x13\x90\x2b\x89\x07\xe4\x14\x19\x88\x09\xd8\x13\x17\x90\x27\x88\x07\xdc\x0e\x15\x88\x03\xe4\x07\x0b\x87\x7c\x81\x7c\x90\x44\xd4\x07\x19\xd9\x08\x11\x90\x24\xd0\x08\x21\x98\x17\xd3\x08\x21\xd8\x08\x0e\xd8\x10\x14\x80\x49\xdc\x10\x1d\x98\x63\xd3\x10\x22\x80\x49\xdc\x07\x0b\x88\x74\x82\x7c\xdc\x0f\x17\x98\x04\x8b\x7e\x88\x04\xdc\x14\x17\x9c\x08\xa0\x29\xd3\x14\x2c\x88\x09\xd8\x0f\x18\xf2\x00\x09\x05\x1e\x88\x03\xdc\x13\x17\x97\x39\x91\x39\x98\x53\xa0\x24\xd3\x13\x27\x88\x08\xf0\x02\x07\x09\x1e\xd9\x0c\x15\x90\x68\xd0\x0c\x29\xa0\x17\xd4\x0c\x29\xf0\x07\x09\x05\x1e\xf0\x14\x00\x08\x11\xd0\x07\x1c\xd8\x0e\x17\x88\x0f\xd8\x0a\x12\x80\x4e\xf8\xf4\x11\x00\x11\x22\xd4\x23\x35\xd0\x0f\x36\xf2\x00\x01\x09\x19\xd8\x17\x18\x8d\x48\xfb\xdc\x0f\x16\xf2\x00\x03\x09\x1e\xd8\x17\x18\x88\x48\xd8\x0f\x18\xd0\x0f\x20\xd8\x1c\x1d\x90\x09\xff\xf8\xf0\x07\x03\x09\x1e\xfa", }; static struct { @@ -116014,16 +113045,16 @@ static Py_hash_t ob_shash; char ob_sval[37]; } -os_toplevel_consts_100_exceptiontable = { +os_toplevel_consts_96_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 36, }, .ob_shash = -1, - .ob_sval = "\xc2\x19\x09\x42\x23\x02\xc2\x23\x11\x43\x18\x05\xc2\x34\x02\x42\x3b\x05\xc2\x3b\x0d\x43\x18\x05\xc3\x08\x06\x43\x13\x05\xc3\x13\x05\x43\x18\x05", + .ob_sval = "\xc2\x09\x09\x42\x1a\x02\xc2\x1a\x0f\x43\x0c\x05\xc2\x29\x02\x42\x30\x05\xc2\x30\x0c\x43\x0c\x05\xc2\x3c\x06\x43\x07\x05\xc3\x07\x05\x43\x0c\x05", }; static struct { @@ -116033,7 +113064,7 @@ static const_str_exec_func = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -116042,7 +113073,7 @@ const_str_exec_func = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "exec_func", @@ -116055,7 +113086,7 @@ static const_str_argrest = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -116064,7 +113095,7 @@ const_str_argrest = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "argrest", @@ -116077,7 +113108,7 @@ static const_str_saved_exc = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -116086,33 +113117,11 @@ const_str_saved_exc = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "saved_exc", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[9]; - } -const_str_last_exc = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 8, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "last_exc", -}; static struct { PyGC_Head _gc_head; @@ -116121,65 +113130,63 @@ static PyObject *ob_item[11]; }_object; } -os_toplevel_consts_100_localsplusnames = { +os_toplevel_consts_96_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, }, .ob_item = { - & const_str_file._ascii.ob_base, - & const_str_args._ascii.ob_base, - & const_str_env._ascii.ob_base, + &_Py_ID(file), + &_Py_ID(args), + &_Py_ID(env), & const_str_exec_func._ascii.ob_base, & const_str_argrest._ascii.ob_base, & const_str_saved_exc._ascii.ob_base, & const_str_path_list._ascii.ob_base, & const_str_dir._ascii.ob_base, & const_str_fullname._ascii.ob_base, - & const_str_e._ascii.ob_base, - & const_str_last_exc._ascii.ob_base, + &_Py_ID(e), + &_Py_ID(last_exc), }, }, }; static - struct _PyCode_DEF(450) -os_toplevel_consts_100 = { + struct _PyCode_DEF(414) +os_toplevel_consts_96 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 225, + .ob_size = 207, }, - .co_consts = & os_toplevel_consts_100_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_100_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_100_exceptiontable.ob_base.ob_base, + .co_consts = & os_toplevel_consts_96_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_96_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_96_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 16 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 587, + .co_firstlineno = 593, .co_nlocalsplus = 11, .co_nlocals = 11, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_100_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_8_localspluskinds.ob_base.ob_base, + .co_version = 616, + .co_localsplusnames = & os_toplevel_consts_96_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_6_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__execvpe._ascii.ob_base, .co_qualname = & const_str__execvpe._ascii.ob_base, - .co_linetable = & os_toplevel_consts_100_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x81\x0c\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x01\x7c\x02\x66\x02\x7d\x04\x6e\x11\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x01\x66\x01\x7d\x04\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0b\x02\x00\x7c\x03\x7c\x00\x67\x01\x7c\x04\xa2\x01\x52\x00\x8e\x00\x01\x00\x64\x00\x53\x00\x64\x00\x7d\x05\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x03\x00\x00\x00\x00\x72\x24\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x44\x00\x5d\x59\x7d\x07\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x09\x00\x02\x00\x7c\x03\x7c\x08\x67\x01\x7c\x04\xa2\x01\x52\x00\x8e\x00\x01\x00\x8c\x22\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x0c\x7d\x09\x7c\x09\x7d\x0a\x59\x00\x64\x00\x7d\x09\x7e\x09\x8c\x3a\x64\x00\x7d\x09\x7e\x09\x77\x01\x74\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x10\x7d\x09\x7c\x09\x7d\x0a\x7c\x05\x80\x02\x7c\x09\x7d\x05\x59\x00\x64\x00\x7d\x09\x7e\x09\x8c\x52\x64\x00\x7d\x09\x7e\x09\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x05\x81\x02\x7c\x05\x82\x01\x7c\x0a\x82\x01", + .co_linetable = & os_toplevel_consts_96_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x81\x0b\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x01\x7c\x02\x66\x02\x7d\x04\x6e\x0f\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x01\x66\x01\x7d\x04\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x72\x0a\x02\x00\x7c\x03\x7c\x00\x67\x01\x7c\x04\xa2\x01\xad\x06\x8e\x00\x01\x00\x79\x00\x64\x00\x7d\x05\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x37\x00\x00\x72\x1b\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x44\x00\x5d\x22\x00\x00\x7d\x07\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x08\x09\x00\x02\x00\x7c\x03\x7c\x08\x67\x01\x7c\x04\xa2\x01\xad\x06\x8e\x00\x01\x00\x8c\x24\x04\x00\x7c\x05\x81\x02\x7c\x05\x82\x01\x7f\x0a\x82\x01\x23\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x0c\x7d\x09\x7c\x09\x7d\x0a\x59\x00\x64\x00\x7d\x09\x7e\x09\x8c\x41\x64\x00\x7d\x09\x7e\x09\x77\x01\x74\x18\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x10\x7d\x09\x7c\x09\x7d\x0a\x7c\x05\x80\x02\x7c\x09\x7d\x05\x59\x00\x64\x00\x7d\x09\x7e\x09\x8c\x58\x64\x00\x7d\x09\x7e\x09\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -116187,10 +113194,10 @@ static PyASCIIObject _ascii; uint8_t _data[244]; } -os_toplevel_consts_101_consts_0 = { +os_toplevel_consts_97_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 243, @@ -116199,7 +113206,7 @@ os_toplevel_consts_101_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x73\x20\x74\x68\x65\x20\x73\x65\x71\x75\x65\x6e\x63\x65\x20\x6f\x66\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x74\x68\x61\x74\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x73\x65\x61\x72\x63\x68\x65\x64\x20\x66\x6f\x72\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x6e\x61\x6d\x65\x64\x20\x65\x78\x65\x63\x75\x74\x61\x62\x6c\x65\x20\x28\x73\x69\x6d\x69\x6c\x61\x72\x20\x74\x6f\x20\x61\x20\x73\x68\x65\x6c\x6c\x29\x20\x77\x68\x65\x6e\x20\x6c\x61\x75\x6e\x63\x68\x69\x6e\x67\x20\x61\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x0a\x20\x20\x20\x20\x2a\x65\x6e\x76\x2a\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x61\x6e\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x64\x69\x63\x74\x20\x6f\x72\x20\x4e\x6f\x6e\x65\x2e\x20\x20\x49\x66\x20\x2a\x65\x6e\x76\x2a\x20\x69\x73\x20\x4e\x6f\x6e\x65\x2c\x0a\x20\x20\x20\x20\x6f\x73\x2e\x65\x6e\x76\x69\x72\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x75\x73\x65\x64\x2e\x0a\x20\x20\x20\x20", @@ -116212,7 +113219,7 @@ static const_str_PATH = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -116221,7 +113228,7 @@ const_str_PATH = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "PATH", @@ -116232,10 +113239,10 @@ static Py_hash_t ob_shash; char ob_sval[5]; } -os_toplevel_consts_101_consts_5 = { +os_toplevel_consts_97_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 4, @@ -116248,10 +113255,10 @@ static PyASCIIObject _ascii; uint8_t _data[43]; } -os_toplevel_consts_101_consts_6 = { +os_toplevel_consts_97_consts_6 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 42, @@ -116260,7 +113267,7 @@ os_toplevel_consts_101_consts_6 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "env cannot contain 'PATH' and b'PATH' keys", @@ -116273,23 +113280,23 @@ static PyObject *ob_item[7]; }_object; } -os_toplevel_consts_101_consts = { +os_toplevel_consts_97_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { - & os_toplevel_consts_101_consts_0._ascii.ob_base, + & os_toplevel_consts_97_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], Py_None, &_Py_ID(ignore), & const_str_PATH._ascii.ob_base, - & os_toplevel_consts_101_consts_5.ob_base.ob_base, - & os_toplevel_consts_101_consts_6._ascii.ob_base, + & os_toplevel_consts_97_consts_5.ob_base.ob_base, + & os_toplevel_consts_97_consts_6._ascii.ob_base, }, }, }; @@ -116301,7 +113308,7 @@ static const_str_catch_warnings = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -116310,7 +113317,7 @@ const_str_catch_warnings = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "catch_warnings", @@ -116323,7 +113330,7 @@ static const_str_simplefilter = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -116332,7 +113339,7 @@ const_str_simplefilter = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "simplefilter", @@ -116345,7 +113352,7 @@ static const_str_supports_bytes_environ = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -116354,7 +113361,7 @@ const_str_supports_bytes_environ = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "supports_bytes_environ", @@ -116367,11 +113374,11 @@ static PyObject *ob_item[16]; }_object; } -os_toplevel_consts_101_names = { +os_toplevel_consts_97_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 16, @@ -116388,7 +113395,7 @@ os_toplevel_consts_101_names = { & const_str_ValueError._ascii.ob_base, & const_str_KeyError._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_fsdecode._ascii.ob_base, & const_str_defpath._ascii.ob_base, & const_str_split._ascii.ob_base, @@ -116400,35 +113407,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[378]; + char ob_sval[236]; } -os_toplevel_consts_101_linetable = { +os_toplevel_consts_97_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 377, + .ob_size = 235, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x14\x00\x05\x14\x80\x4f\x80\x4f\x80\x4f\xe0\x07\x0a\x80\x7b\xdd\x0e\x15\x88\x03\xf0\x08\x00\x0a\x12\xd7\x09\x20\xd2\x09\x20\xd1\x09\x22\xd4\x09\x22\xf0\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xd8\x08\x10\xd7\x08\x1d\xd2\x08\x1d\x98\x68\xad\x0c\xd1\x08\x35\xd4\x08\x35\xd0\x08\x35\xf0\x04\x03\x09\x1d\xd8\x18\x1b\x9f\x07\x9a\x07\xa0\x06\x99\x0f\x9c\x0f\x88\x49\x88\x49\xf8\xdd\x0f\x18\xf0\x00\x01\x09\x1d\xf0\x00\x01\x09\x1d\xf0\x00\x01\x09\x1d\xd8\x18\x1c\x88\x49\x88\x49\x88\x49\xf0\x03\x01\x09\x1d\xf8\xf8\xf8\xf5\x06\x00\x0c\x22\xf0\x00\x0c\x09\x30\xf0\x02\x08\x0d\x27\xd8\x1d\x20\xa0\x17\x9c\x5c\x90\x0a\xf0\x08\x00\x14\x1d\xd0\x13\x28\xdd\x1a\x24\xd8\x18\x44\xf1\x03\x01\x1b\x46\x01\xf4\x00\x01\x1b\x46\x01\xf0\x00\x01\x15\x46\x01\xe0\x1c\x26\x90\x09\x90\x09\xf8\xf5\x0d\x00\x15\x1d\x9d\x69\xd0\x13\x28\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xd8\x10\x14\x90\x04\xf0\x03\x01\x0d\x15\xf8\xf8\xf8\xf0\x10\x00\x10\x19\xd0\x0f\x24\xad\x1a\xb0\x49\xbd\x75\xd1\x29\x45\xd4\x29\x45\xd0\x0f\x24\xdd\x1c\x24\xa0\x59\xd1\x1c\x2f\xd4\x1c\x2f\x90\x09\xf0\x29\x14\x05\x30\xf0\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xf1\x00\x14\x05\x30\xf4\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xf8\xf8\xf8\xf0\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xf0\x00\x14\x05\x30\xf0\x2c\x00\x08\x11\xd0\x07\x18\xdd\x14\x1b\x88\x09\xd8\x0b\x14\x8f\x3f\x8a\x3f\x9d\x37\xd1\x0b\x23\xd4\x0b\x23\xd0\x04\x23", + .ob_sval = "\x80\x00\xf3\x14\x00\x05\x14\xe0\x07\x0a\x80\x7b\xdc\x0e\x15\x88\x03\xf0\x08\x00\x0a\x12\xd7\x09\x20\xd1\x09\x20\xd3\x09\x22\xf1\x00\x14\x05\x30\xd8\x08\x10\xd7\x08\x1d\xd1\x08\x1d\x98\x68\xac\x0c\xd4\x08\x35\xf0\x04\x03\x09\x1d\xd8\x18\x1b\x9f\x07\x99\x07\xa0\x06\x9b\x0f\x88\x49\xf5\x08\x00\x0c\x22\xf0\x02\x08\x0d\x27\xd8\x1d\x20\xa0\x17\x99\x5c\x90\x0a\xf0\x08\x00\x14\x1d\xd0\x13\x28\xdc\x1a\x24\xd8\x18\x44\xf3\x03\x01\x1b\x46\x01\xf0\x00\x01\x15\x46\x01\xe0\x1c\x26\x90\x09\xe0\x0f\x18\xd0\x0f\x24\xac\x1a\xb0\x49\xbc\x75\xd4\x29\x45\xdc\x1c\x24\xa0\x59\xd3\x1c\x2f\x90\x09\xf7\x29\x14\x05\x30\xf0\x2c\x00\x08\x11\xd0\x07\x18\xdc\x14\x1b\x88\x09\xd8\x0b\x14\x8f\x3f\x89\x3f\x9c\x37\xd3\x0b\x23\xd0\x04\x23\xf8\xf4\x27\x00\x10\x19\xf2\x00\x01\x09\x1d\xd8\x18\x1c\x8a\x49\xf0\x03\x01\x09\x1d\xfb\xf4\x0c\x00\x15\x1d\x9c\x69\xd0\x13\x28\xf2\x00\x01\x0d\x15\xd9\x10\x14\xf0\x03\x01\x0d\x15\xfa\xf7\x17\x14\x05\x30\xf0\x00\x14\x05\x30\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[89]; + char ob_sval[83]; } -os_toplevel_consts_101_exceptiontable = { +os_toplevel_consts_97_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 88, + .ob_size = 82, }, .ob_shash = -1, - .ob_sval = "\xa2\x1c\x43\x14\x03\xbf\x15\x41\x15\x02\xc1\x14\x01\x43\x14\x03\xc1\x15\x0c\x41\x24\x05\xc1\x21\x02\x43\x14\x03\xc1\x23\x01\x41\x24\x05\xc1\x24\x0a\x43\x14\x03\xc1\x2f\x08\x42\x0b\x02\xc1\x37\x14\x43\x14\x03\xc2\x0b\x11\x42\x1f\x05\xc2\x1c\x02\x43\x14\x03\xc2\x1e\x01\x42\x1f\x05\xc2\x1f\x29\x43\x14\x03\xc3\x14\x04\x43\x18\x07\xc3\x1b\x01\x43\x18\x07", + .ob_sval = "\x9d\x17\x43\x09\x03\xb5\x11\x42\x23\x02\xc1\x06\x06\x43\x09\x03\xc1\x0d\x05\x42\x34\x02\xc1\x12\x2c\x43\x09\x03\xc2\x23\x0b\x42\x31\x05\xc2\x2e\x02\x43\x09\x03\xc2\x30\x01\x42\x31\x05\xc2\x31\x03\x43\x09\x03\xc2\x34\x0f\x43\x06\x05\xc3\x03\x02\x43\x09\x03\xc3\x05\x01\x43\x06\x05\xc3\x06\x03\x43\x09\x03\xc3\x09\x05\x43\x12\x07", }; static struct { @@ -116438,7 +113445,7 @@ static const_str_path_listb = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -116447,7 +113454,7 @@ const_str_path_listb = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "path_listb", @@ -116460,17 +113467,17 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_101_localsplusnames = { +os_toplevel_consts_97_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_env._ascii.ob_base, + &_Py_ID(env), &_Py_ID(warnings), & const_str_path_list._ascii.ob_base, & const_str_path_listb._ascii.ob_base, @@ -116478,40 +113485,38 @@ os_toplevel_consts_101_localsplusnames = { }, }; static - struct _PyCode_DEF(516) -os_toplevel_consts_101 = { + struct _PyCode_DEF(426) +os_toplevel_consts_97 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 258, + .ob_size = 213, }, - .co_consts = & os_toplevel_consts_101_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_101_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_101_exceptiontable.ob_base.ob_base, + .co_consts = & os_toplevel_consts_97_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_97_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_97_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 619, + .co_firstlineno = 625, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_101_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 617, + .co_localsplusnames = & os_toplevel_consts_97_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_get_exec_path._ascii.ob_base, .co_qualname = & const_str_get_exec_path._ascii.ob_base, - .co_linetable = & os_toplevel_consts_101_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x64\x02\x6c\x00\x7d\x01\x7c\x00\x80\x07\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x01\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x7c\x01\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x7c\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x6e\x12\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x02\x7d\x02\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x5a\x09\x00\x7c\x00\x64\x05\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x02\x81\x0f\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x03\x7d\x02\x6e\x17\x23\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x02\x81\x24\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0f\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x02\x64\x02\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x7c\x02\x80\x07\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\xa0\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_97_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x64\x02\x6c\x00\x7d\x01\x7c\x00\x80\x06\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x01\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x7c\x01\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x7c\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x72\x32\x09\x00\x7c\x00\x64\x05\x19\x00\x00\x00\x7d\x03\x7c\x02\x81\x0b\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x03\x7d\x02\x7c\x02\x81\x1b\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x0b\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x02\x64\x02\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7f\x02\x80\x06\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1e\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x05\x01\x00\x64\x02\x7d\x02\x59\x00\x8c\x6a\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x64\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x8c\x4c\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -116522,11 +113527,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_102 = { +os_toplevel_consts_98 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -116545,7 +113550,7 @@ static const_str__Environ = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -116554,7 +113559,7 @@ const_str__Environ = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ", @@ -116567,7 +113572,7 @@ static const_str_encodekey = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -116576,7 +113581,7 @@ const_str_encodekey = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "encodekey", @@ -116589,7 +113594,7 @@ static const_str_decodekey = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -116598,7 +113603,7 @@ const_str_decodekey = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "decodekey", @@ -116611,7 +113616,7 @@ static const_str_encodevalue = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -116620,7 +113625,7 @@ const_str_encodevalue = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "encodevalue", @@ -116633,7 +113638,7 @@ static const_str_decodevalue = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -116642,7 +113647,7 @@ const_str_decodevalue = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "decodevalue", @@ -116655,7 +113660,7 @@ static const_str__data = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -116664,7 +113669,7 @@ const_str__data = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_data", @@ -116677,11 +113682,11 @@ static PyObject *ob_item[5]; }_object; } -os_toplevel_consts_103_consts_1_names = { +os_toplevel_consts_99_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -116700,10 +113705,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -os_toplevel_consts_103_consts_1_qualname = { +os_toplevel_consts_99_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -116712,7 +113717,7 @@ os_toplevel_consts_103_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__init__", @@ -116721,18 +113726,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[44]; + char ob_sval[40]; } -os_toplevel_consts_103_consts_1_linetable = { +os_toplevel_consts_99_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 43, + .ob_size = 39, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x19\x22\x88\x04\x8c\x0e\xd8\x19\x22\x88\x04\x8c\x0e\xd8\x1b\x26\x88\x04\xd4\x08\x18\xd8\x1b\x26\x88\x04\xd4\x08\x18\xd8\x15\x19\x88\x04\x8c\x0a\x88\x0a\x88\x0a", + .ob_sval = "\x80\x00\xd8\x19\x22\x88\x04\x8c\x0e\xd8\x19\x22\x88\x04\x8c\x0e\xd8\x1b\x26\x88\x04\xd4\x08\x18\xd8\x1b\x26\x88\x04\xd4\x08\x18\xd8\x15\x19\x88\x04\x8d\x0a", }; static struct { @@ -116742,18 +113747,18 @@ static PyObject *ob_item[6]; }_object; } -os_toplevel_consts_103_consts_1_localsplusnames = { +os_toplevel_consts_99_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_data._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(data), & const_str_encodekey._ascii.ob_base, & const_str_decodekey._ascii.ob_base, & const_str_encodevalue._ascii.ob_base, @@ -116762,40 +113767,38 @@ os_toplevel_consts_103_consts_1_localsplusnames = { }, }; static - struct _PyCode_DEF(76) -os_toplevel_consts_103_consts_1 = { + struct _PyCode_DEF(74) +os_toplevel_consts_99_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 38, + .ob_size = 37, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_1_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 6, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 667, + .co_firstlineno = 673, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_103_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 618, + .co_localsplusnames = & os_toplevel_consts_99_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & os_toplevel_consts_103_consts_1_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_1_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -116806,11 +113809,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_103_consts_2_names = { +os_toplevel_consts_99_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -116828,10 +113831,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -os_toplevel_consts_103_consts_2_qualname = { +os_toplevel_consts_99_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -116840,7 +113843,7 @@ os_toplevel_consts_103_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__getitem__", @@ -116849,71 +113852,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[97]; + char ob_sval[79]; } -os_toplevel_consts_103_consts_2_linetable = { +os_toplevel_consts_99_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 96, + .ob_size = 78, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x02\x04\x09\x2a\xd8\x14\x18\x94\x4a\x98\x74\x9f\x7e\x9a\x7e\xa8\x63\xd1\x1f\x32\xd4\x1f\x32\xd4\x14\x33\x88\x45\x88\x45\xf8\xdd\x0f\x17\xf0\x00\x02\x09\x2a\xf0\x00\x02\x09\x2a\xf0\x00\x02\x09\x2a\xe5\x12\x1a\x98\x33\x91\x2d\x94\x2d\xa0\x54\xd0\x0c\x29\xf0\x05\x02\x09\x2a\xf8\xf8\xf8\xf0\x06\x00\x10\x14\xd7\x0f\x1f\xd2\x0f\x1f\xa0\x05\xd1\x0f\x26\xd4\x0f\x26\xd0\x08\x26", + .ob_sval = "\x80\x00\xf0\x02\x04\x09\x2a\xd8\x14\x18\x97\x4a\x91\x4a\x98\x74\x9f\x7e\x99\x7e\xa8\x63\xd3\x1f\x32\xd1\x14\x33\x88\x45\xf0\x08\x00\x10\x14\xd7\x0f\x1f\xd1\x0f\x1f\xa0\x05\xd3\x0f\x26\xd0\x08\x26\xf8\xf4\x07\x00\x10\x18\xf2\x00\x02\x09\x2a\xe4\x12\x1a\x98\x33\x93\x2d\xa0\x54\xd0\x0c\x29\xf0\x05\x02\x09\x2a\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[9]; + char ob_sval[10]; } -os_toplevel_consts_103_consts_2_exceptiontable = { +os_toplevel_consts_99_consts_2_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 8, + .ob_size = 9, }, .ob_shash = -1, - .ob_sval = "\x82\x20\x23\x00\xa3\x1b\x3e\x03", + .ob_sval = "\x82\x1e\x31\x00\xb1\x16\x41\x07\x03", }; static - struct _PyCode_DEF(172) -os_toplevel_consts_103_consts_2 = { + struct _PyCode_DEF(148) +os_toplevel_consts_99_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 86, + .ob_size = 74, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_2_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_103_consts_2_exceptiontable.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_2_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_99_consts_2_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 674, + .co_firstlineno = 680, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_64_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 619, + .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__getitem__), - .co_qualname = & os_toplevel_consts_103_consts_2_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x6e\x1e\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_2_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x7d\x02\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0d\x01\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x64\x00\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -116924,7 +113925,7 @@ static const_str_putenv = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -116933,7 +113934,7 @@ const_str_putenv = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "putenv", @@ -116946,11 +113947,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_103_consts_3_names = { +os_toplevel_consts_99_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -116968,10 +113969,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -os_toplevel_consts_103_consts_3_qualname = { +os_toplevel_consts_99_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -116980,7 +113981,7 @@ os_toplevel_consts_103_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__setitem__", @@ -116989,54 +113990,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[70]; + char ob_sval[56]; } -os_toplevel_consts_103_consts_3_linetable = { +os_toplevel_consts_99_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 69, + .ob_size = 55, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0e\x12\x8f\x6e\x8a\x6e\x98\x53\xd1\x0e\x21\xd4\x0e\x21\x88\x03\xd8\x10\x14\xd7\x10\x20\xd2\x10\x20\xa0\x15\xd1\x10\x27\xd4\x10\x27\x88\x05\xdd\x08\x0e\x88\x73\x90\x45\xd1\x08\x1a\xd4\x08\x1a\xd0\x08\x1a\xd8\x1a\x1f\x88\x04\x8c\x0a\x90\x33\x89\x0f\x88\x0f\x88\x0f", + .ob_sval = "\x80\x00\xd8\x0e\x12\x8f\x6e\x89\x6e\x98\x53\xd3\x0e\x21\x88\x03\xd8\x10\x14\xd7\x10\x20\xd1\x10\x20\xa0\x15\xd3\x10\x27\x88\x05\xdc\x08\x0e\x88\x73\x90\x45\xd4\x08\x1a\xd8\x1a\x1f\x88\x04\x8f\x0a\x89\x0a\x90\x33\x8a\x0f", }; static - struct _PyCode_DEF(142) -os_toplevel_consts_103_consts_3 = { + struct _PyCode_DEF(126) +os_toplevel_consts_99_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 71, + .ob_size = 63, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_3_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 682, + .co_firstlineno = 688, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_64_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 620, + .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__setitem__), - .co_qualname = & os_toplevel_consts_103_consts_3_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3c\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_3_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3c\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -117047,7 +114046,7 @@ static const_str_unsetenv = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -117056,7 +114055,7 @@ const_str_unsetenv = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "unsetenv", @@ -117069,11 +114068,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_103_consts_4_names = { +os_toplevel_consts_99_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -117091,10 +114090,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -os_toplevel_consts_103_consts_4_qualname = { +os_toplevel_consts_99_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -117103,7 +114102,7 @@ os_toplevel_consts_103_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__delitem__", @@ -117112,18 +114111,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[96]; + char ob_sval[69]; } -os_toplevel_consts_103_consts_4_linetable = { +os_toplevel_consts_99_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 95, + .ob_size = 68, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x15\x19\x97\x5e\x92\x5e\xa0\x43\xd1\x15\x28\xd4\x15\x28\x88\x0a\xdd\x08\x10\x90\x1a\xd1\x08\x1c\xd4\x08\x1c\xd0\x08\x1c\xf0\x02\x04\x09\x2a\xd8\x10\x14\x94\x0a\x98\x3a\xd0\x10\x26\xd0\x10\x26\xd0\x10\x26\xf8\xdd\x0f\x17\xf0\x00\x02\x09\x2a\xf0\x00\x02\x09\x2a\xf0\x00\x02\x09\x2a\xe5\x12\x1a\x98\x33\x91\x2d\x94\x2d\xa0\x54\xd0\x0c\x29\xf0\x05\x02\x09\x2a\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xd8\x15\x19\x97\x5e\x91\x5e\xa0\x43\xd3\x15\x28\x88\x0a\xdc\x08\x10\x90\x1a\xd4\x08\x1c\xf0\x02\x04\x09\x2a\xd8\x10\x14\x97\x0a\x91\x0a\x98\x3a\xd1\x10\x26\xf8\xdc\x0f\x17\xf2\x00\x02\x09\x2a\xe4\x12\x1a\x98\x33\x93\x2d\xa0\x54\xd0\x0c\x29\xf0\x05\x02\x09\x2a\xfa", }; static struct { @@ -117131,16 +114130,16 @@ static Py_hash_t ob_shash; char ob_sval[10]; } -os_toplevel_consts_103_consts_4_exceptiontable = { +os_toplevel_consts_99_consts_4_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 9, }, .ob_shash = -1, - .ob_sval = "\xa6\x08\x30\x00\xb0\x1b\x41\x0b\x03", + .ob_sval = "\x9e\x0d\x2c\x00\xac\x16\x41\x02\x03", }; static struct { @@ -117150,7 +114149,7 @@ static const_str_encodedkey = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -117159,7 +114158,7 @@ const_str_encodedkey = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "encodedkey", @@ -117172,57 +114171,55 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_103_consts_4_localsplusnames = { +os_toplevel_consts_99_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_key._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(key), & const_str_encodedkey._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(156) -os_toplevel_consts_103_consts_4 = { + struct _PyCode_DEF(138) +os_toplevel_consts_99_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 78, + .ob_size = 69, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_103_consts_4_exceptiontable.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_99_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 688, + .co_firstlineno = 694, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_103_consts_4_localsplusnames._object.ob_base.ob_base, + .co_version = 621, + .co_localsplusnames = & os_toplevel_consts_99_consts_4_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__delitem__), - .co_qualname = & os_toplevel_consts_103_consts_4_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x3d\x00\x64\x00\x53\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x11\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01", + .co_qualname = & os_toplevel_consts_99_consts_4_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x3d\x00\x79\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x0d\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x64\x00\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -117233,11 +114230,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_103_consts_5_names = { +os_toplevel_consts_99_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -117254,10 +114251,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -os_toplevel_consts_103_consts_5_qualname = { +os_toplevel_consts_99_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -117266,7 +114263,7 @@ os_toplevel_consts_103_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__iter__", @@ -117275,18 +114272,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[74]; + char ob_sval[51]; } -os_toplevel_consts_103_consts_5_linetable = { +os_toplevel_consts_99_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 73, + .ob_size = 50, + }, + .ob_shash = -1, + .ob_sval = "\xe8\x00\xf8\x80\x00\xe4\x0f\x13\x90\x44\x97\x4a\x91\x4a\xd3\x0f\x1f\x88\x04\xd8\x13\x17\xf2\x00\x01\x09\x26\x88\x43\xd8\x12\x16\x97\x2e\x91\x2e\xa0\x13\xd3\x12\x25\xd3\x0c\x25\xf1\x03\x01\x09\x26\xf9", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +os_toplevel_consts_99_consts_5_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xe5\x0f\x13\x90\x44\x94\x4a\xd1\x0f\x1f\xd4\x0f\x1f\x88\x04\xd8\x13\x17\xf0\x00\x01\x09\x26\xf0\x00\x01\x09\x26\x88\x43\xd8\x12\x16\x97\x2e\x92\x2e\xa0\x13\xd1\x12\x25\xd4\x12\x25\xd0\x0c\x25\xd0\x0c\x25\xd0\x0c\x25\xd0\x0c\x25\xf0\x03\x01\x09\x26\xf0\x00\x01\x09\x26", + .ob_sval = "\x82\x31\x33\x01", }; static struct { @@ -117296,57 +114310,55 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_103_consts_5_localsplusnames = { +os_toplevel_consts_99_consts_5_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(keys), - & const_str_key._ascii.ob_base, + &_Py_ID(key), }, }, }; static struct _PyCode_DEF(106) -os_toplevel_consts_103_consts_5 = { +os_toplevel_consts_99_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 53, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_5_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_names = & os_toplevel_consts_99_consts_5_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_99_consts_5_exceptiontable.ob_base.ob_base, .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 697, + .co_firstlineno = 703, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_103_consts_5_localsplusnames._object.ob_base.ob_base, + .co_version = 622, + .co_localsplusnames = & os_toplevel_consts_99_consts_5_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), - .co_qualname = & os_toplevel_consts_103_consts_5_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x44\x00\x5d\x19\x7d\x02\x7c\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x97\x01\x01\x00\x8c\x1a\x64\x00\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_5_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x44\x00\x5d\x15\x00\x00\x7d\x02\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x96\x01\x97\x01\x01\x00\x8c\x17\x04\x00\x79\x00\xad\x03\x77\x01", ._co_firsttraceable = 2, }; static @@ -117357,11 +114369,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_103_consts_6_names = { +os_toplevel_consts_99_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -117377,10 +114389,10 @@ static PyASCIIObject _ascii; uint8_t _data[17]; } -os_toplevel_consts_103_consts_6_qualname = { +os_toplevel_consts_99_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -117389,7 +114401,7 @@ os_toplevel_consts_103_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__len__", @@ -117400,52 +114412,50 @@ static Py_hash_t ob_shash; char ob_sval[17]; } -os_toplevel_consts_103_consts_6_linetable = { +os_toplevel_consts_99_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 16, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x12\x90\x34\x94\x3a\x89\x7f\x8c\x7f\xd0\x08\x1e", + .ob_sval = "\x80\x00\xdc\x0f\x12\x90\x34\x97\x3a\x91\x3a\x8b\x7f\xd0\x08\x1e", }; static - struct _PyCode_DEF(42) -os_toplevel_consts_103_consts_6 = { + struct _PyCode_DEF(44) +os_toplevel_consts_99_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 22, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_6_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 703, + .co_firstlineno = 709, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 623, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__len__), - .co_qualname = & os_toplevel_consts_103_consts_6_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_6_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -117456,17 +114466,17 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_103_consts_7_consts_2_consts = { +os_toplevel_consts_99_consts_7_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & importlib__bootstrap_external_toplevel_consts_43_consts_4._ascii.ob_base, + & importlib__bootstrap_external_toplevel_consts_42_consts_4._ascii.ob_base, Py_None, }, }, @@ -117479,11 +114489,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_103_consts_7_consts_2_names = { +os_toplevel_consts_99_consts_7_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -117499,10 +114509,10 @@ static PyASCIIObject _ascii; uint8_t _data[37]; } -os_toplevel_consts_103_consts_7_consts_2_qualname = { +os_toplevel_consts_99_consts_7_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 36, @@ -117511,7 +114521,7 @@ os_toplevel_consts_103_consts_7_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__repr__..", @@ -117520,18 +114530,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[100]; + char ob_sval[63]; } -os_toplevel_consts_103_consts_7_consts_2_linetable = { +os_toplevel_consts_99_consts_7_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 99, + .ob_size = 62, }, .ob_shash = -1, - .ob_sval = "\xf8\xe8\x00\xe8\x00\x80\x00\xf0\x00\x03\x24\x0a\xf0\x00\x03\x24\x0a\xe1\x10\x1a\x90\x03\x90\x55\xf0\x03\x00\x10\x14\x8f\x7e\x8a\x7e\x98\x63\xd1\x0f\x22\xd4\x0f\x22\xd0\x0c\x43\xd0\x0c\x43\xa8\x04\xd7\x28\x38\xd2\x28\x38\xb8\x15\xd1\x28\x3f\xd4\x28\x3f\xd0\x0c\x43\xd0\x0c\x43\xf0\x03\x03\x24\x0a\xf0\x00\x03\x24\x0a\xf0\x00\x03\x24\x0a\xf0\x00\x03\x24\x0a\xf0\x00\x03\x24\x0a\xf0\x00\x03\x24\x0a", + .ob_sval = "\xf8\xe8\x00\xf8\x80\x00\xf2\x00\x03\x24\x0a\xe1\x10\x1a\x90\x03\x90\x55\xf0\x03\x00\x10\x14\x8f\x7e\x89\x7e\x98\x63\xd3\x0f\x22\xd0\x0e\x25\xa0\x52\xa8\x04\xd7\x28\x38\xd1\x28\x38\xb8\x15\xd3\x28\x3f\xd0\x27\x42\xd4\x0c\x43\xf1\x03\x03\x24\x0a\xf9", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +os_toplevel_consts_99_consts_7_consts_2_exceptiontable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, + }, + .ob_shash = -1, + .ob_sval = "\x83\x32\x35\x01", }; static struct { @@ -117541,58 +114568,56 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_103_consts_7_consts_2_localsplusnames = { +os_toplevel_consts_99_consts_7_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - & const_str_key._ascii.ob_base, - & const_str_value._ascii.ob_base, - & const_str_self._ascii.ob_base, + &_Py_ID(key), + &_Py_ID(value), + &_Py_ID(self), }, }, }; static - struct _PyCode_DEF(120) -os_toplevel_consts_103_consts_7_consts_2 = { + struct _PyCode_DEF(110) +os_toplevel_consts_99_consts_7_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 60, + .ob_size = 55, }, - .co_consts = & os_toplevel_consts_103_consts_7_consts_2_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_7_consts_2_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_consts = & os_toplevel_consts_99_consts_7_consts_2_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_7_consts_2_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_99_consts_7_consts_2_exceptiontable.ob_base.ob_base, .co_flags = 51, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 707, + .co_firstlineno = 713, .co_nlocalsplus = 4, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & os_toplevel_consts_103_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & ntpath_toplevel_consts_45_consts_10_localspluskinds.ob_base.ob_base, + .co_version = 624, + .co_localsplusnames = & os_toplevel_consts_99_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_genexpr), - .co_qualname = & os_toplevel_consts_103_consts_7_consts_2_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_7_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x34\x5c\x02\x00\x00\x7d\x01\x7d\x02\x89\x03\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x64\x00\x89\x03\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x9d\x03\x56\x00\x97\x01\x01\x00\x8c\x35\x64\x01\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_7_consts_2_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_7_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x2c\x00\x00\x5c\x02\x00\x00\x7d\x01\x7d\x02\x89\x03\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x9b\x02\x64\x00\x89\x03\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x9b\x02\x9d\x03\x96\x01\x97\x01\x01\x00\x8c\x2e\x04\x00\x79\x01\xad\x03\x77\x01", ._co_firsttraceable = 3, }; static @@ -117600,10 +114625,10 @@ static PyASCIIObject _ascii; uint8_t _data[10]; } -os_toplevel_consts_103_consts_7_consts_3 = { +os_toplevel_consts_99_consts_7_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -117612,7 +114637,7 @@ os_toplevel_consts_103_consts_7_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "environ({", @@ -117622,10 +114647,10 @@ static PyASCIIObject _ascii; uint8_t _data[3]; } -os_toplevel_consts_103_consts_7_consts_4 = { +os_toplevel_consts_99_consts_7_consts_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -117634,7 +114659,7 @@ os_toplevel_consts_103_consts_7_consts_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "})", @@ -117647,21 +114672,21 @@ static PyObject *ob_item[5]; }_object; } -os_toplevel_consts_103_consts_7_consts = { +os_toplevel_consts_99_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { Py_None, - &_Py_STR(comma_sep), - & os_toplevel_consts_103_consts_7_consts_2.ob_base.ob_base, - & os_toplevel_consts_103_consts_7_consts_3._ascii.ob_base, - & os_toplevel_consts_103_consts_7_consts_4._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_30_consts_5_consts_6._ascii.ob_base, + & os_toplevel_consts_99_consts_7_consts_2.ob_base.ob_base, + & os_toplevel_consts_99_consts_7_consts_3._ascii.ob_base, + & os_toplevel_consts_99_consts_7_consts_4._ascii.ob_base, }, }, }; @@ -117673,11 +114698,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_103_consts_7_names = { +os_toplevel_consts_99_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -117694,10 +114719,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -os_toplevel_consts_103_consts_7_qualname = { +os_toplevel_consts_99_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -117706,7 +114731,7 @@ os_toplevel_consts_103_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__repr__", @@ -117715,18 +114740,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[94]; + char ob_sval[62]; } -os_toplevel_consts_103_consts_7_linetable = { +os_toplevel_consts_99_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 93, + .ob_size = 61, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd8\x1a\x1e\x9f\x29\x9a\x29\xf0\x00\x03\x24\x0a\xf0\x00\x03\x24\x0a\xf0\x00\x03\x24\x0a\xf0\x00\x03\x24\x0a\xe0\x1e\x22\x9c\x6a\xd7\x1e\x2e\xd2\x1e\x2e\xd1\x1e\x30\xd4\x1e\x30\xf0\x05\x03\x24\x0a\xf1\x00\x03\x24\x0a\xf4\x00\x03\x24\x0a\xf1\x00\x03\x1b\x0a\xf4\x00\x03\x1b\x0a\x88\x0f\xf0\x08\x00\x10\x31\x98\x4f\xd0\x0f\x30\xd0\x0f\x30\xd0\x0f\x30\xd0\x08\x30", + .ob_sval = "\xf8\x80\x00\xd8\x1a\x1e\x9f\x29\x99\x29\xf3\x00\x03\x24\x0a\xe0\x1e\x22\x9f\x6a\x99\x6a\xd7\x1e\x2e\xd1\x1e\x2e\xd3\x1e\x30\xf4\x05\x03\x24\x0a\xf3\x00\x03\x1b\x0a\x88\x0f\xf0\x08\x00\x12\x1c\x98\x4f\xd0\x1b\x2c\xa8\x43\xd0\x0f\x30\xd0\x08\x30", }; static struct { @@ -117736,7 +114761,7 @@ static const_str_formatted_items = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -117745,7 +114770,7 @@ const_str_formatted_items = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "formatted_items", @@ -117758,56 +114783,54 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_103_consts_7_localsplusnames = { +os_toplevel_consts_99_consts_7_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_formatted_items._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(128) -os_toplevel_consts_103_consts_7 = { + struct _PyCode_DEF(116) +os_toplevel_consts_99_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 64, + .ob_size = 58, }, - .co_consts = & os_toplevel_consts_103_consts_7_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_7_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_99_consts_7_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 706, + .co_firstlineno = 712, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 1, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_103_consts_7_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_localspluskinds.ob_base.ob_base, + .co_version = 625, + .co_localsplusnames = & os_toplevel_consts_99_consts_7_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_26_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__repr__), - .co_qualname = & os_toplevel_consts_103_consts_7_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x97\x00\x64\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x02\x84\x08\x89\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x64\x03\x7c\x01\x9b\x00\x64\x04\x9d\x03\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_7_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_7_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x00\x97\x00\x64\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x02\x84\x08\x89\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x44\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x64\x03\x7c\x01\x9b\x00\x64\x04\x9d\x03\x53\x00", ._co_firsttraceable = 1, }; static @@ -117818,17 +114841,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_103_consts_8_names = { +os_toplevel_consts_99_consts_8_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_dict._ascii.ob_base, + &_Py_ID(dict), }, }, }; @@ -117837,10 +114860,10 @@ static PyASCIIObject _ascii; uint8_t _data[14]; } -os_toplevel_consts_103_consts_8_qualname = { +os_toplevel_consts_99_consts_8_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -117849,7 +114872,7 @@ os_toplevel_consts_103_consts_8_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.copy", @@ -117858,54 +114881,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[15]; + char ob_sval[13]; } -os_toplevel_consts_103_consts_8_linetable = { +os_toplevel_consts_99_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 14, + .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x13\x90\x44\x89\x7a\x8c\x7a\xd0\x08\x19", + .ob_sval = "\x80\x00\xdc\x0f\x13\x90\x44\x8b\x7a\xd0\x08\x19", }; static - struct _PyCode_DEF(32) -os_toplevel_consts_103_consts_8 = { + struct _PyCode_DEF(24) +os_toplevel_consts_99_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 16, + .ob_size = 12, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_8_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 713, + .co_firstlineno = 719, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 626, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(copy), - .co_qualname = & os_toplevel_consts_103_consts_8_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_8_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_8_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -117913,10 +114934,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -os_toplevel_consts_103_consts_9_qualname = { +os_toplevel_consts_99_consts_9_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -117925,7 +114946,7 @@ os_toplevel_consts_103_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.setdefault", @@ -117934,54 +114955,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[31]; + char ob_sval[29]; } -os_toplevel_consts_103_consts_9_linetable = { +os_toplevel_consts_99_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 30, + .ob_size = 28, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0b\x0e\x90\x64\x88\x3f\x88\x3f\xd8\x18\x1d\x88\x44\x90\x13\x89\x49\xd8\x0f\x13\x90\x43\x8c\x79\xd0\x08\x18", + .ob_sval = "\x80\x00\xd8\x0b\x0e\x90\x64\x89\x3f\xd8\x18\x1d\x88\x44\x90\x13\x89\x49\xd8\x0f\x13\x90\x43\x89\x79\xd0\x08\x18", }; static - struct _PyCode_DEF(36) -os_toplevel_consts_103_consts_9 = { + struct _PyCode_DEF(30) +os_toplevel_consts_99_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 15, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 716, + .co_firstlineno = 722, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & _collections_abc_toplevel_consts_64_consts_3_localsplusnames._object.ob_base.ob_base, + .co_version = 627, + .co_localsplusnames = & _collections_abc_toplevel_consts_66_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_setdefault._ascii.ob_base, - .co_qualname = & os_toplevel_consts_103_consts_9_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x76\x01\x72\x05\x7c\x02\x7c\x00\x7c\x01\x3c\x00\x00\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_9_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_9_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x76\x01\x72\x05\x7c\x02\x7c\x00\x7c\x01\x3c\x00\x00\x00\x7c\x00\x7c\x01\x19\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -117992,11 +115011,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_103_consts_10_names = { +os_toplevel_consts_99_consts_10_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -118011,10 +115030,10 @@ static PyASCIIObject _ascii; uint8_t _data[17]; } -os_toplevel_consts_103_consts_10_qualname = { +os_toplevel_consts_99_consts_10_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -118023,7 +115042,7 @@ os_toplevel_consts_103_consts_10_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__ior__", @@ -118032,54 +115051,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[26]; + char ob_sval[20]; } -os_toplevel_consts_103_consts_10_linetable = { +os_toplevel_consts_99_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 25, + .ob_size = 19, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0b\x8a\x0b\x90\x45\xd1\x08\x1a\xd4\x08\x1a\xd0\x08\x1a\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xd8\x08\x0c\x8f\x0b\x89\x0b\x90\x45\xd4\x08\x1a\xd8\x0f\x13\x88\x0b", }; static - struct _PyCode_DEF(48) -os_toplevel_consts_103_consts_10 = { + struct _PyCode_DEF(40) +os_toplevel_consts_99_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 24, + .ob_size = 20, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_10_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_10_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 721, + .co_firstlineno = 727, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_59_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 628, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_58_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__ior__), - .co_qualname = & os_toplevel_consts_103_consts_10_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_10_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_10_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -118090,11 +115107,11 @@ static PyObject *ob_item[5]; }_object; } -os_toplevel_consts_103_consts_11_names = { +os_toplevel_consts_99_consts_11_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -118103,7 +115120,7 @@ os_toplevel_consts_103_consts_11_names = { &_Py_ID(isinstance), & const_str_Mapping._ascii.ob_base, & const_str_NotImplemented._ascii.ob_base, - & const_str_dict._ascii.ob_base, + &_Py_ID(dict), & const_str_update._ascii.ob_base, }, }, @@ -118113,10 +115130,10 @@ static PyASCIIObject _ascii; uint8_t _data[16]; } -os_toplevel_consts_103_consts_11_qualname = { +os_toplevel_consts_99_consts_11_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -118125,7 +115142,7 @@ os_toplevel_consts_103_consts_11_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__or__", @@ -118134,18 +115151,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[61]; + char ob_sval[45]; } -os_toplevel_consts_103_consts_11_linetable = { +os_toplevel_consts_99_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 60, + .ob_size = 44, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x25\xa5\x17\xd1\x0f\x29\xd4\x0f\x29\xf0\x00\x01\x09\x22\xdd\x13\x21\xd0\x0c\x21\xdd\x0e\x12\x90\x34\x89\x6a\x8c\x6a\x88\x03\xd8\x08\x0b\x8f\x0a\x8a\x0a\x90\x35\xd1\x08\x19\xd4\x08\x19\xd0\x08\x19\xd8\x0f\x12\x88\x0a", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x25\xa4\x17\xd4\x0f\x29\xdc\x13\x21\xd0\x0c\x21\xdc\x0e\x12\x90\x34\x8b\x6a\x88\x03\xd8\x08\x0b\x8f\x0a\x89\x0a\x90\x35\xd4\x08\x19\xd8\x0f\x12\x88\x0a", }; static struct { @@ -118155,57 +115172,55 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_103_consts_11_localsplusnames = { +os_toplevel_consts_99_consts_11_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_other._ascii.ob_base, & const_str_new._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(134) -os_toplevel_consts_103_consts_11 = { + struct _PyCode_DEF(106) +os_toplevel_consts_99_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 67, + .ob_size = 53, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_11_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_11_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 725, + .co_firstlineno = 731, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_103_consts_11_localsplusnames._object.ob_base.ob_base, + .co_version = 629, + .co_localsplusnames = & os_toplevel_consts_99_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__or__), - .co_qualname = & os_toplevel_consts_103_consts_11_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_11_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_11_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -118213,10 +115228,10 @@ static PyASCIIObject _ascii; uint8_t _data[17]; } -os_toplevel_consts_103_consts_12_qualname = { +os_toplevel_consts_99_consts_12_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -118225,7 +115240,7 @@ os_toplevel_consts_103_consts_12_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Environ.__ror__", @@ -118234,54 +115249,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[61]; + char ob_sval[45]; } -os_toplevel_consts_103_consts_12_linetable = { +os_toplevel_consts_99_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 60, + .ob_size = 44, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x25\xa5\x17\xd1\x0f\x29\xd4\x0f\x29\xf0\x00\x01\x09\x22\xdd\x13\x21\xd0\x0c\x21\xdd\x0e\x12\x90\x35\x89\x6b\x8c\x6b\x88\x03\xd8\x08\x0b\x8f\x0a\x8a\x0a\x90\x34\xd1\x08\x18\xd4\x08\x18\xd0\x08\x18\xd8\x0f\x12\x88\x0a", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x25\xa4\x17\xd4\x0f\x29\xdc\x13\x21\xd0\x0c\x21\xdc\x0e\x12\x90\x35\x8b\x6b\x88\x03\xd8\x08\x0b\x8f\x0a\x89\x0a\x90\x34\xd4\x08\x18\xd8\x0f\x12\x88\x0a", }; static - struct _PyCode_DEF(134) -os_toplevel_consts_103_consts_12 = { + struct _PyCode_DEF(106) +os_toplevel_consts_99_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 67, + .ob_size = 53, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_consts_11_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_consts_11_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 732, + .co_firstlineno = 738, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_103_consts_11_localsplusnames._object.ob_base.ob_base, + .co_version = 630, + .co_localsplusnames = & os_toplevel_consts_99_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__ror__), - .co_qualname = & os_toplevel_consts_103_consts_12_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x53\x00", + .co_qualname = & os_toplevel_consts_99_consts_12_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_99_consts_12_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x06\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x53\x00", ._co_firsttraceable = 0, }; static @@ -118292,29 +115305,29 @@ static PyObject *ob_item[14]; }_object; } -os_toplevel_consts_103_consts = { +os_toplevel_consts_99_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 14, }, .ob_item = { & const_str__Environ._ascii.ob_base, - & os_toplevel_consts_103_consts_1.ob_base.ob_base, - & os_toplevel_consts_103_consts_2.ob_base.ob_base, - & os_toplevel_consts_103_consts_3.ob_base.ob_base, - & os_toplevel_consts_103_consts_4.ob_base.ob_base, - & os_toplevel_consts_103_consts_5.ob_base.ob_base, - & os_toplevel_consts_103_consts_6.ob_base.ob_base, - & os_toplevel_consts_103_consts_7.ob_base.ob_base, - & os_toplevel_consts_103_consts_8.ob_base.ob_base, - & os_toplevel_consts_103_consts_9.ob_base.ob_base, - & os_toplevel_consts_103_consts_10.ob_base.ob_base, - & os_toplevel_consts_103_consts_11.ob_base.ob_base, - & os_toplevel_consts_103_consts_12.ob_base.ob_base, + & os_toplevel_consts_99_consts_1.ob_base.ob_base, + & os_toplevel_consts_99_consts_2.ob_base.ob_base, + & os_toplevel_consts_99_consts_3.ob_base.ob_base, + & os_toplevel_consts_99_consts_4.ob_base.ob_base, + & os_toplevel_consts_99_consts_5.ob_base.ob_base, + & os_toplevel_consts_99_consts_6.ob_base.ob_base, + & os_toplevel_consts_99_consts_7.ob_base.ob_base, + & os_toplevel_consts_99_consts_8.ob_base.ob_base, + & os_toplevel_consts_99_consts_9.ob_base.ob_base, + & os_toplevel_consts_99_consts_10.ob_base.ob_base, + & os_toplevel_consts_99_consts_11.ob_base.ob_base, + & os_toplevel_consts_99_consts_12.ob_base.ob_base, Py_None, }, }, @@ -118327,11 +115340,11 @@ static PyObject *ob_item[15]; }_object; } -os_toplevel_consts_103_names = { +os_toplevel_consts_99_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -118359,54 +115372,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[201]; + char ob_sval[63]; } -os_toplevel_consts_103_linetable = { +os_toplevel_consts_99_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 200, + .ob_size = 62, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x05\x05\x1a\xf0\x00\x05\x05\x1a\xf0\x00\x05\x05\x1a\xf0\x0e\x06\x05\x27\xf0\x00\x06\x05\x27\xf0\x00\x06\x05\x27\xf0\x10\x04\x05\x20\xf0\x00\x04\x05\x20\xf0\x00\x04\x05\x20\xf0\x0c\x07\x05\x2a\xf0\x00\x07\x05\x2a\xf0\x00\x07\x05\x2a\xf0\x12\x04\x05\x26\xf0\x00\x04\x05\x26\xf0\x00\x04\x05\x26\xf0\x0c\x01\x05\x1f\xf0\x00\x01\x05\x1f\xf0\x00\x01\x05\x1f\xf0\x06\x05\x05\x31\xf0\x00\x05\x05\x31\xf0\x00\x05\x05\x31\xf0\x0e\x01\x05\x1a\xf0\x00\x01\x05\x1a\xf0\x00\x01\x05\x1a\xf0\x06\x03\x05\x19\xf0\x00\x03\x05\x19\xf0\x00\x03\x05\x19\xf0\x0a\x02\x05\x14\xf0\x00\x02\x05\x14\xf0\x00\x02\x05\x14\xf0\x08\x05\x05\x13\xf0\x00\x05\x05\x13\xf0\x00\x05\x05\x13\xf0\x0e\x05\x05\x13\xf0\x00\x05\x05\x13\xf0\x00\x05\x05\x13\xf0\x00\x05\x05\x13\xf0\x00\x05\x05\x13", + .ob_sval = "\x84\x00\xf2\x02\x05\x05\x1a\xf2\x0e\x06\x05\x27\xf2\x10\x04\x05\x20\xf2\x0c\x07\x05\x2a\xf2\x12\x04\x05\x26\xf2\x0c\x01\x05\x1f\xf2\x06\x05\x05\x31\xf2\x0e\x01\x05\x1a\xf2\x06\x03\x05\x19\xf2\x0a\x02\x05\x14\xf2\x08\x05\x05\x13\xf3\x0e\x05\x05\x13", }; static - struct _PyCode_DEF(86) -os_toplevel_consts_103 = { + struct _PyCode_DEF(84) +os_toplevel_consts_99 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 43, + .ob_size = 42, }, - .co_consts = & os_toplevel_consts_103_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_103_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_99_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_99_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 666, + .co_firstlineno = 672, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 631, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__Environ._ascii.ob_base, .co_qualname = & const_str__Environ._ascii.ob_base, - .co_linetable = & os_toplevel_consts_103_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x64\x07\x84\x00\x5a\x09\x64\x08\x84\x00\x5a\x0a\x64\x09\x84\x00\x5a\x0b\x64\x0a\x84\x00\x5a\x0c\x64\x0b\x84\x00\x5a\x0d\x64\x0c\x84\x00\x5a\x0e\x64\x0d\x53\x00", + .co_linetable = & os_toplevel_consts_99_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x64\x07\x84\x00\x5a\x09\x64\x08\x84\x00\x5a\x0a\x64\x09\x84\x00\x5a\x0b\x64\x0a\x84\x00\x5a\x0c\x64\x0b\x84\x00\x5a\x0d\x64\x0c\x84\x00\x5a\x0e\x79\x0d", ._co_firsttraceable = 0, }; static @@ -118414,10 +115425,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -os_toplevel_consts_105_consts_2_consts_1 = { +os_toplevel_consts_101_consts_2_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -118426,7 +115437,7 @@ os_toplevel_consts_105_consts_2_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "str expected, not %s", @@ -118439,18 +115450,18 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_105_consts_2_consts = { +os_toplevel_consts_101_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & os_toplevel_consts_105_consts_2_consts_1._ascii.ob_base, + & os_toplevel_consts_101_consts_2_consts_1._ascii.ob_base, }, }, }; @@ -118462,11 +115473,11 @@ static PyObject *ob_item[5]; }_object; } -os_toplevel_consts_105_consts_2_names = { +os_toplevel_consts_101_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -118475,7 +115486,7 @@ os_toplevel_consts_105_consts_2_names = { &_Py_ID(isinstance), & const_str_str._ascii.ob_base, & const_str_TypeError._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), &_Py_ID(__name__), }, }, @@ -118488,7 +115499,7 @@ static const_str_check_str = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -118497,7 +115508,7 @@ const_str_check_str = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "check_str", @@ -118507,10 +115518,10 @@ static PyASCIIObject _ascii; uint8_t _data[34]; } -os_toplevel_consts_105_consts_2_qualname = { +os_toplevel_consts_101_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 33, @@ -118519,7 +115530,7 @@ os_toplevel_consts_105_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_createenviron..check_str", @@ -118528,18 +115539,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[56]; + char ob_sval[45]; } -os_toplevel_consts_105_consts_2_linetable = { +os_toplevel_consts_101_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 55, + .ob_size = 44, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x13\x1d\x98\x65\xa5\x53\xd1\x13\x29\xd4\x13\x29\xf0\x00\x01\x0d\x4f\x01\xdd\x16\x1f\xd0\x20\x36\xbd\x14\xb8\x65\xb9\x1b\xbc\x1b\xd4\x39\x4d\xd1\x20\x4d\xd1\x16\x4e\xd4\x16\x4e\xd0\x10\x4e\xd8\x13\x18\x88\x4c", + .ob_sval = "\x80\x00\xdc\x13\x1d\x98\x65\xa4\x53\xd4\x13\x29\xdc\x16\x1f\xd0\x20\x36\xbc\x14\xb8\x65\xbb\x1b\xd7\x39\x4d\xd1\x39\x4d\xd1\x20\x4d\xd3\x16\x4e\xd0\x10\x4e\xd8\x13\x18\x88\x4c", }; static struct { @@ -118549,55 +115560,53 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_105_consts_2_localsplusnames = { +os_toplevel_consts_101_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_value._ascii.ob_base, + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(120) -os_toplevel_consts_105_consts_2 = { + struct _PyCode_DEF(104) +os_toplevel_consts_101_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 60, + .ob_size = 52, }, - .co_consts = & os_toplevel_consts_105_consts_2_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_105_consts_2_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_101_consts_2_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_101_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 742, + .co_firstlineno = 748, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_105_consts_2_localsplusnames._object.ob_base.ob_base, + .co_version = 632, + .co_localsplusnames = & os_toplevel_consts_101_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_check_str._ascii.ob_base, - .co_qualname = & os_toplevel_consts_105_consts_2_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_105_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x24\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x53\x00", + .co_qualname = & os_toplevel_consts_101_consts_2_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_101_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x21\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -118608,11 +115617,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_105_consts_3_names = { +os_toplevel_consts_101_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -118627,10 +115636,10 @@ static PyASCIIObject _ascii; uint8_t _data[34]; } -os_toplevel_consts_105_consts_3_qualname = { +os_toplevel_consts_101_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 33, @@ -118639,7 +115648,7 @@ os_toplevel_consts_105_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_createenviron..encodekey", @@ -118648,18 +115657,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[30]; + char ob_sval[23]; } -os_toplevel_consts_105_consts_3_linetable = { +os_toplevel_consts_101_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 29, + .ob_size = 22, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd8\x13\x19\x90\x36\x98\x23\x91\x3b\x94\x3b\xd7\x13\x24\xd2\x13\x24\xd1\x13\x26\xd4\x13\x26\xd0\x0c\x26", + .ob_sval = "\xf8\x80\x00\xd9\x13\x19\x98\x23\x93\x3b\xd7\x13\x24\xd1\x13\x24\xd3\x13\x26\xd0\x0c\x26", }; static struct { @@ -118669,56 +115678,71 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_105_consts_3_localsplusnames = { +os_toplevel_consts_101_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_key._ascii.ob_base, + &_Py_ID(key), &_Py_ID(encode), }, }, }; static - struct _PyCode_DEF(62) -os_toplevel_consts_105_consts_3 = { + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[3]; + } +os_toplevel_consts_101_consts_3_localspluskinds = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 2, + }, + .ob_shash = -1, + .ob_sval = "\x20\x80", +}; +static + struct _PyCode_DEF(48) +os_toplevel_consts_101_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 31, + .ob_size = 24, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_105_consts_3_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_101_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 748, + .co_firstlineno = 754, .co_nlocalsplus = 2, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & os_toplevel_consts_105_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & _collections_abc_toplevel_consts_44_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 633, + .co_localsplusnames = & os_toplevel_consts_101_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & os_toplevel_consts_101_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_encodekey._ascii.ob_base, - .co_qualname = & os_toplevel_consts_105_consts_3_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_105_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x02\x00\x89\x01\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_101_consts_3_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_101_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x02\x00\x89\x01\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -118729,18 +115753,18 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_105_consts_4_consts = { +os_toplevel_consts_101_consts_4_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { Py_None, - & os_toplevel_consts_105_consts_2_consts_1._ascii.ob_base, + & os_toplevel_consts_101_consts_2_consts_1._ascii.ob_base, & const_str_surrogateescape._ascii.ob_base, }, }, @@ -118753,11 +115777,11 @@ static PyObject *ob_item[6]; }_object; } -os_toplevel_consts_105_consts_4_names = { +os_toplevel_consts_101_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -118766,7 +115790,7 @@ os_toplevel_consts_105_consts_4_names = { &_Py_ID(isinstance), & const_str_str._ascii.ob_base, & const_str_TypeError._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), &_Py_ID(__name__), &_Py_ID(encode), }, @@ -118777,10 +115801,10 @@ static PyASCIIObject _ascii; uint8_t _data[31]; } -os_toplevel_consts_105_consts_4_qualname = { +os_toplevel_consts_101_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -118789,7 +115813,7 @@ os_toplevel_consts_105_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_createenviron..encode", @@ -118798,18 +115822,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[73]; + char ob_sval[59]; } -os_toplevel_consts_105_consts_4_linetable = { +os_toplevel_consts_101_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 72, + .ob_size = 58, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xdd\x13\x1d\x98\x65\xa5\x53\xd1\x13\x29\xd4\x13\x29\xf0\x00\x01\x0d\x4f\x01\xdd\x16\x1f\xd0\x20\x36\xbd\x14\xb8\x65\xb9\x1b\xbc\x1b\xd4\x39\x4d\xd1\x20\x4d\xd1\x16\x4e\xd4\x16\x4e\xd0\x10\x4e\xd8\x13\x18\x97\x3c\x92\x3c\xa0\x08\xd0\x2a\x3b\xd1\x13\x3c\xd4\x13\x3c\xd0\x0c\x3c", + .ob_sval = "\xf8\x80\x00\xdc\x13\x1d\x98\x65\xa4\x53\xd4\x13\x29\xdc\x16\x1f\xd0\x20\x36\xbc\x14\xb8\x65\xbb\x1b\xd7\x39\x4d\xd1\x39\x4d\xd1\x20\x4d\xd3\x16\x4e\xd0\x10\x4e\xd8\x13\x18\x97\x3c\x91\x3c\xa0\x08\xd0\x2a\x3b\xd3\x13\x3c\xd0\x0c\x3c", }; static struct { @@ -118819,56 +115843,54 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_105_consts_4_localsplusnames = { +os_toplevel_consts_101_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_value._ascii.ob_base, + &_Py_ID(value), &_Py_ID(encoding), }, }, }; static - struct _PyCode_DEF(162) -os_toplevel_consts_105_consts_4 = { + struct _PyCode_DEF(138) +os_toplevel_consts_101_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 81, + .ob_size = 69, }, - .co_consts = & os_toplevel_consts_105_consts_4_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_105_consts_4_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_101_consts_4_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_101_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 756, + .co_firstlineno = 762, .co_nlocalsplus = 2, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & os_toplevel_consts_105_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & _collections_abc_toplevel_consts_44_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 634, + .co_localsplusnames = & os_toplevel_consts_101_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & os_toplevel_consts_101_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(encode), - .co_qualname = & os_toplevel_consts_105_consts_4_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_105_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x24\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_101_consts_4_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_101_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x21\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -118879,11 +115901,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_105_consts_5_consts = { +os_toplevel_consts_101_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -118902,11 +115924,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_105_consts_5_names = { +os_toplevel_consts_101_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -118921,10 +115943,10 @@ static PyASCIIObject _ascii; uint8_t _data[31]; } -os_toplevel_consts_105_consts_5_qualname = { +os_toplevel_consts_101_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -118933,7 +115955,7 @@ os_toplevel_consts_105_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_createenviron..decode", @@ -118942,54 +115964,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[22]; } -os_toplevel_consts_105_consts_5_linetable = { +os_toplevel_consts_101_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 21, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xd8\x13\x18\x97\x3c\x92\x3c\xa0\x08\xd0\x2a\x3b\xd1\x13\x3c\xd4\x13\x3c\xd0\x0c\x3c", + .ob_sval = "\xf8\x80\x00\xd8\x13\x18\x97\x3c\x91\x3c\xa0\x08\xd0\x2a\x3b\xd3\x13\x3c\xd0\x0c\x3c", }; static - struct _PyCode_DEF(48) -os_toplevel_consts_105_consts_5 = { + struct _PyCode_DEF(40) +os_toplevel_consts_101_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 24, + .ob_size = 20, }, - .co_consts = & os_toplevel_consts_105_consts_5_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_105_consts_5_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_101_consts_5_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_101_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 760, + .co_firstlineno = 766, .co_nlocalsplus = 2, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 1, - .co_localsplusnames = & os_toplevel_consts_105_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & _collections_abc_toplevel_consts_44_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 635, + .co_localsplusnames = & os_toplevel_consts_101_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & os_toplevel_consts_101_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(decode), - .co_qualname = & os_toplevel_consts_105_consts_5_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_105_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_101_consts_5_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_101_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x01\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -119000,22 +116020,22 @@ static PyObject *ob_item[6]; }_object; } -os_toplevel_consts_105_consts = { +os_toplevel_consts_101_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, }, .ob_item = { Py_None, - & const_str_nt._ascii.ob_base, - & os_toplevel_consts_105_consts_2.ob_base.ob_base, - & os_toplevel_consts_105_consts_3.ob_base.ob_base, - & os_toplevel_consts_105_consts_4.ob_base.ob_base, - & os_toplevel_consts_105_consts_5.ob_base.ob_base, + &_Py_ID(nt), + & os_toplevel_consts_101_consts_2.ob_base.ob_base, + & os_toplevel_consts_101_consts_3.ob_base.ob_base, + & os_toplevel_consts_101_consts_4.ob_base.ob_base, + & os_toplevel_consts_101_consts_5.ob_base.ob_base, }, }, }; @@ -119027,11 +116047,11 @@ static PyObject *ob_item[7]; }_object; } -os_toplevel_consts_105_names = { +os_toplevel_consts_101_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -119055,7 +116075,7 @@ static const_str__createenviron = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -119064,7 +116084,7 @@ const_str__createenviron = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_createenviron", @@ -119073,18 +116093,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[230]; + char ob_sval[138]; } -os_toplevel_consts_105_linetable = { +os_toplevel_consts_101_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 229, + .ob_size = 137, }, .ob_shash = -1, - .ob_sval = "\xf8\xf8\x80\x00\xdd\x07\x0b\x88\x74\x82\x7c\x80\x7c\xf0\x04\x03\x09\x19\xf0\x00\x03\x09\x19\xf0\x00\x03\x09\x19\xf0\x08\x00\x12\x1b\x88\x06\xdd\x11\x14\x88\x06\xf0\x02\x01\x09\x27\xf0\x00\x01\x09\x27\xf0\x00\x01\x09\x27\xf0\x00\x01\x09\x27\xf0\x00\x01\x09\x27\xe0\x0f\x11\x88\x04\xdd\x1a\x21\x9f\x2d\x9a\x2d\x99\x2f\x9c\x2f\xf0\x00\x01\x09\x29\xf0\x00\x01\x09\x29\x89\x4a\x88\x43\x90\x15\xd8\x23\x28\x88\x44\x90\x19\x90\x19\x98\x33\x91\x1e\x94\x1e\xd1\x0c\x20\xd0\x0c\x20\xf0\x03\x01\x09\x29\xf5\x08\x00\x14\x17\xd4\x13\x2c\xd1\x13\x2e\xd4\x13\x2e\x88\x08\xf0\x02\x03\x09\x3d\xf0\x00\x03\x09\x3d\xf0\x00\x03\x09\x3d\xf0\x00\x03\x09\x3d\xf0\x00\x03\x09\x3d\xf0\x08\x01\x09\x3d\xf0\x00\x01\x09\x3d\xf0\x00\x01\x09\x3d\xf0\x00\x01\x09\x3d\xf0\x00\x01\x09\x3d\xe0\x14\x1a\x88\x09\xdd\x0f\x16\x88\x04\xdd\x0b\x13\x90\x44\xd8\x08\x11\x90\x36\xd8\x08\x0e\x90\x06\xf1\x05\x02\x0c\x18\xf4\x00\x02\x0c\x18\xf0\x00\x02\x05\x18", + .ob_sval = "\xf9\x80\x00\xdc\x07\x0b\x88\x74\x82\x7c\xf2\x04\x03\x09\x19\xf0\x08\x00\x12\x1b\x88\x06\xdc\x11\x14\x88\x06\xf4\x02\x01\x09\x27\xe0\x0f\x11\x88\x04\xdc\x1a\x21\x9f\x2d\x99\x2d\x9b\x2f\xf2\x00\x01\x09\x29\x89\x4a\x88\x43\x90\x15\xd8\x23\x28\x88\x44\x91\x19\x98\x33\x93\x1e\xd2\x0c\x20\xf1\x03\x01\x09\x29\xf4\x08\x00\x14\x17\xd7\x13\x2c\xd1\x13\x2c\xd3\x13\x2e\x88\x08\xf4\x02\x03\x09\x3d\xf4\x08\x01\x09\x3d\xe0\x14\x1a\x88\x09\xdc\x0f\x16\x88\x04\xdc\x0b\x13\x90\x44\xd8\x08\x11\x90\x36\xd8\x08\x0e\x90\x06\xf3\x05\x02\x0c\x18\xf0\x00\x02\x05\x18", }; static struct { @@ -119094,11 +116114,11 @@ static PyObject *ob_item[8]; }_object; } -os_toplevel_consts_105_localsplusnames = { +os_toplevel_consts_101_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -119107,9 +116127,9 @@ os_toplevel_consts_105_localsplusnames = { & const_str_check_str._ascii.ob_base, &_Py_ID(decode), & const_str_encodekey._ascii.ob_base, - & const_str_data._ascii.ob_base, - & const_str_key._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(data), + &_Py_ID(key), + &_Py_ID(value), &_Py_ID(encode), &_Py_ID(encoding), }, @@ -119121,10 +116141,10 @@ static Py_hash_t ob_shash; char ob_sval[9]; } -os_toplevel_consts_105_localspluskinds = { +os_toplevel_consts_101_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 8, @@ -119133,40 +116153,38 @@ os_toplevel_consts_105_localspluskinds = { .ob_sval = " @@", }; static - struct _PyCode_DEF(272) -os_toplevel_consts_105 = { + struct _PyCode_DEF(246) +os_toplevel_consts_101 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 136, + .ob_size = 123, }, - .co_consts = & os_toplevel_consts_105_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_105_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_101_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_101_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 15 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 739, + .co_firstlineno = 745, .co_nlocalsplus = 8, .co_nlocals = 6, - .co_nplaincellvars = 2, .co_ncellvars = 2, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_105_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & os_toplevel_consts_105_localspluskinds.ob_base.ob_base, + .co_version = 636, + .co_localsplusnames = & os_toplevel_consts_101_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & os_toplevel_consts_101_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__createenviron._ascii.ob_base, .co_qualname = & const_str__createenviron._ascii.ob_base, - .co_linetable = & os_toplevel_consts_105_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x06\x87\x07\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x41\x64\x02\x84\x00\x7d\x00\x7c\x00\x8a\x06\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x88\x06\x66\x01\x64\x03\x84\x08\x7d\x02\x69\x00\x7d\x03\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x13\x5c\x02\x00\x00\x7d\x04\x7d\x05\x7c\x05\x7c\x03\x02\x00\x7c\x02\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x8c\x14\x6e\x26\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x07\x88\x07\x66\x01\x64\x04\x84\x08\x8a\x06\x88\x07\x66\x01\x64\x05\x84\x08\x7d\x01\x89\x06\x7d\x02\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x02\x7c\x01\x89\x06\x7c\x01\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_101_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x06\x87\x07\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x28\x00\x00\x72\x3a\x64\x02\x84\x00\x7d\x00\x7c\x00\x8a\x06\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x88\x06\x66\x01\x64\x03\x84\x08\x7d\x02\x69\x00\x7d\x03\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x10\x00\x00\x5c\x02\x00\x00\x7d\x04\x7d\x05\x7c\x05\x7c\x03\x02\x00\x7c\x02\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x8c\x12\x04\x00\x6e\x26\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x8a\x07\x88\x07\x66\x01\x64\x04\x84\x08\x8a\x06\x88\x07\x66\x01\x64\x05\x84\x08\x7d\x01\x89\x06\x7d\x02\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x02\x7c\x01\x89\x06\x7c\x01\xab\x05\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 2, }; static @@ -119174,10 +116192,10 @@ static PyASCIIObject _ascii; uint8_t _data[170]; } -os_toplevel_consts_106_consts_0 = { +os_toplevel_consts_102_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 169, @@ -119186,7 +116204,7 @@ os_toplevel_consts_106_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x47\x65\x74\x20\x61\x6e\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2c\x20\x72\x65\x74\x75\x72\x6e\x20\x4e\x6f\x6e\x65\x20\x69\x66\x20\x69\x74\x20\x64\x6f\x65\x73\x6e\x27\x74\x20\x65\x78\x69\x73\x74\x2e\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x73\x65\x63\x6f\x6e\x64\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x63\x61\x6e\x20\x73\x70\x65\x63\x69\x66\x79\x20\x61\x6e\x20\x61\x6c\x74\x65\x72\x6e\x61\x74\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x2e\x0a\x20\x20\x20\x20\x6b\x65\x79\x2c\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x61\x6e\x64\x20\x74\x68\x65\x20\x72\x65\x73\x75\x6c\x74\x20\x61\x72\x65\x20\x73\x74\x72\x2e", @@ -119199,17 +116217,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_106_consts = { +os_toplevel_consts_102_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & os_toplevel_consts_106_consts_0._ascii.ob_base, + & os_toplevel_consts_102_consts_0._ascii.ob_base, }, }, }; @@ -119221,11 +116239,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_106_names = { +os_toplevel_consts_102_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -119244,7 +116262,7 @@ static const_str_getenv = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -119253,7 +116271,7 @@ const_str_getenv = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getenv", @@ -119262,18 +116280,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[22]; } -os_toplevel_consts_106_linetable = { +os_toplevel_consts_102_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 21, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x08\x00\x0c\x13\x8f\x3b\x8a\x3b\x90\x73\x98\x47\xd1\x0b\x24\xd4\x0b\x24\xd0\x04\x24", + .ob_sval = "\x80\x00\xf4\x08\x00\x0c\x13\x8f\x3b\x89\x3b\x90\x73\x98\x47\xd3\x0b\x24\xd0\x04\x24", }; static struct { @@ -119283,56 +116301,54 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_106_localsplusnames = { +os_toplevel_consts_102_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_key._ascii.ob_base, + &_Py_ID(key), &_Py_ID(default), }, }, }; static - struct _PyCode_DEF(56) -os_toplevel_consts_106 = { + struct _PyCode_DEF(46) +os_toplevel_consts_102 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 28, + .ob_size = 23, }, - .co_consts = & os_toplevel_consts_106_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_106_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_102_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_102_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 773, + .co_firstlineno = 779, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_106_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 637, + .co_localsplusnames = & os_toplevel_consts_102_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_getenv._ascii.ob_base, .co_qualname = & const_str_getenv._ascii.ob_base, - .co_linetable = & os_toplevel_consts_106_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_102_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -119343,11 +116359,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_107 = { +os_toplevel_consts_103 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -119363,10 +116379,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -os_toplevel_consts_108_consts_1 = { +os_toplevel_consts_104_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -119375,7 +116391,7 @@ os_toplevel_consts_108_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bytes expected, not %s", @@ -119388,18 +116404,18 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_108_consts = { +os_toplevel_consts_104_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & os_toplevel_consts_108_consts_1._ascii.ob_base, + & os_toplevel_consts_104_consts_1._ascii.ob_base, }, }, }; @@ -119411,20 +116427,20 @@ static PyObject *ob_item[5]; }_object; } -os_toplevel_consts_108_names = { +os_toplevel_consts_104_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_TypeError._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), &_Py_ID(__name__), }, }, @@ -119437,7 +116453,7 @@ static const_str__check_bytes = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -119446,7 +116462,7 @@ const_str__check_bytes = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_check_bytes", @@ -119455,54 +116471,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[56]; + char ob_sval[45]; } -os_toplevel_consts_108_linetable = { +os_toplevel_consts_104_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 55, + .ob_size = 44, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x25\xa5\x15\xd1\x0f\x27\xd4\x0f\x27\xf0\x00\x01\x09\x4d\x01\xdd\x12\x1b\xd0\x1c\x34\xb5\x74\xb8\x45\xb1\x7b\xb4\x7b\xd4\x37\x4b\xd1\x1c\x4b\xd1\x12\x4c\xd4\x12\x4c\xd0\x0c\x4c\xd8\x0f\x14\x88\x0c", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x25\xa4\x15\xd4\x0f\x27\xdc\x12\x1b\xd0\x1c\x34\xb4\x74\xb8\x45\xb3\x7b\xd7\x37\x4b\xd1\x37\x4b\xd1\x1c\x4b\xd3\x12\x4c\xd0\x0c\x4c\xd8\x0f\x14\x88\x0c", }; static - struct _PyCode_DEF(120) -os_toplevel_consts_108 = { + struct _PyCode_DEF(104) +os_toplevel_consts_104 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 60, + .ob_size = 52, }, - .co_consts = & os_toplevel_consts_108_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_108_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_104_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_104_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 783, + .co_firstlineno = 789, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_105_consts_2_localsplusnames._object.ob_base.ob_base, + .co_version = 638, + .co_localsplusnames = & os_toplevel_consts_101_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__check_bytes._ascii.ob_base, .co_qualname = & const_str__check_bytes._ascii.ob_base, - .co_linetable = & os_toplevel_consts_108_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x24\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x53\x00", + .co_linetable = & os_toplevel_consts_104_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x21\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -119510,10 +116524,10 @@ static PyASCIIObject _ascii; uint8_t _data[180]; } -os_toplevel_consts_109_consts_0 = { +os_toplevel_consts_105_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 179, @@ -119522,7 +116536,7 @@ os_toplevel_consts_109_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x47\x65\x74\x20\x61\x6e\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2c\x20\x72\x65\x74\x75\x72\x6e\x20\x4e\x6f\x6e\x65\x20\x69\x66\x20\x69\x74\x20\x64\x6f\x65\x73\x6e\x27\x74\x20\x65\x78\x69\x73\x74\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x73\x65\x63\x6f\x6e\x64\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x63\x61\x6e\x20\x73\x70\x65\x63\x69\x66\x79\x20\x61\x6e\x20\x61\x6c\x74\x65\x72\x6e\x61\x74\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6b\x65\x79\x2c\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x61\x6e\x64\x20\x74\x68\x65\x20\x72\x65\x73\x75\x6c\x74\x20\x61\x72\x65\x20\x62\x79\x74\x65\x73\x2e", @@ -119535,17 +116549,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_109_consts = { +os_toplevel_consts_105_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & os_toplevel_consts_109_consts_0._ascii.ob_base, + & os_toplevel_consts_105_consts_0._ascii.ob_base, }, }, }; @@ -119557,11 +116571,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_109_names = { +os_toplevel_consts_105_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -119580,7 +116594,7 @@ static const_str_getenvb = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -119589,7 +116603,7 @@ const_str_getenvb = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getenvb", @@ -119598,54 +116612,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[22]; } -os_toplevel_consts_109_linetable = { +os_toplevel_consts_105_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 21, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x08\x00\x10\x18\x8f\x7c\x8a\x7c\x98\x43\xa0\x17\xd1\x0f\x29\xd4\x0f\x29\xd0\x08\x29", + .ob_sval = "\x80\x00\xf4\x08\x00\x10\x18\x8f\x7c\x89\x7c\x98\x43\xa0\x17\xd3\x0f\x29\xd0\x08\x29", }; static - struct _PyCode_DEF(56) -os_toplevel_consts_109 = { + struct _PyCode_DEF(46) +os_toplevel_consts_105 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 28, + .ob_size = 23, }, - .co_consts = & os_toplevel_consts_109_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_109_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_105_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_105_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 794, + .co_firstlineno = 800, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_106_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 639, + .co_localsplusnames = & os_toplevel_consts_102_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_getenvb._ascii.ob_base, .co_qualname = & const_str_getenvb._ascii.ob_base, - .co_linetable = & os_toplevel_consts_109_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_105_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -119656,11 +116668,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_110 = { +os_toplevel_consts_106 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -119676,10 +116688,10 @@ static PyASCIIObject _ascii; uint8_t _data[280]; } -os_toplevel_consts_111_consts_1_consts_0 = { +os_toplevel_consts_107_consts_1_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 279, @@ -119688,7 +116700,7 @@ os_toplevel_consts_111_consts_1_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x45\x6e\x63\x6f\x64\x65\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x20\x28\x61\x6e\x20\x6f\x73\x2e\x50\x61\x74\x68\x4c\x69\x6b\x65\x2c\x20\x62\x79\x74\x65\x73\x2c\x20\x6f\x72\x20\x73\x74\x72\x29\x20\x74\x6f\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x73\x79\x73\x74\x65\x6d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x77\x69\x74\x68\x20\x27\x73\x75\x72\x72\x6f\x67\x61\x74\x65\x65\x73\x63\x61\x70\x65\x27\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x65\x72\x2c\x20\x72\x65\x74\x75\x72\x6e\x20\x62\x79\x74\x65\x73\x20\x75\x6e\x63\x68\x61\x6e\x67\x65\x64\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x4f\x6e\x20\x57\x69\x6e\x64\x6f\x77\x73\x2c\x20\x75\x73\x65\x20\x27\x73\x74\x72\x69\x63\x74\x27\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x69\x66\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x20\x73\x79\x73\x74\x65\x6d\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x69\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27\x6d\x62\x63\x73\x27\x20\x28\x77\x68\x69\x63\x68\x20\x69\x73\x20\x74\x68\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -119701,17 +116713,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_111_consts_1_consts = { +os_toplevel_consts_107_consts_1_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & os_toplevel_consts_111_consts_1_consts_0._ascii.ob_base, + & os_toplevel_consts_107_consts_1_consts_0._ascii.ob_base, }, }, }; @@ -119723,11 +116735,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_111_consts_1_names = { +os_toplevel_consts_107_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -119745,10 +116757,10 @@ static PyASCIIObject _ascii; uint8_t _data[27]; } -os_toplevel_consts_111_consts_1_qualname = { +os_toplevel_consts_107_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -119757,7 +116769,7 @@ os_toplevel_consts_111_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_fscodec..fsencode", @@ -119766,18 +116778,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[62]; + char ob_sval[48]; } -os_toplevel_consts_111_consts_1_linetable = { +os_toplevel_consts_107_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 61, + .ob_size = 47, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf5\x0c\x00\x14\x1a\x98\x28\xd1\x13\x23\xd4\x13\x23\x88\x08\xdd\x0b\x15\x90\x68\xa5\x03\xd1\x0b\x24\xd4\x0b\x24\xf0\x00\x03\x09\x1c\xd8\x13\x1b\x97\x3f\x92\x3f\xa0\x38\xa8\x56\xd1\x13\x34\xd4\x13\x34\xd0\x0c\x34\xe0\x13\x1b\x88\x4f", + .ob_sval = "\xf8\x80\x00\xf4\x0c\x00\x14\x1a\x98\x28\xd3\x13\x23\x88\x08\xdc\x0b\x15\x90\x68\xa4\x03\xd4\x0b\x24\xd8\x13\x1b\x97\x3f\x91\x3f\xa0\x38\xa8\x56\xd3\x13\x34\xd0\x0c\x34\xe0\x13\x1b\x88\x4f", }; static struct { @@ -119787,11 +116799,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_111_consts_1_localsplusnames = { +os_toplevel_consts_107_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -119804,40 +116816,38 @@ os_toplevel_consts_111_consts_1_localsplusnames = { }, }; static - struct _PyCode_DEF(124) -os_toplevel_consts_111_consts_1 = { + struct _PyCode_DEF(98) +os_toplevel_consts_107_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 62, + .ob_size = 49, }, - .co_consts = & os_toplevel_consts_111_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_111_consts_1_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_107_consts_1_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_107_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 806, + .co_firstlineno = 812, .co_nlocalsplus = 3, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 2, - .co_localsplusnames = & os_toplevel_consts_111_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_73_consts_9_consts_1_localspluskinds.ob_base.ob_base, + .co_version = 640, + .co_localsplusnames = & os_toplevel_consts_107_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_72_consts_8_consts_1_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_fsencode._ascii.ob_base, - .co_qualname = & os_toplevel_consts_111_consts_1_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_111_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x02\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x16\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x89\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x53\x00", + .co_qualname = & os_toplevel_consts_107_consts_1_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_107_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x02\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x12\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x89\x02\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -119845,10 +116855,10 @@ static PyASCIIObject _ascii; uint8_t _data[280]; } -os_toplevel_consts_111_consts_2_consts_0 = { +os_toplevel_consts_107_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 279, @@ -119857,7 +116867,7 @@ os_toplevel_consts_111_consts_2_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x44\x65\x63\x6f\x64\x65\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x20\x28\x61\x6e\x20\x6f\x73\x2e\x50\x61\x74\x68\x4c\x69\x6b\x65\x2c\x20\x62\x79\x74\x65\x73\x2c\x20\x6f\x72\x20\x73\x74\x72\x29\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x73\x79\x73\x74\x65\x6d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x77\x69\x74\x68\x20\x27\x73\x75\x72\x72\x6f\x67\x61\x74\x65\x65\x73\x63\x61\x70\x65\x27\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x65\x72\x2c\x20\x72\x65\x74\x75\x72\x6e\x20\x73\x74\x72\x20\x75\x6e\x63\x68\x61\x6e\x67\x65\x64\x2e\x20\x4f\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x57\x69\x6e\x64\x6f\x77\x73\x2c\x20\x75\x73\x65\x20\x27\x73\x74\x72\x69\x63\x74\x27\x20\x65\x72\x72\x6f\x72\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x69\x66\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x20\x73\x79\x73\x74\x65\x6d\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x20\x69\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27\x6d\x62\x63\x73\x27\x20\x28\x77\x68\x69\x63\x68\x20\x69\x73\x20\x74\x68\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -119870,17 +116880,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_111_consts_2_consts = { +os_toplevel_consts_107_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & os_toplevel_consts_111_consts_2_consts_0._ascii.ob_base, + & os_toplevel_consts_107_consts_2_consts_0._ascii.ob_base, }, }, }; @@ -119892,11 +116902,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_111_consts_2_names = { +os_toplevel_consts_107_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -119904,7 +116914,7 @@ os_toplevel_consts_111_consts_2_names = { .ob_item = { & const_str_fspath._ascii.ob_base, &_Py_ID(isinstance), - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), &_Py_ID(decode), }, }, @@ -119914,10 +116924,10 @@ static PyASCIIObject _ascii; uint8_t _data[27]; } -os_toplevel_consts_111_consts_2_qualname = { +os_toplevel_consts_107_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -119926,7 +116936,7 @@ os_toplevel_consts_111_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_fscodec..fsdecode", @@ -119935,54 +116945,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[62]; + char ob_sval[48]; } -os_toplevel_consts_111_consts_2_linetable = { +os_toplevel_consts_107_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 61, + .ob_size = 47, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf5\x0c\x00\x14\x1a\x98\x28\xd1\x13\x23\xd4\x13\x23\x88\x08\xdd\x0b\x15\x90\x68\xa5\x05\xd1\x0b\x26\xd4\x0b\x26\xf0\x00\x03\x09\x1c\xd8\x13\x1b\x97\x3f\x92\x3f\xa0\x38\xa8\x56\xd1\x13\x34\xd4\x13\x34\xd0\x0c\x34\xe0\x13\x1b\x88\x4f", + .ob_sval = "\xf8\x80\x00\xf4\x0c\x00\x14\x1a\x98\x28\xd3\x13\x23\x88\x08\xdc\x0b\x15\x90\x68\xa4\x05\xd4\x0b\x26\xd8\x13\x1b\x97\x3f\x91\x3f\xa0\x38\xa8\x56\xd3\x13\x34\xd0\x0c\x34\xe0\x13\x1b\x88\x4f", }; static - struct _PyCode_DEF(124) -os_toplevel_consts_111_consts_2 = { + struct _PyCode_DEF(98) +os_toplevel_consts_107_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 62, + .ob_size = 49, }, - .co_consts = & os_toplevel_consts_111_consts_2_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_111_consts_2_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_107_consts_2_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_107_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 818, + .co_firstlineno = 824, .co_nlocalsplus = 3, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 2, - .co_localsplusnames = & os_toplevel_consts_111_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_73_consts_9_consts_1_localspluskinds.ob_base.ob_base, + .co_version = 641, + .co_localsplusnames = & os_toplevel_consts_107_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_72_consts_8_consts_1_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_fsdecode._ascii.ob_base, - .co_qualname = & os_toplevel_consts_111_consts_2_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_111_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x02\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x16\x7c\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x89\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x53\x00", + .co_qualname = & os_toplevel_consts_107_consts_2_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_107_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x02\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x12\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x89\x02\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -119993,19 +117001,19 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_111_consts = { +os_toplevel_consts_107_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { Py_None, - & os_toplevel_consts_111_consts_1.ob_base.ob_base, - & os_toplevel_consts_111_consts_2.ob_base.ob_base, + & os_toplevel_consts_107_consts_1.ob_base.ob_base, + & os_toplevel_consts_107_consts_2.ob_base.ob_base, }, }, }; @@ -120017,7 +117025,7 @@ static const_str_getfilesystemencodeerrors = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -120026,7 +117034,7 @@ const_str_getfilesystemencodeerrors = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getfilesystemencodeerrors", @@ -120039,11 +117047,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_111_names = { +os_toplevel_consts_107_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -120063,7 +117071,7 @@ static const_str__fscodec = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -120072,7 +117080,7 @@ const_str__fscodec = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_fscodec", @@ -120081,18 +117089,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[106]; + char ob_sval[55]; } -os_toplevel_consts_111_linetable = { +os_toplevel_consts_107_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 105, + .ob_size = 54, }, .ob_shash = -1, - .ob_sval = "\xf8\xf8\x80\x00\xdd\x0f\x12\xd4\x0f\x28\xd1\x0f\x2a\xd4\x0f\x2a\x80\x48\xdd\x0d\x10\xd4\x0d\x2a\xd1\x0d\x2c\xd4\x0d\x2c\x80\x46\xf0\x04\x0a\x05\x1c\xf0\x00\x0a\x05\x1c\xf0\x00\x0a\x05\x1c\xf0\x00\x0a\x05\x1c\xf0\x00\x0a\x05\x1c\xf0\x00\x0a\x05\x1c\xf0\x18\x0a\x05\x1c\xf0\x00\x0a\x05\x1c\xf0\x00\x0a\x05\x1c\xf0\x00\x0a\x05\x1c\xf0\x00\x0a\x05\x1c\xf0\x00\x0a\x05\x1c\xf0\x18\x00\x0c\x14\x90\x58\xd0\x0b\x1d\xd0\x04\x1d", + .ob_sval = "\xf9\x80\x00\xdc\x0f\x12\xd7\x0f\x28\xd1\x0f\x28\xd3\x0f\x2a\x80\x48\xdc\x0d\x10\xd7\x0d\x2a\xd1\x0d\x2a\xd3\x0d\x2c\x80\x46\xf5\x04\x0a\x05\x1c\xf5\x18\x0a\x05\x1c\xf0\x18\x00\x0c\x14\x90\x58\xd0\x0b\x1d\xd0\x04\x1d", }; static struct { @@ -120102,11 +117110,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_111_localsplusnames = { +os_toplevel_consts_107_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -120125,10 +117133,10 @@ static Py_hash_t ob_shash; char ob_sval[5]; } -os_toplevel_consts_111_localspluskinds = { +os_toplevel_consts_107_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 4, @@ -120137,40 +117145,38 @@ os_toplevel_consts_111_localspluskinds = { .ob_sval = " @@", }; static - struct _PyCode_DEF(114) -os_toplevel_consts_111 = { + struct _PyCode_DEF(118) +os_toplevel_consts_107 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 57, + .ob_size = 59, }, - .co_consts = & os_toplevel_consts_111_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_111_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_107_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_107_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 802, + .co_firstlineno = 808, .co_nlocalsplus = 4, .co_nlocals = 2, - .co_nplaincellvars = 2, .co_ncellvars = 2, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_111_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & os_toplevel_consts_111_localspluskinds.ob_base.ob_base, + .co_version = 642, + .co_localsplusnames = & os_toplevel_consts_107_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & os_toplevel_consts_107_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__fscodec._ascii.ob_base, .co_qualname = & const_str__fscodec._ascii.ob_base, - .co_linetable = & os_toplevel_consts_111_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x02\x87\x03\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x03\x88\x02\x88\x03\x66\x02\x64\x01\x84\x08\x7d\x00\x88\x02\x88\x03\x66\x02\x64\x02\x84\x08\x7d\x01\x7c\x00\x7c\x01\x66\x02\x53\x00", + .co_linetable = & os_toplevel_consts_107_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x02\x87\x03\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x8a\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x8a\x03\x88\x02\x88\x03\x66\x02\x64\x01\x84\x08\x7d\x00\x88\x02\x88\x03\x66\x02\x64\x02\x84\x08\x7d\x01\x7c\x00\x7c\x01\x66\x02\x53\x00", ._co_firsttraceable = 2, }; static @@ -120181,7 +117187,7 @@ static const_str_fork = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -120190,7 +117196,7 @@ const_str_fork = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fork", @@ -120203,7 +117209,7 @@ static const_str_spawnv = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -120212,7 +117218,7 @@ const_str_spawnv = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "spawnv", @@ -120225,7 +117231,7 @@ static const_str_P_WAIT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -120234,7 +117240,7 @@ const_str_P_WAIT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "P_WAIT", @@ -120247,7 +117253,7 @@ static const_str_P_NOWAIT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -120256,7 +117262,7 @@ const_str_P_NOWAIT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "P_NOWAIT", @@ -120269,7 +117275,7 @@ static const_str_P_NOWAITO = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -120278,7 +117284,7 @@ const_str_P_NOWAITO = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "P_NOWAITO", @@ -120291,11 +117297,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_115 = { +os_toplevel_consts_111 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -120312,10 +117318,10 @@ static PyASCIIObject _ascii; uint8_t _data[31]; } -os_toplevel_consts_116_consts_1 = { +os_toplevel_consts_112_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -120324,7 +117330,7 @@ os_toplevel_consts_116_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "argv must be a tuple or a list", @@ -120334,10 +117340,10 @@ static PyASCIIObject _ascii; uint8_t _data[35]; } -os_toplevel_consts_116_consts_3 = { +os_toplevel_consts_112_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 34, @@ -120346,7 +117352,7 @@ os_toplevel_consts_116_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "argv first element cannot be empty", @@ -120359,20 +117365,20 @@ static PyObject *ob_item[5]; }_object; } -os_toplevel_consts_116_consts = { +os_toplevel_consts_112_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { Py_None, - & os_toplevel_consts_116_consts_1._ascii.ob_base, + & os_toplevel_consts_112_consts_1._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & os_toplevel_consts_116_consts_3._ascii.ob_base, + & os_toplevel_consts_112_consts_3._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 127], }, }, @@ -120385,7 +117391,7 @@ static const_str_waitpid = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -120394,7 +117400,7 @@ const_str_waitpid = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "waitpid", @@ -120407,7 +117413,7 @@ static const_str_WIFSTOPPED = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -120416,7 +117422,7 @@ const_str_WIFSTOPPED = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "WIFSTOPPED", @@ -120429,7 +117435,7 @@ static const_str_waitstatus_to_exitcode = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -120438,7 +117444,7 @@ const_str_waitstatus_to_exitcode = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "waitstatus_to_exitcode", @@ -120451,11 +117457,11 @@ static PyObject *ob_item[11]; }_object; } -os_toplevel_consts_116_names = { +os_toplevel_consts_112_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -120483,7 +117489,7 @@ static const_str__spawnvef = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -120492,7 +117498,7 @@ const_str__spawnvef = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_spawnvef", @@ -120501,18 +117507,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[255]; + char ob_sval[165]; } -os_toplevel_consts_116_linetable = { +os_toplevel_consts_112_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 254, + .ob_size = 164, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0f\x19\x98\x24\xa5\x15\xad\x04\xa0\x0d\xd1\x0f\x2e\xd4\x0f\x2e\xf0\x00\x01\x09\x3e\xdd\x12\x1b\xd0\x1c\x3c\xd1\x12\x3d\xd4\x12\x3d\xd0\x0c\x3d\xd8\x0f\x13\xf0\x00\x01\x09\x43\x01\x98\x34\xa0\x01\x9c\x37\xf0\x00\x01\x09\x43\x01\xdd\x12\x1c\xd0\x1d\x41\xd1\x12\x42\xd4\x12\x42\xd0\x0c\x42\xdd\x0e\x12\x89\x66\x8c\x66\x88\x03\xd8\x0f\x12\xf0\x00\x12\x09\x33\xf0\x04\x06\x0d\x1b\xd8\x13\x16\x90\x3b\xd8\x14\x18\x90\x44\x98\x14\x98\x74\xd1\x14\x24\xd4\x14\x24\xd0\x14\x24\xd0\x14\x24\xe0\x14\x18\x90\x44\x98\x14\x98\x74\xa0\x53\xd1\x14\x29\xd4\x14\x29\xd0\x14\x29\xd0\x14\x29\xd0\x14\x29\xf0\x05\x00\x15\x25\xd0\x14\x24\xf8\xf0\x06\x01\x0d\x1b\xdd\x10\x15\x90\x63\x91\x0a\x94\x0a\x90\x0a\x90\x0a\x90\x0a\x90\x0a\xf8\xf8\xf8\xf0\x06\x00\x10\x14\x95\x78\xd2\x0f\x1f\xd0\x0f\x1f\xd8\x17\x1a\x90\x0a\xf0\x02\x05\x0d\x33\xdd\x1c\x23\xa0\x43\xa8\x11\x99\x4f\x9c\x4f\x91\x09\x90\x04\x90\x63\xdd\x13\x1d\x98\x63\x91\x3f\x94\x3f\xf0\x00\x01\x11\x1d\xd8\x14\x1c\xe5\x17\x2d\xa8\x63\xd1\x17\x32\xd4\x17\x32\xd0\x10\x32", + .ob_sval = "\x80\x00\xe4\x0f\x19\x98\x24\xa4\x15\xac\x04\xa0\x0d\xd4\x0f\x2e\xdc\x12\x1b\xd0\x1c\x3c\xd3\x12\x3d\xd0\x0c\x3d\xd9\x0f\x13\x98\x34\xa0\x01\x9a\x37\xdc\x12\x1c\xd0\x1d\x41\xd3\x12\x42\xd0\x0c\x42\xdc\x0e\x12\x8b\x66\x88\x03\xd9\x0f\x12\xf0\x04\x06\x0d\x1b\xd8\x13\x16\x90\x3b\xd9\x14\x18\x98\x14\x98\x74\xd5\x14\x24\xe1\x14\x18\x98\x14\x98\x74\xa0\x53\xd5\x14\x29\xf0\x05\x00\x15\x25\xf0\x0e\x00\x10\x14\x94\x78\xd2\x0f\x1f\xd8\x17\x1a\x90\x0a\xd8\x12\x13\xdc\x1c\x23\xa0\x43\xa8\x11\x9b\x4f\x91\x09\x90\x04\x90\x63\xdc\x13\x1d\x98\x63\x94\x3f\xd8\x14\x1c\xe4\x17\x2d\xa8\x63\xd3\x17\x32\xd0\x10\x32\xf8\xf0\x17\x01\x0d\x1b\xdc\x10\x15\x90\x63\x96\x0a\xfa", }; static struct { @@ -120520,60 +117526,16 @@ static Py_hash_t ob_shash; char ob_sval[13]; } -os_toplevel_consts_116_exceptiontable = { +os_toplevel_consts_112_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\xc1\x16\x1c\x41\x36\x00\xc1\x36\x11\x42\x0a\x03", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[5]; - } -const_str_func = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 4, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "func", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[4]; - } -const_str_pid = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 3, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "pid", + .ob_sval = "\xc1\x01\x16\x42\x0b\x00\xc2\x0b\x0d\x42\x1a\x03", }; static struct { @@ -120583,7 +117545,7 @@ static const_str_wpid = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -120592,7 +117554,7 @@ const_str_wpid = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "wpid", @@ -120605,7 +117567,7 @@ static const_str_sts = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -120614,7 +117576,7 @@ const_str_sts = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sts", @@ -120627,62 +117589,60 @@ static PyObject *ob_item[8]; }_object; } -os_toplevel_consts_116_localsplusnames = { +os_toplevel_consts_112_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, }, .ob_item = { &_Py_ID(mode), - & const_str_file._ascii.ob_base, - & const_str_args._ascii.ob_base, - & const_str_env._ascii.ob_base, - & const_str_func._ascii.ob_base, - & const_str_pid._ascii.ob_base, + &_Py_ID(file), + &_Py_ID(args), + &_Py_ID(env), + &_Py_ID(func), + &_Py_ID(pid), & const_str_wpid._ascii.ob_base, & const_str_sts._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(410) -os_toplevel_consts_116 = { + struct _PyCode_DEF(314) +os_toplevel_consts_112 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 205, + .ob_size = 157, }, - .co_consts = & os_toplevel_consts_116_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_116_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_116_exceptiontable.ob_base.ob_base, + .co_consts = & os_toplevel_consts_112_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_112_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_112_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 5, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 13 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 847, + .co_firstlineno = 853, .co_nlocalsplus = 8, .co_nlocals = 8, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_116_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_27_localspluskinds.ob_base.ob_base, + .co_version = 643, + .co_localsplusnames = & os_toplevel_consts_112_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_13_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__spawnvef._ascii.ob_base, .co_qualname = & const_str__spawnvef._ascii.ob_base, - .co_linetable = & os_toplevel_consts_116_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x0f\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x02\x72\x08\x7c\x02\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x0f\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x73\x38\x09\x00\x7c\x03\x80\x0d\x02\x00\x7c\x04\x7c\x01\x7c\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0f\x02\x00\x7c\x04\x7c\x01\x7c\x02\x7c\x03\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x64\x00\x53\x00\x23\x00\x01\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x00\x53\x00\x78\x03\x59\x00\x77\x01\x7c\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x72\x02\x7c\x05\x53\x00\x09\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x06\x7d\x07\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x01\x8c\x24\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_112_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xab\x02\x00\x00\x00\x00\x00\x00\x73\x0b\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x02\x72\x05\x7c\x02\x64\x02\x19\x00\x00\x00\x73\x0b\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x73\x19\x09\x00\x7c\x03\x80\x0a\x02\x00\x7c\x04\x7c\x01\x7c\x02\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x02\x00\x7c\x04\x7c\x01\x7c\x02\x7c\x03\xab\x03\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x79\x00\x7c\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x72\x02\x7c\x05\x53\x00\x09\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x06\x7d\x07\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xab\x01\x00\x00\x00\x00\x00\x00\x72\x01\x8c\x1c\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x01\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x79\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -120690,10 +117650,10 @@ static PyASCIIObject _ascii; uint8_t _data[278]; } -os_toplevel_consts_117_consts_0 = { +os_toplevel_consts_113_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 277, @@ -120702,7 +117662,7 @@ os_toplevel_consts_117_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x73\x70\x61\x77\x6e\x76\x28\x6d\x6f\x64\x65\x2c\x20\x66\x69\x6c\x65\x2c\x20\x61\x72\x67\x73\x29\x20\x2d\x3e\x20\x69\x6e\x74\x65\x67\x65\x72\x0a\x0a\x45\x78\x65\x63\x75\x74\x65\x20\x66\x69\x6c\x65\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x66\x72\x6f\x6d\x20\x61\x72\x67\x73\x20\x69\x6e\x20\x61\x20\x73\x75\x62\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x4e\x4f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x69\x64\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x27\x73\x20\x65\x78\x69\x74\x20\x63\x6f\x64\x65\x20\x69\x66\x20\x69\x74\x20\x65\x78\x69\x74\x73\x20\x6e\x6f\x72\x6d\x61\x6c\x6c\x79\x3b\x0a\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x72\x65\x74\x75\x72\x6e\x20\x2d\x53\x49\x47\x2c\x20\x77\x68\x65\x72\x65\x20\x53\x49\x47\x20\x69\x73\x20\x74\x68\x65\x20\x73\x69\x67\x6e\x61\x6c\x20\x74\x68\x61\x74\x20\x6b\x69\x6c\x6c\x65\x64\x20\x69\x74\x2e\x20", @@ -120715,17 +117675,17 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_117_consts = { +os_toplevel_consts_113_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & os_toplevel_consts_117_consts_0._ascii.ob_base, + & os_toplevel_consts_113_consts_0._ascii.ob_base, Py_None, }, }, @@ -120738,11 +117698,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_117_names = { +os_toplevel_consts_113_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -120757,18 +117717,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[27]; + char ob_sval[24]; } -os_toplevel_consts_117_linetable = { +os_toplevel_consts_113_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 26, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0e\x00\x10\x19\x98\x14\x98\x74\xa0\x54\xa8\x34\xb5\x15\xd1\x0f\x37\xd4\x0f\x37\xd0\x08\x37", + .ob_sval = "\x80\x00\xf4\x0e\x00\x10\x19\x98\x14\x98\x74\xa0\x54\xa8\x34\xb4\x15\xd3\x0f\x37\xd0\x08\x37", }; static struct { @@ -120778,57 +117738,55 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_117_localsplusnames = { +os_toplevel_consts_113_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { &_Py_ID(mode), - & const_str_file._ascii.ob_base, - & const_str_args._ascii.ob_base, + &_Py_ID(file), + &_Py_ID(args), }, }, }; static - struct _PyCode_DEF(50) -os_toplevel_consts_117 = { + struct _PyCode_DEF(40) +os_toplevel_consts_113 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 20, }, - .co_consts = & os_toplevel_consts_117_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_117_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_113_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_113_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 874, + .co_firstlineno = 880, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_117_localsplusnames._object.ob_base.ob_base, + .co_version = 644, + .co_localsplusnames = & os_toplevel_consts_113_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_spawnv._ascii.ob_base, .co_qualname = & const_str_spawnv._ascii.ob_base, - .co_linetable = & os_toplevel_consts_117_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x64\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_113_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x64\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -120836,10 +117794,10 @@ static PyASCIIObject _ascii; uint8_t _data[315]; } -os_toplevel_consts_118_consts_0 = { +os_toplevel_consts_114_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 314, @@ -120848,7 +117806,7 @@ os_toplevel_consts_118_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x73\x70\x61\x77\x6e\x76\x65\x28\x6d\x6f\x64\x65\x2c\x20\x66\x69\x6c\x65\x2c\x20\x61\x72\x67\x73\x2c\x20\x65\x6e\x76\x29\x20\x2d\x3e\x20\x69\x6e\x74\x65\x67\x65\x72\x0a\x0a\x45\x78\x65\x63\x75\x74\x65\x20\x66\x69\x6c\x65\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x66\x72\x6f\x6d\x20\x61\x72\x67\x73\x20\x69\x6e\x20\x61\x20\x73\x75\x62\x70\x72\x6f\x63\x65\x73\x73\x20\x77\x69\x74\x68\x20\x74\x68\x65\x0a\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x4e\x4f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x69\x64\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x27\x73\x20\x65\x78\x69\x74\x20\x63\x6f\x64\x65\x20\x69\x66\x20\x69\x74\x20\x65\x78\x69\x74\x73\x20\x6e\x6f\x72\x6d\x61\x6c\x6c\x79\x3b\x0a\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x72\x65\x74\x75\x72\x6e\x20\x2d\x53\x49\x47\x2c\x20\x77\x68\x65\x72\x65\x20\x53\x49\x47\x20\x69\x73\x20\x74\x68\x65\x20\x73\x69\x67\x6e\x61\x6c\x20\x74\x68\x61\x74\x20\x6b\x69\x6c\x6c\x65\x64\x20\x69\x74\x2e\x20", @@ -120861,17 +117819,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_118_consts = { +os_toplevel_consts_114_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & os_toplevel_consts_118_consts_0._ascii.ob_base, + & os_toplevel_consts_114_consts_0._ascii.ob_base, }, }, }; @@ -120883,11 +117841,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_118_names = { +os_toplevel_consts_114_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -120906,7 +117864,7 @@ static const_str_spawnve = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -120915,7 +117873,7 @@ const_str_spawnve = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "spawnve", @@ -120924,18 +117882,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[27]; + char ob_sval[24]; } -os_toplevel_consts_118_linetable = { +os_toplevel_consts_114_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 26, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x10\x00\x10\x19\x98\x14\x98\x74\xa0\x54\xa8\x33\xb5\x06\xd1\x0f\x37\xd4\x0f\x37\xd0\x08\x37", + .ob_sval = "\x80\x00\xf4\x10\x00\x10\x19\x98\x14\x98\x74\xa0\x54\xa8\x33\xb4\x06\xd3\x0f\x37\xd0\x08\x37", }; static struct { @@ -120945,58 +117903,56 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_118_localsplusnames = { +os_toplevel_consts_114_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { &_Py_ID(mode), - & const_str_file._ascii.ob_base, - & const_str_args._ascii.ob_base, - & const_str_env._ascii.ob_base, + &_Py_ID(file), + &_Py_ID(args), + &_Py_ID(env), }, }, }; static - struct _PyCode_DEF(50) -os_toplevel_consts_118 = { + struct _PyCode_DEF(40) +os_toplevel_consts_114 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 20, }, - .co_consts = & os_toplevel_consts_118_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_118_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_114_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_114_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 883, + .co_firstlineno = 889, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_118_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 645, + .co_localsplusnames = & os_toplevel_consts_114_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_spawnve._ascii.ob_base, .co_qualname = & const_str_spawnve._ascii.ob_base, - .co_linetable = & os_toplevel_consts_118_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_114_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -121004,10 +117960,10 @@ static PyASCIIObject _ascii; uint8_t _data[313]; } -os_toplevel_consts_119_consts_0 = { +os_toplevel_consts_115_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 312, @@ -121016,7 +117972,7 @@ os_toplevel_consts_119_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x73\x70\x61\x77\x6e\x76\x70\x28\x6d\x6f\x64\x65\x2c\x20\x66\x69\x6c\x65\x2c\x20\x61\x72\x67\x73\x29\x20\x2d\x3e\x20\x69\x6e\x74\x65\x67\x65\x72\x0a\x0a\x45\x78\x65\x63\x75\x74\x65\x20\x66\x69\x6c\x65\x20\x28\x77\x68\x69\x63\x68\x20\x69\x73\x20\x6c\x6f\x6f\x6b\x65\x64\x20\x66\x6f\x72\x20\x61\x6c\x6f\x6e\x67\x20\x24\x50\x41\x54\x48\x29\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x66\x72\x6f\x6d\x0a\x61\x72\x67\x73\x20\x69\x6e\x20\x61\x20\x73\x75\x62\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x4e\x4f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x69\x64\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x27\x73\x20\x65\x78\x69\x74\x20\x63\x6f\x64\x65\x20\x69\x66\x20\x69\x74\x20\x65\x78\x69\x74\x73\x20\x6e\x6f\x72\x6d\x61\x6c\x6c\x79\x3b\x0a\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x72\x65\x74\x75\x72\x6e\x20\x2d\x53\x49\x47\x2c\x20\x77\x68\x65\x72\x65\x20\x53\x49\x47\x20\x69\x73\x20\x74\x68\x65\x20\x73\x69\x67\x6e\x61\x6c\x20\x74\x68\x61\x74\x20\x6b\x69\x6c\x6c\x65\x64\x20\x69\x74\x2e\x20", @@ -121029,17 +117985,17 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_119_consts = { +os_toplevel_consts_115_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & os_toplevel_consts_119_consts_0._ascii.ob_base, + & os_toplevel_consts_115_consts_0._ascii.ob_base, Py_None, }, }, @@ -121052,11 +118008,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_119_names = { +os_toplevel_consts_115_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -121075,7 +118031,7 @@ static const_str_spawnvp = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -121084,7 +118040,7 @@ const_str_spawnvp = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "spawnvp", @@ -121093,54 +118049,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[27]; + char ob_sval[24]; } -os_toplevel_consts_119_linetable = { +os_toplevel_consts_115_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 26, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x10\x00\x10\x19\x98\x14\x98\x74\xa0\x54\xa8\x34\xb5\x16\xd1\x0f\x38\xd4\x0f\x38\xd0\x08\x38", + .ob_sval = "\x80\x00\xf4\x10\x00\x10\x19\x98\x14\x98\x74\xa0\x54\xa8\x34\xb4\x16\xd3\x0f\x38\xd0\x08\x38", }; static - struct _PyCode_DEF(50) -os_toplevel_consts_119 = { + struct _PyCode_DEF(40) +os_toplevel_consts_115 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 20, }, - .co_consts = & os_toplevel_consts_119_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_119_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_115_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_115_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 895, + .co_firstlineno = 901, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_117_localsplusnames._object.ob_base.ob_base, + .co_version = 646, + .co_localsplusnames = & os_toplevel_consts_113_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_spawnvp._ascii.ob_base, .co_qualname = & const_str_spawnvp._ascii.ob_base, - .co_linetable = & os_toplevel_consts_119_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x64\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_115_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x64\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -121148,10 +118102,10 @@ static PyASCIIObject _ascii; uint8_t _data[349]; } -os_toplevel_consts_120_consts_0 = { +os_toplevel_consts_116_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 348, @@ -121160,7 +118114,7 @@ os_toplevel_consts_120_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x73\x70\x61\x77\x6e\x76\x70\x65\x28\x6d\x6f\x64\x65\x2c\x20\x66\x69\x6c\x65\x2c\x20\x61\x72\x67\x73\x2c\x20\x65\x6e\x76\x29\x20\x2d\x3e\x20\x69\x6e\x74\x65\x67\x65\x72\x0a\x0a\x45\x78\x65\x63\x75\x74\x65\x20\x66\x69\x6c\x65\x20\x28\x77\x68\x69\x63\x68\x20\x69\x73\x20\x6c\x6f\x6f\x6b\x65\x64\x20\x66\x6f\x72\x20\x61\x6c\x6f\x6e\x67\x20\x24\x50\x41\x54\x48\x29\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x66\x72\x6f\x6d\x0a\x61\x72\x67\x73\x20\x69\x6e\x20\x61\x20\x73\x75\x62\x70\x72\x6f\x63\x65\x73\x73\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x73\x75\x70\x70\x6c\x69\x65\x64\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x4e\x4f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x69\x64\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x27\x73\x20\x65\x78\x69\x74\x20\x63\x6f\x64\x65\x20\x69\x66\x20\x69\x74\x20\x65\x78\x69\x74\x73\x20\x6e\x6f\x72\x6d\x61\x6c\x6c\x79\x3b\x0a\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x72\x65\x74\x75\x72\x6e\x20\x2d\x53\x49\x47\x2c\x20\x77\x68\x65\x72\x65\x20\x53\x49\x47\x20\x69\x73\x20\x74\x68\x65\x20\x73\x69\x67\x6e\x61\x6c\x20\x74\x68\x61\x74\x20\x6b\x69\x6c\x6c\x65\x64\x20\x69\x74\x2e\x20", @@ -121173,17 +118127,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_120_consts = { +os_toplevel_consts_116_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & os_toplevel_consts_120_consts_0._ascii.ob_base, + & os_toplevel_consts_116_consts_0._ascii.ob_base, }, }, }; @@ -121195,11 +118149,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_120_names = { +os_toplevel_consts_116_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -121218,7 +118172,7 @@ static const_str_spawnvpe = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -121227,7 +118181,7 @@ const_str_spawnvpe = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "spawnvpe", @@ -121236,54 +118190,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[27]; + char ob_sval[24]; } -os_toplevel_consts_120_linetable = { +os_toplevel_consts_116_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 26, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x10\x00\x10\x19\x98\x14\x98\x74\xa0\x54\xa8\x33\xb5\x07\xd1\x0f\x38\xd4\x0f\x38\xd0\x08\x38", + .ob_sval = "\x80\x00\xf4\x10\x00\x10\x19\x98\x14\x98\x74\xa0\x54\xa8\x33\xb4\x07\xd3\x0f\x38\xd0\x08\x38", }; static - struct _PyCode_DEF(50) -os_toplevel_consts_120 = { + struct _PyCode_DEF(40) +os_toplevel_consts_116 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 20, }, - .co_consts = & os_toplevel_consts_120_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_120_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_116_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_116_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 905, + .co_firstlineno = 911, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_118_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 647, + .co_localsplusnames = & os_toplevel_consts_114_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_spawnvpe._ascii.ob_base, .co_qualname = & const_str_spawnvpe._ascii.ob_base, - .co_linetable = & os_toplevel_consts_120_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_116_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -121294,11 +118246,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_121 = { +os_toplevel_consts_117 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -121316,10 +118268,10 @@ static PyASCIIObject _ascii; uint8_t _data[279]; } -os_toplevel_consts_122_consts_0 = { +os_toplevel_consts_118_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 278, @@ -121328,7 +118280,7 @@ os_toplevel_consts_122_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x73\x70\x61\x77\x6e\x6c\x28\x6d\x6f\x64\x65\x2c\x20\x66\x69\x6c\x65\x2c\x20\x2a\x61\x72\x67\x73\x29\x20\x2d\x3e\x20\x69\x6e\x74\x65\x67\x65\x72\x0a\x0a\x45\x78\x65\x63\x75\x74\x65\x20\x66\x69\x6c\x65\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x66\x72\x6f\x6d\x20\x61\x72\x67\x73\x20\x69\x6e\x20\x61\x20\x73\x75\x62\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x4e\x4f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x69\x64\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x27\x73\x20\x65\x78\x69\x74\x20\x63\x6f\x64\x65\x20\x69\x66\x20\x69\x74\x20\x65\x78\x69\x74\x73\x20\x6e\x6f\x72\x6d\x61\x6c\x6c\x79\x3b\x0a\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x72\x65\x74\x75\x72\x6e\x20\x2d\x53\x49\x47\x2c\x20\x77\x68\x65\x72\x65\x20\x53\x49\x47\x20\x69\x73\x20\x74\x68\x65\x20\x73\x69\x67\x6e\x61\x6c\x20\x74\x68\x61\x74\x20\x6b\x69\x6c\x6c\x65\x64\x20\x69\x74\x2e\x20", @@ -121341,17 +118293,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_122_consts = { +os_toplevel_consts_118_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & os_toplevel_consts_122_consts_0._ascii.ob_base, + & os_toplevel_consts_118_consts_0._ascii.ob_base, }, }, }; @@ -121363,11 +118315,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_122_names = { +os_toplevel_consts_118_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -121385,7 +118337,7 @@ static const_str_spawnl = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -121394,7 +118346,7 @@ const_str_spawnl = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "spawnl", @@ -121403,54 +118355,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[20]; } -os_toplevel_consts_122_linetable = { +os_toplevel_consts_118_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 19, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0e\x00\x10\x16\x90\x64\x98\x44\xa0\x24\xd1\x0f\x27\xd4\x0f\x27\xd0\x08\x27", + .ob_sval = "\x80\x00\xf4\x0e\x00\x10\x16\x90\x64\x98\x44\xa0\x24\xd3\x0f\x27\xd0\x08\x27", }; static - struct _PyCode_DEF(36) -os_toplevel_consts_122 = { + struct _PyCode_DEF(28) +os_toplevel_consts_118 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 14, }, - .co_consts = & os_toplevel_consts_122_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_122_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_118_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_118_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 923, + .co_firstlineno = 929, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_117_localsplusnames._object.ob_base.ob_base, + .co_version = 648, + .co_localsplusnames = & os_toplevel_consts_113_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_spawnl._ascii.ob_base, .co_qualname = & const_str_spawnl._ascii.ob_base, - .co_linetable = & os_toplevel_consts_122_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_118_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\xab\x03\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -121458,10 +118408,10 @@ static PyASCIIObject _ascii; uint8_t _data[315]; } -os_toplevel_consts_123_consts_0 = { +os_toplevel_consts_119_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 314, @@ -121470,7 +118420,7 @@ os_toplevel_consts_123_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x73\x70\x61\x77\x6e\x6c\x65\x28\x6d\x6f\x64\x65\x2c\x20\x66\x69\x6c\x65\x2c\x20\x2a\x61\x72\x67\x73\x2c\x20\x65\x6e\x76\x29\x20\x2d\x3e\x20\x69\x6e\x74\x65\x67\x65\x72\x0a\x0a\x45\x78\x65\x63\x75\x74\x65\x20\x66\x69\x6c\x65\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x66\x72\x6f\x6d\x20\x61\x72\x67\x73\x20\x69\x6e\x20\x61\x20\x73\x75\x62\x70\x72\x6f\x63\x65\x73\x73\x20\x77\x69\x74\x68\x20\x74\x68\x65\x0a\x73\x75\x70\x70\x6c\x69\x65\x64\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x4e\x4f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x69\x64\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x27\x73\x20\x65\x78\x69\x74\x20\x63\x6f\x64\x65\x20\x69\x66\x20\x69\x74\x20\x65\x78\x69\x74\x73\x20\x6e\x6f\x72\x6d\x61\x6c\x6c\x79\x3b\x0a\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x72\x65\x74\x75\x72\x6e\x20\x2d\x53\x49\x47\x2c\x20\x77\x68\x65\x72\x65\x20\x53\x49\x47\x20\x69\x73\x20\x74\x68\x65\x20\x73\x69\x67\x6e\x61\x6c\x20\x74\x68\x61\x74\x20\x6b\x69\x6c\x6c\x65\x64\x20\x69\x74\x2e\x20", @@ -121483,17 +118433,17 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_123_consts = { +os_toplevel_consts_119_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & os_toplevel_consts_123_consts_0._ascii.ob_base, + & os_toplevel_consts_119_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], Py_None, }, @@ -121507,11 +118457,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_123_names = { +os_toplevel_consts_119_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -121529,7 +118479,7 @@ static const_str_spawnle = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -121538,7 +118488,7 @@ const_str_spawnle = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "spawnle", @@ -121547,54 +118497,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[42]; + char ob_sval[37]; } -os_toplevel_consts_123_linetable = { +os_toplevel_consts_119_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 41, + .ob_size = 36, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x10\x00\x0f\x13\x90\x32\x8c\x68\x88\x03\xdd\x0f\x16\x90\x74\x98\x54\xa0\x34\xa8\x03\xa8\x12\xa8\x03\xa4\x39\xa8\x63\xd1\x0f\x32\xd4\x0f\x32\xd0\x08\x32", + .ob_sval = "\x80\x00\xf0\x10\x00\x0f\x13\x90\x32\x89\x68\x88\x03\xdc\x0f\x16\x90\x74\x98\x54\xa0\x34\xa8\x03\xa8\x12\xa0\x39\xa8\x63\xd3\x0f\x32\xd0\x08\x32", }; static - struct _PyCode_DEF(70) -os_toplevel_consts_123 = { + struct _PyCode_DEF(46) +os_toplevel_consts_119 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 35, + .ob_size = 23, }, - .co_consts = & os_toplevel_consts_123_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_123_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_119_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_119_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 932, + .co_firstlineno = 938, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_118_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 649, + .co_localsplusnames = & os_toplevel_consts_114_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_spawnle._ascii.ob_base, .co_qualname = & const_str_spawnle._ascii.ob_base, - .co_linetable = & os_toplevel_consts_123_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x64\x02\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_119_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x64\x01\x19\x00\x00\x00\x7d\x03\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x64\x02\x64\x01\x1a\x00\x7c\x03\xab\x04\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -121602,10 +118550,10 @@ static PyASCIIObject _ascii; uint8_t _data[344]; } -os_toplevel_consts_127_consts_0 = { +os_toplevel_consts_123_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 343, @@ -121614,7 +118562,7 @@ os_toplevel_consts_127_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x73\x70\x61\x77\x6e\x6c\x70\x28\x6d\x6f\x64\x65\x2c\x20\x66\x69\x6c\x65\x2c\x20\x2a\x61\x72\x67\x73\x29\x20\x2d\x3e\x20\x69\x6e\x74\x65\x67\x65\x72\x0a\x0a\x45\x78\x65\x63\x75\x74\x65\x20\x66\x69\x6c\x65\x20\x28\x77\x68\x69\x63\x68\x20\x69\x73\x20\x6c\x6f\x6f\x6b\x65\x64\x20\x66\x6f\x72\x20\x61\x6c\x6f\x6e\x67\x20\x24\x50\x41\x54\x48\x29\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x66\x72\x6f\x6d\x0a\x61\x72\x67\x73\x20\x69\x6e\x20\x61\x20\x73\x75\x62\x70\x72\x6f\x63\x65\x73\x73\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x73\x75\x70\x70\x6c\x69\x65\x64\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x4e\x4f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x69\x64\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x27\x73\x20\x65\x78\x69\x74\x20\x63\x6f\x64\x65\x20\x69\x66\x20\x69\x74\x20\x65\x78\x69\x74\x73\x20\x6e\x6f\x72\x6d\x61\x6c\x6c\x79\x3b\x0a\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x72\x65\x74\x75\x72\x6e\x20\x2d\x53\x49\x47\x2c\x20\x77\x68\x65\x72\x65\x20\x53\x49\x47\x20\x69\x73\x20\x74\x68\x65\x20\x73\x69\x67\x6e\x61\x6c\x20\x74\x68\x61\x74\x20\x6b\x69\x6c\x6c\x65\x64\x20\x69\x74\x2e\x20", @@ -121627,17 +118575,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_127_consts = { +os_toplevel_consts_123_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & os_toplevel_consts_127_consts_0._ascii.ob_base, + & os_toplevel_consts_123_consts_0._ascii.ob_base, }, }, }; @@ -121649,11 +118597,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_127_names = { +os_toplevel_consts_123_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -121671,7 +118619,7 @@ static const_str_spawnlp = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -121680,7 +118628,7 @@ const_str_spawnlp = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "spawnlp", @@ -121689,54 +118637,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[20]; } -os_toplevel_consts_127_linetable = { +os_toplevel_consts_123_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 19, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x10\x00\x10\x17\x90\x74\x98\x54\xa0\x34\xd1\x0f\x28\xd4\x0f\x28\xd0\x08\x28", + .ob_sval = "\x80\x00\xf4\x10\x00\x10\x17\x90\x74\x98\x54\xa0\x34\xd3\x0f\x28\xd0\x08\x28", }; static - struct _PyCode_DEF(36) -os_toplevel_consts_127 = { + struct _PyCode_DEF(28) +os_toplevel_consts_123 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 14, }, - .co_consts = & os_toplevel_consts_127_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_127_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_123_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_123_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 950, + .co_firstlineno = 956, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_117_localsplusnames._object.ob_base.ob_base, + .co_version = 650, + .co_localsplusnames = & os_toplevel_consts_113_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_spawnlp._ascii.ob_base, .co_qualname = & const_str_spawnlp._ascii.ob_base, - .co_linetable = & os_toplevel_consts_127_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_123_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\xab\x03\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -121744,10 +118690,10 @@ static PyASCIIObject _ascii; uint8_t _data[350]; } -os_toplevel_consts_128_consts_0 = { +os_toplevel_consts_124_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 349, @@ -121756,7 +118702,7 @@ os_toplevel_consts_128_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x73\x70\x61\x77\x6e\x6c\x70\x65\x28\x6d\x6f\x64\x65\x2c\x20\x66\x69\x6c\x65\x2c\x20\x2a\x61\x72\x67\x73\x2c\x20\x65\x6e\x76\x29\x20\x2d\x3e\x20\x69\x6e\x74\x65\x67\x65\x72\x0a\x0a\x45\x78\x65\x63\x75\x74\x65\x20\x66\x69\x6c\x65\x20\x28\x77\x68\x69\x63\x68\x20\x69\x73\x20\x6c\x6f\x6f\x6b\x65\x64\x20\x66\x6f\x72\x20\x61\x6c\x6f\x6e\x67\x20\x24\x50\x41\x54\x48\x29\x20\x77\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x66\x72\x6f\x6d\x0a\x61\x72\x67\x73\x20\x69\x6e\x20\x61\x20\x73\x75\x62\x70\x72\x6f\x63\x65\x73\x73\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x73\x75\x70\x70\x6c\x69\x65\x64\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x4e\x4f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x69\x64\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x2e\x0a\x49\x66\x20\x6d\x6f\x64\x65\x20\x3d\x3d\x20\x50\x5f\x57\x41\x49\x54\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x27\x73\x20\x65\x78\x69\x74\x20\x63\x6f\x64\x65\x20\x69\x66\x20\x69\x74\x20\x65\x78\x69\x74\x73\x20\x6e\x6f\x72\x6d\x61\x6c\x6c\x79\x3b\x0a\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x72\x65\x74\x75\x72\x6e\x20\x2d\x53\x49\x47\x2c\x20\x77\x68\x65\x72\x65\x20\x53\x49\x47\x20\x69\x73\x20\x74\x68\x65\x20\x73\x69\x67\x6e\x61\x6c\x20\x74\x68\x61\x74\x20\x6b\x69\x6c\x6c\x65\x64\x20\x69\x74\x2e\x20", @@ -121769,17 +118715,17 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_128_consts = { +os_toplevel_consts_124_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & os_toplevel_consts_128_consts_0._ascii.ob_base, + & os_toplevel_consts_124_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], Py_None, }, @@ -121793,11 +118739,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_128_names = { +os_toplevel_consts_124_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -121815,7 +118761,7 @@ static const_str_spawnlpe = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -121824,7 +118770,7 @@ const_str_spawnlpe = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "spawnlpe", @@ -121833,54 +118779,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[42]; + char ob_sval[37]; } -os_toplevel_consts_128_linetable = { +os_toplevel_consts_124_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 41, + .ob_size = 36, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x10\x00\x0f\x13\x90\x32\x8c\x68\x88\x03\xdd\x0f\x17\x98\x04\x98\x64\xa0\x44\xa8\x13\xa8\x22\xa8\x13\xa4\x49\xa8\x73\xd1\x0f\x33\xd4\x0f\x33\xd0\x08\x33", + .ob_sval = "\x80\x00\xf0\x10\x00\x0f\x13\x90\x32\x89\x68\x88\x03\xdc\x0f\x17\x98\x04\x98\x64\xa0\x44\xa8\x13\xa8\x22\xa0\x49\xa8\x73\xd3\x0f\x33\xd0\x08\x33", }; static - struct _PyCode_DEF(70) -os_toplevel_consts_128 = { + struct _PyCode_DEF(46) +os_toplevel_consts_124 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 35, + .ob_size = 23, }, - .co_consts = & os_toplevel_consts_128_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_128_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_124_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_124_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 960, + .co_firstlineno = 966, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_118_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 651, + .co_localsplusnames = & os_toplevel_consts_114_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_spawnlpe._ascii.ob_base, .co_qualname = & const_str_spawnlpe._ascii.ob_base, - .co_linetable = & os_toplevel_consts_128_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x64\x02\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_124_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x64\x01\x19\x00\x00\x00\x7d\x03\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x64\x02\x64\x01\x1a\x00\x7c\x03\xab\x04\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -121888,10 +118832,10 @@ static PyASCIIObject _ascii; uint8_t _data[39]; } -os_toplevel_consts_134_consts_1 = { +os_toplevel_consts_128_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 38, @@ -121900,33 +118844,11 @@ os_toplevel_consts_134_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "invalid cmd type (%s, expected string)", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_w = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "w", -}; static struct { PyGC_Head _gc_head; @@ -121935,18 +118857,18 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_134_consts_2 = { +os_toplevel_consts_128_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_r._ascii.ob_base, - & const_str_w._ascii.ob_base, + &_Py_ID(r), + (PyObject *)&_Py_SINGLETON(strings).ascii[119], }, }, }; @@ -121955,10 +118877,10 @@ static PyASCIIObject _ascii; uint8_t _data[16]; } -os_toplevel_consts_134_consts_3 = { +os_toplevel_consts_128_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -121967,7 +118889,7 @@ os_toplevel_consts_134_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "invalid mode %r", @@ -121977,10 +118899,10 @@ static PyASCIIObject _ascii; uint8_t _data[44]; } -os_toplevel_consts_134_consts_5 = { +os_toplevel_consts_128_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 43, @@ -121989,7 +118911,7 @@ os_toplevel_consts_134_consts_5 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "popen() does not support unbuffered streams", @@ -122002,7 +118924,7 @@ static const_str_shell = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -122011,33 +118933,11 @@ const_str_shell = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "shell", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[8]; - } -const_str_bufsize = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 7, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "bufsize", -}; static struct { PyGC_Head _gc_head; @@ -122046,11 +118946,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_134_consts_8 = { +os_toplevel_consts_128_consts_8 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -122059,7 +118959,7 @@ os_toplevel_consts_134_consts_8 = { & const_str_shell._ascii.ob_base, &_Py_ID(text), &_Py_ID(stdout), - & const_str_bufsize._ascii.ob_base, + &_Py_ID(bufsize), }, }, }; @@ -122071,11 +118971,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_134_consts_9 = { +os_toplevel_consts_128_consts_9 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -122084,7 +118984,7 @@ os_toplevel_consts_134_consts_9 = { & const_str_shell._ascii.ob_base, &_Py_ID(text), &_Py_ID(stdin), - & const_str_bufsize._ascii.ob_base, + &_Py_ID(bufsize), }, }, }; @@ -122096,26 +118996,26 @@ static PyObject *ob_item[10]; }_object; } -os_toplevel_consts_134_consts = { +os_toplevel_consts_128_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, }, .ob_item = { Py_None, - & os_toplevel_consts_134_consts_1._ascii.ob_base, - & os_toplevel_consts_134_consts_2._object.ob_base.ob_base, - & os_toplevel_consts_134_consts_3._ascii.ob_base, + & os_toplevel_consts_128_consts_1._ascii.ob_base, + & os_toplevel_consts_128_consts_2._object.ob_base.ob_base, + & os_toplevel_consts_128_consts_3._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & os_toplevel_consts_134_consts_5._ascii.ob_base, - & const_str_r._ascii.ob_base, + & os_toplevel_consts_128_consts_5._ascii.ob_base, + &_Py_ID(r), Py_True, - & os_toplevel_consts_134_consts_8._object.ob_base.ob_base, - & os_toplevel_consts_134_consts_9._object.ob_base.ob_base, + & os_toplevel_consts_128_consts_8._object.ob_base.ob_base, + & os_toplevel_consts_128_consts_9._object.ob_base.ob_base, }, }, }; @@ -122127,7 +119027,7 @@ static const_str_subprocess = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -122136,7 +119036,7 @@ const_str_subprocess = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "subprocess", @@ -122149,7 +119049,7 @@ static const_str_Popen = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -122158,7 +119058,7 @@ const_str_Popen = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Popen", @@ -122171,7 +119071,7 @@ static const_str_PIPE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -122180,7 +119080,7 @@ const_str_PIPE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "PIPE", @@ -122193,7 +119093,7 @@ static const_str__wrap_close = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -122202,7 +119102,7 @@ const_str__wrap_close = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_wrap_close", @@ -122215,11 +119115,11 @@ static PyObject *ob_item[11]; }_object; } -os_toplevel_consts_134_names = { +os_toplevel_consts_128_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -122228,7 +119128,7 @@ os_toplevel_consts_134_names = { &_Py_ID(isinstance), & const_str_str._ascii.ob_base, & const_str_TypeError._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), & const_str_ValueError._ascii.ob_base, & const_str_subprocess._ascii.ob_base, & const_str_Popen._ascii.ob_base, @@ -122247,7 +119147,7 @@ static const_str_popen = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -122256,7 +119156,7 @@ const_str_popen = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "popen", @@ -122265,18 +119165,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[251]; + char ob_sval[207]; } -os_toplevel_consts_134_linetable = { +os_toplevel_consts_128_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 250, + .ob_size = 206, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x19\x98\x23\x9d\x73\xd1\x0f\x23\xd4\x0f\x23\xf0\x00\x01\x09\x52\x01\xdd\x12\x1b\xd0\x1c\x44\xc5\x74\xc8\x43\xc1\x79\xc4\x79\xd1\x1c\x50\xd1\x12\x51\xd4\x12\x51\xd0\x0c\x51\xd8\x0b\x0f\x90\x7a\xd0\x0b\x21\xd0\x0b\x21\xdd\x12\x1c\xd0\x1d\x2e\xb0\x14\xd1\x1d\x35\xd1\x12\x36\xd4\x12\x36\xd0\x0c\x36\xd8\x0b\x14\x98\x01\x8a\x3e\x88\x3e\x98\x59\xd0\x1d\x2e\xdd\x12\x1c\xd0\x1d\x4a\xd1\x12\x4b\xd4\x12\x4b\xd0\x0c\x4b\xd8\x08\x19\xd0\x08\x19\xd0\x08\x19\xd0\x08\x19\xd8\x0b\x0f\x90\x33\x8a\x3b\x88\x3b\xd8\x13\x1d\xd7\x13\x23\xd2\x13\x23\xa0\x43\xd8\x2a\x2e\xb0\x54\xd8\x2b\x35\xac\x3f\xd8\x2c\x35\xf0\x07\x00\x14\x24\xf1\x00\x03\x14\x37\xf4\x00\x03\x14\x37\x88\x44\xf5\x08\x00\x14\x1f\x98\x74\x9c\x7b\xa8\x44\xd1\x13\x31\xd4\x13\x31\xd0\x0c\x31\xe0\x13\x1d\xd7\x13\x23\xd2\x13\x23\xa0\x43\xd8\x2a\x2e\xb0\x54\xd8\x2a\x34\xac\x2f\xd8\x2c\x35\xf0\x07\x00\x14\x24\xf1\x00\x03\x14\x37\xf4\x00\x03\x14\x37\x88\x44\xf5\x08\x00\x14\x1f\x98\x74\x9c\x7a\xa8\x34\xd1\x13\x30\xd4\x13\x30\xd0\x0c\x30", + .ob_sval = "\x80\x00\xdc\x0f\x19\x98\x23\x9c\x73\xd4\x0f\x23\xdc\x12\x1b\xd0\x1c\x44\xc4\x74\xc8\x43\xc3\x79\xd1\x1c\x50\xd3\x12\x51\xd0\x0c\x51\xd8\x0b\x0f\x90\x7a\xd1\x0b\x21\xdc\x12\x1c\xd0\x1d\x2e\xb0\x14\xd1\x1d\x35\xd3\x12\x36\xd0\x0c\x36\xd8\x0b\x14\x98\x01\x8a\x3e\x98\x59\xd0\x1d\x2e\xdc\x12\x1c\xd0\x1d\x4a\xd3\x12\x4b\xd0\x0c\x4b\xdb\x08\x19\xd8\x0b\x0f\x90\x33\x8a\x3b\xd8\x13\x1d\xd7\x13\x23\xd1\x13\x23\xa0\x43\xd8\x2a\x2e\xb0\x54\xd8\x2b\x35\xaf\x3f\xa9\x3f\xd8\x2c\x35\xf0\x07\x00\x14\x24\xf3\x00\x03\x14\x37\x88\x44\xf4\x08\x00\x14\x1f\x98\x74\x9f\x7b\x99\x7b\xa8\x44\xd3\x13\x31\xd0\x0c\x31\xe0\x13\x1d\xd7\x13\x23\xd1\x13\x23\xa0\x43\xd8\x2a\x2e\xb0\x54\xd8\x2a\x34\xaf\x2f\xa9\x2f\xd8\x2c\x35\xf0\x07\x00\x14\x24\xf3\x00\x03\x14\x37\x88\x44\xf4\x08\x00\x14\x1f\x98\x74\x9f\x7a\x99\x7a\xa8\x34\xd3\x13\x30\xd0\x0c\x30", }; static struct { @@ -122286,7 +119186,7 @@ static const_str_cmd = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -122295,7 +119195,7 @@ const_str_cmd = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "cmd", @@ -122308,7 +119208,7 @@ static const_str_proc = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -122317,7 +119217,7 @@ const_str_proc = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "proc", @@ -122330,11 +119230,11 @@ static PyObject *ob_item[5]; }_object; } -os_toplevel_consts_134_localsplusnames = { +os_toplevel_consts_128_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -122342,47 +119242,45 @@ os_toplevel_consts_134_localsplusnames = { .ob_item = { & const_str_cmd._ascii.ob_base, &_Py_ID(mode), - & const_str_buffering._ascii.ob_base, + &_Py_ID(buffering), & const_str_subprocess._ascii.ob_base, & const_str_proc._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(424) -os_toplevel_consts_134 = { + struct _PyCode_DEF(386) +os_toplevel_consts_128 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 212, + .ob_size = 193, }, - .co_consts = & os_toplevel_consts_134_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_134_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_128_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_128_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 978, + .co_firstlineno = 984, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_134_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_version = 652, + .co_localsplusnames = & os_toplevel_consts_128_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_popen._ascii.ob_base, .co_qualname = & const_str_popen._ascii.ob_base, - .co_linetable = & os_toplevel_consts_134_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x1f\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x01\x64\x02\x76\x01\x72\x12\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x01\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x02\x64\x04\x6b\x02\x00\x00\x00\x00\x73\x02\x7c\x02\x80\x0f\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x64\x04\x64\x00\x6c\x05\x7d\x03\x7c\x01\x64\x06\x6b\x02\x00\x00\x00\x00\x72\x34\x7c\x03\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x07\x64\x07\x7c\x03\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xac\x08\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x03\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x07\x64\x07\x7c\x03\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xac\x09\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_128_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x17\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x01\x64\x02\x76\x01\x72\x0e\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7c\x01\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x02\x64\x04\x6b\x28\x00\x00\x73\x02\x7c\x02\x80\x0b\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x64\x04\x64\x00\x6c\x05\x7d\x03\x7c\x01\x64\x06\x6b\x28\x00\x00\x72\x36\x7c\x03\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x07\x64\x07\x7c\x03\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xac\x08\xab\x05\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x03\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x07\x64\x07\x7c\x03\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xac\x09\xab\x05\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -122393,7 +119291,7 @@ static const_str__stream = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -122402,7 +119300,7 @@ const_str__stream = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_stream", @@ -122415,7 +119313,7 @@ static const_str__proc = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -122424,7 +119322,7 @@ const_str__proc = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_proc", @@ -122437,11 +119335,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_135_consts_1_names = { +os_toplevel_consts_129_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -122457,10 +119355,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -os_toplevel_consts_135_consts_1_qualname = { +os_toplevel_consts_129_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -122469,7 +119367,7 @@ os_toplevel_consts_135_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_wrap_close.__init__", @@ -122478,18 +119376,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[21]; + char ob_sval[17]; } -os_toplevel_consts_135_consts_1_linetable = { +os_toplevel_consts_129_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 20, + .ob_size = 16, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x1b\x21\x88\x44\x8c\x4c\xd8\x19\x1d\x88\x44\x8c\x4a\x88\x4a\x88\x4a", + .ob_sval = "\x80\x00\xd8\x1b\x21\x88\x44\x8c\x4c\xd8\x19\x1d\x88\x44\x8d\x4a", }; static struct { @@ -122499,57 +119397,55 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_135_consts_1_localsplusnames = { +os_toplevel_consts_129_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_stream._ascii.ob_base, & const_str_proc._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(34) -os_toplevel_consts_135_consts_1 = { + struct _PyCode_DEF(32) +os_toplevel_consts_129_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 17, + .ob_size = 16, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_135_consts_1_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_129_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 1001, + .co_firstlineno = 1007, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_135_consts_1_localsplusnames._object.ob_base.ob_base, + .co_version = 653, + .co_localsplusnames = & os_toplevel_consts_129_consts_1_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & os_toplevel_consts_135_consts_1_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_135_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & os_toplevel_consts_129_consts_1_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_129_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -122560,11 +119456,11 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_135_consts_2_consts = { +os_toplevel_consts_129_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -122572,7 +119468,7 @@ os_toplevel_consts_135_consts_2_consts = { .ob_item = { Py_None, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & const_str_nt._ascii.ob_base, + &_Py_ID(nt), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 8], }, }, @@ -122585,7 +119481,7 @@ static const_str_wait = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -122594,7 +119490,7 @@ const_str_wait = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "wait", @@ -122607,11 +119503,11 @@ static PyObject *ob_item[5]; }_object; } -os_toplevel_consts_135_consts_2_names = { +os_toplevel_consts_129_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -122630,10 +119526,10 @@ static PyASCIIObject _ascii; uint8_t _data[18]; } -os_toplevel_consts_135_consts_2_qualname = { +os_toplevel_consts_129_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -122642,7 +119538,7 @@ os_toplevel_consts_135_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_wrap_close.close", @@ -122651,18 +119547,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[79]; + char ob_sval[68]; } -os_toplevel_consts_135_consts_2_linetable = { +os_toplevel_consts_129_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 78, + .ob_size = 67, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0c\x10\x8c\x4c\xd7\x0c\x1e\xd2\x0c\x1e\xd1\x0c\x20\xd4\x0c\x20\xd0\x0c\x20\xd8\x19\x1d\x9c\x1a\x9f\x1f\x9a\x1f\xd1\x19\x2a\xd4\x19\x2a\x88\x4a\xd8\x0f\x19\x98\x51\x8a\x7f\x88\x7f\xd8\x17\x1b\x90\x74\xdd\x0f\x13\x90\x74\x8a\x7c\x88\x7c\xd8\x17\x21\xd0\x10\x21\xe0\x17\x21\xa0\x51\x91\x7f\xd0\x10\x26", + .ob_sval = "\x80\x00\xd8\x0c\x10\x8f\x4c\x89\x4c\xd7\x0c\x1e\xd1\x0c\x1e\xd4\x0c\x20\xd8\x19\x1d\x9f\x1a\x99\x1a\x9f\x1f\x99\x1f\xd3\x19\x2a\x88\x4a\xd8\x0f\x19\x98\x51\x8a\x7f\xd8\x17\x1b\xdc\x0f\x13\x90\x74\x8a\x7c\xd8\x17\x21\xd0\x10\x21\xe0\x17\x21\xa0\x51\x91\x7f\xd0\x10\x26", }; static struct { @@ -122672,7 +119568,7 @@ static const_str_returncode = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -122681,7 +119577,7 @@ const_str_returncode = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "returncode", @@ -122694,56 +119590,54 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_135_consts_2_localsplusnames = { +os_toplevel_consts_129_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_returncode._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(154) -os_toplevel_consts_135_consts_2 = { + struct _PyCode_DEF(150) +os_toplevel_consts_129_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 77, + .ob_size = 75, }, - .co_consts = & os_toplevel_consts_135_consts_2_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_135_consts_2_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_129_consts_2_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_129_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 1004, + .co_firstlineno = 1010, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_135_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 654, + .co_localsplusnames = & os_toplevel_consts_129_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(close), - .co_qualname = & os_toplevel_consts_135_consts_2_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_135_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x02\x64\x00\x53\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x02\x00\x00\x00\x00\x72\x02\x7c\x01\x53\x00\x7c\x01\x64\x03\x7a\x03\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_129_consts_2_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_129_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x64\x01\x6b\x28\x00\x00\x72\x01\x79\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x28\x00\x00\x72\x02\x7c\x01\x53\x00\x7c\x01\x64\x03\x7a\x03\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -122751,10 +119645,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -os_toplevel_consts_135_consts_3_qualname = { +os_toplevel_consts_129_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -122763,7 +119657,7 @@ os_toplevel_consts_135_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_wrap_close.__enter__", @@ -122774,10 +119668,10 @@ static Py_hash_t ob_shash; char ob_sval[8]; } -os_toplevel_consts_135_consts_3_linetable = { +os_toplevel_consts_129_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 7, @@ -122787,10 +119681,10 @@ os_toplevel_consts_135_consts_3_linetable = { }; static struct _PyCode_DEF(6) -os_toplevel_consts_135_consts_3 = { +os_toplevel_consts_129_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -122799,26 +119693,24 @@ os_toplevel_consts_135_consts_3 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 1013, + .co_firstlineno = 1019, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 655, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__enter__), - .co_qualname = & os_toplevel_consts_135_consts_3_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_135_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_qualname = & os_toplevel_consts_129_consts_3_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_129_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -122830,11 +119722,11 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_135_consts_4_names = { +os_toplevel_consts_129_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -122849,10 +119741,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -os_toplevel_consts_135_consts_4_qualname = { +os_toplevel_consts_129_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -122861,7 +119753,7 @@ os_toplevel_consts_135_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_wrap_close.__exit__", @@ -122870,54 +119762,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[20]; + char ob_sval[12]; } -os_toplevel_consts_135_consts_4_linetable = { +os_toplevel_consts_129_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 19, + .ob_size = 11, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0c\x10\x8f\x4a\x8a\x4a\x89\x4c\x8c\x4c\x88\x4c\x88\x4c\x88\x4c", + .ob_sval = "\x80\x00\xd8\x0c\x10\x8f\x4a\x89\x4a\x8d\x4c", }; static - struct _PyCode_DEF(46) -os_toplevel_consts_135_consts_4 = { + struct _PyCode_DEF(36) +os_toplevel_consts_129_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 23, + .ob_size = 18, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_135_consts_4_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_129_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 1015, + .co_firstlineno = 1021, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 656, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_5_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__exit__), - .co_qualname = & os_toplevel_consts_135_consts_4_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_135_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & os_toplevel_consts_129_consts_4_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_129_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -122928,11 +119818,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_135_consts_5_names = { +os_toplevel_consts_129_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -122948,10 +119838,10 @@ static PyASCIIObject _ascii; uint8_t _data[24]; } -os_toplevel_consts_135_consts_5_qualname = { +os_toplevel_consts_129_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -122960,7 +119850,7 @@ os_toplevel_consts_135_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_wrap_close.__getattr__", @@ -122969,54 +119859,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[21]; + char ob_sval[20]; } -os_toplevel_consts_135_consts_5_linetable = { +os_toplevel_consts_129_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 20, + .ob_size = 19, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x13\x1a\x98\x34\x9c\x3c\xa8\x14\xd1\x13\x2e\xd4\x13\x2e\xd0\x0c\x2e", + .ob_sval = "\x80\x00\xdc\x13\x1a\x98\x34\x9f\x3c\x99\x3c\xa8\x14\xd3\x13\x2e\xd0\x0c\x2e", }; static - struct _PyCode_DEF(44) -os_toplevel_consts_135_consts_5 = { + struct _PyCode_DEF(46) +os_toplevel_consts_129_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 22, + .ob_size = 23, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_135_consts_5_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_129_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 1017, + .co_firstlineno = 1023, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 657, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_14_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__getattr__), - .co_qualname = & os_toplevel_consts_135_consts_5_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_135_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_129_consts_5_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_129_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -123027,11 +119915,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_135_consts_6_names = { +os_toplevel_consts_129_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -123047,10 +119935,10 @@ static PyASCIIObject _ascii; uint8_t _data[21]; } -os_toplevel_consts_135_consts_6_qualname = { +os_toplevel_consts_129_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -123059,7 +119947,7 @@ os_toplevel_consts_135_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_wrap_close.__iter__", @@ -123068,54 +119956,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[19]; + char ob_sval[18]; } -os_toplevel_consts_135_consts_6_linetable = { +os_toplevel_consts_129_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 18, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x13\x17\x98\x04\x9c\x0c\xd1\x13\x25\xd4\x13\x25\xd0\x0c\x25", + .ob_sval = "\x80\x00\xdc\x13\x17\x98\x04\x9f\x0c\x99\x0c\xd3\x13\x25\xd0\x0c\x25", }; static - struct _PyCode_DEF(42) -os_toplevel_consts_135_consts_6 = { + struct _PyCode_DEF(44) +os_toplevel_consts_129_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 21, + .ob_size = 22, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_135_consts_6_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_129_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 1019, + .co_firstlineno = 1025, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 658, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__iter__), - .co_qualname = & os_toplevel_consts_135_consts_6_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_135_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_129_consts_6_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_129_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -123126,23 +120012,23 @@ static PyObject *ob_item[8]; }_object; } -os_toplevel_consts_135_consts = { +os_toplevel_consts_129_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, }, .ob_item = { & const_str__wrap_close._ascii.ob_base, - & os_toplevel_consts_135_consts_1.ob_base.ob_base, - & os_toplevel_consts_135_consts_2.ob_base.ob_base, - & os_toplevel_consts_135_consts_3.ob_base.ob_base, - & os_toplevel_consts_135_consts_4.ob_base.ob_base, - & os_toplevel_consts_135_consts_5.ob_base.ob_base, - & os_toplevel_consts_135_consts_6.ob_base.ob_base, + & os_toplevel_consts_129_consts_1.ob_base.ob_base, + & os_toplevel_consts_129_consts_2.ob_base.ob_base, + & os_toplevel_consts_129_consts_3.ob_base.ob_base, + & os_toplevel_consts_129_consts_4.ob_base.ob_base, + & os_toplevel_consts_129_consts_5.ob_base.ob_base, + & os_toplevel_consts_129_consts_6.ob_base.ob_base, Py_None, }, }, @@ -123155,11 +120041,11 @@ static PyObject *ob_item[9]; }_object; } -os_toplevel_consts_135_names = { +os_toplevel_consts_129_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -123181,54 +120067,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[111]; + char ob_sval[33]; } -os_toplevel_consts_135_linetable = { +os_toplevel_consts_129_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 110, + .ob_size = 32, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x02\x09\x1e\xf0\x00\x02\x09\x1e\xf0\x00\x02\x09\x1e\xf0\x06\x08\x09\x27\xf0\x00\x08\x09\x27\xf0\x00\x08\x09\x27\xf0\x12\x01\x09\x18\xf0\x00\x01\x09\x18\xf0\x00\x01\x09\x18\xf0\x04\x01\x09\x19\xf0\x00\x01\x09\x19\xf0\x00\x01\x09\x19\xf0\x04\x01\x09\x2f\xf0\x00\x01\x09\x2f\xf0\x00\x01\x09\x2f\xf0\x04\x01\x09\x26\xf0\x00\x01\x09\x26\xf0\x00\x01\x09\x26\xf0\x00\x01\x09\x26\xf0\x00\x01\x09\x26", + .ob_sval = "\x84\x00\xf2\x02\x02\x09\x1e\xf2\x06\x08\x09\x27\xf2\x12\x01\x09\x18\xf2\x04\x01\x09\x19\xf2\x04\x01\x09\x2f\xf3\x04\x01\x09\x26", }; static - struct _PyCode_DEF(50) -os_toplevel_consts_135 = { + struct _PyCode_DEF(48) +os_toplevel_consts_129 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 24, }, - .co_consts = & os_toplevel_consts_135_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_135_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_129_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_129_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 1000, + .co_firstlineno = 1006, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 659, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__wrap_close._ascii.ob_base, .co_qualname = & const_str__wrap_close._ascii.ob_base, - .co_linetable = & os_toplevel_consts_135_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x64\x07\x53\x00", + .co_linetable = & os_toplevel_consts_129_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x84\x00\x5a\x08\x79\x07", ._co_firsttraceable = 0, }; static @@ -123236,10 +120120,10 @@ static PyASCIIObject _ascii; uint8_t _data[39]; } -os_toplevel_consts_138_consts_1 = { +os_toplevel_consts_132_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 38, @@ -123248,7 +120132,7 @@ os_toplevel_consts_138_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "invalid fd type (%s, expected integer)", @@ -123261,20 +120145,20 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_138_consts = { +os_toplevel_consts_132_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { Py_None, - & os_toplevel_consts_138_consts_1._ascii.ob_base, + & os_toplevel_consts_132_consts_1._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & const_str_b._ascii.ob_base, + &_Py_ID(b), }, }, }; @@ -123286,11 +120170,11 @@ static PyObject *ob_item[7]; }_object; } -os_toplevel_consts_138_names = { +os_toplevel_consts_132_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -123299,7 +120183,7 @@ os_toplevel_consts_138_names = { &_Py_ID(isinstance), & const_str_int._ascii.ob_base, & const_str_TypeError._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), & const_str_io._ascii.ob_base, & const_str_text_encoding._ascii.ob_base, &_Py_ID(open), @@ -123310,18 +120194,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[125]; + char ob_sval[93]; } -os_toplevel_consts_138_linetable = { +os_toplevel_consts_132_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 124, + .ob_size = 92, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0b\x15\x90\x62\x9d\x23\xd1\x0b\x1e\xd4\x0b\x1e\xf0\x00\x01\x05\x4d\x01\xdd\x0e\x17\xd0\x18\x40\xc5\x34\xc8\x02\xc1\x38\xc4\x38\xd1\x18\x4b\xd1\x0e\x4c\xd4\x0e\x4c\xd0\x08\x4c\xd8\x04\x0d\x80\x49\x80\x49\x80\x49\xd8\x07\x0a\x90\x24\x80\x7f\x80\x7f\xd8\x13\x15\xd7\x13\x23\xd2\x13\x23\xa0\x48\xd1\x13\x2d\xd4\x13\x2d\x88\x08\xd8\x0b\x12\x88\x32\x8c\x37\x90\x32\x90\x74\x98\x59\xa8\x08\xd0\x0b\x42\xb0\x34\xd0\x0b\x42\xd0\x0b\x42\xd0\x0b\x42\xb8\x36\xd0\x0b\x42\xd0\x0b\x42\xd0\x04\x42", + .ob_sval = "\x80\x00\xdc\x0b\x15\x90\x62\x9c\x23\xd4\x0b\x1e\xdc\x0e\x17\xd0\x18\x40\xc4\x34\xc8\x02\xc3\x38\xd1\x18\x4b\xd3\x0e\x4c\xd0\x08\x4c\xdb\x04\x0d\xd8\x07\x0a\x90\x24\x81\x7f\xd8\x13\x15\xd7\x13\x23\xd1\x13\x23\xa0\x48\xd3\x13\x2d\x88\x08\xd8\x0b\x12\x88\x32\x8f\x37\x89\x37\x90\x32\x90\x74\x98\x59\xa8\x08\xd0\x0b\x42\xb0\x34\xd2\x0b\x42\xb8\x36\xd1\x0b\x42\xd0\x04\x42", }; static struct { @@ -123331,61 +120215,59 @@ static PyObject *ob_item[7]; }_object; } -os_toplevel_consts_138_localsplusnames = { +os_toplevel_consts_132_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { - & const_str_fd._ascii.ob_base, + &_Py_ID(fd), &_Py_ID(mode), - & const_str_buffering._ascii.ob_base, + &_Py_ID(buffering), &_Py_ID(encoding), - & const_str_args._ascii.ob_base, + &_Py_ID(args), & const_str_kwargs._ascii.ob_base, & const_str_io._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(204) -os_toplevel_consts_138 = { + struct _PyCode_DEF(180) +os_toplevel_consts_132 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 102, + .ob_size = 90, }, - .co_consts = & os_toplevel_consts_138_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_138_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_132_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_132_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 15, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 13 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 1025, + .co_firstlineno = 1031, .co_nlocalsplus = 7, .co_nlocals = 7, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_138_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_12_localspluskinds.ob_base.ob_base, + .co_version = 660, + .co_localsplusnames = & os_toplevel_consts_132_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_fdopen._ascii.ob_base, .co_qualname = & const_str_fdopen._ascii.ob_base, - .co_linetable = & os_toplevel_consts_138_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x1f\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x64\x02\x64\x00\x6c\x04\x7d\x06\x64\x03\x7c\x01\x76\x01\x72\x15\x7c\x06\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x02\x00\x7c\x06\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x67\x04\x7c\x04\xa2\x01\x52\x00\x69\x00\x7c\x05\xa4\x01\x8e\x01\x53\x00", + .co_linetable = & os_toplevel_consts_132_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x73\x17\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x64\x02\x64\x00\x6c\x04\x7d\x06\x64\x03\x7c\x01\x76\x01\x72\x11\x7c\x06\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x02\x00\x7c\x06\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\x7c\x02\x7c\x03\x67\x04\x7c\x04\xa2\x01\xad\x06\x69\x00\x7c\x05\xa4\x01\x8e\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -123393,10 +120275,10 @@ static PyASCIIObject _ascii; uint8_t _data[354]; } -os_toplevel_consts_139_consts_0 = { +os_toplevel_consts_133_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 353, @@ -123405,7 +120287,7 @@ os_toplevel_consts_139_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x61\x74\x68\x20\x72\x65\x70\x72\x65\x73\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\x61\x20\x70\x61\x74\x68\x2d\x6c\x69\x6b\x65\x20\x6f\x62\x6a\x65\x63\x74\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x73\x74\x72\x20\x6f\x72\x20\x62\x79\x74\x65\x73\x20\x69\x73\x20\x70\x61\x73\x73\x65\x64\x20\x69\x6e\x2c\x20\x69\x74\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x75\x6e\x63\x68\x61\x6e\x67\x65\x64\x2e\x20\x4f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x6f\x73\x2e\x50\x61\x74\x68\x4c\x69\x6b\x65\x20\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x20\x69\x73\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x67\x65\x74\x20\x74\x68\x65\x20\x70\x61\x74\x68\x20\x72\x65\x70\x72\x65\x73\x65\x6e\x74\x61\x74\x69\x6f\x6e\x2e\x20\x49\x66\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x70\x61\x74\x68\x20\x72\x65\x70\x72\x65\x73\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x69\x73\x20\x6e\x6f\x74\x20\x73\x74\x72\x20\x6f\x72\x20\x62\x79\x74\x65\x73\x2c\x20\x54\x79\x70\x65\x45\x72\x72\x6f\x72\x20\x69\x73\x20\x72\x61\x69\x73\x65\x64\x2e\x20\x49\x66\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x70\x72\x6f\x76\x69\x64\x65\x64\x20\x70\x61\x74\x68\x20\x69\x73\x20\x6e\x6f\x74\x20\x73\x74\x72\x2c\x20\x62\x79\x74\x65\x73\x2c\x20\x6f\x72\x20\x6f\x73\x2e\x50\x61\x74\x68\x4c\x69\x6b\x65\x2c\x20\x54\x79\x70\x65\x45\x72\x72\x6f\x72\x20\x69\x73\x20\x72\x61\x69\x73\x65\x64\x2e\x0a\x20\x20\x20\x20", @@ -123415,10 +120297,10 @@ static PyASCIIObject _ascii; uint8_t _data[48]; } -os_toplevel_consts_139_consts_2 = { +os_toplevel_consts_133_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 47, @@ -123427,7 +120309,7 @@ os_toplevel_consts_139_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "expected str, bytes or os.PathLike object, not ", @@ -123437,10 +120319,10 @@ static PyASCIIObject _ascii; uint8_t _data[56]; } -os_toplevel_consts_139_consts_3 = { +os_toplevel_consts_133_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 55, @@ -123449,7 +120331,7 @@ os_toplevel_consts_139_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "expected {}.__fspath__() to return str or bytes, not {}", @@ -123462,20 +120344,20 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_139_consts = { +os_toplevel_consts_133_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & os_toplevel_consts_139_consts_0._ascii.ob_base, + & os_toplevel_consts_133_consts_0._ascii.ob_base, &_Py_ID(__fspath__), - & os_toplevel_consts_139_consts_2._ascii.ob_base, - & os_toplevel_consts_139_consts_3._ascii.ob_base, + & os_toplevel_consts_133_consts_2._ascii.ob_base, + & os_toplevel_consts_133_consts_3._ascii.ob_base, }, }, }; @@ -123487,11 +120369,11 @@ static PyObject *ob_item[10]; }_object; } -os_toplevel_consts_139_names = { +os_toplevel_consts_133_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -123499,14 +120381,14 @@ os_toplevel_consts_139_names = { .ob_item = { &_Py_ID(isinstance), & const_str_str._ascii.ob_base, - & const_str_bytes._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(bytes), + &_Py_ID(type), &_Py_ID(__fspath__), & const_str_AttributeError._ascii.ob_base, & const_str_hasattr._ascii.ob_base, & const_str_TypeError._ascii.ob_base, &_Py_ID(__name__), - & const_str_format._ascii.ob_base, + &_Py_ID(format), }, }, }; @@ -123518,7 +120400,7 @@ static const_str__fspath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -123527,7 +120409,7 @@ const_str__fspath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_fspath", @@ -123536,18 +120418,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[244]; + char ob_sval[192]; } -os_toplevel_consts_139_linetable = { +os_toplevel_consts_133_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 243, + .ob_size = 191, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x10\x00\x08\x12\x90\x24\x9d\x13\x9d\x65\x98\x0c\xd1\x07\x25\xd4\x07\x25\xf0\x00\x01\x05\x14\xd8\x0f\x13\x88\x0b\xf5\x08\x00\x11\x15\x90\x54\x91\x0a\x94\x0a\x80\x49\xf0\x02\x07\x05\x39\xd8\x14\x1d\xd7\x14\x28\xd2\x14\x28\xa8\x14\xd1\x14\x2e\xd4\x14\x2e\x88\x09\x88\x09\xf8\xdd\x0b\x19\xf0\x00\x05\x05\x39\xf0\x00\x05\x05\x39\xf0\x00\x05\x05\x39\xdd\x0b\x12\x90\x39\x98\x6c\xd1\x0b\x2b\xd4\x0b\x2b\xf0\x00\x04\x09\x39\xd8\x0c\x11\xe5\x12\x1b\xf0\x00\x01\x1d\x23\xd8\x25\x2e\xd4\x25\x37\xf1\x03\x01\x1d\x38\xf1\x00\x01\x13\x39\xf4\x00\x01\x13\x39\xf0\x00\x01\x0d\x39\xf0\x09\x05\x05\x39\xf8\xf8\xf8\xf5\x0c\x00\x08\x12\x90\x29\x9d\x63\xa5\x35\x98\x5c\xd1\x07\x2a\xd4\x07\x2a\xf0\x00\x05\x05\x43\x01\xd8\x0f\x18\xd0\x08\x18\xe5\x0e\x17\xf0\x00\x01\x19\x21\xdf\x21\x27\xa2\x16\xa8\x09\xd4\x28\x3a\xdd\x28\x2c\xa8\x59\xa9\x0f\xac\x0f\xd4\x28\x40\xf1\x03\x01\x22\x42\x01\xf4\x00\x01\x22\x42\x01\xf1\x03\x02\x0f\x43\x01\xf4\x00\x02\x0f\x43\x01\xf0\x00\x02\x09\x43\x01", + .ob_sval = "\x80\x00\xf4\x10\x00\x08\x12\x90\x24\x9c\x13\x9c\x65\x98\x0c\xd4\x07\x25\xd8\x0f\x13\x88\x0b\xf4\x08\x00\x11\x15\x90\x54\x93\x0a\x80\x49\xf0\x02\x07\x05\x39\xd8\x14\x1d\xd7\x14\x28\xd1\x14\x28\xa8\x14\xd3\x14\x2e\x88\x09\xf4\x0e\x00\x08\x12\x90\x29\x9c\x63\xa4\x35\x98\x5c\xd4\x07\x2a\xd8\x0f\x18\xd0\x08\x18\xe4\x0e\x17\xf0\x00\x01\x19\x21\xdf\x21\x27\xa1\x16\xa8\x09\xd7\x28\x3a\xd1\x28\x3a\xdc\x28\x2c\xa8\x59\xab\x0f\xd7\x28\x40\xd1\x28\x40\xf3\x03\x01\x22\x42\x01\xf3\x03\x02\x0f\x43\x01\xf0\x00\x02\x09\x43\x01\xf8\xf4\x13\x00\x0c\x1a\xf2\x00\x05\x05\x39\xdc\x0b\x12\x90\x39\x98\x6c\xd4\x0b\x2b\xd8\x0c\x11\xe4\x12\x1b\xf0\x00\x01\x1d\x23\xd8\x25\x2e\xd7\x25\x37\xd1\x25\x37\xf1\x03\x01\x1d\x38\xf3\x00\x01\x13\x39\xf0\x00\x01\x0d\x39\xf0\x09\x05\x05\x39\xfa", }; static struct { @@ -123555,16 +120437,16 @@ static Py_hash_t ob_shash; char ob_sval[12]; } -os_toplevel_consts_139_exceptiontable = { +os_toplevel_consts_133_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 11, }, .ob_shash = -1, - .ob_sval = "\xaf\x15\x41\x05\x00\xc1\x05\x33\x41\x38\x03", + .ob_sval = "\xa5\x11\x42\x06\x00\xc2\x06\x2f\x42\x35\x03", }; static struct { @@ -123574,7 +120456,7 @@ static const_str_path_type = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -123583,7 +120465,7 @@ const_str_path_type = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "path_type", @@ -123596,7 +120478,7 @@ static const_str_path_repr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -123605,7 +120487,7 @@ const_str_path_repr = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "path_repr", @@ -123618,11 +120500,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_139_localsplusnames = { +os_toplevel_consts_133_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -123635,40 +120517,38 @@ os_toplevel_consts_139_localsplusnames = { }, }; static - struct _PyCode_DEF(422) -os_toplevel_consts_139 = { + struct _PyCode_DEF(368) +os_toplevel_consts_133 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 211, + .ob_size = 184, }, - .co_consts = & os_toplevel_consts_139_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_139_names._object.ob_base.ob_base, - .co_exceptiontable = & os_toplevel_consts_139_exceptiontable.ob_base.ob_base, + .co_consts = & os_toplevel_consts_133_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_133_names._object.ob_base.ob_base, + .co_exceptiontable = & os_toplevel_consts_133_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, - .co_firstlineno = 1036, + .co_firstlineno = 1042, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_139_localsplusnames._object.ob_base.ob_base, + .co_version = 661, + .co_localsplusnames = & os_toplevel_consts_133_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__fspath._ascii.ob_base, .co_qualname = & const_str__fspath._ascii.ob_base, - .co_linetable = & os_toplevel_consts_139_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x7c\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x7c\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x6e\x36\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x29\x01\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x01\x82\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x7c\x01\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x7c\x02\x53\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_linetable = & os_toplevel_consts_133_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xab\x02\x00\x00\x00\x00\x00\x00\x72\x02\x7c\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x7c\x01\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\xab\x02\x00\x00\x00\x00\x00\x00\x72\x02\x7c\x02\x53\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x26\x01\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x72\x01\x82\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x7c\x01\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -123679,7 +120559,7 @@ static const_str_PathLike = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -123688,7 +120568,7 @@ const_str_PathLike = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "PathLike", @@ -123698,10 +120578,10 @@ static PyASCIIObject _ascii; uint8_t _data[68]; } -os_toplevel_consts_141_consts_1 = { +os_toplevel_consts_135_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 67, @@ -123710,7 +120590,7 @@ os_toplevel_consts_141_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Abstract base class for implementing the file system path protocol.", @@ -123720,10 +120600,10 @@ static PyASCIIObject _ascii; uint8_t _data[58]; } -os_toplevel_consts_141_consts_2_consts_0 = { +os_toplevel_consts_135_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 57, @@ -123732,7 +120612,7 @@ os_toplevel_consts_141_consts_2_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return the file system path representation of the object.", @@ -123745,17 +120625,17 @@ static PyObject *ob_item[1]; }_object; } -os_toplevel_consts_141_consts_2_consts = { +os_toplevel_consts_135_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & os_toplevel_consts_141_consts_2_consts_0._ascii.ob_base, + & os_toplevel_consts_135_consts_2_consts_0._ascii.ob_base, }, }, }; @@ -123764,10 +120644,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -os_toplevel_consts_141_consts_2_qualname = { +os_toplevel_consts_135_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -123776,46 +120656,44 @@ os_toplevel_consts_141_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "PathLike.__fspath__", }; static - struct _PyCode_DEF(16) -os_toplevel_consts_141_consts_2 = { + struct _PyCode_DEF(14) +os_toplevel_consts_135_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 8, + .ob_size = 7, }, - .co_consts = & os_toplevel_consts_141_consts_2_consts._object.ob_base.ob_base, - .co_names = & codecs_toplevel_consts_14_consts_3_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_135_consts_2_consts._object.ob_base.ob_base, + .co_names = & codecs_toplevel_consts_14_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 1076, + .co_firstlineno = 1082, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 662, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__fspath__), - .co_qualname = & os_toplevel_consts_141_consts_2_qualname._ascii.ob_base, - .co_linetable = & codecs_toplevel_consts_18_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", + .co_qualname = & os_toplevel_consts_135_consts_2_qualname._ascii.ob_base, + .co_linetable = & codecs_toplevel_consts_18_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01", ._co_firsttraceable = 0, }; static @@ -123826,11 +120704,11 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_141_consts_3_consts = { +os_toplevel_consts_135_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -123849,11 +120727,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_141_consts_3_names = { +os_toplevel_consts_135_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -123870,10 +120748,10 @@ static PyASCIIObject _ascii; uint8_t _data[26]; } -os_toplevel_consts_141_consts_3_qualname = { +os_toplevel_consts_135_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -123882,7 +120760,7 @@ os_toplevel_consts_141_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "PathLike.__subclasshook__", @@ -123891,54 +120769,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[34]; + char ob_sval[29]; } -os_toplevel_consts_141_consts_3_linetable = { +os_toplevel_consts_135_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 33, + .ob_size = 28, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0e\x95\x28\x88\x3f\x88\x3f\xdd\x13\x21\xa0\x28\xa8\x4c\xd1\x13\x39\xd4\x13\x39\xd0\x0c\x39\xdd\x0f\x1d\xd0\x08\x1d", + .ob_sval = "\x80\x00\xe0\x0b\x0e\x94\x28\x89\x3f\xdc\x13\x21\xa0\x28\xa8\x4c\xd3\x13\x39\xd0\x0c\x39\xdc\x0f\x1d\xd0\x08\x1d", }; static - struct _PyCode_DEF(66) -os_toplevel_consts_141_consts_3 = { + struct _PyCode_DEF(54) +os_toplevel_consts_135_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 33, + .ob_size = 27, }, - .co_consts = & os_toplevel_consts_141_consts_3_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_141_consts_3_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_135_consts_3_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_135_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 1081, + .co_firstlineno = 1087, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 663, .co_localsplusnames = & abc_toplevel_consts_10_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__subclasshook__), - .co_qualname = & os_toplevel_consts_141_consts_3_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_141_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & os_toplevel_consts_135_consts_3_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_135_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -123949,20 +120825,20 @@ static PyObject *ob_item[5]; }_object; } -os_toplevel_consts_141_consts = { +os_toplevel_consts_135_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { & const_str_PathLike._ascii.ob_base, - & os_toplevel_consts_141_consts_1._ascii.ob_base, - & os_toplevel_consts_141_consts_2.ob_base.ob_base, - & os_toplevel_consts_141_consts_3.ob_base.ob_base, + & os_toplevel_consts_135_consts_1._ascii.ob_base, + & os_toplevel_consts_135_consts_2.ob_base.ob_base, + & os_toplevel_consts_135_consts_3.ob_base.ob_base, Py_None, }, }, @@ -123975,11 +120851,11 @@ static PyObject *ob_item[11]; }_object; } -os_toplevel_consts_141_names = { +os_toplevel_consts_135_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -124003,54 +120879,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[97]; + char ob_sval[63]; } -os_toplevel_consts_141_linetable = { +os_toplevel_consts_135_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 96, + .ob_size = 62, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x04\x4d\xd0\x04\x4d\xe0\x05\x08\xd4\x05\x17\xf0\x02\x02\x05\x22\xf0\x00\x02\x05\x22\xf1\x03\x00\x06\x18\xd4\x05\x17\xf0\x02\x02\x05\x22\xf0\x08\x00\x06\x11\xf0\x02\x03\x05\x1e\xf0\x00\x03\x05\x1e\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x1e\xf0\x0a\x00\x19\x24\x98\x0b\xa0\x4c\xd1\x18\x31\xd4\x18\x31\xd0\x04\x15\xd0\x04\x15\xd0\x04\x15", + .ob_sval = "\x84\x00\xe1\x04\x4d\xe0\x05\x08\xd7\x05\x17\xd1\x05\x17\xf1\x02\x02\x05\x22\xf3\x03\x00\x06\x18\xf0\x02\x02\x05\x22\xf0\x08\x00\x06\x11\xf1\x02\x03\x05\x1e\xf3\x03\x00\x06\x11\xf0\x02\x03\x05\x1e\xf1\x0a\x00\x19\x24\xa0\x4c\xd3\x18\x31\xd1\x04\x15", }; static - struct _PyCode_DEF(94) -os_toplevel_consts_141 = { + struct _PyCode_DEF(84) +os_toplevel_consts_135 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 47, + .ob_size = 42, }, - .co_consts = & os_toplevel_consts_141_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_141_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_135_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_135_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 1072, + .co_firstlineno = 1078, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 664, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_PathLike._ascii.ob_base, .co_qualname = & const_str_PathLike._ascii.ob_base, - .co_linetable = & os_toplevel_consts_141_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x07\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x02\x00\x65\x07\x65\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0a\x64\x04\x53\x00", + .co_linetable = & os_toplevel_consts_135_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x06\x65\x07\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x02\x00\x65\x07\x65\x09\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x0a\x79\x04", ._co_firsttraceable = 0, }; static @@ -124061,7 +120935,7 @@ static const_str__AddedDllDirectory = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -124070,7 +120944,7 @@ const_str__AddedDllDirectory = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_AddedDllDirectory", @@ -124083,7 +120957,7 @@ static const_str__cookie = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -124092,7 +120966,7 @@ const_str__cookie = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_cookie", @@ -124105,7 +120979,7 @@ static const_str__remove_dll_directory = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -124114,7 +120988,7 @@ const_str__remove_dll_directory = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_remove_dll_directory", @@ -124127,11 +121001,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_143_consts_1_names = { +os_toplevel_consts_137_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -124148,10 +121022,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -os_toplevel_consts_143_consts_1_qualname = { +os_toplevel_consts_137_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -124160,7 +121034,7 @@ os_toplevel_consts_143_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_AddedDllDirectory.__init__", @@ -124169,40 +121043,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[31]; + char ob_sval[25]; } -os_toplevel_consts_143_consts_1_linetable = { +os_toplevel_consts_137_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 30, + .ob_size = 24, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x18\x1c\x88\x44\x8c\x49\xd8\x1b\x21\x88\x44\x8c\x4c\xd8\x29\x3d\x88\x44\xd4\x0c\x26\xd0\x0c\x26\xd0\x0c\x26", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[7]; - } -const_str_cookie = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 6, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "cookie", + .ob_sval = "\x80\x00\xd8\x18\x1c\x88\x44\x8c\x49\xd8\x1b\x21\x88\x44\x8c\x4c\xd8\x29\x3d\x88\x44\xd5\x0c\x26", }; static struct { @@ -124212,7 +121064,7 @@ static const_str_remove_dll_directory = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -124221,7 +121073,7 @@ const_str_remove_dll_directory = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "remove_dll_directory", @@ -124234,58 +121086,56 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_143_consts_1_localsplusnames = { +os_toplevel_consts_137_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), &_Py_ID(path), - & const_str_cookie._ascii.ob_base, + &_Py_ID(cookie), & const_str_remove_dll_directory._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(48) -os_toplevel_consts_143_consts_1 = { + struct _PyCode_DEF(46) +os_toplevel_consts_137_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 24, + .ob_size = 23, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_143_consts_1_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_137_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 1092, + .co_firstlineno = 1098, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_143_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 665, + .co_localsplusnames = & os_toplevel_consts_137_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & os_toplevel_consts_143_consts_1_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_143_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & os_toplevel_consts_137_consts_1_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_137_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -124296,11 +121146,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_143_consts_2_names = { +os_toplevel_consts_137_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -124317,10 +121167,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -os_toplevel_consts_143_consts_2_qualname = { +os_toplevel_consts_137_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -124329,7 +121179,7 @@ os_toplevel_consts_143_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_AddedDllDirectory.close", @@ -124338,54 +121188,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[36]; + char ob_sval[28]; } -os_toplevel_consts_143_consts_2_linetable = { +os_toplevel_consts_137_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 35, + .ob_size = 27, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0c\x10\xd7\x0c\x26\xd2\x0c\x26\xa0\x74\xa4\x7c\xd1\x0c\x34\xd4\x0c\x34\xd0\x0c\x34\xd8\x18\x1c\x88\x44\x8c\x49\x88\x49\x88\x49", + .ob_sval = "\x80\x00\xd8\x0c\x10\xd7\x0c\x26\xd1\x0c\x26\xa0\x74\xa7\x7c\xa1\x7c\xd4\x0c\x34\xd8\x18\x1c\x88\x44\x8d\x49", }; static struct _PyCode_DEF(72) -os_toplevel_consts_143_consts_2 = { +os_toplevel_consts_137_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 36, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_143_consts_2_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_137_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 1096, + .co_firstlineno = 1102, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 666, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(close), - .co_qualname = & os_toplevel_consts_143_consts_2_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_143_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & os_toplevel_consts_137_consts_2_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_137_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -124393,10 +121241,10 @@ static PyASCIIObject _ascii; uint8_t _data[29]; } -os_toplevel_consts_143_consts_3_qualname = { +os_toplevel_consts_137_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -124405,17 +121253,17 @@ os_toplevel_consts_143_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_AddedDllDirectory.__enter__", }; static struct _PyCode_DEF(6) -os_toplevel_consts_143_consts_3 = { +os_toplevel_consts_137_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 3, @@ -124424,26 +121272,24 @@ os_toplevel_consts_143_consts_3 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 1099, + .co_firstlineno = 1105, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 667, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__enter__), - .co_qualname = & os_toplevel_consts_143_consts_3_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_135_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + .co_qualname = & os_toplevel_consts_137_consts_3_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_129_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -124452,10 +121298,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -os_toplevel_consts_143_consts_4_qualname = { +os_toplevel_consts_137_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -124464,46 +121310,44 @@ os_toplevel_consts_143_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_AddedDllDirectory.__exit__", }; static - struct _PyCode_DEF(46) -os_toplevel_consts_143_consts_4 = { + struct _PyCode_DEF(36) +os_toplevel_consts_137_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 23, + .ob_size = 18, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_135_consts_4_names._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_129_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 1101, + .co_firstlineno = 1107, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 668, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_5_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__exit__), - .co_qualname = & os_toplevel_consts_143_consts_4_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_135_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + .co_qualname = & os_toplevel_consts_137_consts_4_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_129_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -124511,10 +121355,10 @@ static PyASCIIObject _ascii; uint8_t _data[26]; } -os_toplevel_consts_143_consts_5_consts_1 = { +os_toplevel_consts_137_consts_5_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -124523,7 +121367,7 @@ os_toplevel_consts_143_consts_5_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -124533,10 +121377,10 @@ static PyASCIIObject _ascii; uint8_t _data[22]; } -os_toplevel_consts_143_consts_5_consts_2 = { +os_toplevel_consts_137_consts_5_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -124545,7 +121389,7 @@ os_toplevel_consts_143_consts_5_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -124558,19 +121402,19 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_143_consts_5_consts = { +os_toplevel_consts_137_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { Py_None, - & os_toplevel_consts_143_consts_5_consts_1._ascii.ob_base, - & os_toplevel_consts_143_consts_5_consts_2._ascii.ob_base, + & os_toplevel_consts_137_consts_5_consts_1._ascii.ob_base, + & os_toplevel_consts_137_consts_5_consts_2._ascii.ob_base, }, }, }; @@ -124582,18 +121426,18 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_143_consts_5_names = { +os_toplevel_consts_137_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { &_Py_ID(path), - & const_str_format._ascii.ob_base, + &_Py_ID(format), }, }, }; @@ -124602,10 +121446,10 @@ static PyASCIIObject _ascii; uint8_t _data[28]; } -os_toplevel_consts_143_consts_5_qualname = { +os_toplevel_consts_137_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -124614,7 +121458,7 @@ os_toplevel_consts_143_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_AddedDllDirectory.__repr__", @@ -124623,54 +121467,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[42]; + char ob_sval[34]; } -os_toplevel_consts_143_consts_5_linetable = { +os_toplevel_consts_137_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 41, + .ob_size = 33, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x13\x8c\x79\xf0\x00\x01\x0d\x45\x01\xd8\x17\x32\xd7\x17\x39\xd2\x17\x39\xb8\x24\xbc\x29\xd1\x17\x44\xd4\x17\x44\xd0\x10\x44\xd8\x13\x2a\xd0\x13\x2a", + .ob_sval = "\x80\x00\xd8\x0f\x13\x8f\x79\x8a\x79\xd8\x17\x32\xd7\x17\x39\xd1\x17\x39\xb8\x24\xbf\x29\xb9\x29\xd3\x17\x44\xd0\x10\x44\xd8\x13\x2a", }; static - struct _PyCode_DEF(72) -os_toplevel_consts_143_consts_5 = { + struct _PyCode_DEF(82) +os_toplevel_consts_137_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 36, + .ob_size = 41, }, - .co_consts = & os_toplevel_consts_143_consts_5_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_143_consts_5_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_137_consts_5_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_137_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 1103, + .co_firstlineno = 1109, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 669, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_ID(__repr__), - .co_qualname = & os_toplevel_consts_143_consts_5_qualname._ascii.ob_base, - .co_linetable = & os_toplevel_consts_143_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1a\x64\x01\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x64\x02\x53\x00", + .co_qualname = & os_toplevel_consts_137_consts_5_qualname._ascii.ob_base, + .co_linetable = & os_toplevel_consts_137_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1b\x64\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -124681,22 +121523,22 @@ static PyObject *ob_item[7]; }_object; } -os_toplevel_consts_143_consts = { +os_toplevel_consts_137_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { & const_str__AddedDllDirectory._ascii.ob_base, - & os_toplevel_consts_143_consts_1.ob_base.ob_base, - & os_toplevel_consts_143_consts_2.ob_base.ob_base, - & os_toplevel_consts_143_consts_3.ob_base.ob_base, - & os_toplevel_consts_143_consts_4.ob_base.ob_base, - & os_toplevel_consts_143_consts_5.ob_base.ob_base, + & os_toplevel_consts_137_consts_1.ob_base.ob_base, + & os_toplevel_consts_137_consts_2.ob_base.ob_base, + & os_toplevel_consts_137_consts_3.ob_base.ob_base, + & os_toplevel_consts_137_consts_4.ob_base.ob_base, + & os_toplevel_consts_137_consts_5.ob_base.ob_base, Py_None, }, }, @@ -124709,11 +121551,11 @@ static PyObject *ob_item[8]; }_object; } -os_toplevel_consts_143_names = { +os_toplevel_consts_137_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -124734,54 +121576,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[96]; + char ob_sval[28]; } -os_toplevel_consts_143_linetable = { +os_toplevel_consts_137_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 95, + .ob_size = 27, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x03\x09\x3e\xf0\x00\x03\x09\x3e\xf0\x00\x03\x09\x3e\xf0\x08\x02\x09\x1d\xf0\x00\x02\x09\x1d\xf0\x00\x02\x09\x1d\xf0\x06\x01\x09\x18\xf0\x00\x01\x09\x18\xf0\x00\x01\x09\x18\xf0\x04\x01\x09\x19\xf0\x00\x01\x09\x19\xf0\x00\x01\x09\x19\xf0\x04\x03\x09\x2b\xf0\x00\x03\x09\x2b\xf0\x00\x03\x09\x2b\xf0\x00\x03\x09\x2b\xf0\x00\x03\x09\x2b", + .ob_sval = "\x84\x00\xf2\x02\x03\x09\x3e\xf2\x08\x02\x09\x1d\xf2\x06\x01\x09\x18\xf2\x04\x01\x09\x19\xf3\x04\x03\x09\x2b", }; static - struct _PyCode_DEF(44) -os_toplevel_consts_143 = { + struct _PyCode_DEF(42) +os_toplevel_consts_137 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 22, + .ob_size = 21, }, - .co_consts = & os_toplevel_consts_143_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_143_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_137_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_137_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 1091, + .co_firstlineno = 1097, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 670, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str__AddedDllDirectory._ascii.ob_base, .co_qualname = & const_str__AddedDllDirectory._ascii.ob_base, - .co_linetable = & os_toplevel_consts_143_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x64\x06\x53\x00", + .co_linetable = & os_toplevel_consts_137_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x84\x00\x5a\x07\x79\x06", ._co_firsttraceable = 0, }; static @@ -124789,10 +121629,10 @@ static PyASCIIObject _ascii; uint8_t _data[336]; } -os_toplevel_consts_145_consts_0 = { +os_toplevel_consts_139_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 335, @@ -124801,7 +121641,7 @@ os_toplevel_consts_145_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x64\x64\x20\x61\x20\x70\x61\x74\x68\x20\x74\x6f\x20\x74\x68\x65\x20\x44\x4c\x4c\x20\x73\x65\x61\x72\x63\x68\x20\x70\x61\x74\x68\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x69\x73\x20\x73\x65\x61\x72\x63\x68\x20\x70\x61\x74\x68\x20\x69\x73\x20\x75\x73\x65\x64\x20\x77\x68\x65\x6e\x20\x72\x65\x73\x6f\x6c\x76\x69\x6e\x67\x20\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73\x20\x66\x6f\x72\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x20\x6d\x6f\x64\x75\x6c\x65\x73\x20\x28\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x74\x73\x65\x6c\x66\x20\x69\x73\x20\x72\x65\x73\x6f\x6c\x76\x65\x64\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x73\x79\x73\x2e\x70\x61\x74\x68\x29\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x6e\x64\x20\x61\x6c\x73\x6f\x20\x62\x79\x20\x63\x74\x79\x70\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x6d\x6f\x76\x65\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x62\x79\x20\x63\x61\x6c\x6c\x69\x6e\x67\x20\x63\x6c\x6f\x73\x65\x28\x29\x20\x6f\x6e\x20\x74\x68\x65\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x6f\x62\x6a\x65\x63\x74\x20\x6f\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x75\x73\x69\x6e\x67\x20\x69\x74\x20\x69\x6e\x20\x61\x20\x77\x69\x74\x68\x20\x73\x74\x61\x74\x65\x6d\x65\x6e\x74\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20", @@ -124814,17 +121654,17 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_145_consts = { +os_toplevel_consts_139_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & os_toplevel_consts_145_consts_0._ascii.ob_base, + & os_toplevel_consts_139_consts_0._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], Py_None, }, @@ -124838,7 +121678,7 @@ static const_str__add_dll_directory = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -124847,7 +121687,7 @@ const_str__add_dll_directory = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_add_dll_directory", @@ -124860,17 +121700,17 @@ static PyObject *ob_item[4]; }_object; } -os_toplevel_consts_145_names = { +os_toplevel_consts_139_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_nt._ascii.ob_base, + &_Py_ID(nt), & const_str__add_dll_directory._ascii.ob_base, & const_str__AddedDllDirectory._ascii.ob_base, & const_str__remove_dll_directory._ascii.ob_base, @@ -124885,7 +121725,7 @@ static const_str_add_dll_directory = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -124894,7 +121734,7 @@ const_str_add_dll_directory = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "add_dll_directory", @@ -124903,18 +121743,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[62]; + char ob_sval[54]; } -os_toplevel_consts_145_linetable = { +os_toplevel_consts_139_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 61, + .ob_size = 53, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x14\x00\x09\x12\x88\x09\x88\x09\x88\x09\xd8\x11\x26\x90\x12\xd4\x11\x26\xa0\x74\xd1\x11\x2c\xd4\x11\x2c\x88\x06\xdd\x0f\x21\xd8\x0c\x10\xd8\x0c\x12\xd8\x0c\x0e\xd4\x0c\x24\xf1\x07\x04\x10\x0a\xf4\x00\x04\x10\x0a\xf0\x00\x04\x09\x0a", + .ob_sval = "\x80\x00\xf3\x14\x00\x09\x12\xd8\x11\x26\x90\x12\xd7\x11\x26\xd1\x11\x26\xa0\x74\xd3\x11\x2c\x88\x06\xdc\x0f\x21\xd8\x0c\x10\xd8\x0c\x12\xd8\x0c\x0e\xd7\x0c\x24\xd1\x0c\x24\xf3\x07\x04\x10\x0a\xf0\x00\x04\x09\x0a", }; static struct { @@ -124924,59 +121764,71 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_145_localsplusnames = { +os_toplevel_consts_139_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { &_Py_ID(path), - & const_str_nt._ascii.ob_base, - & const_str_cookie._ascii.ob_base, + &_Py_ID(nt), + &_Py_ID(cookie), }, }, }; static - struct _PyCode_DEF(86) -os_toplevel_consts_145 = { + struct _PyCode_DEF(92) +os_toplevel_consts_139 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 43, + .ob_size = 46, }, - .co_consts = & os_toplevel_consts_145_consts._object.ob_base.ob_base, - .co_names = & os_toplevel_consts_145_names._object.ob_base.ob_base, + .co_consts = & os_toplevel_consts_139_consts._object.ob_base.ob_base, + .co_names = & os_toplevel_consts_139_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 1108, + .co_firstlineno = 1114, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & os_toplevel_consts_145_localsplusnames._object.ob_base.ob_base, + .co_version = 671, + .co_localsplusnames = & os_toplevel_consts_139_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = & const_str_add_dll_directory._ascii.ob_base, .co_qualname = & const_str_add_dll_directory._ascii.ob_base, - .co_linetable = & os_toplevel_consts_145_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x64\x02\x6c\x00\x7d\x01\x02\x00\x7c\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\x7c\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & os_toplevel_consts_139_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x64\x02\x6c\x00\x7d\x01\x02\x00\x7c\x01\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\x7c\x01\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; +static + struct { + PyObject ob_base; + uintptr_t lv_tag; + digit ob_digit[1]; + } +const_int_511 = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, + }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), + .ob_digit = { 511 }, +}; static struct { PyGC_Head _gc_head; @@ -124985,17 +121837,17 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_146 = { +os_toplevel_consts_140 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_int_511.ob_base.ob_base, + & const_int_511.ob_base, Py_False, }, }, @@ -125008,11 +121860,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_147 = { +os_toplevel_consts_141 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -125032,11 +121884,11 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_148 = { +os_toplevel_consts_142 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -125056,17 +121908,17 @@ static PyObject *ob_item[2]; }_object; } -os_toplevel_consts_150 = { +os_toplevel_consts_144 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_r._ascii.ob_base, + &_Py_ID(r), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], }, }, @@ -125079,17 +121931,17 @@ static PyObject *ob_item[3]; }_object; } -os_toplevel_consts_151 = { +os_toplevel_consts_145 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_r._ascii.ob_base, + &_Py_ID(r), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], Py_None, }, @@ -125100,17 +121952,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[152]; + PyObject *ob_item[146]; }_object; } os_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 152, + .ob_size = 146, }, .ob_item = { & os_toplevel_consts_0._ascii.ob_base, @@ -125120,13 +121972,13 @@ os_toplevel_consts = { & os_toplevel_consts_4._object.ob_base.ob_base, & os_toplevel_consts_5.ob_base.ob_base, & os_toplevel_consts_6.ob_base.ob_base, - & const_str_posix._ascii.ob_base, - & _sitebuiltins_toplevel_consts_5_consts_5_consts_3._ascii.ob_base, + &_Py_ID(posix), + (PyObject *)&_Py_SINGLETON(strings).ascii[10], & codecs_toplevel_consts_3._object.ob_base.ob_base, & os_toplevel_consts_10._object.ob_base.ob_base, & const_str__exit._ascii.ob_base, & os_toplevel_consts_12._object.ob_base.ob_base, - & const_str_nt._ascii.ob_base, + &_Py_ID(nt), & os_toplevel_consts_14._ascii.ob_base, & os_toplevel_consts_15._ascii.ob_base, & os_toplevel_consts_16._ascii.ob_base, @@ -125134,7 +121986,7 @@ os_toplevel_consts = { & const_str__have_functions._ascii.ob_base, & os_toplevel_consts_19.ob_base.ob_base, & const_str_HAVE_FACCESSAT._ascii.ob_base, - & const_str_access._ascii.ob_base, + &_Py_ID(access), & const_str_HAVE_FCHMODAT._ascii.ob_base, & const_str_chmod._ascii.ob_base, & const_str_HAVE_FCHOWNAT._ascii.ob_base, @@ -125160,7 +122012,7 @@ os_toplevel_consts = { & const_str_HAVE_SYMLINKAT._ascii.ob_base, & const_str_symlink._ascii.ob_base, & const_str_HAVE_UNLINKAT._ascii.ob_base, - & const_str_unlink._ascii.ob_base, + &_Py_ID(unlink), & const_str_rmdir._ascii.ob_base, & const_str_HAVE_UTIMENSAT._ascii.ob_base, & const_str_HAVE_FCHDIR._ascii.ob_base, @@ -125191,80 +122043,74 @@ os_toplevel_consts = { & const_str_MS_WINDOWS._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - & const_int_511.ob_base.ob_base, Py_False, + & os_toplevel_consts_79.ob_base.ob_base, & os_toplevel_consts_80.ob_base.ob_base, & os_toplevel_consts_81.ob_base.ob_base, - & os_toplevel_consts_82.ob_base.ob_base, - & os_toplevel_consts_83._object.ob_base.ob_base, - Py_True, - & os_toplevel_consts_85.ob_base.ob_base, - & os_toplevel_consts_86.ob_base.ob_base, + & os_toplevel_consts_82._object.ob_base.ob_base, + & os_toplevel_consts_83.ob_base.ob_base, & const_str_walk._ascii.ob_base, - &_Py_STR(dot), - & os_toplevel_consts_89._object.ob_base.ob_base, + & os_toplevel_consts_85._object.ob_base.ob_base, + & os_toplevel_consts_86.ob_base.ob_base, + & os_toplevel_consts_87.ob_base.ob_base, + & const_str_fwalk._ascii.ob_base, + & os_toplevel_consts_89.ob_base.ob_base, & os_toplevel_consts_90.ob_base.ob_base, & os_toplevel_consts_91.ob_base.ob_base, - & const_str_fwalk._ascii.ob_base, + & os_toplevel_consts_92.ob_base.ob_base, & os_toplevel_consts_93.ob_base.ob_base, & os_toplevel_consts_94.ob_base.ob_base, - & os_toplevel_consts_95.ob_base.ob_base, + & os_toplevel_consts_95._object.ob_base.ob_base, & os_toplevel_consts_96.ob_base.ob_base, & os_toplevel_consts_97.ob_base.ob_base, - & os_toplevel_consts_98.ob_base.ob_base, - & os_toplevel_consts_99._object.ob_base.ob_base, - & os_toplevel_consts_100.ob_base.ob_base, - & os_toplevel_consts_101.ob_base.ob_base, - & os_toplevel_consts_102._object.ob_base.ob_base, - & os_toplevel_consts_103.ob_base.ob_base, + & os_toplevel_consts_98._object.ob_base.ob_base, + & os_toplevel_consts_99.ob_base.ob_base, & const_str__Environ._ascii.ob_base, + & os_toplevel_consts_101.ob_base.ob_base, + & os_toplevel_consts_102.ob_base.ob_base, + & os_toplevel_consts_103._object.ob_base.ob_base, + & os_toplevel_consts_104.ob_base.ob_base, & os_toplevel_consts_105.ob_base.ob_base, - & os_toplevel_consts_106.ob_base.ob_base, - & os_toplevel_consts_107._object.ob_base.ob_base, - & os_toplevel_consts_108.ob_base.ob_base, - & os_toplevel_consts_109.ob_base.ob_base, - & os_toplevel_consts_110._object.ob_base.ob_base, - & os_toplevel_consts_111.ob_base.ob_base, + & os_toplevel_consts_106._object.ob_base.ob_base, + & os_toplevel_consts_107.ob_base.ob_base, & const_str_fork._ascii.ob_base, & const_str_spawnv._ascii.ob_base, & const_str_execv._ascii.ob_base, - & os_toplevel_consts_115._object.ob_base.ob_base, + & os_toplevel_consts_111._object.ob_base.ob_base, + & os_toplevel_consts_112.ob_base.ob_base, + & os_toplevel_consts_113.ob_base.ob_base, + & os_toplevel_consts_114.ob_base.ob_base, + & os_toplevel_consts_115.ob_base.ob_base, & os_toplevel_consts_116.ob_base.ob_base, - & os_toplevel_consts_117.ob_base.ob_base, + & os_toplevel_consts_117._object.ob_base.ob_base, & os_toplevel_consts_118.ob_base.ob_base, & os_toplevel_consts_119.ob_base.ob_base, - & os_toplevel_consts_120.ob_base.ob_base, - & os_toplevel_consts_121._object.ob_base.ob_base, - & os_toplevel_consts_122.ob_base.ob_base, - & os_toplevel_consts_123.ob_base.ob_base, & const_str_spawnl._ascii.ob_base, & const_str_spawnle._ascii.ob_base, & const_str_spawnvp._ascii.ob_base, - & os_toplevel_consts_127.ob_base.ob_base, - & os_toplevel_consts_128.ob_base.ob_base, + & os_toplevel_consts_123.ob_base.ob_base, + & os_toplevel_consts_124.ob_base.ob_base, & const_str_spawnlp._ascii.ob_base, & const_str_spawnlpe._ascii.ob_base, & const_str_vxworks._ascii.ob_base, - & const_str_r._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], - & os_toplevel_consts_134.ob_base.ob_base, - & os_toplevel_consts_135.ob_base.ob_base, + & os_toplevel_consts_128.ob_base.ob_base, + & os_toplevel_consts_129.ob_base.ob_base, & const_str__wrap_close._ascii.ob_base, & const_str_popen._ascii.ob_base, - & os_toplevel_consts_138.ob_base.ob_base, - & os_toplevel_consts_139.ob_base.ob_base, + & os_toplevel_consts_132.ob_base.ob_base, + & os_toplevel_consts_133.ob_base.ob_base, & const_str_fspath._ascii.ob_base, - & os_toplevel_consts_141.ob_base.ob_base, + & os_toplevel_consts_135.ob_base.ob_base, & const_str_PathLike._ascii.ob_base, - & os_toplevel_consts_143.ob_base.ob_base, + & os_toplevel_consts_137.ob_base.ob_base, & const_str__AddedDllDirectory._ascii.ob_base, - & os_toplevel_consts_145.ob_base.ob_base, - & os_toplevel_consts_146._object.ob_base.ob_base, - & os_toplevel_consts_147._object.ob_base.ob_base, - & os_toplevel_consts_148._object.ob_base.ob_base, + & os_toplevel_consts_139.ob_base.ob_base, + & os_toplevel_consts_140._object.ob_base.ob_base, + & os_toplevel_consts_141._object.ob_base.ob_base, + & os_toplevel_consts_142._object.ob_base.ob_base, & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - & os_toplevel_consts_150._object.ob_base.ob_base, - & os_toplevel_consts_151._object.ob_base.ob_base, + & os_toplevel_consts_144._object.ob_base.ob_base, + & os_toplevel_consts_145._object.ob_base.ob_base, }, }, }; @@ -125276,7 +122122,7 @@ static const_str__collections_abc = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -125285,7 +122131,7 @@ const_str__collections_abc = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_collections_abc", @@ -125298,7 +122144,7 @@ static const_str__names = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -125307,7 +122153,7 @@ const_str__names = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_names", @@ -125320,7 +122166,7 @@ static const_str_posixpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -125329,7 +122175,7 @@ const_str_posixpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "posixpath", @@ -125342,7 +122188,7 @@ static const_str_ntpath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -125351,7 +122197,7 @@ const_str_ntpath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ntpath", @@ -125364,7 +122210,7 @@ static const_str_supports_dir_fd = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -125373,7 +122219,7 @@ const_str_supports_dir_fd = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "supports_dir_fd", @@ -125386,7 +122232,7 @@ static const_str_supports_effective_ids = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -125395,7 +122241,7 @@ const_str_supports_effective_ids = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "supports_effective_ids", @@ -125408,7 +122254,7 @@ static const_str_supports_fd = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -125417,7 +122263,7 @@ const_str_supports_fd = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "supports_fd", @@ -125430,7 +122276,7 @@ static const_str_supports_follow_symlinks = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -125439,7 +122285,7 @@ const_str_supports_follow_symlinks = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "supports_follow_symlinks", @@ -125449,17 +122295,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[106]; + PyObject *ob_item[105]; }_object; } os_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 106, + .ob_size = 105, }, .ob_item = { &_Py_ID(__doc__), @@ -125469,7 +122315,7 @@ os_toplevel_names = { & const_str_st._ascii.ob_base, & const_str__collections_abc._ascii.ob_base, & const_str__check_methods._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), & const_str_list._ascii.ob_base, & const_str_int._ascii.ob_base, & const_str_GenericAlias._ascii.ob_base, @@ -125480,7 +122326,7 @@ os_toplevel_names = { & const_str__get_exports_list._ascii.ob_base, &_Py_ID(name), & const_str_linesep._ascii.ob_base, - & const_str_posix._ascii.ob_base, + &_Py_ID(posix), & const_str__exit._ascii.ob_base, &_Py_ID(append), & const_str_ImportError._ascii.ob_base, @@ -125488,19 +122334,19 @@ os_toplevel_names = { &_Py_ID(path), & const_str__have_functions._ascii.ob_base, &_Py_ID(extend), - & const_str_nt._ascii.ob_base, + &_Py_ID(nt), & const_str_ntpath._ascii.ob_base, &_Py_ID(modules), & os_toplevel_consts_16._ascii.ob_base, & const_str_curdir._ascii.ob_base, & const_str_pardir._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_pathsep._ascii.ob_base, & const_str_defpath._ascii.ob_base, & const_str_extsep._ascii.ob_base, & const_str_altsep._ascii.ob_base, & const_str_devnull._ascii.ob_base, - & const_str_globals._ascii.ob_base, + &_Py_ID(globals), & const_str__globals._ascii.ob_base, & const_str__add._ascii.ob_base, & const_str_set._ascii.ob_base, @@ -125517,7 +122363,6 @@ os_toplevel_names = { & const_str_removedirs._ascii.ob_base, & const_str_renames._ascii.ob_base, & const_str_walk._ascii.ob_base, - & const_str__walk._ascii.ob_base, &_Py_ID(open), & const_str_scandir._ascii.ob_base, & const_str_fwalk._ascii.ob_base, @@ -125539,7 +122384,7 @@ os_toplevel_names = { & const_str_supports_bytes_environ._ascii.ob_base, & const_str__check_bytes._ascii.ob_base, & const_str__data._ascii.ob_base, - & const_str_bytes._ascii.ob_base, + &_Py_ID(bytes), & const_str_environb._ascii.ob_base, & const_str_getenvb._ascii.ob_base, & const_str__fscodec._ascii.ob_base, @@ -125575,18 +122420,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[3010]; + char ob_sval[1513]; } os_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 3009, + .ob_size = 1512, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x02\x15\x01\x04\xf0\x00\x15\x01\x04\xf0\x30\x00\x01\x0b\x80\x0a\x80\x0a\x80\x0a\xd8\x00\x0a\x80\x0a\x80\x0a\x80\x0a\xd8\x00\x11\xd0\x00\x11\xd0\x00\x11\xd0\x00\x11\xe0\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xe0\x0f\x13\x88\x74\x90\x44\x98\x13\x94\x49\x89\x7f\x8c\x7f\x80\x0c\xe0\x09\x0c\xd4\x09\x21\x80\x06\xf0\x06\x03\x0b\x15\xf0\x00\x03\x0b\x15\xf0\x00\x03\x0b\x15\x80\x07\xf0\x0a\x01\x01\x1d\xf0\x00\x01\x01\x1d\xf0\x00\x01\x01\x1d\xf0\x06\x04\x01\x37\xf0\x00\x04\x01\x37\xf0\x00\x04\x01\x37\xf0\x10\x00\x04\x0b\x88\x66\xd0\x03\x14\xd0\x03\x14\xd8\x0b\x12\x80\x44\xd8\x0e\x12\x80\x47\xd8\x04\x17\xd0\x04\x17\xd0\x04\x17\xd0\x04\x17\xf0\x02\x04\x05\x0d\xd8\x08\x1f\xd0\x08\x1f\xd0\x08\x1f\xd0\x08\x1f\xd0\x08\x1f\xd0\x08\x1f\xd8\x08\x0f\x8f\x0e\x8a\x0e\x90\x77\xd1\x08\x1f\xd4\x08\x1f\xd0\x08\x1f\xd0\x08\x1f\xf8\xd8\x0b\x16\xf0\x00\x01\x05\x0d\xf0\x00\x01\x05\x0d\xf0\x00\x01\x05\x0d\xd8\x08\x0c\x88\x04\xf0\x03\x01\x05\x0d\xf8\xf8\xf8\xe0\x04\x1c\xd0\x04\x1c\xd0\x04\x1c\xd0\x04\x1c\xf0\x04\x03\x05\x0d\xd8\x08\x29\xd0\x08\x29\xd0\x08\x29\xd0\x08\x29\xd0\x08\x29\xd0\x08\x29\xd0\x08\x29\xf8\xd8\x0b\x16\xf0\x00\x01\x05\x0d\xf0\x00\x01\x05\x0d\xf0\x00\x01\x05\x0d\xd8\x08\x0c\x88\x04\xf0\x03\x01\x05\x0d\xf8\xf8\xf8\xf0\x06\x00\x05\x11\x80\x4c\x80\x4c\x80\x4c\xd8\x04\x0b\x87\x4e\x82\x4e\xd0\x13\x24\xd0\x13\x24\xa0\x55\xd1\x13\x2b\xd4\x13\x2b\xd1\x04\x2c\xd4\x04\x2c\xd0\x04\x2c\xd8\x08\x0d\x88\x05\xe0\x05\x09\x88\x56\x80\x5e\x80\x5e\xd8\x0b\x0f\x80\x44\xd8\x0e\x14\x80\x47\xd8\x04\x14\xd0\x04\x14\xd0\x04\x14\xd0\x04\x14\xf0\x02\x04\x05\x0d\xd8\x08\x1c\xd0\x08\x1c\xd0\x08\x1c\xd0\x08\x1c\xd0\x08\x1c\xd0\x08\x1c\xd8\x08\x0f\x8f\x0e\x8a\x0e\x90\x77\xd1\x08\x1f\xd4\x08\x1f\xd0\x08\x1f\xd0\x08\x1f\xf8\xd8\x0b\x16\xf0\x00\x01\x05\x0d\xf0\x00\x01\x05\x0d\xf0\x00\x01\x05\x0d\xd8\x08\x0c\x88\x04\xf0\x03\x01\x05\x0d\xf8\xf8\xf8\xe0\x04\x19\xd0\x04\x19\xd0\x04\x19\xd0\x04\x19\xe0\x04\x0d\x80\x49\x80\x49\x80\x49\xd8\x04\x0b\x87\x4e\x82\x4e\xd0\x13\x24\xd0\x13\x24\xa0\x52\xd1\x13\x28\xd4\x13\x28\xd1\x04\x29\xd4\x04\x29\xd0\x04\x29\xd8\x08\x0a\xf0\x04\x03\x05\x0d\xd8\x08\x26\xd0\x08\x26\xd0\x08\x26\xd0\x08\x26\xd0\x08\x26\xd0\x08\x26\xd0\x08\x26\xf8\xd8\x0b\x16\xf0\x00\x01\x05\x0d\xf0\x00\x01\x05\x0d\xf0\x00\x01\x05\x0d\xd8\x08\x0c\x88\x04\xf0\x03\x01\x05\x0d\xf8\xf8\xf8\xf0\x08\x00\x0b\x16\x88\x2b\xd0\x16\x33\xd1\x0a\x34\xd4\x0a\x34\xd0\x04\x34\xe0\x19\x1d\x80\x03\x84\x0b\x88\x49\xd1\x00\x16\xf0\x02\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x00\x01\x01\x0d\xf0\x06\x00\x05\x0b\xf0\x06\x00\x04\x0b\x80\x37\xd0\x0b\x1c\xd1\x03\x1d\xd4\x03\x1d\xf1\x00\x55\x01\x01\x0d\xd8\x0f\x16\x88\x77\x89\x79\x8c\x79\x80\x48\xf0\x02\x02\x05\x23\xf0\x00\x02\x05\x23\xf0\x00\x02\x05\x23\xf0\x08\x00\x0c\x0f\x88\x33\x89\x35\x8c\x35\x80\x44\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x48\xd1\x04\x25\xd4\x04\x25\xd0\x04\x25\xd8\x04\x08\x80\x44\x88\x1f\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1f\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1e\x98\x46\xd1\x04\x23\xd4\x04\x23\xd0\x04\x23\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1d\x98\x46\xd1\x04\x23\xd4\x04\x23\xd0\x04\x23\xd8\x04\x08\x80\x44\x88\x1e\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1f\x98\x48\xd1\x04\x25\xd4\x04\x25\xd0\x04\x25\xd8\x04\x08\x80\x44\x88\x1e\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1d\x98\x46\xd1\x04\x23\xd4\x04\x23\xd0\x04\x23\xd8\x04\x08\x80\x44\xd0\x09\x1a\x98\x4a\xd1\x04\x27\xd4\x04\x27\xd0\x04\x27\xd8\x04\x08\x80\x44\x88\x1f\x98\x48\xd1\x04\x25\xd4\x04\x25\xd0\x04\x25\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x49\xd1\x04\x26\xd4\x04\x26\xd0\x04\x26\xd8\x04\x08\x80\x44\x88\x1f\x98\x48\xd1\x04\x25\xd4\x04\x25\xd0\x04\x25\xd8\x04\x08\x80\x44\x88\x1f\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x16\x1a\x80\x4f\xe0\x0b\x0e\x88\x33\x89\x35\x8c\x35\x80\x44\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x48\xd1\x04\x25\xd4\x04\x25\xd0\x04\x25\xd8\x1d\x21\xd0\x04\x1a\xe0\x0b\x0e\x88\x33\x89\x35\x8c\x35\x80\x44\xd8\x04\x08\x80\x44\x88\x1d\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1d\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1d\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x49\xd1\x04\x26\xd4\x04\x26\xd0\x04\x26\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x49\xd1\x04\x26\xd4\x04\x26\xd0\x04\x26\xd8\x04\x08\x80\x44\x88\x1e\x98\x48\xd1\x04\x25\xd4\x04\x25\xd0\x04\x25\xd8\x04\x08\x87\x48\x82\x48\x88\x54\x81\x4e\x84\x4e\x80\x4e\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x4a\xd1\x04\x27\xd4\x04\x27\xd0\x04\x27\xd8\x04\x08\x80\x44\x88\x1f\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1e\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x4a\xd1\x04\x27\xd4\x04\x27\xd0\x04\x27\xd8\x07\x0e\x80\x77\x88\x79\xd1\x07\x19\xd4\x07\x19\xf0\x00\x01\x05\x29\x98\x67\x98\x67\xa0\x6a\xd1\x1e\x31\xd4\x1e\x31\xf0\x00\x01\x05\x29\xd8\x08\x0c\x88\x04\x88\x5f\x98\x69\xd1\x08\x28\xd4\x08\x28\xd0\x08\x28\xd8\x12\x16\x80\x4b\xe0\x0b\x0e\x88\x33\x89\x35\x8c\x35\x80\x44\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x48\xd1\x04\x25\xd4\x04\x25\xd0\x04\x25\xf0\x2c\x00\x05\x09\x80\x44\x88\x1f\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1e\x98\x46\xd1\x04\x23\xd4\x04\x23\xd0\x04\x23\xd8\x04\x08\x80\x44\x88\x1f\x98\x49\xd1\x04\x26\xd4\x04\x26\xd0\x04\x26\xd8\x04\x08\x80\x44\x88\x1d\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x07\x0e\x80\x77\x88\x78\xd1\x07\x18\xd4\x07\x18\xf0\x00\x01\x05\x25\xd8\x08\x0c\x88\x04\x88\x5d\x98\x47\xd1\x08\x24\xd4\x08\x24\xd0\x08\x24\xd8\x04\x08\x80\x44\x88\x1d\x98\x46\xd1\x04\x23\xd4\x04\x23\xd0\x04\x23\xd8\x04\x08\x80\x44\x88\x1e\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1c\x98\x46\xd1\x04\x23\xd4\x04\x23\xd0\x04\x23\xd8\x04\x08\x80\x44\x88\x1e\x98\x46\xd1\x04\x23\xd4\x04\x23\xd0\x04\x23\xd8\x04\x08\x80\x44\xd0\x09\x19\x98\x47\xd1\x04\x24\xd4\x04\x24\xd0\x04\x24\xd8\x04\x08\x80\x44\x88\x1c\x98\x46\xd1\x04\x23\xd4\x04\x23\xd0\x04\x23\xd8\x1f\x23\xd0\x04\x1c\xe0\x08\x0c\xd8\x08\x17\xd8\x08\x10\xd8\x08\x0c\xf0\x0c\x00\x0c\x0d\x80\x08\xd8\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x08\xf0\x0a\x1e\x01\x12\xf0\x00\x1e\x01\x12\xf0\x00\x1e\x01\x12\xf0\x00\x1e\x01\x12\xf0\x40\x01\x14\x01\x26\xf0\x00\x14\x01\x26\xf0\x00\x14\x01\x26\xf0\x2c\x18\x01\x11\xf0\x00\x18\x01\x11\xf0\x00\x18\x01\x11\xf0\x34\x00\x01\x08\x87\x0e\x82\x0e\xd0\x0f\x34\xd0\x0f\x34\xd0\x0f\x34\xd1\x00\x35\xd4\x00\x35\xd0\x00\x35\xf0\x04\x3d\x01\x3d\xf0\x00\x3d\x01\x3d\xf0\x00\x3d\x01\x3d\xf0\x00\x3d\x01\x3d\xf0\x7e\x01\x50\x01\x01\x21\xf0\x00\x50\x01\x01\x21\xf0\x00\x50\x01\x01\x21\xf0\x64\x02\x00\x01\x08\x87\x0e\x82\x0e\x88\x76\xd1\x00\x16\xd4\x00\x16\xd0\x00\x16\xe0\x04\x08\x88\x24\x80\x3c\x90\x3f\xd2\x03\x22\xd0\x03\x22\xa8\x07\xb0\x14\xa0\x7f\xb8\x2b\xd2\x27\x45\xd0\x27\x45\xf0\x04\x2e\x05\x19\xc0\x65\xd0\x54\x58\xf0\x00\x2e\x05\x19\xf0\x00\x2e\x05\x19\xf0\x00\x2e\x05\x19\xf0\x00\x2e\x05\x19\xf0\x00\x2e\x05\x19\xf0\x60\x01\x36\x05\x30\xf0\x00\x36\x05\x30\xf0\x00\x36\x05\x30\xf0\x70\x01\x00\x05\x0c\x87\x4e\x82\x4e\x90\x37\xd1\x04\x1b\xd4\x04\x1b\xd0\x04\x1b\xf0\x04\x05\x01\x16\xf0\x00\x05\x01\x16\xf0\x00\x05\x01\x16\xf0\x0e\x06\x01\x21\xf0\x00\x06\x01\x21\xf0\x00\x06\x01\x21\xf0\x10\x05\x01\x17\xf0\x00\x05\x01\x17\xf0\x00\x05\x01\x17\xf0\x0e\x07\x01\x22\xf0\x00\x07\x01\x22\xf0\x00\x07\x01\x22\xf0\x12\x06\x01\x19\xf0\x00\x06\x01\x19\xf0\x00\x06\x01\x19\xf0\x10\x07\x01\x1e\xf0\x00\x07\x01\x1e\xf0\x00\x07\x01\x1e\xf0\x12\x00\x01\x08\x87\x0e\x82\x0e\xd0\x0f\x47\xd0\x0f\x47\xd0\x0f\x47\xd1\x00\x48\xd4\x00\x48\xd0\x00\x48\xf0\x04\x1d\x01\x13\xf0\x00\x1d\x01\x13\xf0\x00\x1d\x01\x13\xf0\x00\x1d\x01\x13\xf0\x40\x01\x29\x01\x24\xf0\x00\x29\x01\x24\xf0\x00\x29\x01\x24\xf0\x00\x29\x01\x24\xf0\x5a\x01\x00\x01\x35\xd0\x00\x34\xd0\x00\x34\xd0\x00\x34\xd0\x00\x34\xd0\x00\x34\xd0\x00\x34\xd0\x00\x34\xf0\x04\x47\x01\x01\x13\xf0\x00\x47\x01\x01\x13\xf0\x00\x47\x01\x01\x13\xf0\x00\x47\x01\x01\x13\xf0\x00\x47\x01\x01\x13\x88\x7e\xf1\x00\x47\x01\x01\x13\xf4\x00\x47\x01\x01\x13\xf0\x00\x47\x01\x01\x13\xf0\x52\x02\x1b\x01\x18\xf0\x00\x1b\x01\x18\xf0\x00\x1b\x01\x18\xf0\x3c\x00\x0b\x19\x88\x2e\xd1\x0a\x1a\xd4\x0a\x1a\x80\x07\xd8\x04\x12\xf0\x06\x04\x01\x25\xf0\x00\x04\x01\x25\xf0\x00\x04\x01\x25\xf0\x00\x04\x01\x25\xf0\x0c\x00\x1b\x1f\xa0\x24\x9a\x2c\xd0\x00\x16\xd8\x00\x07\x87\x0e\x82\x0e\xd0\x0f\x33\xd1\x00\x34\xd4\x00\x34\xd0\x00\x34\xe0\x03\x19\xf0\x00\x12\x01\x2c\xf0\x02\x03\x05\x15\xf0\x00\x03\x05\x15\xf0\x00\x03\x05\x15\xf0\x0c\x00\x10\x18\x88\x78\x98\x07\x9c\x0d\xd8\x08\x14\x90\x65\xd8\x08\x14\x90\x65\xf1\x05\x02\x10\x1d\xf4\x00\x02\x10\x1d\x80\x48\xf0\x06\x00\x09\x15\xf0\x04\x04\x05\x2a\xf0\x00\x04\x05\x2a\xf0\x00\x04\x05\x2a\xf0\x00\x04\x05\x2a\xf0\x0c\x00\x05\x0c\x87\x4e\x82\x4e\xd0\x13\x2a\xd1\x04\x2b\xd4\x04\x2b\xd0\x04\x2b\xf0\x04\x1c\x01\x1e\xf0\x00\x1c\x01\x1e\xf0\x00\x1c\x01\x1e\xf0\x3c\x00\x16\x1e\x90\x58\x91\x5a\x94\x5a\xd1\x00\x12\x80\x08\x88\x28\xd8\x04\x0c\xf0\x06\x00\x04\x0b\x80\x37\x88\x36\x81\x3f\x84\x3f\xf0\x00\x50\x01\x01\x41\x01\x98\x37\x98\x37\xa0\x38\xd1\x1b\x2c\xd4\x1b\x2c\xf0\x00\x50\x01\x01\x41\x01\xb0\x17\xb0\x17\xb8\x17\xd1\x31\x41\xd4\x31\x41\xf0\x00\x50\x01\x01\x41\x01\xe0\x0d\x0e\x80\x46\xd8\x1b\x1c\xd0\x04\x1c\x80\x48\x88\x79\xe0\x04\x0b\x87\x4e\x82\x4e\xd0\x13\x36\xd0\x13\x36\xd0\x13\x36\xd1\x04\x37\xd4\x04\x37\xd0\x04\x37\xf0\x0c\x19\x05\x33\xf0\x00\x19\x05\x33\xf0\x00\x19\x05\x33\xf0\x36\x07\x05\x38\xf0\x00\x07\x05\x38\xf0\x00\x07\x05\x38\xf0\x12\x08\x05\x38\xf0\x00\x08\x05\x38\xf0\x00\x08\x05\x38\xf0\x18\x08\x05\x39\xf0\x00\x08\x05\x39\xf0\x00\x08\x05\x39\xf0\x14\x08\x05\x39\xf0\x00\x08\x05\x39\xf0\x00\x08\x05\x39\xf0\x16\x00\x05\x0c\x87\x4e\x82\x4e\xd0\x13\x3f\xd0\x13\x3f\xd0\x13\x3f\xd1\x04\x40\xd4\x04\x40\xd0\x04\x40\xf0\x06\x00\x04\x0b\x80\x37\x88\x38\xd1\x03\x14\xd4\x03\x14\xf0\x00\x19\x01\x2a\xf0\x08\x07\x05\x28\xf0\x00\x07\x05\x28\xf0\x00\x07\x05\x28\xf0\x12\x09\x05\x33\xf0\x00\x09\x05\x33\xf0\x00\x09\x05\x33\xf0\x18\x00\x05\x0c\x87\x4e\x82\x4e\x90\x48\x98\x69\xd0\x13\x28\xd1\x04\x29\xd4\x04\x29\xd0\x04\x29\xf0\x06\x00\x04\x0b\x80\x37\x88\x39\xd1\x03\x15\xd4\x03\x15\xf0\x00\x19\x01\x2c\xf0\x06\x08\x05\x29\xf0\x00\x08\x05\x29\xf0\x00\x08\x05\x29\xf0\x14\x09\x05\x34\xf0\x00\x09\x05\x34\xf0\x00\x09\x05\x34\xf0\x18\x00\x05\x0c\x87\x4e\x82\x4e\x90\x49\x98\x7a\xd0\x13\x2a\xd1\x04\x2b\xd4\x04\x2b\xd0\x04\x2b\xf0\x08\x00\x04\x07\x84\x3c\x90\x39\xd2\x03\x1c\xd0\x03\x1c\xf0\x04\x13\x05\x31\xf0\x00\x13\x05\x31\xf0\x00\x13\x05\x31\xf0\x00\x13\x05\x31\xf0\x2c\x14\x05\x26\xf0\x00\x14\x05\x26\xf0\x00\x14\x05\x26\xf0\x00\x14\x05\x26\xf0\x00\x14\x05\x26\xf1\x00\x14\x05\x26\xf4\x00\x14\x05\x26\xf0\x00\x14\x05\x26\xf0\x2c\x00\x05\x0c\x87\x4e\x82\x4e\x90\x37\xd1\x04\x1b\xd4\x04\x1b\xd0\x04\x1b\xf0\x06\x06\x01\x43\x01\xf0\x00\x06\x01\x43\x01\xf0\x00\x06\x01\x43\x01\xf0\x00\x06\x01\x43\x01\xf0\x16\x1b\x01\x43\x01\xf0\x00\x1b\x01\x43\x01\xf0\x00\x1b\x01\x43\x01\xf0\x3e\x00\x08\x0f\x80\x77\x88\x78\xd1\x07\x18\xd4\x07\x18\xf0\x00\x02\x01\x1f\xd8\x0d\x14\x80\x46\xd8\x16\x1e\x80\x46\x84\x4f\xf0\x06\x0f\x01\x32\xf0\x00\x0f\x01\x32\xf0\x00\x0f\x01\x32\xf0\x00\x0f\x01\x32\xf0\x00\x0f\x01\x32\x88\x73\x8c\x77\xf1\x00\x0f\x01\x32\xf4\x00\x0f\x01\x32\xf0\x00\x0f\x01\x32\xf0\x24\x00\x04\x08\x88\x34\x82\x3c\x80\x3c\xf0\x02\x0f\x05\x2b\xf0\x00\x0f\x05\x2b\xf0\x00\x0f\x05\x2b\xf0\x00\x0f\x05\x2b\xf0\x00\x0f\x05\x2b\xf1\x00\x0f\x05\x2b\xf4\x00\x0f\x05\x2b\xf0\x00\x0f\x05\x2b\xf0\x22\x10\x05\x0a\xf0\x00\x10\x05\x0a\xf0\x00\x10\x05\x0a\xf0\x00\x10\x05\x0a\xf0\x00\x10\x05\x0a\xf0\x25\x00\x04\x10\x80\x3c", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x02\x15\x01\x04\xf3\x30\x00\x01\x0b\xdb\x00\x0a\xdb\x00\x11\xe5\x00\x2b\xe1\x0f\x13\x90\x44\x98\x13\x91\x49\x8b\x7f\x80\x0c\xe0\x09\x0c\xd7\x09\x21\xd1\x09\x21\x80\x06\xf2\x06\x03\x0b\x15\x80\x07\xf2\x0a\x01\x01\x1d\xf2\x06\x04\x01\x37\xf0\x10\x00\x04\x0b\x88\x66\xd1\x03\x14\xd8\x0b\x12\x80\x44\xd8\x0e\x12\x80\x47\xdc\x04\x17\xf0\x02\x04\x05\x0d\xdd\x08\x1f\xd8\x08\x0f\x8f\x0e\x89\x0e\x90\x77\xd4\x08\x1f\xf3\x06\x00\x05\x1d\xf0\x04\x03\x05\x0d\xdd\x08\x29\xf3\x08\x00\x05\x11\xd8\x04\x0b\x87\x4e\x81\x4e\xd1\x13\x24\xa0\x55\xd3\x13\x2b\xd4\x04\x2c\xd9\x08\x0d\xe0\x05\x09\x88\x56\x81\x5e\xd8\x0b\x0f\x80\x44\xd8\x0e\x14\x80\x47\xdc\x04\x14\xf0\x02\x04\x05\x0d\xdd\x08\x1c\xd8\x08\x0f\x8f\x0e\x89\x0e\x90\x77\xd4\x08\x1f\xf3\x06\x00\x05\x1a\xe3\x04\x0d\xd8\x04\x0b\x87\x4e\x81\x4e\xd1\x13\x24\xa0\x52\xd3\x13\x28\xd4\x04\x29\xd8\x08\x0a\xf0\x04\x03\x05\x0d\xde\x08\x26\xf1\x0a\x00\x0b\x16\xd0\x16\x33\xd3\x0a\x34\xd0\x04\x34\xe0\x19\x1d\x80\x03\x87\x0b\x81\x0b\x88\x49\xd1\x00\x16\xf7\x02\x01\x01\x0d\xf7\x00\x01\x01\x0d\xf3\x00\x01\x01\x0d\xf0\x06\x00\x05\x0b\xf1\x06\x00\x04\x0b\xd0\x0b\x1c\xd5\x03\x1d\xd9\x0f\x16\x8b\x79\x80\x48\xf2\x02\x02\x05\x23\xf1\x08\x00\x0c\x0f\x8b\x35\x80\x44\xd9\x04\x08\xd0\x09\x19\x98\x48\xd4\x04\x25\xd9\x04\x08\x88\x1f\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1f\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1e\x98\x46\xd4\x04\x23\xd9\x04\x08\xd0\x09\x19\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1d\x98\x46\xd4\x04\x23\xd9\x04\x08\x88\x1e\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1f\x98\x48\xd4\x04\x25\xd9\x04\x08\x88\x1e\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1d\x98\x46\xd4\x04\x23\xd9\x04\x08\xd0\x09\x1a\x98\x4a\xd4\x04\x27\xd9\x04\x08\x88\x1f\x98\x48\xd4\x04\x25\xd9\x04\x08\xd0\x09\x19\x98\x49\xd4\x04\x26\xd9\x04\x08\x88\x1f\x98\x48\xd4\x04\x25\xd9\x04\x08\x88\x1f\x98\x47\xd4\x04\x24\xd9\x04\x08\xd0\x09\x19\x98\x47\xd4\x04\x24\xd8\x16\x1a\x80\x4f\xe1\x0b\x0e\x8b\x35\x80\x44\xd9\x04\x08\xd0\x09\x19\x98\x48\xd4\x04\x25\xd8\x1d\x21\xd0\x04\x1a\xe1\x0b\x0e\x8b\x35\x80\x44\xd9\x04\x08\x88\x1d\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1d\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1d\x98\x47\xd4\x04\x24\xd9\x04\x08\xd0\x09\x19\x98\x49\xd4\x04\x26\xd9\x04\x08\xd0\x09\x19\x98\x49\xd4\x04\x26\xd9\x04\x08\x88\x1e\x98\x48\xd4\x04\x25\xd8\x04\x08\x87\x48\x81\x48\x88\x54\x84\x4e\xd9\x04\x08\xd0\x09\x19\x98\x4a\xd4\x04\x27\xd9\x04\x08\x88\x1f\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1e\x98\x47\xd4\x04\x24\xd9\x04\x08\xd0\x09\x19\x98\x4a\xd4\x04\x27\xd9\x07\x0e\x88\x79\xd4\x07\x19\x99\x67\xa0\x6a\xd4\x1e\x31\xd9\x08\x0c\x88\x5f\x98\x69\xd4\x08\x28\xd8\x12\x16\x80\x4b\xe1\x0b\x0e\x8b\x35\x80\x44\xd9\x04\x08\xd0\x09\x19\x98\x48\xd4\x04\x25\xf1\x2c\x00\x05\x09\x88\x1f\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1e\x98\x46\xd4\x04\x23\xd9\x04\x08\x88\x1f\x98\x49\xd4\x04\x26\xd9\x04\x08\x88\x1d\x98\x47\xd4\x04\x24\xd9\x07\x0e\x88\x78\xd4\x07\x18\xd9\x08\x0c\x88\x5d\x98\x47\xd4\x08\x24\xd9\x04\x08\x88\x1d\x98\x46\xd4\x04\x23\xd9\x04\x08\x88\x1e\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1c\x98\x46\xd4\x04\x23\xd9\x04\x08\x88\x1e\x98\x46\xd4\x04\x23\xd9\x04\x08\xd0\x09\x19\x98\x47\xd4\x04\x24\xd9\x04\x08\x88\x1c\x98\x46\xd4\x04\x23\xd8\x1f\x23\xd0\x04\x1c\xe0\x08\x0c\xd8\x08\x17\xd8\x08\x10\xd8\x08\x0c\xf0\x0c\x00\x0c\x0d\x80\x08\xd8\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x08\xf3\x0a\x1e\x01\x12\xf2\x40\x01\x14\x01\x26\xf2\x2c\x18\x01\x11\xf0\x34\x00\x01\x08\x87\x0e\x81\x0e\xd2\x0f\x34\xd4\x00\x35\xf3\x04\x55\x02\x01\x27\xf0\x6e\x04\x00\x01\x08\x87\x0e\x81\x0e\x88\x76\xd4\x00\x16\xe0\x04\x08\x88\x24\x80\x3c\x90\x3f\xd2\x03\x22\xa8\x07\xb0\x14\xa0\x7f\xb8\x2b\xd2\x27\x45\xf0\x04\x2e\x05\x19\xc0\x65\xd0\x54\x58\xf4\x00\x2e\x05\x19\xf2\x60\x01\x36\x05\x30\xf0\x70\x01\x00\x05\x0c\x87\x4e\x81\x4e\x90\x37\xd4\x04\x1b\xf2\x04\x05\x01\x16\xf2\x0e\x06\x01\x21\xf2\x10\x05\x01\x17\xf2\x0e\x07\x01\x22\xf2\x12\x06\x01\x19\xf2\x10\x07\x01\x1e\xf0\x12\x00\x01\x08\x87\x0e\x81\x0e\xd2\x0f\x47\xd4\x00\x48\xf3\x04\x1d\x01\x13\xf3\x40\x01\x29\x01\x24\xf7\x5a\x01\x00\x01\x35\xf4\x04\x47\x01\x01\x13\x88\x7e\xf4\x00\x47\x01\x01\x13\xf2\x52\x02\x1b\x01\x18\xf1\x3c\x00\x0b\x19\xd3\x0a\x1a\x80\x07\xd8\x04\x12\xf3\x06\x04\x01\x25\xf0\x0c\x00\x1b\x1f\xa0\x24\x99\x2c\xd0\x00\x16\xd8\x00\x07\x87\x0e\x81\x0e\xd0\x0f\x33\xd4\x00\x34\xe1\x03\x19\xf2\x02\x03\x05\x15\xf1\x0c\x00\x10\x18\x98\x07\x9f\x0d\x99\x0d\xd8\x08\x14\x90\x65\xd8\x08\x14\x90\x65\xf3\x05\x02\x10\x1d\x80\x48\xf0\x06\x00\x09\x15\xf3\x04\x04\x05\x2a\xf0\x0c\x00\x05\x0c\x87\x4e\x81\x4e\xd0\x13\x2a\xd4\x04\x2b\xf2\x04\x1c\x01\x1e\xf1\x3c\x00\x16\x1e\x93\x5a\xd1\x00\x12\x80\x08\x88\x28\xd8\x04\x0c\xf1\x06\x00\x04\x0b\x88\x36\x84\x3f\x99\x37\xa0\x38\xd4\x1b\x2c\xb1\x17\xb8\x17\xd4\x31\x41\xe0\x0d\x0e\x80\x46\xd8\x1b\x1c\xd0\x04\x1c\x80\x48\x88\x79\xe0\x04\x0b\x87\x4e\x81\x4e\xd2\x13\x36\xd4\x04\x37\xf2\x0c\x19\x05\x33\xf2\x36\x07\x05\x38\xf2\x12\x08\x05\x38\xf2\x18\x08\x05\x39\xf2\x14\x08\x05\x39\xf0\x16\x00\x05\x0c\x87\x4e\x81\x4e\xd2\x13\x3f\xd4\x04\x40\xf1\x06\x00\x04\x0b\x88\x38\xd4\x03\x14\xf2\x08\x07\x05\x28\xf2\x12\x09\x05\x33\xf0\x18\x00\x05\x0c\x87\x4e\x81\x4e\x90\x48\x98\x69\xd0\x13\x28\xd4\x04\x29\xf1\x06\x00\x04\x0b\x88\x39\xd4\x03\x15\xf2\x06\x08\x05\x29\xf2\x14\x09\x05\x34\xf0\x18\x00\x05\x0c\x87\x4e\x81\x4e\x90\x49\x98\x7a\xd0\x13\x2a\xd4\x04\x2b\xf0\x08\x00\x04\x07\x87\x3c\x81\x3c\x90\x39\xd2\x03\x1c\xf3\x04\x13\x05\x31\xf7\x2c\x14\x05\x26\xf1\x00\x14\x05\x26\xf0\x2c\x00\x05\x0c\x87\x4e\x81\x4e\x90\x37\xd4\x04\x1b\xf3\x06\x06\x01\x43\x01\xf2\x16\x1b\x01\x43\x01\xf1\x3e\x00\x08\x0f\x88\x78\xd4\x07\x18\xd8\x0d\x14\x80\x46\xd8\x16\x1e\x80\x46\x84\x4f\xf4\x06\x0f\x01\x32\x88\x73\x8f\x77\x89\x77\xf4\x00\x0f\x01\x32\xf0\x24\x00\x04\x08\x88\x34\x82\x3c\xf7\x02\x0f\x05\x2b\xf1\x00\x0f\x05\x2b\xf3\x22\x10\x05\x0a\xf0\x25\x00\x04\x10\xf8\xf0\x5b\x20\x00\x0c\x17\xf2\x00\x01\x05\x0d\xda\x08\x0c\xf0\x03\x01\x05\x0d\xfb\xf0\x0c\x00\x0c\x17\xf2\x00\x01\x05\x0d\xda\x08\x0c\xf0\x03\x01\x05\x0d\xfb\xf0\x1c\x00\x0c\x17\xf2\x00\x01\x05\x0d\xda\x08\x0c\xf0\x03\x01\x05\x0d\xfb\xf0\x14\x00\x0c\x17\xf2\x00\x01\x05\x0d\xda\x08\x0c\xf0\x03\x01\x05\x0d\xfa", }; static struct { @@ -125597,58 +122442,53 @@ static os_toplevel_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 72, }, .ob_shash = -1, - .ob_sval = "\xc1\x04\x1b\x41\x20\x00\xc1\x20\x05\x41\x28\x03\xc1\x27\x01\x41\x28\x03\xc1\x30\x06\x41\x37\x00\xc1\x37\x05\x41\x3f\x03\xc1\x3e\x01\x41\x3f\x03\xc2\x33\x1b\x43\x0f\x00\xc3\x0f\x05\x43\x17\x03\xc3\x16\x01\x43\x17\x03\xc4\x02\x06\x44\x09\x00\xc4\x09\x05\x44\x11\x03\xc4\x10\x01\x44\x11\x03", + .ob_sval = "\xc1\x04\x17\x53\x12\x00\xc1\x20\x06\x53\x1e\x00\xc2\x11\x17\x53\x2a\x00\xc3\x09\x06\x53\x36\x00\xd3\x12\x05\x53\x1b\x03\xd3\x1a\x01\x53\x1b\x03\xd3\x1e\x05\x53\x27\x03\xd3\x26\x01\x53\x27\x03\xd3\x2a\x05\x53\x33\x03\xd3\x32\x01\x53\x33\x03\xd3\x36\x05\x53\x3f\x03\xd3\x3e\x01\x53\x3f\x03", }; static - struct _PyCode_DEF(3058) + struct _PyCode_DEF(2564) os_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 1529, + .ob_size = 1282, }, .co_consts = & os_toplevel_consts._object.ob_base.ob_base, .co_names = & os_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = & os_toplevel_exceptiontable.ob_base.ob_base, .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 7 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 672, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & os_toplevel_consts_5_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & os_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x64\x01\x64\x02\x6c\x02\x5a\x02\x64\x01\x64\x02\x6c\x03\x5a\x04\x64\x01\x64\x03\x6c\x05\x6d\x06\x5a\x06\x01\x00\x02\x00\x65\x07\x65\x08\x65\x09\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0a\x65\x02\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0c\x67\x00\x64\x04\xa2\x01\x5a\x0d\x64\x05\x84\x00\x5a\x0e\x64\x06\x84\x00\x5a\x0f\x64\x07\x65\x0c\x76\x00\x72\x6b\x64\x07\x5a\x10\x64\x08\x5a\x11\x64\x01\x64\x09\x6c\x12\x54\x00\x09\x00\x64\x01\x64\x0a\x6c\x12\x6d\x13\x5a\x13\x01\x00\x65\x0d\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x65\x15\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x01\x64\x02\x6c\x16\x5a\x17\x09\x00\x64\x01\x64\x0c\x6c\x12\x6d\x18\x5a\x18\x01\x00\x6e\x0b\x23\x00\x65\x15\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x01\x64\x02\x6c\x12\x5a\x12\x65\x0d\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x65\x0f\x65\x12\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x5b\x12\x6e\x79\x64\x0d\x65\x0c\x76\x00\x72\x6a\x64\x0d\x5a\x10\x64\x0e\x5a\x11\x64\x01\x64\x09\x6c\x1a\x54\x00\x09\x00\x64\x01\x64\x0a\x6c\x1a\x6d\x13\x5a\x13\x01\x00\x65\x0d\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x65\x15\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x01\x64\x02\x6c\x1b\x5a\x17\x64\x01\x64\x02\x6c\x1a\x5a\x1a\x65\x0d\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x65\x0f\x65\x1a\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x5b\x1a\x09\x00\x64\x01\x64\x0c\x6c\x1a\x6d\x18\x5a\x18\x01\x00\x6e\x16\x23\x00\x65\x15\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x0f\x77\x00\x78\x03\x59\x00\x77\x01\x02\x00\x65\x15\x64\x0f\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x65\x17\x65\x02\x6a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\x3c\x00\x00\x00\x64\x01\x64\x11\x6c\x1d\x6d\x1e\x5a\x1e\x6d\x1f\x5a\x1f\x6d\x20\x5a\x20\x6d\x21\x5a\x21\x6d\x22\x5a\x22\x6d\x23\x5a\x23\x6d\x24\x5a\x24\x6d\x25\x5a\x25\x01\x00\x5b\x0c\x02\x00\x65\x0e\x64\x12\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x02\x72\x57\x02\x00\x65\x26\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x27\x64\x13\x84\x00\x5a\x28\x02\x00\x65\x29\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x2a\x02\x00\x65\x28\x64\x14\x64\x15\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x16\x64\x17\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x18\x64\x19\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1a\x64\x1b\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1c\x64\x1d\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1e\x64\x1f\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x20\x64\x21\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x22\x64\x23\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x24\x64\x25\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x26\x64\x27\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x28\x64\x29\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x2a\x64\x2b\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x2c\x64\x2d\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x2e\x64\x2f\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x2e\x64\x30\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x31\x64\x1d\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x2a\x5a\x2b\x02\x00\x65\x29\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x2a\x02\x00\x65\x28\x64\x14\x64\x15\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x2a\x5a\x2c\x02\x00\x65\x29\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x2a\x02\x00\x65\x28\x64\x32\x64\x33\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x34\x64\x17\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x35\x64\x19\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x36\x64\x37\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x36\x64\x38\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x39\x64\x3a\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x2a\xa0\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x3b\x64\x3c\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x3d\x64\x1d\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x3e\x64\x1d\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x3f\x64\x40\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x0e\x64\x41\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x17\x02\x00\x65\x0e\x64\x42\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0c\x02\x00\x65\x28\x64\x43\x64\x41\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x2a\x5a\x2e\x02\x00\x65\x29\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x2a\x02\x00\x65\x28\x64\x14\x64\x15\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x18\x64\x19\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1a\x64\x1b\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x44\x64\x45\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x46\x64\x17\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x0e\x64\x47\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0c\x02\x00\x65\x28\x64\x48\x64\x19\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1e\x64\x1f\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x49\x64\x1d\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x4a\x64\x1b\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1a\x64\x1b\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x31\x64\x1d\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x4b\x64\x1b\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x2a\x5a\x2f\x5b\x2a\x5b\x18\x5b\x27\x5b\x28\x64\x01\x5a\x30\x64\x4c\x5a\x31\x64\x4d\x5a\x32\x64\x92\x64\x50\x84\x01\x5a\x33\x64\x51\x84\x00\x5a\x34\x64\x52\x84\x00\x5a\x35\x65\x0d\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x64\x53\xa2\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x93\x64\x55\x84\x01\x5a\x36\x64\x56\x84\x00\x5a\x37\x65\x0d\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x57\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x38\x65\x03\x68\x02\x65\x2b\x6b\x01\x00\x00\x00\x00\x72\x28\x65\x39\x65\x03\x68\x02\x65\x2e\x6b\x01\x00\x00\x00\x00\x72\x20\x64\x94\x64\x4f\x64\x02\x64\x59\x9c\x02\x64\x5a\x84\x03\x5a\x3a\x64\x5b\x84\x00\x5a\x3b\x65\x0d\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x5c\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x5d\x84\x00\x5a\x3c\x64\x5e\x84\x00\x5a\x3d\x64\x5f\x84\x00\x5a\x3e\x64\x60\x84\x00\x5a\x3f\x64\x61\x84\x00\x5a\x40\x64\x62\x84\x00\x5a\x41\x65\x0d\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x64\x63\xa2\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x95\x64\x64\x84\x01\x5a\x42\x64\x95\x64\x65\x84\x01\x5a\x43\x64\x01\x64\x66\x6c\x05\x6d\x44\x5a\x44\x6d\x45\x5a\x45\x01\x00\x02\x00\x47\x00\x64\x67\x84\x00\x64\x68\x65\x44\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x46\x64\x69\x84\x00\x5a\x47\x02\x00\x65\x47\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x48\x5b\x47\x64\x95\x64\x6a\x84\x01\x5a\x49\x65\x10\x64\x0d\x6b\x03\x00\x00\x00\x00\x5a\x4a\x65\x0d\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x6b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x4a\x72\x31\x64\x6c\x84\x00\x5a\x4b\x02\x00\x65\x46\x65\x48\x6a\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x65\x4b\x65\x4d\x65\x4b\x65\x4d\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x4e\x5b\x4b\x64\x95\x64\x6d\x84\x01\x5a\x4f\x65\x0d\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x6e\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x6f\x84\x00\x5a\x50\x02\x00\x65\x50\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x5a\x51\x5a\x52\x5b\x50\x02\x00\x65\x0e\x64\x70\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x59\x02\x00\x65\x0e\x64\x71\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x4e\x02\x00\x65\x0e\x64\x72\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x43\x64\x01\x5a\x53\x64\x4c\x78\x01\x5a\x54\x5a\x55\x65\x0d\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x64\x73\xa2\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x74\x84\x00\x5a\x56\x64\x75\x84\x00\x5a\x57\x64\x76\x84\x00\x5a\x58\x64\x77\x84\x00\x5a\x59\x64\x78\x84\x00\x5a\x5a\x65\x0d\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x64\x79\xa2\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x0e\x64\x71\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1d\x64\x7a\x84\x00\x5a\x5b\x64\x7b\x84\x00\x5a\x5c\x65\x0d\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x7c\x64\x7d\x67\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x0e\x64\x7e\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1d\x64\x7f\x84\x00\x5a\x5d\x64\x80\x84\x00\x5a\x5e\x65\x0d\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x81\x64\x82\x67\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x65\x02\x6a\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x64\x83\x6b\x03\x00\x00\x00\x00\x72\x26\x64\x96\x64\x86\x84\x01\x5a\x60\x02\x00\x47\x00\x64\x87\x84\x00\x64\x88\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x61\x65\x0d\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x89\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x97\x64\x8a\x84\x01\x5a\x62\x64\x8b\x84\x00\x5a\x63\x02\x00\x65\x0e\x64\x8c\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x09\x65\x63\x5a\x64\x64\x8c\x65\x64\x5f\x65\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x47\x00\x64\x8d\x84\x00\x64\x8e\x65\x01\x6a\x66\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x67\x65\x10\x64\x0d\x6b\x02\x00\x00\x00\x00\x72\x12\x02\x00\x47\x00\x64\x8f\x84\x00\x64\x90\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x68\x64\x91\x84\x00\x5a\x69\x64\x02\x53\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x64\x01\x64\x02\x6c\x02\x5a\x02\x64\x01\x64\x02\x6c\x03\x5a\x04\x64\x01\x64\x03\x6c\x05\x6d\x06\x5a\x06\x01\x00\x02\x00\x65\x07\x65\x08\x65\x09\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x0a\x65\x02\x6a\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0c\x67\x00\x64\x04\xa2\x01\x5a\x0d\x64\x05\x84\x00\x5a\x0e\x64\x06\x84\x00\x5a\x0f\x64\x07\x65\x0c\x76\x00\x72\x49\x64\x07\x5a\x10\x64\x08\x5a\x11\x64\x01\x64\x09\x6c\x12\xad\x02\x01\x00\x09\x00\x64\x01\x64\x0a\x6c\x12\x6d\x13\x5a\x13\x01\x00\x65\x0d\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x64\x02\x6c\x16\x5a\x17\x09\x00\x64\x01\x64\x0c\x6c\x12\x6d\x18\x5a\x18\x01\x00\x64\x01\x64\x02\x6c\x12\x5a\x12\x65\x0d\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x65\x0f\x65\x12\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x5b\x12\x6e\x55\x64\x0d\x65\x0c\x76\x00\x72\x49\x64\x0d\x5a\x10\x64\x0e\x5a\x11\x64\x01\x64\x09\x6c\x1a\xad\x02\x01\x00\x09\x00\x64\x01\x64\x0a\x6c\x1a\x6d\x13\x5a\x13\x01\x00\x65\x0d\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x64\x02\x6c\x1b\x5a\x17\x64\x01\x64\x02\x6c\x1a\x5a\x1a\x65\x0d\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x65\x0f\x65\x1a\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x5b\x1a\x09\x00\x64\x01\x64\x0c\x6c\x1a\x6d\x18\x5a\x18\x01\x00\x6e\x08\x02\x00\x65\x15\x64\x0f\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x65\x17\x65\x02\x6a\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\x3c\x00\x00\x00\x64\x01\x64\x11\x6c\x1d\x6d\x1e\x5a\x1e\x6d\x1f\x5a\x1f\x6d\x20\x5a\x20\x6d\x21\x5a\x21\x6d\x22\x5a\x22\x6d\x23\x5a\x23\x6d\x24\x5a\x24\x6d\x25\x5a\x25\x01\x00\x5b\x0c\x02\x00\x65\x0e\x64\x12\xab\x01\x00\x00\x00\x00\x00\x00\x90\x01\x72\xc3\x02\x00\x65\x26\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x27\x64\x13\x84\x00\x5a\x28\x02\x00\x65\x29\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x2a\x02\x00\x65\x28\x64\x14\x64\x15\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x16\x64\x17\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x18\x64\x19\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1a\x64\x1b\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1c\x64\x1d\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1e\x64\x1f\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x20\x64\x21\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x22\x64\x23\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x24\x64\x25\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x26\x64\x27\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x28\x64\x29\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x2a\x64\x2b\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x2c\x64\x2d\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x2e\x64\x2f\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x2e\x64\x30\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x31\x64\x1d\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x65\x2a\x5a\x2b\x02\x00\x65\x29\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x2a\x02\x00\x65\x28\x64\x14\x64\x15\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x65\x2a\x5a\x2c\x02\x00\x65\x29\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x2a\x02\x00\x65\x28\x64\x32\x64\x33\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x34\x64\x17\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x35\x64\x19\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x36\x64\x37\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x36\x64\x38\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x39\x64\x3a\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x65\x2a\x6a\x5b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x3b\x64\x3c\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x3d\x64\x1d\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x3e\x64\x1d\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x3f\x64\x40\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x0e\x64\x41\xab\x01\x00\x00\x00\x00\x00\x00\x72\x11\x02\x00\x65\x0e\x64\x42\xab\x01\x00\x00\x00\x00\x00\x00\x72\x09\x02\x00\x65\x28\x64\x43\x64\x41\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x65\x2a\x5a\x2e\x02\x00\x65\x29\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x2a\x02\x00\x65\x28\x64\x14\x64\x15\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x18\x64\x19\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1a\x64\x1b\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x44\x64\x45\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x46\x64\x17\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x0e\x64\x47\xab\x01\x00\x00\x00\x00\x00\x00\x72\x09\x02\x00\x65\x28\x64\x48\x64\x19\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1e\x64\x1f\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x49\x64\x1d\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x4a\x64\x1b\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x1a\x64\x1b\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x31\x64\x1d\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x28\x64\x4b\x64\x1b\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x65\x2a\x5a\x2f\x5b\x2a\x5b\x18\x5b\x27\x5b\x28\x64\x01\x5a\x30\x64\x4c\x5a\x31\x64\x4d\x5a\x32\x64\x8c\x64\x4f\x84\x01\x5a\x33\x64\x50\x84\x00\x5a\x34\x64\x51\x84\x00\x5a\x35\x65\x0d\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x64\x52\xa2\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x8d\x64\x53\x84\x01\x5a\x36\x65\x0d\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x54\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x37\x65\x03\x68\x02\x65\x2b\x6b\x1a\x00\x00\x72\x23\x65\x38\x65\x03\x68\x02\x65\x2e\x6b\x1a\x00\x00\x72\x1c\x64\x8e\x64\x4e\x64\x02\x64\x55\x9c\x02\x64\x56\x84\x03\x5a\x39\x64\x57\x84\x00\x5a\x3a\x65\x0d\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x58\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x59\x84\x00\x5a\x3b\x64\x5a\x84\x00\x5a\x3c\x64\x5b\x84\x00\x5a\x3d\x64\x5c\x84\x00\x5a\x3e\x64\x5d\x84\x00\x5a\x3f\x64\x5e\x84\x00\x5a\x40\x65\x0d\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x64\x5f\xa2\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x8f\x64\x60\x84\x01\x5a\x41\x64\x8f\x64\x61\x84\x01\x5a\x42\x64\x01\x64\x62\x6c\x05\x6d\x43\x5a\x43\x6d\x44\x5a\x44\x01\x00\x02\x00\x47\x00\x64\x63\x84\x00\x64\x64\x65\x43\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x45\x64\x65\x84\x00\x5a\x46\x02\x00\x65\x46\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x47\x5b\x46\x64\x8f\x64\x66\x84\x01\x5a\x48\x65\x10\x64\x0d\x6b\x37\x00\x00\x5a\x49\x65\x0d\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x67\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x49\x72\x2f\x64\x68\x84\x00\x5a\x4a\x02\x00\x65\x45\x65\x47\x6a\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x4a\x65\x4c\x65\x4a\x65\x4c\xab\x05\x00\x00\x00\x00\x00\x00\x5a\x4d\x5b\x4a\x64\x8f\x64\x69\x84\x01\x5a\x4e\x65\x0d\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x6a\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x6b\x84\x00\x5a\x4f\x02\x00\x65\x4f\xab\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x5a\x50\x5a\x51\x5b\x4f\x02\x00\x65\x0e\x64\x6c\xab\x01\x00\x00\x00\x00\x00\x00\x72\x4b\x02\x00\x65\x0e\x64\x6d\xab\x01\x00\x00\x00\x00\x00\x00\x73\x43\x02\x00\x65\x0e\x64\x6e\xab\x01\x00\x00\x00\x00\x00\x00\x72\x3b\x64\x01\x5a\x52\x64\x4c\x78\x01\x5a\x53\x5a\x54\x65\x0d\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x64\x6f\xa2\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x70\x84\x00\x5a\x55\x64\x71\x84\x00\x5a\x56\x64\x72\x84\x00\x5a\x57\x64\x73\x84\x00\x5a\x58\x64\x74\x84\x00\x5a\x59\x65\x0d\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x64\x75\xa2\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x0e\x64\x6d\xab\x01\x00\x00\x00\x00\x00\x00\x72\x19\x64\x76\x84\x00\x5a\x5a\x64\x77\x84\x00\x5a\x5b\x65\x0d\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x78\x64\x79\x67\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x65\x0e\x64\x7a\xab\x01\x00\x00\x00\x00\x00\x00\x72\x19\x64\x7b\x84\x00\x5a\x5c\x64\x7c\x84\x00\x5a\x5d\x65\x0d\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x7d\x64\x7e\x67\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x65\x02\x6a\xbc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x7f\x6b\x37\x00\x00\x72\x1f\x64\x90\x64\x80\x84\x01\x5a\x5f\x02\x00\x47\x00\x64\x81\x84\x00\x64\x82\xab\x02\x00\x00\x00\x00\x00\x00\x5a\x60\x65\x0d\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x83\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x91\x64\x84\x84\x01\x5a\x61\x64\x85\x84\x00\x5a\x62\x02\x00\x65\x0e\x64\x86\xab\x01\x00\x00\x00\x00\x00\x00\x73\x09\x65\x62\x5a\x63\x64\x86\x65\x63\x5f\x64\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x47\x00\x64\x87\x84\x00\x64\x88\x65\x01\x6a\xca\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x66\x65\x10\x64\x0d\x6b\x28\x00\x00\x72\x0e\x02\x00\x47\x00\x64\x89\x84\x00\x64\x8a\xab\x02\x00\x00\x00\x00\x00\x00\x5a\x67\x64\x8b\x84\x00\x5a\x68\x79\x02\x79\x02\x23\x00\x65\x15\x24\x00\x72\x04\x01\x00\x59\x00\x90\x04\x8c\x7f\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x65\x15\x24\x00\x72\x04\x01\x00\x59\x00\x90\x04\x8c\x80\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x65\x15\x24\x00\x72\x04\x01\x00\x59\x00\x90\x04\x8c\x4a\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x65\x15\x24\x00\x72\x04\x01\x00\x59\x00\x90\x04\x8c\x26\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; -static void os_do_patchups(void) { -} PyObject * _Py_get_os_toplevel(void) { - os_do_patchups(); return Py_NewRef((PyObject *) &os_toplevel); } @@ -125660,7 +122500,7 @@ static site_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2998, @@ -125669,7 +122509,7 @@ site_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x70\x70\x65\x6e\x64\x20\x6d\x6f\x64\x75\x6c\x65\x20\x73\x65\x61\x72\x63\x68\x20\x70\x61\x74\x68\x73\x20\x66\x6f\x72\x20\x74\x68\x69\x72\x64\x2d\x70\x61\x72\x74\x79\x20\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x74\x6f\x20\x73\x79\x73\x2e\x70\x61\x74\x68\x2e\x0a\x0a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x0a\x2a\x20\x54\x68\x69\x73\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x20\x64\x75\x72\x69\x6e\x67\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x61\x74\x69\x6f\x6e\x2e\x20\x2a\x0a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x0a\x0a\x54\x68\x69\x73\x20\x77\x69\x6c\x6c\x20\x61\x70\x70\x65\x6e\x64\x20\x73\x69\x74\x65\x2d\x73\x70\x65\x63\x69\x66\x69\x63\x20\x70\x61\x74\x68\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x73\x65\x61\x72\x63\x68\x20\x70\x61\x74\x68\x2e\x20\x20\x4f\x6e\x0a\x55\x6e\x69\x78\x20\x28\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x4d\x61\x63\x20\x4f\x53\x58\x29\x2c\x20\x69\x74\x20\x73\x74\x61\x72\x74\x73\x20\x77\x69\x74\x68\x20\x73\x79\x73\x2e\x70\x72\x65\x66\x69\x78\x20\x61\x6e\x64\x0a\x73\x79\x73\x2e\x65\x78\x65\x63\x5f\x70\x72\x65\x66\x69\x78\x20\x28\x69\x66\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x29\x20\x61\x6e\x64\x20\x61\x70\x70\x65\x6e\x64\x73\x0a\x6c\x69\x62\x2f\x70\x79\x74\x68\x6f\x6e\x3c\x76\x65\x72\x73\x69\x6f\x6e\x3e\x2f\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x2e\x0a\x4f\x6e\x20\x6f\x74\x68\x65\x72\x20\x70\x6c\x61\x74\x66\x6f\x72\x6d\x73\x20\x28\x73\x75\x63\x68\x20\x61\x73\x20\x57\x69\x6e\x64\x6f\x77\x73\x29\x2c\x20\x69\x74\x20\x74\x72\x69\x65\x73\x20\x65\x61\x63\x68\x20\x6f\x66\x20\x74\x68\x65\x0a\x70\x72\x65\x66\x69\x78\x65\x73\x20\x64\x69\x72\x65\x63\x74\x6c\x79\x2c\x20\x61\x73\x20\x77\x65\x6c\x6c\x20\x61\x73\x20\x77\x69\x74\x68\x20\x6c\x69\x62\x2f\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x61\x70\x70\x65\x6e\x64\x65\x64\x2e\x20\x20\x54\x68\x65\x0a\x72\x65\x73\x75\x6c\x74\x69\x6e\x67\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x2c\x20\x69\x66\x20\x74\x68\x65\x79\x20\x65\x78\x69\x73\x74\x2c\x20\x61\x72\x65\x20\x61\x70\x70\x65\x6e\x64\x65\x64\x20\x74\x6f\x20\x73\x79\x73\x2e\x70\x61\x74\x68\x2c\x20\x61\x6e\x64\x0a\x61\x6c\x73\x6f\x20\x69\x6e\x73\x70\x65\x63\x74\x65\x64\x20\x66\x6f\x72\x20\x70\x61\x74\x68\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x66\x69\x6c\x65\x73\x2e\x0a\x0a\x49\x66\x20\x61\x20\x66\x69\x6c\x65\x20\x6e\x61\x6d\x65\x64\x20\x22\x70\x79\x76\x65\x6e\x76\x2e\x63\x66\x67\x22\x20\x65\x78\x69\x73\x74\x73\x20\x6f\x6e\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x61\x62\x6f\x76\x65\x20\x73\x79\x73\x2e\x65\x78\x65\x63\x75\x74\x61\x62\x6c\x65\x2c\x0a\x73\x79\x73\x2e\x70\x72\x65\x66\x69\x78\x20\x61\x6e\x64\x20\x73\x79\x73\x2e\x65\x78\x65\x63\x5f\x70\x72\x65\x66\x69\x78\x20\x61\x72\x65\x20\x73\x65\x74\x20\x74\x6f\x20\x74\x68\x61\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x61\x6e\x64\x0a\x69\x74\x20\x69\x73\x20\x61\x6c\x73\x6f\x20\x63\x68\x65\x63\x6b\x65\x64\x20\x66\x6f\x72\x20\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x28\x73\x79\x73\x2e\x62\x61\x73\x65\x5f\x70\x72\x65\x66\x69\x78\x20\x61\x6e\x64\x0a\x73\x79\x73\x2e\x62\x61\x73\x65\x5f\x65\x78\x65\x63\x5f\x70\x72\x65\x66\x69\x78\x20\x77\x69\x6c\x6c\x20\x61\x6c\x77\x61\x79\x73\x20\x62\x65\x20\x74\x68\x65\x20\x22\x72\x65\x61\x6c\x22\x20\x70\x72\x65\x66\x69\x78\x65\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x50\x79\x74\x68\x6f\x6e\x0a\x69\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e\x29\x2e\x20\x49\x66\x20\x22\x70\x79\x76\x65\x6e\x76\x2e\x63\x66\x67\x22\x20\x28\x61\x20\x62\x6f\x6f\x74\x73\x74\x72\x61\x70\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x66\x69\x6c\x65\x29\x20\x63\x6f\x6e\x74\x61\x69\x6e\x73\x0a\x74\x68\x65\x20\x6b\x65\x79\x20\x22\x69\x6e\x63\x6c\x75\x64\x65\x2d\x73\x79\x73\x74\x65\x6d\x2d\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x22\x20\x73\x65\x74\x20\x74\x6f\x20\x61\x6e\x79\x74\x68\x69\x6e\x67\x20\x6f\x74\x68\x65\x72\x20\x74\x68\x61\x6e\x20\x22\x66\x61\x6c\x73\x65\x22\x0a\x28\x63\x61\x73\x65\x2d\x69\x6e\x73\x65\x6e\x73\x69\x74\x69\x76\x65\x29\x2c\x20\x74\x68\x65\x20\x73\x79\x73\x74\x65\x6d\x2d\x6c\x65\x76\x65\x6c\x20\x70\x72\x65\x66\x69\x78\x65\x73\x20\x77\x69\x6c\x6c\x20\x73\x74\x69\x6c\x6c\x20\x61\x6c\x73\x6f\x20\x62\x65\x0a\x73\x65\x61\x72\x63\x68\x65\x64\x20\x66\x6f\x72\x20\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x3b\x20\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x74\x68\x65\x79\x20\x77\x6f\x6e\x27\x74\x2e\x0a\x0a\x41\x6c\x6c\x20\x6f\x66\x20\x74\x68\x65\x20\x72\x65\x73\x75\x6c\x74\x69\x6e\x67\x20\x73\x69\x74\x65\x2d\x73\x70\x65\x63\x69\x66\x69\x63\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x2c\x20\x69\x66\x20\x74\x68\x65\x79\x20\x65\x78\x69\x73\x74\x2c\x20\x61\x72\x65\x0a\x61\x70\x70\x65\x6e\x64\x65\x64\x20\x74\x6f\x20\x73\x79\x73\x2e\x70\x61\x74\x68\x2c\x20\x61\x6e\x64\x20\x61\x6c\x73\x6f\x20\x69\x6e\x73\x70\x65\x63\x74\x65\x64\x20\x66\x6f\x72\x20\x70\x61\x74\x68\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x0a\x66\x69\x6c\x65\x73\x2e\x0a\x0a\x41\x20\x70\x61\x74\x68\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x66\x69\x6c\x65\x20\x69\x73\x20\x61\x20\x66\x69\x6c\x65\x20\x77\x68\x6f\x73\x65\x20\x6e\x61\x6d\x65\x20\x68\x61\x73\x20\x74\x68\x65\x20\x66\x6f\x72\x6d\x0a\x3c\x70\x61\x63\x6b\x61\x67\x65\x3e\x2e\x70\x74\x68\x3b\x20\x69\x74\x73\x20\x63\x6f\x6e\x74\x65\x6e\x74\x73\x20\x61\x72\x65\x20\x61\x64\x64\x69\x74\x69\x6f\x6e\x61\x6c\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x28\x6f\x6e\x65\x20\x70\x65\x72\x20\x6c\x69\x6e\x65\x29\x0a\x74\x6f\x20\x62\x65\x20\x61\x64\x64\x65\x64\x20\x74\x6f\x20\x73\x79\x73\x2e\x70\x61\x74\x68\x2e\x20\x20\x4e\x6f\x6e\x2d\x65\x78\x69\x73\x74\x69\x6e\x67\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x28\x6f\x72\x0a\x6e\x6f\x6e\x2d\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x29\x20\x61\x72\x65\x20\x6e\x65\x76\x65\x72\x20\x61\x64\x64\x65\x64\x20\x74\x6f\x20\x73\x79\x73\x2e\x70\x61\x74\x68\x3b\x20\x6e\x6f\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x61\x64\x64\x65\x64\x20\x74\x6f\x0a\x73\x79\x73\x2e\x70\x61\x74\x68\x20\x6d\x6f\x72\x65\x20\x74\x68\x61\x6e\x20\x6f\x6e\x63\x65\x2e\x20\x20\x42\x6c\x61\x6e\x6b\x20\x6c\x69\x6e\x65\x73\x20\x61\x6e\x64\x20\x6c\x69\x6e\x65\x73\x20\x62\x65\x67\x69\x6e\x6e\x69\x6e\x67\x20\x77\x69\x74\x68\x0a\x27\x23\x27\x20\x61\x72\x65\x20\x73\x6b\x69\x70\x70\x65\x64\x2e\x20\x4c\x69\x6e\x65\x73\x20\x73\x74\x61\x72\x74\x69\x6e\x67\x20\x77\x69\x74\x68\x20\x27\x69\x6d\x70\x6f\x72\x74\x27\x20\x61\x72\x65\x20\x65\x78\x65\x63\x75\x74\x65\x64\x2e\x0a\x0a\x46\x6f\x72\x20\x65\x78\x61\x6d\x70\x6c\x65\x2c\x20\x73\x75\x70\x70\x6f\x73\x65\x20\x73\x79\x73\x2e\x70\x72\x65\x66\x69\x78\x20\x61\x6e\x64\x20\x73\x79\x73\x2e\x65\x78\x65\x63\x5f\x70\x72\x65\x66\x69\x78\x20\x61\x72\x65\x20\x73\x65\x74\x20\x74\x6f\x0a\x2f\x75\x73\x72\x2f\x6c\x6f\x63\x61\x6c\x20\x61\x6e\x64\x20\x74\x68\x65\x72\x65\x20\x69\x73\x20\x61\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x2f\x75\x73\x72\x2f\x6c\x6f\x63\x61\x6c\x2f\x6c\x69\x62\x2f\x70\x79\x74\x68\x6f\x6e\x32\x2e\x35\x2f\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x0a\x77\x69\x74\x68\x20\x74\x68\x72\x65\x65\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x2c\x20\x66\x6f\x6f\x2c\x20\x62\x61\x72\x20\x61\x6e\x64\x20\x73\x70\x61\x6d\x2c\x20\x61\x6e\x64\x20\x74\x77\x6f\x20\x70\x61\x74\x68\x0a\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x66\x69\x6c\x65\x73\x2c\x20\x66\x6f\x6f\x2e\x70\x74\x68\x20\x61\x6e\x64\x20\x62\x61\x72\x2e\x70\x74\x68\x2e\x20\x20\x41\x73\x73\x75\x6d\x65\x20\x66\x6f\x6f\x2e\x70\x74\x68\x20\x63\x6f\x6e\x74\x61\x69\x6e\x73\x20\x74\x68\x65\x0a\x66\x6f\x6c\x6c\x6f\x77\x69\x6e\x67\x3a\x0a\x0a\x20\x20\x23\x20\x66\x6f\x6f\x20\x70\x61\x63\x6b\x61\x67\x65\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x0a\x20\x20\x66\x6f\x6f\x0a\x20\x20\x62\x61\x72\x0a\x20\x20\x62\x6c\x65\x74\x63\x68\x0a\x0a\x61\x6e\x64\x20\x62\x61\x72\x2e\x70\x74\x68\x20\x63\x6f\x6e\x74\x61\x69\x6e\x73\x3a\x0a\x0a\x20\x20\x23\x20\x62\x61\x72\x20\x70\x61\x63\x6b\x61\x67\x65\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x0a\x20\x20\x62\x61\x72\x0a\x0a\x54\x68\x65\x6e\x20\x74\x68\x65\x20\x66\x6f\x6c\x6c\x6f\x77\x69\x6e\x67\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x72\x65\x20\x61\x64\x64\x65\x64\x20\x74\x6f\x20\x73\x79\x73\x2e\x70\x61\x74\x68\x2c\x20\x69\x6e\x20\x74\x68\x69\x73\x20\x6f\x72\x64\x65\x72\x3a\x0a\x0a\x20\x20\x2f\x75\x73\x72\x2f\x6c\x6f\x63\x61\x6c\x2f\x6c\x69\x62\x2f\x70\x79\x74\x68\x6f\x6e\x32\x2e\x35\x2f\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x2f\x62\x61\x72\x0a\x20\x20\x2f\x75\x73\x72\x2f\x6c\x6f\x63\x61\x6c\x2f\x6c\x69\x62\x2f\x70\x79\x74\x68\x6f\x6e\x32\x2e\x35\x2f\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x2f\x66\x6f\x6f\x0a\x0a\x4e\x6f\x74\x65\x20\x74\x68\x61\x74\x20\x62\x6c\x65\x74\x63\x68\x20\x69\x73\x20\x6f\x6d\x69\x74\x74\x65\x64\x20\x62\x65\x63\x61\x75\x73\x65\x20\x69\x74\x20\x64\x6f\x65\x73\x6e\x27\x74\x20\x65\x78\x69\x73\x74\x3b\x20\x62\x61\x72\x20\x70\x72\x65\x63\x65\x64\x65\x73\x20\x66\x6f\x6f\x0a\x62\x65\x63\x61\x75\x73\x65\x20\x62\x61\x72\x2e\x70\x74\x68\x20\x63\x6f\x6d\x65\x73\x20\x61\x6c\x70\x68\x61\x62\x65\x74\x69\x63\x61\x6c\x6c\x79\x20\x62\x65\x66\x6f\x72\x65\x20\x66\x6f\x6f\x2e\x70\x74\x68\x3b\x20\x61\x6e\x64\x20\x73\x70\x61\x6d\x20\x69\x73\x0a\x6f\x6d\x69\x74\x74\x65\x64\x20\x62\x65\x63\x61\x75\x73\x65\x20\x69\x74\x20\x69\x73\x20\x6e\x6f\x74\x20\x6d\x65\x6e\x74\x69\x6f\x6e\x65\x64\x20\x69\x6e\x20\x65\x69\x74\x68\x65\x72\x20\x70\x61\x74\x68\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x66\x69\x6c\x65\x2e\x0a\x0a\x54\x68\x65\x20\x72\x65\x61\x64\x6c\x69\x6e\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x61\x6c\x73\x6f\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x74\x6f\x20\x65\x6e\x61\x62\x6c\x65\x0a\x63\x6f\x6d\x70\x6c\x65\x74\x69\x6f\x6e\x20\x66\x6f\x72\x20\x73\x79\x73\x74\x65\x6d\x73\x20\x74\x68\x61\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x69\x74\x2e\x20\x20\x54\x68\x69\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x6f\x76\x65\x72\x72\x69\x64\x64\x65\x6e\x20\x69\x6e\x0a\x73\x69\x74\x65\x63\x75\x73\x74\x6f\x6d\x69\x7a\x65\x2c\x20\x75\x73\x65\x72\x63\x75\x73\x74\x6f\x6d\x69\x7a\x65\x20\x6f\x72\x20\x50\x59\x54\x48\x4f\x4e\x53\x54\x41\x52\x54\x55\x50\x2e\x20\x20\x53\x74\x61\x72\x74\x69\x6e\x67\x20\x50\x79\x74\x68\x6f\x6e\x20\x69\x6e\x0a\x69\x73\x6f\x6c\x61\x74\x65\x64\x20\x6d\x6f\x64\x65\x20\x28\x2d\x49\x29\x20\x64\x69\x73\x61\x62\x6c\x65\x73\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x20\x72\x65\x61\x64\x6c\x69\x6e\x65\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x0a\x41\x66\x74\x65\x72\x20\x74\x68\x65\x73\x65\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\x6e\x73\x2c\x20\x61\x6e\x20\x61\x74\x74\x65\x6d\x70\x74\x20\x69\x73\x20\x6d\x61\x64\x65\x20\x74\x6f\x20\x69\x6d\x70\x6f\x72\x74\x20\x61\x20\x6d\x6f\x64\x75\x6c\x65\x0a\x6e\x61\x6d\x65\x64\x20\x73\x69\x74\x65\x63\x75\x73\x74\x6f\x6d\x69\x7a\x65\x2c\x20\x77\x68\x69\x63\x68\x20\x63\x61\x6e\x20\x70\x65\x72\x66\x6f\x72\x6d\x20\x61\x72\x62\x69\x74\x72\x61\x72\x79\x20\x61\x64\x64\x69\x74\x69\x6f\x6e\x61\x6c\x0a\x73\x69\x74\x65\x2d\x73\x70\x65\x63\x69\x66\x69\x63\x20\x63\x75\x73\x74\x6f\x6d\x69\x7a\x61\x74\x69\x6f\x6e\x73\x2e\x20\x20\x49\x66\x20\x74\x68\x69\x73\x20\x69\x6d\x70\x6f\x72\x74\x20\x66\x61\x69\x6c\x73\x20\x77\x69\x74\x68\x20\x61\x6e\x0a\x49\x6d\x70\x6f\x72\x74\x45\x72\x72\x6f\x72\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x2c\x20\x69\x74\x20\x69\x73\x20\x73\x69\x6c\x65\x6e\x74\x6c\x79\x20\x69\x67\x6e\x6f\x72\x65\x64\x2e\x0a", @@ -125686,14 +122526,14 @@ site_toplevel_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { Py_None, - & importlib__bootstrap_toplevel_consts_18_consts_3._object.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_25_consts_3._object.ob_base.ob_base, }, }, }; @@ -125709,14 +122549,14 @@ site_toplevel_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { & const_str_sys._ascii.ob_base, - & const_str_flags._ascii.ob_base, + &_Py_ID(flags), & const_str_verbose._ascii.ob_base, & const_str_print._ascii.ob_base, &_Py_ID(stderr), @@ -125731,7 +122571,7 @@ static site_toplevel_consts_3_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -125740,7 +122580,7 @@ site_toplevel_consts_3_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -125753,7 +122593,7 @@ static const_str__trace = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -125762,7 +122602,7 @@ const_str__trace = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_trace", @@ -125771,18 +122611,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[53]; + char ob_sval[35]; } site_toplevel_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 52, + .ob_size = 34, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x07\x0a\x84\x79\xd4\x07\x18\xf0\x00\x01\x05\x28\xdd\x08\x0d\x88\x67\x9d\x43\x9c\x4a\xd0\x08\x27\xd1\x08\x27\xd4\x08\x27\xd0\x08\x27\xd0\x08\x27\xd0\x08\x27\xf0\x03\x01\x05\x28\xf0\x00\x01\x05\x28", + .ob_sval = "\x80\x00\xdc\x07\x0a\x87\x79\x81\x79\xd7\x07\x18\xd2\x07\x18\xdc\x08\x0d\x88\x67\x9c\x43\x9f\x4a\x99\x4a\xd6\x08\x27\xf0\x03\x00\x08\x19", }; static struct { @@ -125796,51 +122636,49 @@ site_toplevel_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_message._ascii.ob_base, + &_Py_ID(message), }, }, }; static - struct _PyCode_DEF(98) + struct _PyCode_DEF(112) site_toplevel_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 49, + .ob_size = 56, }, .co_consts = & site_toplevel_consts_3_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 92, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 673, .co_localsplusnames = & site_toplevel_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str__trace._ascii.ob_base, .co_qualname = & const_str__trace._ascii.ob_base, .co_linetable = & site_toplevel_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1d\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\xac\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1c\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -125855,7 +122693,7 @@ site_toplevel_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -125878,7 +122716,7 @@ static const_str_makepath = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -125887,7 +122725,7 @@ const_str_makepath = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "makepath", @@ -125896,35 +122734,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[102]; + char ob_sval[92]; } site_toplevel_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 101, + .ob_size = 91, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0a\x0c\x8c\x27\x8c\x2c\x98\x05\xd0\x0a\x1e\x80\x43\xf0\x02\x03\x05\x0d\xdd\x0e\x10\x8c\x67\x8f\x6f\x8a\x6f\x98\x63\xd1\x0e\x22\xd4\x0e\x22\x88\x03\x88\x03\xf8\xdd\x0b\x12\xf0\x00\x01\x05\x0d\xf0\x00\x01\x05\x0d\xf0\x00\x01\x05\x0d\xd8\x08\x0c\x88\x04\xf0\x03\x01\x05\x0d\xf8\xf8\xf8\xe0\x0b\x0e\x95\x02\x94\x07\xd7\x10\x20\xd2\x10\x20\xa0\x13\xd1\x10\x25\xd4\x10\x25\xd0\x0b\x25\xd0\x04\x25", + .ob_sval = "\x80\x00\xdc\x0a\x0c\x8f\x27\x89\x27\x8f\x2c\x89\x2c\x98\x05\xd0\x0a\x1e\x80\x43\xf0\x02\x03\x05\x0d\xdc\x0e\x10\x8f\x67\x89\x67\x8f\x6f\x89\x6f\x98\x63\xd3\x0e\x22\x88\x03\xf0\x06\x00\x0c\x0f\x94\x02\x97\x07\x91\x07\xd7\x10\x20\xd1\x10\x20\xa0\x13\xd3\x10\x25\xd0\x0b\x25\xd0\x04\x25\xf8\xf4\x05\x00\x0c\x13\xf2\x00\x01\x05\x0d\xd9\x08\x0c\xf0\x03\x01\x05\x0d\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[18]; } site_toplevel_consts_4_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x95\x1f\x35\x00\xb5\x0a\x41\x02\x03\xc1\x01\x01\x41\x02\x03", + .ob_sval = "\x9e\x1f\x41\x1e\x00\xc1\x1e\x09\x41\x2a\x03\xc1\x29\x01\x41\x2a\x03", }; static struct { @@ -125938,7 +122776,7 @@ site_toplevel_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -125950,40 +122788,38 @@ site_toplevel_consts_4_localsplusnames = { }, }; static - struct _PyCode_DEF(204) + struct _PyCode_DEF(218) site_toplevel_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 102, + .ob_size = 109, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = & site_toplevel_consts_4_exceptiontable.ob_base.ob_base, .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 97, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 674, .co_localsplusnames = & site_toplevel_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_makepath._ascii.ob_base, .co_qualname = & const_str_makepath._ascii.ob_base, .co_linetable = & site_toplevel_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x8e\x00\x7d\x01\x09\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x10\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x8e\x00\x7d\x01\x09\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x66\x02\x53\x00\x23\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x2c\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -125994,7 +122830,7 @@ static site_toplevel_consts_5_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 69, @@ -126003,7 +122839,7 @@ site_toplevel_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set all module __file__ and __cached__ attributes to an absolute path", @@ -126020,7 +122856,7 @@ site_toplevel_consts_5_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -126044,7 +122880,7 @@ site_toplevel_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -126068,7 +122904,7 @@ site_toplevel_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 16, @@ -126101,7 +122937,7 @@ static const_str_abs_paths = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -126110,7 +122946,7 @@ const_str_abs_paths = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "abs_paths", @@ -126119,35 +122955,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[308]; + char ob_sval[246]; } site_toplevel_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 307, + .ob_size = 245, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0d\x10\x95\x13\x94\x1b\xd7\x11\x23\xd2\x11\x23\xd1\x11\x25\xd4\x11\x25\xd1\x0d\x26\xd4\x0d\x26\xf0\x00\x12\x05\x11\xf0\x00\x12\x05\x11\x88\x01\xd8\x18\x1c\x88\x0d\xf0\x02\x06\x09\x15\xd8\x1c\x1d\x9c\x4c\xd4\x1c\x33\x88\x4d\x88\x4d\xf8\xdd\x0f\x1d\xf0\x00\x04\x09\x15\xf0\x00\x04\x09\x15\xf0\x00\x04\x09\x15\xf0\x02\x03\x0d\x15\xd8\x20\x21\xa4\x0a\xd4\x20\x31\xd4\x20\x3c\x90\x0d\x90\x0d\xf8\xdd\x13\x21\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xd8\x10\x14\x90\x04\xf0\x03\x01\x0d\x15\xf8\xf8\xf8\xf8\xf8\xf0\x07\x04\x09\x15\xf8\xf8\xf8\xf0\x0a\x00\x0c\x19\xd0\x20\x53\xd0\x0b\x53\xd0\x0b\x53\xd8\x0c\x14\xf0\x02\x03\x09\x11\xdd\x19\x1b\x9c\x17\x9f\x1f\x9a\x1f\xa8\x11\xac\x1a\xd1\x19\x34\xd4\x19\x34\x88\x41\x8c\x4a\x88\x4a\xf8\xdd\x10\x1e\xa5\x07\xad\x19\xd0\x0f\x33\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8\xf0\x04\x03\x09\x11\xdd\x1b\x1d\x9c\x37\x9f\x3f\x9a\x3f\xa8\x31\xac\x3c\xd1\x1b\x38\xd4\x1b\x38\x88\x41\x8c\x4c\x88\x4c\xf8\xdd\x10\x1e\xa5\x07\xad\x19\xd0\x0f\x33\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8\xf0\x23\x12\x05\x11\xf0\x00\x12\x05\x11", + .ob_sval = "\x80\x00\xe4\x0d\x10\x94\x13\x97\x1b\x91\x1b\xd7\x11\x23\xd1\x11\x23\xd3\x11\x25\xd3\x0d\x26\xf2\x00\x12\x05\x11\x88\x01\xd8\x18\x1c\x88\x0d\xf0\x02\x06\x09\x15\xd8\x1c\x1d\x9f\x4c\x99\x4c\xd7\x1c\x33\xd1\x1c\x33\x88\x4d\xf0\x0c\x00\x0c\x19\xd0\x20\x53\xd1\x0b\x53\xd8\x0c\x14\xf0\x02\x03\x09\x11\xdc\x19\x1b\x9f\x17\x99\x17\x9f\x1f\x99\x1f\xa8\x11\xaf\x1a\xa9\x1a\xd3\x19\x34\x88\x41\x8c\x4a\xf0\x06\x03\x09\x11\xdc\x1b\x1d\x9f\x37\x99\x37\x9f\x3f\x99\x3f\xa8\x31\xaf\x3c\xa9\x3c\xd3\x1b\x38\x88\x41\x8d\x4c\xf1\x21\x12\x05\x11\xf8\xf4\x08\x00\x10\x1e\xf2\x00\x04\x09\x15\xf0\x02\x03\x0d\x15\xd8\x20\x21\xa7\x0a\xa1\x0a\xd7\x20\x31\xd1\x20\x31\xd7\x20\x3c\xd1\x20\x3c\x91\x0d\xf8\xdc\x13\x21\xf2\x00\x01\x0d\x15\xd9\x10\x14\xf0\x03\x01\x0d\x15\xfc\xf0\x07\x04\x09\x15\xfb\xf4\x12\x00\x11\x1f\xa4\x07\xac\x19\xd0\x0f\x33\xf2\x00\x01\x09\x11\xd9\x0c\x10\xf0\x03\x01\x09\x11\xfb\xf4\x08\x00\x11\x1f\xa4\x07\xac\x19\xd0\x0f\x33\xf2\x00\x01\x09\x11\xd9\x0c\x10\xf0\x03\x01\x09\x11\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[88]; + char ob_sval[90]; } site_toplevel_consts_5_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 87, + .ob_size = 89, }, .ob_shash = -1, - .ob_sval = "\xb1\x0c\x3e\x02\xbe\x0a\x41\x2e\x05\xc1\x09\x11\x41\x1b\x04\xc1\x1a\x01\x41\x2e\x05\xc1\x1b\x0a\x41\x28\x07\xc1\x25\x02\x41\x2e\x05\xc1\x27\x01\x41\x28\x07\xc1\x28\x03\x41\x2e\x05\xc1\x2d\x01\x41\x2e\x05\xc1\x37\x29\x42\x21\x02\xc2\x21\x17\x42\x3b\x05\xc2\x3a\x01\x42\x3b\x05\xc2\x3f\x29\x43\x29\x02\xc3\x29\x17\x44\x03\x05\xc4\x02\x01\x44\x03\x05", + .ob_sval = "\xae\x16\x42\x2a\x02\xc1\x0a\x2e\x43\x2a\x02\xc1\x39\x2e\x44\x04\x02\xc2\x2a\x09\x43\x27\x05\xc2\x34\x20\x43\x15\x04\xc3\x14\x01\x43\x27\x05\xc3\x15\x09\x43\x21\x07\xc3\x1e\x02\x43\x27\x05\xc3\x20\x01\x43\x21\x07\xc3\x21\x03\x43\x27\x05\xc3\x26\x01\x43\x27\x05\xc3\x2a\x14\x44\x01\x05\xc4\x00\x01\x44\x01\x05\xc4\x04\x14\x44\x1b\x05\xc4\x1a\x01\x44\x1b\x05", }; static struct { @@ -126157,7 +122993,7 @@ static const_str_loader_module = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -126166,7 +123002,7 @@ const_str_loader_module = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "loader_module", @@ -126183,52 +123019,50 @@ site_toplevel_consts_5_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_m._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[109], & const_str_loader_module._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(528) + struct _PyCode_DEF(572) site_toplevel_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 264, + .ob_size = 286, }, .co_consts = & site_toplevel_consts_5_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = & site_toplevel_consts_5_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 106, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 675, .co_localsplusnames = & site_toplevel_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_abs_paths._ascii.ob_base, .co_qualname = & const_str_abs_paths._ascii.ob_base, .co_linetable = & site_toplevel_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\xd9\x7d\x00\x64\x01\x7d\x01\x09\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x33\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x26\x01\x00\x09\x00\x7c\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x10\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x01\x64\x02\x76\x01\x72\x01\x8c\x4a\x09\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x1d\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x09\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x8c\xbd\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x03\x01\x00\x59\x00\x8c\xd6\x77\x00\x78\x03\x59\x00\x77\x01\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x7e\x00\x00\x7d\x00\x64\x01\x7d\x01\x09\x00\x7c\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x64\x02\x76\x01\x72\x01\x8c\x21\x09\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x80\x04\x00\x79\x01\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x34\x01\x00\x09\x00\x7c\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x6e\x0f\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x59\x00\x8c\xa2\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x88\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x74\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x24\x00\x72\x03\x01\x00\x59\x00\x8c\xf2\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -126239,7 +123073,7 @@ static site_toplevel_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 75, @@ -126248,7 +123082,7 @@ site_toplevel_consts_6_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x52\x65\x6d\x6f\x76\x65\x20\x64\x75\x70\x6c\x69\x63\x61\x74\x65\x20\x65\x6e\x74\x72\x69\x65\x73\x20\x66\x72\x6f\x6d\x20\x73\x79\x73\x2e\x70\x61\x74\x68\x20\x61\x6c\x6f\x6e\x67\x20\x77\x69\x74\x68\x20\x6d\x61\x6b\x69\x6e\x67\x20\x74\x68\x65\x6d\x0a\x20\x20\x20\x20\x61\x62\x73\x6f\x6c\x75\x74\x65", @@ -126265,7 +123099,7 @@ site_toplevel_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -126288,7 +123122,7 @@ site_toplevel_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -126311,7 +123145,7 @@ static const_str_removeduppaths = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -126320,7 +123154,7 @@ const_str_removeduppaths = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "removeduppaths", @@ -126329,40 +123163,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[119]; + char ob_sval[103]; } site_toplevel_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 118, + .ob_size = 102, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0a\x00\x09\x0b\x80\x41\xdd\x12\x15\x91\x25\x94\x25\x80\x4b\xdd\x0f\x12\x8c\x78\xf0\x00\x07\x05\x25\xf0\x00\x07\x05\x25\x88\x03\xf5\x08\x00\x18\x20\xa0\x03\x91\x7d\x94\x7d\x89\x0c\x88\x03\x88\x57\xd8\x0b\x12\x98\x2b\xd0\x0b\x25\xd0\x0b\x25\xd8\x0c\x0d\x8f\x48\x8a\x48\x90\x53\x89\x4d\x8c\x4d\x88\x4d\xd8\x0c\x17\x8f\x4f\x8a\x4f\x98\x47\xd1\x0c\x24\xd4\x0c\x24\xd0\x0c\x24\xf8\xd8\x12\x13\x85\x43\x84\x48\x88\x51\x88\x51\x88\x51\x81\x4b\xd8\x0b\x16\xd0\x04\x16", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_L = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "L", + .ob_sval = "\x80\x00\xf0\x0a\x00\x09\x0b\x80\x41\xdc\x12\x15\x93\x25\x80\x4b\xdc\x0f\x12\x8f\x78\x89\x78\xf2\x00\x07\x05\x25\x88\x03\xf4\x08\x00\x18\x20\xa0\x03\x93\x7d\x89\x0c\x88\x03\x88\x57\xd8\x0b\x12\x98\x2b\xd2\x0b\x25\xd8\x0c\x0d\x8f\x48\x89\x48\x90\x53\x8c\x4d\xd8\x0c\x17\x8f\x4f\x89\x4f\x98\x47\xd5\x0c\x24\xf0\x0f\x07\x05\x25\xf0\x10\x00\x13\x14\x84\x43\x87\x48\x81\x48\x89\x51\x80\x4b\xd8\x0b\x16\xd0\x04\x16", }; static struct { @@ -126372,7 +123184,7 @@ static const_str_known_paths = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -126381,7 +123193,7 @@ const_str_known_paths = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "known_paths", @@ -126394,7 +123206,7 @@ static const_str_dircase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -126403,7 +123215,7 @@ const_str_dircase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dircase", @@ -126420,13 +123232,13 @@ site_toplevel_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_L._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[76], & const_str_known_paths._ascii.ob_base, & const_str_dir._ascii.ob_base, & const_str_dircase._ascii.ob_base, @@ -126434,40 +123246,38 @@ site_toplevel_consts_6_localsplusnames = { }, }; static - struct _PyCode_DEF(230) + struct _PyCode_DEF(216) site_toplevel_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 115, + .ob_size = 108, }, .co_consts = & site_toplevel_consts_6_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 129, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 676, .co_localsplusnames = & site_toplevel_consts_6_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_removeduppaths._ascii.ob_base, .co_qualname = & const_str_removeduppaths._ascii.ob_base, .co_linetable = & site_toplevel_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7d\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x42\x7d\x02\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x03\x7c\x01\x76\x01\x72\x2a\x7c\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x43\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x01\x85\x02\x3c\x00\x00\x00\x7c\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x67\x00\x7d\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x37\x00\x00\x7d\x02\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x03\x7c\x01\x76\x01\x73\x01\x8c\x16\x7c\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x39\x04\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x01\x1b\x00\x7c\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -126478,7 +123288,7 @@ static site_toplevel_consts_7_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 69, @@ -126487,7 +123297,7 @@ site_toplevel_consts_7_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return a set containing all existing file system items from sys.path.", @@ -126504,7 +123314,7 @@ site_toplevel_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -126526,7 +123336,7 @@ site_toplevel_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -126551,7 +123361,7 @@ static const_str__init_pathinfo = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -126560,7 +123370,7 @@ const_str__init_pathinfo = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_init_pathinfo", @@ -126569,35 +123379,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[124]; + char ob_sval[102]; } site_toplevel_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 123, + .ob_size = 101, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x08\x0b\x89\x05\x8c\x05\x80\x41\xdd\x10\x13\x94\x08\xf0\x00\x06\x05\x15\xf0\x00\x06\x05\x15\x88\x04\xf0\x02\x05\x09\x15\xdd\x0f\x11\x8c\x77\x8f\x7e\x8a\x7e\x98\x64\xd1\x0f\x23\xd4\x0f\x23\xf0\x00\x02\x0d\x20\xdd\x1e\x26\xa0\x74\x99\x6e\x9c\x6e\x91\x0b\x90\x01\x90\x38\xd8\x10\x11\x97\x05\x92\x05\x90\x68\x91\x0f\x94\x0f\x90\x0f\xf8\xf8\xdd\x0f\x18\xf0\x00\x01\x09\x15\xf0\x00\x01\x09\x15\xf0\x00\x01\x09\x15\xd8\x0c\x14\x88\x48\xf0\x03\x01\x09\x15\xf8\xf8\xf8\xe0\x0b\x0c\x80\x48", + .ob_sval = "\x80\x00\xe4\x08\x0b\x8b\x05\x80\x41\xdc\x10\x13\x97\x08\x91\x08\xf2\x00\x06\x05\x15\x88\x04\xf0\x02\x05\x09\x15\xdc\x0f\x11\x8f\x77\x89\x77\x8f\x7e\x89\x7e\x98\x64\xd4\x0f\x23\xdc\x1e\x26\xa0\x74\x9b\x6e\x91\x0b\x90\x01\x90\x38\xd8\x10\x11\x97\x05\x91\x05\x90\x68\x94\x0f\xf8\xf0\x09\x06\x05\x15\xf0\x0e\x00\x0c\x0d\x80\x48\xf8\xf4\x05\x00\x10\x19\xf2\x00\x01\x09\x15\xd9\x0c\x14\xf0\x03\x01\x09\x15\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[19]; + char ob_sval[18]; } site_toplevel_consts_7_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 18, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x9e\x41\x06\x41\x25\x02\xc1\x25\x0a\x41\x32\x05\xc1\x31\x01\x41\x32\x05", + .ob_sval = "\x9f\x3e\x41\x21\x02\xc1\x21\x09\x41\x2d\x05\xc1\x2c\x01\x41\x2d\x05", }; static struct { @@ -126607,7 +123417,7 @@ static const_str_itemcase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -126616,7 +123426,7 @@ const_str_itemcase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "itemcase", @@ -126633,54 +123443,52 @@ site_toplevel_consts_7_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_d._ascii.ob_base, - & const_str_item._ascii.ob_base, + &_Py_ID(d), + &_Py_ID(item), &_Py_ID(_), & const_str_itemcase._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(238) + struct _PyCode_DEF(224) site_toplevel_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 119, + .ob_size = 112, }, .co_consts = & site_toplevel_consts_7_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = & site_toplevel_consts_7_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 148, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 677, .co_localsplusnames = & site_toplevel_consts_7_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str__init_pathinfo._ascii.ob_base, .co_qualname = & const_str__init_pathinfo._ascii.ob_base, .co_linetable = & site_toplevel_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x59\x7d\x01\x09\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x27\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x4a\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x56\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x41\x00\x00\x7d\x01\x09\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x72\x1f\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x02\x7d\x03\x7c\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x43\x04\x00\x7c\x00\x53\x00\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x51\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -126691,7 +123499,7 @@ static site_toplevel_consts_8_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 214, @@ -126700,7 +123508,7 @@ site_toplevel_consts_8_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x50\x72\x6f\x63\x65\x73\x73\x20\x61\x20\x2e\x70\x74\x68\x20\x66\x69\x6c\x65\x20\x77\x69\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x46\x6f\x72\x20\x65\x61\x63\x68\x20\x6c\x69\x6e\x65\x20\x69\x6e\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x2c\x20\x65\x69\x74\x68\x65\x72\x20\x63\x6f\x6d\x62\x69\x6e\x65\x20\x69\x74\x20\x77\x69\x74\x68\x20\x73\x69\x74\x65\x64\x69\x72\x20\x74\x6f\x20\x61\x20\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x61\x6e\x64\x20\x61\x64\x64\x20\x74\x68\x61\x74\x20\x74\x6f\x20\x6b\x6e\x6f\x77\x6e\x5f\x70\x61\x74\x68\x73\x2c\x20\x6f\x72\x20\x65\x78\x65\x63\x75\x74\x65\x20\x69\x74\x20\x69\x66\x20\x69\x74\x20\x73\x74\x61\x72\x74\x73\x20\x77\x69\x74\x68\x20\x27\x69\x6d\x70\x6f\x72\x74\x20\x27\x2e\x0a\x20\x20\x20\x20", @@ -126713,7 +123521,7 @@ static const_str_st_flags = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -126722,7 +123530,7 @@ const_str_st_flags = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "st_flags", @@ -126735,7 +123543,7 @@ static const_str_st_file_attributes = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -126744,7 +123552,7 @@ const_str_st_file_attributes = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "st_file_attributes", @@ -126757,7 +123565,7 @@ static site_toplevel_consts_8_consts_7 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 27, @@ -126766,7 +123574,7 @@ site_toplevel_consts_8_consts_7 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Skipping hidden .pth file: ", @@ -126779,7 +123587,7 @@ static site_toplevel_consts_8_consts_8 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -126788,7 +123596,7 @@ site_toplevel_consts_8_consts_8 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Processing .pth file: ", @@ -126801,7 +123609,7 @@ static site_toplevel_consts_8_consts_13_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -126810,7 +123618,7 @@ site_toplevel_consts_8_consts_13_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x69\x6d\x70\x6f\x72\x74\x09", @@ -126827,13 +123635,13 @@ site_toplevel_consts_8_consts_13 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & importlib__bootstrap_toplevel_consts_18_consts_1_1._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_25_consts_1_1._ascii.ob_base, & site_toplevel_consts_8_consts_13_1._ascii.ob_base, }, }, @@ -126846,7 +123654,7 @@ static site_toplevel_consts_8_consts_14 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 34, @@ -126855,7 +123663,7 @@ site_toplevel_consts_8_consts_14 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x45\x72\x72\x6f\x72\x20\x70\x72\x6f\x63\x65\x73\x73\x69\x6e\x67\x20\x6c\x69\x6e\x65\x20\x7b\x3a\x64\x7d\x20\x6f\x66\x20\x7b\x7d\x3a\x0a", @@ -126868,7 +123676,7 @@ static site_toplevel_consts_8_consts_17 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 2, @@ -126877,7 +123685,7 @@ site_toplevel_consts_8_consts_17 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = " ", @@ -126890,7 +123698,7 @@ static site_toplevel_consts_8_consts_18 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -126899,7 +123707,7 @@ site_toplevel_consts_8_consts_18 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x0a\x52\x65\x6d\x61\x69\x6e\x64\x65\x72\x20\x6f\x66\x20\x66\x69\x6c\x65\x20\x69\x67\x6e\x6f\x72\x65\x64", @@ -126916,7 +123724,7 @@ site_toplevel_consts_8_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 19, @@ -126932,13 +123740,13 @@ site_toplevel_consts_8_consts = { & site_toplevel_consts_8_consts_7._ascii.ob_base, & site_toplevel_consts_8_consts_8._ascii.ob_base, &_Py_ID(locale), - & codecs_toplevel_consts_37_localsplusnames._object.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_18_consts_1_0._ascii.ob_base, + & codecs_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[35], &_Py_STR(empty), & site_toplevel_consts_8_consts_13._object.ob_base.ob_base, & site_toplevel_consts_8_consts_14._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], - & importlib__bootstrap_toplevel_consts_18_consts_3._object.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_25_consts_3._object.ob_base.ob_base, & site_toplevel_consts_8_consts_17._ascii.ob_base, & site_toplevel_consts_8_consts_18._ascii.ob_base, }, @@ -126952,7 +123760,7 @@ static const_str_UF_HIDDEN = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -126961,7 +123769,7 @@ const_str_UF_HIDDEN = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "UF_HIDDEN", @@ -126974,7 +123782,7 @@ static const_str_FILE_ATTRIBUTE_HIDDEN = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -126983,7 +123791,7 @@ const_str_FILE_ATTRIBUTE_HIDDEN = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_HIDDEN", @@ -126996,7 +123804,7 @@ static const_str_strip = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -127005,33 +123813,11 @@ const_str_strip = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "strip", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[10]; - } -const_str_traceback = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 9, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "traceback", -}; static struct { PyASCIIObject _ascii; @@ -127040,7 +123826,7 @@ static const_str_format_exception = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -127049,49 +123835,27 @@ const_str_format_exception = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "format_exception", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[9]; - } -const_str_exc_info = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 8, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "exc_info", -}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[32]; + PyObject *ob_item[31]; }_object; } site_toplevel_consts_8_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 32, + .ob_size = 31, }, .ob_item = { & const_str__init_pathinfo._ascii.ob_base, @@ -127120,11 +123884,10 @@ site_toplevel_consts_8_names = { &_Py_ID(add), & const_str_Exception._ascii.ob_base, & const_str_print._ascii.ob_base, - & const_str_format._ascii.ob_base, + &_Py_ID(format), &_Py_ID(stderr), - & const_str_traceback._ascii.ob_base, + &_Py_ID(traceback), & const_str_format_exception._ascii.ob_base, - & const_str_exc_info._ascii.ob_base, & const_str_splitlines._ascii.ob_base, }, }, @@ -127137,7 +123900,7 @@ static const_str_addpackage = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -127146,7 +123909,7 @@ const_str_addpackage = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "addpackage", @@ -127155,35 +123918,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[825]; + char ob_sval[571]; } site_toplevel_consts_8_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 824, + .ob_size = 570, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0a\x00\x08\x13\xd0\x07\x1a\xdd\x16\x24\xd1\x16\x26\xd4\x16\x26\x88\x0b\xd8\x10\x14\x88\x05\x88\x05\xe0\x10\x15\x88\x05\xdd\x0f\x11\x8c\x77\x8f\x7c\x8a\x7c\x98\x47\xa0\x54\xd1\x0f\x2a\xd4\x0f\x2a\x80\x48\xf0\x02\x03\x05\x0f\xdd\x0d\x0f\x8c\x58\x90\x68\xd1\x0d\x1f\xd4\x0d\x1f\x88\x02\x88\x02\xf8\xdd\x0b\x12\xf0\x00\x01\x05\x0f\xf0\x00\x01\x05\x0f\xf0\x00\x01\x05\x0f\xd8\x08\x0e\x88\x06\x88\x06\xf0\x03\x01\x05\x0f\xf8\xf8\xf8\xe5\x09\x10\x90\x12\x90\x5a\xa0\x11\xd1\x09\x23\xd4\x09\x23\xa5\x64\xa4\x6e\xd1\x09\x34\xf0\x00\x03\x05\x0f\xdd\x09\x10\x90\x12\xd0\x15\x29\xa8\x31\xd1\x09\x2d\xd4\x09\x2d\xb5\x04\xd4\x30\x4a\xd1\x09\x4a\xf0\x03\x03\x05\x0f\xe5\x08\x0e\xd0\x0f\x39\xa8\x58\xd0\x0f\x39\xd0\x0f\x39\xd1\x08\x3a\xd4\x08\x3a\xd0\x08\x3a\xd8\x08\x0e\x88\x06\xdd\x04\x0a\xd0\x0b\x30\xa0\x48\xd0\x0b\x30\xd0\x0b\x30\xd1\x04\x31\xd4\x04\x31\xd0\x04\x31\xf0\x02\x05\x05\x0f\xf5\x06\x00\x0d\x0f\xd4\x0c\x1c\x9d\x52\x9c\x5c\xa8\x28\xd1\x1d\x33\xd4\x1d\x33\xb8\x68\xd0\x0c\x47\xd1\x0c\x47\xd4\x0c\x47\x88\x01\x88\x01\xf8\xdd\x0b\x12\xf0\x00\x01\x05\x0f\xf0\x00\x01\x05\x0f\xf0\x00\x01\x05\x0f\xd8\x08\x0e\x88\x06\x88\x06\xf0\x03\x01\x05\x0f\xf8\xf8\xf8\xe0\x09\x0a\xf0\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xdd\x17\x20\xa0\x11\x91\x7c\x94\x7c\xf0\x00\x16\x09\x16\xf1\x00\x16\x09\x16\x89\x47\x88\x41\x88\x74\xd8\x0f\x13\x8f\x7f\x8a\x7f\x98\x73\xd1\x0f\x23\xd4\x0f\x23\xf0\x00\x01\x0d\x19\xd8\x10\x18\xd8\x0f\x13\x8f\x7a\x8a\x7a\x89\x7c\x8c\x7c\x98\x72\xd2\x0f\x21\xd0\x0f\x21\xd8\x10\x18\xf0\x02\x11\x0d\x16\xd8\x13\x17\x97\x3f\x92\x3f\xd0\x23\x3a\xd1\x13\x3b\xd4\x13\x3b\xf0\x00\x02\x11\x1d\xdd\x14\x18\x98\x14\x91\x4a\x94\x4a\x90\x4a\xd8\x14\x1c\xd8\x17\x1b\x97\x7b\x92\x7b\x91\x7d\x94\x7d\x90\x04\xdd\x1f\x27\xa8\x07\xb0\x14\xd1\x1f\x36\xd4\x1f\x36\x91\x0c\x90\x03\x90\x57\xd8\x17\x1e\xa0\x2b\xd0\x17\x2d\xd0\x17\x2d\xb5\x22\xb4\x27\xb7\x2e\xb2\x2e\xc0\x13\xd1\x32\x45\xd4\x32\x45\xd0\x17\x2d\xdd\x14\x17\x94\x48\x97\x4f\x92\x4f\xa0\x43\xd1\x14\x28\xd4\x14\x28\xd0\x14\x28\xd8\x14\x1f\x97\x4f\x92\x4f\xa0\x47\xd1\x14\x2c\xd4\x14\x2c\xd0\x14\x2c\xf8\xf8\xdd\x13\x1c\xf0\x00\x08\x0d\x16\xf0\x00\x08\x0d\x16\xf0\x00\x08\x0d\x16\xdd\x10\x15\xd0\x16\x3b\xd7\x16\x42\xd2\x16\x42\xc0\x31\xc0\x51\xc1\x33\xc8\x08\xd1\x16\x51\xd4\x16\x51\xdd\x1b\x1e\x9c\x3a\xf0\x03\x01\x11\x27\xf1\x00\x01\x11\x27\xf4\x00\x01\x11\x27\xf0\x00\x01\x11\x27\xe0\x10\x20\xd0\x10\x20\xd0\x10\x20\xd0\x10\x20\xd8\x1e\x38\x98\x69\xd4\x1e\x38\xbd\x23\xbc\x2c\xb9\x2e\xbc\x2e\xd0\x1e\x49\xf0\x00\x02\x11\x3a\xf0\x00\x02\x11\x3a\x90\x46\xd8\x20\x26\xd7\x20\x31\xd2\x20\x31\xd1\x20\x33\xd4\x20\x33\xf0\x00\x01\x15\x3a\xf0\x00\x01\x15\x3a\x98\x04\xdd\x18\x1d\x98\x64\xa0\x34\x99\x69\xad\x63\xac\x6a\xd0\x18\x39\xd1\x18\x39\xd4\x18\x39\xd0\x18\x39\xd0\x18\x39\xf0\x03\x01\x15\x3a\xe5\x10\x15\xd0\x16\x33\xbd\x23\xbc\x2a\xd0\x10\x45\xd1\x10\x45\xd4\x10\x45\xd0\x10\x45\xd8\x10\x15\x90\x05\x90\x05\xf0\x11\x08\x0d\x16\xf8\xf8\xf8\xf0\x1f\x17\x05\x16\xf0\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xf1\x00\x17\x05\x16\xf4\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xf8\xf8\xf8\xf0\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xf0\x00\x17\x05\x16\xf0\x30\x00\x08\x0d\xf0\x00\x01\x05\x1b\xd8\x16\x1a\x88\x0b\xd8\x0b\x16\xd0\x04\x16", + .ob_sval = "\x80\x00\xf0\x0a\x00\x08\x13\xd0\x07\x1a\xdc\x16\x24\xd3\x16\x26\x88\x0b\xd8\x10\x14\x89\x05\xe0\x10\x15\x88\x05\xdc\x0f\x11\x8f\x77\x89\x77\x8f\x7c\x89\x7c\x98\x47\xa0\x54\xd3\x0f\x2a\x80\x48\xf0\x02\x03\x05\x0f\xdc\x0d\x0f\x8f\x58\x89\x58\x90\x68\xd3\x0d\x1f\x88\x02\xf4\x06\x00\x0a\x11\x90\x12\x90\x5a\xa0\x11\xd3\x09\x23\xa4\x64\xa7\x6e\xa1\x6e\xd2\x09\x34\xdc\x09\x10\x90\x12\xd0\x15\x29\xa8\x31\xd3\x09\x2d\xb4\x04\xd7\x30\x4a\xd1\x30\x4a\xd2\x09\x4a\xdc\x08\x0e\xd0\x11\x2c\xa8\x58\xa8\x4c\xd0\x0f\x39\xd4\x08\x3a\xd8\x08\x0e\xdc\x04\x0a\xd0\x0d\x23\xa0\x48\xa0\x3c\xd0\x0b\x30\xd4\x04\x31\xf0\x02\x05\x05\x0f\xf4\x06\x00\x0d\x0f\xd7\x0c\x1c\xd1\x0c\x1c\x9c\x52\x9f\x5c\x99\x5c\xa8\x28\xd3\x1d\x33\xb8\x68\xd4\x0c\x47\x88\x01\xf0\x06\x00\x0a\x0b\xf1\x00\x17\x05\x16\xdc\x17\x20\xa0\x11\x93\x7c\xf2\x00\x16\x09\x16\x89\x47\x88\x41\x88\x74\xd8\x0f\x13\x8f\x7f\x89\x7f\x98\x73\xd4\x0f\x23\xd8\x10\x18\xd8\x0f\x13\x8f\x7a\x89\x7a\x8b\x7c\x98\x72\xd2\x0f\x21\xd8\x10\x18\xf0\x02\x11\x0d\x16\xd8\x13\x17\x97\x3f\x91\x3f\xd0\x23\x3a\xd4\x13\x3b\xdc\x14\x18\x98\x14\x94\x4a\xd8\x14\x1c\xd8\x17\x1b\x97\x7b\x91\x7b\x93\x7d\x90\x04\xdc\x1f\x27\xa8\x07\xb0\x14\xd3\x1f\x36\x91\x0c\x90\x03\x90\x57\xd8\x17\x1e\xa0\x2b\xd1\x17\x2d\xb4\x22\xb7\x27\xb1\x27\xb7\x2e\xb1\x2e\xc0\x13\xd4\x32\x45\xdc\x14\x17\x97\x48\x91\x48\x97\x4f\x91\x4f\xa0\x43\xd4\x14\x28\xd8\x14\x1f\x97\x4f\x91\x4f\xa0\x47\xd4\x14\x2c\xf8\xf0\x1b\x16\x09\x16\xf7\x03\x17\x05\x16\xf1\x30\x00\x08\x0d\xd8\x16\x1a\x88\x0b\xd8\x0b\x16\xd0\x04\x16\xf8\xf4\x4f\x01\x00\x0c\x13\xf2\x00\x01\x05\x0f\xd9\x08\x0e\xf0\x03\x01\x05\x0f\xfb\xf4\x16\x00\x0c\x13\xf2\x00\x01\x05\x0f\xd9\x08\x0e\xf0\x03\x01\x05\x0f\xfb\xf4\x22\x00\x14\x1d\xf2\x00\x08\x0d\x16\xdc\x10\x15\xd0\x16\x3b\xd7\x16\x42\xd1\x16\x42\xc0\x31\xc0\x51\xc1\x33\xc8\x08\xd3\x16\x51\xdc\x1b\x1e\x9f\x3a\x99\x3a\xf5\x03\x01\x11\x27\xe3\x10\x20\xd8\x1e\x27\xd7\x1e\x38\xd1\x1e\x38\xb8\x13\xd3\x1e\x3d\xf2\x00\x02\x11\x3a\x90\x46\xd8\x20\x26\xd7\x20\x31\xd1\x20\x31\xd3\x20\x33\xf2\x00\x01\x15\x3a\x98\x04\xdc\x18\x1d\x98\x64\xa0\x34\x99\x69\xac\x63\xaf\x6a\xa9\x6a\xd6\x18\x39\xf1\x03\x01\x15\x3a\xf0\x03\x02\x11\x3a\xf4\x06\x00\x11\x16\xd0\x16\x33\xbc\x23\xbf\x2a\xb9\x2a\xd5\x10\x45\xdd\x10\x15\xfb\xf0\x11\x08\x0d\x16\xfa\xf7\x1f\x17\x05\x16\xf0\x00\x17\x05\x16\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[105]; + char ob_sval[104]; } site_toplevel_consts_8_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 104, + .ob_size = 103, }, .ob_shash = -1, - .ob_sval = "\xb7\x14\x41\x0c\x00\xc1\x0c\x0a\x41\x1a\x03\xc1\x19\x01\x41\x1a\x03\xc3\x00\x28\x43\x29\x00\xc3\x29\x0a\x43\x37\x03\xc3\x36\x01\x43\x37\x03\xc3\x3c\x41\x05\x4a\x27\x03\xc5\x02\x24\x47\x26\x04\xc5\x26\x01\x4a\x27\x03\xc5\x27\x41\x3e\x47\x26\x04\xc7\x25\x01\x4a\x27\x03\xc7\x26\x42\x2e\x4a\x18\x07\xca\x14\x03\x4a\x27\x03\xca\x17\x01\x4a\x18\x07\xca\x18\x03\x4a\x27\x03\xca\x27\x04\x4a\x2b\x07\xca\x2e\x01\x4a\x2b\x07", + .ob_sval = "\xb3\x15\x46\x26\x00\xc2\x22\x2a\x46\x35\x00\xc3\x0e\x38\x49\x31\x03\xc4\x07\x1c\x47\x04\x04\xc4\x23\x01\x49\x31\x03\xc4\x24\x41\x32\x47\x04\x04\xc6\x16\x02\x49\x31\x03\xc6\x26\x09\x46\x32\x03\xc6\x31\x01\x46\x32\x03\xc6\x35\x09\x47\x01\x03\xc7\x00\x01\x47\x01\x03\xc7\x04\x09\x49\x2e\x07\xc7\x0d\x42\x16\x49\x29\x07\xc9\x23\x06\x49\x31\x03\xc9\x29\x05\x49\x2e\x07\xc9\x2e\x03\x49\x31\x03\xc9\x31\x05\x49\x3a\x07", }; static struct { @@ -127193,7 +123956,7 @@ static const_str_sitedir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -127202,7 +123965,7 @@ const_str_sitedir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sitedir", @@ -127215,7 +123978,7 @@ static const_str_record = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -127224,7 +123987,7 @@ const_str_record = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "record", @@ -127234,17 +123997,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[13]; + PyObject *ob_item[14]; }_object; } site_toplevel_consts_8_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 13, + .ob_size = 14, }, .ob_item = { & const_str_sitedir._ascii.ob_base, @@ -127253,51 +124016,50 @@ site_toplevel_consts_8_localsplusnames = { &_Py_ID(reset), & const_str_fullname._ascii.ob_base, & const_str_st._ascii.ob_base, - & const_str_f._ascii.ob_base, - & const_str_n._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[102], + &_Py_ID(n), &_Py_ID(line), & const_str_dir._ascii.ob_base, & const_str_dircase._ascii.ob_base, - & const_str_traceback._ascii.ob_base, + & const_str_exc._ascii.ob_base, + &_Py_ID(traceback), & const_str_record._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(1392) + struct _PyCode_DEF(1274) site_toplevel_consts_8 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 696, + .ob_size = 637, }, .co_consts = & site_toplevel_consts_8_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_8_names._object.ob_base.ob_base, .co_exceptiontable = & site_toplevel_consts_8_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 23 + FRAME_SPECIALS_SIZE, .co_stacksize = 9, .co_firstlineno = 161, - .co_nlocalsplus = 13, - .co_nlocals = 13, - .co_nplaincellvars = 0, + .co_nlocalsplus = 14, + .co_nlocals = 14, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 678, .co_localsplusnames = & site_toplevel_consts_8_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & posixpath_toplevel_consts_32_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_72_consts_6_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_addpackage._ascii.ob_base, .co_qualname = & const_str_addpackage._ascii.ob_base, .co_linetable = & site_toplevel_consts_8_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x80\x11\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x02\x7d\x03\x6e\x02\x64\x03\x7d\x03\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x09\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x11\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x64\x04\x64\x05\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x01\x00\x00\x73\x1e\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x64\x06\x64\x05\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x01\x00\x00\x72\x14\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x7c\x04\x9b\x02\x9d\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x7c\x04\x9b\x02\x9d\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\xac\x0a\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x6e\x11\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x06\x35\x00\x01\x00\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x90\x01\x5d\x8d\x5c\x02\x00\x00\x7d\x07\x7d\x08\x7c\x08\xa0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x01\x8c\x1c\x7c\x08\xa0\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\x6b\x02\x00\x00\x00\x00\x72\x01\x8c\x35\x09\x00\x7c\x08\xa0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x10\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x5b\x7c\x08\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x74\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x08\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x09\x7d\x0a\x7c\x0a\x7c\x02\x76\x01\x72\x53\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x34\x74\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\xa0\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\xda\x23\x00\x74\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\xa8\x01\x00\x74\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0e\xa0\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x64\x0f\x7a\x00\x00\x00\x7c\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\xac\x10\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x05\x64\x01\x6c\x1c\x7d\x0b\x02\x00\x7c\x0b\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x74\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x44\x00\x5d\x37\x7d\x0c\x7c\x0c\xa0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x20\x7d\x08\x74\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x11\x7c\x08\x7a\x00\x00\x00\x74\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\xac\x10\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x21\x8c\x38\x74\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x12\x74\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\xac\x10\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x01\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x01\x64\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x7c\x03\x72\x02\x64\x01\x7d\x02\x7c\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x80\x0d\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x02\x7d\x03\x6e\x02\x64\x03\x7d\x03\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x04\x09\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x64\x04\x64\x05\xab\x03\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x01\x00\x00\x73\x1e\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x64\x06\x64\x05\xab\x03\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x01\x00\x00\x72\x0f\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x7c\x04\x9b\x02\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x7c\x04\x9b\x02\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x64\x09\xac\x0a\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x35\x00\x01\x00\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\xbb\x00\x00\x5c\x02\x00\x00\x7d\x07\x7d\x08\x7c\x08\x6a\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x72\x01\x8c\x18\x7c\x08\x6a\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x64\x0c\x6b\x28\x00\x00\x72\x01\x8c\x2c\x09\x00\x7c\x08\x6a\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\xab\x01\x00\x00\x00\x00\x00\x00\x72\x0c\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x4a\x7c\x08\x6a\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x74\x27\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x08\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x09\x7d\x0a\x7c\x0a\x7c\x02\x76\x01\x72\x4f\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x72\x30\x74\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x6a\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\xbd\x04\x00\x64\x01\x64\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x03\x72\x02\x64\x01\x7d\x02\x7c\x02\x53\x00\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x30\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\xa1\x7d\x0b\x74\x33\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0e\x6a\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x64\x0f\x7a\x00\x00\x00\x7c\x04\xab\x02\x00\x00\x00\x00\x00\x00\x74\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x10\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x64\x05\x64\x01\x6c\x1c\x7d\x0c\x7c\x0c\x6a\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x35\x00\x00\x7d\x0d\x7c\x0d\x6a\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x20\x00\x00\x7d\x08\x74\x33\x00\x00\x00\x00\x00\x00\x00\x00\x64\x11\x7c\x08\x7a\x00\x00\x00\x74\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x10\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x22\x04\x00\x8c\x37\x04\x00\x74\x33\x00\x00\x00\x00\x00\x00\x00\x00\x64\x12\x74\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x10\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x01\x7d\x0b\x7e\x0b\x01\x00\x8c\xd1\x64\x01\x7d\x0b\x7e\x0b\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x8c\xda\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -127308,7 +124070,7 @@ static site_toplevel_consts_9_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 84, @@ -127317,7 +124079,7 @@ site_toplevel_consts_9_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x64\x64\x20\x27\x73\x69\x74\x65\x64\x69\x72\x27\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x74\x6f\x20\x73\x79\x73\x2e\x70\x61\x74\x68\x20\x69\x66\x20\x6d\x69\x73\x73\x69\x6e\x67\x20\x61\x6e\x64\x20\x68\x61\x6e\x64\x6c\x65\x20\x2e\x70\x74\x68\x20\x66\x69\x6c\x65\x73\x20\x69\x6e\x0a\x20\x20\x20\x20\x27\x73\x69\x74\x65\x64\x69\x72\x27", @@ -127330,7 +124092,7 @@ static site_toplevel_consts_9_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -127339,7 +124101,7 @@ site_toplevel_consts_9_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Adding directory: ", @@ -127349,10 +124111,10 @@ static PyASCIIObject _ascii; uint8_t _data[5]; } -site_toplevel_consts_9_consts_5_consts_0 = { +site_toplevel_consts_9_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -127361,7 +124123,7 @@ site_toplevel_consts_9_consts_5_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = ".pth", @@ -127371,162 +124133,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -site_toplevel_consts_9_consts_5_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & site_toplevel_consts_9_consts_5_consts_0._ascii.ob_base, - &_Py_STR(dot), - }, - }, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -site_toplevel_consts_9_consts_5_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & const_str_endswith._ascii.ob_base, - & const_str_startswith._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[31]; - } -site_toplevel_consts_9_consts_5_qualname = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 30, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "addsitedir..", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[85]; - } -site_toplevel_consts_9_consts_5_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 84, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x00\x01\x0d\x44\x01\xf0\x00\x01\x0d\x44\x01\xf0\x00\x01\x0d\x44\x01\x90\x64\xd8\x10\x14\x97\x0d\x92\x0d\x98\x66\xd1\x10\x25\xd4\x10\x25\xf0\x03\x01\x0d\x44\x01\xd8\x2e\x32\xaf\x6f\xaa\x6f\xb8\x63\xd1\x2e\x42\xd4\x2e\x42\xf0\x03\x01\x0d\x44\x01\x88\x54\xf0\x00\x01\x0d\x44\x01\xf0\x00\x01\x0d\x44\x01\xf0\x00\x01\x0d\x44\x01", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; - } -site_toplevel_consts_9_consts_5_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0._ascii.ob_base, - &_Py_ID(name), - }, - }, -}; -static - struct _PyCode_DEF(102) -site_toplevel_consts_9_consts_5 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 51, - }, - .co_consts = & site_toplevel_consts_9_consts_5_consts._object.ob_base.ob_base, - .co_names = & site_toplevel_consts_9_consts_5_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 233, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & site_toplevel_consts_9_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), - .co_qualname = & site_toplevel_consts_9_consts_5_qualname._ascii.ob_base, - .co_linetable = & site_toplevel_consts_9_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7c\x00\x5d\x2e\x7d\x01\x7c\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x17\x7c\x01\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x2c\x7c\x01\x91\x02\x8c\x2f\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[6]; + PyObject *ob_item[7]; }_object; } site_toplevel_consts_9_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 6, + .ob_size = 7, }, .ob_item = { & site_toplevel_consts_9_consts_0._ascii.ob_base, @@ -127534,7 +124151,8 @@ site_toplevel_consts_9_consts = { Py_None, Py_True, Py_False, - & site_toplevel_consts_9_consts_5.ob_base.ob_base, + & site_toplevel_consts_9_consts_5._ascii.ob_base, + &_Py_STR(dot), }, }, }; @@ -127543,17 +124161,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[12]; + PyObject *ob_item[14]; }_object; } site_toplevel_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 12, + .ob_size = 14, }, .ob_item = { & const_str__trace._ascii.ob_base, @@ -127566,6 +124184,8 @@ site_toplevel_consts_9_names = { & const_str_os._ascii.ob_base, & const_str_listdir._ascii.ob_base, & const_str_OSError._ascii.ob_base, + & const_str_endswith._ascii.ob_base, + & const_str_startswith._ascii.ob_base, & const_str_sorted._ascii.ob_base, & const_str_addpackage._ascii.ob_base, }, @@ -127579,7 +124199,7 @@ static const_str_addsitedir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -127588,7 +124208,7 @@ const_str_addsitedir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "addsitedir", @@ -127597,35 +124217,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[275]; + char ob_sval[241]; } site_toplevel_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 274, + .ob_size = 240, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x05\x0b\xd0\x0b\x2b\xa0\x07\xd0\x0b\x2b\xd0\x0b\x2b\xd1\x04\x2c\xd4\x04\x2c\xd0\x04\x2c\xd8\x07\x12\xd0\x07\x1a\xdd\x16\x24\xd1\x16\x26\xd4\x16\x26\x88\x0b\xd8\x10\x14\x88\x05\x88\x05\xe0\x10\x15\x88\x05\xdd\x1b\x23\xa0\x47\xd1\x1b\x2c\xd4\x1b\x2c\xd1\x04\x18\x80\x47\x88\x5b\xd8\x0b\x16\x98\x2b\xd0\x0b\x25\xd0\x0b\x25\xdd\x08\x0b\x8c\x08\x8f\x0f\x8a\x0f\x98\x07\xd1\x08\x20\xd4\x08\x20\xd0\x08\x20\xd8\x08\x13\x8f\x0f\x8a\x0f\x98\x0b\xd1\x08\x24\xd4\x08\x24\xd0\x08\x24\xf0\x02\x03\x05\x0f\xdd\x10\x12\x94\x0a\x98\x37\xd1\x10\x23\xd4\x10\x23\x88\x05\x88\x05\xf8\xdd\x0b\x12\xf0\x00\x01\x05\x0f\xf0\x00\x01\x05\x0f\xf0\x00\x01\x05\x0f\xd8\x08\x0e\x88\x06\x88\x06\xf0\x03\x01\x05\x0f\xf8\xf8\xf8\xf0\x04\x01\x0d\x44\x01\xf0\x00\x01\x0d\x44\x01\x98\x65\xf0\x00\x01\x0d\x44\x01\xf1\x00\x01\x0d\x44\x01\xf4\x00\x01\x0d\x44\x01\x80\x45\xe5\x10\x16\x90\x75\x91\x0d\x94\x0d\xf0\x00\x01\x05\x2f\xf0\x00\x01\x05\x2f\x88\x04\xdd\x08\x12\x90\x37\x98\x44\xa0\x2b\xd1\x08\x2e\xd4\x08\x2e\xd0\x08\x2e\xd0\x08\x2e\xd8\x07\x0c\xf0\x00\x01\x05\x1b\xd8\x16\x1a\x88\x0b\xd8\x0b\x16\xd0\x04\x16", + .ob_sval = "\x80\x00\xf4\x06\x00\x05\x0b\xd0\x0d\x1f\xa0\x07\x98\x7b\xd0\x0b\x2b\xd4\x04\x2c\xd8\x07\x12\xd0\x07\x1a\xdc\x16\x24\xd3\x16\x26\x88\x0b\xd8\x10\x14\x89\x05\xe0\x10\x15\x88\x05\xdc\x1b\x23\xa0\x47\xd3\x1b\x2c\xd1\x04\x18\x80\x47\x88\x5b\xd8\x0b\x16\x98\x2b\xd1\x0b\x25\xdc\x08\x0b\x8f\x08\x89\x08\x8f\x0f\x89\x0f\x98\x07\xd4\x08\x20\xd8\x08\x13\x8f\x0f\x89\x0f\x98\x0b\xd4\x08\x24\xf0\x02\x03\x05\x0f\xdc\x10\x12\x97\x0a\x91\x0a\x98\x37\xd3\x10\x23\x88\x05\xf0\x06\x00\x1f\x24\xf6\x00\x01\x0d\x44\x01\x90\x64\xd8\x10\x14\x97\x0d\x91\x0d\x98\x66\xd4\x10\x25\xa8\x64\xaf\x6f\xa9\x6f\xb8\x63\xd4\x2e\x42\xf2\x03\x00\x0e\x12\xf0\x00\x01\x0d\x44\x01\x80\x45\xf0\x00\x01\x0d\x44\x01\xe4\x10\x16\x90\x75\x93\x0d\xf2\x00\x01\x05\x2f\x88\x04\xdc\x08\x12\x90\x37\x98\x44\xa0\x2b\xd5\x08\x2e\xf0\x03\x01\x05\x2f\xe1\x07\x0c\xd8\x16\x1a\x88\x0b\xd8\x0b\x16\xd0\x04\x16\xf8\xf4\x11\x00\x0c\x13\xf2\x00\x01\x05\x0f\xd9\x08\x0e\xf0\x03\x01\x05\x0f\xfc\xf2\x04\x01\x0d\x44\x01", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[19]; + char ob_sval[25]; } site_toplevel_consts_9_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 18, + .ob_size = 24, }, .ob_shash = -1, - .ob_sval = "\xc1\x33\x14\x42\x08\x00\xc2\x08\x0a\x42\x16\x03\xc2\x15\x01\x42\x16\x03", + .ob_sval = "\xc1\x23\x15\x43\x0c\x00\xc1\x3c\x2b\x43\x1b\x04\xc3\x0c\x09\x43\x18\x03\xc3\x17\x01\x43\x18\x03", }; static struct { @@ -127635,7 +124255,7 @@ static const_str_sitedircase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -127644,7 +124264,7 @@ const_str_sitedircase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sitedircase", @@ -127661,7 +124281,7 @@ site_toplevel_consts_9_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -127677,40 +124297,38 @@ site_toplevel_consts_9_localsplusnames = { }, }; static - struct _PyCode_DEF(412) + struct _PyCode_DEF(448) site_toplevel_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 206, + .ob_size = 224, }, .co_consts = & site_toplevel_consts_9_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = & site_toplevel_consts_9_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 216, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 679, .co_localsplusnames = & site_toplevel_consts_9_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_addsitedir._ascii.ob_base, .co_qualname = & const_str_addsitedir._ascii.ob_base, .co_linetable = & site_toplevel_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x9b\x02\x9d\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x80\x11\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x64\x03\x7d\x02\x6e\x02\x64\x04\x7d\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x00\x7d\x03\x7c\x03\x7c\x01\x76\x01\x72\x34\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x6e\x11\x23\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x02\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x64\x05\x84\x00\x7c\x04\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x13\x7d\x05\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x05\x7c\x01\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x14\x7c\x02\x72\x02\x64\x02\x7d\x01\x7c\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7c\x00\x9b\x02\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x80\x0d\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x64\x03\x7d\x02\x6e\x02\x64\x04\x7d\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x00\x7d\x03\x7c\x03\x7c\x01\x76\x01\x72\x30\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x7c\x04\x44\x00\x8f\x05\x63\x02\x67\x00\x63\x02\x5d\x26\x00\x00\x7d\x05\x7c\x05\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xab\x01\x00\x00\x00\x00\x00\x00\x72\x13\x7c\x05\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xab\x01\x00\x00\x00\x00\x00\x00\x73\x02\x7c\x05\x91\x02\x8c\x28\x04\x00\x7d\x04\x7d\x05\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x0f\x00\x00\x7d\x05\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x05\x7c\x01\xab\x03\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x11\x04\x00\x7c\x02\x72\x02\x64\x02\x7d\x01\x7c\x01\x53\x00\x23\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x02\x77\x00\x78\x03\x59\x00\x77\x01\x63\x02\x01\x00\x63\x02\x7d\x05\x77\x00", ._co_firsttraceable = 0, }; static @@ -127721,7 +124339,7 @@ static site_toplevel_consts_10_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 300, @@ -127730,7 +124348,7 @@ site_toplevel_consts_10_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x43\x68\x65\x63\x6b\x20\x69\x66\x20\x75\x73\x65\x72\x20\x73\x69\x74\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x73\x61\x66\x65\x20\x66\x6f\x72\x20\x69\x6e\x63\x6c\x75\x73\x69\x6f\x6e\x0a\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x74\x65\x73\x74\x73\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x6c\x69\x6e\x65\x20\x66\x6c\x61\x67\x20\x28\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x76\x61\x72\x29\x2c\x0a\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x75\x69\x64\x2f\x67\x69\x64\x20\x65\x71\x75\x61\x6c\x20\x74\x6f\x20\x65\x66\x66\x65\x63\x74\x69\x76\x65\x20\x75\x69\x64\x2f\x67\x69\x64\x2e\x0a\x0a\x20\x20\x20\x20\x4e\x6f\x6e\x65\x3a\x20\x44\x69\x73\x61\x62\x6c\x65\x64\x20\x66\x6f\x72\x20\x73\x65\x63\x75\x72\x69\x74\x79\x20\x72\x65\x61\x73\x6f\x6e\x73\x0a\x20\x20\x20\x20\x46\x61\x6c\x73\x65\x3a\x20\x44\x69\x73\x61\x62\x6c\x65\x64\x20\x62\x79\x20\x75\x73\x65\x72\x20\x28\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x6c\x69\x6e\x65\x20\x6f\x70\x74\x69\x6f\x6e\x29\x0a\x20\x20\x20\x20\x54\x72\x75\x65\x3a\x20\x53\x61\x66\x65\x20\x61\x6e\x64\x20\x65\x6e\x61\x62\x6c\x65\x64\x0a\x20\x20\x20\x20", @@ -127743,7 +124361,7 @@ static const_str_geteuid = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -127752,7 +124370,7 @@ const_str_geteuid = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "geteuid", @@ -127765,7 +124383,7 @@ static const_str_getgid = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -127774,7 +124392,7 @@ const_str_getgid = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getgid", @@ -127787,7 +124405,7 @@ static const_str_getegid = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -127796,7 +124414,7 @@ const_str_getegid = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getegid", @@ -127813,7 +124431,7 @@ site_toplevel_consts_10_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -127838,7 +124456,7 @@ static const_str_no_user_site = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -127847,7 +124465,7 @@ const_str_no_user_site = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "no_user_site", @@ -127864,14 +124482,14 @@ site_toplevel_consts_10_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, }, .ob_item = { & const_str_sys._ascii.ob_base, - & const_str_flags._ascii.ob_base, + &_Py_ID(flags), & const_str_no_user_site._ascii.ob_base, & const_str_hasattr._ascii.ob_base, & const_str_os._ascii.ob_base, @@ -127890,7 +124508,7 @@ static const_str_check_enableusersite = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -127899,7 +124517,7 @@ const_str_check_enableusersite = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "check_enableusersite", @@ -127908,54 +124526,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[154]; + char ob_sval[108]; } site_toplevel_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 153, + .ob_size = 107, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x14\x00\x08\x0b\x84\x79\xd4\x07\x1d\xf0\x00\x01\x05\x15\xd8\x0f\x14\x88\x75\xe5\x07\x0e\x8d\x72\x90\x38\xd1\x07\x1c\xd4\x07\x1c\xf0\x00\x03\x05\x18\xa5\x17\xad\x12\xa8\x59\xd1\x21\x37\xd4\x21\x37\xf0\x00\x03\x05\x18\xe5\x0b\x0d\x8c\x3a\x89\x3c\x8c\x3c\x9d\x32\x9c\x39\x99\x3b\x9c\x3b\xd2\x0b\x26\xd0\x0b\x26\xd8\x13\x17\x90\x34\xdd\x07\x0e\x8d\x72\x90\x38\xd1\x07\x1c\xd4\x07\x1c\xf0\x00\x03\x05\x18\xa5\x17\xad\x12\xa8\x59\xd1\x21\x37\xd4\x21\x37\xf0\x00\x03\x05\x18\xe5\x0b\x0d\x8c\x3a\x89\x3c\x8c\x3c\x9d\x32\x9c\x39\x99\x3b\x9c\x3b\xd2\x0b\x26\xd0\x0b\x26\xd8\x13\x17\x90\x34\xe0\x0b\x0f\x88\x34", + .ob_sval = "\x80\x00\xf4\x14\x00\x08\x0b\x87\x79\x81\x79\xd7\x07\x1d\xd2\x07\x1d\xd8\x0f\x14\xe4\x07\x0e\x8c\x72\x90\x38\xd4\x07\x1c\xa4\x17\xac\x12\xa8\x59\xd4\x21\x37\xe4\x0b\x0d\x8f\x3a\x89\x3a\x8b\x3c\x9c\x32\x9f\x39\x99\x39\x9b\x3b\xd2\x0b\x26\xd8\x13\x17\xdc\x07\x0e\x8c\x72\x90\x38\xd4\x07\x1c\xa4\x17\xac\x12\xa8\x59\xd4\x21\x37\xe4\x0b\x0d\x8f\x3a\x89\x3a\x8b\x3c\x9c\x32\x9f\x39\x99\x39\x9b\x3b\xd2\x0b\x26\xd8\x13\x17\xe0\x0b\x0f", }; static - struct _PyCode_DEF(380) + struct _PyCode_DEF(354) site_toplevel_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 190, + .ob_size = 177, }, .co_consts = & site_toplevel_consts_10_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_10_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 242, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 680, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_check_enableusersite._ascii.ob_base, .co_qualname = & const_str_check_enableusersite._ascii.ob_base, .co_linetable = & site_toplevel_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x64\x01\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x3f\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2a\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x02\x64\x04\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x3f\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2a\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x02\x64\x04\x53\x00\x64\x07\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x01\x79\x01\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x72\x3a\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xab\x02\x00\x00\x00\x00\x00\x00\x72\x2a\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\x01\x79\x04\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xab\x02\x00\x00\x00\x00\x00\x00\x72\x3a\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xab\x02\x00\x00\x00\x00\x00\x00\x72\x2a\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\x01\x79\x04\x79\x07", ._co_firsttraceable = 0, }; static @@ -127966,7 +124582,7 @@ static const_str_PYTHONUSERBASE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -127975,7 +124591,7 @@ const_str_PYTHONUSERBASE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "PYTHONUSERBASE", @@ -127988,7 +124604,7 @@ static const_str_emscripten = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -127997,7 +124613,7 @@ const_str_emscripten = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "emscripten", @@ -128010,7 +124626,7 @@ static const_str_wasi = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -128019,7 +124635,7 @@ const_str_wasi = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "wasi", @@ -128036,7 +124652,7 @@ site_toplevel_consts_11_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -128061,7 +124677,7 @@ site_toplevel_consts_11_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -128082,7 +124698,7 @@ static const_str_joinuser = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -128091,7 +124707,7 @@ const_str_joinuser = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "joinuser", @@ -128104,7 +124720,7 @@ static site_toplevel_consts_11_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -128113,7 +124729,7 @@ site_toplevel_consts_11_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_getuserbase..joinuser", @@ -128122,18 +124738,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[34]; + char ob_sval[37]; } site_toplevel_consts_11_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 33, + .ob_size = 36, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x11\x8c\x77\xd7\x0f\x21\xd2\x0f\x21\xa5\x22\xa4\x27\xa4\x2c\xb0\x04\xd0\x22\x35\xd1\x0f\x36\xd4\x0f\x36\xd0\x08\x36", + .ob_sval = "\x80\x00\xdc\x0f\x11\x8f\x77\x89\x77\xd7\x0f\x21\xd1\x0f\x21\xa4\x22\xa7\x27\xa1\x27\xa7\x2c\xa1\x2c\xb0\x04\xd0\x22\x35\xd3\x0f\x36\xd0\x08\x36", }; static struct { @@ -128147,51 +124763,49 @@ site_toplevel_consts_11_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & const_str_args._ascii.ob_base, + &_Py_ID(args), }, }, }; static - struct _PyCode_DEF(98) + struct _PyCode_DEF(116) site_toplevel_consts_11_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 49, + .ob_size = 58, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_11_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 23, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 283, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 681, .co_localsplusnames = & site_toplevel_consts_11_consts_3_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_joinuser._ascii.ob_base, .co_qualname = & site_toplevel_consts_11_consts_3_qualname._ascii.ob_base, .co_linetable = & site_toplevel_consts_11_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x8e\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x8e\x00\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -128202,7 +124816,7 @@ static const_str_APPDATA = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -128211,7 +124825,7 @@ const_str_APPDATA = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "APPDATA", @@ -128224,7 +124838,7 @@ static const_str_Python = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -128233,7 +124847,7 @@ const_str_Python = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Python", @@ -128246,7 +124860,7 @@ static const_str_Library = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -128255,7 +124869,7 @@ const_str_Library = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Library", @@ -128268,7 +124882,7 @@ static site_toplevel_consts_11_consts_12 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -128277,7 +124891,7 @@ site_toplevel_consts_11_consts_12 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = ".local", @@ -128294,7 +124908,7 @@ site_toplevel_consts_11_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -128304,13 +124918,13 @@ site_toplevel_consts_11_consts = { & const_str_PYTHONUSERBASE._ascii.ob_base, & site_toplevel_consts_11_consts_2._object.ob_base.ob_base, & site_toplevel_consts_11_consts_3.ob_base.ob_base, - & const_str_nt._ascii.ob_base, + &_Py_ID(nt), & const_str_APPDATA._ascii.ob_base, - & ntpath_toplevel_consts_27_consts_2._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[126], & const_str_Python._ascii.ob_base, & const_str_darwin._ascii.ob_base, & const_str_Library._ascii.ob_base, - & importlib__bootstrap_external_toplevel_consts_53_consts_6_consts_1._ascii.ob_base, + & importlib__bootstrap_external_toplevel_consts_52_consts_6_consts_1._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], & site_toplevel_consts_11_consts_12._ascii.ob_base, }, @@ -128324,7 +124938,7 @@ static const_str__framework = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -128333,7 +124947,7 @@ const_str__framework = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_framework", @@ -128350,7 +124964,7 @@ site_toplevel_consts_11_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -128375,7 +124989,7 @@ static const_str__getuserbase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -128384,7 +124998,7 @@ const_str__getuserbase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_getuserbase", @@ -128393,18 +125007,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[217]; + char ob_sval[181]; } site_toplevel_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 216, + .ob_size = 180, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0f\x11\x8c\x7a\x8f\x7e\x8a\x7e\xd0\x1e\x2e\xb0\x04\xd1\x0f\x35\xd4\x0f\x35\x80\x48\xd8\x07\x0f\xf0\x00\x01\x05\x18\xd8\x0f\x17\x88\x0f\xf5\x06\x00\x08\x0b\x84\x7c\xd0\x17\x38\xd0\x07\x38\xd0\x07\x38\xd8\x0f\x13\x88\x74\xf0\x04\x01\x05\x37\xf0\x00\x01\x05\x37\xf0\x00\x01\x05\x37\xf5\x06\x00\x08\x0a\x84\x77\x90\x24\x82\x7f\x80\x7f\xdd\x0f\x11\x8c\x7a\x8f\x7e\x8a\x7e\x98\x69\xd1\x0f\x28\xd4\x0f\x28\xd0\x0f\x2f\xa8\x43\x88\x04\xd8\x0f\x17\x88\x78\x98\x04\x98\x68\xd1\x0f\x27\xd4\x0f\x27\xd0\x08\x27\xe5\x07\x0a\x84\x7c\x90\x78\xd2\x07\x1f\xd0\x07\x1f\xa5\x43\xa4\x4e\xd0\x07\x1f\xd8\x0f\x17\x88\x78\x98\x03\x98\x59\xad\x03\xac\x0e\xd8\x18\x1f\xa5\x23\xd4\x22\x32\xb0\x32\xb0\x41\xb0\x32\xd4\x22\x36\xd1\x18\x36\xf1\x03\x01\x10\x38\xf4\x00\x01\x10\x38\xf0\x00\x01\x09\x38\xf0\x06\x00\x0c\x14\x88\x38\x90\x43\x98\x18\xd1\x0b\x22\xd4\x0b\x22\xd0\x04\x22", + .ob_sval = "\x80\x00\xdc\x0f\x11\x8f\x7a\x89\x7a\x8f\x7e\x89\x7e\xd0\x1e\x2e\xb0\x04\xd3\x0f\x35\x80\x48\xd9\x07\x0f\xd8\x0f\x17\x88\x0f\xf4\x06\x00\x08\x0b\x87\x7c\x81\x7c\xd0\x17\x38\xd1\x07\x38\xd8\x0f\x13\xf2\x04\x01\x05\x37\xf4\x06\x00\x08\x0a\x87\x77\x81\x77\x90\x24\x82\x7f\xdc\x0f\x11\x8f\x7a\x89\x7a\x8f\x7e\x89\x7e\x98\x69\xd3\x0f\x28\xd2\x0f\x2f\xa8\x43\x88\x04\xd9\x0f\x17\x98\x04\x98\x68\xd3\x0f\x27\xd0\x08\x27\xe4\x07\x0a\x87\x7c\x81\x7c\x90\x78\xd2\x07\x1f\xa4\x43\xa7\x4e\xa2\x4e\xd9\x0f\x17\x98\x03\x98\x59\xac\x03\xaf\x0e\xa9\x0e\xd8\x18\x1f\xa4\x23\xd7\x22\x32\xd1\x22\x32\xb0\x32\xb0\x41\xd0\x22\x36\xd1\x18\x36\xf3\x03\x01\x10\x38\xf0\x00\x01\x09\x38\xf1\x06\x00\x0c\x14\x90\x43\x98\x18\xd3\x0b\x22\xd0\x04\x22", }; static struct { @@ -128414,7 +125028,7 @@ static const_str_env_base = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -128423,7 +125037,7 @@ const_str_env_base = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "env_base", @@ -128440,7 +125054,7 @@ site_toplevel_consts_11_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -128448,45 +125062,43 @@ site_toplevel_consts_11_localsplusnames = { .ob_item = { & const_str_env_base._ascii.ob_base, & const_str_joinuser._ascii.ob_base, - & const_str_base._ascii.ob_base, + &_Py_ID(base), }, }, }; static - struct _PyCode_DEF(404) + struct _PyCode_DEF(422) site_toplevel_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 202, + .ob_size = 211, }, .co_consts = & site_toplevel_consts_11_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_11_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 9, .co_firstlineno = 274, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 682, .co_localsplusnames = & site_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str__getuserbase._ascii.ob_base, .co_qualname = & const_str__getuserbase._ascii.ob_base, .co_linetable = & site_toplevel_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x72\x02\x7c\x00\x53\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x76\x00\x72\x02\x64\x00\x53\x00\x64\x03\x84\x00\x7d\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x6b\x02\x00\x00\x00\x00\x72\x2d\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x01\x64\x06\x7d\x02\x02\x00\x7c\x01\x7c\x02\x64\x07\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x6b\x02\x00\x00\x00\x00\x72\x39\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2d\x02\x00\x7c\x01\x64\x06\x64\x09\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x64\x0b\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x02\x00\x7c\x01\x64\x06\x64\x0c\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x72\x02\x7c\x00\x53\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x76\x00\x72\x01\x79\x00\x64\x03\x84\x00\x7d\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x6b\x28\x00\x00\x72\x2c\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xab\x01\x00\x00\x00\x00\x00\x00\x78\x01\x73\x02\x01\x00\x64\x06\x7d\x02\x02\x00\x7c\x01\x7c\x02\x64\x07\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x6b\x28\x00\x00\x72\x3d\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2d\x02\x00\x7c\x01\x64\x06\x64\x09\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x64\x0b\x1a\x00\x7a\x06\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x53\x00\x02\x00\x7c\x01\x64\x06\x64\x0c\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -128497,7 +125109,7 @@ static site_toplevel_consts_12_consts_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -128506,7 +125118,7 @@ site_toplevel_consts_12_consts_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\\Python", @@ -128519,7 +125131,7 @@ static site_toplevel_consts_12_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -128528,7 +125140,7 @@ site_toplevel_consts_12_consts_5 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\\site-packages", @@ -128541,7 +125153,7 @@ static site_toplevel_consts_12_consts_7 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -128550,7 +125162,7 @@ site_toplevel_consts_12_consts_7 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "/lib/python/site-packages", @@ -128563,7 +125175,7 @@ static site_toplevel_consts_12_consts_8 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -128572,7 +125184,7 @@ site_toplevel_consts_12_consts_8 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "/lib/python", @@ -128585,7 +125197,7 @@ static site_toplevel_consts_12_consts_11 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -128594,7 +125206,7 @@ site_toplevel_consts_12_consts_11 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "/site-packages", @@ -128611,14 +125223,14 @@ site_toplevel_consts_12_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 12, }, .ob_item = { Py_None, - & const_str_nt._ascii.ob_base, + &_Py_ID(nt), &_Py_STR(dot), &_Py_STR(empty), & site_toplevel_consts_12_consts_4._ascii.ob_base, @@ -128640,7 +125252,7 @@ static const_str_winver = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -128649,7 +125261,7 @@ const_str_winver = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "winver", @@ -128666,7 +125278,7 @@ site_toplevel_consts_12_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -128691,7 +125303,7 @@ static const_str__get_path = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -128700,7 +125312,7 @@ const_str__get_path = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_path", @@ -128709,18 +125321,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[142]; + char ob_sval[131]; } site_toplevel_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 141, + .ob_size = 130, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x0e\x11\xd4\x0e\x1e\x80\x47\xe5\x07\x09\x84\x77\x90\x24\x82\x7f\x80\x7f\xdd\x14\x17\x94\x4a\xd7\x14\x26\xd2\x14\x26\xa0\x73\xa8\x42\xd1\x14\x2f\xd4\x14\x2f\x88\x09\xd8\x12\x1a\xd0\x0f\x3e\xd0\x0f\x3e\xa0\x49\xd0\x0f\x3e\xd0\x0f\x3e\xd0\x0f\x3e\xd0\x08\x3e\xe5\x07\x0a\x84\x7c\x90\x78\xd2\x07\x1f\xd0\x07\x1f\xa5\x43\xa4\x4e\xd0\x07\x1f\xd8\x12\x1a\xd0\x0f\x35\xd0\x0f\x35\xd0\x0f\x35\xd0\x08\x35\xe0\x0e\x16\xd0\x0b\x4a\xd0\x0b\x4a\xa0\x37\xa8\x31\xa4\x3a\xd0\x0b\x4a\xd0\x0b\x4a\xb0\x07\xb8\x01\xb4\x0a\xd0\x0b\x4a\xd0\x0b\x4a\xd0\x0b\x4a\xd0\x04\x4a", + .ob_sval = "\x80\x00\xdc\x0e\x11\xd7\x0e\x1e\xd1\x0e\x1e\x80\x47\xe4\x07\x09\x87\x77\x81\x77\x90\x24\x82\x7f\xdc\x14\x17\x97\x4a\x91\x4a\xd7\x14\x26\xd1\x14\x26\xa0\x73\xa8\x42\xd3\x14\x2f\x88\x09\xd8\x12\x1a\x90\x1a\x98\x38\xa0\x49\xa0\x3b\xa8\x6f\xd0\x0f\x3e\xd0\x08\x3e\xe4\x07\x0a\x87\x7c\x81\x7c\x90\x78\xd2\x07\x1f\xa4\x43\xa7\x4e\xa2\x4e\xd8\x12\x1a\x90\x1a\xd0\x1b\x34\xd0\x0f\x35\xd0\x08\x35\xe0\x0e\x16\x88\x5a\x90\x7b\xa0\x37\xa8\x31\xa1\x3a\xa0\x2c\xa8\x61\xb0\x07\xb8\x01\xb1\x0a\xa8\x7c\xb8\x3e\xd0\x0b\x4a\xd0\x04\x4a", }; static struct { @@ -128730,7 +125342,7 @@ static const_str_userbase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -128739,7 +125351,7 @@ const_str_userbase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "userbase", @@ -128752,7 +125364,7 @@ static const_str_ver_nodot = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -128761,7 +125373,7 @@ const_str_ver_nodot = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ver_nodot", @@ -128778,7 +125390,7 @@ site_toplevel_consts_12_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -128791,40 +125403,38 @@ site_toplevel_consts_12_localsplusnames = { }, }; static - struct _PyCode_DEF(250) + struct _PyCode_DEF(266) site_toplevel_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 125, + .ob_size = 133, }, .co_consts = & site_toplevel_consts_12_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 298, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 683, .co_localsplusnames = & site_toplevel_consts_12_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str__get_path._ascii.ob_base, .co_qualname = & const_str__get_path._ascii.ob_base, .co_linetable = & site_toplevel_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x28\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x9b\x00\x64\x04\x7c\x02\x9b\x00\x64\x05\x9d\x04\x53\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x6b\x02\x00\x00\x00\x00\x72\x11\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x72\x05\x7c\x00\x9b\x00\x64\x07\x9d\x02\x53\x00\x7c\x00\x9b\x00\x64\x08\x7c\x01\x64\x09\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x02\x7c\x01\x64\x0a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x0b\x9d\x06\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x28\x00\x00\x72\x28\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x03\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x9b\x00\x64\x04\x7c\x02\x9b\x00\x64\x05\x9d\x04\x53\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x6b\x28\x00\x00\x72\x15\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x05\x7c\x00\x9b\x00\x64\x07\x9d\x02\x53\x00\x7c\x00\x9b\x00\x64\x08\x7c\x01\x64\x09\x19\x00\x00\x00\x9b\x00\x64\x02\x7c\x01\x64\x0a\x19\x00\x00\x00\x9b\x00\x64\x0b\x9d\x06\x53\x00", ._co_firsttraceable = 0, }; static @@ -128835,7 +125445,7 @@ static site_toplevel_consts_13_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 203, @@ -128844,7 +125454,7 @@ site_toplevel_consts_13_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x73\x20\x74\x68\x65\x20\x60\x75\x73\x65\x72\x20\x62\x61\x73\x65\x60\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x70\x61\x74\x68\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x60\x75\x73\x65\x72\x20\x62\x61\x73\x65\x60\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x63\x61\x6e\x20\x62\x65\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x73\x74\x6f\x72\x65\x20\x64\x61\x74\x61\x2e\x20\x49\x66\x20\x74\x68\x65\x20\x67\x6c\x6f\x62\x61\x6c\x0a\x20\x20\x20\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x60\x60\x55\x53\x45\x52\x5f\x42\x41\x53\x45\x60\x60\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x20\x79\x65\x74\x2c\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x61\x6c\x73\x6f\x20\x73\x65\x74\x0a\x20\x20\x20\x20\x69\x74\x2e\x0a\x20\x20\x20\x20", @@ -128861,7 +125471,7 @@ site_toplevel_consts_13_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -128879,7 +125489,7 @@ static const_str_USER_BASE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -128888,7 +125498,7 @@ const_str_USER_BASE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "USER_BASE", @@ -128905,7 +125515,7 @@ site_toplevel_consts_13_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -128924,7 +125534,7 @@ static const_str_getuserbase = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -128933,7 +125543,7 @@ const_str_getuserbase = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getuserbase", @@ -128942,54 +125552,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[26]; + char ob_sval[24]; } site_toplevel_consts_13_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 25, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x10\x00\x08\x11\xd0\x07\x18\xdd\x14\x20\x91\x4e\x94\x4e\x88\x09\xdd\x0b\x14\xd0\x04\x14", + .ob_sval = "\x80\x00\xf4\x10\x00\x08\x11\xd0\x07\x18\xdc\x14\x20\x93\x4e\x88\x09\xdc\x0b\x14\xd0\x04\x14", }; static - struct _PyCode_DEF(58) + struct _PyCode_DEF(46) site_toplevel_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 29, + .ob_size = 23, }, .co_consts = & site_toplevel_consts_13_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_13_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 311, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 684, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_getuserbase._ascii.ob_base, .co_qualname = & const_str_getuserbase._ascii.ob_base, .co_linetable = & site_toplevel_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0e\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0a\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x61\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -129000,7 +125608,7 @@ static site_toplevel_consts_14_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 162, @@ -129009,7 +125617,7 @@ site_toplevel_consts_14_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x73\x20\x74\x68\x65\x20\x75\x73\x65\x72\x2d\x73\x70\x65\x63\x69\x66\x69\x63\x20\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x70\x61\x74\x68\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x74\x68\x65\x20\x67\x6c\x6f\x62\x61\x6c\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x60\x60\x55\x53\x45\x52\x5f\x53\x49\x54\x45\x60\x60\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x20\x79\x65\x74\x2c\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x61\x6c\x73\x6f\x20\x73\x65\x74\x20\x69\x74\x2e\x0a\x20\x20\x20\x20", @@ -129019,21 +125627,20 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[2]; }_object; } site_toplevel_consts_14_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 2, }, .ob_item = { & site_toplevel_consts_14_consts_0._ascii.ob_base, - Py_None, Py_False, }, }, @@ -129046,7 +125653,7 @@ static const_str_USER_SITE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -129055,7 +125662,7 @@ const_str_USER_SITE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "USER_SITE", @@ -129068,7 +125675,7 @@ static const_str_ENABLE_USER_SITE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -129077,7 +125684,7 @@ const_str_ENABLE_USER_SITE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ENABLE_USER_SITE", @@ -129094,7 +125701,7 @@ site_toplevel_consts_14_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -129115,7 +125722,7 @@ static const_str_getusersitepackages = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -129124,7 +125731,7 @@ const_str_getusersitepackages = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getusersitepackages", @@ -129133,18 +125740,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[54]; + char ob_sval[56]; } site_toplevel_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 53, + .ob_size = 55, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0e\x00\x10\x1b\x89\x7d\x8c\x7d\x80\x48\xe5\x07\x10\xd0\x07\x18\xd8\x0b\x13\xd0\x0b\x1b\xd8\x1f\x24\xd0\x0c\x1c\xd0\x0c\x1c\xe5\x18\x21\xa0\x28\xd1\x18\x2b\xd4\x18\x2b\x88\x49\xe5\x0b\x14\xd0\x04\x14", + .ob_sval = "\x80\x00\xf4\x0e\x00\x10\x1b\x8b\x7d\x80\x48\xe4\x07\x10\xd0\x07\x18\xd8\x0b\x13\xd0\x0b\x1b\xd8\x1f\x24\xd0\x0c\x1c\xf4\x08\x00\x0c\x15\xd0\x04\x14\xf4\x05\x00\x19\x22\xa0\x28\xd3\x18\x2b\x88\x49\xe4\x0b\x14\xd0\x04\x14", }; static struct { @@ -129158,7 +125765,7 @@ site_toplevel_consts_14_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -129169,40 +125776,38 @@ site_toplevel_consts_14_localsplusnames = { }, }; static - struct _PyCode_DEF(98) + struct _PyCode_DEF(88) site_toplevel_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 49, + .ob_size = 44, }, .co_consts = & site_toplevel_consts_14_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_14_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 324, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 685, .co_localsplusnames = & site_toplevel_consts_14_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_getusersitepackages._ascii.ob_base, .co_qualname = & const_str_getusersitepackages._ascii.ob_base, .co_linetable = & site_toplevel_consts_14_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x14\x7c\x00\x80\x03\x64\x02\x61\x02\x6e\x0f\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x61\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x80\x15\x7c\x00\x80\x08\x64\x01\x61\x02\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x61\x01\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -129213,7 +125818,7 @@ static site_toplevel_consts_15_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 134, @@ -129222,7 +125827,7 @@ site_toplevel_consts_15_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x64\x64\x20\x61\x20\x70\x65\x72\x20\x75\x73\x65\x72\x20\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x20\x74\x6f\x20\x73\x79\x73\x2e\x70\x61\x74\x68\x0a\x0a\x20\x20\x20\x20\x45\x61\x63\x68\x20\x75\x73\x65\x72\x20\x68\x61\x73\x20\x69\x74\x73\x20\x6f\x77\x6e\x20\x70\x79\x74\x68\x6f\x6e\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x77\x69\x74\x68\x20\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x68\x6f\x6d\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2e\x0a\x20\x20\x20\x20", @@ -129235,7 +125840,7 @@ static site_toplevel_consts_15_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 29, @@ -129244,7 +125849,7 @@ site_toplevel_consts_15_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Processing user site-packages", @@ -129261,7 +125866,7 @@ site_toplevel_consts_15_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -129284,7 +125889,7 @@ site_toplevel_consts_15_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -129308,7 +125913,7 @@ static const_str_addusersitepackages = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -129317,7 +125922,7 @@ const_str_addusersitepackages = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "addusersitepackages", @@ -129326,18 +125931,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[82]; + char ob_sval[56]; } site_toplevel_consts_15_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 81, + .ob_size = 55, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x10\x00\x05\x0b\xd0\x0b\x2a\xd1\x04\x2b\xd4\x04\x2b\xd0\x04\x2b\xdd\x10\x23\xd1\x10\x25\xd4\x10\x25\x80\x49\xe5\x07\x17\xf0\x00\x01\x05\x2b\x9d\x42\x9c\x47\x9f\x4d\x9a\x4d\xa8\x29\xd1\x1c\x34\xd4\x1c\x34\xf0\x00\x01\x05\x2b\xdd\x08\x12\x90\x39\x98\x6b\xd1\x08\x2a\xd4\x08\x2a\xd0\x08\x2a\xd8\x0b\x16\xd0\x04\x16", + .ob_sval = "\x80\x00\xf4\x10\x00\x05\x0b\xd0\x0b\x2a\xd4\x04\x2b\xdc\x10\x23\xd3\x10\x25\x80\x49\xe5\x07\x17\x9c\x42\x9f\x47\x99\x47\x9f\x4d\x99\x4d\xa8\x29\xd4\x1c\x34\xdc\x08\x12\x90\x39\x98\x6b\xd4\x08\x2a\xd8\x0b\x16\xd0\x04\x16", }; static struct { @@ -129347,7 +125952,7 @@ static const_str_user_site = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -129356,7 +125961,7 @@ const_str_user_site = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "user_site", @@ -129373,7 +125978,7 @@ site_toplevel_consts_15_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -129385,40 +125990,38 @@ site_toplevel_consts_15_localsplusnames = { }, }; static - struct _PyCode_DEF(172) + struct _PyCode_DEF(146) site_toplevel_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 86, + .ob_size = 73, }, .co_consts = & site_toplevel_consts_15_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_15_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 341, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 686, .co_localsplusnames = & site_toplevel_consts_15_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_addusersitepackages._ascii.ob_base, .co_qualname = & const_str_addusersitepackages._ascii.ob_base, .co_linetable = & site_toplevel_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2f\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x10\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2b\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x72\x0c\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -129429,7 +126032,7 @@ static site_toplevel_consts_16_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 286, @@ -129438,7 +126041,7 @@ site_toplevel_consts_16_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x73\x20\x61\x20\x6c\x69\x73\x74\x20\x63\x6f\x6e\x74\x61\x69\x6e\x69\x6e\x67\x20\x61\x6c\x6c\x20\x67\x6c\x6f\x62\x61\x6c\x20\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20\x46\x6f\x72\x20\x65\x61\x63\x68\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x70\x72\x65\x73\x65\x6e\x74\x20\x69\x6e\x20\x60\x60\x70\x72\x65\x66\x69\x78\x65\x73\x60\x60\x20\x28\x6f\x72\x20\x74\x68\x65\x20\x67\x6c\x6f\x62\x61\x6c\x20\x60\x60\x50\x52\x45\x46\x49\x58\x45\x53\x60\x60\x29\x2c\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x66\x69\x6e\x64\x20\x69\x74\x73\x20\x60\x73\x69\x74\x65\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x60\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x64\x65\x70\x65\x6e\x64\x69\x6e\x67\x20\x6f\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x73\x79\x73\x74\x65\x6d\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x2c\x20\x61\x6e\x64\x20\x77\x69\x6c\x6c\x20\x72\x65\x74\x75\x72\x6e\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x66\x75\x6c\x6c\x20\x70\x61\x74\x68\x73\x2e\x0a\x20\x20\x20\x20", @@ -129451,7 +126054,7 @@ static const_str_lib = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -129460,7 +126063,7 @@ const_str_lib = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "lib", @@ -129473,7 +126076,7 @@ static site_toplevel_consts_16_consts_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -129482,7 +126085,7 @@ site_toplevel_consts_16_consts_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "python%d.%d", @@ -129495,7 +126098,7 @@ static site_toplevel_consts_16_consts_6 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -129504,7 +126107,7 @@ site_toplevel_consts_16_consts_6 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "site-packages", @@ -129517,7 +126120,7 @@ static const_str_Lib = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -129526,7 +126129,7 @@ const_str_Lib = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Lib", @@ -129543,7 +126146,7 @@ site_toplevel_consts_16_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -129551,7 +126154,7 @@ site_toplevel_consts_16_consts = { .ob_item = { & site_toplevel_consts_16_consts_0._ascii.ob_base, Py_None, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_5._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[47], & const_str_lib._ascii.ob_base, & site_toplevel_consts_16_consts_4._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], @@ -129568,7 +126171,7 @@ static const_str_PREFIXES = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -129577,7 +126180,7 @@ const_str_PREFIXES = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "PREFIXES", @@ -129590,7 +126193,7 @@ static const_str_platlibdir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -129599,7 +126202,7 @@ const_str_platlibdir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "platlibdir", @@ -129616,7 +126219,7 @@ site_toplevel_consts_16_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -129626,7 +126229,7 @@ site_toplevel_consts_16_names = { & const_str_PREFIXES._ascii.ob_base, &_Py_ID(add), & const_str_os._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str_sys._ascii.ob_base, & const_str_platlibdir._ascii.ob_base, &_Py_ID(append), @@ -129644,7 +126247,7 @@ static const_str_getsitepackages = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -129653,7 +126256,7 @@ const_str_getsitepackages = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "getsitepackages", @@ -129662,18 +126265,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[298]; + char ob_sval[248]; } site_toplevel_consts_16_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 297, + .ob_size = 247, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0e\x00\x14\x16\x80\x4c\xdd\x0b\x0e\x89\x35\x8c\x35\x80\x44\xe0\x07\x0f\xd0\x07\x17\xdd\x13\x1b\x88\x08\xe0\x12\x1a\xf0\x00\x11\x05\x4e\x01\xf0\x00\x11\x05\x4e\x01\x88\x06\xd8\x0f\x15\xf0\x00\x01\x09\x15\x98\x16\xa0\x34\x98\x1e\x98\x1e\xd8\x0c\x14\xd8\x08\x0c\x8f\x08\x8a\x08\x90\x16\xd1\x08\x18\xd4\x08\x18\xd0\x08\x18\xe5\x0b\x0d\x8c\x36\x90\x53\x8a\x3d\x88\x3d\xdd\x17\x1a\x94\x7e\xd0\x16\x26\x88\x47\xdd\x0f\x12\x8c\x7e\xa0\x15\xd2\x0f\x26\xd0\x0f\x26\xd8\x10\x17\x97\x0e\x92\x0e\x98\x75\xd1\x10\x25\xd4\x10\x25\xd0\x10\x25\xe0\x1a\x21\xf0\x00\x04\x0d\x2a\xf0\x00\x04\x0d\x2a\x90\x06\xdd\x17\x19\x94\x77\x97\x7c\x92\x7c\xa0\x46\xa8\x46\xd8\x24\x31\xb5\x43\xd4\x34\x44\xc0\x52\xc0\x61\xc0\x52\xd4\x34\x48\xd1\x24\x48\xd8\x24\x33\xf1\x05\x02\x18\x35\xf4\x00\x02\x18\x35\x90\x04\xf0\x06\x00\x11\x1d\xd7\x10\x23\xd2\x10\x23\xa0\x44\xd1\x10\x29\xd4\x10\x29\xd0\x10\x29\xd0\x10\x29\xf0\x09\x04\x0d\x2a\xf0\x0c\x00\x0d\x19\xd7\x0c\x1f\xd2\x0c\x1f\xa0\x06\xd1\x0c\x27\xd4\x0c\x27\xd0\x0c\x27\xd8\x0c\x18\xd7\x0c\x1f\xd2\x0c\x1f\xa5\x02\xa4\x07\xa7\x0c\xa2\x0c\xa8\x56\xb0\x55\xb8\x4f\xd1\x20\x4c\xd4\x20\x4c\xd1\x0c\x4d\xd4\x0c\x4d\xd0\x0c\x4d\xd0\x0c\x4d\xd8\x0b\x17\xd0\x04\x17", + .ob_sval = "\x80\x00\xf0\x0e\x00\x14\x16\x80\x4c\xdc\x0b\x0e\x8b\x35\x80\x44\xe0\x07\x0f\xd0\x07\x17\xdc\x13\x1b\x88\x08\xe0\x12\x1a\xf2\x00\x11\x05\x4e\x01\x88\x06\xd9\x0f\x15\x98\x16\xa0\x34\x99\x1e\xd8\x0c\x14\xd8\x08\x0c\x8f\x08\x89\x08\x90\x16\xd4\x08\x18\xe4\x0b\x0d\x8f\x36\x89\x36\x90\x53\x8a\x3d\xdc\x17\x1a\x97\x7e\x91\x7e\xd0\x16\x26\x88\x47\xdc\x0f\x12\x8f\x7e\x89\x7e\xa0\x15\xd2\x0f\x26\xd8\x10\x17\x97\x0e\x91\x0e\x98\x75\xd4\x10\x25\xe0\x1a\x21\xf2\x00\x04\x0d\x2a\x90\x06\xdc\x17\x19\x97\x77\x91\x77\x97\x7c\x91\x7c\xa0\x46\xa8\x46\xd8\x24\x31\xb4\x43\xd7\x34\x44\xd1\x34\x44\xc0\x52\xc0\x61\xd0\x34\x48\xd1\x24\x48\xd8\x24\x33\xf3\x05\x02\x18\x35\x90\x04\xf0\x06\x00\x11\x1d\xd7\x10\x23\xd1\x10\x23\xa0\x44\xd5\x10\x29\xf1\x09\x04\x0d\x2a\xf0\x0c\x00\x0d\x19\xd7\x0c\x1f\xd1\x0c\x1f\xa0\x06\xd4\x0c\x27\xd8\x0c\x18\xd7\x0c\x1f\xd1\x0c\x1f\xa4\x02\xa7\x07\xa1\x07\xa7\x0c\xa1\x0c\xa8\x56\xb0\x55\xb8\x4f\xd3\x20\x4c\xd5\x0c\x4d\xf0\x23\x11\x05\x4e\x01\xf0\x24\x00\x0c\x18\xd0\x04\x17", }; static struct { @@ -129683,7 +126286,7 @@ static const_str_prefixes = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -129692,7 +126295,7 @@ const_str_prefixes = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "prefixes", @@ -129705,7 +126308,7 @@ static const_str_sitepackages = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -129714,7 +126317,7 @@ const_str_sitepackages = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sitepackages", @@ -129727,7 +126330,7 @@ static const_str_libdirs = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -129736,7 +126339,7 @@ const_str_libdirs = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "libdirs", @@ -129749,7 +126352,7 @@ static const_str_libdir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -129758,7 +126361,7 @@ const_str_libdir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "libdir", @@ -129775,7 +126378,7 @@ site_toplevel_consts_16_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -129792,40 +126395,38 @@ site_toplevel_consts_16_localsplusnames = { }, }; static - struct _PyCode_DEF(564) + struct _PyCode_DEF(540) site_toplevel_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 282, + .ob_size = 270, }, .co_consts = & site_toplevel_consts_16_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_16_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 17 + FRAME_SPECIALS_SIZE, .co_stacksize = 10, .co_firstlineno = 356, .co_nlocalsplus = 7, .co_nlocals = 7, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 687, .co_localsplusnames = & site_toplevel_consts_16_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_12_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_getsitepackages._ascii.ob_base, .co_qualname = & const_str_getsitepackages._ascii.ob_base, .co_linetable = & site_toplevel_consts_16_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x80\x07\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x44\x00\x5d\xfb\x7d\x03\x7c\x03\x72\x04\x7c\x03\x7c\x02\x76\x00\x72\x01\x8c\x09\x7c\x02\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x02\x00\x00\x00\x00\x72\x84\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\x7d\x04\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x6b\x03\x00\x00\x00\x00\x72\x15\x7c\x04\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x04\x44\x00\x5d\x4e\x7d\x05\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x05\x64\x04\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x05\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x06\x00\x00\x64\x06\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x01\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x4f\x8c\xb2\x7c\x01\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x64\x07\x64\x06\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\xfc\x7c\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x67\x00\x7d\x01\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x80\x06\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7c\x00\x44\x00\x5d\xf2\x00\x00\x7d\x03\x7c\x03\x72\x04\x7c\x03\x7c\x02\x76\x00\x72\x01\x8c\x0a\x7c\x02\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x6b\x28\x00\x00\x72\x84\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\x7d\x04\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x6b\x37\x00\x00\x72\x11\x7c\x04\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x04\x44\x00\x5d\x49\x00\x00\x7d\x05\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x05\x64\x04\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x05\x1a\x00\x7a\x06\x00\x00\x64\x06\xab\x04\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x01\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x4b\x04\x00\x8c\xb2\x7c\x01\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x64\x07\x64\x06\xab\x03\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\xf4\x04\x00\x7c\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -129836,7 +126437,7 @@ static site_toplevel_consts_17_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 29, @@ -129845,7 +126446,7 @@ site_toplevel_consts_17_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Add site-packages to sys.path", @@ -129858,7 +126459,7 @@ static site_toplevel_consts_17_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 31, @@ -129867,7 +126468,7 @@ site_toplevel_consts_17_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Processing global site-packages", @@ -129884,7 +126485,7 @@ site_toplevel_consts_17_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -129907,7 +126508,7 @@ site_toplevel_consts_17_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -129930,7 +126531,7 @@ static const_str_addsitepackages = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -129939,7 +126540,7 @@ const_str_addsitepackages = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "addsitepackages", @@ -129948,18 +126549,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[86]; + char ob_sval[66]; } site_toplevel_consts_17_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 85, + .ob_size = 65, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x04\x0a\xd0\x0b\x2c\xd1\x04\x2d\xd4\x04\x2d\xd0\x04\x2d\xdd\x13\x22\xa0\x38\xd1\x13\x2c\xd4\x13\x2c\xf0\x00\x02\x05\x2d\xf0\x00\x02\x05\x2d\x88\x07\xdd\x0b\x0d\x8c\x37\x8f\x3d\x8a\x3d\x98\x17\xd1\x0b\x21\xd4\x0b\x21\xf0\x00\x01\x09\x2d\xdd\x0c\x16\x90\x77\xa0\x0b\xd1\x0c\x2c\xd4\x0c\x2c\xd0\x0c\x2c\xf8\xe0\x0b\x16\xd0\x04\x16", + .ob_sval = "\x80\x00\xe4\x04\x0a\xd0\x0b\x2c\xd4\x04\x2d\xdc\x13\x22\xa0\x38\xd3\x13\x2c\xf2\x00\x02\x05\x2d\x88\x07\xdc\x0b\x0d\x8f\x37\x89\x37\x8f\x3d\x89\x3d\x98\x17\xd5\x0b\x21\xdc\x0c\x16\x90\x77\xa0\x0b\xd5\x0c\x2c\xf0\x05\x02\x05\x2d\xf0\x08\x00\x0c\x17\xd0\x04\x16", }; static struct { @@ -129973,7 +126574,7 @@ site_toplevel_consts_17_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -129986,40 +126587,38 @@ site_toplevel_consts_17_localsplusnames = { }, }; static - struct _PyCode_DEF(166) + struct _PyCode_DEF(148) site_toplevel_consts_17 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 83, + .ob_size = 74, }, .co_consts = & site_toplevel_consts_17_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_17_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 8 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 389, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 688, .co_localsplusnames = & site_toplevel_consts_17_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_addsitepackages._ascii.ob_base, .co_qualname = & const_str_addsitepackages._ascii.ob_base, .co_linetable = & site_toplevel_consts_17_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x31\x7d\x02\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x10\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x32\x7c\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x2e\x00\x00\x7d\x02\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x73\x01\x8c\x23\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x30\x04\x00\x7c\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -130030,7 +126629,7 @@ static site_toplevel_consts_18_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 173, @@ -130039,7 +126638,7 @@ site_toplevel_consts_18_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x44\x65\x66\x69\x6e\x65\x20\x6e\x65\x77\x20\x62\x75\x69\x6c\x74\x69\x6e\x73\x20\x27\x71\x75\x69\x74\x27\x20\x61\x6e\x64\x20\x27\x65\x78\x69\x74\x27\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x65\x73\x65\x20\x61\x72\x65\x20\x6f\x62\x6a\x65\x63\x74\x73\x20\x77\x68\x69\x63\x68\x20\x6d\x61\x6b\x65\x20\x74\x68\x65\x20\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x65\x72\x20\x65\x78\x69\x74\x20\x77\x68\x65\x6e\x20\x63\x61\x6c\x6c\x65\x64\x2e\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x72\x65\x70\x72\x20\x6f\x66\x20\x65\x61\x63\x68\x20\x6f\x62\x6a\x65\x63\x74\x20\x63\x6f\x6e\x74\x61\x69\x6e\x73\x20\x61\x20\x68\x69\x6e\x74\x20\x61\x74\x20\x68\x6f\x77\x20\x69\x74\x20\x77\x6f\x72\x6b\x73\x2e\x0a\x0a\x20\x20\x20\x20", @@ -130052,7 +126651,7 @@ static site_toplevel_consts_18_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -130061,7 +126660,7 @@ site_toplevel_consts_18_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Ctrl-Z plus Return", @@ -130074,7 +126673,7 @@ static site_toplevel_consts_18_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -130083,7 +126682,7 @@ site_toplevel_consts_18_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Ctrl-D (i.e. EOF)", @@ -130096,7 +126695,7 @@ static const_str_quit = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -130105,7 +126704,7 @@ const_str_quit = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "quit", @@ -130118,7 +126717,7 @@ static const_str_exit = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -130127,7 +126726,7 @@ const_str_exit = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "exit", @@ -130144,14 +126743,14 @@ site_toplevel_consts_18_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { & site_toplevel_consts_18_consts_0._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_4._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[92], & site_toplevel_consts_18_consts_2._ascii.ob_base, & site_toplevel_consts_18_consts_3._ascii.ob_base, & const_str_quit._ascii.ob_base, @@ -130168,7 +126767,7 @@ static const_str__sitebuiltins = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -130177,7 +126776,7 @@ const_str__sitebuiltins = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_sitebuiltins", @@ -130194,14 +126793,14 @@ site_toplevel_consts_18_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { & const_str_os._ascii.ob_base, - & const_str_sep._ascii.ob_base, + &_Py_ID(sep), & const_str__sitebuiltins._ascii.ob_base, & const_str_Quitter._ascii.ob_base, &_Py_ID(builtins), @@ -130218,7 +126817,7 @@ static const_str_setquit = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -130227,7 +126826,7 @@ const_str_setquit = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "setquit", @@ -130236,18 +126835,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[72]; + char ob_sval[66]; } site_toplevel_consts_18_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 71, + .ob_size = 65, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0e\x00\x08\x0a\x84\x76\x90\x14\x82\x7e\x80\x7e\xd8\x0e\x22\x88\x03\x88\x03\xe0\x0e\x21\x88\x03\xe5\x14\x21\xd4\x14\x29\xa8\x26\xb0\x23\xd1\x14\x36\xd4\x14\x36\x85\x48\x84\x4d\xdd\x14\x21\xd4\x14\x29\xa8\x26\xb0\x23\xd1\x14\x36\xd4\x14\x36\x85\x48\x84\x4d\x80\x4d\x80\x4d", + .ob_sval = "\x80\x00\xf4\x0e\x00\x08\x0a\x87\x76\x81\x76\x90\x14\x82\x7e\xd8\x0e\x22\x89\x03\xe0\x0e\x21\x88\x03\xe4\x14\x21\xd7\x14\x29\xd1\x14\x29\xa8\x26\xb0\x23\xd3\x14\x36\x84\x48\x84\x4d\xdc\x14\x21\xd7\x14\x29\xd1\x14\x29\xa8\x26\xb0\x23\xd3\x14\x36\x84\x48\x85\x4d", }; static struct { @@ -130261,7 +126860,7 @@ site_toplevel_consts_18_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -130272,40 +126871,38 @@ site_toplevel_consts_18_localsplusnames = { }, }; static - struct _PyCode_DEF(172) + struct _PyCode_DEF(176) site_toplevel_consts_18 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 86, + .ob_size = 88, }, .co_consts = & site_toplevel_consts_18_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_18_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 398, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 689, .co_localsplusnames = & site_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_setquit._ascii.ob_base, .co_qualname = & const_str_setquit._ascii.ob_base, .co_linetable = & site_toplevel_consts_18_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x03\x64\x02\x7d\x00\x6e\x02\x64\x03\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x28\x00\x00\x72\x03\x64\x02\x7d\x00\x6e\x02\x64\x03\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x79\x06", ._co_firsttraceable = 0, }; static @@ -130316,7 +126913,7 @@ static site_toplevel_consts_19_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 41, @@ -130325,7 +126922,7 @@ site_toplevel_consts_19_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Set 'copyright' and 'credits' in builtins", @@ -130338,7 +126935,7 @@ static const_str_copyright = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -130347,33 +126944,11 @@ const_str_copyright = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "copyright", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[5]; - } -const_str_java = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 4, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "java", -}; static struct { PyASCIIObject _ascii; @@ -130382,7 +126957,7 @@ static const_str_credits = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -130391,42 +126966,20 @@ const_str_credits = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "credits", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[64]; - } -site_toplevel_consts_19_consts_6 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 63, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "Jython is maintained by the Jython developers (www.jython.org).", -}; static struct { PyASCIIObject _ascii; uint8_t _data[159]; } -site_toplevel_consts_19_consts_7 = { +site_toplevel_consts_19_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 158, @@ -130435,7 +126988,7 @@ site_toplevel_consts_19_consts_7 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x20\x20\x20\x54\x68\x61\x6e\x6b\x73\x20\x74\x6f\x20\x43\x57\x49\x2c\x20\x43\x4e\x52\x49\x2c\x20\x42\x65\x4f\x70\x65\x6e\x2e\x63\x6f\x6d\x2c\x20\x5a\x6f\x70\x65\x20\x43\x6f\x72\x70\x6f\x72\x61\x74\x69\x6f\x6e\x20\x61\x6e\x64\x20\x61\x20\x63\x61\x73\x74\x20\x6f\x66\x20\x74\x68\x6f\x75\x73\x61\x6e\x64\x73\x0a\x20\x20\x20\x20\x66\x6f\x72\x20\x73\x75\x70\x70\x6f\x72\x74\x69\x6e\x67\x20\x50\x79\x74\x68\x6f\x6e\x20\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x2e\x20\x20\x53\x65\x65\x20\x77\x77\x77\x2e\x70\x79\x74\x68\x6f\x6e\x2e\x6f\x72\x67\x20\x66\x6f\x72\x20\x6d\x6f\x72\x65\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e\x2e", @@ -130445,10 +126998,10 @@ static PyASCIIObject _ascii; uint8_t _data[12]; } -site_toplevel_consts_19_consts_10 = { +site_toplevel_consts_19_consts_7 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -130457,7 +127010,7 @@ site_toplevel_consts_19_consts_10 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LICENSE.txt", @@ -130470,7 +127023,7 @@ static const_str_LICENSE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -130479,7 +127032,7 @@ const_str_LICENSE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LICENSE", @@ -130492,7 +127045,7 @@ static const_str_license = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -130501,7 +127054,7 @@ const_str_license = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "license", @@ -130511,10 +127064,10 @@ static PyASCIIObject _ascii; uint8_t _data[40]; } -site_toplevel_consts_19_consts_13 = { +site_toplevel_consts_19_consts_10 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 39, @@ -130523,7 +127076,7 @@ site_toplevel_consts_19_consts_13 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "See https://www.python.org/psf/license/", @@ -130533,33 +127086,30 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[14]; + PyObject *ob_item[11]; }_object; } site_toplevel_consts_19_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 14, + .ob_size = 11, }, .ob_item = { & site_toplevel_consts_19_consts_0._ascii.ob_base, & const_str_copyright._ascii.ob_base, - Py_None, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 4], - & const_str_java._ascii.ob_base, & const_str_credits._ascii.ob_base, - & site_toplevel_consts_19_consts_6._ascii.ob_base, - & site_toplevel_consts_19_consts_7._ascii.ob_base, + & site_toplevel_consts_19_consts_3._ascii.ob_base, & const_str__stdlib_dir._ascii.ob_base, + Py_None, &_Py_ID(__file__), - & site_toplevel_consts_19_consts_10._ascii.ob_base, + & site_toplevel_consts_19_consts_7._ascii.ob_base, & const_str_LICENSE._ascii.ob_base, & const_str_license._ascii.ob_base, - & site_toplevel_consts_19_consts_13._ascii.ob_base, + & site_toplevel_consts_19_consts_10._ascii.ob_base, }, }, }; @@ -130568,17 +127118,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[18]; + PyObject *ob_item[17]; }_object; } site_toplevel_consts_19_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 18, + .ob_size = 17, }, .ob_item = { & const_str__sitebuiltins._ascii.ob_base, @@ -130586,7 +127136,6 @@ site_toplevel_consts_19_names = { & const_str_sys._ascii.ob_base, & const_str_copyright._ascii.ob_base, &_Py_ID(builtins), - & const_str_platform._ascii.ob_base, & const_str_credits._ascii.ob_base, &_Py_ID(getattr), & const_str_hasattr._ascii.ob_base, @@ -130610,7 +127159,7 @@ static const_str_setcopyright = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -130619,7 +127168,7 @@ const_str_setcopyright = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "setcopyright", @@ -130628,18 +127177,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[304]; + char ob_sval[209]; } site_toplevel_consts_19_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 303, + .ob_size = 208, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x19\x26\xd4\x19\x2f\xb0\x0b\xbd\x53\xbc\x5d\xd1\x19\x4b\xd4\x19\x4b\x85\x48\xd4\x04\x16\xdd\x07\x0a\x84\x7c\x90\x42\x90\x51\x90\x42\xd4\x07\x17\x98\x36\xd2\x07\x21\xd0\x07\x21\xdd\x1b\x28\xd4\x1b\x31\xd8\x0c\x15\xd8\x0c\x4d\xf1\x05\x02\x1c\x4f\x01\xf4\x00\x02\x1c\x4f\x01\x8d\x08\xd4\x08\x18\xd0\x08\x18\xf5\x08\x00\x1c\x29\xd4\x1b\x31\xb0\x29\xf0\x00\x02\x3e\x54\x01\xf1\x00\x02\x1c\x55\x01\xf4\x00\x02\x1c\x55\x01\x8d\x08\xd4\x08\x18\xf0\x06\x00\x13\x15\x90\x62\x88\x34\x80\x45\xf5\x06\x00\x0c\x13\x95\x33\x98\x0d\xa0\x74\xd1\x0b\x2c\xd4\x0b\x2c\x80\x44\xd8\x0b\x0f\xf0\x00\x01\x05\x2c\x95\x47\x9d\x42\xa0\x0a\xd1\x14\x2b\xd4\x14\x2b\xf0\x00\x01\x05\x2c\xdd\x0f\x11\x8c\x77\x8f\x7f\x8a\x7f\x9d\x72\x9c\x7b\xd1\x0f\x2b\xd4\x0f\x2b\x88\x04\xd8\x07\x0b\xf0\x00\x02\x05\x46\x01\xd8\x08\x0d\x8f\x0c\x8a\x0c\x90\x6d\xa0\x59\xd0\x15\x2f\xd1\x08\x30\xd4\x08\x30\xd0\x08\x30\xd8\x08\x0c\x8f\x0b\x8a\x0b\x95\x52\x94\x57\x97\x5c\x92\x5c\xa0\x24\xad\x02\xac\x09\xd1\x15\x32\xd4\x15\x32\xb0\x44\xbd\x22\xbc\x29\xd0\x14\x44\xd1\x08\x45\xd4\x08\x45\xd0\x08\x45\xdd\x17\x24\xd4\x17\x2d\xd8\x08\x11\xd8\x08\x31\xd8\x08\x0d\x88\x74\xf1\x07\x03\x18\x15\xf4\x00\x03\x18\x15\x85\x48\xd4\x04\x14\xd0\x04\x14\xd0\x04\x14", + .ob_sval = "\x80\x00\xe4\x19\x26\xd7\x19\x2f\xd1\x19\x2f\xb0\x0b\xbc\x53\xbf\x5d\xb9\x5d\xd3\x19\x4b\x84\x48\xd4\x04\x16\xdc\x17\x24\xd7\x17\x2d\xd1\x17\x2d\xa8\x69\xf0\x00\x02\x3a\x54\x01\xf3\x00\x02\x18\x55\x01\x84\x48\xd4\x04\x14\xf0\x06\x00\x13\x15\x90\x62\x88\x34\x80\x45\xf4\x06\x00\x0c\x13\x94\x33\x98\x0d\xa0\x74\xd3\x0b\x2c\x80\x44\xd9\x0b\x0f\x94\x47\x9c\x42\xa0\x0a\xd4\x14\x2b\xdc\x0f\x11\x8f\x77\x89\x77\x8f\x7f\x89\x7f\x9c\x72\x9f\x7b\x99\x7b\xd3\x0f\x2b\x88\x04\xd9\x07\x0b\xd8\x08\x0d\x8f\x0c\x89\x0c\x90\x6d\xa0\x59\xd0\x15\x2f\xd4\x08\x30\xd8\x08\x0c\x8f\x0b\x89\x0b\x94\x52\x97\x57\x91\x57\x97\x5c\x91\x5c\xa0\x24\xac\x02\xaf\x09\xa9\x09\xd3\x15\x32\xb0\x44\xbc\x22\xbf\x29\xb9\x29\xd0\x14\x44\xd4\x08\x45\xdc\x17\x24\xd7\x17\x2d\xd1\x17\x2d\xd8\x08\x11\xd8\x08\x31\xd8\x08\x0d\x88\x74\xf3\x07\x03\x18\x15\x84\x48\xd5\x04\x14", }; static struct { @@ -130649,7 +127198,7 @@ static const_str_here = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -130658,7 +127207,7 @@ const_str_here = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "here", @@ -130675,7 +127224,7 @@ site_toplevel_consts_19_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -130688,40 +127237,38 @@ site_toplevel_consts_19_localsplusnames = { }, }; static - struct _PyCode_DEF(706) + struct _PyCode_DEF(588) site_toplevel_consts_19 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 353, + .ob_size = 294, }, .co_consts = & site_toplevel_consts_19_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_19_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 414, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 690, .co_localsplusnames = & site_toplevel_consts_19_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_setcopyright._ascii.ob_base, .co_qualname = & const_str_setcopyright._ascii.ob_base, .co_linetable = & site_toplevel_consts_19_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x03\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x6b\x02\x00\x00\x00\x00\x72\x20\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x64\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x1f\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x64\x07\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x67\x00\x7d\x01\x7d\x00\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x64\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x73\x3e\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x72\x29\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x72\x61\x7c\x00\xa0\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\x64\x0b\x67\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\xa0\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x67\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\x64\x0d\x7c\x00\x7c\x01\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x11\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x03\xab\x02\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x67\x00\x7d\x01\x7d\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x64\x05\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x73\x3d\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xab\x02\x00\x00\x00\x00\x00\x00\x72\x2d\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x72\x61\x7c\x00\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x64\x08\x67\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x10\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\x64\x0a\x7c\x00\x7c\x01\xab\x04\x00\x00\x00\x00\x00\x00\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x10\x00\x00\x00\x00\x00\x00\x00\x00\x79\x05", ._co_firsttraceable = 0, }; static @@ -130736,7 +127283,7 @@ site_toplevel_consts_20_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -130757,7 +127304,7 @@ static const_str_sethelper = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -130766,7 +127313,7 @@ const_str_sethelper = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sethelper", @@ -130775,54 +127322,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[19]; } site_toplevel_consts_20_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x14\x21\xd4\x14\x29\xd1\x14\x2b\xd4\x14\x2b\x85\x48\x84\x4d\x80\x4d\x80\x4d", + .ob_sval = "\x80\x00\xdc\x14\x21\xd7\x14\x29\xd1\x14\x29\xd3\x14\x2b\x84\x48\x85\x4d", }; static - struct _PyCode_DEF(64) + struct _PyCode_DEF(62) site_toplevel_consts_20 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 32, + .ob_size = 31, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_20_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 440, + .co_firstlineno = 435, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 691, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_sethelper._ascii.ob_base, .co_qualname = & const_str_sethelper._ascii.ob_base, .co_linetable = & site_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -130833,7 +127378,7 @@ static site_toplevel_consts_21_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 362, @@ -130842,7 +127387,7 @@ site_toplevel_consts_21_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x45\x6e\x61\x62\x6c\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x72\x65\x61\x64\x6c\x69\x6e\x65\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x6f\x6e\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x69\x76\x65\x20\x70\x72\x6f\x6d\x70\x74\x73\x2c\x20\x62\x79\x0a\x20\x20\x20\x20\x72\x65\x67\x69\x73\x74\x65\x72\x69\x6e\x67\x20\x61\x20\x73\x79\x73\x2e\x5f\x5f\x69\x6e\x74\x65\x72\x61\x63\x74\x69\x76\x65\x68\x6f\x6f\x6b\x5f\x5f\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x74\x68\x65\x20\x72\x65\x61\x64\x6c\x69\x6e\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x63\x61\x6e\x20\x62\x65\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x2c\x20\x74\x68\x65\x20\x68\x6f\x6f\x6b\x20\x77\x69\x6c\x6c\x20\x73\x65\x74\x20\x74\x68\x65\x20\x54\x61\x62\x20\x6b\x65\x79\x0a\x20\x20\x20\x20\x61\x73\x20\x63\x6f\x6d\x70\x6c\x65\x74\x69\x6f\x6e\x20\x6b\x65\x79\x20\x61\x6e\x64\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x7e\x2f\x2e\x70\x79\x74\x68\x6f\x6e\x5f\x68\x69\x73\x74\x6f\x72\x79\x20\x61\x73\x20\x68\x69\x73\x74\x6f\x72\x79\x20\x66\x69\x6c\x65\x2e\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x6f\x76\x65\x72\x72\x69\x64\x64\x65\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x73\x69\x74\x65\x63\x75\x73\x74\x6f\x6d\x69\x7a\x65\x20\x6f\x72\x20\x75\x73\x65\x72\x63\x75\x73\x74\x6f\x6d\x69\x7a\x65\x20\x6d\x6f\x64\x75\x6c\x65\x2c\x0a\x20\x20\x20\x20\x6f\x72\x20\x69\x6e\x20\x61\x20\x50\x59\x54\x48\x4f\x4e\x53\x54\x41\x52\x54\x55\x50\x20\x66\x69\x6c\x65\x2e\x0a\x20\x20\x20\x20", @@ -130855,7 +127400,7 @@ static const_str_libedit = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -130864,7 +127409,7 @@ const_str_libedit = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "libedit", @@ -130877,7 +127422,7 @@ static site_toplevel_consts_21_consts_1_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -130886,7 +127431,7 @@ site_toplevel_consts_21_consts_1_consts_5 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bind ^I rl_complete", @@ -130899,7 +127444,7 @@ static site_toplevel_consts_21_consts_1_consts_6 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -130908,7 +127453,7 @@ site_toplevel_consts_21_consts_1_consts_6 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "tab: complete", @@ -130921,7 +127466,7 @@ static site_toplevel_consts_21_consts_1_consts_8 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -130930,7 +127475,7 @@ site_toplevel_consts_21_consts_1_consts_8 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = ".python_history", @@ -130943,7 +127488,7 @@ static const_str_write_history_file = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -130952,7 +127497,7 @@ const_str_write_history_file = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "write_history_file", @@ -130969,7 +127514,7 @@ site_toplevel_consts_21_consts_1_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -130988,7 +127533,7 @@ static const_str_write_history = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -130997,7 +127542,7 @@ const_str_write_history = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "write_history", @@ -131010,7 +127555,7 @@ static site_toplevel_consts_21_consts_1_consts_9_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 67, @@ -131019,7 +127564,7 @@ site_toplevel_consts_21_consts_1_consts_9_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "enablerlcompleter..register_readline..write_history", @@ -131028,18 +127573,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[71]; + char ob_sval[43]; } site_toplevel_consts_21_consts_1_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 70, + .ob_size = 42, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf0\x02\x05\x11\x19\xd8\x14\x1c\xd7\x14\x2f\xd2\x14\x2f\xb0\x07\xd1\x14\x38\xd4\x14\x38\xd0\x14\x38\xd0\x14\x38\xd0\x14\x38\xf8\xdd\x17\x1e\xf0\x00\x03\x11\x19\xf0\x00\x03\x11\x19\xf0\x00\x03\x11\x19\xf0\x06\x00\x15\x19\x90\x44\x90\x44\xf0\x07\x03\x11\x19\xf8\xf8\xf8", + .ob_sval = "\xf8\x80\x00\xf0\x02\x05\x11\x19\xd8\x14\x1c\xd7\x14\x2f\xd1\x14\x2f\xb0\x07\xd5\x14\x38\xf8\xdc\x17\x1e\xf2\x00\x03\x11\x19\xf1\x06\x00\x15\x19\xf0\x07\x03\x11\x19\xfa", }; static struct { @@ -131050,13 +127595,13 @@ static site_toplevel_consts_21_consts_1_consts_9_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 12, }, .ob_shash = -1, - .ob_sval = "\x83\x15\x1a\x00\x9a\x0a\x28\x03\xa7\x01\x28\x03", + .ob_sval = "\x83\x11\x15\x00\x95\x09\x21\x03\xa0\x01\x21\x03", }; static struct { @@ -131066,7 +127611,7 @@ static const_str_history = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -131075,7 +127620,7 @@ const_str_history = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "history", @@ -131092,7 +127637,7 @@ site_toplevel_consts_21_consts_1_consts_9_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -131112,7 +127657,7 @@ static site_toplevel_consts_21_consts_1_consts_9_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 2, @@ -131121,40 +127666,38 @@ site_toplevel_consts_21_consts_1_consts_9_localspluskinds = { .ob_sval = "\x80\x80", }; static - struct _PyCode_DEF(86) + struct _PyCode_DEF(72) site_toplevel_consts_21_consts_1_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 43, + .ob_size = 36, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_21_consts_1_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = & site_toplevel_consts_21_consts_1_consts_9_exceptiontable.ob_base.ob_base, .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 490, + .co_firstlineno = 485, .co_nlocalsplus = 2, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 2, + .co_version = 692, .co_localsplusnames = & site_toplevel_consts_21_consts_1_consts_9_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & site_toplevel_consts_21_consts_1_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_write_history._ascii.ob_base, .co_qualname = & site_toplevel_consts_21_consts_1_consts_9_qualname._ascii.ob_base, .co_linetable = & site_toplevel_consts_21_consts_1_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x02\x97\x00\x09\x00\x89\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x95\x02\x97\x00\x09\x00\x89\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 1, }; static @@ -131169,7 +127712,7 @@ site_toplevel_consts_21_consts_1_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -131182,7 +127725,7 @@ site_toplevel_consts_21_consts_1_consts = { & const_str_libedit._ascii.ob_base, & site_toplevel_consts_21_consts_1_consts_5._ascii.ob_base, & site_toplevel_consts_21_consts_1_consts_6._ascii.ob_base, - & ntpath_toplevel_consts_27_consts_2._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[126], & site_toplevel_consts_21_consts_1_consts_8._ascii.ob_base, & site_toplevel_consts_21_consts_1_consts_9.ob_base.ob_base, }, @@ -131196,7 +127739,7 @@ static const_str_atexit = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -131205,7 +127748,7 @@ const_str_atexit = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "atexit", @@ -131218,7 +127761,7 @@ static const_str_rlcompleter = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -131227,7 +127770,7 @@ const_str_rlcompleter = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "rlcompleter", @@ -131240,7 +127783,7 @@ static const_str_parse_and_bind = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -131249,7 +127792,7 @@ const_str_parse_and_bind = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "parse_and_bind", @@ -131262,7 +127805,7 @@ static const_str_read_init_file = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -131271,7 +127814,7 @@ const_str_read_init_file = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "read_init_file", @@ -131284,7 +127827,7 @@ static const_str_get_current_history_length = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -131293,7 +127836,7 @@ const_str_get_current_history_length = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "get_current_history_length", @@ -131306,7 +127849,7 @@ static const_str_read_history_file = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -131315,7 +127858,7 @@ const_str_read_history_file = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "read_history_file", @@ -131332,7 +127875,7 @@ site_toplevel_consts_21_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -131364,7 +127907,7 @@ static const_str_register_readline = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -131373,7 +127916,7 @@ const_str_register_readline = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "register_readline", @@ -131386,7 +127929,7 @@ static site_toplevel_consts_21_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 44, @@ -131395,7 +127938,7 @@ site_toplevel_consts_21_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "enablerlcompleter..register_readline", @@ -131404,35 +127947,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[409]; + char ob_sval[255]; } site_toplevel_consts_21_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 408, + .ob_size = 254, }, .ob_shash = -1, - .ob_sval = "\xf8\xf8\x80\x00\xd8\x08\x15\x88\x0d\x88\x0d\x88\x0d\xf0\x02\x04\x09\x13\xd8\x0c\x1b\x88\x4f\x88\x4f\x88\x4f\xd8\x0c\x1e\xd0\x0c\x1e\xd0\x0c\x1e\xd0\x0c\x1e\xd0\x0c\x1e\xf8\xdd\x0f\x1a\xf0\x00\x01\x09\x13\xf0\x00\x01\x09\x13\xf0\x00\x01\x09\x13\xd8\x0c\x12\x88\x46\x88\x46\xf0\x03\x01\x09\x13\xf8\xf8\xf8\xf5\x0a\x00\x18\x1f\x98\x78\xa8\x19\xb0\x42\xd1\x17\x37\xd4\x17\x37\x88\x0c\xd8\x0b\x17\xd0\x0b\x23\xa8\x09\xb0\x5c\xd0\x28\x41\xd0\x28\x41\xd8\x0c\x14\xd7\x0c\x23\xd2\x0c\x23\xd0\x24\x39\xd1\x0c\x3a\xd4\x0c\x3a\xd0\x0c\x3a\xd0\x0c\x3a\xe0\x0c\x14\xd7\x0c\x23\xd2\x0c\x23\xa0\x4f\xd1\x0c\x34\xd4\x0c\x34\xd0\x0c\x34\xf0\x04\x07\x09\x11\xd8\x0c\x14\xd7\x0c\x23\xd2\x0c\x23\xd1\x0c\x25\xd4\x0c\x25\xd0\x0c\x25\xd0\x0c\x25\xf8\xdd\x0f\x16\xf0\x00\x05\x09\x11\xf0\x00\x05\x09\x11\xf0\x00\x05\x09\x11\xf0\x0a\x00\x0d\x11\x88\x44\xf0\x0b\x05\x09\x11\xf8\xf8\xf8\xf0\x0e\x00\x0c\x14\xd7\x0b\x2e\xd2\x0b\x2e\xd1\x0b\x30\xd4\x0b\x30\xb0\x41\xd2\x0b\x35\xd0\x0b\x35\xf5\x0c\x00\x17\x19\x94\x67\x97\x6c\x92\x6c\xa5\x32\xa4\x37\xd7\x23\x35\xd2\x23\x35\xb0\x63\xd1\x23\x3a\xd4\x23\x3a\xd8\x23\x34\xf1\x03\x01\x17\x36\xf4\x00\x01\x17\x36\x88\x47\xf0\x04\x03\x0d\x15\xd8\x10\x18\xd7\x10\x2a\xd2\x10\x2a\xa8\x37\xd1\x10\x33\xd4\x10\x33\xd0\x10\x33\xd0\x10\x33\xf8\xdd\x13\x1a\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xd8\x10\x14\x90\x04\xf0\x03\x01\x0d\x15\xf8\xf8\xf8\xf0\x06\x06\x0d\x19\xf0\x00\x06\x0d\x19\xf0\x00\x06\x0d\x19\xf0\x00\x06\x0d\x19\xf0\x00\x06\x0d\x19\xf0\x00\x06\x0d\x19\xf0\x10\x00\x0d\x13\x8f\x4f\x8a\x4f\x98\x4d\xd1\x0c\x2a\xd4\x0c\x2a\xd0\x0c\x2a\xd0\x0c\x2a\xd0\x0c\x2a\xf0\x2b\x00\x0c\x36\xd0\x0b\x35", + .ob_sval = "\xf9\x80\x00\xdb\x08\x15\xf0\x02\x04\x09\x13\xdb\x0c\x1b\xdb\x0c\x1e\xf4\x0c\x00\x18\x1f\x98\x78\xa8\x19\xb0\x42\xd3\x17\x37\x88\x0c\xd8\x0b\x17\xd0\x0b\x23\xa8\x09\xb0\x5c\xd1\x28\x41\xd8\x0c\x14\xd7\x0c\x23\xd1\x0c\x23\xd0\x24\x39\xd5\x0c\x3a\xe0\x0c\x14\xd7\x0c\x23\xd1\x0c\x23\xa0\x4f\xd4\x0c\x34\xf0\x04\x07\x09\x11\xd8\x0c\x14\xd7\x0c\x23\xd1\x0c\x23\xd4\x0c\x25\xf0\x10\x00\x0c\x14\xd7\x0b\x2e\xd1\x0b\x2e\xd3\x0b\x30\xb0\x41\xd2\x0b\x35\xf4\x0c\x00\x17\x19\x97\x67\x91\x67\x97\x6c\x91\x6c\xa4\x32\xa7\x37\xa1\x37\xd7\x23\x35\xd1\x23\x35\xb0\x63\xd3\x23\x3a\xd8\x23\x34\xf3\x03\x01\x17\x36\x88\x47\xf0\x04\x03\x0d\x15\xd8\x10\x18\xd7\x10\x2a\xd1\x10\x2a\xa8\x37\xd4\x10\x33\xf5\x08\x06\x0d\x19\xf0\x10\x00\x0d\x13\x8f\x4f\x89\x4f\x98\x4d\xd5\x0c\x2a\xf0\x2b\x00\x0c\x36\xf8\xf4\x29\x00\x10\x1b\xf2\x00\x01\x09\x13\xd9\x0c\x12\xf0\x03\x01\x09\x13\xfb\xf4\x1a\x00\x10\x17\xf2\x00\x05\x09\x11\xf1\x0a\x00\x0d\x11\xf0\x0b\x05\x09\x11\xfb\xf4\x22\x00\x14\x1b\xf2\x00\x01\x0d\x15\xd9\x10\x14\xf0\x03\x01\x0d\x15\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[49]; + char ob_sval[54]; } site_toplevel_consts_21_consts_1_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 48, + .ob_size = 53, }, .ob_shash = -1, - .ob_sval = "\x88\x08\x11\x00\x91\x0a\x1f\x03\x9e\x01\x1f\x03\xc1\x25\x14\x41\x3a\x00\xc1\x3a\x0a\x42\x07\x03\xc2\x06\x01\x42\x07\x03\xc3\x20\x15\x43\x36\x00\xc3\x36\x0a\x44\x03\x03\xc4\x02\x01\x44\x03\x03", + .ob_sval = "\x88\x08\x43\x12\x00\xc1\x07\x10\x43\x21\x00\xc2\x28\x11\x43\x30\x00\xc3\x12\x09\x43\x1e\x03\xc3\x1d\x01\x43\x1e\x03\xc3\x21\x09\x43\x2d\x03\xc3\x2c\x01\x43\x2d\x03\xc3\x30\x09\x43\x3c\x03\xc3\x3b\x01\x43\x3c\x03", }; static struct { @@ -131442,7 +127985,7 @@ static const_str_readline_doc = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -131451,7 +127994,7 @@ const_str_readline_doc = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "readline_doc", @@ -131468,7 +128011,7 @@ site_toplevel_consts_21_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -131492,7 +128035,7 @@ static site_toplevel_consts_21_consts_1_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 6, @@ -131501,40 +128044,38 @@ site_toplevel_consts_21_consts_1_localspluskinds = { .ob_sval = " @@", }; static - struct _PyCode_DEF(586) + struct _PyCode_DEF(510) site_toplevel_consts_21_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 293, + .ob_size = 255, }, .co_consts = & site_toplevel_consts_21_consts_1_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_21_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = & site_toplevel_consts_21_consts_1_exceptiontable.ob_base.ob_base, .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 452, + .co_firstlineno = 447, .co_nlocalsplus = 6, .co_nlocals = 4, - .co_nplaincellvars = 2, .co_ncellvars = 2, .co_nfreevars = 0, + .co_version = 693, .co_localsplusnames = & site_toplevel_consts_21_consts_1_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & site_toplevel_consts_21_consts_1_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_register_readline._ascii.ob_base, .co_qualname = & site_toplevel_consts_21_consts_1_qualname._ascii.ob_base, .co_linetable = & site_toplevel_consts_21_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x04\x87\x05\x97\x00\x64\x01\x64\x00\x6c\x00\x7d\x00\x09\x00\x64\x01\x64\x00\x6c\x01\x8a\x05\x64\x01\x64\x00\x6c\x02\x7d\x01\x6e\x11\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x05\x64\x02\x64\x03\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x81\x1a\x64\x04\x7c\x02\x76\x00\x72\x16\x89\x05\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x15\x89\x05\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x89\x05\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x10\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x89\x05\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x81\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x04\x09\x00\x89\x05\xa0\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x10\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x88\x04\x88\x05\x66\x02\x64\x09\x84\x08\x7d\x03\x7c\x00\xa0\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x87\x04\x87\x05\x97\x00\x64\x01\x64\x00\x6c\x00\x7d\x00\x09\x00\x64\x01\x64\x00\x6c\x01\x8a\x05\x64\x01\x64\x00\x6c\x02\x7d\x01\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x89\x05\x64\x02\x64\x03\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x81\x16\x64\x04\x7c\x02\x76\x00\x72\x12\x89\x05\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x11\x89\x05\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x89\x05\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x89\x05\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x28\x00\x00\x72\x67\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\xab\x01\x00\x00\x00\x00\x00\x00\x64\x08\xab\x02\x00\x00\x00\x00\x00\x00\x8a\x04\x09\x00\x89\x05\x6a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x04\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x88\x04\x88\x05\x66\x02\x64\x09\x84\x08\x7d\x03\x7c\x00\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x79\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x00\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x95\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x42\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 2, }; static @@ -131549,7 +128090,7 @@ site_toplevel_consts_21_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -131569,7 +128110,7 @@ static const_str___interactivehook__ = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -131578,7 +128119,7 @@ const_str___interactivehook__ = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "__interactivehook__", @@ -131595,7 +128136,7 @@ site_toplevel_consts_21_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -131614,7 +128155,7 @@ static const_str_enablerlcompleter = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -131623,7 +128164,7 @@ const_str_enablerlcompleter = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "enablerlcompleter", @@ -131632,18 +128173,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[35]; + char ob_sval[19]; } site_toplevel_consts_21_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 34, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x12\x2e\x05\x2b\xf0\x00\x2e\x05\x2b\xf0\x00\x2e\x05\x2b\xf0\x60\x01\x00\x1f\x30\x85\x43\xd4\x04\x1b\xd0\x04\x1b\xd0\x04\x1b", + .ob_sval = "\x80\x00\xf2\x12\x2e\x05\x2b\xf0\x60\x01\x00\x1f\x30\x84\x43\xd5\x04\x1b", }; static struct { @@ -131657,7 +128198,7 @@ site_toplevel_consts_21_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -131668,40 +128209,38 @@ site_toplevel_consts_21_localsplusnames = { }, }; static - struct _PyCode_DEF(36) + struct _PyCode_DEF(32) site_toplevel_consts_21 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 16, }, .co_consts = & site_toplevel_consts_21_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_21_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 443, + .co_firstlineno = 438, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 694, .co_localsplusnames = & site_toplevel_consts_21_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_enablerlcompleter._ascii.ob_base, .co_qualname = & const_str_enablerlcompleter._ascii.ob_base, .co_linetable = & site_toplevel_consts_21_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x84\x00\x7d\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x84\x00\x7d\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x79\x02", ._co_firsttraceable = 0, }; static @@ -131712,7 +128251,7 @@ static const_str___PYVENV_LAUNCHER__ = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -131721,7 +128260,7 @@ const_str___PYVENV_LAUNCHER__ = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "__PYVENV_LAUNCHER__", @@ -131734,7 +128273,7 @@ static site_toplevel_consts_22_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -131743,7 +128282,7 @@ site_toplevel_consts_22_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pyvenv.cfg", @@ -131760,7 +128299,7 @@ site_toplevel_consts_22_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -131775,41 +128314,41 @@ site_toplevel_consts_22_consts_4_names = { static struct { PyASCIIObject _ascii; - uint8_t _data[25]; + uint8_t _data[24]; } site_toplevel_consts_22_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 24, + .length = 23, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "venv..", + ._data = "venv..", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[63]; + char ob_sval[43]; } site_toplevel_consts_22_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 62, + .ob_size = 42, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x00\x06\x17\x0a\xf0\x00\x06\x17\x0a\xf0\x00\x06\x17\x0a\xd8\x15\x1d\xf5\x08\x00\x0c\x0e\x8c\x37\x8f\x3e\x8a\x3e\x98\x28\xd1\x0b\x23\xd4\x0b\x23\xf0\x0b\x06\x17\x0a\xd8\x08\x10\xf0\x03\x06\x17\x0a\xf0\x00\x06\x17\x0a\xf0\x00\x06\x17\x0a", + .ob_sval = "\xe8\x00\xf8\x80\x00\xf2\x00\x06\x09\x0a\xd8\x19\x21\xf4\x08\x00\x10\x12\x8f\x77\x89\x77\x8f\x7e\x89\x7e\x98\x68\xd4\x0f\x27\xf4\x09\x00\x0d\x15\xf1\x03\x06\x09\x0a\xf9", }; static struct { @@ -131819,7 +128358,7 @@ static const_str_conffile = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -131828,7 +128367,7 @@ const_str_conffile = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "conffile", @@ -131845,7 +128384,7 @@ site_toplevel_consts_22_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -131857,95 +128396,49 @@ site_toplevel_consts_22_consts_4_localsplusnames = { }, }; static - struct _PyCode_DEF(80) + struct _PyCode_DEF(94) site_toplevel_consts_22_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 40, + .ob_size = 47, }, - .co_consts = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_22_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, + .co_exceptiontable = & _collections_abc_toplevel_consts_68_consts_7_exceptiontable.ob_base.ob_base, + .co_flags = 51, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 514, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 510, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 695, .co_localsplusnames = & site_toplevel_consts_22_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, - .co_name = &_Py_STR(anon_listcomp), + .co_name = &_Py_STR(anon_genexpr), .co_qualname = & site_toplevel_consts_22_consts_4_qualname._ascii.ob_base, .co_linetable = & site_toplevel_consts_22_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7c\x00\x5d\x23\x7d\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x21\x7c\x01\x91\x02\x8c\x24\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[5]; - } -const_str_true = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 4, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "true", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -site_toplevel_consts_22_consts_9 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "=", + ._co_cached = NULL, + .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x5d\x25\x00\x00\x7d\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x72\x04\x7c\x01\x96\x01\x97\x01\x01\x00\x8c\x27\x04\x00\x79\x00\xad\x03\x77\x01", + ._co_firsttraceable = 2, }; static struct { PyASCIIObject _ascii; uint8_t _data[29]; } -site_toplevel_consts_22_consts_10 = { +site_toplevel_consts_22_consts_9 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -131954,7 +128447,7 @@ site_toplevel_consts_22_consts_10 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "include-system-site-packages", @@ -131967,7 +128460,7 @@ static const_str_home = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -131976,7 +128469,7 @@ const_str_home = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "home", @@ -131993,7 +128486,7 @@ site_toplevel_consts_22_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -132004,13 +128497,13 @@ site_toplevel_consts_22_consts = { & const_str___PYVENV_LAUNCHER__._ascii.ob_base, & site_toplevel_consts_22_consts_3._ascii.ob_base, & site_toplevel_consts_22_consts_4.ob_base.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & const_str_true._ascii.ob_base, + &_Py_ID(true), &_Py_STR(utf_8), - & codecs_toplevel_consts_37_localsplusnames._object.ob_base.ob_base, + & codecs_toplevel_consts_35_localsplusnames._object.ob_base.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[61], & site_toplevel_consts_22_consts_9._ascii.ob_base, - & site_toplevel_consts_22_consts_10._ascii.ob_base, & const_str_home._ascii.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], Py_False, }, }, @@ -132023,7 +128516,7 @@ static const_str__base_executable = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -132032,7 +128525,7 @@ const_str__base_executable = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_base_executable", @@ -132045,7 +128538,7 @@ static const_str_executable = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -132054,7 +128547,7 @@ const_str_executable = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "executable", @@ -132067,7 +128560,7 @@ static const_str__home = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -132076,7 +128569,7 @@ const_str__home = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_home", @@ -132089,7 +128582,7 @@ static const_str_exec_prefix = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -132098,7 +128591,7 @@ const_str_exec_prefix = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "exec_prefix", @@ -132115,7 +128608,7 @@ site_toplevel_consts_22_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 22, @@ -132128,10 +128621,10 @@ site_toplevel_consts_22_names = { & const_str__base_executable._ascii.ob_base, & const_str_executable._ascii.ob_base, &_Py_ID(path), - & const_str_split._ascii.ob_base, - & const_str_abspath._ascii.ob_base, & const_str_dirname._ascii.ob_base, + & const_str_abspath._ascii.ob_base, & const_str__home._ascii.ob_base, + &_Py_ID(next), &_Py_ID(join), &_Py_ID(open), & const_str_partition._ascii.ob_base, @@ -132154,7 +128647,7 @@ static const_str_venv = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -132163,7 +128656,7 @@ const_str_venv = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "venv", @@ -132172,35 +128665,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[564]; + char ob_sval[445]; } site_toplevel_consts_22_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 563, + .ob_size = 444, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x06\x00\x0b\x0d\x8c\x2a\x80\x43\xdd\x07\x0a\x84\x7c\x90\x78\xd2\x07\x1f\xd0\x07\x1f\xd0\x24\x39\xb8\x53\xd0\x24\x40\xd0\x24\x40\xdd\x2c\x2e\xac\x4a\xd0\x37\x4c\xd4\x2c\x4d\xd0\x08\x4d\x88\x0a\x95\x53\xd4\x15\x29\xd0\x15\x29\xe5\x15\x18\x94\x5e\x88\x0a\xdd\x11\x13\x94\x17\x97\x1d\x92\x1d\x9d\x72\x9c\x77\x9f\x7f\x9a\x7f\xa8\x7a\xd1\x1f\x3a\xd4\x1f\x3a\xd1\x11\x3b\xd4\x11\x3b\x81\x4a\x80\x47\x88\x51\xdd\x12\x14\x94\x27\x97\x2f\x92\x2f\xa0\x27\xd1\x12\x2a\xd4\x12\x2a\x80\x4b\xd8\x10\x14\x85\x43\x84\x49\xd8\x14\x20\x80\x4d\xf0\x02\x06\x17\x0a\xf0\x00\x06\x17\x0a\xe5\x0c\x0e\x8c\x47\x8f\x4c\x8a\x4c\x98\x17\xa0\x2d\xd1\x0c\x30\xd4\x0c\x30\xdd\x0c\x0e\x8c\x47\x8f\x4c\x8a\x4c\x98\x1b\xa0\x6d\xd1\x0c\x34\xd4\x0c\x34\xf0\x05\x03\x22\x0e\xf0\x03\x06\x17\x0a\xf1\x00\x06\x17\x0a\xf4\x00\x06\x17\x0a\x80\x4f\xf0\x10\x00\x08\x17\xf1\x00\x1b\x05\x25\xd8\x17\x26\xa0\x71\xd4\x17\x29\x88\x0c\xd8\x16\x1c\x88\x0b\xf5\x06\x00\x0e\x12\x90\x2c\xa8\x17\xd0\x0d\x31\xd1\x0d\x31\xd4\x0d\x31\xf0\x00\x09\x09\x2a\xb0\x51\xd8\x18\x19\xf0\x00\x08\x0d\x2a\xf0\x00\x08\x0d\x2a\x90\x04\xd8\x13\x16\x98\x24\x90\x3b\x90\x3b\xd8\x24\x28\xa7\x4e\xa2\x4e\xb0\x33\xd1\x24\x37\xd4\x24\x37\x91\x4d\x90\x43\x98\x11\x98\x45\xd8\x1a\x1d\x9f\x29\x9a\x29\x99\x2b\x9c\x2b\xd7\x1a\x2b\xd2\x1a\x2b\xd1\x1a\x2d\xd4\x1a\x2d\x90\x43\xd8\x1c\x21\x9f\x4b\x9a\x4b\x99\x4d\x9c\x4d\x90\x45\xd8\x17\x1a\xd0\x1e\x3c\xd2\x17\x3c\xd0\x17\x3c\xd8\x26\x2b\xa7\x6b\xa2\x6b\xa1\x6d\xa4\x6d\x98\x0b\x98\x0b\xd8\x19\x1c\xa0\x06\x9a\x1d\x98\x1d\xd8\x24\x29\x9d\x03\x9c\x09\xf8\xf0\x11\x08\x0d\x2a\xf0\x03\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf1\x00\x09\x09\x2a\xf4\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf8\xf8\xf8\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x00\x09\x09\x2a\xf0\x16\x00\x28\x33\xd0\x08\x32\x8d\x03\x8c\x0a\x95\x53\x94\x5f\xf5\x06\x00\x09\x18\x98\x0b\xa5\x63\xa4\x6a\xa0\x5c\xd1\x08\x32\xd4\x08\x32\xd0\x08\x32\xf0\x08\x00\x0c\x17\x98\x26\xd2\x0b\x20\xd0\x0b\x20\xdd\x0c\x14\x8f\x4f\x8a\x4f\x98\x41\x9d\x73\x9c\x7a\xd1\x0c\x2a\xd4\x0c\x2a\xd0\x0c\x2a\xd0\x0c\x2a\xe5\x18\x1b\x9c\x0a\x90\x7c\x88\x48\xd8\x1f\x24\xd0\x0c\x1c\xe0\x0b\x16\xd0\x04\x16", + .ob_sval = "\x80\x00\xf4\x06\x00\x0b\x0d\x8f\x2a\x89\x2a\x80\x43\xdc\x07\x0a\x87\x7c\x81\x7c\x90\x78\xd2\x07\x1f\xd0\x24\x39\xb8\x53\xd1\x24\x40\xdc\x2c\x2e\xaf\x4a\xa9\x4a\xd0\x37\x4c\xd1\x2c\x4d\xd0\x08\x4d\x88\x0a\x94\x53\xd5\x15\x29\xe4\x15\x18\x97\x5e\x91\x5e\x88\x0a\xdc\x0e\x10\x8f\x67\x89\x67\x8f\x6f\x89\x6f\x9c\x62\x9f\x67\x99\x67\x9f\x6f\x99\x6f\xa8\x6a\xd3\x1e\x39\xd3\x0e\x3a\x80\x47\xdc\x12\x14\x97\x27\x91\x27\x97\x2f\x91\x2f\xa0\x27\xd3\x12\x2a\x80\x4b\xd8\x10\x14\x84\x43\x84\x49\xd8\x14\x20\x80\x4d\xdc\x15\x19\xf1\x02\x06\x09\x0a\xe4\x10\x12\x97\x07\x91\x07\x97\x0c\x91\x0c\x98\x57\xa0\x6d\xd3\x10\x34\xdc\x10\x12\x97\x07\x91\x07\x97\x0c\x91\x0c\x98\x5b\xa8\x2d\xd3\x10\x38\xf0\x05\x03\x26\x0e\xf4\x03\x06\x09\x0a\xf0\x0e\x00\x09\x0d\xf3\x11\x09\x16\x06\x80\x4e\xf2\x16\x00\x08\x16\xd8\x17\x25\x88\x0c\xd8\x16\x1c\x88\x0b\xf4\x06\x00\x0e\x12\x90\x2c\xa8\x17\xd4\x0d\x31\xf0\x00\x09\x09\x2a\xb0\x51\xd8\x18\x19\xf2\x00\x08\x0d\x2a\x90\x04\xd8\x13\x16\x98\x24\x92\x3b\xd8\x24\x28\xa7\x4e\xa1\x4e\xb0\x33\xd3\x24\x37\x91\x4d\x90\x43\x98\x11\x98\x45\xd8\x1a\x1d\x9f\x29\x99\x29\x9b\x2b\xd7\x1a\x2b\xd1\x1a\x2b\xd3\x1a\x2d\x90\x43\xd8\x1c\x21\x9f\x4b\x99\x4b\x9b\x4d\x90\x45\xd8\x17\x1a\xd0\x1e\x3c\xd2\x17\x3c\xd8\x26\x2b\xa7\x6b\xa1\x6b\xa3\x6d\x99\x0b\xd8\x19\x1c\xa0\x06\x9b\x1d\xd8\x24\x29\x9c\x03\x9d\x09\xf1\x11\x08\x0d\x2a\xf7\x03\x09\x09\x2a\xf0\x16\x00\x28\x33\xd0\x08\x32\x8c\x03\x8c\x0a\x94\x53\x94\x5f\xf4\x06\x00\x09\x18\x98\x0b\xa4\x63\xa7\x6a\xa1\x6a\xa0\x5c\xd4\x08\x32\xf0\x08\x00\x0c\x17\x98\x26\xd2\x0b\x20\xdc\x0c\x14\x8f\x4f\x89\x4f\x98\x41\x9c\x73\x9f\x7a\x99\x7a\xd4\x0c\x2a\xf0\x0a\x00\x0c\x17\xd0\x04\x16\xf4\x07\x00\x19\x1c\x9f\x0a\x99\x0a\x90\x7c\x88\x48\xd8\x1f\x24\xd0\x0c\x1c\xe0\x0b\x16\xd0\x04\x16\xf7\x31\x09\x09\x2a\xf0\x00\x09\x09\x2a\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[20]; + char ob_sval[26]; } site_toplevel_consts_22_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 19, + .ob_size = 25, }, .ob_shash = -1, - .ob_sval = "\xc4\x20\x42\x0a\x46\x37\x03\xc6\x37\x04\x46\x3b\x07\xc6\x3e\x01\x46\x3b\x07", + .ob_sval = "\xc4\x24\x0a\x48\x15\x03\xc4\x2f\x41\x1e\x48\x15\x03\xc6\x0e\x0d\x48\x15\x03\xc8\x15\x05\x48\x1e\x07", }; static struct { @@ -132210,7 +128703,7 @@ static const_str_exe_dir = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -132219,7 +128712,7 @@ const_str_exe_dir = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "exe_dir", @@ -132232,7 +128725,7 @@ static const_str_site_prefix = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -132241,7 +128734,7 @@ const_str_site_prefix = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "site_prefix", @@ -132254,7 +128747,7 @@ static const_str_conf_basename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -132263,7 +128756,7 @@ const_str_conf_basename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "conf_basename", @@ -132271,24 +128764,24 @@ const_str_conf_basename = { static struct { PyASCIIObject _ascii; - uint8_t _data[16]; + uint8_t _data[15]; } -const_str_candidate_confs = { +const_str_candidate_conf = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 15, + .length = 14, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "candidate_confs", + ._data = "candidate_conf", }; static struct { @@ -132298,7 +128791,7 @@ static const_str_virtual_conf = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -132307,7 +128800,7 @@ const_str_virtual_conf = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "virtual_conf", @@ -132320,7 +128813,7 @@ static const_str_system_site = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -132329,7 +128822,7 @@ const_str_system_site = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "system_site", @@ -132346,64 +128839,62 @@ site_toplevel_consts_22_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 14, }, .ob_item = { & const_str_known_paths._ascii.ob_base, - & const_str_env._ascii.ob_base, + &_Py_ID(env), & const_str_executable._ascii.ob_base, & const_str_exe_dir._ascii.ob_base, - &_Py_ID(_), & const_str_site_prefix._ascii.ob_base, & const_str_conf_basename._ascii.ob_base, - & const_str_candidate_confs._ascii.ob_base, + & const_str_candidate_conf._ascii.ob_base, & const_str_virtual_conf._ascii.ob_base, & const_str_system_site._ascii.ob_base, - & const_str_f._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[102], &_Py_ID(line), - & const_str_key._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(key), + &_Py_ID(_), + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(1124) + struct _PyCode_DEF(1090) site_toplevel_consts_22 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 562, + .ob_size = 545, }, .co_consts = & site_toplevel_consts_22_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_22_names._object.ob_base.ob_base, .co_exceptiontable = & site_toplevel_consts_22_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 502, + .co_framesize = 22 + FRAME_SPECIALS_SIZE, + .co_stacksize = 8, + .co_firstlineno = 497, .co_nlocalsplus = 14, .co_nlocals = 14, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 696, .co_localsplusnames = & site_toplevel_consts_22_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_73_consts_7_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_72_consts_6_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_venv._ascii.ob_base, .co_qualname = & const_str_venv._ascii.ob_base, .co_linetable = & site_toplevel_consts_22_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x02\x00\x00\x00\x00\x72\x23\x64\x02\x7c\x01\x76\x00\x72\x1f\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x01\x7d\x02\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x0c\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x03\x7d\x04\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7d\x06\x64\x04\x84\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x44\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x07\x90\x01\x72\x2b\x7c\x07\x64\x05\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x64\x06\x7d\x09\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\x64\x07\xac\x08\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x0a\x7c\x0a\x44\x00\x5d\x86\x7d\x0b\x64\x09\x7c\x0b\x76\x00\x72\x80\x7c\x0b\xa0\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x0c\x7d\x04\x7d\x0d\x7c\x0c\xa0\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x7c\x0d\xa0\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0d\x7c\x0c\x64\x0a\x6b\x02\x00\x00\x00\x00\x72\x15\x7c\x0d\xa0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x8c\x74\x7c\x0c\x64\x0b\x6b\x02\x00\x00\x00\x00\x72\x0c\x7c\x0d\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x87\x09\x00\x64\x00\x64\x00\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x7c\x05\x78\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x10\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x11\x00\x00\x00\x00\x00\x00\x00\x00\x74\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x09\x64\x06\x6b\x02\x00\x00\x00\x00\x72\x26\x74\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0f\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\x61\x13\x64\x0c\x61\x15\x7c\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x6b\x28\x00\x00\x72\x23\x64\x02\x7c\x01\x76\x00\x72\x1f\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x78\x01\x7d\x02\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x10\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x04\x64\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x7d\x05\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x84\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x05\xab\x02\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x05\xab\x02\x00\x00\x00\x00\x00\x00\x66\x02\x44\x00\xab\x00\x00\x00\x00\x00\x00\x00\x64\x00\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x06\x90\x01\x72\x00\x7c\x06\x7d\x07\x64\x05\x7d\x08\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x64\x06\xac\x07\xab\x02\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x09\x7c\x09\x44\x00\x5d\x71\x00\x00\x7d\x0a\x64\x08\x7c\x0a\x76\x00\x73\x01\x8c\x08\x7c\x0a\x6a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x0b\x7d\x0c\x7d\x0d\x7c\x0b\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x6a\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x0d\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x0d\x7c\x0b\x64\x09\x6b\x28\x00\x00\x72\x11\x7c\x0d\x6a\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x8c\x61\x7c\x0b\x64\x0a\x6b\x28\x00\x00\x73\x01\x8c\x67\x7c\x0d\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x09\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x73\x04\x00\x09\x00\x64\x00\x64\x00\x64\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x04\x78\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x10\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x11\x00\x00\x00\x00\x00\x00\x00\x00\x74\x25\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x08\x64\x05\x6b\x28\x00\x00\x72\x26\x74\x26\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\x61\x13\x64\x0c\x61\x15\x7c\x00\x53\x00\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x8c\x7a\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -132414,7 +128905,7 @@ static site_toplevel_consts_23_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 44, @@ -132423,7 +128914,7 @@ site_toplevel_consts_23_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Run custom site specific code, if available.", @@ -132436,7 +128927,7 @@ static const_str_sitecustomize = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -132445,7 +128936,7 @@ const_str_sitecustomize = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sitecustomize", @@ -132458,7 +128949,7 @@ static site_toplevel_consts_23_consts_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 57, @@ -132467,7 +128958,7 @@ site_toplevel_consts_23_consts_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x45\x72\x72\x6f\x72\x20\x69\x6e\x20\x73\x69\x74\x65\x63\x75\x73\x74\x6f\x6d\x69\x7a\x65\x3b\x20\x73\x65\x74\x20\x50\x59\x54\x48\x4f\x4e\x56\x45\x52\x42\x4f\x53\x45\x20\x66\x6f\x72\x20\x74\x72\x61\x63\x65\x62\x61\x63\x6b\x3a\x0a", @@ -132484,7 +128975,7 @@ site_toplevel_consts_23_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -132495,11 +128986,33 @@ site_toplevel_consts_23_consts = { Py_None, & const_str_sitecustomize._ascii.ob_base, & site_toplevel_consts_23_consts_4._ascii.ob_base, - & importlib__bootstrap_external_toplevel_consts_43_consts_4._ascii.ob_base, - & _sitebuiltins_toplevel_consts_5_consts_5_consts_3._ascii.ob_base, + & importlib__bootstrap_external_toplevel_consts_42_consts_4._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[10], }, }, }; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[9]; + } +const_str_exc_info = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 8, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "exc_info", +}; static struct { PyGC_Head _gc_head; @@ -132512,7 +129025,7 @@ site_toplevel_consts_23_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -132523,7 +129036,7 @@ site_toplevel_consts_23_names = { &_Py_ID(name), & const_str_Exception._ascii.ob_base, & const_str_sys._ascii.ob_base, - & const_str_flags._ascii.ob_base, + &_Py_ID(flags), & const_str_verbose._ascii.ob_base, &_Py_ID(excepthook), & const_str_exc_info._ascii.ob_base, @@ -132542,7 +129055,7 @@ static const_str_execsitecustomize = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -132551,7 +129064,7 @@ const_str_execsitecustomize = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "execsitecustomize", @@ -132560,18 +129073,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[270]; + char ob_sval[153]; } site_toplevel_consts_23_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 269, + .ob_size = 152, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x04\x0f\x05\x2f\xf0\x02\x06\x09\x16\xd8\x0c\x20\xd0\x0c\x20\xd0\x0c\x20\xd0\x0c\x20\xd0\x0c\x20\xd0\x0c\x20\xf8\xdd\x0f\x1a\xf0\x00\x04\x09\x16\xf0\x00\x04\x09\x16\xf0\x00\x04\x09\x16\xd8\x0f\x12\x8c\x78\x98\x3f\xd2\x0f\x2a\xd0\x0f\x2a\xd8\x10\x14\xe0\x10\x15\xf0\x05\x00\x11\x15\x90\x04\x90\x04\x90\x04\x90\x04\x90\x04\xf8\xf8\xf8\xf8\xf0\x05\x04\x09\x16\xf8\xf8\xf8\xf8\xf5\x0a\x00\x0c\x15\xf0\x00\x07\x05\x2f\xf0\x00\x07\x05\x2f\xf0\x00\x07\x05\x2f\xdd\x0b\x0e\x8c\x39\xd4\x0b\x1c\xf0\x00\x06\x09\x2f\xdd\x0c\x0f\x8c\x4e\x9d\x43\x9c\x4c\x99\x4e\x9c\x4e\xd0\x0c\x2b\xd0\x0c\x2b\xd0\x0c\x2b\xe5\x0c\x0f\x8c\x4a\xd7\x0c\x1c\xd2\x0c\x1c\xd0\x0c\x1c\xf0\x06\x00\x12\x15\x94\x1d\xd4\x11\x27\xd0\x11\x27\xd0\x11\x27\xa8\x13\xa8\x13\xa8\x13\xf0\x05\x02\x11\x2e\xf1\x03\x03\x0d\x2f\xf4\x00\x03\x0d\x2f\xf0\x00\x03\x0d\x2f\xf0\x00\x03\x0d\x2f\xf0\x00\x03\x0d\x2f\xf0\x00\x03\x0d\x2f\xf0\x00\x03\x0d\x2f\xf0\x00\x03\x0d\x2f\xf0\x00\x03\x0d\x2f\xf0\x05\x00\x0d\x2c\xd0\x0c\x2b\xd0\x0c\x2b\xd0\x0c\x2b\xd0\x0c\x2b\xd0\x0c\x2b\xf8\xf8\xf8\xf8\xf0\x05\x07\x05\x2f\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x04\x0f\x05\x2f\xf0\x02\x06\x09\x16\xdc\x0c\x20\xf8\xdc\x0f\x1a\xf2\x00\x04\x09\x16\xd8\x0f\x12\x8f\x78\x89\x78\x98\x3f\xd2\x0f\x2a\xd8\x10\x14\xe0\x10\x15\xf4\x05\x00\x11\x15\xfb\xf0\x05\x04\x09\x16\xfb\xf4\x0a\x00\x0c\x15\xf2\x00\x07\x05\x2f\xdc\x0b\x0e\x8f\x39\x89\x39\xd7\x0b\x1c\xd2\x0b\x1c\xdc\x0c\x0f\x8f\x4e\x89\x4e\x9c\x43\x9f\x4c\x99\x4c\x9b\x4e\xd2\x0c\x2b\xe4\x0c\x0f\x8f\x4a\x89\x4a\xd7\x0c\x1c\xd2\x0c\x1c\xf0\x06\x00\x12\x15\x97\x1d\x91\x1d\xd7\x11\x27\xd3\x11\x27\xaa\x13\xf0\x05\x02\x11\x2e\xf7\x03\x03\x0d\x2f\xf1\x00\x03\x0d\x2f\xf4\x05\x00\x0d\x2c\xfb\xf0\x05\x07\x05\x2f\xfa", }; static struct { @@ -132582,13 +129095,13 @@ static site_toplevel_consts_23_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 41, }, .ob_shash = -1, - .ob_sval = "\x83\x04\x09\x00\x89\x0a\x2b\x03\x93\x0d\x26\x03\xa0\x04\x2e\x00\xa6\x05\x2b\x03\xab\x03\x2e\x00\xae\x0a\x42\x2a\x03\xb8\x41\x21\x42\x25\x03\xc2\x25\x05\x42\x2a\x03", + .ob_sval = "\x83\x04\x08\x00\x88\x09\x2c\x03\x91\x11\x27\x03\xa2\x04\x2f\x00\xa7\x05\x2c\x03\xac\x03\x2f\x00\xaf\x09\x43\x00\x03\xb8\x41\x39\x42\x3b\x03\xc2\x3b\x05\x43\x00\x03", }; static struct { @@ -132602,7 +129115,7 @@ site_toplevel_consts_23_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -132615,40 +129128,38 @@ site_toplevel_consts_23_localsplusnames = { }, }; static - struct _PyCode_DEF(346) + struct _PyCode_DEF(390) site_toplevel_consts_23 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 173, + .ob_size = 195, }, .co_consts = & site_toplevel_consts_23_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_23_names._object.ob_base.ob_base, .co_exceptiontable = & site_toplevel_consts_23_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, - .co_firstlineno = 554, + .co_firstlineno = 552, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 697, .co_localsplusnames = & site_toplevel_consts_23_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_execsitecustomize._ascii.ob_base, .co_qualname = & const_str_execsitecustomize._ascii.ob_base, .co_linetable = & site_toplevel_consts_23_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x09\x00\x64\x01\x64\x02\x6c\x00\x7d\x00\x64\x02\x53\x00\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x18\x7d\x01\x7c\x01\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x6b\x02\x00\x00\x00\x00\x72\x01\x6e\x01\x82\x00\x59\x00\x64\x02\x7d\x01\x7e\x01\x64\x02\x53\x00\x64\x02\x7d\x01\x7e\x01\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x72\x7d\x02\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x72\x20\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x01\x00\x6e\x36\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x02\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x64\x05\x7c\x02\x9b\x01\x64\x06\x9d\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x02\x7d\x02\x7e\x02\x64\x02\x53\x00\x59\x00\x64\x02\x7d\x02\x7e\x02\x64\x02\x53\x00\x64\x02\x7d\x02\x7e\x02\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x09\x00\x64\x01\x64\x02\x6c\x00\x7d\x00\x79\x02\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x1b\x7d\x01\x7c\x01\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x6b\x28\x00\x00\x72\x01\x6e\x01\x82\x00\x59\x00\x64\x02\x7d\x01\x7e\x01\x79\x02\x64\x02\x7d\x01\x7e\x01\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x88\x7d\x02\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x25\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x01\x00\x6e\x3f\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x02\x6a\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x64\x05\x7c\x02\x9b\x01\x64\x06\x9d\x05\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x02\x7d\x02\x7e\x02\x79\x02\x59\x00\x64\x02\x7d\x02\x7e\x02\x79\x02\x64\x02\x7d\x02\x7e\x02\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -132659,7 +129170,7 @@ static site_toplevel_consts_24_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 44, @@ -132668,7 +129179,7 @@ site_toplevel_consts_24_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Run custom user specific code, if available.", @@ -132681,7 +129192,7 @@ static const_str_usercustomize = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -132690,7 +129201,7 @@ const_str_usercustomize = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "usercustomize", @@ -132703,7 +129214,7 @@ static site_toplevel_consts_24_consts_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 57, @@ -132712,7 +129223,7 @@ site_toplevel_consts_24_consts_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x45\x72\x72\x6f\x72\x20\x69\x6e\x20\x75\x73\x65\x72\x63\x75\x73\x74\x6f\x6d\x69\x7a\x65\x3b\x20\x73\x65\x74\x20\x50\x59\x54\x48\x4f\x4e\x56\x45\x52\x42\x4f\x53\x45\x20\x66\x6f\x72\x20\x74\x72\x61\x63\x65\x62\x61\x63\x6b\x3a\x0a", @@ -132729,7 +129240,7 @@ site_toplevel_consts_24_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -132740,8 +129251,8 @@ site_toplevel_consts_24_consts = { Py_None, & const_str_usercustomize._ascii.ob_base, & site_toplevel_consts_24_consts_4._ascii.ob_base, - & importlib__bootstrap_external_toplevel_consts_43_consts_4._ascii.ob_base, - & _sitebuiltins_toplevel_consts_5_consts_5_consts_3._ascii.ob_base, + & importlib__bootstrap_external_toplevel_consts_42_consts_4._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[10], }, }, }; @@ -132757,7 +129268,7 @@ site_toplevel_consts_24_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -132768,7 +129279,7 @@ site_toplevel_consts_24_names = { &_Py_ID(name), & const_str_Exception._ascii.ob_base, & const_str_sys._ascii.ob_base, - & const_str_flags._ascii.ob_base, + &_Py_ID(flags), & const_str_verbose._ascii.ob_base, &_Py_ID(excepthook), & const_str_exc_info._ascii.ob_base, @@ -132787,7 +129298,7 @@ static const_str_execusercustomize = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 17, @@ -132796,7 +129307,7 @@ const_str_execusercustomize = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "execusercustomize", @@ -132813,7 +129324,7 @@ site_toplevel_consts_24_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -132826,40 +129337,38 @@ site_toplevel_consts_24_localsplusnames = { }, }; static - struct _PyCode_DEF(346) + struct _PyCode_DEF(390) site_toplevel_consts_24 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 173, + .ob_size = 195, }, .co_consts = & site_toplevel_consts_24_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_24_names._object.ob_base.ob_base, .co_exceptiontable = & site_toplevel_consts_23_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, - .co_firstlineno = 574, + .co_firstlineno = 572, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 698, .co_localsplusnames = & site_toplevel_consts_24_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_execusercustomize._ascii.ob_base, .co_qualname = & const_str_execusercustomize._ascii.ob_base, .co_linetable = & site_toplevel_consts_23_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x09\x00\x64\x01\x64\x02\x6c\x00\x7d\x00\x64\x02\x53\x00\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x18\x7d\x01\x7c\x01\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x6b\x02\x00\x00\x00\x00\x72\x01\x6e\x01\x82\x00\x59\x00\x64\x02\x7d\x01\x7e\x01\x64\x02\x53\x00\x64\x02\x7d\x01\x7e\x01\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x72\x7d\x02\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x72\x20\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x01\x00\x6e\x36\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x02\x6a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x64\x05\x7c\x02\x9b\x01\x64\x06\x9d\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x02\x7d\x02\x7e\x02\x64\x02\x53\x00\x59\x00\x64\x02\x7d\x02\x7e\x02\x64\x02\x53\x00\x64\x02\x7d\x02\x7e\x02\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x09\x00\x64\x01\x64\x02\x6c\x00\x7d\x00\x79\x02\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x1b\x7d\x01\x7c\x01\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x6b\x28\x00\x00\x72\x01\x6e\x01\x82\x00\x59\x00\x64\x02\x7d\x01\x7e\x01\x79\x02\x64\x02\x7d\x01\x7e\x01\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x88\x7d\x02\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x25\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x01\x00\x6e\x3f\x74\x08\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x02\x6a\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x64\x05\x7c\x02\x9b\x01\x64\x06\x9d\x05\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x02\x7d\x02\x7e\x02\x79\x02\x59\x00\x64\x02\x7d\x02\x7e\x02\x79\x02\x64\x02\x7d\x02\x7e\x02\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -132870,7 +129379,7 @@ static site_toplevel_consts_25_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 207, @@ -132879,7 +129388,7 @@ site_toplevel_consts_25_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x41\x64\x64\x20\x73\x74\x61\x6e\x64\x61\x72\x64\x20\x73\x69\x74\x65\x2d\x73\x70\x65\x63\x69\x66\x69\x63\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x73\x65\x61\x72\x63\x68\x20\x70\x61\x74\x68\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x63\x61\x6c\x6c\x65\x64\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79\x20\x77\x68\x65\x6e\x20\x74\x68\x69\x73\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x2c\x0a\x20\x20\x20\x20\x75\x6e\x6c\x65\x73\x73\x20\x74\x68\x65\x20\x70\x79\x74\x68\x6f\x6e\x20\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x65\x72\x20\x77\x61\x73\x20\x73\x74\x61\x72\x74\x65\x64\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x2d\x53\x20\x66\x6c\x61\x67\x2e\x0a\x20\x20\x20\x20", @@ -132896,7 +129405,7 @@ site_toplevel_consts_25_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -132915,7 +129424,7 @@ static const_str_isolated = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -132924,7 +129433,7 @@ const_str_isolated = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "isolated", @@ -132941,7 +129450,7 @@ site_toplevel_consts_25_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 17, @@ -132959,7 +129468,7 @@ site_toplevel_consts_25_names = { & const_str_setquit._ascii.ob_base, & const_str_setcopyright._ascii.ob_base, & const_str_sethelper._ascii.ob_base, - & const_str_flags._ascii.ob_base, + &_Py_ID(flags), & const_str_isolated._ascii.ob_base, & const_str_enablerlcompleter._ascii.ob_base, & const_str_execsitecustomize._ascii.ob_base, @@ -132975,7 +129484,7 @@ static const_str_main = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -132984,7 +129493,7 @@ const_str_main = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "main", @@ -132993,18 +129502,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[212]; + char ob_sval[144]; } site_toplevel_consts_25_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 211, + .ob_size = 143, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x10\x00\x11\x14\x94\x08\x98\x11\x98\x11\x98\x11\x94\x0b\x80\x49\xdd\x12\x20\xd1\x12\x22\xd4\x12\x22\x80\x4b\xd8\x07\x10\x95\x43\x94\x48\xd2\x07\x1c\xd0\x07\x1c\xf5\x06\x00\x09\x12\x89\x0b\x8c\x0b\x88\x0b\xe5\x12\x16\x90\x7b\xd1\x12\x23\xd4\x12\x23\x80\x4b\xdd\x07\x17\xd0\x07\x1f\xdd\x1b\x2f\xd1\x1b\x31\xd4\x1b\x31\xd0\x08\x18\xdd\x12\x25\xa0\x6b\xd1\x12\x32\xd4\x12\x32\x80\x4b\xdd\x12\x21\xa0\x2b\xd1\x12\x2e\xd4\x12\x2e\x80\x4b\xdd\x04\x0b\x81\x49\x84\x49\x80\x49\xdd\x04\x10\x81\x4e\x84\x4e\x80\x4e\xdd\x04\x0d\x81\x4b\x84\x4b\x80\x4b\xdd\x0b\x0e\x8c\x39\xd4\x0b\x1d\xf0\x00\x01\x05\x1c\xdd\x08\x19\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xdd\x04\x15\xd1\x04\x17\xd4\x04\x17\xd0\x04\x17\xdd\x07\x17\xf0\x00\x01\x05\x1c\xdd\x08\x19\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd0\x08\x1b\xd0\x08\x1b\xf0\x03\x01\x05\x1c\xf0\x00\x01\x05\x1c", + .ob_sval = "\x80\x00\xf4\x10\x00\x11\x14\x97\x08\x91\x08\x99\x11\x90\x0b\x80\x49\xdc\x12\x20\xd3\x12\x22\x80\x4b\xd8\x07\x10\x94\x43\x97\x48\x91\x48\xd2\x07\x1c\xf4\x06\x00\x09\x12\x8c\x0b\xe4\x12\x16\x90\x7b\xd3\x12\x23\x80\x4b\xdc\x07\x17\xd0\x07\x1f\xdc\x1b\x2f\xd3\x1b\x31\xd0\x08\x18\xdc\x12\x25\xa0\x6b\xd3\x12\x32\x80\x4b\xdc\x12\x21\xa0\x2b\xd3\x12\x2e\x80\x4b\xdc\x04\x0b\x84\x49\xdc\x04\x10\x84\x4e\xdc\x04\x0d\x84\x4b\xdc\x0b\x0e\x8f\x39\x89\x39\xd7\x0b\x1d\xd2\x0b\x1d\xdc\x08\x19\xd4\x08\x1b\xdc\x04\x15\xd4\x04\x17\xdd\x07\x17\xdc\x08\x19\xd5\x08\x1b\xf0\x03\x00\x08\x18", }; static struct { @@ -133014,7 +129523,7 @@ static const_str_orig_path = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -133023,7 +129532,7 @@ const_str_orig_path = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "orig_path", @@ -133040,7 +129549,7 @@ site_toplevel_consts_25_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -133052,40 +129561,38 @@ site_toplevel_consts_25_localsplusnames = { }, }; static - struct _PyCode_DEF(486) + struct _PyCode_DEF(404) site_toplevel_consts_25 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 243, + .ob_size = 202, }, .co_consts = & site_toplevel_consts_25_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_25_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 594, + .co_firstlineno = 592, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 699, .co_localsplusnames = & site_toplevel_consts_25_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_main._ascii.ob_base, .co_qualname = & const_str_main._ascii.ob_base, .co_linetable = & site_toplevel_consts_25_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x01\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x0e\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0e\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x05\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x73\x0e\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x10\x74\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x64\x01\x1a\x00\x7d\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\x0a\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0a\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x61\x05\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x01\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x0a\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0b\x74\x21\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01\x79\x01", ._co_firsttraceable = 0, }; static @@ -133096,7 +129603,7 @@ static site_toplevel_consts_26_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 434, @@ -133105,7 +129612,7 @@ site_toplevel_consts_26_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x20\x20\x20\x20\x25\x73\x20\x5b\x2d\x2d\x75\x73\x65\x72\x2d\x62\x61\x73\x65\x5d\x20\x5b\x2d\x2d\x75\x73\x65\x72\x2d\x73\x69\x74\x65\x5d\x0a\x0a\x20\x20\x20\x20\x57\x69\x74\x68\x6f\x75\x74\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x70\x72\x69\x6e\x74\x20\x73\x6f\x6d\x65\x20\x75\x73\x65\x66\x75\x6c\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e\x0a\x20\x20\x20\x20\x57\x69\x74\x68\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x70\x72\x69\x6e\x74\x20\x74\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x55\x53\x45\x52\x5f\x42\x41\x53\x45\x20\x61\x6e\x64\x2f\x6f\x72\x20\x55\x53\x45\x52\x5f\x53\x49\x54\x45\x20\x73\x65\x70\x61\x72\x61\x74\x65\x64\x0a\x20\x20\x20\x20\x62\x79\x20\x27\x25\x73\x27\x2e\x0a\x0a\x20\x20\x20\x20\x45\x78\x69\x74\x20\x63\x6f\x64\x65\x73\x20\x77\x69\x74\x68\x20\x2d\x2d\x75\x73\x65\x72\x2d\x62\x61\x73\x65\x20\x6f\x72\x20\x2d\x2d\x75\x73\x65\x72\x2d\x73\x69\x74\x65\x3a\x0a\x20\x20\x20\x20\x20\x20\x30\x20\x2d\x20\x75\x73\x65\x72\x20\x73\x69\x74\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x65\x6e\x61\x62\x6c\x65\x64\x0a\x20\x20\x20\x20\x20\x20\x31\x20\x2d\x20\x75\x73\x65\x72\x20\x73\x69\x74\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x64\x69\x73\x61\x62\x6c\x65\x64\x20\x62\x79\x20\x75\x73\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x32\x20\x2d\x20\x75\x73\x65\x72\x20\x73\x69\x74\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x64\x69\x73\x61\x62\x6c\x65\x64\x20\x62\x79\x20\x73\x75\x70\x65\x72\x20\x75\x73\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x72\x20\x66\x6f\x72\x20\x73\x65\x63\x75\x72\x69\x74\x79\x20\x72\x65\x61\x73\x6f\x6e\x73\x0a\x20\x20\x20\x20\x20\x3e\x32\x20\x2d\x20\x75\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72\x0a\x20\x20\x20\x20", @@ -133118,7 +129625,7 @@ static site_toplevel_consts_26_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -133127,7 +129634,7 @@ site_toplevel_consts_26_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "sys.path = [", @@ -133140,7 +129647,7 @@ static site_toplevel_consts_26_consts_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -133149,33 +129656,11 @@ site_toplevel_consts_26_consts_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = " ", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -site_toplevel_consts_26_consts_5 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = ",", -}; static struct { PyASCIIObject _ascii; @@ -133184,7 +129669,7 @@ static site_toplevel_consts_26_consts_7_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -133193,7 +129678,7 @@ site_toplevel_consts_26_consts_7_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "doesn't exist", @@ -133210,7 +129695,7 @@ site_toplevel_consts_26_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -133234,7 +129719,7 @@ site_toplevel_consts_26_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -133254,7 +129739,7 @@ static site_toplevel_consts_26_consts_7_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -133263,7 +129748,7 @@ site_toplevel_consts_26_consts_7_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_script..exists", @@ -133272,54 +129757,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[38]; + char ob_sval[30]; } site_toplevel_consts_26_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 37, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x13\xd0\x0f\x1f\xa5\x42\xa4\x47\xa7\x4d\xa2\x4d\xb0\x24\xd1\x24\x37\xd4\x24\x37\xd0\x0f\x1f\xd8\x17\x1f\x90\x78\xe0\x17\x26\x90\x7f", + .ob_sval = "\x80\x00\xd8\x0f\x13\xd0\x0f\x1f\xa4\x42\xa7\x47\xa1\x47\xa7\x4d\xa1\x4d\xb0\x24\xd4\x24\x37\xd8\x17\x1f\xe0\x17\x26", }; static - struct _PyCode_DEF(76) + struct _PyCode_DEF(72) site_toplevel_consts_26_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 38, + .ob_size = 36, }, .co_consts = & site_toplevel_consts_26_consts_7_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_26_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 19, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 651, + .co_firstlineno = 649, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 700, .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str_exists._ascii.ob_base, .co_qualname = & site_toplevel_consts_26_consts_7_qualname._ascii.ob_base, .co_linetable = & site_toplevel_consts_26_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x81\x21\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x64\x01\x53\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x81\x20\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x72\x01\x79\x01\x79\x02", ._co_firsttraceable = 0, }; static @@ -133330,7 +129813,7 @@ static site_toplevel_consts_26_consts_8 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -133339,7 +129822,7 @@ site_toplevel_consts_26_consts_8 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "USER_BASE: ", @@ -133352,7 +129835,7 @@ static site_toplevel_consts_26_consts_11 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -133361,7 +129844,7 @@ site_toplevel_consts_26_consts_11 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "USER_SITE: ", @@ -133374,7 +129857,7 @@ static site_toplevel_consts_26_consts_12 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -133383,7 +129866,7 @@ site_toplevel_consts_26_consts_12 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ENABLE_USER_SITE: ", @@ -133396,7 +129879,7 @@ static site_toplevel_consts_26_consts_14 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -133405,7 +129888,7 @@ site_toplevel_consts_26_consts_14 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "--user-base", @@ -133418,7 +129901,7 @@ static site_toplevel_consts_26_consts_15 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -133427,7 +129910,7 @@ site_toplevel_consts_26_consts_15 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "--user-site", @@ -133444,7 +129927,7 @@ site_toplevel_consts_26_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 20, @@ -133455,12 +129938,12 @@ site_toplevel_consts_26_consts = { (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], & site_toplevel_consts_26_consts_3._ascii.ob_base, & site_toplevel_consts_26_consts_4._ascii.ob_base, - & site_toplevel_consts_26_consts_5._ascii.ob_base, - & _collections_abc_toplevel_consts_44_consts_4_consts_8._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[44], + (PyObject *)&_Py_SINGLETON(strings).ascii[93], & site_toplevel_consts_26_consts_7.ob_base.ob_base, & site_toplevel_consts_26_consts_8._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_37_consts_3_consts_3._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_55_consts_6._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_29_consts_8._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[41], & site_toplevel_consts_26_consts_11._ascii.ob_base, & site_toplevel_consts_26_consts_12._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], @@ -133473,28 +129956,6 @@ site_toplevel_consts_26_consts = { }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[5]; - } -const_str_argv = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 4, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "argv", -}; static struct { PyASCIIObject _ascii; @@ -133503,7 +129964,7 @@ static const_str_textwrap = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -133512,7 +129973,7 @@ const_str_textwrap = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "textwrap", @@ -133525,7 +129986,7 @@ static const_str_dedent = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -133534,7 +129995,7 @@ const_str_dedent = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "dedent", @@ -133551,14 +130012,14 @@ site_toplevel_consts_26_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 16, }, .ob_item = { & const_str_sys._ascii.ob_base, - & const_str_argv._ascii.ob_base, + &_Py_ID(argv), & const_str_getuserbase._ascii.ob_base, & const_str_getusersitepackages._ascii.ob_base, & const_str_print._ascii.ob_base, @@ -133584,7 +130045,7 @@ static const_str__script = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -133593,7 +130054,7 @@ const_str__script = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_script", @@ -133602,18 +130063,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[527]; + char ob_sval[367]; } site_toplevel_consts_26_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 526, + .ob_size = 366, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x02\x0d\x0c\x08\x80\x44\xf5\x1c\x00\x0c\x0f\x8c\x38\x90\x41\x90\x42\x90\x42\x8c\x3c\x80\x44\xd8\x0b\x0f\xf0\x00\x0f\x05\x14\xdd\x14\x1f\x91\x4d\x94\x4d\x88\x09\xdd\x14\x27\xd1\x14\x29\xd4\x14\x29\x88\x09\xdd\x08\x0d\x88\x6e\xd1\x08\x1d\xd4\x08\x1d\xd0\x08\x1d\xdd\x13\x16\x94\x38\xf0\x00\x01\x09\x26\xf0\x00\x01\x09\x26\x88\x43\xdd\x0c\x11\x88\x45\x98\x73\x98\x73\x98\x73\xd0\x12\x24\xd1\x0c\x25\xd4\x0c\x25\xd0\x0c\x25\xd0\x0c\x25\xdd\x08\x0d\x88\x63\x89\x0a\x8c\x0a\x88\x0a\xf0\x02\x04\x09\x27\xf0\x00\x04\x09\x27\xf0\x00\x04\x09\x27\xf5\x0a\x00\x09\x0e\xd0\x0e\x3f\x98\x49\xd0\x0e\x3f\xd0\x0e\x3f\xa8\x36\xa8\x36\xb0\x29\xd1\x2b\x3c\xd4\x2b\x3c\xd0\x0e\x3f\xd0\x0e\x3f\xd0\x0e\x3f\xd1\x08\x40\xd4\x08\x40\xd0\x08\x40\xdd\x08\x0d\xd0\x0e\x3f\x98\x49\xd0\x0e\x3f\xd0\x0e\x3f\xa8\x36\xa8\x36\xb0\x29\xd1\x2b\x3c\xd4\x2b\x3c\xd0\x0e\x3f\xd0\x0e\x3f\xd0\x0e\x3f\xd1\x08\x40\xd4\x08\x40\xd0\x08\x40\xdd\x08\x0d\xd0\x0e\x37\xd5\x23\x33\xd0\x0e\x37\xd0\x0e\x37\xd1\x08\x38\xd4\x08\x38\xd0\x08\x38\xdd\x08\x0b\x8c\x08\x90\x11\x89\x0b\x8c\x0b\x88\x0b\xe0\x0d\x0f\x80\x46\xd8\x07\x14\x98\x04\xd0\x07\x1c\xd0\x07\x1c\xd8\x08\x0e\x8f\x0d\x8a\x0d\x95\x69\xd1\x08\x20\xd4\x08\x20\xd0\x08\x20\xd8\x07\x14\x98\x04\xd0\x07\x1c\xd0\x07\x1c\xd8\x08\x0e\x8f\x0d\x8a\x0d\x95\x69\xd1\x08\x20\xd4\x08\x20\xd0\x08\x20\xe0\x07\x0d\xf0\x00\x0d\x05\x15\xdd\x08\x0d\x8d\x62\x8c\x6a\x8f\x6f\x8a\x6f\x98\x66\xd1\x0e\x25\xd4\x0e\x25\xd1\x08\x26\xd4\x08\x26\xd0\x08\x26\xdd\x0b\x1b\xf0\x00\x07\x09\x18\xdd\x0c\x0f\x8c\x48\x90\x51\x89\x4b\x8c\x4b\x88\x4b\x88\x4b\x88\x4b\xdd\x0d\x1d\xa0\x15\xd0\x0d\x26\xd0\x0d\x26\xdd\x0c\x0f\x8c\x48\x90\x51\x89\x4b\x8c\x4b\x88\x4b\x88\x4b\x88\x4b\xdd\x0d\x1d\xd0\x0d\x25\xdd\x0c\x0f\x8c\x48\x90\x51\x89\x4b\x8c\x4b\x88\x4b\x88\x4b\x88\x4b\xe5\x0c\x0f\x8c\x48\x90\x51\x89\x4b\x8c\x4b\x88\x4b\x88\x4b\x88\x4b\xe0\x08\x17\x88\x0f\x88\x0f\x88\x0f\xdd\x08\x0d\x88\x68\x8f\x6f\x8a\x6f\x98\x64\xa5\x63\xa4\x68\xa8\x71\xa4\x6b\xb5\x32\xb4\x3a\xd0\x25\x3e\xd1\x1e\x3e\xd1\x0e\x3f\xd4\x0e\x3f\xd1\x08\x40\xd4\x08\x40\xd0\x08\x40\xdd\x08\x0b\x8c\x08\x90\x12\x89\x0c\x8c\x0c\x88\x0c\x88\x0c\x88\x0c", + .ob_sval = "\x80\x00\xf0\x02\x0d\x0c\x08\x80\x44\xf4\x1c\x00\x0c\x0f\x8f\x38\x89\x38\x90\x41\x90\x42\x88\x3c\x80\x44\xd9\x0b\x0f\xdc\x14\x1f\x93\x4d\x88\x09\xdc\x14\x27\xd3\x14\x29\x88\x09\xdc\x08\x0d\x88\x6e\xd4\x08\x1d\xdc\x13\x16\x97\x38\x91\x38\xf2\x00\x01\x09\x26\x88\x43\xdd\x0c\x11\x9a\x73\xd0\x12\x24\xd5\x0c\x25\xf0\x03\x01\x09\x26\xe4\x08\x0d\x88\x63\x8c\x0a\xf2\x02\x04\x09\x27\xf4\x0a\x00\x09\x0e\x90\x0b\x98\x49\x98\x3d\xa8\x02\xa9\x36\xb0\x29\xd3\x2b\x3c\xd0\x2a\x3d\xb8\x51\xd0\x0e\x3f\xd4\x08\x40\xdc\x08\x0d\x90\x0b\x98\x49\x98\x3d\xa8\x02\xa9\x36\xb0\x29\xd3\x2b\x3c\xd0\x2a\x3d\xb8\x51\xd0\x0e\x3f\xd4\x08\x40\xdc\x08\x0d\xd0\x10\x22\xd4\x23\x33\xd0\x22\x36\xd0\x0e\x37\xd4\x08\x38\xdc\x08\x0b\x8f\x08\x89\x08\x90\x11\x8c\x0b\xe0\x0d\x0f\x80\x46\xd8\x07\x14\x98\x04\xd1\x07\x1c\xd8\x08\x0e\x8f\x0d\x89\x0d\x94\x69\xd4\x08\x20\xd8\x07\x14\x98\x04\xd1\x07\x1c\xd8\x08\x0e\x8f\x0d\x89\x0d\x94\x69\xd4\x08\x20\xe1\x07\x0d\xdc\x08\x0d\x8c\x62\x8f\x6a\x89\x6a\x8f\x6f\x89\x6f\x98\x66\xd3\x0e\x25\xd4\x08\x26\xdd\x0b\x1b\xdc\x0c\x0f\x8f\x48\x89\x48\x90\x51\x8d\x4b\xdc\x0d\x1d\xa0\x15\xd1\x0d\x26\xdc\x0c\x0f\x8f\x48\x89\x48\x90\x51\x8d\x4b\xdc\x0d\x1d\xd0\x0d\x25\xdc\x0c\x0f\x8f\x48\x89\x48\x90\x51\x8d\x4b\xe4\x0c\x0f\x8f\x48\x89\x48\x90\x51\x8d\x4b\xe3\x08\x17\xdc\x08\x0d\x88\x68\x8f\x6f\x89\x6f\x98\x64\xa4\x63\xa7\x68\xa1\x68\xa8\x71\xa1\x6b\xb4\x32\xb7\x3a\xb1\x3a\xd0\x25\x3e\xd1\x1e\x3e\xd3\x0e\x3f\xd4\x08\x40\xdc\x08\x0b\x8f\x08\x89\x08\x90\x12\x8d\x0c", }; static struct { @@ -133623,7 +130084,7 @@ static const_str_user_base = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -133632,7 +130093,7 @@ const_str_user_base = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "user_base", @@ -133649,14 +130110,14 @@ site_toplevel_consts_26_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, }, .ob_item = { & const_str_help._ascii.ob_base, - & const_str_args._ascii.ob_base, + &_Py_ID(args), & const_str_user_base._ascii.ob_base, & const_str_user_site._ascii.ob_base, & const_str_dir._ascii.ob_base, @@ -133667,40 +130128,38 @@ site_toplevel_consts_26_localsplusnames = { }, }; static - struct _PyCode_DEF(1070) + struct _PyCode_DEF(964) site_toplevel_consts_26 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 535, + .ob_size = 482, }, .co_consts = & site_toplevel_consts_26_consts._object.ob_base.ob_base, .co_names = & site_toplevel_consts_26_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 16 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, - .co_firstlineno = 628, + .co_firstlineno = 626, .co_nlocalsplus = 8, .co_nlocals = 8, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 701, .co_localsplusnames = & site_toplevel_consts_26_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_27_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_13_localspluskinds.ob_base.ob_base, .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = & const_str__script._ascii.ob_base, .co_qualname = & const_str__script._ascii.ob_base, .co_linetable = & site_toplevel_consts_26_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x7d\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x00\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x73\xc8\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x15\x7d\x04\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x04\x9b\x02\x64\x05\x9d\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x16\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x07\x84\x00\x7d\x05\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x7c\x02\x9b\x02\x64\x09\x02\x00\x7c\x05\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x0a\x9d\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\x7c\x03\x9b\x02\x64\x09\x02\x00\x7c\x05\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x0a\x9d\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x9d\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x67\x00\x7d\x06\x64\x0e\x7c\x01\x76\x00\x72\x1a\x7c\x06\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x0f\x7c\x01\x76\x00\x72\x1a\x7c\x06\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x06\x72\x9b\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x16\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\x75\x00\x72\x16\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x16\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x11\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x12\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00\x64\x0d\x64\x00\x6c\x0e\x7d\x07\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xa0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x13\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7d\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x64\x00\x1a\x00\x7d\x01\x7c\x01\x73\xa8\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x11\x00\x00\x7d\x04\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x04\x9b\x02\x64\x05\x9d\x03\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x13\x04\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x07\x84\x00\x7d\x05\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x7c\x02\x9b\x02\x64\x09\x02\x00\x7c\x05\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x0a\x9d\x05\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0b\x7c\x03\x9b\x02\x64\x09\x02\x00\x7c\x05\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x0a\x9d\x05\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0c\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x67\x00\x7d\x06\x64\x0e\x7c\x01\x76\x00\x72\x15\x7c\x06\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x64\x0f\x7c\x01\x76\x00\x72\x15\x7c\x06\x6a\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x14\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x06\x72\x94\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x72\x16\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\x75\x00\x72\x16\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x80\x16\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x11\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x12\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00\x64\x0d\x64\x00\x6c\x0e\x7d\x07\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x6a\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0d\x19\x00\x00\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x13\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -133715,7 +130174,7 @@ site_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 29, @@ -133761,7 +130220,7 @@ static const_str_no_site = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -133770,7 +130229,7 @@ const_str_no_site = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "no_site", @@ -133787,7 +130246,7 @@ site_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 40, @@ -133829,7 +130288,7 @@ site_toplevel_names = { & const_str_execsitecustomize._ascii.ob_base, & const_str_execusercustomize._ascii.ob_base, & const_str_main._ascii.ob_base, - & const_str_flags._ascii.ob_base, + &_Py_ID(flags), & const_str_no_site._ascii.ob_base, & const_str__script._ascii.ob_base, &_Py_ID(__name__), @@ -133840,63 +130299,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[560]; + char ob_sval[240]; } site_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 559, + .ob_size = 239, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x02\x45\x01\x01\x04\xf0\x00\x45\x01\x01\x04\xf0\x4e\x02\x00\x01\x0b\x80\x0a\x80\x0a\x80\x0a\xd8\x00\x09\x80\x09\x80\x09\x80\x09\xd8\x00\x0f\x80\x0f\x80\x0f\x80\x0f\xd8\x00\x14\xd0\x00\x14\xd0\x00\x14\xd0\x00\x14\xd8\x00\x09\x80\x09\x80\x09\x80\x09\xd8\x00\x0b\x80\x0b\x80\x0b\x80\x0b\xf0\x06\x00\x0d\x10\x8c\x4a\x98\x03\x9c\x0f\xd0\x0b\x28\x80\x08\xf0\x06\x00\x14\x18\xd0\x00\x10\xf0\x0a\x00\x0d\x11\x80\x09\xd8\x0c\x10\x80\x09\xf0\x06\x02\x01\x28\xf0\x00\x02\x01\x28\xf0\x00\x02\x01\x28\xf0\x0a\x06\x01\x26\xf0\x00\x06\x01\x26\xf0\x00\x06\x01\x26\xf0\x12\x14\x01\x11\xf0\x00\x14\x01\x11\xf0\x00\x14\x01\x11\xf0\x2e\x10\x01\x17\xf0\x00\x10\x01\x17\xf0\x00\x10\x01\x17\xf0\x26\x0a\x01\x0d\xf0\x00\x0a\x01\x0d\xf0\x00\x0a\x01\x0d\xf0\x1a\x34\x01\x17\xf0\x00\x34\x01\x17\xf0\x00\x34\x01\x17\xf0\x6e\x01\x17\x01\x17\xf0\x00\x17\x01\x17\xf0\x00\x17\x01\x17\xf0\x00\x17\x01\x17\xf0\x34\x16\x01\x10\xf0\x00\x16\x01\x10\xf0\x00\x16\x01\x10\xf0\x40\x01\x14\x01\x23\xf0\x00\x14\x01\x23\xf0\x00\x14\x01\x23\xf0\x30\x0a\x01\x4b\x01\xf0\x00\x0a\x01\x4b\x01\xf0\x00\x0a\x01\x4b\x01\xf0\x1a\x0a\x01\x15\xf0\x00\x0a\x01\x15\xf0\x00\x0a\x01\x15\xf0\x1a\x0f\x01\x15\xf0\x00\x0f\x01\x15\xf0\x00\x0f\x01\x15\xf0\x22\x0d\x01\x17\xf0\x00\x0d\x01\x17\xf0\x00\x0d\x01\x17\xf0\x1e\x1f\x01\x18\xf0\x00\x1f\x01\x18\xf0\x00\x1f\x01\x18\xf0\x00\x1f\x01\x18\xf0\x42\x01\x07\x01\x17\xf0\x00\x07\x01\x17\xf0\x00\x07\x01\x17\xf0\x00\x07\x01\x17\xf0\x12\x0d\x01\x37\xf0\x00\x0d\x01\x37\xf0\x00\x0d\x01\x37\xf0\x20\x17\x01\x15\xf0\x00\x17\x01\x15\xf0\x00\x17\x01\x15\xf0\x34\x01\x01\x2c\xf0\x00\x01\x01\x2c\xf0\x00\x01\x01\x2c\xf0\x06\x39\x01\x30\xf0\x00\x39\x01\x30\xf0\x00\x39\x01\x30\xf0\x76\x01\x31\x01\x17\xf0\x00\x31\x01\x17\xf0\x00\x31\x01\x17\xf0\x68\x01\x11\x01\x2f\xf0\x00\x11\x01\x2f\xf0\x00\x11\x01\x2f\xf0\x28\x11\x01\x2f\xf0\x00\x11\x01\x2f\xf0\x00\x11\x01\x2f\xf0\x28\x1b\x01\x1c\xf0\x00\x1b\x01\x1c\xf0\x00\x1b\x01\x1c\xf0\x3e\x00\x08\x0b\x84\x79\xd4\x07\x18\xf0\x00\x01\x01\x0b\xd8\x04\x08\x80\x44\x81\x46\x84\x46\x80\x46\xf0\x04\x34\x01\x15\xf0\x00\x34\x01\x15\xf0\x00\x34\x01\x15\xf0\x6c\x01\x00\x04\x0c\x88\x7a\xd2\x03\x19\xd0\x03\x19\xd8\x04\x0b\x80\x47\x81\x49\x84\x49\x80\x49\x80\x49\x80\x49\xf0\x03\x00\x04\x1a\xd0\x03\x19", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x02\x45\x01\x01\x04\xf3\x4e\x02\x00\x01\x0b\xdb\x00\x09\xdb\x00\x0f\xdb\x00\x14\xdb\x00\x09\xdb\x00\x0b\xf0\x06\x00\x0d\x10\x8f\x4a\x89\x4a\x98\x03\x9f\x0f\x99\x0f\xd0\x0b\x28\x80\x08\xf0\x06\x00\x14\x18\xd0\x00\x10\xf0\x0a\x00\x0d\x11\x80\x09\xd8\x0c\x10\x80\x09\xf2\x06\x02\x01\x28\xf2\x0a\x06\x01\x26\xf2\x12\x14\x01\x11\xf2\x2e\x10\x01\x17\xf2\x26\x0a\x01\x0d\xf2\x1a\x34\x01\x17\xf3\x6e\x01\x17\x01\x17\xf2\x34\x16\x01\x10\xf2\x40\x01\x14\x01\x23\xf2\x30\x0a\x01\x4b\x01\xf2\x1a\x0a\x01\x15\xf2\x1a\x0f\x01\x15\xf2\x22\x0d\x01\x17\xf3\x1e\x1f\x01\x18\xf3\x42\x01\x07\x01\x17\xf2\x12\x0d\x01\x37\xf2\x20\x12\x01\x15\xf2\x2a\x01\x01\x2c\xf2\x06\x39\x01\x30\xf2\x76\x01\x34\x01\x17\xf2\x6e\x01\x11\x01\x2f\xf2\x28\x11\x01\x2f\xf2\x28\x1b\x01\x1c\xf0\x3e\x00\x08\x0b\x87\x79\x81\x79\xd7\x07\x18\xd2\x07\x18\xd9\x04\x08\x84\x46\xf2\x04\x34\x01\x15\xf0\x6c\x01\x00\x04\x0c\x88\x7a\xd2\x03\x19\xd9\x04\x0b\x85\x49\xf0\x03\x00\x04\x1a", }; static - struct _PyCode_DEF(328) + struct _PyCode_DEF(350) site_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 164, + .ob_size = 175, }, .co_consts = & site_toplevel_consts._object.ob_base.ob_base, .co_names = & site_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 702, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & site_toplevel_consts_3_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & site_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x64\x01\x64\x02\x6c\x02\x5a\x02\x64\x01\x64\x02\x6c\x03\x5a\x03\x64\x01\x64\x02\x6c\x04\x5a\x04\x64\x01\x64\x02\x6c\x05\x5a\x05\x64\x01\x64\x02\x6c\x06\x5a\x06\x65\x01\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x65\x01\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x67\x02\x61\x09\x64\x02\x61\x0a\x64\x02\x61\x0b\x64\x02\x61\x0c\x64\x03\x84\x00\x5a\x0d\x64\x04\x84\x00\x5a\x0e\x64\x05\x84\x00\x5a\x0f\x64\x06\x84\x00\x5a\x10\x64\x07\x84\x00\x5a\x11\x64\x08\x84\x00\x5a\x12\x64\x1c\x64\x09\x84\x01\x5a\x13\x64\x0a\x84\x00\x5a\x14\x64\x0b\x84\x00\x5a\x15\x64\x0c\x84\x00\x5a\x16\x64\x0d\x84\x00\x5a\x17\x64\x0e\x84\x00\x5a\x18\x64\x0f\x84\x00\x5a\x19\x64\x1c\x64\x10\x84\x01\x5a\x1a\x64\x1c\x64\x11\x84\x01\x5a\x1b\x64\x12\x84\x00\x5a\x1c\x64\x13\x84\x00\x5a\x1d\x64\x14\x84\x00\x5a\x1e\x64\x15\x84\x00\x5a\x1f\x64\x16\x84\x00\x5a\x20\x64\x17\x84\x00\x5a\x21\x64\x18\x84\x00\x5a\x22\x64\x19\x84\x00\x5a\x23\x65\x01\x6a\x24\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x25\x00\x00\x00\x00\x00\x00\x00\x00\x73\x0a\x02\x00\x65\x23\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x1a\x84\x00\x5a\x26\x65\x27\x64\x1b\x6b\x02\x00\x00\x00\x00\x72\x0c\x02\x00\x65\x26\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x02\x53\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x64\x01\x64\x02\x6c\x02\x5a\x02\x64\x01\x64\x02\x6c\x03\x5a\x03\x64\x01\x64\x02\x6c\x04\x5a\x04\x64\x01\x64\x02\x6c\x05\x5a\x05\x64\x01\x64\x02\x6c\x06\x5a\x06\x65\x01\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x01\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x02\x61\x09\x64\x02\x61\x0a\x64\x02\x61\x0b\x64\x02\x61\x0c\x64\x03\x84\x00\x5a\x0d\x64\x04\x84\x00\x5a\x0e\x64\x05\x84\x00\x5a\x0f\x64\x06\x84\x00\x5a\x10\x64\x07\x84\x00\x5a\x11\x64\x08\x84\x00\x5a\x12\x64\x1c\x64\x09\x84\x01\x5a\x13\x64\x0a\x84\x00\x5a\x14\x64\x0b\x84\x00\x5a\x15\x64\x0c\x84\x00\x5a\x16\x64\x0d\x84\x00\x5a\x17\x64\x0e\x84\x00\x5a\x18\x64\x0f\x84\x00\x5a\x19\x64\x1c\x64\x10\x84\x01\x5a\x1a\x64\x1c\x64\x11\x84\x01\x5a\x1b\x64\x12\x84\x00\x5a\x1c\x64\x13\x84\x00\x5a\x1d\x64\x14\x84\x00\x5a\x1e\x64\x15\x84\x00\x5a\x1f\x64\x16\x84\x00\x5a\x20\x64\x17\x84\x00\x5a\x21\x64\x18\x84\x00\x5a\x22\x64\x19\x84\x00\x5a\x23\x65\x01\x6a\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x07\x02\x00\x65\x23\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x1a\x84\x00\x5a\x26\x65\x27\x64\x1b\x6b\x28\x00\x00\x72\x08\x02\x00\x65\x26\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x02\x79\x02", ._co_firsttraceable = 0, }; -static void site_do_patchups(void) { -} PyObject * _Py_get_site_toplevel(void) { - site_do_patchups(); return Py_NewRef((PyObject *) &site_toplevel); } @@ -133908,7 +130362,7 @@ static stat_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 111, @@ -133917,7 +130371,7 @@ stat_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x43\x6f\x6e\x73\x74\x61\x6e\x74\x73\x2f\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x20\x66\x6f\x72\x20\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x69\x6e\x67\x20\x72\x65\x73\x75\x6c\x74\x73\x20\x6f\x66\x20\x6f\x73\x2e\x73\x74\x61\x74\x28\x29\x20\x61\x6e\x64\x20\x6f\x73\x2e\x6c\x73\x74\x61\x74\x28\x29\x2e\x0a\x0a\x53\x75\x67\x67\x65\x73\x74\x65\x64\x20\x75\x73\x61\x67\x65\x3a\x20\x66\x72\x6f\x6d\x20\x73\x74\x61\x74\x20\x69\x6d\x70\x6f\x72\x74\x20\x2a\x0a", @@ -133930,7 +130384,7 @@ static stat_toplevel_consts_11_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 77, @@ -133939,24 +130393,23 @@ stat_toplevel_consts_11_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x6f\x72\x74\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x27\x73\x20\x6d\x6f\x64\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x73\x65\x74\x20\x62\x79\x0a\x20\x20\x20\x20\x6f\x73\x2e\x63\x68\x6d\x6f\x64\x28\x29\x2e\x0a\x20\x20\x20\x20", }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_4095 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 4095 }, }; static @@ -133971,14 +130424,14 @@ stat_toplevel_consts_11_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { & stat_toplevel_consts_11_consts_0._ascii.ob_base, - & const_int_4095.ob_base.ob_base, + & const_int_4095.ob_base, }, }, }; @@ -133990,7 +130443,7 @@ static stat_toplevel_consts_11_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -133999,7 +130452,7 @@ stat_toplevel_consts_11_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -134012,7 +130465,7 @@ static const_str_S_IMODE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -134021,7 +130474,7 @@ const_str_S_IMODE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IMODE", @@ -134035,7 +130488,7 @@ static stat_toplevel_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 14, @@ -134055,7 +130508,7 @@ stat_toplevel_consts_11_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -134070,7 +130523,7 @@ static stat_toplevel_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 6, @@ -134079,26 +130532,24 @@ stat_toplevel_consts_11 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 21, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 703, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_IMODE._ascii.ob_base, .co_qualname = & const_str_S_IMODE._ascii.ob_base, .co_linetable = & stat_toplevel_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x64\x01\x7a\x01\x00\x00\x53\x00", ._co_firsttraceable = 0, }; @@ -134110,7 +130561,7 @@ static stat_toplevel_consts_12_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 76, @@ -134119,7 +130570,7 @@ stat_toplevel_consts_12_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x70\x6f\x72\x74\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x27\x73\x20\x6d\x6f\x64\x65\x20\x74\x68\x61\x74\x20\x64\x65\x73\x63\x72\x69\x62\x65\x73\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x20\x74\x79\x70\x65\x2e\x0a\x20\x20\x20\x20", @@ -134136,14 +130587,14 @@ stat_toplevel_consts_12_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { & stat_toplevel_consts_12_consts_0._ascii.ob_base, - & const_int_61440.ob_base.ob_base, + & const_int_61440.ob_base, }, }, }; @@ -134155,7 +130606,7 @@ static const_str_S_IFMT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -134164,7 +130615,7 @@ const_str_S_IFMT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFMT", @@ -134178,7 +130629,7 @@ static stat_toplevel_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 14, @@ -134191,7 +130642,7 @@ static stat_toplevel_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, .ob_size = 6, @@ -134200,104 +130651,97 @@ stat_toplevel_consts_12 = { .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 27, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 704, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_IFMT._ascii.ob_base, .co_qualname = & const_str_S_IFMT._ascii.ob_base, .co_linetable = & stat_toplevel_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, + ._co_cached = NULL, .co_code_adaptive = "\x97\x00\x7c\x00\x64\x01\x7a\x01\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_8192 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 8192 }, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_24576 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 24576 }, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_4096 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 4096 }, }; #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_40960 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 8192, 1 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_40960 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 40960 }, }; #else @@ -134306,33 +130750,31 @@ const_int_40960 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_49152 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 16384, 1 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_49152 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 49152 }, }; #else @@ -134346,7 +130788,7 @@ static stat_toplevel_consts_20_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 40, @@ -134355,7 +130797,7 @@ stat_toplevel_consts_20_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if mode is from a directory.", @@ -134372,7 +130814,7 @@ stat_toplevel_consts_20_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -134390,7 +130832,7 @@ static const_str_S_IFDIR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -134399,7 +130841,7 @@ const_str_S_IFDIR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFDIR", @@ -134416,7 +130858,7 @@ stat_toplevel_consts_20_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -134431,54 +130873,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[20]; + char ob_sval[18]; } stat_toplevel_consts_20_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 19, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x11\x90\x24\x89\x3c\x8c\x3c\x9d\x37\xd2\x0b\x22\xd0\x04\x22", + .ob_sval = "\x80\x00\xe4\x0b\x11\x90\x24\x8b\x3c\x9c\x37\xd1\x0b\x22\xd0\x04\x22", }; static - struct _PyCode_DEF(50) + struct _PyCode_DEF(38) stat_toplevel_consts_20 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 19, }, .co_consts = & stat_toplevel_consts_20_consts._object.ob_base.ob_base, .co_names = & stat_toplevel_consts_20_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 50, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 705, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_ISDIR._ascii.ob_base, .co_qualname = & const_str_S_ISDIR._ascii.ob_base, .co_linetable = & stat_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -134489,7 +130929,7 @@ static stat_toplevel_consts_21_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 60, @@ -134498,7 +130938,7 @@ stat_toplevel_consts_21_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if mode is from a character special device file.", @@ -134515,7 +130955,7 @@ stat_toplevel_consts_21_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -134533,7 +130973,7 @@ static const_str_S_IFCHR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -134542,7 +130982,7 @@ const_str_S_IFCHR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFCHR", @@ -134559,7 +130999,7 @@ stat_toplevel_consts_21_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -134578,7 +131018,7 @@ static const_str_S_ISCHR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -134587,46 +131027,44 @@ const_str_S_ISCHR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISCHR", }; static - struct _PyCode_DEF(50) + struct _PyCode_DEF(38) stat_toplevel_consts_21 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 19, }, .co_consts = & stat_toplevel_consts_21_consts._object.ob_base.ob_base, .co_names = & stat_toplevel_consts_21_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 54, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 706, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_ISCHR._ascii.ob_base, .co_qualname = & const_str_S_ISCHR._ascii.ob_base, .co_linetable = & stat_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -134637,7 +131075,7 @@ static stat_toplevel_consts_22_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 56, @@ -134646,7 +131084,7 @@ stat_toplevel_consts_22_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if mode is from a block special device file.", @@ -134663,7 +131101,7 @@ stat_toplevel_consts_22_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -134681,7 +131119,7 @@ static const_str_S_IFBLK = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -134690,7 +131128,7 @@ const_str_S_IFBLK = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFBLK", @@ -134707,7 +131145,7 @@ stat_toplevel_consts_22_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -134726,7 +131164,7 @@ static const_str_S_ISBLK = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -134735,46 +131173,44 @@ const_str_S_ISBLK = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISBLK", }; static - struct _PyCode_DEF(50) + struct _PyCode_DEF(38) stat_toplevel_consts_22 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 19, }, .co_consts = & stat_toplevel_consts_22_consts._object.ob_base.ob_base, .co_names = & stat_toplevel_consts_22_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 58, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 707, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_ISBLK._ascii.ob_base, .co_qualname = & const_str_S_ISBLK._ascii.ob_base, .co_linetable = & stat_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -134785,7 +131221,7 @@ static stat_toplevel_consts_23_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 43, @@ -134794,7 +131230,7 @@ stat_toplevel_consts_23_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if mode is from a regular file.", @@ -134811,7 +131247,7 @@ stat_toplevel_consts_23_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -134829,7 +131265,7 @@ static const_str_S_IFREG = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -134838,7 +131274,7 @@ const_str_S_IFREG = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFREG", @@ -134855,7 +131291,7 @@ stat_toplevel_consts_23_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -134867,40 +131303,38 @@ stat_toplevel_consts_23_names = { }, }; static - struct _PyCode_DEF(50) + struct _PyCode_DEF(38) stat_toplevel_consts_23 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 19, }, .co_consts = & stat_toplevel_consts_23_consts._object.ob_base.ob_base, .co_names = & stat_toplevel_consts_23_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 62, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 708, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_ISREG._ascii.ob_base, .co_qualname = & const_str_S_ISREG._ascii.ob_base, .co_linetable = & stat_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -134911,7 +131345,7 @@ static stat_toplevel_consts_24_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 48, @@ -134920,7 +131354,7 @@ stat_toplevel_consts_24_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if mode is from a FIFO (named pipe).", @@ -134937,7 +131371,7 @@ stat_toplevel_consts_24_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -134955,7 +131389,7 @@ static const_str_S_IFIFO = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -134964,7 +131398,7 @@ const_str_S_IFIFO = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFIFO", @@ -134981,7 +131415,7 @@ stat_toplevel_consts_24_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -135000,7 +131434,7 @@ static const_str_S_ISFIFO = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -135009,46 +131443,44 @@ const_str_S_ISFIFO = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISFIFO", }; static - struct _PyCode_DEF(50) + struct _PyCode_DEF(38) stat_toplevel_consts_24 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 19, }, .co_consts = & stat_toplevel_consts_24_consts._object.ob_base.ob_base, .co_names = & stat_toplevel_consts_24_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 66, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 709, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_ISFIFO._ascii.ob_base, .co_qualname = & const_str_S_ISFIFO._ascii.ob_base, .co_linetable = & stat_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -135059,7 +131491,7 @@ static stat_toplevel_consts_25_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 44, @@ -135068,7 +131500,7 @@ stat_toplevel_consts_25_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if mode is from a symbolic link.", @@ -135085,7 +131517,7 @@ stat_toplevel_consts_25_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -135103,7 +131535,7 @@ static const_str_S_IFLNK = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -135112,7 +131544,7 @@ const_str_S_IFLNK = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFLNK", @@ -135129,7 +131561,7 @@ stat_toplevel_consts_25_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -135141,40 +131573,38 @@ stat_toplevel_consts_25_names = { }, }; static - struct _PyCode_DEF(50) + struct _PyCode_DEF(38) stat_toplevel_consts_25 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 19, }, .co_consts = & stat_toplevel_consts_25_consts._object.ob_base.ob_base, .co_names = & stat_toplevel_consts_25_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 70, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 710, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_ISLNK._ascii.ob_base, .co_qualname = & const_str_S_ISLNK._ascii.ob_base, .co_linetable = & stat_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -135185,7 +131615,7 @@ static stat_toplevel_consts_26_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 37, @@ -135194,7 +131624,7 @@ stat_toplevel_consts_26_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if mode is from a socket.", @@ -135211,7 +131641,7 @@ stat_toplevel_consts_26_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -135229,7 +131659,7 @@ static const_str_S_IFSOCK = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -135238,7 +131668,7 @@ const_str_S_IFSOCK = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFSOCK", @@ -135255,7 +131685,7 @@ stat_toplevel_consts_26_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -135274,7 +131704,7 @@ static const_str_S_ISSOCK = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -135283,7 +131713,7 @@ const_str_S_ISSOCK = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISSOCK", @@ -135292,54 +131722,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[20]; + char ob_sval[18]; } stat_toplevel_consts_26_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 19, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x11\x90\x24\x89\x3c\x8c\x3c\x9d\x38\xd2\x0b\x23\xd0\x04\x23", + .ob_sval = "\x80\x00\xe4\x0b\x11\x90\x24\x8b\x3c\x9c\x38\xd1\x0b\x23\xd0\x04\x23", }; static - struct _PyCode_DEF(50) + struct _PyCode_DEF(38) stat_toplevel_consts_26 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 25, + .ob_size = 19, }, .co_consts = & stat_toplevel_consts_26_consts._object.ob_base.ob_base, .co_names = & stat_toplevel_consts_26_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 74, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 711, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_ISSOCK._ascii.ob_base, .co_qualname = & const_str_S_ISSOCK._ascii.ob_base, .co_linetable = & stat_toplevel_consts_26_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x28\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -135350,7 +131778,7 @@ static stat_toplevel_consts_27_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 35, @@ -135359,7 +131787,7 @@ stat_toplevel_consts_27_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if mode is from a door.", @@ -135376,7 +131804,7 @@ stat_toplevel_consts_27_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -135395,7 +131823,7 @@ static const_str_S_ISDOOR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -135404,7 +131832,7 @@ const_str_S_ISDOOR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISDOOR", @@ -135413,54 +131841,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[8]; + char ob_sval[6]; } stat_toplevel_consts_27_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 7, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x10\x88\x35", + .ob_sval = "\x80\x00\xe0\x0b\x10", }; static - struct _PyCode_DEF(6) + struct _PyCode_DEF(4) stat_toplevel_consts_27 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, .co_consts = & stat_toplevel_consts_27_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 78, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 712, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_ISDOOR._ascii.ob_base, .co_qualname = & const_str_S_ISDOOR._ascii.ob_base, .co_linetable = & stat_toplevel_consts_27_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -135471,7 +131897,7 @@ static stat_toplevel_consts_28_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 42, @@ -135480,7 +131906,7 @@ stat_toplevel_consts_28_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if mode is from an event port.", @@ -135497,7 +131923,7 @@ stat_toplevel_consts_28_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -135516,7 +131942,7 @@ static const_str_S_ISPORT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -135525,46 +131951,44 @@ const_str_S_ISPORT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISPORT", }; static - struct _PyCode_DEF(6) + struct _PyCode_DEF(4) stat_toplevel_consts_28 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, .co_consts = & stat_toplevel_consts_28_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 82, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 713, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_ISPORT._ascii.ob_base, .co_qualname = & const_str_S_ISPORT._ascii.ob_base, .co_linetable = & stat_toplevel_consts_27_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -135575,7 +131999,7 @@ static stat_toplevel_consts_29_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 39, @@ -135584,7 +132008,7 @@ stat_toplevel_consts_29_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return True if mode is from a whiteout.", @@ -135601,7 +132025,7 @@ stat_toplevel_consts_29_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -135620,7 +132044,7 @@ static const_str_S_ISWHT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -135629,123 +132053,116 @@ const_str_S_ISWHT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISWHT", }; static - struct _PyCode_DEF(6) + struct _PyCode_DEF(4) stat_toplevel_consts_29 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, .co_consts = & stat_toplevel_consts_29_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 86, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 714, .co_localsplusnames = & stat_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_S_ISWHT._ascii.ob_base, .co_qualname = & const_str_S_ISWHT._ascii.ob_base, .co_linetable = & stat_toplevel_consts_27_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x01", ._co_firsttraceable = 0, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_1024 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 1024 }, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_512 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 512 }, }; static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_448 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 448 }, }; #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_65536 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 0, 2 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_65536 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 65536 }, }; #else @@ -135754,33 +132171,31 @@ const_int_65536 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_131072 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 0, 4 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_131072 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 131072 }, }; #else @@ -135789,33 +132204,31 @@ const_int_131072 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_262144 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 0, 8 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_262144 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 262144 }, }; #else @@ -135824,33 +132237,31 @@ const_int_262144 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_1048576 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 0, 32 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_1048576 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 1048576 }, }; #else @@ -135859,126 +132270,36 @@ const_int_1048576 = { #if PYLONG_BITS_IN_DIGIT == 15 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[2]; } const_int_2097152 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 2, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 2), .ob_digit = { 0, 64 }, }; #elif PYLONG_BITS_IN_DIGIT == 30 static struct { - PyObject_VAR_HEAD + PyObject ob_base; + uintptr_t lv_tag; digit ob_digit[1]; } const_int_2097152 = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyLong_Type, - }, - .ob_size = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyLong_Type, }, + .lv_tag = TAG_FROM_SIGN_AND_SIZE(1, 1), .ob_digit = { 2097152 }, }; #else #error "PYLONG_BITS_IN_DIGIT should be 15 or 30" #endif -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_l = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "l", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -stat_toplevel_consts_47 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "-", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_S = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "S", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[2]; - } -const_str_T = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "T", -}; static struct { PyASCIIObject _ascii; @@ -135987,7 +132308,7 @@ static stat_toplevel_consts_58_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 59, @@ -135996,7 +132317,7 @@ stat_toplevel_consts_58_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Convert a file's mode to a string of the form '-rwxrwxrwx'.", @@ -136013,14 +132334,14 @@ stat_toplevel_consts_58_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { & stat_toplevel_consts_58_consts_0._ascii.ob_base, - & stat_toplevel_consts_47._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[45], &_Py_STR(empty), }, }, @@ -136033,7 +132354,7 @@ static const_str__filemode_table = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 15, @@ -136042,7 +132363,7 @@ const_str__filemode_table = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_filemode_table", @@ -136059,7 +132380,7 @@ stat_toplevel_consts_58_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -136079,7 +132400,7 @@ static const_str_filemode = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -136088,7 +132409,7 @@ const_str_filemode = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "filemode", @@ -136097,18 +132418,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[122]; + char ob_sval[99]; } stat_toplevel_consts_58_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 121, + .ob_size = 98, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0d\x80\x44\xdd\x11\x20\xf0\x00\x06\x05\x1d\xf0\x00\x06\x05\x1d\x88\x05\xd8\x19\x1e\xf0\x00\x05\x09\x1d\xf0\x00\x05\x09\x1d\x89\x49\x88\x43\x90\x14\xd8\x0f\x13\x90\x63\x89\x7a\x98\x53\xd2\x0f\x20\xd0\x0f\x20\xd8\x10\x14\x97\x0b\x92\x0b\x98\x44\xd1\x10\x21\xd4\x10\x21\xd0\x10\x21\xd8\x10\x15\x90\x05\xf0\x05\x00\x10\x21\xf0\x08\x00\x0d\x11\x8f\x4b\x8a\x4b\x98\x03\xd1\x0c\x1c\xd4\x0c\x1c\xd0\x0c\x1c\xf8\xd8\x0b\x0d\x8f\x37\x8a\x37\x90\x34\x89\x3d\x8c\x3d\xd0\x04\x18", + .ob_sval = "\x80\x00\xe0\x0b\x0d\x80\x44\xdc\x11\x20\xf2\x00\x06\x05\x1d\x88\x05\xd8\x19\x1e\xf2\x00\x05\x09\x1d\x89\x49\x88\x43\x90\x14\xd8\x0f\x13\x90\x63\x89\x7a\x98\x53\xd3\x0f\x20\xd8\x10\x14\x97\x0b\x91\x0b\x98\x44\xd4\x10\x21\xd9\x10\x15\xf0\x07\x05\x09\x1d\xf0\x0a\x00\x0d\x11\x8f\x4b\x89\x4b\x98\x03\xd5\x0c\x1c\xf0\x0d\x06\x05\x1d\xf0\x0e\x00\x0c\x0e\x8f\x37\x89\x37\x90\x34\x8b\x3d\xd0\x04\x18", }; static struct { @@ -136118,7 +132439,7 @@ static const_str_perm = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -136127,7 +132448,7 @@ const_str_perm = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "perm", @@ -136140,7 +132461,7 @@ static const_str_table = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -136149,7 +132470,7 @@ const_str_table = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "table", @@ -136162,7 +132483,7 @@ static const_str_bit = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 3, @@ -136171,7 +132492,7 @@ const_str_bit = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "bit", @@ -136184,7 +132505,7 @@ static const_str_char = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -136193,7 +132514,7 @@ const_str_char = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "char", @@ -136210,7 +132531,7 @@ stat_toplevel_consts_58_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -136225,40 +132546,38 @@ stat_toplevel_consts_58_localsplusnames = { }, }; static - struct _PyCode_DEF(190) + struct _PyCode_DEF(170) stat_toplevel_consts_58 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 95, + .ob_size = 85, }, .co_consts = & stat_toplevel_consts_58_consts._object.ob_base.ob_base, .co_names = & stat_toplevel_consts_58_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 156, .co_nlocalsplus = 5, .co_nlocals = 5, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 715, .co_localsplusnames = & stat_toplevel_consts_58_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_5_localspluskinds.ob_base.ob_base, .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = & const_str_filemode._ascii.ob_base, .co_qualname = & const_str_filemode._ascii.ob_base, .co_linetable = & stat_toplevel_consts_58_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x67\x00\x7d\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x3f\x7d\x02\x7c\x02\x44\x00\x5d\x25\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x00\x7c\x03\x7a\x01\x00\x00\x7c\x03\x6b\x02\x00\x00\x00\x00\x72\x17\x7c\x01\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x6e\x16\x8c\x26\x7c\x01\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x40\x64\x02\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x67\x00\x7d\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x38\x00\x00\x7d\x02\x7c\x02\x44\x00\x5d\x20\x00\x00\x5c\x02\x00\x00\x7d\x03\x7d\x04\x7c\x00\x7c\x03\x7a\x01\x00\x00\x7c\x03\x6b\x28\x00\x00\x73\x01\x8c\x0f\x7c\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x8c\x27\x04\x00\x7c\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x8c\x3a\x04\x00\x64\x02\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -136273,7 +132592,7 @@ stat_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 61, @@ -136292,13 +132611,13 @@ stat_toplevel_consts = { (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 9], & stat_toplevel_consts_11.ob_base.ob_base, & stat_toplevel_consts_12.ob_base.ob_base, - & const_int_16384.ob_base.ob_base, - & const_int_8192.ob_base.ob_base, - & const_int_24576.ob_base.ob_base, - & const_int_32768.ob_base.ob_base, - & const_int_4096.ob_base.ob_base, - & const_int_40960.ob_base.ob_base, - & const_int_49152.ob_base.ob_base, + & const_int_16384.ob_base, + & const_int_8192.ob_base, + & const_int_24576.ob_base, + & const_int_32768.ob_base, + & const_int_4096.ob_base, + & const_int_40960.ob_base, + & const_int_49152.ob_base, & stat_toplevel_consts_20.ob_base.ob_base, & stat_toplevel_consts_21.ob_base.ob_base, & stat_toplevel_consts_22.ob_base.ob_base, @@ -136309,34 +132628,34 @@ stat_toplevel_consts = { & stat_toplevel_consts_27.ob_base.ob_base, & stat_toplevel_consts_28.ob_base.ob_base, & stat_toplevel_consts_29.ob_base.ob_base, - & const_int_2048.ob_base.ob_base, - & const_int_1024.ob_base.ob_base, - & const_int_512.ob_base.ob_base, + & const_int_2048.ob_base, + & const_int_1024.ob_base, + & const_int_512.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 256], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 128], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 64], - & const_int_448.ob_base.ob_base, + & const_int_448.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 56], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 32], (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 16], - & const_int_65536.ob_base.ob_base, - & const_int_131072.ob_base.ob_base, - & const_int_262144.ob_base.ob_base, - & const_int_1048576.ob_base.ob_base, - & const_int_2097152.ob_base.ob_base, - & const_str_l._ascii.ob_base, - & const_str_s._ascii.ob_base, - & stat_toplevel_consts_47._ascii.ob_base, - & const_str_b._ascii.ob_base, - & const_str_d._ascii.ob_base, - & const_str_c._ascii.ob_base, - & const_str_p._ascii.ob_base, - & const_str_r._ascii.ob_base, - & const_str_w._ascii.ob_base, - & const_str_S._ascii.ob_base, - & const_str_x._ascii.ob_base, - & const_str_t._ascii.ob_base, - & const_str_T._ascii.ob_base, + & const_int_65536.ob_base, + & const_int_131072.ob_base, + & const_int_262144.ob_base, + & const_int_1048576.ob_base, + & const_int_2097152.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[108], + &_Py_ID(s), + (PyObject *)&_Py_SINGLETON(strings).ascii[45], + &_Py_ID(b), + &_Py_ID(d), + &_Py_ID(c), + &_Py_ID(p), + &_Py_ID(r), + (PyObject *)&_Py_SINGLETON(strings).ascii[119], + (PyObject *)&_Py_SINGLETON(strings).ascii[83], + &_Py_ID(x), + (PyObject *)&_Py_SINGLETON(strings).ascii[116], + (PyObject *)&_Py_SINGLETON(strings).ascii[84], & stat_toplevel_consts_58.ob_base.ob_base, & codecs_toplevel_consts_3._object.ob_base.ob_base, Py_None, @@ -136351,7 +132670,7 @@ static const_str_ST_MODE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136360,7 +132679,7 @@ const_str_ST_MODE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ST_MODE", @@ -136373,7 +132692,7 @@ static const_str_ST_INO = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -136382,7 +132701,7 @@ const_str_ST_INO = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ST_INO", @@ -136395,7 +132714,7 @@ static const_str_ST_DEV = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -136404,7 +132723,7 @@ const_str_ST_DEV = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ST_DEV", @@ -136417,7 +132736,7 @@ static const_str_ST_NLINK = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -136426,7 +132745,7 @@ const_str_ST_NLINK = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ST_NLINK", @@ -136439,7 +132758,7 @@ static const_str_ST_UID = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -136448,7 +132767,7 @@ const_str_ST_UID = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ST_UID", @@ -136461,7 +132780,7 @@ static const_str_ST_GID = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -136470,7 +132789,7 @@ const_str_ST_GID = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ST_GID", @@ -136483,7 +132802,7 @@ static const_str_ST_SIZE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136492,7 +132811,7 @@ const_str_ST_SIZE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ST_SIZE", @@ -136505,7 +132824,7 @@ static const_str_ST_ATIME = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -136514,7 +132833,7 @@ const_str_ST_ATIME = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ST_ATIME", @@ -136527,7 +132846,7 @@ static const_str_ST_MTIME = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -136536,7 +132855,7 @@ const_str_ST_MTIME = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ST_MTIME", @@ -136549,7 +132868,7 @@ static const_str_ST_CTIME = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -136558,7 +132877,7 @@ const_str_ST_CTIME = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ST_CTIME", @@ -136571,7 +132890,7 @@ static const_str_S_IFDOOR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -136580,7 +132899,7 @@ const_str_S_IFDOOR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFDOOR", @@ -136593,7 +132912,7 @@ static const_str_S_IFPORT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -136602,7 +132921,7 @@ const_str_S_IFPORT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFPORT", @@ -136615,7 +132934,7 @@ static const_str_S_IFWHT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136624,7 +132943,7 @@ const_str_S_IFWHT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IFWHT", @@ -136637,7 +132956,7 @@ static const_str_S_ISUID = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136646,7 +132965,7 @@ const_str_S_ISUID = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISUID", @@ -136659,7 +132978,7 @@ static const_str_S_ISGID = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136668,7 +132987,7 @@ const_str_S_ISGID = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISGID", @@ -136681,7 +133000,7 @@ static const_str_S_ENFMT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136690,7 +133009,7 @@ const_str_S_ENFMT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ENFMT", @@ -136703,7 +133022,7 @@ static const_str_S_ISVTX = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136712,7 +133031,7 @@ const_str_S_ISVTX = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_ISVTX", @@ -136725,7 +133044,7 @@ static const_str_S_IREAD = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136734,7 +133053,7 @@ const_str_S_IREAD = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IREAD", @@ -136747,7 +133066,7 @@ static const_str_S_IWRITE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -136756,7 +133075,7 @@ const_str_S_IWRITE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IWRITE", @@ -136769,7 +133088,7 @@ static const_str_S_IEXEC = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136778,7 +133097,7 @@ const_str_S_IEXEC = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IEXEC", @@ -136791,7 +133110,7 @@ static const_str_S_IRWXU = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136800,7 +133119,7 @@ const_str_S_IRWXU = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IRWXU", @@ -136813,7 +133132,7 @@ static const_str_S_IRUSR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136822,7 +133141,7 @@ const_str_S_IRUSR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IRUSR", @@ -136835,7 +133154,7 @@ static const_str_S_IWUSR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136844,7 +133163,7 @@ const_str_S_IWUSR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IWUSR", @@ -136857,7 +133176,7 @@ static const_str_S_IXUSR = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136866,7 +133185,7 @@ const_str_S_IXUSR = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IXUSR", @@ -136879,7 +133198,7 @@ static const_str_S_IRWXG = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136888,7 +133207,7 @@ const_str_S_IRWXG = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IRWXG", @@ -136901,7 +133220,7 @@ static const_str_S_IRGRP = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136910,7 +133229,7 @@ const_str_S_IRGRP = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IRGRP", @@ -136923,7 +133242,7 @@ static const_str_S_IWGRP = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136932,7 +133251,7 @@ const_str_S_IWGRP = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IWGRP", @@ -136945,7 +133264,7 @@ static const_str_S_IXGRP = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136954,7 +133273,7 @@ const_str_S_IXGRP = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IXGRP", @@ -136967,7 +133286,7 @@ static const_str_S_IRWXO = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136976,7 +133295,7 @@ const_str_S_IRWXO = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IRWXO", @@ -136989,7 +133308,7 @@ static const_str_S_IROTH = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -136998,7 +133317,7 @@ const_str_S_IROTH = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IROTH", @@ -137011,7 +133330,7 @@ static const_str_S_IWOTH = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -137020,7 +133339,7 @@ const_str_S_IWOTH = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IWOTH", @@ -137033,7 +133352,7 @@ static const_str_S_IXOTH = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -137042,7 +133361,7 @@ const_str_S_IXOTH = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "S_IXOTH", @@ -137055,7 +133374,7 @@ static const_str_UF_NODUMP = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -137064,7 +133383,7 @@ const_str_UF_NODUMP = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "UF_NODUMP", @@ -137077,7 +133396,7 @@ static const_str_UF_IMMUTABLE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -137086,7 +133405,7 @@ const_str_UF_IMMUTABLE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "UF_IMMUTABLE", @@ -137099,7 +133418,7 @@ static const_str_UF_APPEND = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -137108,7 +133427,7 @@ const_str_UF_APPEND = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "UF_APPEND", @@ -137121,7 +133440,7 @@ static const_str_UF_OPAQUE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -137130,7 +133449,7 @@ const_str_UF_OPAQUE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "UF_OPAQUE", @@ -137143,7 +133462,7 @@ static const_str_UF_NOUNLINK = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -137152,7 +133471,7 @@ const_str_UF_NOUNLINK = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "UF_NOUNLINK", @@ -137165,7 +133484,7 @@ static const_str_UF_COMPRESSED = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -137174,7 +133493,7 @@ const_str_UF_COMPRESSED = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "UF_COMPRESSED", @@ -137187,7 +133506,7 @@ static const_str_SF_ARCHIVED = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -137196,7 +133515,7 @@ const_str_SF_ARCHIVED = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "SF_ARCHIVED", @@ -137209,7 +133528,7 @@ static const_str_SF_IMMUTABLE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -137218,7 +133537,7 @@ const_str_SF_IMMUTABLE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "SF_IMMUTABLE", @@ -137231,7 +133550,7 @@ static const_str_SF_APPEND = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -137240,7 +133559,7 @@ const_str_SF_APPEND = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "SF_APPEND", @@ -137253,7 +133572,7 @@ static const_str_SF_NOUNLINK = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -137262,7 +133581,7 @@ const_str_SF_NOUNLINK = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "SF_NOUNLINK", @@ -137275,7 +133594,7 @@ static const_str_SF_SNAPSHOT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -137284,7 +133603,7 @@ const_str_SF_SNAPSHOT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "SF_SNAPSHOT", @@ -137297,7 +133616,7 @@ static const_str_FILE_ATTRIBUTE_ARCHIVE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -137306,7 +133625,7 @@ const_str_FILE_ATTRIBUTE_ARCHIVE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_ARCHIVE", @@ -137319,7 +133638,7 @@ static const_str_FILE_ATTRIBUTE_COMPRESSED = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 25, @@ -137328,7 +133647,7 @@ const_str_FILE_ATTRIBUTE_COMPRESSED = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_COMPRESSED", @@ -137341,7 +133660,7 @@ static const_str_FILE_ATTRIBUTE_DEVICE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -137350,7 +133669,7 @@ const_str_FILE_ATTRIBUTE_DEVICE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_DEVICE", @@ -137363,7 +133682,7 @@ static const_str_FILE_ATTRIBUTE_DIRECTORY = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -137372,7 +133691,7 @@ const_str_FILE_ATTRIBUTE_DIRECTORY = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_DIRECTORY", @@ -137385,7 +133704,7 @@ static const_str_FILE_ATTRIBUTE_ENCRYPTED = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -137394,7 +133713,7 @@ const_str_FILE_ATTRIBUTE_ENCRYPTED = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_ENCRYPTED", @@ -137407,7 +133726,7 @@ static const_str_FILE_ATTRIBUTE_INTEGRITY_STREAM = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 31, @@ -137416,7 +133735,7 @@ const_str_FILE_ATTRIBUTE_INTEGRITY_STREAM = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_INTEGRITY_STREAM", @@ -137429,7 +133748,7 @@ static const_str_FILE_ATTRIBUTE_NORMAL = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -137438,7 +133757,7 @@ const_str_FILE_ATTRIBUTE_NORMAL = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_NORMAL", @@ -137451,7 +133770,7 @@ static const_str_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 34, @@ -137460,7 +133779,7 @@ const_str_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_NOT_CONTENT_INDEXED", @@ -137473,7 +133792,7 @@ static const_str_FILE_ATTRIBUTE_NO_SCRUB_DATA = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -137482,7 +133801,7 @@ const_str_FILE_ATTRIBUTE_NO_SCRUB_DATA = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_NO_SCRUB_DATA", @@ -137495,7 +133814,7 @@ static const_str_FILE_ATTRIBUTE_OFFLINE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -137504,7 +133823,7 @@ const_str_FILE_ATTRIBUTE_OFFLINE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_OFFLINE", @@ -137517,7 +133836,7 @@ static const_str_FILE_ATTRIBUTE_READONLY = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -137526,7 +133845,7 @@ const_str_FILE_ATTRIBUTE_READONLY = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_READONLY", @@ -137539,7 +133858,7 @@ static const_str_FILE_ATTRIBUTE_REPARSE_POINT = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -137548,7 +133867,7 @@ const_str_FILE_ATTRIBUTE_REPARSE_POINT = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_REPARSE_POINT", @@ -137561,7 +133880,7 @@ static const_str_FILE_ATTRIBUTE_SPARSE_FILE = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 26, @@ -137570,7 +133889,7 @@ const_str_FILE_ATTRIBUTE_SPARSE_FILE = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_SPARSE_FILE", @@ -137583,7 +133902,7 @@ static const_str_FILE_ATTRIBUTE_SYSTEM = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -137592,7 +133911,7 @@ const_str_FILE_ATTRIBUTE_SYSTEM = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_SYSTEM", @@ -137605,7 +133924,7 @@ static const_str_FILE_ATTRIBUTE_TEMPORARY = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -137614,7 +133933,7 @@ const_str_FILE_ATTRIBUTE_TEMPORARY = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_TEMPORARY", @@ -137627,7 +133946,7 @@ static const_str_FILE_ATTRIBUTE_VIRTUAL = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -137636,7 +133955,7 @@ const_str_FILE_ATTRIBUTE_VIRTUAL = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "FILE_ATTRIBUTE_VIRTUAL", @@ -137649,7 +133968,7 @@ static const_str__stat = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -137658,7 +133977,7 @@ const_str__stat = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_stat", @@ -137675,7 +133994,7 @@ stat_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 85, @@ -137773,18 +134092,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[876]; + char ob_sval[710]; } stat_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 875, + .ob_size = 709, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x02\x03\x01\x04\xf0\x00\x03\x01\x04\xf0\x0e\x00\x0c\x0d\x80\x07\xd8\x0b\x0c\x80\x06\xd8\x0b\x0c\x80\x06\xd8\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x06\xd8\x0b\x0c\x80\x06\xd8\x0b\x0c\x80\x07\xd8\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x08\xf0\x08\x04\x01\x19\xf0\x00\x04\x01\x19\xf0\x00\x04\x01\x19\xf0\x0c\x04\x01\x1b\xf0\x00\x04\x01\x1b\xf0\x00\x04\x01\x1b\xf0\x12\x00\x0c\x14\x80\x07\xd8\x0b\x13\x80\x07\xd8\x0b\x13\x80\x07\xd8\x0b\x13\x80\x07\xd8\x0b\x13\x80\x07\xd8\x0b\x13\x80\x07\xd8\x0b\x13\x80\x08\xe0\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x08\xd8\x0a\x0b\x80\x07\xf0\x08\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x08\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x08\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x08\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x08\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x08\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x00\x02\x01\x23\xf0\x08\x02\x01\x24\xf0\x00\x02\x01\x24\xf0\x00\x02\x01\x24\xf0\x08\x02\x01\x11\xf0\x00\x02\x01\x11\xf0\x00\x02\x01\x11\xf0\x08\x02\x01\x11\xf0\x00\x02\x01\x11\xf0\x00\x02\x01\x11\xf0\x08\x02\x01\x11\xf0\x00\x02\x01\x11\xf0\x00\x02\x01\x11\xf0\x0c\x00\x0b\x11\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x11\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0b\x11\x80\x08\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xf0\x08\x00\x10\x1a\x80\x09\xd8\x0f\x19\x80\x0c\xd8\x0f\x19\x80\x09\xd8\x0f\x19\x80\x09\xd8\x0f\x19\x80\x0b\xd8\x10\x1a\x80\x0d\xd8\x0f\x19\x80\x09\xd8\x0f\x19\x80\x0b\xd8\x0f\x19\x80\x0c\xd8\x0f\x19\x80\x09\xd8\x0f\x19\x80\x0b\xd8\x0f\x19\x80\x0b\xf0\x08\x00\x07\x0e\x90\x73\xd0\x05\x1b\xd8\x06\x0e\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xf0\x0d\x06\x05\x1d\xf0\x10\x00\x07\x0e\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x88\x67\x81\x6f\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xf0\x05\x02\x05\x1d\xf0\x08\x00\x07\x0e\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x88\x67\x81\x6f\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xf0\x05\x02\x05\x1d\xf0\x08\x00\x07\x0e\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x88\x67\x81\x6f\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xf0\x05\x02\x05\x1d\xf0\x2f\x1a\x13\x02\x80\x0f\xf0\x38\x0a\x01\x19\xf0\x00\x0a\x01\x19\xf0\x00\x0a\x01\x19\xf0\x20\x00\x1a\x1c\xd0\x00\x16\xd8\x1c\x20\xd0\x00\x19\xd8\x18\x1a\xd0\x00\x15\xd8\x1b\x1d\xd0\x00\x18\xd8\x1b\x20\xd0\x00\x18\xd8\x18\x19\xd0\x00\x15\xd8\x22\x27\xd0\x00\x1f\xd8\x18\x1b\xd0\x00\x15\xd8\x25\x29\xd0\x00\x22\xd8\x1f\x25\xd0\x00\x1c\xd8\x19\x1d\xd0\x00\x16\xd8\x1a\x1b\xd0\x00\x17\xd8\x1f\x23\xd0\x00\x1c\xd8\x1d\x20\xd0\x00\x1a\xd8\x18\x19\xd0\x00\x15\xd8\x1b\x1e\xd0\x00\x18\xd8\x19\x1e\xd0\x00\x16\xf0\x08\x03\x01\x09\xd8\x04\x17\xd0\x04\x17\xd0\x04\x17\xd0\x04\x17\xd0\x04\x17\xd0\x04\x17\xf8\xd8\x07\x12\xf0\x00\x01\x01\x09\xf0\x00\x01\x01\x09\xf0\x00\x01\x01\x09\xd8\x04\x08\x80\x44\x80\x44\xf0\x03\x01\x01\x09\xf8\xf8\xf8", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x02\x03\x01\x04\xf0\x0e\x00\x0c\x0d\x80\x07\xd8\x0b\x0c\x80\x06\xd8\x0b\x0c\x80\x06\xd8\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x06\xd8\x0b\x0c\x80\x06\xd8\x0b\x0c\x80\x07\xd8\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x08\xf2\x08\x04\x01\x19\xf2\x0c\x04\x01\x1b\xf0\x12\x00\x0c\x14\x80\x07\xd8\x0b\x13\x80\x07\xd8\x0b\x13\x80\x07\xd8\x0b\x13\x80\x07\xd8\x0b\x13\x80\x07\xd8\x0b\x13\x80\x07\xd8\x0b\x13\x80\x08\xe0\x0b\x0c\x80\x08\xd8\x0b\x0c\x80\x08\xd8\x0a\x0b\x80\x07\xf2\x08\x02\x01\x23\xf2\x08\x02\x01\x23\xf2\x08\x02\x01\x23\xf2\x08\x02\x01\x23\xf2\x08\x02\x01\x23\xf2\x08\x02\x01\x23\xf2\x08\x02\x01\x24\xf2\x08\x02\x01\x11\xf2\x08\x02\x01\x11\xf2\x08\x02\x01\x11\xf0\x0c\x00\x0b\x11\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x11\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0b\x11\x80\x08\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xd8\x0a\x10\x80\x07\xf0\x08\x00\x10\x1a\x80\x09\xd8\x0f\x19\x80\x0c\xd8\x0f\x19\x80\x09\xd8\x0f\x19\x80\x09\xd8\x0f\x19\x80\x0b\xd8\x10\x1a\x80\x0d\xd8\x0f\x19\x80\x09\xd8\x0f\x19\x80\x0b\xd8\x0f\x19\x80\x0c\xd8\x0f\x19\x80\x09\xd8\x0f\x19\x80\x0b\xd8\x0f\x19\x80\x0b\xf0\x08\x00\x07\x0e\x90\x73\xd0\x05\x1b\xd8\x06\x0e\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xf0\x0d\x06\x05\x1d\xf0\x10\x00\x07\x0e\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x88\x67\x81\x6f\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xf0\x05\x02\x05\x1d\xf0\x08\x00\x07\x0e\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x88\x67\x81\x6f\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xf0\x05\x02\x05\x1d\xf0\x08\x00\x07\x0e\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd0\x04\x1d\xd8\x06\x0d\x88\x67\x81\x6f\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xd8\x06\x0d\x90\x73\xd0\x05\x1b\xf0\x05\x02\x05\x1d\xf0\x2f\x1a\x13\x02\x80\x0f\xf2\x38\x0a\x01\x19\xf0\x20\x00\x1a\x1c\xd0\x00\x16\xd8\x1c\x20\xd0\x00\x19\xd8\x18\x1a\xd0\x00\x15\xd8\x1b\x1d\xd0\x00\x18\xd8\x1b\x20\xd0\x00\x18\xd8\x18\x19\xd0\x00\x15\xd8\x22\x27\xd0\x00\x1f\xd8\x18\x1b\xd0\x00\x15\xd8\x25\x29\xd0\x00\x22\xd8\x1f\x25\xd0\x00\x1c\xd8\x19\x1d\xd0\x00\x16\xd8\x1a\x1b\xd0\x00\x17\xd8\x1f\x23\xd0\x00\x1c\xd8\x1d\x20\xd0\x00\x1a\xd8\x18\x19\xd0\x00\x15\xd8\x1b\x1e\xd0\x00\x18\xd8\x19\x1e\xd0\x00\x16\xf0\x08\x03\x01\x09\xdd\x04\x17\xf8\xd8\x07\x12\xf2\x00\x01\x01\x09\xd9\x04\x08\xf0\x03\x01\x01\x09\xfa", }; static struct { @@ -137795,58 +134114,53 @@ static stat_toplevel_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\xc4\x0a\x04\x44\x10\x00\xc4\x10\x05\x44\x19\x03\xc4\x18\x01\x44\x19\x03", + .ob_sval = "\xc4\x0a\x05\x44\x10\x00\xc4\x10\x05\x44\x18\x03\xc4\x17\x01\x44\x18\x03", }; static - struct _PyCode_DEF(568) + struct _PyCode_DEF(566) stat_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 284, + .ob_size = 283, }, .co_consts = & stat_toplevel_consts._object.ob_base.ob_base, .co_names = & stat_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = & stat_toplevel_exceptiontable.ob_base.ob_base, .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 13 + FRAME_SPECIALS_SIZE, .co_stacksize = 13, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 716, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & stat_toplevel_consts_11_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & stat_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x5a\x01\x64\x02\x5a\x02\x64\x03\x5a\x03\x64\x04\x5a\x04\x64\x05\x5a\x05\x64\x06\x5a\x06\x64\x07\x5a\x07\x64\x08\x5a\x08\x64\x09\x5a\x09\x64\x0a\x5a\x0a\x64\x0b\x84\x00\x5a\x0b\x64\x0c\x84\x00\x5a\x0c\x64\x0d\x5a\x0d\x64\x0e\x5a\x0e\x64\x0f\x5a\x0f\x64\x10\x5a\x10\x64\x11\x5a\x11\x64\x12\x5a\x12\x64\x13\x5a\x13\x64\x01\x5a\x14\x64\x01\x5a\x15\x64\x01\x5a\x16\x64\x14\x84\x00\x5a\x17\x64\x15\x84\x00\x5a\x18\x64\x16\x84\x00\x5a\x19\x64\x17\x84\x00\x5a\x1a\x64\x18\x84\x00\x5a\x1b\x64\x19\x84\x00\x5a\x1c\x64\x1a\x84\x00\x5a\x1d\x64\x1b\x84\x00\x5a\x1e\x64\x1c\x84\x00\x5a\x1f\x64\x1d\x84\x00\x5a\x20\x64\x1e\x5a\x21\x64\x1f\x5a\x22\x65\x22\x5a\x23\x64\x20\x5a\x24\x64\x21\x5a\x25\x64\x22\x5a\x26\x64\x23\x5a\x27\x64\x24\x5a\x28\x64\x21\x5a\x29\x64\x22\x5a\x2a\x64\x23\x5a\x2b\x64\x25\x5a\x2c\x64\x26\x5a\x2d\x64\x27\x5a\x2e\x64\x09\x5a\x2f\x64\x08\x5a\x30\x64\x05\x5a\x31\x64\x03\x5a\x32\x64\x02\x5a\x33\x64\x02\x5a\x34\x64\x03\x5a\x35\x64\x05\x5a\x36\x64\x09\x5a\x37\x64\x27\x5a\x38\x64\x26\x5a\x39\x64\x10\x5a\x3a\x64\x28\x5a\x3b\x64\x29\x5a\x3c\x64\x2a\x5a\x3d\x64\x2b\x5a\x3e\x64\x2c\x5a\x3f\x65\x12\x64\x2d\x66\x02\x65\x13\x64\x2e\x66\x02\x65\x10\x64\x2f\x66\x02\x65\x0f\x64\x30\x66\x02\x65\x0d\x64\x31\x66\x02\x65\x0e\x64\x32\x66\x02\x65\x11\x64\x33\x66\x02\x66\x07\x65\x29\x64\x34\x66\x02\x66\x01\x65\x2a\x64\x35\x66\x02\x66\x01\x65\x2b\x65\x21\x7a\x07\x00\x00\x64\x2e\x66\x02\x65\x21\x64\x36\x66\x02\x65\x2b\x64\x37\x66\x02\x66\x03\x65\x2d\x64\x34\x66\x02\x66\x01\x65\x2e\x64\x35\x66\x02\x66\x01\x65\x2f\x65\x22\x7a\x07\x00\x00\x64\x2e\x66\x02\x65\x22\x64\x36\x66\x02\x65\x2f\x64\x37\x66\x02\x66\x03\x65\x31\x64\x34\x66\x02\x66\x01\x65\x32\x64\x35\x66\x02\x66\x01\x65\x33\x65\x24\x7a\x07\x00\x00\x64\x38\x66\x02\x65\x24\x64\x39\x66\x02\x65\x33\x64\x37\x66\x02\x66\x03\x66\x0a\x5a\x40\x64\x3a\x84\x00\x5a\x41\x64\x26\x5a\x42\x64\x1e\x5a\x43\x64\x23\x5a\x44\x64\x27\x5a\x45\x64\x0d\x5a\x46\x64\x03\x5a\x47\x64\x10\x5a\x48\x64\x22\x5a\x49\x64\x0e\x5a\x4a\x64\x29\x5a\x4b\x64\x11\x5a\x4c\x64\x02\x5a\x4d\x64\x1f\x5a\x4e\x64\x20\x5a\x4f\x64\x05\x5a\x50\x64\x21\x5a\x51\x64\x28\x5a\x52\x09\x00\x64\x01\x64\x3b\x6c\x53\x54\x00\x64\x3c\x53\x00\x23\x00\x65\x54\x24\x00\x72\x04\x01\x00\x59\x00\x64\x3c\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x5a\x01\x64\x02\x5a\x02\x64\x03\x5a\x03\x64\x04\x5a\x04\x64\x05\x5a\x05\x64\x06\x5a\x06\x64\x07\x5a\x07\x64\x08\x5a\x08\x64\x09\x5a\x09\x64\x0a\x5a\x0a\x64\x0b\x84\x00\x5a\x0b\x64\x0c\x84\x00\x5a\x0c\x64\x0d\x5a\x0d\x64\x0e\x5a\x0e\x64\x0f\x5a\x0f\x64\x10\x5a\x10\x64\x11\x5a\x11\x64\x12\x5a\x12\x64\x13\x5a\x13\x64\x01\x5a\x14\x64\x01\x5a\x15\x64\x01\x5a\x16\x64\x14\x84\x00\x5a\x17\x64\x15\x84\x00\x5a\x18\x64\x16\x84\x00\x5a\x19\x64\x17\x84\x00\x5a\x1a\x64\x18\x84\x00\x5a\x1b\x64\x19\x84\x00\x5a\x1c\x64\x1a\x84\x00\x5a\x1d\x64\x1b\x84\x00\x5a\x1e\x64\x1c\x84\x00\x5a\x1f\x64\x1d\x84\x00\x5a\x20\x64\x1e\x5a\x21\x64\x1f\x5a\x22\x65\x22\x5a\x23\x64\x20\x5a\x24\x64\x21\x5a\x25\x64\x22\x5a\x26\x64\x23\x5a\x27\x64\x24\x5a\x28\x64\x21\x5a\x29\x64\x22\x5a\x2a\x64\x23\x5a\x2b\x64\x25\x5a\x2c\x64\x26\x5a\x2d\x64\x27\x5a\x2e\x64\x09\x5a\x2f\x64\x08\x5a\x30\x64\x05\x5a\x31\x64\x03\x5a\x32\x64\x02\x5a\x33\x64\x02\x5a\x34\x64\x03\x5a\x35\x64\x05\x5a\x36\x64\x09\x5a\x37\x64\x27\x5a\x38\x64\x26\x5a\x39\x64\x10\x5a\x3a\x64\x28\x5a\x3b\x64\x29\x5a\x3c\x64\x2a\x5a\x3d\x64\x2b\x5a\x3e\x64\x2c\x5a\x3f\x65\x12\x64\x2d\x66\x02\x65\x13\x64\x2e\x66\x02\x65\x10\x64\x2f\x66\x02\x65\x0f\x64\x30\x66\x02\x65\x0d\x64\x31\x66\x02\x65\x0e\x64\x32\x66\x02\x65\x11\x64\x33\x66\x02\x66\x07\x65\x29\x64\x34\x66\x02\x66\x01\x65\x2a\x64\x35\x66\x02\x66\x01\x65\x2b\x65\x21\x7a\x07\x00\x00\x64\x2e\x66\x02\x65\x21\x64\x36\x66\x02\x65\x2b\x64\x37\x66\x02\x66\x03\x65\x2d\x64\x34\x66\x02\x66\x01\x65\x2e\x64\x35\x66\x02\x66\x01\x65\x2f\x65\x22\x7a\x07\x00\x00\x64\x2e\x66\x02\x65\x22\x64\x36\x66\x02\x65\x2f\x64\x37\x66\x02\x66\x03\x65\x31\x64\x34\x66\x02\x66\x01\x65\x32\x64\x35\x66\x02\x66\x01\x65\x33\x65\x24\x7a\x07\x00\x00\x64\x38\x66\x02\x65\x24\x64\x39\x66\x02\x65\x33\x64\x37\x66\x02\x66\x03\x66\x0a\x5a\x40\x64\x3a\x84\x00\x5a\x41\x64\x26\x5a\x42\x64\x1e\x5a\x43\x64\x23\x5a\x44\x64\x27\x5a\x45\x64\x0d\x5a\x46\x64\x03\x5a\x47\x64\x10\x5a\x48\x64\x22\x5a\x49\x64\x0e\x5a\x4a\x64\x29\x5a\x4b\x64\x11\x5a\x4c\x64\x02\x5a\x4d\x64\x1f\x5a\x4e\x64\x20\x5a\x4f\x64\x05\x5a\x50\x64\x21\x5a\x51\x64\x28\x5a\x52\x09\x00\x64\x01\x64\x3b\x6c\x53\xad\x02\x01\x00\x79\x3c\x23\x00\x65\x54\x24\x00\x72\x03\x01\x00\x59\x00\x79\x3c\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; -static void stat_do_patchups(void) { -} PyObject * _Py_get_stat_toplevel(void) { - stat_do_patchups(); return Py_NewRef((PyObject *) &stat_toplevel); } @@ -137858,7 +134172,7 @@ static importlib_util_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 45, @@ -137867,7 +134181,7 @@ importlib_util_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Utility code for constructing importers, etc.", @@ -137880,7 +134194,7 @@ static const_str_Loader = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -137889,7 +134203,7 @@ const_str_Loader = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Loader", @@ -137906,7 +134220,7 @@ importlib_util_toplevel_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -137928,7 +134242,7 @@ importlib_util_toplevel_consts_3 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -137950,7 +134264,7 @@ importlib_util_toplevel_consts_4 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -137972,7 +134286,7 @@ importlib_util_toplevel_consts_5 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -137994,7 +134308,7 @@ importlib_util_toplevel_consts_6 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -138016,7 +134330,7 @@ importlib_util_toplevel_consts_7 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -138038,7 +134352,7 @@ importlib_util_toplevel_consts_8 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -138060,7 +134374,7 @@ importlib_util_toplevel_consts_9 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -138082,7 +134396,7 @@ importlib_util_toplevel_consts_10 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -138104,7 +134418,7 @@ importlib_util_toplevel_consts_11 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -138114,59 +134428,15 @@ importlib_util_toplevel_consts_11 = { }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[15]; - } -const_str_contextmanager = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 14, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "contextmanager", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[1]; - }_object; - } -importlib_util_toplevel_consts_14 = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 1, - }, - .ob_item = { - & const_str_contextmanager._ascii.ob_base, - }, - }, -}; static struct { PyASCIIObject _ascii; uint8_t _data[67]; } -importlib_util_toplevel_consts_16_consts_0 = { +importlib_util_toplevel_consts_15_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 66, @@ -138175,7 +134445,7 @@ importlib_util_toplevel_consts_16_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Return the hash of *source_bytes* as used in hash-based pyc files.", @@ -138188,897 +134458,183 @@ static PyObject *ob_item[1]; }_object; } -importlib_util_toplevel_consts_16_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 1, - }, - .ob_item = { - & importlib_util_toplevel_consts_16_consts_0._ascii.ob_base, - }, - }, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[3]; - }_object; - } -importlib_util_toplevel_consts_16_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 3, - }, - .ob_item = { - & const_str__imp._ascii.ob_base, - & const_str_source_hash._ascii.ob_base, - & const_str__RAW_MAGIC_NUMBER._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[24]; - } -importlib_util_toplevel_consts_16_filename = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 23, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[23]; - } -importlib_util_toplevel_consts_16_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 22, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x0f\xd4\x0b\x1b\xd5\x1c\x2d\xa8\x7c\xd1\x0b\x3c\xd4\x0b\x3c\xd0\x04\x3c", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[1]; - }_object; - } -importlib_util_toplevel_consts_16_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 1, - }, - .ob_item = { - & const_str_source_bytes._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(54) -importlib_util_toplevel_consts_16 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 27, - }, - .co_consts = & importlib_util_toplevel_consts_16_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_16_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 4, - .co_firstlineno = 22, - .co_nlocalsplus = 1, - .co_nlocals = 1, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_16_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str_source_hash._ascii.ob_base, - .co_qualname = & const_str_source_hash._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_16_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[26]; - } -importlib_util_toplevel_consts_17_consts_2 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 25, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "no package specified for ", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[38]; - } -importlib_util_toplevel_consts_17_consts_3 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 37, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = " (required for relative module names)", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[7]; - }_object; - } -importlib_util_toplevel_consts_17_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 7, - }, - .ob_item = { - & importlib__bootstrap_toplevel_consts_43_consts_0._ascii.ob_base, - &_Py_STR(dot), - & importlib_util_toplevel_consts_17_consts_2._ascii.ob_base, - & importlib_util_toplevel_consts_17_consts_3._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], - Py_None, - }, - }, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[4]; - }_object; - } -importlib_util_toplevel_consts_17_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 4, - }, - .ob_item = { - & const_str_startswith._ascii.ob_base, - & const_str_ImportError._ascii.ob_base, - & const_str_repr._ascii.ob_base, - & const_str__resolve_name._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[13]; - } -const_str_resolve_name = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 12, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "resolve_name", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[164]; - } -importlib_util_toplevel_consts_17_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 163, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x0b\x0f\x8f\x3f\x8a\x3f\x98\x33\xd1\x0b\x1f\xd4\x0b\x1f\xf0\x00\x04\x05\x42\x01\xd8\x0f\x13\x88\x0b\xd8\x0d\x14\xf0\x00\x02\x05\x42\x01\xdd\x0e\x19\xf0\x00\x01\x1b\x41\x01\xb5\x64\xb8\x34\xb1\x6a\xb4\x6a\xf0\x00\x01\x1b\x41\x01\xf0\x00\x01\x1b\x41\x01\xf0\x00\x01\x1b\x41\x01\xf1\x00\x01\x0f\x42\x01\xf4\x00\x01\x0f\x42\x01\xf0\x00\x01\x09\x42\x01\xe0\x0c\x0d\x80\x45\xd8\x15\x19\xf0\x00\x03\x05\x13\xf0\x00\x03\x05\x13\x88\x09\xd8\x0b\x14\x98\x03\xd2\x0b\x1b\xd0\x0b\x1b\xd8\x0c\x11\x88\x45\xd8\x08\x0d\x90\x11\x89\x0a\x88\x05\x88\x05\xdd\x0b\x18\x98\x14\x98\x65\x98\x66\x98\x66\x9c\x1c\xa0\x77\xb0\x05\xd1\x0b\x36\xd4\x0b\x36\xd0\x04\x36", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[10]; - } -const_str_character = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 9, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "character", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[4]; - }_object; - } -importlib_util_toplevel_consts_17_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 4, - }, - .ob_item = { - &_Py_ID(name), - & const_str_package._ascii.ob_base, - & const_str_level._ascii.ob_base, - & const_str_character._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(206) -importlib_util_toplevel_consts_17 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 103, - }, - .co_consts = & importlib_util_toplevel_consts_17_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_17_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 27, - .co_nlocalsplus = 4, - .co_nlocals = 4, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_17_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str_resolve_name._ascii.ob_base, - .co_qualname = & const_str_resolve_name._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_17_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x7c\x00\x53\x00\x7c\x01\x73\x20\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x03\x9d\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x64\x04\x7d\x02\x7c\x00\x44\x00\x5d\x0f\x7d\x03\x7c\x03\x64\x01\x6b\x03\x00\x00\x00\x00\x72\x02\x01\x00\x6e\x06\x7c\x02\x64\x05\x7a\x0d\x00\x00\x7d\x02\x8c\x10\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\x64\x06\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x7c\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[648]; - } -importlib_util_toplevel_consts_18_consts_0 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 647, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x73\x70\x65\x63\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x0a\x0a\x20\x20\x20\x20\x46\x69\x72\x73\x74\x2c\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x20\x69\x73\x20\x63\x68\x65\x63\x6b\x65\x64\x20\x74\x6f\x20\x73\x65\x65\x20\x69\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x77\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x2e\x20\x49\x66\x0a\x20\x20\x20\x20\x73\x6f\x2c\x20\x74\x68\x65\x6e\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x5b\x6e\x61\x6d\x65\x5d\x2e\x5f\x5f\x73\x70\x65\x63\x5f\x5f\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x2e\x20\x49\x66\x20\x74\x68\x61\x74\x20\x68\x61\x70\x70\x65\x6e\x73\x20\x74\x6f\x20\x62\x65\x0a\x20\x20\x20\x20\x73\x65\x74\x20\x74\x6f\x20\x4e\x6f\x6e\x65\x2c\x20\x74\x68\x65\x6e\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x20\x69\x73\x20\x72\x61\x69\x73\x65\x64\x2e\x20\x49\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x0a\x20\x20\x20\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x2c\x20\x74\x68\x65\x6e\x20\x73\x79\x73\x2e\x6d\x65\x74\x61\x5f\x70\x61\x74\x68\x20\x69\x73\x20\x73\x65\x61\x72\x63\x68\x65\x64\x20\x66\x6f\x72\x20\x61\x20\x73\x75\x69\x74\x61\x62\x6c\x65\x20\x73\x70\x65\x63\x20\x77\x69\x74\x68\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x27\x70\x61\x74\x68\x27\x20\x67\x69\x76\x65\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x66\x69\x6e\x64\x65\x72\x73\x2e\x20\x4e\x6f\x6e\x65\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x69\x66\x20\x6e\x6f\x20\x73\x70\x65\x63\x20\x63\x6f\x75\x6c\x64\x0a\x20\x20\x20\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x0a\x20\x20\x20\x20\x44\x6f\x74\x74\x65\x64\x20\x6e\x61\x6d\x65\x73\x20\x64\x6f\x20\x6e\x6f\x74\x20\x68\x61\x76\x65\x20\x74\x68\x65\x69\x72\x20\x70\x61\x72\x65\x6e\x74\x20\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x69\x6d\x70\x6c\x69\x63\x69\x74\x6c\x79\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x2e\x20\x59\x6f\x75\x20\x77\x69\x6c\x6c\x0a\x20\x20\x20\x20\x6d\x6f\x73\x74\x20\x6c\x69\x6b\x65\x6c\x79\x20\x6e\x65\x65\x64\x20\x74\x6f\x20\x65\x78\x70\x6c\x69\x63\x69\x74\x6c\x79\x20\x69\x6d\x70\x6f\x72\x74\x20\x61\x6c\x6c\x20\x70\x61\x72\x65\x6e\x74\x20\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x69\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x70\x65\x72\x0a\x20\x20\x20\x20\x6f\x72\x64\x65\x72\x20\x66\x6f\x72\x20\x61\x20\x73\x75\x62\x6d\x6f\x64\x75\x6c\x65\x20\x74\x6f\x20\x67\x65\x74\x20\x74\x68\x65\x20\x63\x6f\x72\x72\x65\x63\x74\x20\x73\x70\x65\x63\x2e\x0a\x0a\x20\x20\x20\x20", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[20]; - } -importlib_util_toplevel_consts_18_consts_2 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 19, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "{}.__spec__ is None", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[23]; - } -importlib_util_toplevel_consts_18_consts_3 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 22, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "{}.__spec__ is not set", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[4]; - }_object; - } -importlib_util_toplevel_consts_18_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 4, - }, - .ob_item = { - & importlib_util_toplevel_consts_18_consts_0._ascii.ob_base, - Py_None, - & importlib_util_toplevel_consts_18_consts_2._ascii.ob_base, - & importlib_util_toplevel_consts_18_consts_3._ascii.ob_base, - }, - }, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[7]; - }_object; - } -importlib_util_toplevel_consts_18_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 7, - }, - .ob_item = { - & const_str_sys._ascii.ob_base, - &_Py_ID(modules), - & const_str__find_spec._ascii.ob_base, - &_Py_ID(__spec__), - & const_str_ValueError._ascii.ob_base, - & const_str_format._ascii.ob_base, - & const_str_AttributeError._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[21]; - } -const_str__find_spec_from_path = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 20, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "_find_spec_from_path", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[173]; - } -importlib_util_toplevel_consts_18_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 172, - }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x1e\x00\x08\x0c\x95\x33\x94\x3b\xd0\x07\x1e\xd0\x07\x1e\xdd\x0f\x19\x98\x24\xa0\x04\xd1\x0f\x25\xd4\x0f\x25\xd0\x08\x25\xe5\x11\x14\x94\x1b\x98\x54\xd4\x11\x22\x88\x06\xd8\x0b\x11\x88\x3e\xd8\x13\x17\x90\x34\xf0\x02\x07\x09\x18\xd8\x13\x19\x94\x3f\x88\x44\xf0\x08\x00\x10\x14\x88\x7c\xdd\x16\x20\xd0\x21\x36\xd7\x21\x3d\xd2\x21\x3d\xb8\x64\xd1\x21\x43\xd4\x21\x43\xd1\x16\x44\xd4\x16\x44\xd0\x10\x44\xd8\x13\x17\x88\x4b\xf8\xf5\x0b\x00\x10\x1e\xf0\x00\x01\x09\x4e\x01\xf0\x00\x01\x09\x4e\x01\xf0\x00\x01\x09\x4e\x01\xdd\x12\x1c\xd0\x1d\x35\xd7\x1d\x3c\xd2\x1d\x3c\xb8\x54\xd1\x1d\x42\xd4\x1d\x42\xd1\x12\x43\xd4\x12\x43\xc8\x14\xd0\x0c\x4d\xf0\x03\x01\x09\x4e\x01\xf8\xf8\xf8", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[12]; - } -importlib_util_toplevel_consts_18_exceptiontable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, - }, - .ob_size = 11, - }, - .ob_shash = -1, - .ob_sval = "\xb6\x07\x41\x23\x00\xc1\x23\x2e\x42\x11\x03", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[4]; - }_object; - } -importlib_util_toplevel_consts_18_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 4, - }, - .ob_item = { - &_Py_ID(name), - &_Py_ID(path), - & const_str_module._ascii.ob_base, - & const_str_spec._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(296) -importlib_util_toplevel_consts_18 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, - }, - .ob_size = 148, - }, - .co_consts = & importlib_util_toplevel_consts_18_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_18_names._object.ob_base.ob_base, - .co_exceptiontable = & importlib_util_toplevel_consts_18_exceptiontable.ob_base.ob_base, - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 42, - .co_nlocalsplus = 4, - .co_nlocals = 4, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str__find_spec_from_path._ascii.ob_base, - .co_qualname = & const_str__find_spec_from_path._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_18_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x10\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x02\x80\x02\x64\x01\x53\x00\x09\x00\x7c\x02\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x80\x22\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x03\x53\x00\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x24\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xa0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01", - ._co_firsttraceable = 0, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[688]; - } -importlib_util_toplevel_consts_19_consts_0 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 687, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x73\x70\x65\x63\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x0a\x0a\x20\x20\x20\x20\x46\x69\x72\x73\x74\x2c\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x20\x69\x73\x20\x63\x68\x65\x63\x6b\x65\x64\x20\x74\x6f\x20\x73\x65\x65\x20\x69\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x77\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x2e\x20\x49\x66\x0a\x20\x20\x20\x20\x73\x6f\x2c\x20\x74\x68\x65\x6e\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x5b\x6e\x61\x6d\x65\x5d\x2e\x5f\x5f\x73\x70\x65\x63\x5f\x5f\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x2e\x20\x49\x66\x20\x74\x68\x61\x74\x20\x68\x61\x70\x70\x65\x6e\x73\x20\x74\x6f\x20\x62\x65\x0a\x20\x20\x20\x20\x73\x65\x74\x20\x74\x6f\x20\x4e\x6f\x6e\x65\x2c\x20\x74\x68\x65\x6e\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x20\x69\x73\x20\x72\x61\x69\x73\x65\x64\x2e\x20\x49\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x0a\x20\x20\x20\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x2c\x20\x74\x68\x65\x6e\x20\x73\x79\x73\x2e\x6d\x65\x74\x61\x5f\x70\x61\x74\x68\x20\x69\x73\x20\x73\x65\x61\x72\x63\x68\x65\x64\x20\x66\x6f\x72\x20\x61\x20\x73\x75\x69\x74\x61\x62\x6c\x65\x20\x73\x70\x65\x63\x20\x77\x69\x74\x68\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x27\x70\x61\x74\x68\x27\x20\x67\x69\x76\x65\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x66\x69\x6e\x64\x65\x72\x73\x2e\x20\x4e\x6f\x6e\x65\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x69\x66\x20\x6e\x6f\x20\x73\x70\x65\x63\x20\x63\x6f\x75\x6c\x64\x0a\x20\x20\x20\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x20\x69\x73\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\x6f\x64\x75\x6c\x65\x20\x28\x63\x6f\x6e\x74\x61\x69\x6e\x73\x20\x61\x20\x64\x6f\x74\x29\x2c\x20\x74\x68\x65\x20\x70\x61\x72\x65\x6e\x74\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x0a\x20\x20\x20\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x6e\x61\x6d\x65\x20\x61\x6e\x64\x20\x70\x61\x63\x6b\x61\x67\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x77\x6f\x72\x6b\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x61\x73\x20\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x2e\x69\x6d\x70\x6f\x72\x74\x5f\x6d\x6f\x64\x75\x6c\x65\x28\x29\x2e\x0a\x20\x20\x20\x20\x49\x6e\x20\x6f\x74\x68\x65\x72\x20\x77\x6f\x72\x64\x73\x2c\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6e\x61\x6d\x65\x73\x20\x28\x77\x69\x74\x68\x20\x6c\x65\x61\x64\x69\x6e\x67\x20\x64\x6f\x74\x73\x29\x20\x77\x6f\x72\x6b\x2e\x0a\x0a\x20\x20\x20\x20", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[1]; - }_object; - } -importlib_util_toplevel_consts_19_consts_4 = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 1, - }, - .ob_item = { - & const_str_fromlist._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[33]; - } -importlib_util_toplevel_consts_19_consts_5 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 32, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "__path__ attribute not found on ", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[23]; - } -importlib_util_toplevel_consts_19_consts_6 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 22, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = " while trying to find ", -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[11]; - }_object; - } -importlib_util_toplevel_consts_19_consts = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 11, - }, - .ob_item = { - & importlib_util_toplevel_consts_19_consts_0._ascii.ob_base, - &_Py_STR(dot), - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - &_Py_ID(__path__), - & importlib_util_toplevel_consts_19_consts_4._object.ob_base.ob_base, - & importlib_util_toplevel_consts_19_consts_5._ascii.ob_base, - & importlib_util_toplevel_consts_19_consts_6._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_4_localsplusnames._object.ob_base.ob_base, - Py_None, - & importlib_util_toplevel_consts_18_consts_2._ascii.ob_base, - & importlib_util_toplevel_consts_18_consts_3._ascii.ob_base, - }, - }, -}; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[13]; - }_object; - } -importlib_util_toplevel_consts_19_names = { +importlib_util_toplevel_consts_15_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 13, - }, - .ob_item = { - & const_str_startswith._ascii.ob_base, - & const_str_resolve_name._ascii.ob_base, - & const_str_sys._ascii.ob_base, - &_Py_ID(modules), - & const_str_rpartition._ascii.ob_base, - &_Py_ID(__import__), - &_Py_ID(__path__), - & const_str_AttributeError._ascii.ob_base, - & const_str_ModuleNotFoundError._ascii.ob_base, - & const_str__find_spec._ascii.ob_base, - &_Py_ID(__spec__), - & const_str_ValueError._ascii.ob_base, - & const_str_format._ascii.ob_base, - }, - }, -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[382]; - } -importlib_util_toplevel_consts_19_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 1, + }, + .ob_item = { + & importlib_util_toplevel_consts_15_consts_0._ascii.ob_base, }, - .ob_size = 381, }, - .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x22\x00\x2f\x33\xaf\x6f\xaa\x6f\xb8\x63\xd1\x2e\x42\xd4\x2e\x42\xd0\x0f\x4c\x8d\x7c\x98\x44\xa0\x27\xd1\x0f\x2a\xd4\x0f\x2a\xd0\x0f\x2a\xc8\x04\x80\x48\xd8\x07\x0f\x95\x73\x94\x7b\xd0\x07\x22\xd0\x07\x22\xd8\x16\x1e\xd7\x16\x29\xd2\x16\x29\xa8\x23\xd1\x16\x2e\xd4\x16\x2e\xa8\x71\xd4\x16\x31\x88\x0b\xd8\x0b\x16\xf0\x00\x09\x09\x1f\xdd\x15\x1f\xa0\x0b\xb0\x7a\xb0\x6c\xd0\x15\x43\xd1\x15\x43\xd4\x15\x43\x88\x46\xf0\x02\x05\x0d\x50\x01\xd8\x1e\x24\x9c\x6f\x90\x0b\x90\x0b\xf8\xdd\x13\x21\xf0\x00\x03\x0d\x50\x01\xf0\x00\x03\x0d\x50\x01\xf0\x00\x03\x0d\x50\x01\xdd\x16\x29\xf0\x02\x01\x15\x39\xb0\x7b\xf0\x00\x01\x15\x39\xf0\x00\x01\x15\x39\xd8\x2c\x34\xf0\x03\x01\x15\x39\xf0\x00\x01\x15\x39\xd8\x3f\x47\xf0\x05\x02\x17\x49\x01\xf1\x00\x02\x17\x49\x01\xf4\x00\x02\x17\x49\x01\xe0\x4e\x4f\xf0\x05\x02\x11\x50\x01\xf8\xf8\xf8\xf8\xf0\x03\x03\x0d\x50\x01\xf8\xf8\xf8\xf0\x0a\x00\x1b\x1f\x88\x4b\xdd\x0f\x19\x98\x28\xa0\x4b\xd1\x0f\x30\xd4\x0f\x30\xd0\x08\x30\xe5\x11\x14\x94\x1b\x98\x58\xd4\x11\x26\x88\x06\xd8\x0b\x11\x88\x3e\xd8\x13\x17\x90\x34\xf0\x02\x07\x09\x18\xd8\x13\x19\x94\x3f\x88\x44\xf0\x08\x00\x10\x14\x88\x7c\xdd\x16\x20\xd0\x21\x36\xd7\x21\x3d\xd2\x21\x3d\xb8\x64\xd1\x21\x43\xd4\x21\x43\xd1\x16\x44\xd4\x16\x44\xd0\x10\x44\xd8\x13\x17\x88\x4b\xf8\xf5\x0b\x00\x10\x1e\xf0\x00\x01\x09\x4e\x01\xf0\x00\x01\x09\x4e\x01\xf0\x00\x01\x09\x4e\x01\xdd\x12\x1c\xd0\x1d\x35\xd7\x1d\x3c\xd2\x1d\x3c\xb8\x54\xd1\x1d\x42\xd4\x1d\x42\xd1\x12\x43\xd4\x12\x43\xc8\x14\xd0\x0c\x4d\xf0\x03\x01\x09\x4e\x01\xf8\xf8\xf8", }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[37]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[3]; + }_object; } -importlib_util_toplevel_consts_19_exceptiontable = { - .ob_base = { +importlib_util_toplevel_consts_15_names = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 3, + }, + .ob_item = { + & const_str__imp._ascii.ob_base, + & const_str_source_hash._ascii.ob_base, + & const_str__RAW_MAGIC_NUMBER._ascii.ob_base, }, - .ob_size = 36, }, - .ob_shash = -1, - .ob_sval = "\xc1\x26\x07\x41\x2e\x00\xc1\x2e\x0a\x42\x15\x03\xc1\x38\x18\x42\x10\x03\xc2\x10\x05\x42\x15\x03\xc3\x01\x07\x43\x2e\x00\xc3\x2e\x2e\x44\x1c\x03", }; static struct { PyASCIIObject _ascii; - uint8_t _data[12]; + uint8_t _data[24]; } -const_str_parent_name = { +importlib_util_toplevel_consts_15_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 11, + .length = 23, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "parent_name", + ._data = "", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[23]; + } +importlib_util_toplevel_consts_15_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 22, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xe4\x0b\x0f\xd7\x0b\x1b\xd1\x0b\x1b\xd4\x1c\x2d\xa8\x7c\xd3\x0b\x3c\xd0\x04\x3c", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[9]; + PyObject *ob_item[1]; }_object; } -importlib_util_toplevel_consts_19_localsplusnames = { +importlib_util_toplevel_consts_15_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 9, + .ob_size = 1, }, .ob_item = { - &_Py_ID(name), - & const_str_package._ascii.ob_base, - & const_str_fullname._ascii.ob_base, - & const_str_parent_name._ascii.ob_base, - &_Py_ID(parent), - & const_str_parent_path._ascii.ob_base, - & const_str_e._ascii.ob_base, - & const_str_module._ascii.ob_base, - & const_str_spec._ascii.ob_base, + & const_str_source_bytes._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(574) -importlib_util_toplevel_consts_19 = { + struct _PyCode_DEF(54) +importlib_util_toplevel_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 287, + .ob_size = 27, }, - .co_consts = & importlib_util_toplevel_consts_19_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_19_names._object.ob_base.ob_base, - .co_exceptiontable = & importlib_util_toplevel_consts_19_exceptiontable.ob_base.ob_base, + .co_consts = & importlib_util_toplevel_consts_15_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_15_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, + .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 7, - .co_firstlineno = 73, - .co_nlocalsplus = 9, - .co_nlocals = 9, - .co_nplaincellvars = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, + .co_stacksize = 4, + .co_firstlineno = 19, + .co_nlocalsplus = 1, + .co_nlocals = 1, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_19_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_57_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str_find_spec._ascii.ob_base, - .co_qualname = & const_str_find_spec._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_19_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x10\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x01\x7c\x00\x7d\x02\x7c\x02\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x74\x7c\x02\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x72\x45\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x64\x03\x67\x01\xac\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x09\x00\x7c\x04\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x2c\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x1d\x7d\x06\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x7c\x03\x9b\x02\x64\x06\x7c\x02\x9b\x02\x9d\x04\x7c\x02\xac\x07\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x82\x02\x64\x08\x7d\x06\x7e\x06\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x64\x08\x7d\x05\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x05\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x07\x80\x02\x64\x08\x53\x00\x09\x00\x7c\x07\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x08\x80\x22\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\xa0\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x08\x53\x00\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x24\x01\x00\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x0a\xa0\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01", + .co_version = 717, + .co_localsplusnames = & importlib_util_toplevel_consts_15_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, + .co_name = & const_str_source_hash._ascii.ob_base, + .co_qualname = & const_str_source_hash._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_15_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[17]; + uint8_t _data[26]; } -const_str___initializing__ = { +importlib_util_toplevel_consts_16_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 16, + .length = 25, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "no package specified for ", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[38]; + } +importlib_util_toplevel_consts_16_consts_3 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 37, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "__initializing__", + ._data = " (required for relative module names)", }; static struct { @@ -139088,213 +134644,260 @@ static PyObject *ob_item[7]; }_object; } -importlib_util_toplevel_consts_20_names = { +importlib_util_toplevel_consts_16_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { - & const_str_sys._ascii.ob_base, - &_Py_ID(modules), - &_Py_ID(get), - & const_str_type._ascii.ob_base, - & const_str___initializing__._ascii.ob_base, - & const_str_Exception._ascii.ob_base, - & const_str_KeyError._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_50_consts_0._ascii.ob_base, + &_Py_STR(dot), + & importlib_util_toplevel_consts_16_consts_2._ascii.ob_base, + & importlib_util_toplevel_consts_16_consts_3._ascii.ob_base, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], + Py_None, + }, + }, +}; +static + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[4]; + }_object; + } +importlib_util_toplevel_consts_16_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 4, + }, + .ob_item = { + & const_str_startswith._ascii.ob_base, + & const_str_ImportError._ascii.ob_base, + & const_str_repr._ascii.ob_base, + & const_str__resolve_name._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[16]; + uint8_t _data[13]; } -const_str__module_to_load = { +const_str_resolve_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 15, + .length = 12, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "_module_to_load", + ._data = "resolve_name", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[228]; + char ob_sval[125]; } -importlib_util_toplevel_consts_20_linetable = { +importlib_util_toplevel_consts_16_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 227, + .ob_size = 124, }, .ob_shash = -1, - .ob_sval = "\xe8\x00\xe8\x00\x80\x00\xe0\x10\x14\x9d\x03\x9c\x0b\xd0\x10\x23\x80\x49\xe5\x0d\x10\x8c\x5b\x8f\x5f\x8a\x5f\x98\x54\xd1\x0d\x22\xd4\x0d\x22\x80\x46\xd8\x0b\x14\xf0\x00\x08\x05\x23\xf0\x08\x00\x12\x1b\x95\x14\x95\x63\x91\x19\x94\x19\x98\x34\x91\x1f\x94\x1f\x88\x06\xf0\x06\x00\x23\x27\x88\x06\xd4\x08\x1f\xd8\x1c\x22\x8d\x03\x8c\x0b\x90\x44\xd1\x08\x19\xf0\x02\x09\x05\x28\xd8\x0e\x14\x88\x0c\x88\x0c\x88\x0c\x88\x0c\xf8\xdd\x0b\x14\xf0\x00\x05\x05\x15\xf0\x00\x05\x05\x15\xf0\x00\x05\x05\x15\xd8\x0f\x18\xf0\x00\x04\x09\x15\xf0\x02\x03\x0d\x15\xdd\x14\x17\x94\x4b\xa0\x04\xd0\x14\x25\xd0\x14\x25\xf8\xdd\x13\x1b\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xd8\x10\x14\x90\x04\xf0\x03\x01\x0d\x15\xf8\xf8\xf8\xf8\xf8\xf0\x09\x05\x05\x15\xf8\xf8\xf8\xf0\x0e\x00\x23\x28\x88\x06\xd4\x08\x1f\xd0\x08\x1f\xd0\x08\x1f\xf8\xa0\x25\x88\x06\xd4\x08\x1f\xd0\x08\x27\xd0\x08\x27\xd0\x08\x27\xd0\x08\x27", + .ob_sval = "\x80\x00\xe0\x0b\x0f\x8f\x3f\x89\x3f\x98\x33\xd4\x0b\x1f\xd8\x0f\x13\x88\x0b\xd9\x0d\x14\xdc\x0e\x19\xd0\x1c\x35\xb4\x64\xb8\x34\xb3\x6a\xb0\x5c\xf0\x00\x01\x42\x01\x41\x01\xf0\x00\x01\x1b\x41\x01\xf3\x00\x01\x0f\x42\x01\xf0\x00\x01\x09\x42\x01\xe0\x0c\x0d\x80\x45\xd8\x15\x19\xf2\x00\x03\x05\x13\x88\x09\xd8\x0b\x14\x98\x03\xd2\x0b\x1b\xd9\x0c\x11\xd8\x08\x0d\x90\x11\x89\x0a\x89\x05\xf0\x07\x03\x05\x13\xf4\x08\x00\x0c\x19\x98\x14\x98\x65\x98\x66\x98\x1c\xa0\x77\xb0\x05\xd3\x0b\x36\xd0\x04\x36", }; static struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[79]; + PyASCIIObject _ascii; + uint8_t _data[10]; } -importlib_util_toplevel_consts_20_exceptiontable = { - .ob_base = { +const_str_character = { + ._ascii = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 9, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 78, }, - .ob_shash = -1, - .ob_sval = "\xc1\x26\x04\x41\x2b\x00\xc1\x2a\x01\x42\x25\x00\xc1\x2b\x0c\x42\x19\x03\xc1\x38\x0d\x42\x06\x02\xc2\x05\x01\x42\x19\x03\xc2\x06\x0a\x42\x13\x05\xc2\x10\x02\x42\x19\x03\xc2\x12\x01\x42\x13\x05\xc2\x13\x03\x42\x19\x03\xc2\x16\x02\x42\x25\x00\xc2\x18\x01\x42\x19\x03\xc2\x19\x03\x42\x25\x00\xc2\x25\x09\x42\x2e\x03", + ._data = "character", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[4]; }_object; } -importlib_util_toplevel_consts_20_localsplusnames = { +importlib_util_toplevel_consts_16_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 4, }, .ob_item = { &_Py_ID(name), - & const_str_is_reload._ascii.ob_base, - & const_str_module._ascii.ob_base, + & const_str_package._ascii.ob_base, + &_Py_ID(level), + & const_str_character._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(354) -importlib_util_toplevel_consts_20 = { + struct _PyCode_DEF(166) +importlib_util_toplevel_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 177, + .ob_size = 83, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_3_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_20_names._object.ob_base.ob_base, - .co_exceptiontable = & importlib_util_toplevel_consts_20_exceptiontable.ob_base.ob_base, - .co_flags = 35, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, + .co_consts = & importlib_util_toplevel_consts_16_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_16_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 118, - .co_nlocalsplus = 3, - .co_nlocals = 3, - .co_nplaincellvars = 0, + .co_framesize = 10 + FRAME_SPECIALS_SIZE, + .co_stacksize = 6, + .co_firstlineno = 24, + .co_nlocalsplus = 4, + .co_nlocals = 4, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str__module_to_load._ascii.ob_base, - .co_qualname = & const_str__module_to_load._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x4b\x00\x01\x00\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x7d\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x01\x73\x33\x02\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x64\x01\x7c\x02\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x3c\x00\x00\x00\x09\x00\x7c\x02\x56\x00\x97\x01\x01\x00\x6e\x31\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x24\x01\x00\x7c\x01\x73\x1f\x09\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x3d\x00\x6e\x10\x23\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x64\x02\x7c\x02\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00\x23\x00\x64\x02\x7c\x02\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x03\x59\x00\x77\x01", - ._co_firsttraceable = 2, + .co_version = 718, + .co_localsplusnames = & importlib_util_toplevel_consts_16_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, + .co_name = & const_str_resolve_name._ascii.ob_base, + .co_qualname = & const_str_resolve_name._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_16_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x73\x02\x7c\x00\x53\x00\x7c\x01\x73\x18\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x03\x9d\x03\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x64\x04\x7d\x02\x7c\x00\x44\x00\x5d\x0e\x00\x00\x7d\x03\x7c\x03\x64\x01\x6b\x37\x00\x00\x72\x02\x01\x00\x6e\x07\x7c\x02\x64\x05\x7a\x0d\x00\x00\x7d\x02\x8c\x10\x04\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\x64\x06\x1a\x00\x7c\x01\x7c\x02\xab\x03\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[80]; + uint8_t _data[648]; } -importlib_util_toplevel_consts_21_consts_0 = { +importlib_util_toplevel_consts_17_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 79, + .length = 647, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x53\x65\x74\x20\x5f\x5f\x70\x61\x63\x6b\x61\x67\x65\x5f\x5f\x20\x6f\x6e\x20\x74\x68\x65\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x64\x65\x70\x72\x65\x63\x61\x74\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20", + ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x73\x70\x65\x63\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x0a\x0a\x20\x20\x20\x20\x46\x69\x72\x73\x74\x2c\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x20\x69\x73\x20\x63\x68\x65\x63\x6b\x65\x64\x20\x74\x6f\x20\x73\x65\x65\x20\x69\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x77\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x2e\x20\x49\x66\x0a\x20\x20\x20\x20\x73\x6f\x2c\x20\x74\x68\x65\x6e\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x5b\x6e\x61\x6d\x65\x5d\x2e\x5f\x5f\x73\x70\x65\x63\x5f\x5f\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x2e\x20\x49\x66\x20\x74\x68\x61\x74\x20\x68\x61\x70\x70\x65\x6e\x73\x20\x74\x6f\x20\x62\x65\x0a\x20\x20\x20\x20\x73\x65\x74\x20\x74\x6f\x20\x4e\x6f\x6e\x65\x2c\x20\x74\x68\x65\x6e\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x20\x69\x73\x20\x72\x61\x69\x73\x65\x64\x2e\x20\x49\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x0a\x20\x20\x20\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x2c\x20\x74\x68\x65\x6e\x20\x73\x79\x73\x2e\x6d\x65\x74\x61\x5f\x70\x61\x74\x68\x20\x69\x73\x20\x73\x65\x61\x72\x63\x68\x65\x64\x20\x66\x6f\x72\x20\x61\x20\x73\x75\x69\x74\x61\x62\x6c\x65\x20\x73\x70\x65\x63\x20\x77\x69\x74\x68\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x27\x70\x61\x74\x68\x27\x20\x67\x69\x76\x65\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x66\x69\x6e\x64\x65\x72\x73\x2e\x20\x4e\x6f\x6e\x65\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x69\x66\x20\x6e\x6f\x20\x73\x70\x65\x63\x20\x63\x6f\x75\x6c\x64\x0a\x20\x20\x20\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x0a\x20\x20\x20\x20\x44\x6f\x74\x74\x65\x64\x20\x6e\x61\x6d\x65\x73\x20\x64\x6f\x20\x6e\x6f\x74\x20\x68\x61\x76\x65\x20\x74\x68\x65\x69\x72\x20\x70\x61\x72\x65\x6e\x74\x20\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x69\x6d\x70\x6c\x69\x63\x69\x74\x6c\x79\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x2e\x20\x59\x6f\x75\x20\x77\x69\x6c\x6c\x0a\x20\x20\x20\x20\x6d\x6f\x73\x74\x20\x6c\x69\x6b\x65\x6c\x79\x20\x6e\x65\x65\x64\x20\x74\x6f\x20\x65\x78\x70\x6c\x69\x63\x69\x74\x6c\x79\x20\x69\x6d\x70\x6f\x72\x74\x20\x61\x6c\x6c\x20\x70\x61\x72\x65\x6e\x74\x20\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x69\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x70\x65\x72\x0a\x20\x20\x20\x20\x6f\x72\x64\x65\x72\x20\x66\x6f\x72\x20\x61\x20\x73\x75\x62\x6d\x6f\x64\x75\x6c\x65\x20\x74\x6f\x20\x67\x65\x74\x20\x74\x68\x65\x20\x63\x6f\x72\x72\x65\x63\x74\x20\x73\x70\x65\x63\x2e\x0a\x0a\x20\x20\x20\x20", }; static struct { PyASCIIObject _ascii; - uint8_t _data[108]; + uint8_t _data[18]; } -importlib_util_toplevel_consts_21_consts_1_consts_1 = { +importlib_util_toplevel_consts_17_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 107, + .length = 17, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = ".__spec__ is None", +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[21]; + } +importlib_util_toplevel_consts_17_consts_3 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 20, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "The import system now takes care of this automatically; this decorator is slated for removal in Python 3.12", + ._data = ".__spec__ is not set", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[8]; + PyObject *ob_item[4]; }_object; } -importlib_util_toplevel_consts_21_consts_1_consts = { +importlib_util_toplevel_consts_17_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 8, + .ob_size = 4, }, .ob_item = { + & importlib_util_toplevel_consts_17_consts_0._ascii.ob_base, Py_None, - & importlib_util_toplevel_consts_21_consts_1_consts_1._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - & importlib__bootstrap_toplevel_consts_55_consts_8._object.ob_base.ob_base, - &_Py_ID(__package__), - &_Py_ID(__path__), - &_Py_STR(dot), - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & importlib_util_toplevel_consts_17_consts_2._ascii.ob_base, + & importlib_util_toplevel_consts_17_consts_3._ascii.ob_base, }, }, }; @@ -139303,90 +134906,83 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[8]; + PyObject *ob_item[6]; }_object; } -importlib_util_toplevel_consts_21_consts_1_names = { +importlib_util_toplevel_consts_17_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 8, + .ob_size = 6, }, .ob_item = { - &_Py_ID(warnings), - & const_str_warn._ascii.ob_base, - & const_str_DeprecationWarning._ascii.ob_base, - &_Py_ID(getattr), - &_Py_ID(__name__), - &_Py_ID(__package__), - & const_str_hasattr._ascii.ob_base, - & const_str_rpartition._ascii.ob_base, + & const_str_sys._ascii.ob_base, + &_Py_ID(modules), + & const_str__find_spec._ascii.ob_base, + &_Py_ID(__spec__), + & const_str_ValueError._ascii.ob_base, + & const_str_AttributeError._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[20]; + uint8_t _data[21]; } -const_str_set_package_wrapper = { +const_str__find_spec_from_path = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 19, + .length = 20, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "set_package_wrapper", + ._data = "_find_spec_from_path", }; static struct { - PyASCIIObject _ascii; - uint8_t _data[41]; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[137]; } -importlib_util_toplevel_consts_21_consts_1_qualname = { - ._ascii = { +importlib_util_toplevel_consts_17_linetable = { + .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 40, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, + .ob_size = 136, }, - ._data = "set_package..set_package_wrapper", + .ob_shash = -1, + .ob_sval = "\x80\x00\xf0\x1e\x00\x08\x0c\x94\x33\x97\x3b\x91\x3b\xd1\x07\x1e\xdc\x0f\x19\x98\x24\xa0\x04\xd3\x0f\x25\xd0\x08\x25\xe4\x11\x14\x97\x1b\x91\x1b\x98\x54\xd1\x11\x22\x88\x06\xd8\x0b\x11\x88\x3e\xd8\x13\x17\xf0\x02\x07\x09\x18\xd8\x13\x19\x97\x3f\x91\x3f\x88\x44\xf0\x08\x00\x10\x14\x88\x7c\xdc\x16\x20\xa0\x44\xa0\x36\xd0\x29\x3a\xd0\x21\x3b\xd3\x16\x3c\xd0\x10\x3c\xd8\x13\x17\x88\x4b\xf8\xf4\x0b\x00\x10\x1e\xf2\x00\x01\x09\x46\x01\xdc\x12\x1c\xa0\x04\x98\x76\xd0\x25\x39\xd0\x1d\x3a\xd3\x12\x3b\xc0\x14\xd0\x0c\x45\xf0\x03\x01\x09\x46\x01\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[144]; + char ob_sval[12]; } -importlib_util_toplevel_consts_21_consts_1_linetable = { +importlib_util_toplevel_consts_17_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 143, + .ob_size = 11, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xe5\x08\x10\x8c\x0d\xf0\x00\x01\x17\x4c\x01\xe5\x16\x28\xb0\x51\xf0\x05\x02\x09\x38\xf1\x00\x02\x09\x38\xf4\x00\x02\x09\x38\xf0\x00\x02\x09\x38\xf0\x06\x00\x12\x15\x90\x13\x90\x64\xd0\x11\x25\x98\x66\xd0\x11\x25\xd0\x11\x25\x88\x06\xdd\x0b\x12\x90\x36\x98\x3d\xa8\x24\xd1\x0b\x2f\xd4\x0b\x2f\xd0\x0b\x37\xd8\x21\x27\xa4\x1f\x88\x46\xd4\x0c\x1e\xdd\x13\x1a\x98\x36\xa0\x3a\xd1\x13\x2e\xd4\x13\x2e\xf0\x00\x01\x0d\x4b\x01\xd8\x25\x2b\xd4\x25\x37\xd7\x25\x42\xd2\x25\x42\xc0\x33\xd1\x25\x47\xd4\x25\x47\xc8\x01\xd4\x25\x4a\x90\x06\xd4\x10\x22\xd8\x0f\x15\x88\x0d", + .ob_sval = "\xb6\x0c\x41\x14\x00\xc1\x14\x19\x41\x2d\x03", }; static struct { @@ -139396,446 +134992,397 @@ static PyObject *ob_item[4]; }_object; } -importlib_util_toplevel_consts_21_consts_1_localsplusnames = { +importlib_util_toplevel_consts_17_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_args._ascii.ob_base, - & const_str_kwargs._ascii.ob_base, - & const_str_module._ascii.ob_base, - & const_str_fxn._ascii.ob_base, + &_Py_ID(name), + &_Py_ID(path), + &_Py_ID(module), + & const_str_spec._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(244) -importlib_util_toplevel_consts_21_consts_1 = { + struct _PyCode_DEF(224) +importlib_util_toplevel_consts_17 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 122, + .ob_size = 112, }, - .co_consts = & importlib_util_toplevel_consts_21_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_21_consts_1_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 31, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 0, + .co_consts = & importlib_util_toplevel_consts_17_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_17_names._object.ob_base.ob_base, + .co_exceptiontable = & importlib_util_toplevel_consts_17_exceptiontable.ob_base.ob_base, + .co_flags = 3, + .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 9 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, - .co_firstlineno = 150, + .co_firstlineno = 39, .co_nlocalsplus = 4, - .co_nlocals = 3, - .co_nplaincellvars = 0, + .co_nlocals = 4, .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & importlib_util_toplevel_consts_21_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & ntpath_toplevel_consts_45_consts_10_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str_set_package_wrapper._ascii.ob_base, - .co_qualname = & importlib_util_toplevel_consts_21_consts_1_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_21_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xac\x03\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x89\x03\x7c\x00\x69\x00\x7c\x01\xa4\x01\x8e\x01\x7d\x02\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x04\x64\x00\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x80\x41\x7c\x02\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x05\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x25\x7c\x02\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x53\x00", - ._co_firsttraceable = 1, + .co_nfreevars = 0, + .co_version = 719, + .co_localsplusnames = & importlib_util_toplevel_consts_17_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, + .co_name = & const_str__find_spec_from_path._ascii.ob_base, + .co_qualname = & const_str__find_spec_from_path._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_17_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x0c\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x19\x00\x00\x00\x7d\x02\x7c\x02\x80\x01\x79\x01\x09\x00\x7c\x02\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x03\x80\x0e\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x9b\x00\x64\x02\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x03\x53\x00\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x10\x01\x00\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x9b\x00\x64\x03\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x64\x01\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 0, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[688]; + } +importlib_util_toplevel_consts_18_consts_0 = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 687, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "\x52\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x73\x70\x65\x63\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x0a\x0a\x20\x20\x20\x20\x46\x69\x72\x73\x74\x2c\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x20\x69\x73\x20\x63\x68\x65\x63\x6b\x65\x64\x20\x74\x6f\x20\x73\x65\x65\x20\x69\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x77\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x2e\x20\x49\x66\x0a\x20\x20\x20\x20\x73\x6f\x2c\x20\x74\x68\x65\x6e\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x5b\x6e\x61\x6d\x65\x5d\x2e\x5f\x5f\x73\x70\x65\x63\x5f\x5f\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x2e\x20\x49\x66\x20\x74\x68\x61\x74\x20\x68\x61\x70\x70\x65\x6e\x73\x20\x74\x6f\x20\x62\x65\x0a\x20\x20\x20\x20\x73\x65\x74\x20\x74\x6f\x20\x4e\x6f\x6e\x65\x2c\x20\x74\x68\x65\x6e\x20\x56\x61\x6c\x75\x65\x45\x72\x72\x6f\x72\x20\x69\x73\x20\x72\x61\x69\x73\x65\x64\x2e\x20\x49\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x0a\x20\x20\x20\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x2c\x20\x74\x68\x65\x6e\x20\x73\x79\x73\x2e\x6d\x65\x74\x61\x5f\x70\x61\x74\x68\x20\x69\x73\x20\x73\x65\x61\x72\x63\x68\x65\x64\x20\x66\x6f\x72\x20\x61\x20\x73\x75\x69\x74\x61\x62\x6c\x65\x20\x73\x70\x65\x63\x20\x77\x69\x74\x68\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x27\x70\x61\x74\x68\x27\x20\x67\x69\x76\x65\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x66\x69\x6e\x64\x65\x72\x73\x2e\x20\x4e\x6f\x6e\x65\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x69\x66\x20\x6e\x6f\x20\x73\x70\x65\x63\x20\x63\x6f\x75\x6c\x64\x0a\x20\x20\x20\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x20\x69\x73\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\x6f\x64\x75\x6c\x65\x20\x28\x63\x6f\x6e\x74\x61\x69\x6e\x73\x20\x61\x20\x64\x6f\x74\x29\x2c\x20\x74\x68\x65\x20\x70\x61\x72\x65\x6e\x74\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x0a\x20\x20\x20\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x6e\x61\x6d\x65\x20\x61\x6e\x64\x20\x70\x61\x63\x6b\x61\x67\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x20\x77\x6f\x72\x6b\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x61\x73\x20\x69\x6d\x70\x6f\x72\x74\x6c\x69\x62\x2e\x69\x6d\x70\x6f\x72\x74\x5f\x6d\x6f\x64\x75\x6c\x65\x28\x29\x2e\x0a\x20\x20\x20\x20\x49\x6e\x20\x6f\x74\x68\x65\x72\x20\x77\x6f\x72\x64\x73\x2c\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6e\x61\x6d\x65\x73\x20\x28\x77\x69\x74\x68\x20\x6c\x65\x61\x64\x69\x6e\x67\x20\x64\x6f\x74\x73\x29\x20\x77\x6f\x72\x6b\x2e\x0a\x0a\x20\x20\x20\x20", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[1]; }_object; } -importlib_util_toplevel_consts_21_consts = { +importlib_util_toplevel_consts_18_consts_4 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 1, }, .ob_item = { - & importlib_util_toplevel_consts_21_consts_0._ascii.ob_base, - & importlib_util_toplevel_consts_21_consts_1.ob_base.ob_base, + &_Py_ID(fromlist), }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[10]; + uint8_t _data[33]; } -const_str_functools = { +importlib_util_toplevel_consts_18_consts_5 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 9, + .length = 32, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "functools", + ._data = "__path__ attribute not found on ", }; static struct { PyASCIIObject _ascii; - uint8_t _data[6]; + uint8_t _data[23]; } -const_str_wraps = { +importlib_util_toplevel_consts_18_consts_6 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 5, + .length = 22, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "wraps", + ._data = " while trying to find ", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[11]; }_object; } -importlib_util_toplevel_consts_21_names = { +importlib_util_toplevel_consts_18_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 11, }, .ob_item = { - & const_str_functools._ascii.ob_base, - & const_str_wraps._ascii.ob_base, + & importlib_util_toplevel_consts_18_consts_0._ascii.ob_base, + &_Py_STR(dot), + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + &_Py_ID(__path__), + & importlib_util_toplevel_consts_18_consts_4._object.ob_base.ob_base, + & importlib_util_toplevel_consts_18_consts_5._ascii.ob_base, + & importlib_util_toplevel_consts_18_consts_6._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_4_localsplusnames._object.ob_base.ob_base, + Py_None, + & importlib_util_toplevel_consts_17_consts_2._ascii.ob_base, + & importlib_util_toplevel_consts_17_consts_3._ascii.ob_base, }, }, }; static struct { - PyASCIIObject _ascii; - uint8_t _data[12]; + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[12]; + }_object; } -const_str_set_package = { - ._ascii = { +importlib_util_toplevel_consts_18_names = { + ._object = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 12, }, - .length = 11, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + .ob_item = { + & const_str_startswith._ascii.ob_base, + & const_str_resolve_name._ascii.ob_base, + & const_str_sys._ascii.ob_base, + &_Py_ID(modules), + & const_str_rpartition._ascii.ob_base, + &_Py_ID(__import__), + &_Py_ID(__path__), + & const_str_AttributeError._ascii.ob_base, + & const_str_ModuleNotFoundError._ascii.ob_base, + & const_str__find_spec._ascii.ob_base, + &_Py_ID(__spec__), + & const_str_ValueError._ascii.ob_base, }, }, - ._data = "set_package", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[60]; + char ob_sval[285]; } -importlib_util_toplevel_consts_21_linetable = { +importlib_util_toplevel_consts_18_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 59, + .ob_size = 284, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf5\x0c\x00\x06\x0f\x84\x5f\x90\x53\xd1\x05\x19\xd4\x05\x19\xf0\x02\x09\x05\x16\xf0\x00\x09\x05\x16\xf0\x00\x09\x05\x16\xf0\x00\x09\x05\x16\xf1\x03\x00\x06\x1a\xd4\x05\x19\xf0\x02\x09\x05\x16\xf0\x14\x00\x0c\x1f\xd0\x04\x1e", + .ob_sval = "\x80\x00\xf0\x22\x00\x2f\x33\xaf\x6f\xa9\x6f\xb8\x63\xd4\x2e\x42\x8c\x7c\x98\x44\xa0\x27\xd4\x0f\x2a\xc8\x04\x80\x48\xd8\x07\x0f\x94\x73\x97\x7b\x91\x7b\xd1\x07\x22\xd8\x16\x1e\xd7\x16\x29\xd1\x16\x29\xa8\x23\xd3\x16\x2e\xa8\x71\xd1\x16\x31\x88\x0b\xd9\x0b\x16\xdc\x15\x1f\xa0\x0b\xb0\x7a\xb0\x6c\xd4\x15\x43\x88\x46\xf0\x02\x05\x0d\x50\x01\xd8\x1e\x24\x9f\x6f\x99\x6f\x91\x0b\xf0\x0c\x00\x1b\x1f\x88\x4b\xdc\x0f\x19\x98\x28\xa0\x4b\xd3\x0f\x30\xd0\x08\x30\xe4\x11\x14\x97\x1b\x91\x1b\x98\x58\xd1\x11\x26\x88\x06\xd8\x0b\x11\x88\x3e\xd8\x13\x17\xf0\x02\x07\x09\x18\xd8\x13\x19\x97\x3f\x91\x3f\x88\x44\xf0\x08\x00\x10\x14\x88\x7c\xdc\x16\x20\xa0\x44\xa0\x36\xd0\x29\x3a\xd0\x21\x3b\xd3\x16\x3c\xd0\x10\x3c\xd8\x13\x17\x88\x4b\xf8\xf4\x25\x00\x14\x22\xf2\x00\x03\x0d\x50\x01\xdc\x16\x29\xd8\x16\x36\xb0\x7b\xb0\x6f\xf0\x00\x01\x46\x01\x2c\xd8\x2c\x34\xa8\x3c\xf0\x03\x01\x15\x39\xd8\x3f\x47\xf4\x05\x02\x17\x49\x01\xe0\x4e\x4f\xf0\x05\x02\x11\x50\x01\xfb\xf0\x03\x03\x0d\x50\x01\xfb\xf4\x1a\x00\x10\x1e\xf2\x00\x01\x09\x46\x01\xdc\x12\x1c\xa0\x04\x98\x76\xd0\x25\x39\xd0\x1d\x3a\xd3\x12\x3b\xc0\x14\xd0\x0c\x45\xf0\x03\x01\x09\x46\x01\xfa", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[2]; - }_object; + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[37]; } -importlib_util_toplevel_consts_21_localsplusnames = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 2, - }, - .ob_item = { - & const_str_fxn._ascii.ob_base, - & const_str_set_package_wrapper._ascii.ob_base, - }, - }, -}; -static - struct _PyCode_DEF(70) -importlib_util_toplevel_consts_21 = { +importlib_util_toplevel_consts_18_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, }, - .ob_size = 35, + .ob_size = 36, }, - .co_consts = & importlib_util_toplevel_consts_21_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_21_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 3, - .co_firstlineno = 144, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 1, - .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_21_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str_set_package._ascii.ob_base, - .co_qualname = & const_str_set_package._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_21_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x01\x84\x08\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x53\x00", - ._co_firsttraceable = 1, + .ob_shash = -1, + .ob_sval = "\xc1\x17\x0c\x42\x27\x00\xc2\x09\x0c\x43\x0c\x00\xc2\x27\x09\x43\x09\x03\xc2\x30\x14\x43\x04\x03\xc3\x04\x05\x43\x09\x03\xc3\x0c\x19\x43\x25\x03", }; static struct { PyASCIIObject _ascii; - uint8_t _data[79]; + uint8_t _data[12]; } -importlib_util_toplevel_consts_22_consts_0 = { +const_str_parent_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 78, + .length = 11, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x53\x65\x74\x20\x5f\x5f\x6c\x6f\x61\x64\x65\x72\x5f\x5f\x20\x6f\x6e\x20\x74\x68\x65\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x64\x65\x70\x72\x65\x63\x61\x74\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20", + ._data = "parent_name", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[5]; + PyObject *ob_item[9]; }_object; } -importlib_util_toplevel_consts_22_consts_1_consts = { +importlib_util_toplevel_consts_18_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 5, + .ob_size = 9, }, .ob_item = { - Py_None, - & importlib_util_toplevel_consts_21_consts_1_consts_1._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - & importlib__bootstrap_toplevel_consts_55_consts_8._object.ob_base.ob_base, - &_Py_ID(__loader__), + &_Py_ID(name), + & const_str_package._ascii.ob_base, + & const_str_fullname._ascii.ob_base, + & const_str_parent_name._ascii.ob_base, + &_Py_ID(parent), + & const_str_parent_path._ascii.ob_base, + &_Py_ID(e), + &_Py_ID(module), + & const_str_spec._ascii.ob_base, }, }, }; static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[5]; - }_object; - } -importlib_util_toplevel_consts_22_consts_1_names = { - ._object = { + struct _PyCode_DEF(464) +importlib_util_toplevel_consts_18 = { + .ob_base = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 5, - }, - .ob_item = { - &_Py_ID(warnings), - & const_str_warn._ascii.ob_base, - & const_str_DeprecationWarning._ascii.ob_base, - &_Py_ID(getattr), - &_Py_ID(__loader__), + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 232, }, + .co_consts = & importlib_util_toplevel_consts_18_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_18_names._object.ob_base.ob_base, + .co_exceptiontable = & importlib_util_toplevel_consts_18_exceptiontable.ob_base.ob_base, + .co_flags = 3, + .co_argcount = 2, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 16 + FRAME_SPECIALS_SIZE, + .co_stacksize = 7, + .co_firstlineno = 70, + .co_nlocalsplus = 9, + .co_nlocals = 9, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 720, + .co_localsplusnames = & importlib_util_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_61_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, + .co_name = & const_str_find_spec._ascii.ob_base, + .co_qualname = & const_str_find_spec._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_18_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x72\x0c\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x6e\x01\x7c\x00\x7d\x02\x7c\x02\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x40\x7c\x02\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x7d\x03\x7c\x03\x72\x1c\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x64\x03\x67\x01\xac\x04\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x04\x09\x00\x7c\x04\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x6e\x02\x64\x08\x7d\x05\x74\x13\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x05\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x19\x00\x00\x00\x7d\x07\x7c\x07\x80\x01\x79\x08\x09\x00\x7c\x07\x6a\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x08\x80\x0e\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x9b\x00\x64\x09\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x08\x53\x00\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x19\x7d\x06\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x7c\x03\x9b\x02\x64\x06\x7c\x02\x9b\x02\x9d\x04\x7c\x02\xac\x07\xab\x02\x00\x00\x00\x00\x00\x00\x7c\x06\x82\x02\x64\x08\x7d\x06\x7e\x06\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x10\x01\x00\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x9b\x00\x64\x0a\x9d\x02\xab\x01\x00\x00\x00\x00\x00\x00\x64\x08\x82\x02\x77\x00\x78\x03\x59\x00\x77\x01", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[19]; + uint8_t _data[44]; } -const_str_set_loader_wrapper = { +const_str__incompatible_extension_module_restrictions = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 18, + .length = 43, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "set_loader_wrapper", + ._data = "_incompatible_extension_module_restrictions", }; static struct { PyASCIIObject _ascii; - uint8_t _data[39]; + uint8_t _data[1384]; } -importlib_util_toplevel_consts_22_consts_1_qualname = { +importlib_util_toplevel_consts_19_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 38, + .length = 1383, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, - }, - }, - ._data = "set_loader..set_loader_wrapper", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[104]; - } -importlib_util_toplevel_consts_22_consts_1_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .statically_allocated = 1, }, - .ob_size = 103, }, - .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xe5\x08\x10\x8c\x0d\xf0\x00\x01\x17\x4c\x01\xe5\x16\x28\xb0\x51\xf0\x05\x02\x09\x38\xf1\x00\x02\x09\x38\xf4\x00\x02\x09\x38\xf0\x00\x02\x09\x38\xf0\x06\x00\x12\x15\x90\x13\x90\x54\xd0\x11\x2b\x98\x44\xd0\x11\x2b\xd0\x11\x2b\xd0\x11\x2b\xa0\x46\xd0\x11\x2b\xd0\x11\x2b\x88\x06\xdd\x0b\x12\x90\x36\x98\x3c\xa8\x14\xd1\x0b\x2e\xd4\x0b\x2e\xd0\x0b\x36\xd8\x20\x24\x88\x46\xd4\x0c\x1d\xd8\x0f\x15\x88\x0d", + ._data = "\x41\x20\x63\x6f\x6e\x74\x65\x78\x74\x20\x6d\x61\x6e\x61\x67\x65\x72\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x74\x65\x6d\x70\x6f\x72\x61\x72\x69\x6c\x79\x20\x73\x6b\x69\x70\x20\x74\x68\x65\x20\x63\x6f\x6d\x70\x61\x74\x69\x62\x69\x6c\x69\x74\x79\x20\x63\x68\x65\x63\x6b\x2e\x0a\x0a\x20\x20\x20\x20\x4e\x4f\x54\x45\x3a\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x6d\x65\x61\x6e\x74\x20\x74\x6f\x20\x61\x63\x63\x6f\x6d\x6d\x6f\x64\x61\x74\x65\x20\x61\x6e\x20\x75\x6e\x75\x73\x75\x61\x6c\x20\x63\x61\x73\x65\x3b\x20\x6f\x6e\x65\x0a\x20\x20\x20\x20\x77\x68\x69\x63\x68\x20\x69\x73\x20\x6c\x69\x6b\x65\x6c\x79\x20\x74\x6f\x20\x65\x76\x65\x6e\x74\x75\x61\x6c\x6c\x79\x20\x67\x6f\x20\x61\x77\x61\x79\x2e\x20\x20\x54\x68\x65\x72\x65\x27\x73\x20\x69\x73\x20\x61\x20\x70\x72\x65\x74\x74\x79\x20\x67\x6f\x6f\x64\x0a\x20\x20\x20\x20\x63\x68\x61\x6e\x63\x65\x20\x74\x68\x69\x73\x20\x69\x73\x20\x6e\x6f\x74\x20\x77\x68\x61\x74\x20\x79\x6f\x75\x20\x77\x65\x72\x65\x20\x6c\x6f\x6f\x6b\x69\x6e\x67\x20\x66\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20\x57\x41\x52\x4e\x49\x4e\x47\x3a\x20\x55\x73\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x64\x69\x73\x61\x62\x6c\x65\x20\x74\x68\x65\x20\x63\x68\x65\x63\x6b\x20\x63\x61\x6e\x20\x6c\x65\x61\x64\x20\x74\x6f\x0a\x20\x20\x20\x20\x75\x6e\x65\x78\x70\x65\x63\x74\x65\x64\x20\x62\x65\x68\x61\x76\x69\x6f\x72\x20\x61\x6e\x64\x20\x65\x76\x65\x6e\x20\x63\x72\x61\x73\x68\x65\x73\x2e\x20\x20\x49\x74\x20\x73\x68\x6f\x75\x6c\x64\x20\x6f\x6e\x6c\x79\x20\x62\x65\x20\x75\x73\x65\x64\x20\x64\x75\x72\x69\x6e\x67\x0a\x20\x20\x20\x20\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x20\x6d\x6f\x64\x75\x6c\x65\x20\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x22\x64\x69\x73\x61\x62\x6c\x65\x5f\x63\x68\x65\x63\x6b\x22\x20\x69\x73\x20\x54\x72\x75\x65\x20\x74\x68\x65\x6e\x20\x74\x68\x65\x20\x63\x6f\x6d\x70\x61\x74\x69\x62\x69\x6c\x69\x74\x79\x20\x63\x68\x65\x63\x6b\x20\x77\x69\x6c\x6c\x20\x6e\x6f\x74\x0a\x20\x20\x20\x20\x68\x61\x70\x70\x65\x6e\x20\x77\x68\x69\x6c\x65\x20\x74\x68\x65\x20\x63\x6f\x6e\x74\x65\x78\x74\x20\x6d\x61\x6e\x61\x67\x65\x72\x20\x69\x73\x20\x61\x63\x74\x69\x76\x65\x2e\x20\x20\x4f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x74\x68\x65\x20\x63\x68\x65\x63\x6b\x0a\x20\x20\x20\x20\x2a\x77\x69\x6c\x6c\x2a\x20\x68\x61\x70\x70\x65\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x4e\x6f\x72\x6d\x61\x6c\x6c\x79\x2c\x20\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x73\x20\x74\x68\x61\x74\x20\x64\x6f\x20\x6e\x6f\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x6d\x75\x6c\x74\x69\x70\x6c\x65\x20\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x65\x72\x73\x0a\x20\x20\x20\x20\x6d\x61\x79\x20\x6e\x6f\x74\x20\x62\x65\x20\x69\x6d\x70\x6f\x72\x74\x65\x64\x20\x69\x6e\x20\x61\x20\x73\x75\x62\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x65\x72\x2e\x20\x20\x54\x68\x61\x74\x20\x69\x6d\x70\x6c\x69\x65\x73\x20\x6d\x6f\x64\x75\x6c\x65\x73\x0a\x20\x20\x20\x20\x74\x68\x61\x74\x20\x64\x6f\x20\x6e\x6f\x74\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x20\x6d\x75\x6c\x74\x69\x2d\x70\x68\x61\x73\x65\x20\x69\x6e\x69\x74\x20\x6f\x72\x20\x74\x68\x61\x74\x20\x65\x78\x70\x6c\x69\x63\x69\x74\x6c\x79\x20\x6f\x66\x20\x6f\x75\x74\x2e\x0a\x0a\x20\x20\x20\x20\x4c\x69\x6b\x65\x77\x69\x73\x65\x20\x66\x6f\x72\x20\x6d\x6f\x64\x75\x6c\x65\x73\x20\x69\x6d\x70\x6f\x72\x74\x20\x69\x6e\x20\x61\x20\x73\x75\x62\x69\x6e\x74\x65\x72\x70\x65\x74\x65\x72\x20\x77\x69\x74\x68\x20\x69\x74\x73\x20\x6f\x77\x6e\x20\x47\x49\x4c\x0a\x20\x20\x20\x20\x77\x68\x65\x6e\x20\x74\x68\x65\x20\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x61\x20\x70\x65\x72\x2d\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x65\x72\x20\x47\x49\x4c\x2e\x20\x20\x54\x68\x69\x73\x0a\x20\x20\x20\x20\x69\x6d\x70\x6c\x69\x65\x73\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x20\x68\x61\x76\x65\x20\x61\x20\x50\x79\x5f\x6d\x6f\x64\x5f\x6d\x75\x6c\x74\x69\x70\x6c\x65\x5f\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x65\x72\x73\x20\x73\x6c\x6f\x74\x0a\x20\x20\x20\x20\x73\x65\x74\x20\x74\x6f\x20\x50\x79\x5f\x4d\x4f\x44\x5f\x50\x45\x52\x5f\x49\x4e\x54\x45\x52\x50\x52\x45\x54\x45\x52\x5f\x47\x49\x4c\x5f\x53\x55\x50\x50\x4f\x52\x54\x45\x44\x2e\x0a\x0a\x20\x20\x20\x20\x49\x6e\x20\x62\x6f\x74\x68\x20\x63\x61\x73\x65\x73\x2c\x20\x74\x68\x69\x73\x20\x63\x6f\x6e\x74\x65\x78\x74\x20\x6d\x61\x6e\x61\x67\x65\x72\x20\x6d\x61\x79\x20\x62\x65\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x74\x65\x6d\x70\x6f\x72\x61\x72\x69\x6c\x79\x0a\x20\x20\x20\x20\x64\x69\x73\x61\x62\x6c\x65\x20\x74\x68\x65\x20\x63\x68\x65\x63\x6b\x20\x66\x6f\x72\x20\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x20\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x20\x6d\x6f\x64\x75\x6c\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20\x59\x6f\x75\x20\x63\x61\x6e\x20\x67\x65\x74\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x65\x66\x66\x65\x63\x74\x20\x61\x73\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x62\x79\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x69\x6e\x67\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x62\x61\x73\x69\x63\x20\x69\x6e\x74\x65\x72\x66\x61\x63\x65\x20\x6f\x66\x20\x6d\x75\x6c\x74\x69\x2d\x70\x68\x61\x73\x65\x20\x69\x6e\x69\x74\x20\x28\x50\x45\x50\x20\x34\x38\x39\x29\x20\x61\x6e\x64\x20\x6c\x79\x69\x6e\x67\x20\x61\x62\x6f\x75\x74\x0a\x20\x20\x20\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x66\x6f\x72\x20\x6d\x75\x6c\x69\x74\x70\x6c\x65\x20\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x65\x72\x73\x20\x28\x6f\x72\x20\x70\x65\x72\x2d\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x65\x72\x20\x47\x49\x4c\x29\x2e\x0a\x20\x20\x20\x20", }; static struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[5]; - }_object; + PyASCIIObject _ascii; + uint8_t _data[14]; } -importlib_util_toplevel_consts_22_consts_1_localsplusnames = { - ._object = { +const_str_disable_check = { + ._ascii = { .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 5, - }, - .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_args._ascii.ob_base, - & const_str_kwargs._ascii.ob_base, - & const_str_module._ascii.ob_base, - & const_str_fxn._ascii.ob_base, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, }, - }, -}; -static - struct _PyCode_DEF(136) -importlib_util_toplevel_consts_22_consts_1 = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyCode_Type, + .length = 13, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, }, - .ob_size = 68, }, - .co_consts = & importlib_util_toplevel_consts_22_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_22_consts_1_names._object.ob_base.ob_base, - .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 31, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, - .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 170, - .co_nlocalsplus = 5, - .co_nlocals = 4, - .co_nplaincellvars = 0, - .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & importlib_util_toplevel_consts_22_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_41_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str_set_loader_wrapper._ascii.ob_base, - .co_qualname = & importlib_util_toplevel_consts_22_consts_1_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_22_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xac\x03\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x89\x04\x7c\x00\x67\x01\x7c\x01\xa2\x01\x52\x00\x69\x00\x7c\x02\xa4\x01\x8e\x01\x7d\x03\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x64\x04\x64\x00\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x80\x07\x7c\x00\x7c\x03\x5f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x53\x00", - ._co_firsttraceable = 1, + ._data = "disable_check", }; static struct { @@ -139845,59 +135392,59 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_22_consts = { +importlib_util_toplevel_consts_19_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & importlib_util_toplevel_consts_22_consts_0._ascii.ob_base, - & importlib_util_toplevel_consts_22_consts_1.ob_base.ob_base, + & const_str_bool._ascii.ob_base, + & const_str_disable_check._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[11]; + uint8_t _data[53]; } -const_str_set_loader = { +importlib_util_toplevel_consts_19_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 10, + .length = 52, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "set_loader", + ._data = "_incompatible_extension_module_restrictions.__init__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[60]; + char ob_sval[16]; } -importlib_util_toplevel_consts_22_linetable = { +importlib_util_toplevel_consts_19_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 59, + .ob_size = 15, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf5\x0c\x00\x06\x0f\x84\x5f\x90\x53\xd1\x05\x19\xd4\x05\x19\xf0\x02\x07\x05\x16\xf0\x00\x07\x05\x16\xf0\x00\x07\x05\x16\xf0\x00\x07\x05\x16\xf1\x03\x00\x06\x1a\xd4\x05\x19\xf0\x02\x07\x05\x16\xf0\x10\x00\x0c\x1e\xd0\x04\x1d", + .ob_sval = "\x80\x00\xdc\x1d\x21\xa0\x2d\xd3\x1d\x30\x88\x04\xd5\x08\x1a", }; static struct { @@ -139907,163 +135454,210 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_22_localsplusnames = { +importlib_util_toplevel_consts_19_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_fxn._ascii.ob_base, - & const_str_set_loader_wrapper._ascii.ob_base, + &_Py_ID(self), + & const_str_disable_check._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(70) -importlib_util_toplevel_consts_22 = { + struct _PyCode_DEF(36) +importlib_util_toplevel_consts_19_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 35, + .ob_size = 18, }, - .co_consts = & importlib_util_toplevel_consts_22_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_21_names._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_19_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, - .co_kwonlyargcount = 0, + .co_kwonlyargcount = 1, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 164, + .co_firstlineno = 151, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 1, + .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_22_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str_set_loader._ascii.ob_base, - .co_qualname = & const_str_set_loader._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_22_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x01\x84\x08\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x53\x00", - ._co_firsttraceable = 1, + .co_version = 721, + .co_localsplusnames = & importlib_util_toplevel_consts_19_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, + .co_name = &_Py_ID(__init__), + .co_qualname = & importlib_util_toplevel_consts_19_consts_2_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_19_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", + ._co_firsttraceable = 0, }; static struct { PyASCIIObject _ascii; - uint8_t _data[811]; + uint8_t _data[40]; } -importlib_util_toplevel_consts_23_consts_0 = { +const_str__override_multi_interp_extensions_check = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 810, + .length = 39, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "\x44\x65\x63\x6f\x72\x61\x74\x6f\x72\x20\x74\x6f\x20\x68\x61\x6e\x64\x6c\x65\x20\x73\x65\x6c\x65\x63\x74\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x72\x6f\x70\x65\x72\x20\x6d\x6f\x64\x75\x6c\x65\x20\x66\x6f\x72\x20\x6c\x6f\x61\x64\x65\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x64\x65\x63\x6f\x72\x61\x74\x65\x64\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x70\x61\x73\x73\x65\x64\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x74\x6f\x20\x75\x73\x65\x20\x69\x6e\x73\x74\x65\x61\x64\x20\x6f\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x0a\x20\x20\x20\x20\x6e\x61\x6d\x65\x2e\x20\x54\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x70\x61\x73\x73\x65\x64\x20\x69\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x65\x69\x74\x68\x65\x72\x20\x66\x72\x6f\x6d\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x20\x69\x66\x0a\x20\x20\x20\x20\x69\x74\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x65\x78\x69\x73\x74\x73\x20\x6f\x72\x20\x69\x73\x20\x61\x20\x6e\x65\x77\x20\x6d\x6f\x64\x75\x6c\x65\x2e\x20\x49\x66\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x6e\x65\x77\x2c\x20\x74\x68\x65\x6e\x20\x5f\x5f\x6e\x61\x6d\x65\x5f\x5f\x0a\x20\x20\x20\x20\x69\x73\x20\x73\x65\x74\x20\x74\x68\x65\x20\x66\x69\x72\x73\x74\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x74\x6f\x20\x74\x68\x65\x20\x6d\x65\x74\x68\x6f\x64\x2c\x20\x5f\x5f\x6c\x6f\x61\x64\x65\x72\x5f\x5f\x20\x69\x73\x20\x73\x65\x74\x20\x74\x6f\x20\x73\x65\x6c\x66\x2c\x20\x61\x6e\x64\x0a\x20\x20\x20\x20\x5f\x5f\x70\x61\x63\x6b\x61\x67\x65\x5f\x5f\x20\x69\x73\x20\x73\x65\x74\x20\x61\x63\x63\x6f\x72\x64\x69\x6e\x67\x6c\x79\x20\x28\x69\x66\x20\x73\x65\x6c\x66\x2e\x69\x73\x5f\x70\x61\x63\x6b\x61\x67\x65\x28\x29\x20\x69\x73\x20\x64\x65\x66\x69\x6e\x65\x64\x29\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x73\x65\x74\x0a\x20\x20\x20\x20\x62\x65\x66\x6f\x72\x65\x20\x69\x74\x20\x69\x73\x20\x70\x61\x73\x73\x65\x64\x20\x74\x6f\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x72\x61\x74\x65\x64\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x69\x66\x20\x73\x65\x6c\x66\x2e\x69\x73\x5f\x70\x61\x63\x6b\x61\x67\x65\x28\x29\x20\x64\x6f\x65\x73\x0a\x20\x20\x20\x20\x6e\x6f\x74\x20\x77\x6f\x72\x6b\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x73\x65\x74\x20\x70\x6f\x73\x74\x2d\x6c\x6f\x61\x64\x29\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x61\x6e\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x69\x73\x20\x72\x61\x69\x73\x65\x64\x20\x61\x6e\x64\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x72\x61\x74\x6f\x72\x20\x63\x72\x65\x61\x74\x65\x64\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x74\x20\x69\x73\x0a\x20\x20\x20\x20\x73\x75\x62\x73\x65\x71\x75\x65\x6e\x74\x6c\x79\x20\x72\x65\x6d\x6f\x76\x65\x64\x20\x66\x72\x6f\x6d\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x2e\x0a\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x64\x65\x63\x6f\x72\x61\x74\x6f\x72\x20\x61\x73\x73\x75\x6d\x65\x73\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x64\x65\x63\x6f\x72\x61\x74\x65\x64\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x74\x61\x6b\x65\x73\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6e\x61\x6d\x65\x20\x61\x73\x0a\x20\x20\x20\x20\x74\x68\x65\x20\x73\x65\x63\x6f\x6e\x64\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x2e\x0a\x0a\x20\x20\x20\x20", + ._data = "_override_multi_interp_extensions_check", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[3]; + PyObject *ob_item[4]; }_object; } -importlib_util_toplevel_consts_23_consts_4_consts = { +importlib_util_toplevel_consts_19_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 3, + .ob_size = 4, }, .ob_item = { - Py_None, - &_Py_STR(dot), - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], + & const_str__imp._ascii.ob_base, + & const_str__override_multi_interp_extensions_check._ascii.ob_base, + & const_str_override._ascii.ob_base, + & const_str_old._ascii.ob_base, + }, + }, +}; +static + struct { + PyASCIIObject _ascii; + uint8_t _data[54]; + } +importlib_util_toplevel_consts_19_consts_3_qualname = { + ._ascii = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyUnicode_Type, + }, + .length = 53, + .hash = -1, + .state = { + .kind = 1, + .compact = 1, + .ascii = 1, + .statically_allocated = 1, + }, + }, + ._data = "_incompatible_extension_module_restrictions.__enter__", +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[30]; + } +importlib_util_toplevel_consts_19_consts_3_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 29, + }, + .ob_shash = -1, + .ob_sval = "\x80\x00\xdc\x13\x17\xd7\x13\x3f\xd1\x13\x3f\xc0\x04\xc7\x0d\xc1\x0d\xd3\x13\x4e\x88\x04\x8c\x08\xd8\x0f\x13\x88\x0b", +}; +static + struct _PyCode_DEF(78) +importlib_util_toplevel_consts_19_consts_3 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, }, + .ob_size = 39, }, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_19_consts_3_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 154, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 722, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, + .co_name = &_Py_ID(__enter__), + .co_qualname = & importlib_util_toplevel_consts_19_consts_3_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_19_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x53\x00", + ._co_firsttraceable = 0, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[7]; + PyObject *ob_item[3]; }_object; } -importlib_util_toplevel_consts_23_consts_4_names = { +importlib_util_toplevel_consts_19_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 7, + .ob_size = 3, }, .ob_item = { - & const_str__module_to_load._ascii.ob_base, - &_Py_ID(__loader__), - & const_str_is_package._ascii.ob_base, - &_Py_ID(__package__), - & const_str_rpartition._ascii.ob_base, - & const_str_ImportError._ascii.ob_base, - & const_str_AttributeError._ascii.ob_base, - }, - }, -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[26]; - } -const_str_module_for_loader_wrapper = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 25, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, + & const_str_old._ascii.ob_base, + & const_str__imp._ascii.ob_base, + & const_str__override_multi_interp_extensions_check._ascii.ob_base, }, }, - ._data = "module_for_loader_wrapper", }; static struct { PyASCIIObject _ascii; uint8_t _data[53]; } -importlib_util_toplevel_consts_23_consts_4_qualname = { +importlib_util_toplevel_consts_19_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 52, @@ -140072,133 +135666,108 @@ importlib_util_toplevel_consts_23_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, - }, - }, - ._data = "module_for_loader..module_for_loader_wrapper", -}; -static - struct { - PyObject_VAR_HEAD - Py_hash_t ob_shash; - char ob_sval[270]; - } -importlib_util_toplevel_consts_23_consts_4_linetable = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyBytes_Type, + .statically_allocated = 1, }, - .ob_size = 269, }, - .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xe5\x0d\x1c\x98\x58\xd1\x0d\x26\xd4\x0d\x26\xf0\x00\x0c\x09\x36\xa8\x26\xd8\x20\x24\x88\x46\xd4\x0c\x1d\xf0\x02\x08\x0d\x45\x01\xd8\x1d\x21\x9f\x5f\x9a\x5f\xa8\x58\xd1\x1d\x36\xd4\x1d\x36\x90\x0a\xf0\x08\x00\x14\x1e\xf0\x00\x03\x11\x45\x01\xd8\x29\x31\x90\x46\xd4\x14\x26\xd0\x14\x26\xe0\x29\x31\xd7\x29\x3c\xd2\x29\x3c\xb8\x53\xd1\x29\x41\xd4\x29\x41\xc0\x21\xd4\x29\x44\x90\x46\xd4\x14\x26\xd0\x14\x26\xf8\xf5\x0d\x00\x15\x20\xa5\x1e\xd0\x13\x30\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xd8\x10\x14\x90\x04\xf0\x03\x01\x0d\x15\xf8\xf8\xf8\xf0\x10\x00\x14\x17\x90\x33\x90\x74\x98\x56\xd0\x13\x35\xa0\x64\xd0\x13\x35\xd0\x13\x35\xd0\x13\x35\xa8\x66\xd0\x13\x35\xd0\x13\x35\xf0\x19\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf1\x00\x0c\x09\x36\xf4\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf8\xf8\xf8\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36\xf0\x00\x0c\x09\x36", + ._data = "_incompatible_extension_module_restrictions.__exit__", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[52]; + char ob_sval[31]; } -importlib_util_toplevel_consts_23_consts_4_exceptiontable = { +importlib_util_toplevel_consts_19_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 51, + .ob_size = 30, }, .ob_shash = -1, - .ob_sval = "\x91\x08\x42\x0a\x03\x9a\x15\x41\x1a\x02\xaf\x2b\x42\x0a\x03\xc1\x1a\x11\x41\x2e\x05\xc1\x2b\x02\x42\x0a\x03\xc1\x2d\x01\x41\x2e\x05\xc1\x2e\x0f\x42\x0a\x03\xc2\x0a\x04\x42\x0e\x07\xc2\x11\x01\x42\x0e\x07", + .ob_sval = "\x80\x00\xd8\x0e\x12\x8f\x68\x89\x68\x88\x03\xd8\x0c\x10\x88\x48\xdc\x08\x0c\xd7\x08\x34\xd1\x08\x34\xb0\x53\xd5\x08\x39", }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[7]; + PyObject *ob_item[3]; }_object; } -importlib_util_toplevel_consts_23_consts_4_localsplusnames = { +importlib_util_toplevel_consts_19_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 7, + .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_fullname._ascii.ob_base, - & const_str_args._ascii.ob_base, - & const_str_kwargs._ascii.ob_base, - & const_str_module._ascii.ob_base, - & const_str_is_package._ascii.ob_base, - & const_str_fxn._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(args), + & const_str_old._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(302) -importlib_util_toplevel_consts_23_consts_4 = { + struct _PyCode_DEF(74) +importlib_util_toplevel_consts_19_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 151, + .ob_size = 37, }, - .co_consts = & importlib_util_toplevel_consts_23_consts_4_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_23_consts_4_names._object.ob_base.ob_base, - .co_exceptiontable = & importlib_util_toplevel_consts_23_consts_4_exceptiontable.ob_base.ob_base, - .co_flags = 31, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 2, + .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_19_consts_4_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 7, + .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 6, - .co_firstlineno = 203, - .co_nlocalsplus = 7, - .co_nlocals = 6, - .co_nplaincellvars = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, + .co_stacksize = 3, + .co_firstlineno = 158, + .co_nlocalsplus = 3, + .co_nlocals = 3, .co_ncellvars = 0, - .co_nfreevars = 1, - .co_localsplusnames = & importlib_util_toplevel_consts_23_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & abc_toplevel_consts_10_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str_module_for_loader_wrapper._ascii.ob_base, - .co_qualname = & importlib_util_toplevel_consts_23_consts_4_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_23_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x01\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x04\x7c\x00\x7c\x04\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x7c\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x72\x08\x7c\x01\x7c\x04\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x38\x7c\x01\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x17\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x02\x00\x89\x06\x7c\x00\x7c\x04\x67\x02\x7c\x02\xa2\x01\x52\x00\x69\x00\x7c\x03\xa4\x01\x8e\x01\x63\x02\x64\x00\x64\x00\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x53\x00\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x64\x00\x53\x00", - ._co_firsttraceable = 1, + .co_nfreevars = 0, + .co_version = 723, + .co_localsplusnames = & importlib_util_toplevel_consts_19_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, + .co_name = &_Py_ID(__exit__), + .co_qualname = & importlib_util_toplevel_consts_19_consts_4_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_19_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x60\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", + ._co_firsttraceable = 0, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[5]; + PyObject *ob_item[3]; }_object; } -importlib_util_toplevel_consts_23_consts = { +importlib_util_toplevel_consts_19_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 5, + .ob_size = 3, }, .ob_item = { - & importlib_util_toplevel_consts_23_consts_0._ascii.ob_base, - & importlib_util_toplevel_consts_21_consts_1_consts_1._ascii.ob_base, - (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - & importlib__bootstrap_toplevel_consts_55_consts_8._object.ob_base.ob_base, - & importlib_util_toplevel_consts_23_consts_4.ob_base.ob_base, + Py_None, + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -1], + (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 1], }, }, }; @@ -140207,125 +135776,206 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[5]; + PyObject *ob_item[1]; }_object; } -importlib_util_toplevel_consts_23_names = { +importlib_util_toplevel_consts_19_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 5, + .ob_size = 1, }, .ob_item = { - &_Py_ID(warnings), - & const_str_warn._ascii.ob_base, - & const_str_DeprecationWarning._ascii.ob_base, - & const_str_functools._ascii.ob_base, - & const_str_wraps._ascii.ob_base, + & const_str_disable_check._ascii.ob_base, }, }, }; static struct { PyASCIIObject _ascii; - uint8_t _data[18]; + uint8_t _data[53]; } -const_str_module_for_loader = { +importlib_util_toplevel_consts_19_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, - .length = 17, + .length = 52, .hash = -1, .state = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, - ._data = "module_for_loader", + ._data = "_incompatible_extension_module_restrictions.override", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[98]; + char ob_sval[22]; } -importlib_util_toplevel_consts_23_linetable = { +importlib_util_toplevel_consts_19_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 97, + .ob_size = 21, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xf5\x24\x00\x05\x0d\x84\x4d\xf0\x00\x01\x13\x48\x01\xe5\x12\x24\xb0\x11\xf0\x05\x02\x05\x34\xf1\x00\x02\x05\x34\xf4\x00\x02\x05\x34\xf0\x00\x02\x05\x34\xf5\x06\x00\x06\x0f\x84\x5f\x90\x53\xd1\x05\x19\xd4\x05\x19\xf0\x02\x0d\x05\x36\xf0\x00\x0d\x05\x36\xf0\x00\x0d\x05\x36\xf0\x00\x0d\x05\x36\xf1\x03\x00\x06\x1a\xd4\x05\x19\xf0\x02\x0d\x05\x36\xf0\x1e\x00\x0c\x25\xd0\x04\x24", + .ob_sval = "\x80\x00\xe0\x15\x19\xd7\x15\x27\xd2\x15\x27\x88\x72\xd0\x08\x2e\xa8\x51\xd0\x08\x2e", +}; +static + struct _PyCode_DEF(34) +importlib_util_toplevel_consts_19_consts_5 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyCode_Type, + }, + .ob_size = 17, + }, + .co_consts = & importlib_util_toplevel_consts_19_consts_5_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_19_consts_5_names._object.ob_base.ob_base, + .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_flags = 3, + .co_argcount = 1, + .co_posonlyargcount = 0, + .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, + .co_stacksize = 1, + .co_firstlineno = 163, + .co_nlocalsplus = 1, + .co_nlocals = 1, + .co_ncellvars = 0, + .co_nfreevars = 0, + .co_version = 724, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, + .co_name = & const_str_override._ascii.ob_base, + .co_qualname = & importlib_util_toplevel_consts_19_consts_5_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_19_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x64\x01\x53\x00\x64\x02\x53\x00", + ._co_firsttraceable = 0, }; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[2]; + PyObject *ob_item[7]; }_object; } -importlib_util_toplevel_consts_23_localsplusnames = { +importlib_util_toplevel_consts_19_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 2, + .ob_size = 7, }, .ob_item = { - & const_str_fxn._ascii.ob_base, - & const_str_module_for_loader_wrapper._ascii.ob_base, + & const_str__incompatible_extension_module_restrictions._ascii.ob_base, + & importlib_util_toplevel_consts_19_consts_1._ascii.ob_base, + & importlib_util_toplevel_consts_19_consts_2.ob_base.ob_base, + & importlib_util_toplevel_consts_19_consts_3.ob_base.ob_base, + & importlib_util_toplevel_consts_19_consts_4.ob_base.ob_base, + & importlib_util_toplevel_consts_19_consts_5.ob_base.ob_base, + Py_None, }, }, }; static - struct _PyCode_DEF(126) -importlib_util_toplevel_consts_23 = { + struct { + PyGC_Head _gc_head; + struct { + PyObject_VAR_HEAD + PyObject *ob_item[9]; + }_object; + } +importlib_util_toplevel_consts_19_names = { + ._object = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyTuple_Type, + }, + .ob_size = 9, + }, + .ob_item = { + &_Py_ID(__name__), + &_Py_ID(__module__), + &_Py_ID(__qualname__), + &_Py_ID(__doc__), + &_Py_ID(__init__), + &_Py_ID(__enter__), + &_Py_ID(__exit__), + & const_str_property._ascii.ob_base, + & const_str_override._ascii.ob_base, + }, + }, +}; +static + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[43]; + } +importlib_util_toplevel_consts_19_linetable = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 42, + }, + .ob_shash = -1, + .ob_sval = "\x84\x00\xf1\x02\x1d\x05\x08\xf2\x3e\x01\x05\x31\xf2\x06\x02\x05\x14\xf2\x08\x03\x05\x3a\xf0\x0a\x00\x06\x0e\xf1\x02\x01\x05\x2f\xf3\x03\x00\x06\x0e\xf1\x02\x01\x05\x2f", +}; +static + struct _PyCode_DEF(50) +importlib_util_toplevel_consts_19 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 63, + .ob_size = 25, }, - .co_consts = & importlib_util_toplevel_consts_23_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_23_names._object.ob_base.ob_base, + .co_consts = & importlib_util_toplevel_consts_19_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_19_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, - .co_argcount = 1, + .co_flags = 0, + .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 5, - .co_firstlineno = 182, - .co_nlocalsplus = 2, - .co_nlocals = 2, - .co_nplaincellvars = 0, - .co_ncellvars = 1, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, + .co_stacksize = 2, + .co_firstlineno = 119, + .co_nlocalsplus = 0, + .co_nlocals = 0, + .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_23_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_19_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str_module_for_loader._ascii.ob_base, - .co_qualname = & const_str_module_for_loader._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_23_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xac\x03\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x66\x01\x64\x04\x84\x08\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x7c\x01\x53\x00", - ._co_firsttraceable = 1, + .co_version = 725, + .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), + .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, + .co_name = & const_str__incompatible_extension_module_restrictions._ascii.ob_base, + .co_qualname = & const_str__incompatible_extension_module_restrictions._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_19_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x65\x07\x64\x05\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x79\x06", + ._co_firsttraceable = 0, }; static struct { @@ -140335,7 +135985,7 @@ static const_str__LazyModule = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -140344,7 +135994,7 @@ const_str__LazyModule = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_LazyModule", @@ -140354,10 +136004,10 @@ static PyASCIIObject _ascii; uint8_t _data[76]; } -importlib_util_toplevel_consts_24_consts_1 = { +importlib_util_toplevel_consts_21_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 75, @@ -140366,7 +136016,7 @@ importlib_util_toplevel_consts_24_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "A subclass of the module type which triggers loading upon attribute access.", @@ -140376,10 +136026,10 @@ static PyASCIIObject _ascii; uint8_t _data[57]; } -importlib_util_toplevel_consts_24_consts_2_consts_0 = { +importlib_util_toplevel_consts_21_consts_2_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 56, @@ -140388,7 +136038,7 @@ importlib_util_toplevel_consts_24_consts_2_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Trigger the load of the module and return the attribute.", @@ -140398,10 +136048,10 @@ static PyASCIIObject _ascii; uint8_t _data[19]; } -importlib_util_toplevel_consts_24_consts_2_consts_2 = { +importlib_util_toplevel_consts_21_consts_2_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -140410,7 +136060,7 @@ importlib_util_toplevel_consts_24_consts_2_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "module object for ", @@ -140420,10 +136070,10 @@ static PyASCIIObject _ascii; uint8_t _data[47]; } -importlib_util_toplevel_consts_24_consts_2_consts_3 = { +importlib_util_toplevel_consts_21_consts_2_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 46, @@ -140432,7 +136082,7 @@ importlib_util_toplevel_consts_24_consts_2_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = " substituted in sys.modules during a lazy load", @@ -140445,20 +136095,20 @@ static PyObject *ob_item[4]; }_object; } -importlib_util_toplevel_consts_24_consts_2_consts = { +importlib_util_toplevel_consts_21_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & importlib_util_toplevel_consts_24_consts_2_consts_0._ascii.ob_base, + & importlib_util_toplevel_consts_21_consts_2_consts_0._ascii.ob_base, &_Py_ID(__dict__), - & importlib_util_toplevel_consts_24_consts_2_consts_2._ascii.ob_base, - & importlib_util_toplevel_consts_24_consts_2_consts_3._ascii.ob_base, + & importlib_util_toplevel_consts_21_consts_2_consts_2._ascii.ob_base, + & importlib_util_toplevel_consts_21_consts_2_consts_3._ascii.ob_base, }, }, }; @@ -140470,7 +136120,7 @@ static const_str_types = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -140479,7 +136129,7 @@ const_str_types = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "types", @@ -140492,7 +136142,7 @@ static const_str_ModuleType = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -140501,7 +136151,7 @@ const_str_ModuleType = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "ModuleType", @@ -140514,11 +136164,11 @@ static PyObject *ob_item[16]; }_object; } -importlib_util_toplevel_consts_24_consts_2_names = { +importlib_util_toplevel_consts_21_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 16, @@ -140532,7 +136182,7 @@ importlib_util_toplevel_consts_24_consts_2_names = { & const_str_loader_state._ascii.ob_base, &_Py_ID(__dict__), &_Py_ID(items), - & const_str_id._ascii.ob_base, + &_Py_ID(id), & const_str_loader._ascii.ob_base, & const_str_exec_module._ascii.ob_base, & const_str_sys._ascii.ob_base, @@ -140548,10 +136198,10 @@ static PyASCIIObject _ascii; uint8_t _data[29]; } -importlib_util_toplevel_consts_24_consts_2_qualname = { +importlib_util_toplevel_consts_21_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -140560,7 +136210,7 @@ importlib_util_toplevel_consts_24_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_LazyModule.__getattribute__", @@ -140569,18 +136219,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[309]; + char ob_sval[284]; } -importlib_util_toplevel_consts_24_consts_2_linetable = { +importlib_util_toplevel_consts_21_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 308, + .ob_size = 283, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x0a\x00\x1a\x1f\xd4\x19\x29\x88\x04\x8c\x0e\xf0\x06\x00\x19\x1d\x9c\x0d\xd4\x18\x2a\x88\x0d\xf0\x06\x00\x16\x1a\x94\x5d\xd4\x15\x2f\xb0\x0a\xd4\x15\x3b\x88\x0a\xd8\x14\x18\x94\x4d\x88\x09\xd8\x18\x1a\x88\x0d\xd8\x1a\x23\x9f\x2f\x9a\x2f\xd1\x1a\x2b\xd4\x1a\x2b\xf0\x00\x06\x09\x2b\xf0\x00\x06\x09\x2b\x89\x4a\x88\x43\x90\x15\xf0\x06\x00\x10\x13\x98\x2a\xd0\x0f\x24\xd0\x0f\x24\xd8\x25\x2a\x90\x0d\x98\x63\xd1\x10\x22\xd0\x10\x22\xdd\x11\x13\x90\x49\x98\x63\x94\x4e\xd1\x11\x23\xd4\x11\x23\xa5\x72\xa8\x2a\xb0\x53\xac\x2f\xd1\x27\x3a\xd4\x27\x3a\xd2\x11\x3a\xd0\x11\x3a\xd8\x25\x2a\x90\x0d\x98\x63\xd1\x10\x22\xf8\xd8\x08\x0c\x8c\x0d\xd4\x08\x1c\xd7\x08\x28\xd2\x08\x28\xa8\x14\xd1\x08\x2e\xd4\x08\x2e\xd0\x08\x2e\xf0\x06\x00\x0c\x19\x9d\x43\x9c\x4b\xd0\x0b\x27\xd0\x0b\x27\xdd\x0f\x11\x90\x24\x89\x78\x8c\x78\x9d\x32\x9d\x63\x9c\x6b\xa8\x2d\xd4\x1e\x38\xd1\x1b\x39\xd4\x1b\x39\xd2\x0f\x39\xd0\x0f\x39\xdd\x16\x20\xf0\x00\x02\x22\x29\xb0\x6d\xf0\x00\x02\x22\x29\xf0\x00\x02\x22\x29\xf0\x00\x02\x22\x29\xf1\x00\x02\x17\x2a\xf4\x00\x02\x17\x2a\xf0\x00\x02\x11\x2a\xf0\x0a\x00\x09\x0d\x8c\x0d\xd7\x08\x1c\xd2\x08\x1c\x98\x5d\xd1\x08\x2b\xd4\x08\x2b\xd0\x08\x2b\xdd\x0f\x16\x90\x74\x98\x54\xd1\x0f\x22\xd4\x0f\x22\xd0\x08\x22", + .ob_sval = "\x80\x00\xf4\x0a\x00\x1a\x1f\xd7\x19\x29\xd1\x19\x29\x88\x04\x8c\x0e\xf0\x06\x00\x19\x1d\x9f\x0d\x99\x0d\xd7\x18\x2a\xd1\x18\x2a\x88\x0d\xf0\x06\x00\x16\x1a\x97\x5d\x91\x5d\xd7\x15\x2f\xd1\x15\x2f\xb0\x0a\xd1\x15\x3b\x88\x0a\xd8\x14\x18\x97\x4d\x91\x4d\x88\x09\xd8\x18\x1a\x88\x0d\xd8\x1a\x23\x9f\x2f\x99\x2f\xd3\x1a\x2b\xf2\x00\x06\x09\x2b\x89\x4a\x88\x43\x90\x15\xf0\x06\x00\x10\x13\x98\x2a\xd1\x0f\x24\xd8\x25\x2a\x90\x0d\x98\x63\xd2\x10\x22\xdc\x11\x13\x90\x49\x98\x63\x91\x4e\xd3\x11\x23\xa4\x72\xa8\x2a\xb0\x53\xa9\x2f\xd3\x27\x3a\xd3\x11\x3a\xd8\x25\x2a\x90\x0d\x98\x63\xd2\x10\x22\xf0\x0d\x06\x09\x2b\xf0\x0e\x00\x09\x0d\x8f\x0d\x89\x0d\xd7\x08\x1c\xd1\x08\x1c\xd7\x08\x28\xd1\x08\x28\xa8\x14\xd4\x08\x2e\xf0\x06\x00\x0c\x19\x9c\x43\x9f\x4b\x99\x4b\xd1\x0b\x27\xdc\x0f\x11\x90\x24\x8b\x78\x9c\x32\x9c\x63\x9f\x6b\x99\x6b\xa8\x2d\xd1\x1e\x38\xd3\x1b\x39\xd2\x0f\x39\xdc\x16\x20\xd0\x23\x35\xb0\x6d\xd0\x35\x46\xf0\x00\x02\x47\x01\x29\xf0\x00\x02\x22\x29\xf3\x00\x02\x17\x2a\xf0\x00\x02\x11\x2a\xf0\x0a\x00\x09\x0d\x8f\x0d\x89\x0d\xd7\x08\x1c\xd1\x08\x1c\x98\x5d\xd4\x08\x2b\xdc\x0f\x16\x90\x74\x98\x54\xd3\x0f\x22\xd0\x08\x22", }; static struct { @@ -140590,7 +136240,7 @@ static const_str_attr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -140599,7 +136249,7 @@ const_str_attr = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "attr", @@ -140612,7 +136262,7 @@ static const_str_original_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -140621,7 +136271,7 @@ const_str_original_name = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "original_name", @@ -140634,7 +136284,7 @@ static const_str_attrs_then = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -140643,7 +136293,7 @@ const_str_attrs_then = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "attrs_then", @@ -140656,7 +136306,7 @@ static const_str_attrs_now = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -140665,7 +136315,7 @@ const_str_attrs_now = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "attrs_now", @@ -140678,7 +136328,7 @@ static const_str_attrs_updated = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -140687,7 +136337,7 @@ const_str_attrs_updated = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "attrs_updated", @@ -140700,62 +136350,60 @@ static PyObject *ob_item[8]; }_object; } -importlib_util_toplevel_consts_24_consts_2_localsplusnames = { +importlib_util_toplevel_consts_21_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_attr._ascii.ob_base, & const_str_original_name._ascii.ob_base, & const_str_attrs_then._ascii.ob_base, & const_str_attrs_now._ascii.ob_base, & const_str_attrs_updated._ascii.ob_base, - & const_str_key._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(key), + &_Py_ID(value), }, }, }; static - struct _PyCode_DEF(592) -importlib_util_toplevel_consts_24_consts_2 = { + struct _PyCode_DEF(602) +importlib_util_toplevel_consts_21_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 296, + .ob_size = 301, }, - .co_consts = & importlib_util_toplevel_consts_24_consts_2_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_24_consts_2_names._object.ob_base.ob_base, + .co_consts = & importlib_util_toplevel_consts_21_consts_2_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_21_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 14 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, - .co_firstlineno = 226, + .co_firstlineno = 172, .co_nlocalsplus = 8, .co_nlocals = 8, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_24_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_27_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, + .co_version = 726, + .co_localsplusnames = & importlib_util_toplevel_consts_21_consts_2_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_13_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, .co_name = &_Py_ID(__getattribute__), - .co_qualname = & importlib_util_toplevel_consts_24_consts_2_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_24_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x69\x00\x7d\x05\x7c\x04\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x40\x5c\x02\x00\x00\x7d\x06\x7d\x07\x7c\x06\x7c\x03\x76\x01\x72\x06\x7c\x07\x7c\x05\x7c\x06\x3c\x00\x00\x00\x8c\x0f\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x06\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x06\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x05\x7c\x07\x7c\x05\x7c\x06\x3c\x00\x00\x00\x8c\x41\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x43\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x03\x00\x00\x00\x00\x72\x13\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x7c\x02\x9b\x02\x64\x03\x9d\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & importlib_util_toplevel_consts_21_consts_2_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_21_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x7d\x03\x7c\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x69\x00\x7d\x05\x7c\x04\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x44\x00\x5d\x32\x00\x00\x5c\x02\x00\x00\x7d\x06\x7d\x07\x7c\x06\x7c\x03\x76\x01\x72\x06\x7c\x07\x7c\x05\x7c\x06\x3c\x00\x00\x00\x8c\x10\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x7c\x06\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x06\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x73\x01\x8c\x2e\x7c\x07\x7c\x05\x7c\x06\x3c\x00\x00\x00\x8c\x34\x04\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x02\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x37\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x74\x16\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x6b\x37\x00\x00\x72\x0f\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x7c\x02\x9b\x02\x64\x03\x9d\x03\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -140763,10 +136411,10 @@ static PyASCIIObject _ascii; uint8_t _data[48]; } -importlib_util_toplevel_consts_24_consts_3_consts_0 = { +importlib_util_toplevel_consts_21_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 47, @@ -140775,7 +136423,7 @@ importlib_util_toplevel_consts_24_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Trigger the load and then perform the deletion.", @@ -140788,17 +136436,17 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_24_consts_3_consts = { +importlib_util_toplevel_consts_21_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & importlib_util_toplevel_consts_24_consts_3_consts_0._ascii.ob_base, + & importlib_util_toplevel_consts_21_consts_3_consts_0._ascii.ob_base, Py_None, }, }, @@ -140811,7 +136459,7 @@ static const_str_delattr = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -140820,7 +136468,7 @@ const_str_delattr = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "delattr", @@ -140833,11 +136481,11 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_24_consts_3_names = { +importlib_util_toplevel_consts_21_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -140853,10 +136501,10 @@ static PyASCIIObject _ascii; uint8_t _data[24]; } -importlib_util_toplevel_consts_24_consts_3_qualname = { +importlib_util_toplevel_consts_21_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -140865,7 +136513,7 @@ importlib_util_toplevel_consts_24_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_LazyModule.__delattr__", @@ -140874,18 +136522,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[47]; + char ob_sval[29]; } -importlib_util_toplevel_consts_24_consts_3_linetable = { +importlib_util_toplevel_consts_21_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 46, + .ob_size = 28, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x00\x09\x0d\xd7\x08\x1d\xd2\x08\x1d\x98\x64\xd1\x08\x23\xd4\x08\x23\xd0\x08\x23\xdd\x08\x0f\x90\x04\x90\x64\xd1\x08\x1b\xd4\x08\x1b\xd0\x08\x1b\xd0\x08\x1b\xd0\x08\x1b", + .ob_sval = "\x80\x00\xf0\x08\x00\x09\x0d\xd7\x08\x1d\xd1\x08\x1d\x98\x64\xd4\x08\x23\xdc\x08\x0f\x90\x04\x90\x64\xd5\x08\x1b", }; static struct { @@ -140895,56 +136543,54 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_24_consts_3_localsplusnames = { +importlib_util_toplevel_consts_21_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_attr._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(80) -importlib_util_toplevel_consts_24_consts_3 = { + struct _PyCode_DEF(62) +importlib_util_toplevel_consts_21_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 40, + .ob_size = 31, }, - .co_consts = & importlib_util_toplevel_consts_24_consts_3_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_24_consts_3_names._object.ob_base.ob_base, + .co_consts = & importlib_util_toplevel_consts_21_consts_3_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_21_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 260, + .co_firstlineno = 206, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_24_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, + .co_version = 727, + .co_localsplusnames = & importlib_util_toplevel_consts_21_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, .co_name = &_Py_ID(__delattr__), - .co_qualname = & importlib_util_toplevel_consts_24_consts_3_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_24_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00", + .co_qualname = & importlib_util_toplevel_consts_21_consts_3_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_21_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01", ._co_firsttraceable = 0, }; static @@ -140955,20 +136601,20 @@ static PyObject *ob_item[5]; }_object; } -importlib_util_toplevel_consts_24_consts = { +importlib_util_toplevel_consts_21_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { & const_str__LazyModule._ascii.ob_base, - & importlib_util_toplevel_consts_24_consts_1._ascii.ob_base, - & importlib_util_toplevel_consts_24_consts_2.ob_base.ob_base, - & importlib_util_toplevel_consts_24_consts_3.ob_base.ob_base, + & importlib_util_toplevel_consts_21_consts_1._ascii.ob_base, + & importlib_util_toplevel_consts_21_consts_2.ob_base.ob_base, + & importlib_util_toplevel_consts_21_consts_3.ob_base.ob_base, Py_None, }, }, @@ -140981,11 +136627,11 @@ static PyObject *ob_item[6]; }_object; } -importlib_util_toplevel_consts_24_names = { +importlib_util_toplevel_consts_21_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -141004,54 +136650,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[58]; + char ob_sval[17]; } -importlib_util_toplevel_consts_24_linetable = { +importlib_util_toplevel_consts_21_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 57, + .ob_size = 16, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x04\x55\xd0\x04\x55\xf0\x04\x20\x05\x23\xf0\x00\x20\x05\x23\xf0\x00\x20\x05\x23\xf0\x44\x01\x05\x05\x1c\xf0\x00\x05\x05\x1c\xf0\x00\x05\x05\x1c\xf0\x00\x05\x05\x1c\xf0\x00\x05\x05\x1c", + .ob_sval = "\x84\x00\xe1\x04\x55\xf2\x04\x20\x05\x23\xf3\x44\x01\x05\x05\x1c", }; static - struct _PyCode_DEF(30) -importlib_util_toplevel_consts_24 = { + struct _PyCode_DEF(28) +importlib_util_toplevel_consts_21 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 15, + .ob_size = 14, }, - .co_consts = & importlib_util_toplevel_consts_24_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_24_names._object.ob_base.ob_base, + .co_consts = & importlib_util_toplevel_consts_21_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_21_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, - .co_firstlineno = 222, + .co_firstlineno = 168, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 728, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, .co_name = & const_str__LazyModule._ascii.ob_base, .co_qualname = & const_str__LazyModule._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_24_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x53\x00", + .co_linetable = & importlib_util_toplevel_consts_21_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x79\x04", ._co_firsttraceable = 0, }; static @@ -141062,7 +136706,7 @@ static const_str_LazyLoader = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -141071,7 +136715,7 @@ const_str_LazyLoader = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LazyLoader", @@ -141081,10 +136725,10 @@ static PyASCIIObject _ascii; uint8_t _data[76]; } -importlib_util_toplevel_consts_26_consts_1 = { +importlib_util_toplevel_consts_23_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 75, @@ -141093,7 +136737,7 @@ importlib_util_toplevel_consts_26_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "A loader that creates a module which defers loading until attribute access.", @@ -141103,10 +136747,10 @@ static PyASCIIObject _ascii; uint8_t _data[33]; } -importlib_util_toplevel_consts_26_consts_2_consts_2 = { +importlib_util_toplevel_consts_23_consts_2_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 32, @@ -141115,7 +136759,7 @@ importlib_util_toplevel_consts_26_consts_2_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "loader must define exec_module()", @@ -141128,11 +136772,11 @@ static PyObject *ob_item[3]; }_object; } -importlib_util_toplevel_consts_26_consts_2_consts = { +importlib_util_toplevel_consts_23_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -141140,7 +136784,7 @@ importlib_util_toplevel_consts_26_consts_2_consts = { .ob_item = { Py_None, & const_str_exec_module._ascii.ob_base, - & importlib_util_toplevel_consts_26_consts_2_consts_2._ascii.ob_base, + & importlib_util_toplevel_consts_23_consts_2_consts_2._ascii.ob_base, }, }, }; @@ -141152,11 +136796,11 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_26_consts_2_names = { +importlib_util_toplevel_consts_23_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -141175,7 +136819,7 @@ static const_str___check_eager_loader = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -141184,7 +136828,7 @@ const_str___check_eager_loader = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "__check_eager_loader", @@ -141194,10 +136838,10 @@ static PyASCIIObject _ascii; uint8_t _data[32]; } -importlib_util_toplevel_consts_26_consts_2_qualname = { +importlib_util_toplevel_consts_23_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 31, @@ -141206,7 +136850,7 @@ importlib_util_toplevel_consts_26_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LazyLoader.__check_eager_loader", @@ -141215,54 +136859,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[49]; + char ob_sval[30]; } -importlib_util_toplevel_consts_26_consts_2_linetable = { +importlib_util_toplevel_consts_23_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 48, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0f\x16\x90\x76\x98\x7d\xd1\x0f\x2d\xd4\x0f\x2d\xf0\x00\x01\x09\x40\x01\xdd\x12\x1b\xd0\x1c\x3e\xd1\x12\x3f\xd4\x12\x3f\xd0\x0c\x3f\xf0\x03\x01\x09\x40\x01\xf0\x00\x01\x09\x40\x01", + .ob_sval = "\x80\x00\xe4\x0f\x16\x90\x76\x98\x7d\xd4\x0f\x2d\xdc\x12\x1b\xd0\x1c\x3e\xd3\x12\x3f\xd0\x0c\x3f\xf0\x03\x00\x10\x2e", }; static - struct _PyCode_DEF(68) -importlib_util_toplevel_consts_26_consts_2 = { + struct _PyCode_DEF(50) +importlib_util_toplevel_consts_23_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 34, + .ob_size = 25, }, - .co_consts = & importlib_util_toplevel_consts_26_consts_2_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_26_consts_2_names._object.ob_base.ob_base, + .co_consts = & importlib_util_toplevel_consts_23_consts_2_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_23_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, - .co_firstlineno = 272, + .co_firstlineno = 218, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_26_consts_4._object.ob_base.ob_base, + .co_version = 729, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_33_consts_4._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, .co_name = & const_str___check_eager_loader._ascii.ob_base, - .co_qualname = & importlib_util_toplevel_consts_26_consts_2_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_26_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x0f\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x64\x00\x53\x00", + .co_qualname = & importlib_util_toplevel_consts_23_consts_2_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_23_consts_2_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x73\x0b\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x79\x00", ._co_firsttraceable = 0, }; static @@ -141270,10 +136912,10 @@ static PyASCIIObject _ascii; uint8_t _data[63]; } -importlib_util_toplevel_consts_26_consts_3_consts_0 = { +importlib_util_toplevel_consts_23_consts_3_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 62, @@ -141282,7 +136924,7 @@ importlib_util_toplevel_consts_26_consts_3_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Construct a callable which returns the eager loader made lazy.", @@ -141292,10 +136934,10 @@ static PyASCIIObject _ascii; uint8_t _data[37]; } -importlib_util_toplevel_consts_26_consts_3_consts_1_qualname = { +importlib_util_toplevel_consts_23_consts_3_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 36, @@ -141304,7 +136946,7 @@ importlib_util_toplevel_consts_26_consts_3_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LazyLoader.factory..", @@ -141313,18 +136955,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[33]; + char ob_sval[23]; } -importlib_util_toplevel_consts_26_consts_3_consts_1_linetable = { +importlib_util_toplevel_consts_23_consts_3_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 32, + .ob_size = 22, }, .ob_shash = -1, - .ob_sval = "\xf8\x80\x00\xa0\x73\xa0\x73\xa8\x36\xa8\x36\xb0\x34\xd0\x2b\x42\xb8\x36\xd0\x2b\x42\xd0\x2b\x42\xd1\x27\x43\xd4\x27\x43\x80\x00", + .ob_sval = "\xf8\x80\x00\xa1\x73\xa9\x36\xb0\x34\xd0\x2b\x42\xb8\x36\xd1\x2b\x42\xd3\x27\x43\x80\x00", }; static struct { @@ -141334,17 +136976,17 @@ static PyObject *ob_item[4]; }_object; } -importlib_util_toplevel_consts_26_consts_3_consts_1_localsplusnames = { +importlib_util_toplevel_consts_23_consts_3_consts_1_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_args._ascii.ob_base, + &_Py_ID(args), & const_str_kwargs._ascii.ob_base, & const_str_cls._ascii.ob_base, & const_str_loader._ascii.ob_base, @@ -141352,40 +136994,55 @@ importlib_util_toplevel_consts_26_consts_3_consts_1_localsplusnames = { }, }; static - struct _PyCode_DEF(38) -importlib_util_toplevel_consts_26_consts_3_consts_1 = { + struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[5]; + } +importlib_util_toplevel_consts_23_consts_3_consts_1_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBytes_Type, + }, + .ob_size = 4, + }, + .ob_shash = -1, + .ob_sval = "\x20\x20\x80\x80", +}; +static + struct _PyCode_DEF(32) +importlib_util_toplevel_consts_23_consts_3_consts_1 = { + .ob_base = { + .ob_base = { + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 19, + .ob_size = 16, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 31, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 11 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, - .co_firstlineno = 281, + .co_firstlineno = 227, .co_nlocalsplus = 4, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 2, - .co_localsplusnames = & importlib_util_toplevel_consts_26_consts_3_consts_1_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & ntpath_toplevel_consts_45_consts_9_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, + .co_version = 730, + .co_localsplusnames = & importlib_util_toplevel_consts_23_consts_3_consts_1_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib_util_toplevel_consts_23_consts_3_consts_1_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, .co_name = &_Py_STR(anon_lambda), - .co_qualname = & importlib_util_toplevel_consts_26_consts_3_consts_1_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_26_consts_3_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x95\x02\x97\x00\x02\x00\x89\x02\x02\x00\x89\x03\x7c\x00\x69\x00\x7c\x01\xa4\x01\x8e\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & importlib_util_toplevel_consts_23_consts_3_consts_1_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_23_consts_3_consts_1_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x95\x02\x97\x00\x02\x00\x89\x02\x02\x00\x89\x03\x7c\x00\x69\x00\x7c\x01\xa4\x01\x8e\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 1, }; static @@ -141396,18 +137053,18 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_26_consts_3_consts = { +importlib_util_toplevel_consts_23_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & importlib_util_toplevel_consts_26_consts_3_consts_0._ascii.ob_base, - & importlib_util_toplevel_consts_26_consts_3_consts_1.ob_base.ob_base, + & importlib_util_toplevel_consts_23_consts_3_consts_0._ascii.ob_base, + & importlib_util_toplevel_consts_23_consts_3_consts_1.ob_base.ob_base, }, }, }; @@ -141419,7 +137076,7 @@ static const_str__LazyLoader__check_eager_loader = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 31, @@ -141428,7 +137085,7 @@ const_str__LazyLoader__check_eager_loader = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_LazyLoader__check_eager_loader", @@ -141441,11 +137098,11 @@ static PyObject *ob_item[1]; }_object; } -importlib_util_toplevel_consts_26_consts_3_names = { +importlib_util_toplevel_consts_23_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -141455,37 +137112,15 @@ importlib_util_toplevel_consts_26_consts_3_names = { }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[8]; - } -const_str_factory = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 7, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "factory", -}; static struct { PyASCIIObject _ascii; uint8_t _data[19]; } -importlib_util_toplevel_consts_26_consts_3_qualname = { +importlib_util_toplevel_consts_23_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -141494,7 +137129,7 @@ importlib_util_toplevel_consts_26_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LazyLoader.factory", @@ -141503,18 +137138,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[45]; + char ob_sval[26]; } -importlib_util_toplevel_consts_26_consts_3_linetable = { +importlib_util_toplevel_consts_23_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 44, + .ob_size = 25, }, .ob_shash = -1, - .ob_sval = "\xf8\xf8\x80\x00\xf0\x06\x00\x09\x0c\xd7\x08\x20\xd2\x08\x20\xa0\x16\xd1\x08\x28\xd4\x08\x28\xd0\x08\x28\xd8\x0f\x43\xd0\x0f\x43\xd0\x0f\x43\xd0\x0f\x43\xd0\x0f\x43\xd0\x08\x43", + .ob_sval = "\xf9\x80\x00\xf0\x06\x00\x09\x0c\xd7\x08\x20\xd1\x08\x20\xa0\x16\xd4\x08\x28\xdc\x0f\x43\xd0\x08\x43", }; static struct { @@ -141524,11 +137159,11 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_26_consts_3_localsplusnames = { +importlib_util_toplevel_consts_23_consts_3_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -141545,10 +137180,10 @@ static Py_hash_t ob_shash; char ob_sval[3]; } -importlib_util_toplevel_consts_26_consts_3_localspluskinds = { +importlib_util_toplevel_consts_23_consts_3_localspluskinds = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 2, @@ -141557,40 +137192,38 @@ importlib_util_toplevel_consts_26_consts_3_localspluskinds = { .ob_sval = "``", }; static - struct _PyCode_DEF(60) -importlib_util_toplevel_consts_26_consts_3 = { + struct _PyCode_DEF(52) +importlib_util_toplevel_consts_23_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 30, + .ob_size = 26, }, - .co_consts = & importlib_util_toplevel_consts_26_consts_3_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_26_consts_3_names._object.ob_base.ob_base, + .co_consts = & importlib_util_toplevel_consts_23_consts_3_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_23_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 277, + .co_firstlineno = 223, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 2, .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_26_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib_util_toplevel_consts_26_consts_3_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, - .co_name = & const_str_factory._ascii.ob_base, - .co_qualname = & importlib_util_toplevel_consts_26_consts_3_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_26_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x87\x00\x87\x01\x97\x00\x89\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x88\x00\x88\x01\x66\x02\x64\x01\x84\x08\x53\x00", + .co_version = 731, + .co_localsplusnames = & importlib_util_toplevel_consts_23_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib_util_toplevel_consts_23_consts_3_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, + .co_name = &_Py_ID(factory), + .co_qualname = & importlib_util_toplevel_consts_23_consts_3_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_23_consts_3_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x87\x00\x87\x01\x97\x00\x89\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x88\x00\x88\x01\x66\x02\x64\x01\x84\x08\x53\x00", ._co_firsttraceable = 2, }; static @@ -141601,11 +137234,11 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_26_consts_4_names = { +importlib_util_toplevel_consts_23_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -141621,10 +137254,10 @@ static PyASCIIObject _ascii; uint8_t _data[20]; } -importlib_util_toplevel_consts_26_consts_4_qualname = { +importlib_util_toplevel_consts_23_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -141633,7 +137266,7 @@ importlib_util_toplevel_consts_26_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LazyLoader.__init__", @@ -141642,18 +137275,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[34]; + char ob_sval[24]; } -importlib_util_toplevel_consts_26_consts_4_linetable = { +importlib_util_toplevel_consts_23_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 33, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x08\x0c\xd7\x08\x21\xd2\x08\x21\xa0\x26\xd1\x08\x29\xd4\x08\x29\xd0\x08\x29\xd8\x16\x1c\x88\x04\x8c\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xd8\x08\x0c\xd7\x08\x21\xd1\x08\x21\xa0\x26\xd4\x08\x29\xd8\x16\x1c\x88\x04\x8d\x0b", }; static struct { @@ -141663,56 +137296,54 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_26_consts_4_localsplusnames = { +importlib_util_toplevel_consts_23_consts_4_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_loader._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(62) -importlib_util_toplevel_consts_26_consts_4 = { + struct _PyCode_DEF(52) +importlib_util_toplevel_consts_23_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 31, + .ob_size = 26, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_26_consts_4_names._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_23_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 283, + .co_firstlineno = 229, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_26_consts_4_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, + .co_version = 732, + .co_localsplusnames = & importlib_util_toplevel_consts_23_consts_4_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), - .co_qualname = & importlib_util_toplevel_consts_26_consts_4_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_26_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + .co_qualname = & importlib_util_toplevel_consts_23_consts_4_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_23_consts_4_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -141723,11 +137354,11 @@ static PyObject *ob_item[2]; }_object; } -importlib_util_toplevel_consts_26_consts_5_names = { +importlib_util_toplevel_consts_23_consts_5_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -141743,10 +137374,10 @@ static PyASCIIObject _ascii; uint8_t _data[25]; } -importlib_util_toplevel_consts_26_consts_5_qualname = { +importlib_util_toplevel_consts_23_consts_5_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -141755,7 +137386,7 @@ importlib_util_toplevel_consts_26_consts_5_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LazyLoader.create_module", @@ -141764,54 +137395,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[25]; + char ob_sval[24]; } -importlib_util_toplevel_consts_26_consts_5_linetable = { +importlib_util_toplevel_consts_23_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 24, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0f\x13\x8c\x7b\xd7\x0f\x28\xd2\x0f\x28\xa8\x14\xd1\x0f\x2e\xd4\x0f\x2e\xd0\x08\x2e", + .ob_sval = "\x80\x00\xd8\x0f\x13\x8f\x7b\x89\x7b\xd7\x0f\x28\xd1\x0f\x28\xa8\x14\xd3\x0f\x2e\xd0\x08\x2e", }; static - struct _PyCode_DEF(54) -importlib_util_toplevel_consts_26_consts_5 = { + struct _PyCode_DEF(56) +importlib_util_toplevel_consts_23_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 27, + .ob_size = 28, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_26_consts_5_names._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_23_consts_5_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 287, + .co_firstlineno = 233, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_55_consts_3_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, + .co_version = 733, + .co_localsplusnames = & importlib__bootstrap_external_toplevel_consts_54_consts_3_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, .co_name = & const_str_create_module._ascii.ob_base, - .co_qualname = & importlib_util_toplevel_consts_26_consts_5_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_26_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_qualname = & importlib_util_toplevel_consts_23_consts_5_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_23_consts_5_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -141819,10 +137448,10 @@ static PyASCIIObject _ascii; uint8_t _data[29]; } -importlib_util_toplevel_consts_26_consts_6_consts_0 = { +importlib_util_toplevel_consts_23_consts_6_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -141831,7 +137460,7 @@ importlib_util_toplevel_consts_26_consts_6_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Make the module load lazily.", @@ -141844,17 +137473,17 @@ static PyObject *ob_item[4]; }_object; } -importlib_util_toplevel_consts_26_consts_6_consts = { +importlib_util_toplevel_consts_23_consts_6_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & importlib_util_toplevel_consts_26_consts_6_consts_0._ascii.ob_base, + & importlib_util_toplevel_consts_23_consts_6_consts_0._ascii.ob_base, &_Py_ID(__dict__), &_Py_ID(__class__), Py_None, @@ -141869,11 +137498,11 @@ static PyObject *ob_item[8]; }_object; } -importlib_util_toplevel_consts_26_consts_6_names = { +importlib_util_toplevel_consts_23_consts_6_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, @@ -141895,10 +137524,10 @@ static PyASCIIObject _ascii; uint8_t _data[23]; } -importlib_util_toplevel_consts_26_consts_6_qualname = { +importlib_util_toplevel_consts_23_consts_6_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 22, @@ -141907,7 +137536,7 @@ importlib_util_toplevel_consts_26_consts_6_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "LazyLoader.exec_module", @@ -141916,18 +137545,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[93]; + char ob_sval[97]; } -importlib_util_toplevel_consts_26_consts_6_linetable = { +importlib_util_toplevel_consts_23_consts_6_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 92, + .ob_size = 96, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x21\x25\xa4\x1b\x88\x06\x8c\x0f\xd4\x08\x1e\xd8\x1c\x20\x9c\x4b\x88\x06\xd4\x08\x19\xf0\x0a\x00\x18\x1a\x88\x0c\xd8\x23\x29\xa4\x3f\xd7\x23\x37\xd2\x23\x37\xd1\x23\x39\xd4\x23\x39\x88\x0c\x90\x5a\xd1\x08\x20\xd8\x24\x2a\xd4\x24\x34\x88\x0c\x90\x5b\xd1\x08\x21\xd8\x27\x33\x88\x06\x8c\x0f\xd4\x08\x24\xdd\x1b\x26\x88\x06\xd4\x08\x18\xd0\x08\x18\xd0\x08\x18", + .ob_sval = "\x80\x00\xe0\x21\x25\xa7\x1b\xa1\x1b\x88\x06\x8f\x0f\x89\x0f\xd4\x08\x1e\xd8\x1c\x20\x9f\x4b\x99\x4b\x88\x06\xd4\x08\x19\xf0\x0a\x00\x18\x1a\x88\x0c\xd8\x23\x29\xa7\x3f\xa1\x3f\xd7\x23\x37\xd1\x23\x37\xd3\x23\x39\x88\x0c\x90\x5a\xd1\x08\x20\xd8\x24\x2a\xd7\x24\x34\xd1\x24\x34\x88\x0c\x90\x5b\xd1\x08\x21\xd8\x27\x33\x88\x06\x8f\x0f\x89\x0f\xd4\x08\x24\xdc\x1b\x26\x88\x06\xd5\x08\x18", }; static struct { @@ -141937,57 +137566,55 @@ static PyObject *ob_item[3]; }_object; } -importlib_util_toplevel_consts_26_consts_6_localsplusnames = { +importlib_util_toplevel_consts_23_consts_6_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { - & const_str_self._ascii.ob_base, - & const_str_module._ascii.ob_base, + &_Py_ID(self), + &_Py_ID(module), & const_str_loader_state._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(192) -importlib_util_toplevel_consts_26_consts_6 = { + struct _PyCode_DEF(240) +importlib_util_toplevel_consts_23_consts_6 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 96, + .ob_size = 120, }, - .co_consts = & importlib_util_toplevel_consts_26_consts_6_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_26_consts_6_names._object.ob_base.ob_base, + .co_consts = & importlib_util_toplevel_consts_23_consts_6_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_23_consts_6_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, - .co_firstlineno = 290, + .co_firstlineno = 236, .co_nlocalsplus = 3, .co_nlocals = 3, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib_util_toplevel_consts_26_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 734, + .co_localsplusnames = & importlib_util_toplevel_consts_23_consts_6_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = & importlib__bootstrap_toplevel_consts_3_localspluskinds.ob_base.ob_base, - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, .co_name = & const_str_exec_module._ascii.ob_base, - .co_qualname = & importlib_util_toplevel_consts_26_consts_6_qualname._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_26_consts_6_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x7d\x02\x7c\x01\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x01\x3c\x00\x00\x00\x7c\x01\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x02\x3c\x00\x00\x00\x7c\x02\x7c\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x53\x00", + .co_qualname = & importlib_util_toplevel_consts_23_consts_6_qualname._ascii.ob_base, + .co_linetable = & importlib_util_toplevel_consts_23_consts_6_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x7d\x02\x7c\x01\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x01\x3c\x00\x00\x00\x7c\x01\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x64\x02\x3c\x00\x00\x00\x7c\x02\x7c\x01\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x79\x03", ._co_firsttraceable = 0, }; static @@ -141998,23 +137625,23 @@ static PyObject *ob_item[8]; }_object; } -importlib_util_toplevel_consts_26_consts = { +importlib_util_toplevel_consts_23_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 8, }, .ob_item = { & const_str_LazyLoader._ascii.ob_base, - & importlib_util_toplevel_consts_26_consts_1._ascii.ob_base, - & importlib_util_toplevel_consts_26_consts_2.ob_base.ob_base, - & importlib_util_toplevel_consts_26_consts_3.ob_base.ob_base, - & importlib_util_toplevel_consts_26_consts_4.ob_base.ob_base, - & importlib_util_toplevel_consts_26_consts_5.ob_base.ob_base, - & importlib_util_toplevel_consts_26_consts_6.ob_base.ob_base, + & importlib_util_toplevel_consts_23_consts_1._ascii.ob_base, + & importlib_util_toplevel_consts_23_consts_2.ob_base.ob_base, + & importlib_util_toplevel_consts_23_consts_3.ob_base.ob_base, + & importlib_util_toplevel_consts_23_consts_4.ob_base.ob_base, + & importlib_util_toplevel_consts_23_consts_5.ob_base.ob_base, + & importlib_util_toplevel_consts_23_consts_6.ob_base.ob_base, Py_None, }, }, @@ -142027,11 +137654,11 @@ static PyObject *ob_item[11]; }_object; } -importlib_util_toplevel_consts_26_names = { +importlib_util_toplevel_consts_23_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -142044,7 +137671,7 @@ importlib_util_toplevel_consts_26_names = { & const_str_staticmethod._ascii.ob_base, & const_str__LazyLoader__check_eager_loader._ascii.ob_base, & const_str_classmethod._ascii.ob_base, - & const_str_factory._ascii.ob_base, + &_Py_ID(factory), &_Py_ID(__init__), & const_str_create_module._ascii.ob_base, & const_str_exec_module._ascii.ob_base, @@ -142055,54 +137682,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[130]; + char ob_sval[63]; } -importlib_util_toplevel_consts_26_linetable = { +importlib_util_toplevel_consts_23_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 129, + .ob_size = 62, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xe0\x04\x55\xd0\x04\x55\xe0\x05\x11\xf0\x02\x02\x05\x40\x01\xf0\x00\x02\x05\x40\x01\xf1\x03\x00\x06\x12\x84\x5c\xf0\x02\x02\x05\x40\x01\xf0\x08\x00\x06\x11\xf0\x02\x03\x05\x44\x01\xf0\x00\x03\x05\x44\x01\xf1\x03\x00\x06\x11\x84\x5b\xf0\x02\x03\x05\x44\x01\xf0\x0a\x02\x05\x1d\xf0\x00\x02\x05\x1d\xf0\x00\x02\x05\x1d\xf0\x08\x01\x05\x2f\xf0\x00\x01\x05\x2f\xf0\x00\x01\x05\x2f\xf0\x06\x0c\x05\x27\xf0\x00\x0c\x05\x27\xf0\x00\x0c\x05\x27\xf0\x00\x0c\x05\x27\xf0\x00\x0c\x05\x27", + .ob_sval = "\x84\x00\xe1\x04\x55\xe0\x05\x11\xf1\x02\x02\x05\x40\x01\xf3\x03\x00\x06\x12\xf0\x02\x02\x05\x40\x01\xf0\x08\x00\x06\x11\xf1\x02\x03\x05\x44\x01\xf3\x03\x00\x06\x11\xf0\x02\x03\x05\x44\x01\xf2\x0a\x02\x05\x1d\xf2\x08\x01\x05\x2f\xf3\x06\x0c\x05\x27", }; static - struct _PyCode_DEF(80) -importlib_util_toplevel_consts_26 = { + struct _PyCode_DEF(66) +importlib_util_toplevel_consts_23 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 40, + .ob_size = 33, }, - .co_consts = & importlib_util_toplevel_consts_26_consts._object.ob_base.ob_base, - .co_names = & importlib_util_toplevel_consts_26_names._object.ob_base.ob_base, + .co_consts = & importlib_util_toplevel_consts_23_consts._object.ob_base.ob_base, + .co_names = & importlib_util_toplevel_consts_23_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, - .co_firstlineno = 268, + .co_firstlineno = 214, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 735, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, .co_name = & const_str_LazyLoader._ascii.ob_base, .co_qualname = & const_str_LazyLoader._ascii.ob_base, - .co_linetable = & importlib_util_toplevel_consts_26_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x04\x84\x00\x5a\x08\x64\x05\x84\x00\x5a\x09\x64\x06\x84\x00\x5a\x0a\x64\x07\x53\x00", + .co_linetable = & importlib_util_toplevel_consts_23_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x65\x04\x64\x02\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x65\x06\x64\x03\x84\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5a\x07\x64\x04\x84\x00\x5a\x08\x64\x05\x84\x00\x5a\x09\x64\x06\x84\x00\x5a\x0a\x79\x07", ._co_firsttraceable = 0, }; static @@ -142110,17 +137735,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[29]; + PyObject *ob_item[26]; }_object; } importlib_util_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 29, + .ob_size = 26, }, .ob_item = { & importlib_util_toplevel_consts_0._ascii.ob_base, @@ -142135,64 +137760,39 @@ importlib_util_toplevel_consts = { & importlib_util_toplevel_consts_9._object.ob_base.ob_base, & importlib_util_toplevel_consts_10._object.ob_base.ob_base, & importlib_util_toplevel_consts_11._object.ob_base.ob_base, - & importlib__bootstrap_external_toplevel_consts_73_consts_5_names._object.ob_base.ob_base, + & importlib__bootstrap_external_toplevel_consts_72_consts_4_names._object.ob_base.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & importlib_util_toplevel_consts_14._object.ob_base.ob_base, Py_None, + & importlib_util_toplevel_consts_15.ob_base.ob_base, & importlib_util_toplevel_consts_16.ob_base.ob_base, & importlib_util_toplevel_consts_17.ob_base.ob_base, & importlib_util_toplevel_consts_18.ob_base.ob_base, & importlib_util_toplevel_consts_19.ob_base.ob_base, - & importlib_util_toplevel_consts_20.ob_base.ob_base, + & const_str__incompatible_extension_module_restrictions._ascii.ob_base, & importlib_util_toplevel_consts_21.ob_base.ob_base, - & importlib_util_toplevel_consts_22.ob_base.ob_base, - & importlib_util_toplevel_consts_23.ob_base.ob_base, - & importlib_util_toplevel_consts_24.ob_base.ob_base, & const_str__LazyModule._ascii.ob_base, - & importlib_util_toplevel_consts_26.ob_base.ob_base, + & importlib_util_toplevel_consts_23.ob_base.ob_base, & const_str_LazyLoader._ascii.ob_base, & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[11]; - } -const_str_contextlib = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 10, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "contextlib", -}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[33]; + PyObject *ob_item[26]; }_object; } importlib_util_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 33, + .ob_size = 26, }, .ob_item = { &_Py_ID(__doc__), @@ -142210,21 +137810,14 @@ importlib_util_toplevel_names = { & const_str_decode_source._ascii.ob_base, & const_str_source_from_cache._ascii.ob_base, & const_str_spec_from_file_location._ascii.ob_base, - & const_str_contextlib._ascii.ob_base, - & const_str_contextmanager._ascii.ob_base, & const_str__imp._ascii.ob_base, - & const_str_functools._ascii.ob_base, & const_str_sys._ascii.ob_base, & const_str_types._ascii.ob_base, - &_Py_ID(warnings), & const_str_source_hash._ascii.ob_base, & const_str_resolve_name._ascii.ob_base, & const_str__find_spec_from_path._ascii.ob_base, & const_str_find_spec._ascii.ob_base, - & const_str__module_to_load._ascii.ob_base, - & const_str_set_package._ascii.ob_base, - & const_str_set_loader._ascii.ob_base, - & const_str_module_for_loader._ascii.ob_base, + & const_str__incompatible_extension_module_restrictions._ascii.ob_base, & const_str_ModuleType._ascii.ob_base, & const_str__LazyModule._ascii.ob_base, & const_str_LazyLoader._ascii.ob_base, @@ -142235,63 +137828,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[518]; + char ob_sval[114]; } importlib_util_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 517, + .ob_size = 113, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xd8\x00\x33\xd0\x00\x33\xd8\x00\x18\xd0\x00\x18\xd0\x00\x18\xd0\x00\x18\xd0\x00\x18\xd0\x00\x18\xd8\x00\x28\xd0\x00\x28\xd0\x00\x28\xd0\x00\x28\xd0\x00\x28\xd0\x00\x28\xd8\x00\x25\xd0\x00\x25\xd0\x00\x25\xd0\x00\x25\xd0\x00\x25\xd0\x00\x25\xd8\x00\x28\xd0\x00\x28\xd0\x00\x28\xd0\x00\x28\xd0\x00\x28\xd0\x00\x28\xd8\x00\x22\xd0\x00\x22\xd0\x00\x22\xd0\x00\x22\xd0\x00\x22\xd0\x00\x22\xd8\x00\x2d\xd0\x00\x2d\xd0\x00\x2d\xd0\x00\x2d\xd0\x00\x2d\xd0\x00\x2d\xd8\x00\x32\xd0\x00\x32\xd0\x00\x32\xd0\x00\x32\xd0\x00\x32\xd0\x00\x32\xd8\x00\x32\xd0\x00\x32\xd0\x00\x32\xd0\x00\x32\xd0\x00\x32\xd0\x00\x32\xd8\x00\x2e\xd0\x00\x2e\xd0\x00\x2e\xd0\x00\x2e\xd0\x00\x2e\xd0\x00\x2e\xd8\x00\x32\xd0\x00\x32\xd0\x00\x32\xd0\x00\x32\xd0\x00\x32\xd0\x00\x32\xd8\x00\x38\xd0\x00\x38\xd0\x00\x38\xd0\x00\x38\xd0\x00\x38\xd0\x00\x38\xe0\x00\x25\xd0\x00\x25\xd0\x00\x25\xd0\x00\x25\xd0\x00\x25\xd0\x00\x25\xd8\x00\x0b\x80\x0b\x80\x0b\x80\x0b\xd8\x00\x10\xd0\x00\x10\xd0\x00\x10\xd0\x00\x10\xd8\x00\x0a\x80\x0a\x80\x0a\x80\x0a\xd8\x00\x0c\x80\x0c\x80\x0c\x80\x0c\xd8\x00\x0f\x80\x0f\x80\x0f\x80\x0f\xf0\x06\x02\x01\x3d\xf0\x00\x02\x01\x3d\xf0\x00\x02\x01\x3d\xf0\x0a\x0c\x01\x37\xf0\x00\x0c\x01\x37\xf0\x00\x0c\x01\x37\xf0\x1e\x1c\x01\x18\xf0\x00\x1c\x01\x18\xf0\x00\x1c\x01\x18\xf0\x00\x1c\x01\x18\xf0\x3e\x2a\x01\x18\xf0\x00\x2a\x01\x18\xf0\x00\x2a\x01\x18\xf0\x00\x2a\x01\x18\xf0\x5a\x01\x00\x02\x10\xf0\x02\x16\x01\x28\xf0\x00\x16\x01\x28\xf1\x03\x00\x02\x10\x84\x1e\xf0\x02\x16\x01\x28\xf0\x32\x11\x01\x1f\xf0\x00\x11\x01\x1f\xf0\x00\x11\x01\x1f\xf0\x28\x0f\x01\x1e\xf0\x00\x0f\x01\x1e\xf0\x00\x0f\x01\x1e\xf0\x24\x25\x01\x25\xf0\x00\x25\x01\x25\xf0\x00\x25\x01\x25\xf0\x50\x01\x2b\x01\x1c\xf0\x00\x2b\x01\x1c\xf0\x00\x2b\x01\x1c\xf0\x00\x2b\x01\x1c\xf0\x00\x2b\x01\x1c\x90\x25\xd4\x12\x22\xf1\x00\x2b\x01\x1c\xf4\x00\x2b\x01\x1c\xf0\x00\x2b\x01\x1c\xf0\x5c\x01\x22\x01\x27\xf0\x00\x22\x01\x27\xf0\x00\x22\x01\x27\xf0\x00\x22\x01\x27\xf0\x00\x22\x01\x27\x90\x16\xf1\x00\x22\x01\x27\xf4\x00\x22\x01\x27\xf0\x00\x22\x01\x27\xf0\x00\x22\x01\x27\xf0\x00\x22\x01\x27", + .ob_sval = "\xf0\x03\x01\x01\x01\xd9\x00\x33\xdd\x00\x18\xdd\x00\x28\xdd\x00\x25\xdd\x00\x28\xdd\x00\x22\xdd\x00\x2d\xdd\x00\x32\xdd\x00\x32\xdd\x00\x2e\xdd\x00\x32\xdd\x00\x38\xe3\x00\x0b\xdb\x00\x0a\xdb\x00\x0c\xf2\x06\x02\x01\x3d\xf2\x0a\x0c\x01\x37\xf3\x1e\x1c\x01\x18\xf3\x3e\x2a\x01\x18\xf7\x62\x01\x2e\x01\x2f\xf1\x00\x2e\x01\x2f\xf4\x62\x01\x2b\x01\x1c\x90\x25\xd7\x12\x22\xd1\x12\x22\xf4\x00\x2b\x01\x1c\xf4\x5c\x01\x22\x01\x27\x90\x16\xf5\x00\x22\x01\x27", }; static - struct _PyCode_DEF(328) + struct _PyCode_DEF(276) importlib_util_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 164, + .ob_size = 138, }, .co_consts = & importlib_util_toplevel_consts._object.ob_base.ob_base, .co_names = & importlib_util_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 736, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), - .co_filename = & importlib_util_toplevel_consts_16_filename._ascii.ob_base, + .co_filename = & importlib_util_toplevel_consts_15_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & importlib_util_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x6d\x02\x5a\x02\x01\x00\x64\x01\x64\x03\x6c\x03\x6d\x04\x5a\x04\x01\x00\x64\x01\x64\x04\x6c\x03\x6d\x05\x5a\x05\x01\x00\x64\x01\x64\x05\x6c\x03\x6d\x06\x5a\x06\x01\x00\x64\x01\x64\x06\x6c\x03\x6d\x07\x5a\x07\x01\x00\x64\x01\x64\x07\x6c\x08\x6d\x09\x5a\x09\x01\x00\x64\x01\x64\x08\x6c\x08\x6d\x0a\x5a\x0a\x01\x00\x64\x01\x64\x09\x6c\x08\x6d\x0b\x5a\x0b\x01\x00\x64\x01\x64\x0a\x6c\x08\x6d\x0c\x5a\x0c\x01\x00\x64\x01\x64\x0b\x6c\x08\x6d\x0d\x5a\x0d\x01\x00\x64\x01\x64\x0c\x6c\x08\x6d\x0e\x5a\x0e\x01\x00\x64\x0d\x64\x0e\x6c\x0f\x6d\x10\x5a\x10\x01\x00\x64\x0d\x64\x0f\x6c\x11\x5a\x11\x64\x0d\x64\x0f\x6c\x12\x5a\x12\x64\x0d\x64\x0f\x6c\x13\x5a\x13\x64\x0d\x64\x0f\x6c\x14\x5a\x14\x64\x0d\x64\x0f\x6c\x15\x5a\x15\x64\x10\x84\x00\x5a\x16\x64\x11\x84\x00\x5a\x17\x64\x1c\x64\x12\x84\x01\x5a\x18\x64\x1c\x64\x13\x84\x01\x5a\x19\x65\x10\x64\x14\x84\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1a\x64\x15\x84\x00\x5a\x1b\x64\x16\x84\x00\x5a\x1c\x64\x17\x84\x00\x5a\x1d\x02\x00\x47\x00\x64\x18\x84\x00\x64\x19\x65\x14\x6a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x1f\x02\x00\x47\x00\x64\x1a\x84\x00\x64\x1b\x65\x02\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x20\x64\x0f\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x6d\x02\x5a\x02\x01\x00\x64\x01\x64\x03\x6c\x03\x6d\x04\x5a\x04\x01\x00\x64\x01\x64\x04\x6c\x03\x6d\x05\x5a\x05\x01\x00\x64\x01\x64\x05\x6c\x03\x6d\x06\x5a\x06\x01\x00\x64\x01\x64\x06\x6c\x03\x6d\x07\x5a\x07\x01\x00\x64\x01\x64\x07\x6c\x08\x6d\x09\x5a\x09\x01\x00\x64\x01\x64\x08\x6c\x08\x6d\x0a\x5a\x0a\x01\x00\x64\x01\x64\x09\x6c\x08\x6d\x0b\x5a\x0b\x01\x00\x64\x01\x64\x0a\x6c\x08\x6d\x0c\x5a\x0c\x01\x00\x64\x01\x64\x0b\x6c\x08\x6d\x0d\x5a\x0d\x01\x00\x64\x01\x64\x0c\x6c\x08\x6d\x0e\x5a\x0e\x01\x00\x64\x0d\x64\x0e\x6c\x0f\x5a\x0f\x64\x0d\x64\x0e\x6c\x10\x5a\x10\x64\x0d\x64\x0e\x6c\x11\x5a\x11\x64\x0f\x84\x00\x5a\x12\x64\x10\x84\x00\x5a\x13\x64\x19\x64\x11\x84\x01\x5a\x14\x64\x19\x64\x12\x84\x01\x5a\x15\x02\x00\x47\x00\x64\x13\x84\x00\x64\x14\xab\x02\x00\x00\x00\x00\x00\x00\x5a\x16\x02\x00\x47\x00\x64\x15\x84\x00\x64\x16\x65\x11\x6a\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x18\x02\x00\x47\x00\x64\x17\x84\x00\x64\x18\x65\x02\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x19\x79\x0e", ._co_firsttraceable = 0, }; -static void importlib_util_do_patchups(void) { -} PyObject * _Py_get_importlib_util_toplevel(void) { - importlib_util_do_patchups(); return Py_NewRef((PyObject *) &importlib_util_toplevel); } @@ -142303,7 +137891,7 @@ static importlib_machinery_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 57, @@ -142312,7 +137900,7 @@ importlib_machinery_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "The machinery of importlib: finders, loaders, hooks, etc.", @@ -142329,7 +137917,7 @@ importlib_machinery_toplevel_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142351,7 +137939,7 @@ importlib_machinery_toplevel_consts_3 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142373,7 +137961,7 @@ importlib_machinery_toplevel_consts_4 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142395,7 +137983,7 @@ importlib_machinery_toplevel_consts_5 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -142421,7 +138009,7 @@ importlib_machinery_toplevel_consts_6 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142443,7 +138031,7 @@ importlib_machinery_toplevel_consts_7 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142465,7 +138053,7 @@ importlib_machinery_toplevel_consts_8 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142487,7 +138075,7 @@ importlib_machinery_toplevel_consts_9 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142509,7 +138097,7 @@ importlib_machinery_toplevel_consts_10 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142531,7 +138119,7 @@ importlib_machinery_toplevel_consts_11 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142553,7 +138141,7 @@ importlib_machinery_toplevel_consts_12 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142571,7 +138159,7 @@ static importlib_machinery_toplevel_consts_13_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 65, @@ -142580,7 +138168,7 @@ importlib_machinery_toplevel_consts_13_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Returns a list of all recognized module suffixes for this process", @@ -142597,7 +138185,7 @@ importlib_machinery_toplevel_consts_13_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -142619,7 +138207,7 @@ importlib_machinery_toplevel_consts_13_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -142639,7 +138227,7 @@ static importlib_machinery_toplevel_consts_13_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -142648,7 +138236,7 @@ importlib_machinery_toplevel_consts_13_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -142661,7 +138249,7 @@ static const_str_all_suffixes = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -142670,7 +138258,7 @@ const_str_all_suffixes = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "all_suffixes", @@ -142684,49 +138272,47 @@ static importlib_machinery_toplevel_consts_13_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 20, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe5\x0b\x1a\xd5\x1d\x2e\xd1\x0b\x2e\xd5\x31\x43\xd1\x0b\x43\xd0\x04\x43", + .ob_sval = "\x80\x00\xe4\x0b\x1a\xd4\x1d\x2e\xd1\x0b\x2e\xd4\x31\x43\xd1\x0b\x43\xd0\x04\x43", }; static - struct _PyCode_DEF(48) + struct _PyCode_DEF(42) importlib_machinery_toplevel_consts_13 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 24, + .ob_size = 21, }, .co_consts = & importlib_machinery_toplevel_consts_13_consts._object.ob_base.ob_base, .co_names = & importlib_machinery_toplevel_consts_13_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 18, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 737, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & importlib_machinery_toplevel_consts_13_filename._ascii.ob_base, .co_name = & const_str_all_suffixes._ascii.ob_base, .co_qualname = & const_str_all_suffixes._ascii.ob_base, .co_linetable = & importlib_machinery_toplevel_consts_13_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -142741,7 +138327,7 @@ importlib_machinery_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 15, @@ -142777,7 +138363,7 @@ importlib_machinery_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 19, @@ -142809,63 +138395,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[294]; + char ob_sval[57]; } importlib_machinery_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 293, + .ob_size = 56, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xd8\x00\x3f\xd0\x00\x3f\xe0\x00\x22\xd0\x00\x22\xd0\x00\x22\xd0\x00\x22\xd0\x00\x22\xd0\x00\x22\xd8\x00\x27\xd0\x00\x27\xd0\x00\x27\xd0\x00\x27\xd0\x00\x27\xd0\x00\x27\xd8\x00\x26\xd0\x00\x26\xd0\x00\x26\xd0\x00\x26\xd0\x00\x26\xd0\x00\x26\xf0\x02\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x00\x02\x01\x29\xf0\x06\x00\x01\x37\xd0\x00\x36\xd0\x00\x36\xd0\x00\x36\xd0\x00\x36\xd0\x00\x36\xd8\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd8\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd0\x00\x2b\xd8\x00\x31\xd0\x00\x31\xd0\x00\x31\xd0\x00\x31\xd0\x00\x31\xd0\x00\x31\xd8\x00\x35\xd0\x00\x35\xd0\x00\x35\xd0\x00\x35\xd0\x00\x35\xd0\x00\x35\xd8\x00\x34\xd0\x00\x34\xd0\x00\x34\xd0\x00\x34\xd0\x00\x34\xd0\x00\x34\xd8\x00\x30\xd0\x00\x30\xd0\x00\x30\xd0\x00\x30\xd0\x00\x30\xd0\x00\x30\xf0\x06\x02\x01\x44\x01\xf0\x00\x02\x01\x44\x01\xf0\x00\x02\x01\x44\x01\xf0\x00\x02\x01\x44\x01\xf0\x00\x02\x01\x44\x01", + .ob_sval = "\xf0\x03\x01\x01\x01\xd9\x00\x3f\xe5\x00\x22\xdd\x00\x27\xdd\x00\x26\xf7\x02\x02\x01\x29\xf5\x00\x02\x01\x29\xf5\x06\x00\x01\x37\xdd\x00\x2b\xdd\x00\x2b\xdd\x00\x31\xdd\x00\x35\xdd\x00\x34\xdd\x00\x30\xf3\x06\x02\x01\x44\x01", }; static - struct _PyCode_DEF(164) + struct _PyCode_DEF(162) importlib_machinery_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 82, + .ob_size = 81, }, .co_consts = & importlib_machinery_toplevel_consts._object.ob_base.ob_base, .co_names = & importlib_machinery_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 738, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & importlib_machinery_toplevel_consts_13_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & importlib_machinery_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x6d\x02\x5a\x02\x01\x00\x64\x01\x64\x03\x6c\x01\x6d\x03\x5a\x03\x01\x00\x64\x01\x64\x04\x6c\x01\x6d\x04\x5a\x04\x01\x00\x64\x01\x64\x05\x6c\x05\x6d\x06\x5a\x06\x6d\x07\x5a\x07\x6d\x08\x5a\x08\x6d\x09\x5a\x09\x6d\x0a\x5a\x0a\x01\x00\x64\x01\x64\x06\x6c\x05\x6d\x0b\x5a\x0b\x01\x00\x64\x01\x64\x07\x6c\x05\x6d\x0c\x5a\x0c\x01\x00\x64\x01\x64\x08\x6c\x05\x6d\x0d\x5a\x0d\x01\x00\x64\x01\x64\x09\x6c\x05\x6d\x0e\x5a\x0e\x01\x00\x64\x01\x64\x0a\x6c\x05\x6d\x0f\x5a\x0f\x01\x00\x64\x01\x64\x0b\x6c\x05\x6d\x10\x5a\x10\x01\x00\x64\x01\x64\x0c\x6c\x05\x6d\x11\x5a\x11\x01\x00\x64\x0d\x84\x00\x5a\x12\x64\x0e\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x6d\x02\x5a\x02\x01\x00\x64\x01\x64\x03\x6c\x01\x6d\x03\x5a\x03\x01\x00\x64\x01\x64\x04\x6c\x01\x6d\x04\x5a\x04\x01\x00\x64\x01\x64\x05\x6c\x05\x6d\x06\x5a\x06\x6d\x07\x5a\x07\x6d\x08\x5a\x08\x6d\x09\x5a\x09\x6d\x0a\x5a\x0a\x01\x00\x64\x01\x64\x06\x6c\x05\x6d\x0b\x5a\x0b\x01\x00\x64\x01\x64\x07\x6c\x05\x6d\x0c\x5a\x0c\x01\x00\x64\x01\x64\x08\x6c\x05\x6d\x0d\x5a\x0d\x01\x00\x64\x01\x64\x09\x6c\x05\x6d\x0e\x5a\x0e\x01\x00\x64\x01\x64\x0a\x6c\x05\x6d\x0f\x5a\x0f\x01\x00\x64\x01\x64\x0b\x6c\x05\x6d\x10\x5a\x10\x01\x00\x64\x01\x64\x0c\x6c\x05\x6d\x11\x5a\x11\x01\x00\x64\x0d\x84\x00\x5a\x12\x79\x0e", ._co_firsttraceable = 0, }; -static void importlib_machinery_do_patchups(void) { -} PyObject * _Py_get_importlib_machinery_toplevel(void) { - importlib_machinery_do_patchups(); return Py_NewRef((PyObject *) &importlib_machinery_toplevel); } @@ -142877,7 +138458,7 @@ static runpy_toplevel_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 346, @@ -142886,7 +138467,7 @@ runpy_toplevel_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x72\x75\x6e\x70\x79\x2e\x70\x79\x20\x2d\x20\x6c\x6f\x63\x61\x74\x69\x6e\x67\x20\x61\x6e\x64\x20\x72\x75\x6e\x6e\x69\x6e\x67\x20\x50\x79\x74\x68\x6f\x6e\x20\x63\x6f\x64\x65\x20\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x0a\x0a\x50\x72\x6f\x76\x69\x64\x65\x73\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x66\x6f\x72\x20\x6c\x6f\x63\x61\x74\x69\x6e\x67\x20\x61\x6e\x64\x20\x72\x75\x6e\x6e\x69\x6e\x67\x20\x50\x79\x74\x68\x6f\x6e\x20\x73\x63\x72\x69\x70\x74\x73\x20\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x50\x79\x74\x68\x6f\x6e\x0a\x6d\x6f\x64\x75\x6c\x65\x20\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x20\x69\x6e\x73\x74\x65\x61\x64\x20\x6f\x66\x20\x74\x68\x65\x20\x6e\x61\x74\x69\x76\x65\x20\x66\x69\x6c\x65\x73\x79\x73\x74\x65\x6d\x2e\x0a\x0a\x54\x68\x69\x73\x20\x61\x6c\x6c\x6f\x77\x73\x20\x50\x79\x74\x68\x6f\x6e\x20\x63\x6f\x64\x65\x20\x74\x6f\x20\x70\x6c\x61\x79\x20\x6e\x69\x63\x65\x6c\x79\x20\x77\x69\x74\x68\x20\x6e\x6f\x6e\x2d\x66\x69\x6c\x65\x73\x79\x73\x74\x65\x6d\x20\x62\x61\x73\x65\x64\x20\x50\x45\x50\x20\x33\x30\x32\x0a\x69\x6d\x70\x6f\x72\x74\x65\x72\x73\x20\x77\x68\x65\x6e\x20\x6c\x6f\x63\x61\x74\x69\x6e\x67\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x73\x63\x72\x69\x70\x74\x73\x20\x61\x73\x20\x77\x65\x6c\x6c\x20\x61\x73\x20\x77\x68\x65\x6e\x20\x69\x6d\x70\x6f\x72\x74\x69\x6e\x67\x20\x6d\x6f\x64\x75\x6c\x65\x73\x2e\x0a", @@ -142899,7 +138480,7 @@ static const_str_run_module = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -142908,7 +138489,7 @@ const_str_run_module = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "run_module", @@ -142921,7 +138502,7 @@ static const_str_run_path = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -142930,7 +138511,7 @@ const_str_run_path = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "run_path", @@ -142943,7 +138524,7 @@ static const_str__TempModule = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -142952,7 +138533,7 @@ const_str__TempModule = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_TempModule", @@ -142965,7 +138546,7 @@ static runpy_toplevel_consts_5_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 67, @@ -142974,7 +138555,7 @@ runpy_toplevel_consts_5_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Temporarily replace a module in sys.modules with an empty namespace", @@ -142987,7 +138568,7 @@ static const_str_mod_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -142996,7 +138577,7 @@ const_str_mod_name = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "mod_name", @@ -143009,7 +138590,7 @@ static const_str__saved_module = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -143018,7 +138599,7 @@ const_str__saved_module = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_saved_module", @@ -143035,7 +138616,7 @@ runpy_toplevel_consts_5_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -143043,7 +138624,7 @@ runpy_toplevel_consts_5_consts_2_names = { .ob_item = { & const_str_mod_name._ascii.ob_base, & const_str_ModuleType._ascii.ob_base, - & const_str_module._ascii.ob_base, + &_Py_ID(module), & const_str__saved_module._ascii.ob_base, }, }, @@ -143056,7 +138637,7 @@ static runpy_toplevel_consts_5_consts_2_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -143065,7 +138646,7 @@ runpy_toplevel_consts_5_consts_2_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -143078,7 +138659,7 @@ static runpy_toplevel_consts_5_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -143087,7 +138668,7 @@ runpy_toplevel_consts_5_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_TempModule.__init__", @@ -143096,18 +138677,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[39]; + char ob_sval[30]; } runpy_toplevel_consts_5_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 38, + .ob_size = 29, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x18\x20\x88\x04\x8c\x0d\xdd\x16\x20\xa0\x18\xd1\x16\x2a\xd4\x16\x2a\x88\x04\x8c\x0b\xd8\x1d\x1f\x88\x04\xd4\x08\x1a\xd0\x08\x1a\xd0\x08\x1a", + .ob_sval = "\x80\x00\xd8\x18\x20\x88\x04\x8c\x0d\xdc\x16\x20\xa0\x18\xd3\x16\x2a\x88\x04\x8c\x0b\xd8\x1d\x1f\x88\x04\xd5\x08\x1a", }; static struct { @@ -143121,52 +138702,50 @@ runpy_toplevel_consts_5_consts_2_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, }, .ob_item = { - & const_str_self._ascii.ob_base, + &_Py_ID(self), & const_str_mod_name._ascii.ob_base, }, }, }; static - struct _PyCode_DEF(74) + struct _PyCode_DEF(64) runpy_toplevel_consts_5_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 37, + .ob_size = 32, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_5_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 28, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 739, .co_localsplusnames = & runpy_toplevel_consts_5_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), .co_qualname = & runpy_toplevel_consts_5_consts_2_qualname._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_5_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -143181,7 +138760,7 @@ runpy_toplevel_consts_5_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -143193,7 +138772,7 @@ runpy_toplevel_consts_5_consts_3_names = { & const_str_sys._ascii.ob_base, &_Py_ID(modules), & const_str_KeyError._ascii.ob_base, - & const_str_module._ascii.ob_base, + &_Py_ID(module), }, }, }; @@ -143205,7 +138784,7 @@ static runpy_toplevel_consts_5_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -143214,7 +138793,7 @@ runpy_toplevel_consts_5_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_TempModule.__enter__", @@ -143223,71 +138802,69 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[99]; + char ob_sval[91]; } runpy_toplevel_consts_5_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 98, + .ob_size = 90, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x13\x17\x94\x3d\x88\x08\xf0\x02\x03\x09\x11\xd8\x0c\x10\xd4\x0c\x1e\xd7\x0c\x25\xd2\x0c\x25\xa5\x63\xa4\x6b\xb0\x28\xd4\x26\x3b\xd1\x0c\x3c\xd4\x0c\x3c\xd0\x0c\x3c\xd0\x0c\x3c\xf8\xdd\x0f\x17\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xf0\x00\x01\x09\x11\xd8\x0c\x10\x88\x44\xf0\x03\x01\x09\x11\xf8\xf8\xf8\xe0\x20\x24\xa4\x0b\x8d\x03\x8c\x0b\x90\x48\xd1\x08\x1d\xd8\x0f\x13\x88\x0b", + .ob_sval = "\x80\x00\xd8\x13\x17\x97\x3d\x91\x3d\x88\x08\xf0\x02\x03\x09\x11\xd8\x0c\x10\xd7\x0c\x1e\xd1\x0c\x1e\xd7\x0c\x25\xd1\x0c\x25\xa4\x63\xa7\x6b\xa1\x6b\xb0\x28\xd1\x26\x3b\xd4\x0c\x3c\xf0\x06\x00\x21\x25\xa7\x0b\xa1\x0b\x8c\x03\x8f\x0b\x89\x0b\x90\x48\xd1\x08\x1d\xd8\x0f\x13\x88\x0b\xf8\xf4\x07\x00\x10\x18\xf2\x00\x01\x09\x11\xd9\x0c\x10\xf0\x03\x01\x09\x11\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[18]; } runpy_toplevel_consts_5_consts_3_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x89\x2a\x34\x00\xb4\x0a\x41\x01\x03\xc1\x00\x01\x41\x01\x03", + .ob_sval = "\x8e\x2c\x41\x19\x00\xc1\x19\x09\x41\x25\x03\xc1\x24\x01\x41\x25\x03", }; static - struct _PyCode_DEF(180) + struct _PyCode_DEF(208) runpy_toplevel_consts_5_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 90, + .ob_size = 104, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_5_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = & runpy_toplevel_consts_5_consts_3_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 6 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 33, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 740, .co_localsplusnames = & runpy_toplevel_consts_5_consts_2_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = &_Py_ID(__enter__), .co_qualname = & runpy_toplevel_consts_5_consts_3_qualname._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_5_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x10\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x6e\x04\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3c\x00\x00\x00\x7c\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x09\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3c\x00\x00\x00\x7c\x00\x53\x00\x23\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x8c\x2a\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -143302,7 +138879,7 @@ runpy_toplevel_consts_5_consts_4_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -143323,7 +138900,7 @@ static runpy_toplevel_consts_5_consts_4_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -143332,7 +138909,7 @@ runpy_toplevel_consts_5_consts_4_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_TempModule.__exit__", @@ -143341,54 +138918,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[65]; + char ob_sval[77]; } runpy_toplevel_consts_5_consts_4_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 64, + .ob_size = 76, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0b\x0f\xd4\x0b\x1d\xf0\x00\x03\x09\x2b\xd8\x29\x2d\xd4\x29\x3b\xb8\x41\xd4\x29\x3e\x8d\x43\x8c\x4b\x98\x04\x9c\x0d\xd1\x0c\x26\xd0\x0c\x26\xe5\x10\x13\x94\x0b\x98\x44\x9c\x4d\xd0\x10\x2a\xd8\x1d\x1f\x88\x04\xd4\x08\x1a\xd0\x08\x1a\xd0\x08\x1a", + .ob_sval = "\x80\x00\xd8\x0b\x0f\xd7\x0b\x1d\xd2\x0b\x1d\xd8\x29\x2d\xd7\x29\x3b\xd1\x29\x3b\xb8\x41\xd1\x29\x3e\x8c\x43\x8f\x4b\x89\x4b\x98\x04\x9f\x0d\x99\x0d\xd1\x0c\x26\xf0\x06\x00\x1e\x20\x88\x04\xd5\x08\x1a\xf4\x03\x00\x11\x14\x97\x0b\x91\x0b\x98\x44\x9f\x4d\x99\x4d\xd0\x10\x2a\xd8\x1d\x1f\x88\x04\xd5\x08\x1a", }; static - struct _PyCode_DEF(134) + struct _PyCode_DEF(196) runpy_toplevel_consts_5_consts_4 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 67, + .ob_size = 98, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_5_consts_4_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 42, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 741, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_5_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = &_Py_ID(__exit__), .co_qualname = & runpy_toplevel_consts_5_consts_4_qualname._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_5_consts_4_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x20\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x6e\x12\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x67\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x32\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x67\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x67\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -143403,7 +138978,7 @@ runpy_toplevel_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -143418,86 +138993,56 @@ runpy_toplevel_consts_5_consts = { }, }, }; -static - struct { - PyGC_Head _gc_head; - struct { - PyObject_VAR_HEAD - PyObject *ob_item[7]; - }_object; - } -runpy_toplevel_consts_5_names = { - ._object = { - .ob_base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyTuple_Type, - }, - .ob_size = 7, - }, - .ob_item = { - &_Py_ID(__name__), - &_Py_ID(__module__), - &_Py_ID(__qualname__), - &_Py_ID(__doc__), - &_Py_ID(__init__), - &_Py_ID(__enter__), - &_Py_ID(__exit__), - }, - }, -}; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[72]; + char ob_sval[21]; } runpy_toplevel_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 71, + .ob_size = 20, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xd8\x04\x4d\xd0\x04\x4d\xf0\x02\x03\x05\x20\xf0\x00\x03\x05\x20\xf0\x00\x03\x05\x20\xf0\x0a\x07\x05\x14\xf0\x00\x07\x05\x14\xf0\x00\x07\x05\x14\xf0\x12\x05\x05\x20\xf0\x00\x05\x05\x20\xf0\x00\x05\x05\x20\xf0\x00\x05\x05\x20\xf0\x00\x05\x05\x20", + .ob_sval = "\x84\x00\xd9\x04\x4d\xf2\x02\x03\x05\x20\xf2\x0a\x07\x05\x14\xf3\x12\x05\x05\x20", }; static - struct _PyCode_DEF(36) + struct _PyCode_DEF(34) runpy_toplevel_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 17, }, .co_consts = & runpy_toplevel_consts_5_consts._object.ob_base.ob_base, - .co_names = & runpy_toplevel_consts_5_names._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 26, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 742, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str__TempModule._ascii.ob_base, .co_qualname = & const_str__TempModule._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x64\x05\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x84\x00\x5a\x06\x79\x05", ._co_firsttraceable = 0, }; static @@ -143508,7 +139053,7 @@ static const_str__ModifiedArgv0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -143517,7 +139062,7 @@ const_str__ModifiedArgv0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_ModifiedArgv0", @@ -143530,7 +139075,7 @@ static const_str__saved_value = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -143539,7 +139084,7 @@ const_str__saved_value = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_saved_value", @@ -143552,7 +139097,7 @@ static const_str__sentinel = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -143561,7 +139106,7 @@ const_str__sentinel = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_sentinel", @@ -143578,14 +139123,14 @@ runpy_toplevel_consts_7_consts_1_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, }, .ob_item = { - & const_str_value._ascii.ob_base, - & const_str_object._ascii.ob_base, + &_Py_ID(value), + &_Py_ID(object), & const_str__saved_value._ascii.ob_base, & const_str__sentinel._ascii.ob_base, }, @@ -143599,7 +139144,7 @@ static runpy_toplevel_consts_7_consts_1_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -143608,7 +139153,7 @@ runpy_toplevel_consts_7_consts_1_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_ModifiedArgv0.__init__", @@ -143617,54 +139162,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[33]; + char ob_sval[27]; } runpy_toplevel_consts_7_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 32, + .ob_size = 26, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x15\x1a\x88\x04\x8c\x0a\xdd\x2d\x33\xa9\x58\xac\x58\xd0\x08\x35\x88\x04\xd4\x08\x19\x98\x44\x9c\x4e\x98\x4e\x98\x4e", + .ob_sval = "\x80\x00\xd8\x15\x1a\x88\x04\x8c\x0a\xdc\x2d\x33\xab\x58\xd0\x08\x35\x88\x04\xd4\x08\x19\x98\x44\x9d\x4e", }; static - struct _PyCode_DEF(72) + struct _PyCode_DEF(62) runpy_toplevel_consts_7_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 36, + .ob_size = 31, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_7_consts_1_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 50, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 743, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_11_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = &_Py_ID(__init__), .co_qualname = & runpy_toplevel_consts_7_consts_1_qualname._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_7_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x01\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x78\x01\x7c\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -143675,7 +139218,7 @@ static runpy_toplevel_consts_7_consts_2_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 30, @@ -143684,7 +139227,7 @@ runpy_toplevel_consts_7_consts_2_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Already preserving saved value", @@ -143701,7 +139244,7 @@ runpy_toplevel_consts_7_consts_2_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -143725,7 +139268,7 @@ runpy_toplevel_consts_7_consts_2_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -143735,8 +139278,8 @@ runpy_toplevel_consts_7_consts_2_names = { & const_str__sentinel._ascii.ob_base, & const_str_RuntimeError._ascii.ob_base, & const_str_sys._ascii.ob_base, - & const_str_argv._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(argv), + &_Py_ID(value), }, }, }; @@ -143748,7 +139291,7 @@ static runpy_toplevel_consts_7_consts_2_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -143757,7 +139300,7 @@ runpy_toplevel_consts_7_consts_2_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_ModifiedArgv0.__enter__", @@ -143766,54 +139309,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[65]; + char ob_sval[66]; } runpy_toplevel_consts_7_consts_2_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 64, + .ob_size = 65, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x0b\x0f\xd4\x0b\x1c\xa0\x44\xa4\x4e\xd0\x0b\x32\xd0\x0b\x32\xdd\x12\x1e\xd0\x1f\x3f\xd1\x12\x40\xd4\x12\x40\xd0\x0c\x40\xdd\x1c\x1f\x9c\x48\xa0\x51\x9c\x4b\x88\x04\xd4\x08\x19\xd8\x16\x1a\x94\x6a\x8d\x03\x8c\x08\x90\x11\x89\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xd8\x0b\x0f\xd7\x0b\x1c\xd1\x0b\x1c\xa0\x44\xa7\x4e\xa1\x4e\xd1\x0b\x32\xdc\x12\x1e\xd0\x1f\x3f\xd3\x12\x40\xd0\x0c\x40\xdc\x1c\x1f\x9f\x48\x99\x48\xa0\x51\x99\x4b\x88\x04\xd4\x08\x19\xd8\x16\x1a\x97\x6a\x91\x6a\x8c\x03\x8f\x08\x89\x08\x90\x11\x8a\x0b", }; static - struct _PyCode_DEF(150) + struct _PyCode_DEF(180) runpy_toplevel_consts_7_consts_2 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 75, + .ob_size = 90, }, .co_consts = & runpy_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_7_consts_2_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 54, .co_nlocalsplus = 1, .co_nlocals = 1, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_6_localsplusnames._object.ob_base.ob_base, + .co_version = 744, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_7_consts_2_localsplusnames._object.ob_base.ob_base, .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_characters[32]), .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = &_Py_ID(__enter__), .co_qualname = & runpy_toplevel_consts_7_consts_2_qualname._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_7_consts_2_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x75\x01\x72\x0f\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x3c\x00\x00\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x01\x72\x0b\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x19\x00\x00\x00\x7c\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x3c\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -143828,17 +139369,17 @@ runpy_toplevel_consts_7_consts_3_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { & const_str__sentinel._ascii.ob_base, - & const_str_value._ascii.ob_base, + &_Py_ID(value), & const_str__saved_value._ascii.ob_base, & const_str_sys._ascii.ob_base, - & const_str_argv._ascii.ob_base, + &_Py_ID(argv), }, }, }; @@ -143850,7 +139391,7 @@ static runpy_toplevel_consts_7_consts_3_qualname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -143859,7 +139400,7 @@ runpy_toplevel_consts_7_consts_3_qualname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_ModifiedArgv0.__exit__", @@ -143868,54 +139409,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[30]; + char ob_sval[33]; } runpy_toplevel_consts_7_consts_3_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 29, + .ob_size = 32, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x15\x19\x94\x5e\x88\x04\x8c\x0a\xd8\x16\x1a\xd4\x16\x27\x8d\x03\x8c\x08\x90\x11\x89\x0b\x88\x0b\x88\x0b", + .ob_sval = "\x80\x00\xd8\x15\x19\x97\x5e\x91\x5e\x88\x04\x8c\x0a\xd8\x16\x1a\xd7\x16\x27\xd1\x16\x27\x8c\x03\x8f\x08\x89\x08\x90\x11\x8a\x0b", }; static - struct _PyCode_DEF(70) + struct _PyCode_DEF(96) runpy_toplevel_consts_7_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 35, + .ob_size = 48, }, - .co_consts = & importlib__bootstrap_toplevel_consts_7_consts_2_consts._object.ob_base.ob_base, + .co_consts = & importlib__bootstrap_toplevel_consts_16_consts_2_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_7_consts_3_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 7, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 60, .co_nlocalsplus = 2, .co_nlocals = 2, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & importlib__bootstrap_toplevel_consts_23_consts_5_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_2_localspluskinds.ob_base.ob_base, + .co_version = 745, + .co_localsplusnames = & importlib__bootstrap_toplevel_consts_30_consts_5_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_14_consts_2_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = &_Py_ID(__exit__), .co_qualname = & runpy_toplevel_consts_7_consts_3_qualname._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_7_consts_3_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x3c\x00\x00\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x3c\x00\x00\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -143930,7 +139469,7 @@ runpy_toplevel_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -143948,54 +139487,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[66]; + char ob_sval[18]; } runpy_toplevel_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 65, + .ob_size = 17, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xf0\x02\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x00\x02\x05\x36\xf0\x08\x04\x05\x21\xf0\x00\x04\x05\x21\xf0\x00\x04\x05\x21\xf0\x0c\x02\x05\x28\xf0\x00\x02\x05\x28\xf0\x00\x02\x05\x28\xf0\x00\x02\x05\x28\xf0\x00\x02\x05\x28", + .ob_sval = "\x84\x00\xf2\x02\x02\x05\x36\xf2\x08\x04\x05\x21\xf3\x0c\x02\x05\x28", }; static - struct _PyCode_DEF(32) + struct _PyCode_DEF(30) runpy_toplevel_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 16, + .ob_size = 15, }, .co_consts = & runpy_toplevel_consts_7_consts._object.ob_base.ob_base, - .co_names = & importlib__bootstrap_toplevel_consts_11_names._object.ob_base.ob_base, + .co_names = & importlib__bootstrap_toplevel_consts_18_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 49, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 746, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str__ModifiedArgv0._ascii.ob_base, .co_qualname = & const_str__ModifiedArgv0._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x64\x04\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x84\x00\x5a\x03\x64\x02\x84\x00\x5a\x04\x64\x03\x84\x00\x5a\x05\x79\x04", ._co_firsttraceable = 0, }; static @@ -144006,7 +139543,7 @@ static runpy_toplevel_consts_9_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 41, @@ -144015,7 +139552,7 @@ runpy_toplevel_consts_9_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Helper to run code in nominated namespace", @@ -144032,7 +139569,7 @@ runpy_toplevel_consts_9_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -144060,7 +139597,7 @@ runpy_toplevel_consts_9_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -144084,7 +139621,7 @@ runpy_toplevel_consts_9_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -144092,7 +139629,7 @@ runpy_toplevel_consts_9_names = { .ob_item = { & const_str_update._ascii.ob_base, & const_str_loader._ascii.ob_base, - & const_str_origin._ascii.ob_base, + &_Py_ID(origin), & const_str_cached._ascii.ob_base, &_Py_ID(parent), & const_str_exec._ascii.ob_base, @@ -144107,7 +139644,7 @@ static const_str__run_code = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -144116,7 +139653,7 @@ const_str__run_code = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_run_code", @@ -144125,18 +139662,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[161]; + char ob_sval[145]; } runpy_toplevel_consts_9_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 160, + .ob_size = 144, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x00\x08\x14\xd0\x07\x1f\xd8\x08\x13\xd7\x08\x1a\xd2\x08\x1a\x98\x3c\xd1\x08\x28\xd4\x08\x28\xd0\x08\x28\xd8\x07\x0f\xd0\x07\x17\xd8\x11\x15\x88\x06\xd8\x10\x1b\x88\x05\xd8\x11\x15\x88\x06\x88\x06\xe0\x11\x19\x94\x1f\x88\x06\xd8\x10\x18\x94\x0f\x88\x05\xd8\x11\x19\x94\x1f\x88\x06\xd8\x0b\x13\xd0\x0b\x1b\xd8\x17\x1f\x94\x7f\x88\x48\xd8\x04\x0f\xd7\x04\x16\xd2\x04\x16\xa0\x28\xd8\x22\x27\xd8\x24\x2a\xd8\x21\x25\xd8\x24\x2a\xd8\x25\x2d\xd8\x22\x2a\xf0\x0d\x00\x05\x17\xf1\x00\x06\x05\x2c\xf4\x00\x06\x05\x2c\xf0\x00\x06\x05\x2c\xf5\x0e\x00\x05\x09\x88\x14\x88\x7b\xd1\x04\x1b\xd4\x04\x1b\xd0\x04\x1b\xd8\x0b\x16\xd0\x04\x16", + .ob_sval = "\x80\x00\xf0\x08\x00\x08\x14\xd0\x07\x1f\xd8\x08\x13\xd7\x08\x1a\xd1\x08\x1a\x98\x3c\xd4\x08\x28\xd8\x07\x0f\xd0\x07\x17\xd8\x11\x15\x88\x06\xd8\x10\x1b\x88\x05\xd8\x11\x15\x89\x06\xe0\x11\x19\x97\x1f\x91\x1f\x88\x06\xd8\x10\x18\x97\x0f\x91\x0f\x88\x05\xd8\x11\x19\x97\x1f\x91\x1f\x88\x06\xd8\x0b\x13\xd0\x0b\x1b\xd8\x17\x1f\x97\x7f\x91\x7f\x88\x48\xd8\x04\x0f\xd7\x04\x16\xd1\x04\x16\xa0\x28\xd8\x22\x27\xd8\x24\x2a\xd8\x21\x25\xd8\x24\x2a\xd8\x25\x2d\xd8\x22\x2a\xf0\x0d\x00\x05\x17\xf4\x00\x06\x05\x2c\xf4\x0e\x00\x05\x09\x88\x14\x88\x7b\xd4\x04\x1b\xd8\x0b\x16\xd0\x04\x16", }; static struct { @@ -144146,7 +139683,7 @@ static const_str_run_globals = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -144155,7 +139692,7 @@ const_str_run_globals = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "run_globals", @@ -144168,7 +139705,7 @@ static const_str_init_globals = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -144177,7 +139714,7 @@ const_str_init_globals = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "init_globals", @@ -144190,7 +139727,7 @@ static const_str_mod_spec = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -144199,7 +139736,7 @@ const_str_mod_spec = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "mod_spec", @@ -144212,7 +139749,7 @@ static const_str_pkg_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -144221,7 +139758,7 @@ const_str_pkg_name = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pkg_name", @@ -144234,7 +139771,7 @@ static const_str_script_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -144243,7 +139780,7 @@ const_str_script_name = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "script_name", @@ -144256,7 +139793,7 @@ static const_str_fname = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 5, @@ -144265,7 +139802,7 @@ const_str_fname = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "fname", @@ -144282,7 +139819,7 @@ runpy_toplevel_consts_9_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -144302,40 +139839,38 @@ runpy_toplevel_consts_9_localsplusnames = { }, }; static - struct _PyCode_DEF(218) + struct _PyCode_DEF(234) runpy_toplevel_consts_9 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 109, + .ob_size = 117, }, .co_consts = & runpy_toplevel_consts_9_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_9_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 7, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 19 + FRAME_SPECIALS_SIZE, .co_stacksize = 9, .co_firstlineno = 65, .co_nlocalsplus = 10, .co_nlocals = 10, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 747, .co_localsplusnames = & runpy_toplevel_consts_9_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_4_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str__run_code._ascii.ob_base, .co_qualname = & const_str__run_code._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_9_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x81\x15\x7c\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x04\x80\x07\x64\x01\x7d\x07\x7c\x06\x7d\x08\x64\x01\x7d\x09\x6e\x1e\x7c\x04\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x04\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x04\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x7c\x05\x80\x07\x7c\x04\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x08\x7c\x09\x64\x01\x7c\x07\x7c\x05\x7c\x04\xac\x02\xa6\x07\x00\x00\xab\x07\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x81\x11\x7c\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x04\x80\x07\x64\x01\x7d\x07\x7c\x06\x7d\x08\x64\x01\x7d\x09\x6e\x32\x7c\x04\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x7c\x04\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x04\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x09\x7c\x05\x80\x0c\x7c\x04\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x01\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x08\x7c\x09\x64\x01\x7c\x07\x7c\x05\x7c\x04\xac\x02\xab\x07\x00\x00\x00\x00\x00\x00\x01\x00\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x01\x53\x00", ._co_firsttraceable = 0, }; static @@ -144346,7 +139881,7 @@ static runpy_toplevel_consts_10_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 53, @@ -144355,7 +139890,7 @@ runpy_toplevel_consts_10_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Helper to run code in new namespace with sys modified", @@ -144372,7 +139907,7 @@ runpy_toplevel_consts_10_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -144395,16 +139930,16 @@ runpy_toplevel_consts_10_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, }, .ob_item = { - & const_str_origin._ascii.ob_base, + &_Py_ID(origin), & const_str__TempModule._ascii.ob_base, & const_str__ModifiedArgv0._ascii.ob_base, - & const_str_module._ascii.ob_base, + &_Py_ID(module), &_Py_ID(__dict__), & const_str__run_code._ascii.ob_base, &_Py_ID(copy), @@ -144419,7 +139954,7 @@ static const_str__run_module_code = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -144428,7 +139963,7 @@ const_str__run_module_code = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_run_module_code", @@ -144437,35 +139972,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[279]; + char ob_sval[149]; } runpy_toplevel_consts_10_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 278, + .ob_size = 148, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x08\x00\x1c\x24\xd0\x1b\x2b\x88\x4b\x88\x4b\xb0\x18\xb4\x1f\x80\x45\xdd\x09\x14\x90\x58\xd1\x09\x1e\xd4\x09\x1e\xf0\x00\x03\x05\x3d\xa0\x2b\xad\x7e\xb8\x65\xd1\x2f\x44\xd4\x2f\x44\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xd8\x16\x21\xd4\x16\x28\xd4\x16\x31\x88\x0b\xdd\x08\x11\x90\x24\x98\x0b\xa0\x5c\xd8\x12\x1a\x98\x48\xa0\x68\xb0\x0b\xf1\x03\x01\x09\x3d\xf4\x00\x01\x09\x3d\xf0\x00\x01\x09\x3d\xf0\x05\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf1\x00\x03\x05\x3d\xf4\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf8\xf8\xf8\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf1\x00\x03\x05\x3d\xf4\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf8\xf8\xf8\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x00\x03\x05\x3d\xf0\x0c\x00\x0c\x17\xd7\x0b\x1b\xd2\x0b\x1b\xd1\x0b\x1d\xd4\x0b\x1d\xd0\x04\x1d", + .ob_sval = "\x80\x00\xf0\x08\x00\x1c\x24\xd0\x1b\x2b\x89\x4b\xb0\x18\xb7\x1f\xb1\x1f\x80\x45\xdc\x09\x14\x90\x58\xd3\x09\x1e\xf0\x00\x03\x05\x3d\xa0\x2b\xac\x7e\xb8\x65\xd3\x2f\x44\xf1\x00\x03\x05\x3d\xd8\x16\x21\xd7\x16\x28\xd1\x16\x28\xd7\x16\x31\xd1\x16\x31\x88\x0b\xdc\x08\x11\x90\x24\x98\x0b\xa0\x5c\xd8\x12\x1a\x98\x48\xa0\x68\xb0\x0b\xf4\x03\x01\x09\x3d\xf7\x05\x03\x05\x3d\xf7\x00\x03\x05\x3d\xf0\x0c\x00\x0c\x17\xd7\x0b\x1b\xd1\x0b\x1b\xd3\x0b\x1d\xd0\x04\x1d\xf7\x0d\x03\x05\x3d\xf0\x00\x03\x05\x3d\xfa\xf7\x00\x03\x05\x3d\xf0\x0c\x00\x0c\x17\xd7\x0b\x1b\xd1\x0b\x1b\xd3\x0b\x1d\xd0\x04\x1d\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[53]; + char ob_sval[35]; } runpy_toplevel_consts_10_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 52, + .ob_size = 34, }, .ob_shash = -1, - .ob_sval = "\x9b\x10\x41\x30\x03\xab\x22\x41\x19\x05\xc1\x0d\x0c\x41\x30\x03\xc1\x19\x04\x41\x1d\x09\xc1\x1d\x03\x41\x30\x03\xc1\x20\x01\x41\x1d\x09\xc1\x21\x03\x41\x30\x03\xc1\x30\x04\x41\x34\x07\xc1\x37\x01\x41\x34\x07", + .ob_sval = "\x9c\x0c\x41\x3c\x03\xa8\x28\x41\x30\x05\xc1\x10\x08\x41\x3c\x03\xc1\x30\x05\x41\x39\x09\xc1\x35\x07\x41\x3c\x03\xc1\x3c\x05\x42\x14\x07", }; static struct { @@ -144475,7 +140010,7 @@ static const_str_temp_module = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -144484,7 +140019,7 @@ const_str_temp_module = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "temp_module", @@ -144497,7 +140032,7 @@ static const_str_mod_globals = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -144506,7 +140041,7 @@ const_str_mod_globals = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "mod_globals", @@ -144523,7 +140058,7 @@ runpy_toplevel_consts_10_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 9, @@ -144542,40 +140077,38 @@ runpy_toplevel_consts_10_localsplusnames = { }, }; static - struct _PyCode_DEF(286) + struct _PyCode_DEF(302) runpy_toplevel_consts_10 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 143, + .ob_size = 151, }, .co_consts = & runpy_toplevel_consts_10_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_10_names._object.ob_base.ob_base, .co_exceptiontable = & runpy_toplevel_consts_10_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 6, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 20 + FRAME_SPECIALS_SIZE, .co_stacksize = 11, .co_firstlineno = 91, .co_nlocalsplus = 9, .co_nlocals = 9, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 748, .co_localsplusnames = & runpy_toplevel_consts_10_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_57_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_61_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str__run_module_code._ascii.ob_base, .co_qualname = & const_str__run_module_code._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_10_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x03\x80\x02\x7c\x05\x6e\x06\x7c\x03\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x07\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x7c\x07\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x08\x7c\x01\x7c\x02\x7c\x03\x7c\x04\x7c\x05\xa6\x07\x00\x00\xab\x07\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x64\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x64\x01\x64\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x7c\x08\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x03\x80\x02\x7c\x05\x6e\x0b\x7c\x03\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x07\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\xab\x01\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x7c\x07\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x08\x7c\x01\x7c\x02\x7c\x03\x7c\x04\x7c\x05\xab\x07\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x64\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x64\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7f\x08\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x8c\x21\x78\x03\x59\x00\x77\x01\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x7f\x08\x6a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x53\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -144586,7 +140119,7 @@ static runpy_toplevel_consts_11_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 35, @@ -144595,7 +140128,7 @@ runpy_toplevel_consts_11_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Relative module names not supported", @@ -144612,7 +140145,7 @@ runpy_toplevel_consts_11_consts_5 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -144630,7 +140163,7 @@ static runpy_toplevel_consts_11_consts_6 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 154, @@ -144639,7 +140172,7 @@ runpy_toplevel_consts_11_consts_6 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "{mod_name!r} found in sys.modules after import of package {pkg_name!r}, but prior to execution of {mod_name!r}; this may result in unpredictable behaviour", @@ -144656,7 +140189,7 @@ runpy_toplevel_consts_11_consts_7 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -144675,7 +140208,7 @@ static runpy_toplevel_consts_11_consts_8 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 58, @@ -144684,7 +140217,7 @@ runpy_toplevel_consts_11_consts_8 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Error while finding module specification for {!r} ({}: {})", @@ -144697,7 +140230,7 @@ static runpy_toplevel_consts_11_consts_10 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -144706,7 +140239,7 @@ runpy_toplevel_consts_11_consts_10 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = ". Try using '", @@ -144719,7 +140252,7 @@ static runpy_toplevel_consts_11_consts_12 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -144728,7 +140261,7 @@ runpy_toplevel_consts_11_consts_12 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "' instead of '", @@ -144741,7 +140274,7 @@ static runpy_toplevel_consts_11_consts_13 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 21, @@ -144750,7 +140283,7 @@ runpy_toplevel_consts_11_consts_13 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "' as the module name.", @@ -144763,7 +140296,7 @@ static runpy_toplevel_consts_11_consts_14 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -144772,7 +140305,7 @@ runpy_toplevel_consts_11_consts_14 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "No module named %s", @@ -144785,7 +140318,7 @@ static runpy_toplevel_consts_11_consts_16 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -144794,7 +140327,7 @@ runpy_toplevel_consts_11_consts_16 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = ".__main__", @@ -144807,7 +140340,7 @@ static runpy_toplevel_consts_11_consts_17 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 37, @@ -144816,33 +140349,11 @@ runpy_toplevel_consts_11_consts_17 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Cannot use package as __main__ module", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[3]; - } -runpy_toplevel_consts_11_consts_18 = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 2, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "; ", -}; static struct { PyASCIIObject _ascii; @@ -144851,7 +140362,7 @@ static runpy_toplevel_consts_11_consts_19 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 45, @@ -144860,7 +140371,7 @@ runpy_toplevel_consts_11_consts_19 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = " is a package and cannot be directly executed", @@ -144873,7 +140384,7 @@ static runpy_toplevel_consts_11_consts_20 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 48, @@ -144882,7 +140393,7 @@ runpy_toplevel_consts_11_consts_20 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "%r is a namespace package and cannot be executed", @@ -144895,7 +140406,7 @@ static runpy_toplevel_consts_11_consts_21 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 31, @@ -144904,7 +140415,7 @@ runpy_toplevel_consts_11_consts_21 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "No code object available for %s", @@ -144921,7 +140432,7 @@ runpy_toplevel_consts_11_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 22, @@ -144936,7 +140447,7 @@ runpy_toplevel_consts_11_consts = { & runpy_toplevel_consts_11_consts_6._ascii.ob_base, & runpy_toplevel_consts_11_consts_7._object.ob_base.ob_base, & runpy_toplevel_consts_11_consts_8._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_39_consts_7_consts_12._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_46_consts_5_consts_12._ascii.ob_base, & runpy_toplevel_consts_11_consts_10._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + -3], & runpy_toplevel_consts_11_consts_12._ascii.ob_base, @@ -144945,7 +140456,7 @@ runpy_toplevel_consts_11_consts = { &_Py_ID(__main__), & runpy_toplevel_consts_11_consts_16._ascii.ob_base, & runpy_toplevel_consts_11_consts_17._ascii.ob_base, - & runpy_toplevel_consts_11_consts_18._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_55_consts_3._ascii.ob_base, & runpy_toplevel_consts_11_consts_19._ascii.ob_base, & runpy_toplevel_consts_11_consts_20._ascii.ob_base, & runpy_toplevel_consts_11_consts_21._ascii.ob_base, @@ -144960,7 +140471,7 @@ static const_str_RuntimeWarning = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -144969,7 +140480,7 @@ const_str_RuntimeWarning = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "RuntimeWarning", @@ -144982,7 +140493,7 @@ static const_str_util = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 4, @@ -144991,7 +140502,7 @@ const_str_util = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "util", @@ -145004,7 +140515,7 @@ static const_str__get_module_details = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -145013,7 +140524,7 @@ const_str__get_module_details = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_module_details", @@ -145030,7 +140541,7 @@ runpy_toplevel_consts_11_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 26, @@ -145047,7 +140558,7 @@ runpy_toplevel_consts_11_names = { & const_str_hasattr._ascii.ob_base, &_Py_ID(warnings), & const_str_warn._ascii.ob_base, - & const_str_format._ascii.ob_base, + &_Py_ID(format), & const_str_RuntimeWarning._ascii.ob_base, &_Py_ID(importlib), & const_str_util._ascii.ob_base, @@ -145056,7 +140567,7 @@ runpy_toplevel_consts_11_names = { & const_str_TypeError._ascii.ob_base, & const_str_ValueError._ascii.ob_base, & const_str_endswith._ascii.ob_base, - & const_str_type._ascii.ob_base, + &_Py_ID(type), &_Py_ID(__name__), & const_str_submodule_search_locations._ascii.ob_base, & const_str__get_module_details._ascii.ob_base, @@ -145069,18 +140580,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[877]; + char ob_sval[656]; } runpy_toplevel_consts_11_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 876, + .ob_size = 655, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xd8\x07\x0f\xd7\x07\x1a\xd2\x07\x1a\x98\x33\xd1\x07\x1f\xd4\x07\x1f\xf0\x00\x01\x05\x3b\xd8\x0e\x13\x88\x65\xd0\x14\x39\xd1\x0e\x3a\xd4\x0e\x3a\xd0\x08\x3a\xd8\x15\x1d\xd7\x15\x28\xd2\x15\x28\xa8\x13\xd1\x15\x2d\xd4\x15\x2d\x81\x4e\x80\x48\x88\x61\x90\x11\xd8\x07\x0f\xf0\x00\x13\x05\x26\xf0\x04\x08\x09\x16\xdd\x0c\x16\x90\x78\xd1\x0c\x20\xd4\x0c\x20\xd0\x0c\x20\xd0\x0c\x20\xf8\xdd\x0f\x1a\xf0\x00\x06\x09\x16\xf0\x00\x06\x09\x16\xf0\x00\x06\x09\x16\xf0\x08\x00\x10\x11\x8c\x76\x88\x7e\xa0\x21\xa4\x26\xa8\x48\xd2\x22\x34\xd0\x22\x34\xd8\x18\x20\xd7\x18\x2b\xd2\x18\x2b\xa8\x41\xac\x46\xb0\x53\xa9\x4c\xd1\x18\x39\xd4\x18\x39\xf0\x03\x00\x23\x35\xe0\x10\x15\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf0\x0d\x06\x09\x16\xf8\xf8\xf8\xf5\x10\x00\x14\x17\x94\x3b\x97\x3f\x92\x3f\xa0\x38\xd1\x13\x2c\xd4\x13\x2c\x88\x08\xd8\x0b\x13\xd0\x0b\x1f\xad\x07\xb0\x08\xb8\x2a\xd1\x28\x45\xd4\x28\x45\xd0\x0b\x1f\xd8\x0c\x25\xd0\x0c\x25\xd0\x0c\x25\xd0\x0c\x25\xd0\x0c\x25\xd0\x0c\x25\xf0\x02\x03\x13\x1c\xf7\x06\x00\x1d\x23\x9a\x46\xa8\x48\xb8\x78\x98\x46\xd1\x1c\x48\xd4\x1c\x48\xf0\x07\x00\x0d\x10\xf0\x08\x00\x0d\x11\x88\x44\x95\x1e\xa0\x03\xd1\x11\x24\xd4\x11\x24\xd1\x0c\x25\xd4\x0c\x25\xd0\x0c\x25\xf0\x04\x0a\x05\x49\x01\xdd\x0f\x18\x8c\x7e\xd7\x0f\x27\xd2\x0f\x27\xa8\x08\xd1\x0f\x31\xd4\x0f\x31\x88\x04\x88\x04\xf8\xdd\x0c\x17\x9d\x1e\xad\x19\xb5\x4a\xd0\x0b\x3f\xf0\x00\x08\x05\x49\x01\xf0\x00\x08\x05\x49\x01\xf0\x00\x08\x05\x49\x01\xf0\x08\x00\x0f\x4b\x01\x88\x03\xd8\x0b\x13\xd7\x0b\x1c\xd2\x0b\x1c\x98\x55\xd1\x0b\x23\xd4\x0b\x23\xf0\x00\x02\x09\x39\xd8\x0c\x0f\xf0\x00\x01\x15\x38\xa0\x48\xa8\x53\xa8\x62\xa8\x53\xa4\x4d\xf0\x00\x01\x15\x38\xf0\x00\x01\x15\x38\xd8\x18\x20\xf0\x03\x01\x15\x38\xf0\x00\x01\x15\x38\xf0\x00\x01\x15\x38\xf1\x00\x01\x0d\x39\x88\x43\xe0\x0e\x13\x88\x65\x90\x43\x97\x4a\x92\x4a\x98\x78\xad\x14\xa8\x62\xa9\x18\xac\x18\xd4\x29\x3a\xb8\x42\xd1\x14\x3f\xd4\x14\x3f\xd1\x0e\x40\xd4\x0e\x40\xc0\x62\xd0\x08\x48\xf8\xf8\xf8\xf8\xf0\x11\x08\x05\x49\x01\xf8\xf8\xf8\xf0\x12\x00\x08\x0c\x80\x7c\xd8\x0e\x13\x88\x65\xd0\x14\x28\xa8\x38\xd1\x14\x33\xd1\x0e\x34\xd4\x0e\x34\xd0\x08\x34\xd8\x07\x0b\xd4\x07\x26\xd0\x07\x32\xd8\x0b\x13\x90\x7a\xd2\x0b\x21\xd0\x0b\x21\xa0\x58\xd7\x25\x36\xd2\x25\x36\xb0\x7b\xd1\x25\x43\xd4\x25\x43\xd0\x0b\x21\xd8\x12\x17\x90\x25\xd0\x18\x3f\xd1\x12\x40\xd4\x12\x40\xd0\x0c\x40\xf0\x02\x07\x09\x47\x01\xd8\x1c\x24\xa0\x7b\xd1\x1c\x32\x88\x4d\xdd\x13\x26\xa0\x7d\xb0\x65\xd1\x13\x3c\xd4\x13\x3c\xd0\x0c\x3c\xf8\xd8\x0f\x14\xf0\x00\x04\x09\x47\x01\xf0\x00\x04\x09\x47\x01\xf0\x00\x04\x09\x47\x01\xd8\x0f\x17\x9d\x73\x9c\x7b\xd0\x0f\x2a\xd0\x0f\x2a\xd8\x10\x15\xd8\x12\x17\x90\x25\xd8\x39\x3a\xb8\x11\xb8\x11\xb8\x48\xb8\x48\xb8\x48\xf0\x03\x01\x19\x46\x01\xf1\x00\x01\x13\x47\x01\xf4\x00\x01\x13\x47\x01\xf0\x00\x01\x0d\x47\x01\xf8\xf8\xf8\xf8\xf0\x07\x04\x09\x47\x01\xf8\xf8\xf8\xf0\x0a\x00\x0e\x12\x8c\x5b\x80\x46\xd8\x07\x0d\x80\x7e\xd8\x0e\x13\x88\x65\xd0\x14\x46\xd8\x43\x4b\xf1\x03\x01\x15\x4c\x01\xf1\x00\x01\x0f\x4d\x01\xf4\x00\x01\x0f\x4d\x01\xf0\x00\x01\x09\x4d\x01\xf0\x04\x03\x05\x26\xd8\x0f\x15\x8f\x7f\x8a\x7f\x98\x78\xd1\x0f\x28\xd4\x0f\x28\x88\x04\x88\x04\xf8\xdd\x0b\x16\xf0\x00\x01\x05\x26\xf0\x00\x01\x05\x26\xf0\x00\x01\x05\x26\xd8\x0e\x13\x88\x65\x95\x46\x98\x31\x91\x49\x94\x49\xd1\x0e\x1e\xd4\x0e\x1e\xa0\x41\xd0\x08\x25\xf8\xf8\xf8\xf8\xf0\x03\x01\x05\x26\xf8\xf8\xf8\xe0\x07\x0b\x80\x7c\xd8\x0e\x13\x88\x65\xd0\x14\x35\xb8\x08\xd1\x14\x40\xd1\x0e\x41\xd4\x0e\x41\xd0\x08\x41\xd8\x0b\x13\x90\x54\x98\x34\xd0\x0b\x1f\xd0\x04\x1f", + .ob_sval = "\x80\x00\xd8\x07\x0f\xd7\x07\x1a\xd1\x07\x1a\x98\x33\xd4\x07\x1f\xd9\x0e\x13\xd0\x14\x39\xd3\x0e\x3a\xd0\x08\x3a\xd8\x15\x1d\xd7\x15\x28\xd1\x15\x28\xa8\x13\xd3\x15\x2d\x81\x4e\x80\x48\x88\x61\x90\x11\xd9\x07\x0f\xf0\x04\x08\x09\x16\xdc\x0c\x16\x90\x78\xd4\x0c\x20\xf4\x12\x00\x14\x17\x97\x3b\x91\x3b\x97\x3f\x91\x3f\xa0\x38\xd3\x13\x2c\x88\x08\xd8\x0b\x13\xd0\x0b\x1f\xac\x07\xb0\x08\xb8\x2a\xd4\x28\x45\xdd\x0c\x25\xf0\x02\x03\x13\x1c\xf7\x06\x00\x1d\x23\x99\x46\xa8\x48\xb8\x78\x98\x46\xd3\x1c\x48\xf0\x07\x00\x0d\x10\xf1\x08\x00\x0d\x11\x94\x1e\xa0\x03\xd3\x11\x24\xd4\x0c\x25\xf0\x04\x0a\x05\x49\x01\xdc\x0f\x18\x8f\x7e\x89\x7e\xd7\x0f\x27\xd1\x0f\x27\xa8\x08\xd3\x0f\x31\x88\x04\xf0\x14\x00\x08\x0c\x80\x7c\xd9\x0e\x13\xd0\x14\x28\xa8\x38\xd1\x14\x33\xd3\x0e\x34\xd0\x08\x34\xd8\x07\x0b\xd7\x07\x26\xd1\x07\x26\xd0\x07\x32\xd8\x0b\x13\x90\x7a\xd2\x0b\x21\xa0\x58\xd7\x25\x36\xd1\x25\x36\xb0\x7b\xd4\x25\x43\xd9\x12\x17\xd0\x18\x3f\xd3\x12\x40\xd0\x0c\x40\xf0\x02\x07\x09\x47\x01\xd8\x1c\x24\xa0\x7b\xd1\x1c\x32\x88\x4d\xdc\x13\x26\xa0\x7d\xb0\x65\xd3\x13\x3c\xd0\x0c\x3c\xf0\x0c\x00\x0e\x12\x8f\x5b\x89\x5b\x80\x46\xd8\x07\x0d\x80\x7e\xd9\x0e\x13\xd0\x14\x46\xd8\x43\x4b\xf1\x03\x01\x15\x4c\x01\xf3\x00\x01\x0f\x4d\x01\xf0\x00\x01\x09\x4d\x01\xf0\x04\x03\x05\x26\xd8\x0f\x15\x8f\x7f\x89\x7f\x98\x78\xd3\x0f\x28\x88\x04\xf0\x06\x00\x08\x0c\x80\x7c\xd9\x0e\x13\xd0\x14\x35\xb8\x08\xd1\x14\x40\xd3\x0e\x41\xd0\x08\x41\xd8\x0b\x13\x90\x54\x98\x34\xd0\x0b\x1f\xd0\x04\x1f\xf8\xf4\x67\x01\x00\x10\x1b\xf2\x00\x06\x09\x16\xf0\x08\x00\x10\x11\x8f\x76\x89\x76\x88\x7e\xa0\x21\xa7\x26\xa1\x26\xa8\x48\xd2\x22\x34\xd8\x18\x20\xd7\x18\x2b\xd1\x18\x2b\xa8\x41\xaf\x46\xa9\x46\xb0\x53\xa9\x4c\xd4\x18\x39\xd8\x10\x15\xff\xf9\xf0\x0d\x06\x09\x16\xfb\xf4\x26\x00\x0d\x18\x9c\x1e\xac\x19\xb4\x4a\xd0\x0b\x3f\xf2\x00\x08\x05\x49\x01\xf0\x08\x00\x0f\x4b\x01\x88\x03\xd8\x0b\x13\xd7\x0b\x1c\xd1\x0b\x1c\x98\x55\xd4\x0b\x23\xd8\x0c\x0f\x90\x6d\xa0\x48\xa8\x53\xa8\x62\xa0\x4d\xa0\x3f\xf0\x00\x01\x33\x18\xd8\x18\x20\x90\x7a\xd0\x21\x36\xf0\x03\x01\x15\x38\xf1\x00\x01\x0d\x39\x88\x43\xe1\x0e\x13\x90\x43\x97\x4a\x91\x4a\x98\x78\xac\x14\xa8\x62\xab\x18\xd7\x29\x3a\xd1\x29\x3a\xb8\x42\xd3\x14\x3f\xd3\x0e\x40\xc0\x62\xd0\x08\x48\xfb\xf0\x11\x08\x05\x49\x01\xfb\xf0\x22\x00\x10\x15\xf2\x00\x04\x09\x47\x01\xd8\x0f\x17\x9c\x73\x9f\x7b\x99\x7b\xd1\x0f\x2a\xd8\x10\x15\xd9\x12\x17\xda\x39\x3a\xba\x48\xf0\x03\x01\x19\x46\x01\xf3\x00\x01\x13\x47\x01\xf0\x00\x01\x0d\x47\x01\xfb\xf0\x07\x04\x09\x47\x01\xfb\xf4\x16\x00\x0c\x17\xf2\x00\x01\x05\x26\xd9\x0e\x13\x94\x46\x98\x31\x93\x49\xd3\x0e\x1e\xa0\x41\xd0\x08\x25\xfb\xf0\x03\x01\x05\x26\xfa", }; static struct { @@ -145091,13 +140602,13 @@ static runpy_toplevel_consts_11_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 96, }, .ob_shash = -1, - .ob_sval = "\xbd\x0f\x41\x0d\x00\xc1\x0d\x0a\x42\x11\x03\xc1\x17\x30\x42\x0c\x03\xc2\x0c\x05\x42\x11\x03\xc3\x3b\x1f\x44\x1b\x00\xc4\x1b\x1d\x46\x1b\x03\xc4\x38\x41\x1e\x46\x16\x03\xc6\x16\x05\x46\x1b\x03\xc7\x1c\x14\x47\x31\x00\xc7\x31\x05\x48\x1b\x03\xc7\x36\x20\x48\x16\x03\xc8\x16\x05\x48\x1b\x03\xc8\x36\x15\x49\x0c\x00\xc9\x0c\x0a\x49\x34\x03\xc9\x16\x19\x49\x2f\x03\xc9\x2f\x05\x49\x34\x03", + .ob_sval = "\xb2\x0b\x44\x3a\x00\xc2\x15\x1f\x46\x0b\x00\xc3\x2c\x10\x47\x3b\x00\xc4\x17\x11\x48\x29\x00\xc4\x3a\x09\x46\x08\x03\xc5\x03\x3a\x46\x03\x03\xc6\x03\x05\x46\x08\x03\xc6\x0b\x19\x47\x38\x03\xc6\x24\x41\x0f\x47\x33\x03\xc7\x33\x05\x47\x38\x03\xc7\x3b\x05\x48\x26\x03\xc8\x00\x21\x48\x21\x03\xc8\x21\x05\x48\x26\x03\xc8\x29\x09\x49\x09\x03\xc8\x32\x12\x49\x04\x03\xc9\x04\x05\x49\x09\x03", }; static struct { @@ -145107,7 +140618,7 @@ static const_str_existing = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -145116,7 +140627,7 @@ const_str_existing = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "existing", @@ -145129,7 +140640,7 @@ static const_str_pkg_main_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 13, @@ -145138,7 +140649,7 @@ const_str_pkg_main_name = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pkg_main_name", @@ -145155,7 +140666,7 @@ runpy_toplevel_consts_11_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 13, @@ -145165,7 +140676,7 @@ runpy_toplevel_consts_11_localsplusnames = { & const_str_error._ascii.ob_base, & const_str_pkg_name._ascii.ob_base, &_Py_ID(_), - & const_str_e._ascii.ob_base, + &_Py_ID(e), & const_str_existing._ascii.ob_base, & const_str_warn._ascii.ob_base, &_Py_ID(msg), @@ -145178,40 +140689,38 @@ runpy_toplevel_consts_11_localsplusnames = { }, }; static - struct _PyCode_DEF(1304) + struct _PyCode_DEF(1176) runpy_toplevel_consts_11 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 652, + .ob_size = 588, }, .co_consts = & runpy_toplevel_consts_11_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_11_names._object.ob_base.ob_base, .co_exceptiontable = & runpy_toplevel_consts_11_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 22 + FRAME_SPECIALS_SIZE, .co_stacksize = 9, .co_firstlineno = 105, .co_nlocalsplus = 13, .co_nlocals = 13, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 749, .co_localsplusnames = & runpy_toplevel_consts_11_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & posixpath_toplevel_consts_32_localspluskinds.ob_base.ob_base, + .co_localspluskinds = & posixpath_toplevel_consts_33_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str__get_module_details._ascii.ob_base, .co_qualname = & const_str__get_module_details._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_11_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0b\x02\x00\x7c\x01\x64\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x02\x7d\x03\x7d\x03\x7c\x02\x72\xbe\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x47\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x3a\x7d\x04\x7c\x04\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x81\x28\x7c\x04\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x6b\x03\x00\x00\x00\x00\x72\x1e\x7c\x02\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7a\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x73\x01\x82\x00\x59\x00\x64\x00\x7d\x04\x7e\x04\x6e\x08\x64\x00\x7d\x04\x7e\x04\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x81\x45\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x64\x03\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x35\x64\x04\x64\x05\x6c\x09\x6d\x0a\x7d\x06\x01\x00\x64\x06\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\xac\x07\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x07\x02\x00\x7c\x06\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x08\x6e\x83\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x04\x24\x00\x72\x63\x7d\x09\x64\x08\x7d\x07\x7c\x00\xa0\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x14\x7c\x07\x64\x0a\x7c\x00\x64\x00\x64\x0b\x85\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x64\x0c\x7c\x00\x9b\x00\x64\x0d\x9d\x05\x7a\x0d\x00\x00\x7d\x07\x02\x00\x7c\x01\x7c\x07\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\x82\x02\x64\x00\x7d\x09\x7e\x09\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x08\x80\x0e\x02\x00\x7c\x01\x64\x0e\x7c\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x08\x6a\x16\x00\x00\x00\x00\x00\x00\x00\x00\x81\x69\x7c\x00\x64\x0f\x6b\x02\x00\x00\x00\x00\x73\x15\x7c\x00\xa0\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0b\x02\x00\x7c\x01\x64\x11\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x09\x00\x7c\x00\x64\x10\x7a\x00\x00\x00\x7d\x0a\x74\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\x7c\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x7c\x01\x24\x00\x72\x25\x7d\x04\x7c\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x01\x82\x00\x02\x00\x7c\x01\x7c\x04\x9b\x01\x64\x12\x7c\x00\x9b\x02\x64\x13\x9d\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x64\x00\x7d\x04\x7e\x04\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x08\x6a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x0b\x80\x0e\x02\x00\x7c\x01\x64\x14\x7c\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x09\x00\x7c\x0b\xa0\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x6e\x2b\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x1e\x7d\x04\x02\x00\x7c\x01\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x82\x02\x64\x00\x7d\x04\x7e\x04\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x7c\x0c\x80\x0e\x02\x00\x7c\x01\x64\x15\x7c\x00\x7a\x06\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x7c\x08\x7c\x0c\x66\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x72\x08\x02\x00\x7c\x01\x64\x02\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x02\x7d\x03\x7d\x03\x7c\x02\x72\x63\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x7c\x05\x81\x36\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x64\x03\xab\x02\x00\x00\x00\x00\x00\x00\x73\x2a\x64\x04\x64\x05\x6c\x09\x6d\x0a\x7d\x06\x01\x00\x64\x06\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x02\xac\x07\xab\x02\x00\x00\x00\x00\x00\x00\x7d\x07\x02\x00\x7c\x06\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x08\x7c\x08\x80\x0b\x02\x00\x7c\x01\x64\x0e\x7c\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x08\x6a\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x30\x7c\x00\x64\x0f\x6b\x28\x00\x00\x73\x11\x7c\x00\x6a\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x10\xab\x01\x00\x00\x00\x00\x00\x00\x72\x08\x02\x00\x7c\x01\x64\x11\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x09\x00\x7c\x00\x64\x10\x7a\x00\x00\x00\x7d\x0a\x74\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0a\x7c\x01\xab\x02\x00\x00\x00\x00\x00\x00\x53\x00\x7c\x08\x6a\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x7c\x0b\x80\x0b\x02\x00\x7c\x01\x64\x14\x7c\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x09\x00\x7c\x0b\x6a\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x0c\x7c\x0c\x80\x0b\x02\x00\x7c\x01\x64\x15\x7c\x00\x7a\x06\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x7c\x00\x7c\x08\x7c\x0c\x66\x03\x53\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x45\x7d\x04\x7c\x04\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x2d\x7c\x04\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x6b\x37\x00\x00\x72\x1f\x7c\x02\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x7a\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x73\x01\x82\x00\x59\x00\x64\x00\x7d\x04\x7e\x04\x90\x01\x8c\x46\x64\x00\x7d\x04\x7e\x04\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x74\x20\x00\x00\x00\x00\x00\x00\x00\x00\x74\x22\x00\x00\x00\x00\x00\x00\x00\x00\x74\x24\x00\x00\x00\x00\x00\x00\x00\x00\x66\x04\x24\x00\x72\x54\x7d\x09\x64\x08\x7d\x07\x7c\x00\x6a\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x09\xab\x01\x00\x00\x00\x00\x00\x00\x72\x0f\x7c\x07\x64\x0a\x7c\x00\x64\x00\x64\x0b\x1a\x00\x9b\x00\x64\x0c\x7c\x00\x9b\x00\x64\x0d\x9d\x05\x7a\x0d\x00\x00\x7d\x07\x02\x00\x7c\x01\x7c\x07\x6a\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x29\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x01\x00\x00\x00\x00\x00\x00\x6a\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x09\xab\x03\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x09\x82\x02\x64\x00\x7d\x09\x7e\x09\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x7c\x01\x24\x00\x72\x26\x7d\x04\x7c\x00\x74\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x72\x01\x82\x00\x02\x00\x7c\x01\x7c\x04\x9b\x01\x64\x12\x7c\x00\x9b\x02\x64\x13\x9d\x04\xab\x01\x00\x00\x00\x00\x00\x00\x82\x01\x64\x00\x7d\x04\x7e\x04\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x17\x7d\x04\x02\x00\x7c\x01\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x04\x82\x02\x64\x00\x7d\x04\x7e\x04\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -145222,7 +140731,7 @@ static const_str__Error = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 6, @@ -145231,7 +140740,7 @@ const_str__Error = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_Error", @@ -145244,7 +140753,7 @@ static runpy_toplevel_consts_12_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 66, @@ -145253,7 +140762,7 @@ runpy_toplevel_consts_12_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Error that _run_module_as_main() should report without a traceback", @@ -145270,7 +140779,7 @@ runpy_toplevel_consts_12_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -145294,7 +140803,7 @@ runpy_toplevel_consts_12_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -145311,54 +140820,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[6]; } runpy_toplevel_consts_12_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xd8\x04\x4c\xd0\x04\x4c\xd0\x04\x4c\xd0\x04\x4c", + .ob_sval = "\x84\x00\xda\x04\x4c", }; static - struct _PyCode_DEF(18) + struct _PyCode_DEF(16) runpy_toplevel_consts_12 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 9, + .ob_size = 8, }, .co_consts = & runpy_toplevel_consts_12_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 166, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 750, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str__Error._ascii.ob_base, .co_qualname = & const_str__Error._ascii.ob_base, .co_linetable = & runpy_toplevel_consts_12_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x79\x02", ._co_firsttraceable = 0, }; static @@ -145366,10 +140873,10 @@ static PyASCIIObject _ascii; uint8_t _data[454]; } -runpy_toplevel_consts_15_consts_0 = { +runpy_toplevel_consts_14_consts_0 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 453, @@ -145378,7 +140885,7 @@ runpy_toplevel_consts_15_consts_0 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "\x52\x75\x6e\x73\x20\x74\x68\x65\x20\x64\x65\x73\x69\x67\x6e\x61\x74\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x6e\x20\x74\x68\x65\x20\x5f\x5f\x6d\x61\x69\x6e\x5f\x5f\x20\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x4e\x6f\x74\x65\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x65\x78\x65\x63\x75\x74\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x20\x77\x69\x6c\x6c\x20\x68\x61\x76\x65\x20\x66\x75\x6c\x6c\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6f\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x5f\x5f\x6d\x61\x69\x6e\x5f\x5f\x20\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x2e\x20\x49\x66\x20\x74\x68\x69\x73\x20\x69\x73\x20\x6e\x6f\x74\x20\x64\x65\x73\x69\x72\x61\x62\x6c\x65\x2c\x20\x74\x68\x65\x20\x72\x75\x6e\x5f\x6d\x6f\x64\x75\x6c\x65\x28\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x72\x75\x6e\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x63\x6f\x64\x65\x20\x69\x6e\x20\x61\x20\x66\x72\x65\x73\x68\x20\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x41\x74\x20\x74\x68\x65\x20\x76\x65\x72\x79\x20\x6c\x65\x61\x73\x74\x2c\x20\x74\x68\x65\x73\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x69\x6e\x20\x5f\x5f\x6d\x61\x69\x6e\x5f\x5f\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x6f\x76\x65\x72\x77\x72\x69\x74\x74\x65\x6e\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x5f\x6e\x61\x6d\x65\x5f\x5f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x5f\x66\x69\x6c\x65\x5f\x5f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x5f\x63\x61\x63\x68\x65\x64\x5f\x5f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x5f\x6c\x6f\x61\x64\x65\x72\x5f\x5f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x5f\x70\x61\x63\x6b\x61\x67\x65\x5f\x5f\x0a\x20\x20\x20\x20", @@ -145391,19 +140898,19 @@ static PyObject *ob_item[5]; }_object; } -runpy_toplevel_consts_15_consts = { +runpy_toplevel_consts_14_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, }, .ob_item = { - & runpy_toplevel_consts_15_consts_0._ascii.ob_base, + & runpy_toplevel_consts_14_consts_0._ascii.ob_base, &_Py_ID(__main__), - & importlib__bootstrap_external_toplevel_consts_43_consts_4._ascii.ob_base, + & importlib__bootstrap_external_toplevel_consts_42_consts_4._ascii.ob_base, Py_None, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], }, @@ -145417,7 +140924,7 @@ static const_str__get_main_module_details = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -145426,7 +140933,7 @@ const_str__get_main_module_details = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_main_module_details", @@ -145439,11 +140946,11 @@ static PyObject *ob_item[11]; }_object; } -runpy_toplevel_consts_15_names = { +runpy_toplevel_consts_14_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 11, @@ -145457,8 +140964,8 @@ runpy_toplevel_consts_15_names = { & const_str_exit._ascii.ob_base, &_Py_ID(modules), &_Py_ID(__dict__), - & const_str_origin._ascii.ob_base, - & const_str_argv._ascii.ob_base, + &_Py_ID(origin), + &_Py_ID(argv), & const_str__run_code._ascii.ob_base, }, }, @@ -145471,7 +140978,7 @@ static const_str__run_module_as_main = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -145480,7 +140987,7 @@ const_str__run_module_as_main = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_run_module_as_main", @@ -145489,35 +140996,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[211]; + char ob_sval[165]; } -runpy_toplevel_consts_15_linetable = { +runpy_toplevel_consts_14_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 210, + .ob_size = 164, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x1c\x07\x05\x16\xd8\x0b\x15\xf0\x00\x03\x09\x48\x01\x98\x18\xa0\x5a\xd2\x19\x2f\xd0\x19\x2f\xdd\x27\x3a\xb8\x38\xc5\x56\xd1\x27\x4c\xd4\x27\x4c\xd1\x0c\x24\x88\x48\x90\x68\xa0\x04\xa0\x04\xe5\x27\x3f\xc5\x06\xd1\x27\x47\xd4\x27\x47\xd1\x0c\x24\x88\x48\x90\x68\xa0\x04\xf8\xf8\xdd\x0b\x11\xf0\x00\x02\x05\x16\xf0\x00\x02\x05\x16\xf0\x00\x02\x05\x16\xdd\x1a\x1d\x9c\x2e\x98\x2e\x98\x2e\xa8\x23\xa8\x23\xd0\x0e\x2e\x88\x03\xdd\x08\x0b\x8c\x08\x90\x13\x89\x0d\x8c\x0d\x88\x0d\x88\x0d\x88\x0d\x88\x0d\x88\x0d\x88\x0d\xf8\xf8\xf8\xf8\xf0\x05\x02\x05\x16\xf8\xf8\xf8\xf5\x06\x00\x14\x17\x94\x3b\x98\x7a\xd4\x13\x2a\xd4\x13\x33\x80\x4c\xd8\x07\x11\xf0\x00\x01\x05\x26\xd8\x16\x1e\x94\x6f\x8d\x03\x8c\x08\x90\x11\x89\x0b\xdd\x0b\x14\x90\x54\x98\x3c\xa8\x14\xd8\x15\x1f\xa0\x18\xf1\x03\x01\x0c\x2b\xf4\x00\x01\x0c\x2b\xf0\x00\x01\x05\x2b", + .ob_sval = "\x80\x00\xf0\x1c\x07\x05\x16\xd9\x0b\x15\x98\x18\xa0\x5a\xd2\x19\x2f\xdc\x27\x3a\xb8\x38\xc4\x56\xd3\x27\x4c\xd1\x0c\x24\x88\x48\x90\x68\xa1\x04\xe4\x27\x3f\xc4\x06\xd3\x27\x47\xd1\x0c\x24\x88\x48\x90\x68\xa0\x04\xf4\x08\x00\x14\x17\x97\x3b\x91\x3b\x98\x7a\xd1\x13\x2a\xd7\x13\x33\xd1\x13\x33\x80\x4c\xd9\x07\x11\xd8\x16\x1e\x97\x6f\x91\x6f\x8c\x03\x8f\x08\x89\x08\x90\x11\x89\x0b\xdc\x0b\x14\x90\x54\x98\x3c\xa8\x14\xd8\x15\x1f\xa0\x18\xf3\x03\x01\x0c\x2b\xf0\x00\x01\x05\x2b\xf8\xf4\x0d\x00\x0c\x12\xf2\x00\x02\x05\x16\xdc\x1a\x1d\x9f\x2e\x9b\x2e\xa9\x23\xd0\x0e\x2e\x88\x03\xdc\x08\x0b\x8f\x08\x89\x08\x90\x13\x8f\x0d\x89\x0d\xfb\xf0\x05\x02\x05\x16\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[22]; + char ob_sval[24]; } -runpy_toplevel_consts_15_exceptiontable = { +runpy_toplevel_consts_14_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 21, + .ob_size = 23, }, .ob_shash = -1, - .ob_sval = "\x82\x3a\x3d\x00\xbd\x0a\x41\x36\x03\xc1\x07\x25\x41\x31\x03\xc1\x31\x05\x41\x36\x03", + .ob_sval = "\x82\x2f\x41\x3c\x00\xc1\x3c\x09\x42\x39\x03\xc2\x05\x2a\x42\x34\x03\xc2\x34\x05\x42\x39\x03", }; static struct { @@ -145527,7 +141034,7 @@ static const_str_alter_argv = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -145536,7 +141043,7 @@ const_str_alter_argv = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "alter_argv", @@ -145549,7 +141056,7 @@ static const_str_main_globals = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -145558,7 +141065,7 @@ const_str_main_globals = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "main_globals", @@ -145571,11 +141078,11 @@ static PyObject *ob_item[7]; }_object; } -runpy_toplevel_consts_15_localsplusnames = { +runpy_toplevel_consts_14_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 7, @@ -145592,40 +141099,38 @@ runpy_toplevel_consts_15_localsplusnames = { }, }; static - struct _PyCode_DEF(370) -runpy_toplevel_consts_15 = { + struct _PyCode_DEF(376) +runpy_toplevel_consts_14 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 185, + .ob_size = 188, }, - .co_consts = & runpy_toplevel_consts_15_consts._object.ob_base.ob_base, - .co_names = & runpy_toplevel_consts_15_names._object.ob_base.ob_base, - .co_exceptiontable = & runpy_toplevel_consts_15_exceptiontable.ob_base.ob_base, + .co_consts = & runpy_toplevel_consts_14_consts._object.ob_base.ob_base, + .co_names = & runpy_toplevel_consts_14_names._object.ob_base.ob_base, + .co_exceptiontable = & runpy_toplevel_consts_14_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 14 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, .co_firstlineno = 173, .co_nlocalsplus = 7, .co_nlocals = 7, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & runpy_toplevel_consts_15_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_39_consts_12_localspluskinds.ob_base.ob_base, + .co_version = 751, + .co_localsplusnames = & runpy_toplevel_consts_14_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_46_consts_9_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str__run_module_as_main._ascii.ob_base, .co_qualname = & const_str__run_module_as_main._ascii.ob_base, - .co_linetable = & runpy_toplevel_consts_15_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x09\x00\x7c\x01\x73\x06\x7c\x00\x64\x01\x6b\x03\x00\x00\x00\x00\x72\x1a\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x00\x7d\x02\x7d\x03\x6e\x18\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x00\x7d\x02\x7d\x03\x6e\x3c\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x2f\x7d\x04\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x64\x02\x7c\x04\x9b\x01\x9d\x03\x7d\x05\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x03\x7d\x04\x7e\x04\x6e\x08\x64\x03\x7d\x04\x7e\x04\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x01\x72\x14\x7c\x02\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x3c\x00\x00\x00\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x7c\x06\x64\x03\x64\x01\x7c\x02\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & runpy_toplevel_consts_14_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x09\x00\x7c\x01\x73\x05\x7c\x00\x64\x01\x6b\x37\x00\x00\x72\x15\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x00\x7d\x02\x7d\x03\x6e\x13\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x00\x7d\x02\x7d\x03\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x06\x7c\x01\x72\x1d\x7f\x02\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x3c\x00\x00\x00\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x03\x7c\x06\x64\x03\x64\x01\x7f\x02\xab\x05\x00\x00\x00\x00\x00\x00\x53\x00\x23\x00\x74\x02\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x34\x7d\x04\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x64\x02\x7c\x04\x9b\x01\x9d\x03\x7d\x05\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x59\x00\x64\x03\x7d\x04\x7e\x04\x8c\x83\x64\x03\x7d\x04\x7e\x04\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -145633,11 +141138,11 @@ static PyCompactUnicodeObject _compact; uint16_t _data[801]; } -runpy_toplevel_consts_17_consts_0 = { +runpy_toplevel_consts_15_consts_0 = { ._compact = { ._base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 800, @@ -145646,9 +141151,11 @@ runpy_toplevel_consts_17_consts_0 = { .kind = 2, .compact = 1, .ascii = 0, - .ready = 1, + .statically_allocated = 1, }, }, + .utf8 = "\x45\x78\x65\x63\x75\x74\x65\x20\x61\x20\x6d\x6f\x64\x75\x6c\x65\x27\x73\x20\x63\x6f\x64\x65\x20\x77\x69\x74\x68\x6f\x75\x74\x20\x69\x6d\x70\x6f\x72\x74\x69\x6e\x67\x20\x69\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x6d\x6f\x64\x5f\x6e\x61\x6d\x65\x20\x2d\x2d\x20\x61\x6e\x20\x61\x62\x73\x6f\x6c\x75\x74\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6e\x61\x6d\x65\x20\x6f\x72\x20\x70\x61\x63\x6b\x61\x67\x65\x20\x6e\x61\x6d\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x4f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x67\x6c\x6f\x62\x61\x6c\x73\x20\x2d\x2d\x20\x64\x69\x63\x74\x69\x6f\x6e\x61\x72\x79\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x70\x72\x65\x2d\x70\x6f\x70\x75\x6c\x61\x74\x65\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\xe2\x80\x99\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x67\x6c\x6f\x62\x61\x6c\x73\x20\x64\x69\x63\x74\x69\x6f\x6e\x61\x72\x79\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x65\x78\x65\x63\x75\x74\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x72\x75\x6e\x5f\x6e\x61\x6d\x65\x20\x2d\x2d\x20\x69\x66\x20\x6e\x6f\x74\x20\x4e\x6f\x6e\x65\x2c\x20\x74\x68\x69\x73\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x75\x73\x65\x64\x20\x66\x6f\x72\x20\x73\x65\x74\x74\x69\x6e\x67\x20\x5f\x5f\x6e\x61\x6d\x65\x5f\x5f\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x2c\x20\x5f\x5f\x6e\x61\x6d\x65\x5f\x5f\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x73\x65\x74\x20\x74\x6f\x20\x6d\x6f\x64\x5f\x6e\x61\x6d\x65\x20\x2b\x20\x27\x5f\x5f\x6d\x61\x69\x6e\x5f\x5f\x27\x20\x69\x66\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x6e\x61\x6d\x65\x64\x20\x6d\x6f\x64\x75\x6c\x65\x20\x69\x73\x20\x61\x20\x70\x61\x63\x6b\x61\x67\x65\x20\x61\x6e\x64\x20\x74\x6f\x20\x6a\x75\x73\x74\x20\x6d\x6f\x64\x5f\x6e\x61\x6d\x65\x20\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x61\x6c\x74\x65\x72\x5f\x73\x79\x73\x20\x2d\x2d\x20\x69\x66\x20\x54\x72\x75\x65\x2c\x20\x73\x79\x73\x2e\x61\x72\x67\x76\x5b\x30\x5d\x20\x69\x73\x20\x75\x70\x64\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x0a\x20\x20\x20\x20\x20\x20\x20\x5f\x5f\x66\x69\x6c\x65\x5f\x5f\x20\x61\x6e\x64\x20\x73\x79\x73\x2e\x6d\x6f\x64\x75\x6c\x65\x73\x5b\x5f\x5f\x6e\x61\x6d\x65\x5f\x5f\x5d\x20\x69\x73\x20\x75\x70\x64\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x61\x20\x74\x65\x6d\x70\x6f\x72\x61\x72\x79\x0a\x20\x20\x20\x20\x20\x20\x20\x6d\x6f\x64\x75\x6c\x65\x20\x6f\x62\x6a\x65\x63\x74\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x62\x65\x69\x6e\x67\x20\x65\x78\x65\x63\x75\x74\x65\x64\x2e\x20\x42\x6f\x74\x68\x20\x61\x72\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x72\x65\x73\x74\x6f\x72\x65\x64\x20\x74\x6f\x20\x74\x68\x65\x69\x72\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x20\x76\x61\x6c\x75\x65\x73\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x72\x65\x74\x75\x72\x6e\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x74\x68\x65\x20\x72\x65\x73\x75\x6c\x74\x69\x6e\x67\x20\x6d\x6f\x64\x75\x6c\x65\x20\x67\x6c\x6f\x62\x61\x6c\x73\x20\x64\x69\x63\x74\x69\x6f\x6e\x61\x72\x79\x2e\x0a\x20\x20\x20\x20", + .utf8_length = 802, }, ._data = { 69, 120, 101, 99, 117, 116, 101, 32, 97, 32, 109, 111, 100, 117, 108, 101, @@ -145711,17 +141218,17 @@ static PyObject *ob_item[1]; }_object; } -runpy_toplevel_consts_17_consts = { +runpy_toplevel_consts_15_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, }, .ob_item = { - & runpy_toplevel_consts_17_consts_0._compact._base.ob_base, + & runpy_toplevel_consts_15_consts_0._compact._base.ob_base, }, }, }; @@ -145733,11 +141240,11 @@ static PyObject *ob_item[3]; }_object; } -runpy_toplevel_consts_17_names = { +runpy_toplevel_consts_15_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -145753,18 +141260,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[89]; + char ob_sval[74]; } -runpy_toplevel_consts_17_linetable = { +runpy_toplevel_consts_15_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 88, + .ob_size = 73, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf5\x2a\x00\x20\x33\xb0\x38\xd1\x1f\x3c\xd4\x1f\x3c\xd1\x04\x1c\x80\x48\x88\x68\x98\x04\xd8\x07\x0f\xd0\x07\x17\xd8\x13\x1b\x88\x08\xd8\x07\x10\xf0\x00\x04\x05\x45\x01\xdd\x0f\x1f\xa0\x04\xa0\x6c\xb0\x48\xb8\x68\xd1\x0f\x47\xd4\x0f\x47\xd0\x08\x47\xf5\x06\x00\x10\x19\x98\x14\x98\x72\xa0\x3c\xb0\x18\xb8\x38\xd1\x0f\x44\xd4\x0f\x44\xd0\x08\x44", + .ob_sval = "\x80\x00\xf4\x2a\x00\x20\x33\xb0\x38\xd3\x1f\x3c\xd1\x04\x1c\x80\x48\x88\x68\x98\x04\xd8\x07\x0f\xd0\x07\x17\xd8\x13\x1b\x88\x08\xd9\x07\x10\xdc\x0f\x1f\xa0\x04\xa0\x6c\xb0\x48\xb8\x68\xd3\x0f\x47\xd0\x08\x47\xf4\x06\x00\x10\x19\x98\x14\x98\x72\xa0\x3c\xb0\x18\xb8\x38\xd3\x0f\x44\xd0\x08\x44", }; static struct { @@ -145774,7 +141281,7 @@ static const_str_run_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -145783,7 +141290,7 @@ const_str_run_name = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "run_name", @@ -145796,7 +141303,7 @@ static const_str_alter_sys = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -145805,7 +141312,7 @@ const_str_alter_sys = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "alter_sys", @@ -145818,11 +141325,11 @@ static PyObject *ob_item[6]; }_object; } -runpy_toplevel_consts_17_localsplusnames = { +runpy_toplevel_consts_15_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -145838,40 +141345,38 @@ runpy_toplevel_consts_17_localsplusnames = { }, }; static - struct _PyCode_DEF(126) -runpy_toplevel_consts_17 = { + struct _PyCode_DEF(102) +runpy_toplevel_consts_15 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 63, + .ob_size = 51, }, - .co_consts = & runpy_toplevel_consts_17_consts._object.ob_base.ob_base, - .co_names = & runpy_toplevel_consts_17_names._object.ob_base.ob_base, + .co_consts = & runpy_toplevel_consts_15_consts._object.ob_base.ob_base, + .co_names = & runpy_toplevel_consts_15_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 4, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 13 + FRAME_SPECIALS_SIZE, .co_stacksize = 7, .co_firstlineno = 201, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & runpy_toplevel_consts_17_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 752, + .co_localsplusnames = & runpy_toplevel_consts_15_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str_run_module._ascii.ob_base, .co_qualname = & const_str_run_module._ascii.ob_base, - .co_linetable = & runpy_toplevel_consts_17_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x00\x7d\x04\x7d\x05\x7c\x02\x80\x02\x7c\x00\x7d\x02\x7c\x03\x72\x12\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x01\x7c\x02\x7c\x04\xa6\x04\x00\x00\xab\x04\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x69\x00\x7c\x01\x7c\x02\x7c\x04\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00", + .co_linetable = & runpy_toplevel_consts_15_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x00\x7d\x04\x7d\x05\x7c\x02\x80\x02\x7c\x00\x7d\x02\x7c\x03\x72\x0e\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x7c\x01\x7c\x02\x7c\x04\xab\x04\x00\x00\x00\x00\x00\x00\x53\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x69\x00\x7c\x01\x7c\x02\x7c\x04\xab\x05\x00\x00\x00\x00\x00\x00\x53\x00", ._co_firsttraceable = 0, }; static @@ -145879,10 +141384,10 @@ static PyASCIIObject _ascii; uint8_t _data[12]; } -runpy_toplevel_consts_18_consts_2 = { +runpy_toplevel_consts_16_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -145891,7 +141396,7 @@ runpy_toplevel_consts_18_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "can't find ", @@ -145901,10 +141406,10 @@ static PyASCIIObject _ascii; uint8_t _data[12]; } -runpy_toplevel_consts_18_consts_3 = { +runpy_toplevel_consts_16_consts_3 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -145913,7 +141418,7 @@ runpy_toplevel_consts_18_consts_3 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = " module in ", @@ -145926,11 +141431,11 @@ static PyObject *ob_item[5]; }_object; } -runpy_toplevel_consts_18_consts = { +runpy_toplevel_consts_16_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 5, @@ -145938,8 +141443,8 @@ runpy_toplevel_consts_18_consts = { .ob_item = { Py_None, &_Py_ID(__main__), - & runpy_toplevel_consts_18_consts_2._ascii.ob_base, - & runpy_toplevel_consts_18_consts_3._ascii.ob_base, + & runpy_toplevel_consts_16_consts_2._ascii.ob_base, + & runpy_toplevel_consts_16_consts_3._ascii.ob_base, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], }, }, @@ -145952,11 +141457,11 @@ static PyObject *ob_item[6]; }_object; } -runpy_toplevel_consts_18_names = { +runpy_toplevel_consts_16_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -145975,18 +141480,18 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[193]; + char ob_sval[150]; } -runpy_toplevel_consts_18_linetable = { +runpy_toplevel_consts_16_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 192, + .ob_size = 149, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x0a\x00\x11\x1b\x80\x49\xdd\x11\x14\x94\x1b\x98\x59\xd4\x11\x27\x80\x4a\xdd\x08\x0b\x8c\x0b\x90\x49\xd0\x08\x1e\xf0\x02\x08\x05\x2c\xdd\x0f\x22\xa0\x39\xd1\x0f\x2d\xd4\x0f\x2d\xf0\x0e\x00\x22\x2c\x8d\x03\x8c\x0b\x90\x49\xd1\x08\x1e\xd0\x08\x1e\xf8\xf5\x0d\x00\x0c\x17\xf0\x00\x04\x05\x0e\xf0\x00\x04\x05\x0e\xf0\x00\x04\x05\x0e\xd8\x0b\x14\x9d\x03\x98\x43\x99\x08\x9c\x08\xd0\x0b\x20\xd0\x0b\x20\xd8\x12\x17\x90\x25\x90\x25\xd8\x1f\x28\x98\x79\x98\x79\xad\x23\xac\x28\xb0\x31\xac\x2b\xa8\x2b\xf0\x03\x01\x19\x37\xf1\x00\x01\x13\x38\xf4\x00\x01\x13\x38\xd8\x3d\x40\xf0\x03\x01\x0d\x41\x01\xe0\x08\x0d\xf8\xf8\xf8\xf8\xf0\x09\x04\x05\x0e\xf8\xf8\xf8\xf8\xf0\x0c\x00\x22\x2c\x8d\x03\x8c\x0b\x90\x49\xd1\x08\x1e\xd0\x08\x2b\xd0\x08\x2b\xd0\x08\x2b\xd0\x08\x2b", + .ob_sval = "\x80\x00\xf0\x0a\x00\x11\x1b\x80\x49\xdc\x11\x14\x97\x1b\x91\x1b\x98\x59\xd1\x11\x27\x80\x4a\xdc\x08\x0b\x8f\x0b\x89\x0b\x90\x49\xd0\x08\x1e\xf0\x02\x08\x05\x2c\xdc\x0f\x22\xa0\x39\xd3\x0f\x2d\xf0\x0e\x00\x22\x2c\x8c\x03\x8f\x0b\x89\x0b\x90\x49\xd2\x08\x1e\xf8\xf4\x0d\x00\x0c\x17\xf2\x00\x04\x05\x0e\xd8\x0b\x14\x9c\x03\x98\x43\x9b\x08\xd1\x0b\x20\xda\x12\x17\xda\x1f\x28\xac\x23\xaf\x28\xa9\x28\xb0\x31\xaa\x2b\xf0\x03\x01\x19\x37\xf3\x00\x01\x13\x38\xd8\x3d\x40\xf0\x03\x01\x0d\x41\x01\xe0\x08\x0d\xfb\xf0\x09\x04\x05\x0e\xfb\xf0\x0c\x00\x22\x2c\x8c\x03\x8f\x0b\x89\x0b\x90\x49\xd2\x08\x1e\xfa", }; static struct { @@ -145994,16 +141499,16 @@ static Py_hash_t ob_shash; char ob_sval[36]; } -runpy_toplevel_consts_18_exceptiontable = { +runpy_toplevel_consts_16_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, .ob_size = 35, }, .ob_shash = -1, - .ob_sval = "\xa3\x0e\x41\x01\x00\xc1\x01\x0a\x42\x04\x03\xc1\x0b\x34\x41\x3f\x03\xc1\x3f\x05\x42\x04\x03\xc2\x04\x03\x42\x07\x00\xc2\x07\x11\x42\x18\x03", + .ob_sval = "\xa8\x0a\x41\x06\x00\xc1\x06\x09\x42\x02\x03\xc1\x0f\x2e\x41\x3d\x03\xc1\x3d\x05\x42\x02\x03\xc2\x02\x03\x42\x05\x00\xc2\x05\x15\x42\x1a\x03", }; static struct { @@ -146013,7 +141518,7 @@ static const_str_main_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -146022,7 +141527,7 @@ const_str_main_name = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "main_name", @@ -146035,7 +141540,7 @@ static const_str_saved_main = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -146044,7 +141549,7 @@ const_str_saved_main = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "saved_main", @@ -146057,11 +141562,11 @@ static PyObject *ob_item[4]; }_object; } -runpy_toplevel_consts_18_localsplusnames = { +runpy_toplevel_consts_16_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -146075,40 +141580,38 @@ runpy_toplevel_consts_18_localsplusnames = { }, }; static - struct _PyCode_DEF(310) -runpy_toplevel_consts_18 = { + struct _PyCode_DEF(314) +runpy_toplevel_consts_16 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 155, + .ob_size = 157, }, - .co_consts = & runpy_toplevel_consts_18_consts._object.ob_base.ob_base, - .co_names = & runpy_toplevel_consts_18_names._object.ob_base.ob_base, - .co_exceptiontable = & runpy_toplevel_consts_18_exceptiontable.ob_base.ob_base, + .co_consts = & runpy_toplevel_consts_16_consts._object.ob_base.ob_base, + .co_names = & runpy_toplevel_consts_16_names._object.ob_base.ob_base, + .co_exceptiontable = & runpy_toplevel_consts_16_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 1, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 8, .co_firstlineno = 231, .co_nlocalsplus = 4, .co_nlocals = 4, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & runpy_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_33_localspluskinds.ob_base.ob_base, + .co_version = 753, + .co_localsplusnames = & runpy_toplevel_consts_16_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_7_consts_3_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str__get_main_module_details._ascii.ob_base, .co_qualname = & const_str__get_main_module_details._ascii.ob_base, - .co_linetable = & runpy_toplevel_consts_18_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x7d\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3d\x00\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3c\x00\x00\x00\x53\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x39\x7d\x03\x7c\x01\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x72\x22\x02\x00\x7c\x00\x64\x02\x7c\x01\x9b\x02\x64\x03\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x9d\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x82\x02\x82\x00\x64\x00\x7d\x03\x7e\x03\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x7c\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3c\x00\x00\x00\x77\x00\x78\x03\x59\x00\x77\x01", + .co_linetable = & runpy_toplevel_consts_16_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x7d\x01\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x19\x00\x00\x00\x7d\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3d\x00\x09\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3c\x00\x00\x00\x53\x00\x23\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x33\x7d\x03\x7c\x01\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x76\x00\x72\x20\x02\x00\x7c\x00\x64\x02\x7c\x01\x9b\x02\x64\x03\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x19\x00\x00\x00\x9b\x02\x9d\x04\xab\x01\x00\x00\x00\x00\x00\x00\x7c\x03\x82\x02\x82\x00\x64\x00\x7d\x03\x7e\x03\x77\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x7c\x02\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x3c\x00\x00\x00\x77\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -146119,7 +141622,7 @@ static const_str_read_code = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -146128,7 +141631,7 @@ const_str_read_code = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "read_code", @@ -146141,11 +141644,11 @@ static PyObject *ob_item[1]; }_object; } -runpy_toplevel_consts_19_consts_2 = { +runpy_toplevel_consts_17_consts_2 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -146163,11 +141666,11 @@ static PyObject *ob_item[4]; }_object; } -runpy_toplevel_consts_19_consts = { +runpy_toplevel_consts_17_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -146175,7 +141678,7 @@ runpy_toplevel_consts_19_consts = { .ob_item = { Py_None, (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & runpy_toplevel_consts_19_consts_2._object.ob_base.ob_base, + & runpy_toplevel_consts_17_consts_2._object.ob_base.ob_base, & const_str_exec._ascii.ob_base, }, }, @@ -146188,7 +141691,7 @@ static const_str_pkgutil = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 7, @@ -146197,7 +141700,7 @@ const_str_pkgutil = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "pkgutil", @@ -146210,11 +141713,11 @@ static PyObject *ob_item[10]; }_object; } -runpy_toplevel_consts_19_names = { +runpy_toplevel_consts_17_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -146241,7 +141744,7 @@ static const_str__get_code_from_file = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -146250,7 +141753,7 @@ const_str__get_code_from_file = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "_get_code_from_file", @@ -146259,35 +141762,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[299]; + char ob_sval[161]; } -runpy_toplevel_consts_19_linetable = { +runpy_toplevel_consts_17_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 298, + .ob_size = 160, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xe0\x04\x21\xd0\x04\x21\xd0\x04\x21\xd0\x04\x21\xd0\x04\x21\xd0\x04\x21\xdd\x13\x15\x94\x37\x97\x3f\x92\x3f\xa5\x32\xa4\x3b\xa8\x75\xd1\x23\x35\xd4\x23\x35\xd1\x13\x36\xd4\x13\x36\x80\x4c\xdd\x09\x0b\x8c\x1c\x90\x6c\xd1\x09\x23\xd4\x09\x23\xf0\x00\x01\x05\x1c\xa0\x71\xd8\x0f\x18\x88\x79\x98\x11\x89\x7c\x8c\x7c\x88\x04\xf0\x03\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf1\x00\x01\x05\x1c\xf4\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf8\xf8\xf8\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xf0\x00\x01\x05\x1c\xe0\x07\x0b\x80\x7c\xe5\x0d\x0f\x8c\x5c\x98\x2c\xd1\x0d\x27\xd4\x0d\x27\xf0\x00\x01\x09\x34\xa8\x31\xdd\x13\x1a\x98\x31\x9f\x36\x9a\x36\x99\x38\x9c\x38\xa0\x55\xa8\x46\xd1\x13\x33\xd4\x13\x33\x88\x44\xf0\x03\x01\x09\x34\xf0\x00\x01\x09\x34\xf0\x00\x01\x09\x34\xf1\x00\x01\x09\x34\xf4\x00\x01\x09\x34\xf0\x00\x01\x09\x34\xf0\x00\x01\x09\x34\xf0\x00\x01\x09\x34\xf0\x00\x01\x09\x34\xf0\x00\x01\x09\x34\xf0\x00\x01\x09\x34\xf8\xf8\xf8\xf0\x00\x01\x09\x34\xf0\x00\x01\x09\x34\xf0\x00\x01\x09\x34\xf0\x00\x01\x09\x34\xe0\x0b\x0f\x90\x15\x88\x3b\xd0\x04\x16", + .ob_sval = "\x80\x00\xe5\x04\x21\xdc\x13\x15\x97\x37\x91\x37\x97\x3f\x91\x3f\xa4\x32\xa7\x3b\xa1\x3b\xa8\x75\xd3\x23\x35\xd3\x13\x36\x80\x4c\xdc\x09\x0b\x8f\x1c\x89\x1c\x90\x6c\xd3\x09\x23\xf0\x00\x01\x05\x1c\xa0\x71\xd9\x0f\x18\x98\x11\x8b\x7c\x88\x04\xf7\x03\x01\x05\x1c\xe0\x07\x0b\x80\x7c\xe4\x0d\x0f\x8f\x5c\x89\x5c\x98\x2c\xd3\x0d\x27\xf0\x00\x01\x09\x34\xa8\x31\xdc\x13\x1a\x98\x31\x9f\x36\x99\x36\x9b\x38\xa0\x55\xa8\x46\xd3\x13\x33\x88\x44\xf7\x03\x01\x09\x34\xe0\x0b\x0f\x90\x15\x88\x3b\xd0\x04\x16\x88\x34\x90\x15\x88\x3b\xd0\x04\x16\xf7\x0d\x01\x05\x1c\xf0\x00\x01\x05\x1c\xfa\xf7\x08\x01\x09\x34\xe0\x0b\x0f\x90\x15\x88\x3b\xd0\x04\x16\xfa", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[37]; + char ob_sval[25]; } -runpy_toplevel_consts_19_exceptiontable = { +runpy_toplevel_consts_17_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 36, + .ob_size = 24, }, .ob_shash = -1, - .ob_sval = "\xc1\x0c\x0c\x41\x24\x03\xc1\x24\x04\x41\x28\x07\xc1\x2b\x01\x41\x28\x07\xc2\x05\x24\x42\x35\x03\xc2\x35\x04\x42\x39\x07\xc2\x3c\x01\x42\x39\x07", + .ob_sval = "\xc1\x0e\x09\x42\x22\x03\xc1\x36\x1c\x42\x2e\x03\xc2\x22\x05\x42\x2b\x07\xc2\x2e\x05\x42\x3a\x07", }; static struct { @@ -146297,7 +141800,7 @@ static const_str_decoded_path = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -146306,7 +141809,7 @@ const_str_decoded_path = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "decoded_path", @@ -146319,11 +141822,11 @@ static PyObject *ob_item[6]; }_object; } -runpy_toplevel_consts_19_localsplusnames = { +runpy_toplevel_consts_17_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -146333,46 +141836,44 @@ runpy_toplevel_consts_19_localsplusnames = { & const_str_fname._ascii.ob_base, & const_str_read_code._ascii.ob_base, & const_str_decoded_path._ascii.ob_base, - & const_str_f._ascii.ob_base, + (PyObject *)&_Py_SINGLETON(strings).ascii[102], &_Py_ID(code), }, }, }; static - struct _PyCode_DEF(392) -runpy_toplevel_consts_19 = { + struct _PyCode_DEF(378) +runpy_toplevel_consts_17 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 196, + .ob_size = 189, }, - .co_consts = & runpy_toplevel_consts_19_consts._object.ob_base.ob_base, - .co_names = & runpy_toplevel_consts_19_names._object.ob_base.ob_base, - .co_exceptiontable = & runpy_toplevel_consts_19_exceptiontable.ob_base.ob_base, + .co_consts = & runpy_toplevel_consts_17_consts._object.ob_base.ob_base, + .co_names = & runpy_toplevel_consts_17_names._object.ob_base.ob_base, + .co_exceptiontable = & runpy_toplevel_consts_17_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 2, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 12 + FRAME_SPECIALS_SIZE, .co_stacksize = 6, .co_firstlineno = 250, .co_nlocalsplus = 6, .co_nlocals = 6, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & runpy_toplevel_consts_19_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & importlib__bootstrap_toplevel_consts_23_consts_4_localspluskinds.ob_base.ob_base, + .co_version = 754, + .co_localsplusnames = & runpy_toplevel_consts_17_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_toplevel_consts_30_consts_4_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str__get_code_from_file._ascii.ob_base, .co_qualname = & const_str__get_code_from_file._ascii.ob_base, - .co_linetable = & runpy_toplevel_consts_19_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x01\x64\x02\x6c\x00\x6d\x01\x7d\x02\x01\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x04\x02\x00\x7c\x02\x7c\x04\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x00\x64\x00\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x7c\x05\x80\x4f\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\xa0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x03\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x00\x64\x00\x64\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x7c\x05\x7c\x01\x66\x02\x53\x00", + .co_linetable = & runpy_toplevel_consts_17_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x01\x64\x02\x6c\x00\x6d\x01\x7d\x02\x01\x00\x74\x04\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\xab\x01\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x03\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x04\x02\x00\x7c\x02\x7c\x04\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x00\x64\x00\x64\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7f\x05\x80\x3d\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\xab\x01\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x04\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x64\x03\xab\x03\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x00\x64\x00\x64\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x7c\x05\x7c\x01\x66\x02\x53\x00\x7c\x05\x7c\x01\x66\x02\x53\x00\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x8c\x4c\x78\x03\x59\x00\x77\x01\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x7c\x05\x7c\x01\x66\x02\x53\x00\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -146380,11 +141881,11 @@ static PyCompactUnicodeObject _compact; uint16_t _data[531]; } -runpy_toplevel_consts_20_consts_0 = { +runpy_toplevel_consts_18_consts_0 = { ._compact = { ._base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 530, @@ -146393,9 +141894,11 @@ runpy_toplevel_consts_20_consts_0 = { .kind = 2, .compact = 1, .ascii = 0, - .ready = 1, + .statically_allocated = 1, }, }, + .utf8 = "\x45\x78\x65\x63\x75\x74\x65\x20\x63\x6f\x64\x65\x20\x6c\x6f\x63\x61\x74\x65\x64\x20\x61\x74\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x66\x69\x6c\x65\x73\x79\x73\x74\x65\x6d\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x5f\x6e\x61\x6d\x65\x20\x2d\x2d\x20\x66\x69\x6c\x65\x73\x79\x73\x74\x65\x6d\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\x61\x20\x50\x79\x74\x68\x6f\x6e\x20\x73\x63\x72\x69\x70\x74\x2c\x20\x7a\x69\x70\x66\x69\x6c\x65\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x6f\x72\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x63\x6f\x6e\x74\x61\x69\x6e\x69\x6e\x67\x20\x61\x20\x74\x6f\x70\x20\x6c\x65\x76\x65\x6c\x20\x5f\x5f\x6d\x61\x69\x6e\x5f\x5f\x2e\x70\x79\x20\x73\x63\x72\x69\x70\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x4f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x67\x6c\x6f\x62\x61\x6c\x73\x20\x2d\x2d\x20\x64\x69\x63\x74\x69\x6f\x6e\x61\x72\x79\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x70\x72\x65\x2d\x70\x6f\x70\x75\x6c\x61\x74\x65\x20\x74\x68\x65\x20\x6d\x6f\x64\x75\x6c\x65\xe2\x80\x99\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x67\x6c\x6f\x62\x61\x6c\x73\x20\x64\x69\x63\x74\x69\x6f\x6e\x61\x72\x79\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x65\x78\x65\x63\x75\x74\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x72\x75\x6e\x5f\x6e\x61\x6d\x65\x20\x2d\x2d\x20\x69\x66\x20\x6e\x6f\x74\x20\x4e\x6f\x6e\x65\x2c\x20\x74\x68\x69\x73\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x73\x65\x74\x20\x5f\x5f\x6e\x61\x6d\x65\x5f\x5f\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x2c\x20\x27\x3c\x72\x75\x6e\x5f\x70\x61\x74\x68\x3e\x27\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x75\x73\x65\x64\x20\x66\x6f\x72\x20\x5f\x5f\x6e\x61\x6d\x65\x5f\x5f\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x74\x68\x65\x20\x72\x65\x73\x75\x6c\x74\x69\x6e\x67\x20\x6d\x6f\x64\x75\x6c\x65\x20\x67\x6c\x6f\x62\x61\x6c\x73\x20\x64\x69\x63\x74\x69\x6f\x6e\x61\x72\x79\x2e\x0a\x20\x20\x20\x20", + .utf8_length = 532, }, ._data = { 69, 120, 101, 99, 117, 116, 101, 32, 99, 111, 100, 101, 32, 108, 111, 99, @@ -146439,10 +141942,10 @@ static PyASCIIObject _ascii; uint8_t _data[11]; } -runpy_toplevel_consts_20_consts_2 = { +runpy_toplevel_consts_18_consts_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 10, @@ -146451,7 +141954,7 @@ runpy_toplevel_consts_20_consts_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -146464,7 +141967,7 @@ static const_str_get_importer = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -146473,7 +141976,7 @@ const_str_get_importer = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "get_importer", @@ -146486,11 +141989,11 @@ static PyObject *ob_item[1]; }_object; } -runpy_toplevel_consts_20_consts_5 = { +runpy_toplevel_consts_18_consts_5 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -146500,50 +142003,6 @@ runpy_toplevel_consts_20_consts_5 = { }, }, }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[4]; - } -const_str_imp = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 3, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "imp", -}; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[13]; - } -const_str_NullImporter = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 12, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "NullImporter", -}; static struct { PyGC_Head _gc_head; @@ -146552,11 +142011,11 @@ static PyObject *ob_item[2]; }_object; } -runpy_toplevel_consts_20_consts_10 = { +runpy_toplevel_consts_18_consts_6 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -146572,30 +142031,26 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[11]; + PyObject *ob_item[7]; }_object; } -runpy_toplevel_consts_20_consts = { +runpy_toplevel_consts_18_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 11, + .ob_size = 7, }, .ob_item = { - & runpy_toplevel_consts_20_consts_0._compact._base.ob_base, + & runpy_toplevel_consts_18_consts_0._compact._base.ob_base, Py_None, - & runpy_toplevel_consts_20_consts_2._ascii.ob_base, + & runpy_toplevel_consts_18_consts_2._ascii.ob_base, &_Py_STR(dot), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 0], - & runpy_toplevel_consts_20_consts_5._object.ob_base.ob_base, - Py_False, - & const_str_imp._ascii.ob_base, - & const_str_NullImporter._ascii.ob_base, - Py_True, - & runpy_toplevel_consts_20_consts_10._object.ob_base.ob_base, + & runpy_toplevel_consts_18_consts_5._object.ob_base.ob_base, + & runpy_toplevel_consts_18_consts_6._object.ob_base.ob_base, }, }, }; @@ -146604,26 +142059,24 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[21]; + PyObject *ob_item[19]; }_object; } -runpy_toplevel_consts_20_names = { +runpy_toplevel_consts_18_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 21, + .ob_size = 19, }, .ob_item = { & const_str_rpartition._ascii.ob_base, & const_str_pkgutil._ascii.ob_base, & const_str_get_importer._ascii.ob_base, - & const_str_type._ascii.ob_base, - &_Py_ID(__module__), - &_Py_ID(__name__), &_Py_ID(isinstance), + &_Py_ID(type), & const_str__get_code_from_file._ascii.ob_base, & const_str__run_module_code._ascii.ob_base, & const_str_sys._ascii.ob_base, @@ -146632,7 +142085,7 @@ runpy_toplevel_consts_20_names = { & const_str__get_main_module_details._ascii.ob_base, & const_str__TempModule._ascii.ob_base, & const_str__ModifiedArgv0._ascii.ob_base, - & const_str_module._ascii.ob_base, + &_Py_ID(module), &_Py_ID(__dict__), & const_str__run_code._ascii.ob_base, &_Py_ID(copy), @@ -146645,35 +142098,35 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[770]; + char ob_sval[394]; } -runpy_toplevel_consts_20_linetable = { +runpy_toplevel_consts_18_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 769, + .ob_size = 393, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xf0\x1e\x00\x08\x10\xd0\x07\x17\xd8\x13\x1f\x88\x08\xd8\x0f\x17\xd7\x0f\x22\xd2\x0f\x22\xa0\x33\xd1\x0f\x27\xd4\x0f\x27\xa8\x01\xd4\x0f\x2a\x80\x48\xd8\x04\x24\xd0\x04\x24\xd0\x04\x24\xd0\x04\x24\xd0\x04\x24\xd0\x04\x24\xd8\x0f\x1b\x88\x7c\x98\x49\xd1\x0f\x26\xd4\x0f\x26\x80\x48\xe0\x16\x1b\x80\x4f\xdd\x07\x0b\x88\x48\x81\x7e\x84\x7e\xd4\x07\x20\xa0\x45\xd2\x07\x29\xd0\x07\x29\xdd\x0b\x0f\x90\x08\x89\x3e\x8c\x3e\xd4\x0b\x22\xa0\x6e\xd2\x0b\x34\xd0\x0b\x34\xd8\x1e\x22\x88\x4f\xdd\x07\x11\x90\x28\x9d\x44\xa0\x14\x99\x4a\x9c\x4a\xd1\x07\x27\xd4\x07\x27\xf0\x00\x1b\x05\x15\xa8\x3f\xf0\x00\x1b\x05\x15\xf5\x06\x00\x17\x2a\xa8\x28\xb0\x49\xd1\x16\x3e\xd4\x16\x3e\x89\x0b\x88\x04\x88\x65\xdd\x0f\x1f\xa0\x04\xa0\x6c\xb0\x48\xd8\x29\x31\xb8\x75\xf0\x03\x01\x10\x46\x01\xf1\x00\x01\x10\x46\x01\xf4\x00\x01\x10\x46\x01\xf0\x00\x01\x09\x46\x01\xf5\x0a\x00\x09\x0c\x8c\x08\x8f\x0f\x8a\x0f\x98\x01\x98\x39\xd1\x08\x25\xd4\x08\x25\xd0\x08\x25\xf0\x02\x11\x09\x15\xf5\x0e\x00\x28\x40\x01\xd1\x27\x41\xd4\x27\x41\xd1\x0c\x24\x88\x48\x90\x68\xa0\x04\xdd\x11\x1c\x98\x58\xd1\x11\x26\xd4\x11\x26\xf0\x00\x04\x0d\x49\x01\xa8\x2b\xdd\x11\x1f\xa0\x09\xd1\x11\x2a\xd4\x11\x2a\xf0\x03\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xe0\x1e\x29\xd4\x1e\x30\xd4\x1e\x39\x90\x0b\xdd\x17\x20\xa0\x14\xa0\x7b\xb0\x4c\xd8\x24\x2c\xa8\x68\xb8\x08\xf1\x03\x01\x18\x42\x01\xf4\x00\x01\x18\x42\x01\xdf\x42\x46\xc2\x24\xc1\x26\xc4\x26\xf0\x09\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf1\x00\x04\x0d\x49\x01\xf4\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf1\x00\x04\x0d\x49\x01\xf4\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x0c\x03\x0d\x15\xdd\x10\x13\x94\x08\x97\x0f\x92\x0f\xa0\x09\xd1\x10\x2a\xd4\x10\x2a\xd0\x10\x2a\xd0\x10\x2a\xf8\xdd\x13\x1d\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xd8\x10\x14\x90\x04\xf0\x03\x01\x0d\x15\xf8\xf8\xf8\xf0\x11\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf8\xf8\xf8\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf1\x00\x04\x0d\x49\x01\xf4\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf8\xf8\xf8\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xf0\x0c\x03\x0d\x15\xdd\x10\x13\x94\x08\x97\x0f\x92\x0f\xa0\x09\xd1\x10\x2a\xd4\x10\x2a\xd0\x10\x2a\xd0\x10\x2a\xd0\x10\x2a\xf8\xdd\x13\x1d\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xd8\x10\x14\x90\x04\x90\x04\xf0\x03\x01\x0d\x15\xf8\xf8\xf8\xf8\xf0\x05\x03\x0d\x15\xdd\x10\x13\x94\x08\x97\x0f\x92\x0f\xa0\x09\xd1\x10\x2a\xd4\x10\x2a\xd0\x10\x2a\xd0\x10\x2a\xf8\xdd\x13\x1d\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xf0\x00\x01\x0d\x15\xd8\x10\x14\x90\x04\xf0\x03\x01\x0d\x15\xf8\xf8\xf8\xf8\xf8\xf8", + .ob_sval = "\x80\x00\xf0\x1e\x00\x08\x10\xd0\x07\x17\xd8\x13\x1f\x88\x08\xd8\x0f\x17\xd7\x0f\x22\xd1\x0f\x22\xa0\x33\xd3\x0f\x27\xa8\x01\xd1\x0f\x2a\x80\x48\xdd\x04\x24\xd9\x0f\x1b\x98\x49\xd3\x0f\x26\x80\x48\xdc\x07\x11\x90\x28\x9c\x44\xa0\x14\x9b\x4a\xd4\x07\x27\xf4\x06\x00\x17\x2a\xa8\x28\xb0\x49\xd3\x16\x3e\x89\x0b\x88\x04\x88\x65\xdc\x0f\x1f\xa0\x04\xa0\x6c\xb0\x48\xd8\x29\x31\xb8\x75\xf4\x03\x01\x10\x46\x01\xf0\x00\x01\x09\x46\x01\xf4\x0a\x00\x09\x0c\x8f\x08\x89\x08\x8f\x0f\x89\x0f\x98\x01\x98\x39\xd4\x08\x25\xf0\x02\x11\x09\x15\xf4\x0e\x00\x28\x40\x01\xd3\x27\x41\xd1\x0c\x24\x88\x48\x90\x68\xa0\x04\xdc\x11\x1c\x98\x58\xd3\x11\x26\xf0\x00\x04\x0d\x49\x01\xa8\x2b\xdc\x11\x1f\xa0\x09\xd3\x11\x2a\xf1\x03\x04\x0d\x49\x01\xe0\x1e\x29\xd7\x1e\x30\xd1\x1e\x30\xd7\x1e\x39\xd1\x1e\x39\x90\x0b\xdc\x17\x20\xa0\x14\xa0\x7b\xb0\x4c\xd8\x24\x2c\xa8\x68\xb8\x08\xf3\x03\x01\x18\x42\x01\xdf\x42\x46\xc1\x24\xc3\x26\xf7\x09\x04\x0d\x49\x01\xf7\x00\x04\x0d\x49\x01\xf1\x00\x04\x0d\x49\x01\xf0\x0c\x03\x0d\x15\xdc\x10\x13\x97\x08\x91\x08\x97\x0f\x91\x0f\xa0\x09\xd5\x10\x2a\xf8\xdc\x13\x1d\xf2\x00\x01\x0d\x15\xd9\x10\x14\xf0\x03\x01\x0d\x15\xfa\xf7\x11\x04\x0d\x49\x01\xf0\x00\x04\x0d\x49\x01\xfa\xf7\x00\x04\x0d\x49\x01\xf7\x00\x04\x0d\x49\x01\xf1\x00\x04\x0d\x49\x01\xfa\xf0\x0c\x03\x0d\x15\xdc\x10\x13\x97\x08\x91\x08\x97\x0f\x91\x0f\xa0\x09\xd5\x10\x2a\xf8\xdc\x13\x1d\xf2\x00\x01\x0d\x15\xd9\x10\x14\xf0\x03\x01\x0d\x15\xfb\xf0\x05\x03\x0d\x15\xdc\x10\x13\x97\x08\x91\x08\x97\x0f\x91\x0f\xa0\x09\xd5\x10\x2a\xf8\xdc\x13\x1d\xf2\x00\x01\x0d\x15\xd9\x10\x14\xf0\x03\x01\x0d\x15\xfd", }; static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[163]; + char ob_sval[139]; } -runpy_toplevel_consts_20_exceptiontable = { +runpy_toplevel_consts_18_exceptiontable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 162, + .ob_size = 138, }, .ob_shash = -1, - .ob_sval = "\xc3\x0c\x21\x47\x0d\x00\xc3\x2d\x10\x46\x0f\x03\xc3\x3d\x32\x45\x38\x05\xc4\x2f\x0c\x46\x0f\x03\xc4\x3b\x0c\x47\x0d\x00\xc5\x08\x1f\x45\x28\x02\xc5\x28\x0a\x45\x35\x05\xc5\x34\x01\x45\x35\x05\xc5\x38\x04\x45\x3c\x09\xc5\x3c\x03\x46\x0f\x03\xc5\x3f\x01\x45\x3c\x09\xc6\x00\x03\x46\x0f\x03\xc6\x03\x0c\x47\x0d\x00\xc6\x0f\x04\x46\x13\x07\xc6\x13\x03\x47\x0d\x00\xc6\x16\x01\x46\x13\x07\xc6\x17\x03\x47\x0d\x00\xc6\x1b\x1f\x46\x3c\x00\xc6\x3c\x0a\x47\x0a\x03\xc7\x09\x01\x47\x0a\x03\xc7\x0d\x01\x47\x3f\x03\xc7\x0f\x1f\x47\x2f\x04\xc7\x2e\x01\x47\x3f\x03\xc7\x2f\x0a\x47\x3c\x07\xc7\x39\x02\x47\x3f\x03\xc7\x3b\x01\x47\x3c\x07\xc7\x3c\x03\x47\x3f\x03", + .ob_sval = "\xc1\x3c\x19\x45\x28\x00\xc2\x15\x0c\x44\x2c\x03\xc2\x21\x34\x44\x17\x05\xc3\x15\x09\x44\x2c\x03\xc3\x1e\x09\x45\x28\x00\xc3\x28\x1f\x44\x08\x02\xc4\x08\x09\x44\x14\x05\xc4\x13\x01\x44\x14\x05\xc4\x17\x05\x44\x20\x09\xc4\x1c\x07\x44\x2c\x03\xc4\x23\x09\x45\x28\x00\xc4\x2c\x05\x44\x35\x07\xc4\x31\x07\x45\x28\x00\xc4\x39\x1f\x45\x19\x00\xc5\x19\x09\x45\x25\x03\xc5\x24\x01\x45\x25\x03\xc5\x28\x01\x46\x19\x03\xc5\x2a\x1f\x46\x0a\x04\xc6\x09\x01\x46\x19\x03\xc6\x0a\x09\x46\x16\x07\xc6\x13\x02\x46\x19\x03\xc6\x15\x01\x46\x16\x07\xc6\x16\x03\x46\x19\x03", }; static struct { @@ -146683,7 +142136,7 @@ static const_str_path_name = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 9, @@ -146692,7 +142145,7 @@ const_str_path_name = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "path_name", @@ -146705,7 +142158,7 @@ static const_str_importer = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 8, @@ -146714,49 +142167,27 @@ const_str_importer = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "importer", }; -static - struct { - PyASCIIObject _ascii; - uint8_t _data[16]; - } -const_str_is_NullImporter = { - ._ascii = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 15, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 1, - .ready = 1, - }, - }, - ._data = "is_NullImporter", -}; static struct { PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[13]; + PyObject *ob_item[12]; }_object; } -runpy_toplevel_consts_20_localsplusnames = { +runpy_toplevel_consts_18_localsplusnames = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 13, + .ob_size = 12, }, .ob_item = { & const_str_path_name._ascii.ob_base, @@ -146765,7 +142196,6 @@ runpy_toplevel_consts_20_localsplusnames = { & const_str_pkg_name._ascii.ob_base, & const_str_get_importer._ascii.ob_base, & const_str_importer._ascii.ob_base, - & const_str_is_NullImporter._ascii.ob_base, &_Py_ID(code), & const_str_fname._ascii.ob_base, & const_str_mod_name._ascii.ob_base, @@ -146776,40 +142206,38 @@ runpy_toplevel_consts_20_localsplusnames = { }, }; static - struct _PyCode_DEF(1028) -runpy_toplevel_consts_20 = { + struct _PyCode_DEF(824) +runpy_toplevel_consts_18 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 514, + .ob_size = 412, }, - .co_consts = & runpy_toplevel_consts_20_consts._object.ob_base.ob_base, - .co_names = & runpy_toplevel_consts_20_names._object.ob_base.ob_base, - .co_exceptiontable = & runpy_toplevel_consts_20_exceptiontable.ob_base.ob_base, + .co_consts = & runpy_toplevel_consts_18_consts._object.ob_base.ob_base, + .co_names = & runpy_toplevel_consts_18_names._object.ob_base.ob_base, + .co_exceptiontable = & runpy_toplevel_consts_18_exceptiontable.ob_base.ob_base, .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 3, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 22 + FRAME_SPECIALS_SIZE, .co_stacksize = 10, .co_firstlineno = 262, - .co_nlocalsplus = 13, - .co_nlocals = 13, - .co_nplaincellvars = 0, + .co_nlocalsplus = 12, + .co_nlocals = 12, .co_ncellvars = 0, .co_nfreevars = 0, - .co_localsplusnames = & runpy_toplevel_consts_20_localsplusnames._object.ob_base.ob_base, - .co_localspluskinds = & posixpath_toplevel_consts_32_localspluskinds.ob_base.ob_base, + .co_version = 755, + .co_localsplusnames = & runpy_toplevel_consts_18_localsplusnames._object.ob_base.ob_base, + .co_localspluskinds = & importlib__bootstrap_external_toplevel_consts_36_localspluskinds.ob_base.ob_base, .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = & const_str_run_path._ascii.ob_base, .co_qualname = & const_str_run_path._ascii.ob_base, - .co_linetable = & runpy_toplevel_consts_20_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x7c\x02\x80\x02\x64\x02\x7d\x02\x7c\x02\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x03\x64\x04\x64\x05\x6c\x01\x6d\x02\x7d\x04\x01\x00\x02\x00\x7c\x04\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x05\x64\x06\x7d\x06\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x6b\x02\x00\x00\x00\x00\x72\x1a\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x64\x08\x6b\x02\x00\x00\x00\x00\x72\x02\x64\x09\x7d\x06\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x7c\x06\x72\x27\x74\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x07\x7d\x08\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x7c\x01\x7c\x02\x7c\x03\x7c\x08\xac\x0a\xa6\x05\x00\x00\xab\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x09\x7d\x0a\x7d\x07\x74\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x0b\x74\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x7c\x0b\x6a\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0c\x74\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x07\x7c\x0c\x7c\x01\x7c\x02\x7c\x0a\x7c\x03\xa6\x06\x00\x00\xab\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x64\x01\x64\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x63\x02\x64\x01\x64\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x53\x00\x23\x00\x74\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x64\x01\x64\x01\x64\x01\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0b\x23\x00\x31\x00\x73\x04\x77\x02\x78\x03\x59\x00\x77\x01\x01\x00\x59\x00\x01\x00\x01\x00\x09\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x01\x53\x00\x23\x00\x74\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x04\x01\x00\x59\x00\x64\x01\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x09\x00\x74\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x23\x00\x74\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x77\x00\x77\x00\x78\x03\x59\x00\x77\x01\x78\x03\x59\x00\x77\x01", + .co_linetable = & runpy_toplevel_consts_18_linetable.ob_base.ob_base, + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x7c\x02\x80\x02\x64\x02\x7d\x02\x7c\x02\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\xab\x01\x00\x00\x00\x00\x00\x00\x64\x04\x19\x00\x00\x00\x7d\x03\x64\x04\x64\x05\x6c\x01\x6d\x02\x7d\x04\x01\x00\x02\x00\x7c\x04\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x7d\x05\x74\x07\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x05\x74\x09\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x72\x1f\x74\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x7d\x06\x7d\x07\x74\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7c\x01\x7c\x02\x7c\x03\x7c\x07\xac\x06\xab\x05\x00\x00\x00\x00\x00\x00\x53\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x04\x7c\x00\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x15\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x5c\x03\x00\x00\x7d\x08\x7d\x09\x7d\x06\x74\x17\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\xab\x01\x00\x00\x00\x00\x00\x00\x35\x00\x7d\x0a\x74\x19\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x35\x00\x01\x00\x7c\x0a\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0b\x74\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x06\x7c\x0b\x7c\x01\x7c\x02\x7c\x09\x7c\x03\xab\x06\x00\x00\x00\x00\x00\x00\x6a\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x63\x02\x64\x01\x64\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x63\x02\x64\x01\x64\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x09\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x53\x00\x23\x00\x74\x24\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x53\x00\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x6e\x03\x78\x03\x59\x00\x77\x01\x64\x01\x64\x01\x64\x01\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x6e\x0c\x23\x00\x31\x00\x73\x01\x77\x02\x01\x00\x59\x00\x01\x00\x01\x00\x6e\x03\x78\x03\x59\x00\x77\x01\x09\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x01\x23\x00\x74\x24\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x79\x01\x77\x00\x78\x03\x59\x00\x77\x01\x23\x00\x09\x00\x74\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x77\x00\x23\x00\x74\x24\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x72\x03\x01\x00\x59\x00\x77\x00\x77\x00\x78\x03\x59\x00\x77\x01\x78\x03\x59\x00\x77\x01", ._co_firsttraceable = 0, }; static @@ -146817,10 +142245,10 @@ static PyASCIIObject _ascii; uint8_t _data[34]; } -runpy_toplevel_consts_23 = { +runpy_toplevel_consts_21 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 33, @@ -146829,7 +142257,7 @@ runpy_toplevel_consts_23 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "No module specified for execution", @@ -146842,11 +142270,11 @@ static PyObject *ob_item[3]; }_object; } -runpy_toplevel_consts_27 = { +runpy_toplevel_consts_25 = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -146863,17 +142291,17 @@ static PyGC_Head _gc_head; struct { PyObject_VAR_HEAD - PyObject *ob_item[29]; + PyObject *ob_item[27]; }_object; } runpy_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, - .ob_size = 29, + .ob_size = 27, }, .ob_item = { & runpy_toplevel_consts_0._ascii.ob_base, @@ -146890,21 +142318,19 @@ runpy_toplevel_consts = { & runpy_toplevel_consts_11.ob_base.ob_base, & runpy_toplevel_consts_12.ob_base.ob_base, & const_str__Error._ascii.ob_base, - Py_True, + & runpy_toplevel_consts_14.ob_base.ob_base, & runpy_toplevel_consts_15.ob_base.ob_base, - Py_False, + & runpy_toplevel_consts_16.ob_base.ob_base, & runpy_toplevel_consts_17.ob_base.ob_base, & runpy_toplevel_consts_18.ob_base.ob_base, - & runpy_toplevel_consts_19.ob_base.ob_base, - & runpy_toplevel_consts_20.ob_base.ob_base, &_Py_ID(__main__), (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + 2], - & runpy_toplevel_consts_23._ascii.ob_base, - & importlib__bootstrap_toplevel_consts_18_consts_3._object.ob_base.ob_base, + & runpy_toplevel_consts_21._ascii.ob_base, + & importlib__bootstrap_toplevel_consts_25_consts_3._object.ob_base.ob_base, & codecs_toplevel_consts_12_consts_7._object.ob_base.ob_base, - & importlib__bootstrap_external_toplevel_consts_83._object.ob_base.ob_base, - & runpy_toplevel_consts_27._object.ob_base.ob_base, - & importlib__bootstrap_toplevel_consts_37_consts_12._object.ob_base.ob_base, + & importlib__bootstrap_external_toplevel_consts_82._object.ob_base.ob_base, + & runpy_toplevel_consts_25._object.ob_base.ob_base, + & importlib__bootstrap_toplevel_consts_44_consts_10._object.ob_base.ob_base, }, }, }; @@ -146916,7 +142342,7 @@ static runpy_toplevel_names_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -146925,7 +142351,7 @@ runpy_toplevel_names_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "importlib.machinery", @@ -146938,7 +142364,7 @@ static runpy_toplevel_names_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 14, @@ -146947,7 +142373,7 @@ runpy_toplevel_names_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "importlib.util", @@ -146964,7 +142390,7 @@ runpy_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 29, @@ -146978,9 +142404,9 @@ runpy_toplevel_names = { & const_str_io._ascii.ob_base, & const_str_os._ascii.ob_base, &_Py_ID(__all__), - & const_str_type._ascii.ob_base, + &_Py_ID(type), & const_str_ModuleType._ascii.ob_base, - & const_str_object._ascii.ob_base, + &_Py_ID(object), & const_str__TempModule._ascii.ob_base, & const_str__ModifiedArgv0._ascii.ob_base, & const_str__run_code._ascii.ob_base, @@ -146996,7 +142422,7 @@ runpy_toplevel_names = { & const_str_run_path._ascii.ob_base, &_Py_ID(__name__), &_Py_ID(len), - & const_str_argv._ascii.ob_base, + &_Py_ID(argv), & const_str_print._ascii.ob_base, &_Py_ID(stderr), }, @@ -147006,71 +142432,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[543]; + char ob_sval[247]; } runpy_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 542, + .ob_size = 246, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x02\x07\x01\x04\xf0\x00\x07\x01\x04\xf0\x18\x00\x01\x0b\x80\x0a\x80\x0a\x80\x0a\xd8\x00\x1a\xd0\x00\x1a\xd0\x00\x1a\xd0\x00\x1a\xd8\x00\x15\xd0\x00\x15\xd0\x00\x15\xd0\x00\x15\xd8\x00\x09\x80\x09\x80\x09\x80\x09\xd8\x00\x09\x80\x09\x80\x09\x80\x09\xf0\x06\x00\x05\x11\x90\x2a\xf0\x03\x02\x0b\x02\x80\x07\xf0\x0a\x00\x0e\x12\x88\x54\x90\x23\x89\x59\x8c\x59\x80\x0a\xf0\x04\x15\x01\x20\xf0\x00\x15\x01\x20\xf0\x00\x15\x01\x20\xf0\x00\x15\x01\x20\xf0\x00\x15\x01\x20\x90\x26\xf1\x00\x15\x01\x20\xf4\x00\x15\x01\x20\xf0\x00\x15\x01\x20\xf0\x2e\x0d\x01\x28\xf0\x00\x0d\x01\x28\xf0\x00\x0d\x01\x28\xf0\x00\x0d\x01\x28\xf0\x00\x0d\x01\x28\x90\x56\xf1\x00\x0d\x01\x28\xf4\x00\x0d\x01\x28\xf0\x00\x0d\x01\x28\xf0\x20\x00\x2f\x33\xd8\x26\x2a\xd8\x29\x2d\xf0\x05\x18\x01\x17\xf0\x00\x18\x01\x17\xf0\x00\x18\x01\x17\xf0\x00\x18\x01\x17\xf0\x34\x00\x29\x2d\xd8\x2c\x30\xd8\x2f\x33\xf0\x05\x0b\x01\x1e\xf0\x00\x0b\x01\x1e\xf0\x00\x0b\x01\x1e\xf0\x00\x0b\x01\x1e\xf0\x1c\x00\x29\x34\xf0\x00\x3b\x01\x20\xf0\x00\x3b\x01\x20\xf0\x00\x3b\x01\x20\xf0\x00\x3b\x01\x20\xf0\x7a\x01\x01\x01\x4d\x01\xf0\x00\x01\x01\x4d\x01\xf0\x00\x01\x01\x4d\x01\xf0\x00\x01\x01\x4d\x01\xf0\x00\x01\x01\x4d\x01\x88\x59\xf1\x00\x01\x01\x4d\x01\xf4\x00\x01\x01\x4d\x01\xf0\x00\x01\x01\x4d\x01\xf0\x0e\x1a\x01\x2b\xf0\x00\x1a\x01\x2b\xf0\x00\x1a\x01\x2b\xf0\x00\x1a\x01\x2b\xf0\x38\x00\x27\x2b\xd8\x28\x2d\xf0\x03\x1c\x01\x45\x01\xf0\x00\x1c\x01\x45\x01\xf0\x00\x1c\x01\x45\x01\xf0\x00\x1c\x01\x45\x01\xf0\x3c\x00\x24\x2f\xf0\x00\x10\x01\x2c\xf0\x00\x10\x01\x2c\xf0\x00\x10\x01\x2c\xf0\x00\x10\x01\x2c\xf0\x26\x0a\x01\x17\xf0\x00\x0a\x01\x17\xf0\x00\x0a\x01\x17\xf0\x18\x34\x01\x15\xf0\x00\x34\x01\x15\xf0\x00\x34\x01\x15\xf0\x00\x34\x01\x15\xf0\x6e\x01\x00\x04\x0c\x88\x7a\xd2\x03\x19\xd0\x03\x19\xe0\x07\x0a\x80\x73\x88\x33\x8c\x38\x81\x7d\x84\x7d\x90\x71\xd2\x07\x18\xd0\x07\x18\xd8\x08\x0d\x88\x05\xd0\x0e\x31\xb8\x03\xbc\x0a\xd0\x08\x43\xd1\x08\x43\xd4\x08\x43\xd0\x08\x43\xd0\x08\x43\xd0\x08\x43\xe0\x0c\x0f\x8c\x48\x90\x51\x88\x4b\xd8\x08\x1b\xd0\x08\x1b\x98\x43\x9c\x48\xa0\x51\x9c\x4b\xd1\x08\x28\xd4\x08\x28\xd0\x08\x28\xd0\x08\x28\xd0\x08\x28\xf0\x0d\x00\x04\x1a\xd0\x03\x19", + .ob_sval = "\xf0\x03\x01\x01\x01\xf1\x02\x07\x01\x04\xf3\x18\x00\x01\x0b\xdb\x00\x1a\xdb\x00\x15\xdb\x00\x09\xdb\x00\x09\xf0\x06\x00\x05\x11\x90\x2a\xf0\x03\x02\x0b\x02\x80\x07\xf1\x0a\x00\x0e\x12\x90\x23\x8b\x59\x80\x0a\xf4\x04\x15\x01\x20\x90\x26\xf4\x00\x15\x01\x20\xf4\x2e\x0d\x01\x28\x90\x56\xf4\x00\x0d\x01\x28\xf0\x20\x00\x2f\x33\xd8\x26\x2a\xd8\x29\x2d\xf3\x05\x18\x01\x17\xf0\x34\x00\x29\x2d\xd8\x2c\x30\xd8\x2f\x33\xf3\x05\x0b\x01\x1e\xf0\x1c\x00\x29\x34\xf3\x00\x3b\x01\x20\xf4\x7a\x01\x01\x01\x4d\x01\x88\x59\xf4\x00\x01\x01\x4d\x01\xf3\x0e\x1a\x01\x2b\xf0\x38\x00\x27\x2b\xd8\x28\x2d\xf3\x03\x1c\x01\x45\x01\xf0\x3c\x00\x24\x2f\xf3\x00\x10\x01\x2c\xf2\x26\x0a\x01\x17\xf3\x18\x2f\x01\x15\xf0\x64\x01\x00\x04\x0c\x88\x7a\xd2\x03\x19\xe1\x07\x0a\x88\x33\x8f\x38\x89\x38\x83\x7d\x90\x71\xd2\x07\x18\xd9\x08\x0d\xd0\x0e\x31\xb8\x03\xbf\x0a\xb9\x0a\xd6\x08\x43\xe0\x0c\x0f\x8f\x48\x89\x48\x90\x51\x88\x4b\xd9\x08\x1b\x98\x43\x9f\x48\x99\x48\xa0\x51\x99\x4b\xd5\x08\x28\xf0\x0d\x00\x04\x1a", }; static - struct _PyCode_DEF(402) + struct _PyCode_DEF(384) runpy_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 201, + .ob_size = 192, }, .co_consts = & runpy_toplevel_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 5 + FRAME_SPECIALS_SIZE, .co_stacksize = 5, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 756, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & runpy_toplevel_consts_5_consts_2_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & runpy_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x64\x01\x64\x02\x6c\x02\x5a\x03\x64\x01\x64\x02\x6c\x04\x5a\x03\x64\x01\x64\x02\x6c\x05\x5a\x05\x64\x01\x64\x02\x6c\x06\x5a\x06\x64\x03\x64\x04\x67\x02\x5a\x07\x02\x00\x65\x08\x65\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x02\x00\x47\x00\x64\x05\x84\x00\x64\x06\x65\x0a\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0b\x02\x00\x47\x00\x64\x07\x84\x00\x64\x08\x65\x0a\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x0c\x09\x00\x09\x00\x09\x00\x64\x19\x64\x09\x84\x01\x5a\x0d\x09\x00\x09\x00\x09\x00\x64\x19\x64\x0a\x84\x01\x5a\x0e\x65\x0f\x66\x01\x64\x0b\x84\x01\x5a\x10\x02\x00\x47\x00\x64\x0c\x84\x00\x64\x0d\x65\x11\xa6\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x12\x64\x1a\x64\x0f\x84\x01\x5a\x13\x09\x00\x09\x00\x64\x1b\x64\x11\x84\x01\x5a\x14\x65\x0f\x66\x01\x64\x12\x84\x01\x5a\x15\x64\x13\x84\x00\x5a\x16\x64\x1c\x64\x14\x84\x01\x5a\x17\x65\x18\x64\x15\x6b\x02\x00\x00\x00\x00\x72\x48\x02\x00\x65\x19\x65\x01\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x16\x6b\x00\x00\x00\x00\x00\x72\x14\x02\x00\x65\x1b\x64\x17\x65\x01\x6a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\xac\x18\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x02\x53\x00\x65\x01\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x3d\x00\x02\x00\x65\x13\x65\x01\x6a\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x02\x53\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x64\x02\x6c\x01\x5a\x01\x64\x01\x64\x02\x6c\x02\x5a\x03\x64\x01\x64\x02\x6c\x04\x5a\x03\x64\x01\x64\x02\x6c\x05\x5a\x05\x64\x01\x64\x02\x6c\x06\x5a\x06\x64\x03\x64\x04\x67\x02\x5a\x07\x02\x00\x65\x08\x65\x01\xab\x01\x00\x00\x00\x00\x00\x00\x5a\x09\x02\x00\x47\x00\x64\x05\x84\x00\x64\x06\x65\x0a\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x0b\x02\x00\x47\x00\x64\x07\x84\x00\x64\x08\x65\x0a\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x0c\x09\x00\x09\x00\x09\x00\x64\x17\x64\x09\x84\x01\x5a\x0d\x09\x00\x09\x00\x09\x00\x64\x17\x64\x0a\x84\x01\x5a\x0e\x65\x0f\x66\x01\x64\x0b\x84\x01\x5a\x10\x02\x00\x47\x00\x64\x0c\x84\x00\x64\x0d\x65\x11\xab\x03\x00\x00\x00\x00\x00\x00\x5a\x12\x64\x18\x64\x0e\x84\x01\x5a\x13\x09\x00\x09\x00\x64\x19\x64\x0f\x84\x01\x5a\x14\x65\x0f\x66\x01\x64\x10\x84\x01\x5a\x15\x64\x11\x84\x00\x5a\x16\x64\x1a\x64\x12\x84\x01\x5a\x17\x65\x18\x64\x13\x6b\x28\x00\x00\x72\x4d\x02\x00\x65\x19\x65\x01\x6a\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x64\x14\x6b\x02\x00\x00\x72\x15\x02\x00\x65\x1b\x64\x15\x65\x01\x6a\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x16\xab\x02\x00\x00\x00\x00\x00\x00\x01\x00\x79\x02\x65\x01\x6a\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x3d\x00\x02\x00\x65\x13\x65\x01\x6a\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x19\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x02\x79\x02", ._co_firsttraceable = 0, }; -static void runpy_do_patchups(void) { - if (sizeof(wchar_t) == 2) { - runpy_toplevel_consts_17_consts_0._compact._base.wstr = (wchar_t *) runpy_toplevel_consts_17_consts_0._data; - runpy_toplevel_consts_17_consts_0._compact.wstr_length = 800; - } - if (sizeof(wchar_t) == 2) { - runpy_toplevel_consts_20_consts_0._compact._base.wstr = (wchar_t *) runpy_toplevel_consts_20_consts_0._data; - runpy_toplevel_consts_20_consts_0._compact.wstr_length = 530; - } -} PyObject * _Py_get_runpy_toplevel(void) { - runpy_do_patchups(); return Py_NewRef((PyObject *) &runpy_toplevel); } @@ -147082,7 +142495,7 @@ static const_str_TestFrozenUtf8_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -147091,37 +142504,11 @@ const_str_TestFrozenUtf8_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "TestFrozenUtf8_1", }; -static - struct { - PyCompactUnicodeObject _compact; - uint8_t _data[2]; - } -__hello___toplevel_consts_1_consts_1 = { - ._compact = { - ._base = { - .ob_base = { - .ob_refcnt = 999999999, - .ob_type = &PyUnicode_Type, - }, - .length = 1, - .hash = -1, - .state = { - .kind = 1, - .compact = 1, - .ascii = 0, - .ready = 1, - }, - }, - }, - ._data = { - 182, - }, -}; static struct { PyGC_Head _gc_head; @@ -147134,14 +142521,14 @@ __hello___toplevel_consts_1_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, }, .ob_item = { & const_str_TestFrozenUtf8_1._ascii.ob_base, - & __hello___toplevel_consts_1_consts_1._compact._base.ob_base, + (PyObject *)&_Py_SINGLETON(strings).latin1[54], Py_None, }, }, @@ -147154,7 +142541,7 @@ static __hello___toplevel_consts_1_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 18, @@ -147163,7 +142550,7 @@ __hello___toplevel_consts_1_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -147172,54 +142559,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[20]; + char ob_sval[6]; } __hello___toplevel_consts_1_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 19, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xd8\x04\x10\x80\x4c\x80\x4c\x80\x4c", + .ob_sval = "\x84\x00\xda\x04\x10", }; static - struct _PyCode_DEF(18) + struct _PyCode_DEF(16) __hello___toplevel_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 9, + .ob_size = 8, }, .co_consts = & __hello___toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 3, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 757, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __hello___toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_TestFrozenUtf8_1._ascii.ob_base, .co_qualname = & const_str_TestFrozenUtf8_1._ascii.ob_base, .co_linetable = & __hello___toplevel_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x79\x02", ._co_firsttraceable = 0, }; static @@ -147230,7 +142615,7 @@ static const_str_TestFrozenUtf8_2 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -147239,7 +142624,7 @@ const_str_TestFrozenUtf8_2 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "TestFrozenUtf8_2", @@ -147253,7 +142638,7 @@ __hello___toplevel_consts_3_consts_1 = { ._compact = { ._base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 1, @@ -147262,9 +142647,11 @@ __hello___toplevel_consts_3_consts_1 = { .kind = 2, .compact = 1, .ascii = 0, - .ready = 1, + .statically_allocated = 1, }, }, + .utf8 = "\xcf\x80", + .utf8_length = 2, }, ._data = { 960, @@ -147282,7 +142669,7 @@ __hello___toplevel_consts_3_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -147295,40 +142682,38 @@ __hello___toplevel_consts_3_consts = { }, }; static - struct _PyCode_DEF(18) + struct _PyCode_DEF(16) __hello___toplevel_consts_3 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 9, + .ob_size = 8, }, .co_consts = & __hello___toplevel_consts_3_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 6, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 758, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __hello___toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_TestFrozenUtf8_2._ascii.ob_base, .co_qualname = & const_str_TestFrozenUtf8_2._ascii.ob_base, .co_linetable = & __hello___toplevel_consts_1_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x79\x02", ._co_firsttraceable = 0, }; static @@ -147339,7 +142724,7 @@ static const_str_TestFrozenUtf8_4 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 16, @@ -147348,7 +142733,7 @@ const_str_TestFrozenUtf8_4 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "TestFrozenUtf8_4", @@ -147362,7 +142747,7 @@ __hello___toplevel_consts_5_consts_1 = { ._compact = { ._base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 1, @@ -147371,9 +142756,11 @@ __hello___toplevel_consts_5_consts_1 = { .kind = 4, .compact = 1, .ascii = 0, - .ready = 1, + .statically_allocated = 1, }, }, + .utf8 = "\xf0\x9f\x98\x80", + .utf8_length = 4, }, ._data = { 128512, @@ -147391,7 +142778,7 @@ __hello___toplevel_consts_5_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -147407,54 +142794,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[6]; } __hello___toplevel_consts_5_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = "\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\xd8\x04\x14\xd0\x04\x14\xd0\x04\x14\xd0\x04\x14", + .ob_sval = "\x84\x00\xda\x04\x14", }; static - struct _PyCode_DEF(18) + struct _PyCode_DEF(16) __hello___toplevel_consts_5 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 9, + .ob_size = 8, }, .co_consts = & __hello___toplevel_consts_5_consts._object.ob_base.ob_base, .co_names = & runpy_toplevel_consts_12_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 1 + FRAME_SPECIALS_SIZE, .co_stacksize = 1, .co_firstlineno = 9, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 759, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __hello___toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_TestFrozenUtf8_4._ascii.ob_base, .co_qualname = & const_str_TestFrozenUtf8_4._ascii.ob_base, .co_linetable = & __hello___toplevel_consts_5_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x65\x00\x5a\x01\x64\x00\x5a\x02\x64\x01\x5a\x03\x79\x02", ._co_firsttraceable = 0, }; static @@ -147465,7 +142850,7 @@ static __hello___toplevel_consts_7_consts_1 = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 12, @@ -147474,7 +142859,7 @@ __hello___toplevel_consts_7_consts_1 = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "Hello world!", @@ -147491,7 +142876,7 @@ __hello___toplevel_consts_7_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -147514,7 +142899,7 @@ __hello___toplevel_consts_7_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 1, @@ -147528,54 +142913,52 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[23]; + char ob_sval[11]; } __hello___toplevel_consts_7_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 22, + .ob_size = 10, }, .ob_shash = -1, - .ob_sval = "\x80\x00\xdd\x04\x09\x88\x2e\xd1\x04\x19\xd4\x04\x19\xd0\x04\x19\xd0\x04\x19\xd0\x04\x19", + .ob_sval = "\x80\x00\xdc\x04\x09\x88\x2e\xd5\x04\x19", }; static - struct _PyCode_DEF(36) + struct _PyCode_DEF(26) __hello___toplevel_consts_7 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 13, }, .co_consts = & __hello___toplevel_consts_7_consts._object.ob_base.ob_base, .co_names = & __hello___toplevel_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 12, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 760, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __hello___toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_main._ascii.ob_base, .co_qualname = & const_str_main._ascii.ob_base, .co_linetable = & __hello___toplevel_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -147590,7 +142973,7 @@ __hello___toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 10, @@ -147617,7 +143000,7 @@ static const_str_initialized = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 11, @@ -147626,7 +143009,7 @@ const_str_initialized = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "initialized", @@ -147643,7 +143026,7 @@ __hello___toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 6, @@ -147662,71 +143045,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[182]; + char ob_sval[66]; } __hello___toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 181, + .ob_size = 65, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xd8\x0e\x12\x80\x0b\xf0\x04\x01\x01\x11\xf0\x00\x01\x01\x11\xf0\x00\x01\x01\x11\xf0\x00\x01\x01\x11\xf0\x00\x01\x01\x11\xf1\x00\x01\x01\x11\xf4\x00\x01\x01\x11\xf0\x00\x01\x01\x11\xf0\x06\x01\x01\x11\xf0\x00\x01\x01\x11\xf0\x00\x01\x01\x11\xf0\x00\x01\x01\x11\xf0\x00\x01\x01\x11\xf1\x00\x01\x01\x11\xf4\x00\x01\x01\x11\xf0\x00\x01\x01\x11\xf0\x06\x01\x01\x15\xf0\x00\x01\x01\x15\xf0\x00\x01\x01\x15\xf0\x00\x01\x01\x15\xf0\x00\x01\x01\x15\xf1\x00\x01\x01\x15\xf4\x00\x01\x01\x15\xf0\x00\x01\x01\x15\xf0\x06\x01\x01\x1a\xf0\x00\x01\x01\x1a\xf0\x00\x01\x01\x1a\xf0\x06\x00\x04\x0c\x88\x7a\xd2\x03\x19\xd0\x03\x19\xd8\x04\x08\x80\x44\x81\x46\x84\x46\x80\x46\x80\x46\x80\x46\xf0\x03\x00\x04\x1a\xd0\x03\x19", + .ob_sval = "\xf0\x03\x01\x01\x01\xd8\x0e\x12\x80\x0b\xf7\x04\x01\x01\x11\xf1\x00\x01\x01\x11\xf7\x06\x01\x01\x11\xf1\x00\x01\x01\x11\xf7\x06\x01\x01\x15\xf1\x00\x01\x01\x15\xf2\x06\x01\x01\x1a\xf0\x06\x00\x04\x0c\x88\x7a\xd2\x03\x19\xd9\x04\x08\x85\x46\xf0\x03\x00\x04\x1a", }; static - struct _PyCode_DEF(130) + struct _PyCode_DEF(100) __hello___toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 65, + .ob_size = 50, }, .co_consts = & __hello___toplevel_consts._object.ob_base.ob_base, .co_names = & __hello___toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 4 + FRAME_SPECIALS_SIZE, .co_stacksize = 4, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 761, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __hello___toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & __hello___toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x02\x00\x47\x00\x64\x01\x84\x00\x64\x02\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x01\x02\x00\x47\x00\x64\x03\x84\x00\x64\x04\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x02\x02\x00\x47\x00\x64\x05\x84\x00\x64\x06\xa6\x02\x00\x00\xab\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x03\x64\x07\x84\x00\x5a\x04\x65\x05\x64\x08\x6b\x02\x00\x00\x00\x00\x72\x0c\x02\x00\x65\x04\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x09\x53\x00\x64\x09\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x02\x00\x47\x00\x64\x01\x84\x00\x64\x02\xab\x02\x00\x00\x00\x00\x00\x00\x5a\x01\x02\x00\x47\x00\x64\x03\x84\x00\x64\x04\xab\x02\x00\x00\x00\x00\x00\x00\x5a\x02\x02\x00\x47\x00\x64\x05\x84\x00\x64\x06\xab\x02\x00\x00\x00\x00\x00\x00\x5a\x03\x64\x07\x84\x00\x5a\x04\x65\x05\x64\x08\x6b\x28\x00\x00\x72\x08\x02\x00\x65\x04\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x09\x79\x09", ._co_firsttraceable = 0, }; -static void __hello___do_patchups(void) { - if (sizeof(wchar_t) == 2) { - __hello___toplevel_consts_3_consts_1._compact._base.wstr = (wchar_t *) __hello___toplevel_consts_3_consts_1._data; - __hello___toplevel_consts_3_consts_1._compact.wstr_length = 1; - } - if (sizeof(wchar_t) == 4) { - __hello___toplevel_consts_5_consts_1._compact._base.wstr = (wchar_t *) __hello___toplevel_consts_5_consts_1._data; - __hello___toplevel_consts_5_consts_1._compact.wstr_length = 1; - } -} PyObject * _Py_get___hello___toplevel(void) { - __hello___do_patchups(); return Py_NewRef((PyObject *) &__hello___toplevel); } @@ -147738,7 +143108,7 @@ static __phello___toplevel_consts_1_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 19, @@ -147747,46 +143117,44 @@ __phello___toplevel_consts_1_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", }; static - struct _PyCode_DEF(36) + struct _PyCode_DEF(26) __phello___toplevel_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 13, }, .co_consts = & __hello___toplevel_consts_7_consts._object.ob_base.ob_base, .co_names = & __hello___toplevel_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 3, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 762, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __phello___toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_main._ascii.ob_base, .co_qualname = & const_str_main._ascii.ob_base, .co_linetable = & __hello___toplevel_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -147801,7 +143169,7 @@ __phello___toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -147826,7 +143194,7 @@ __phello___toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -147842,63 +143210,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[62]; + char ob_sval[36]; } __phello___toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 61, + .ob_size = 35, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xd8\x0e\x12\x80\x0b\xf0\x04\x01\x01\x1a\xf0\x00\x01\x01\x1a\xf0\x00\x01\x01\x1a\xf0\x06\x00\x04\x0c\x88\x7a\xd2\x03\x19\xd0\x03\x19\xd8\x04\x08\x80\x44\x81\x46\x84\x46\x80\x46\x80\x46\x80\x46\xf0\x03\x00\x04\x1a\xd0\x03\x19", + .ob_sval = "\xf0\x03\x01\x01\x01\xd8\x0e\x12\x80\x0b\xf2\x04\x01\x01\x1a\xf0\x06\x00\x04\x0c\x88\x7a\xd2\x03\x19\xd9\x04\x08\x85\x46\xf0\x03\x00\x04\x1a", }; static - struct _PyCode_DEF(52) + struct _PyCode_DEF(40) __phello___toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 20, }, .co_consts = & __phello___toplevel_consts._object.ob_base.ob_base, .co_names = & __phello___toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 763, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __phello___toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & __phello___toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x84\x00\x5a\x01\x65\x02\x64\x02\x6b\x02\x00\x00\x00\x00\x72\x0c\x02\x00\x65\x01\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x03\x53\x00\x64\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x84\x00\x5a\x01\x65\x02\x64\x02\x6b\x28\x00\x00\x72\x08\x02\x00\x65\x01\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x03\x79\x03", ._co_firsttraceable = 0, }; -static void __phello___do_patchups(void) { -} PyObject * _Py_get___phello___toplevel(void) { - __phello___do_patchups(); return Py_NewRef((PyObject *) &__phello___toplevel); } @@ -147910,7 +143273,7 @@ static __phello___ham_toplevel_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 23, @@ -147919,7 +143282,7 @@ __phello___ham_toplevel_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -147928,63 +143291,58 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[16]; + char ob_sval[6]; } __phello___ham_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 15, + .ob_size = 5, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xf0\x00\x01\x01\x01\xf0\x00\x01\x01\x01", + .ob_sval = "\xf1\x03\x01\x01\x01", }; static - struct _PyCode_DEF(6) + struct _PyCode_DEF(4) __phello___ham_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 0 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 764, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __phello___ham_toplevel_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & __phello___ham_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x00", ._co_firsttraceable = 0, }; -static void __phello___ham_do_patchups(void) { -} PyObject * _Py_get___phello___ham_toplevel(void) { - __phello___ham_do_patchups(); return Py_NewRef((PyObject *) &__phello___ham_toplevel); } @@ -147996,7 +143354,7 @@ static __phello___ham_eggs_toplevel_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 28, @@ -148005,55 +143363,50 @@ __phello___ham_eggs_toplevel_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", }; static - struct _PyCode_DEF(6) + struct _PyCode_DEF(4) __phello___ham_eggs_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 3, + .ob_size = 2, }, .co_consts = & importlib__bootstrap_toplevel_consts_1_consts._object.ob_base.ob_base, .co_names = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, - .co_stacksize = 1, + .co_framesize = 0 + FRAME_SPECIALS_SIZE, + .co_stacksize = 0, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 765, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __phello___ham_eggs_toplevel_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & __phello___ham_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x79\x00", ._co_firsttraceable = 0, }; -static void __phello___ham_eggs_do_patchups(void) { -} PyObject * _Py_get___phello___ham_eggs_toplevel(void) { - __phello___ham_eggs_do_patchups(); return Py_NewRef((PyObject *) &__phello___ham_eggs_toplevel); } @@ -148065,7 +143418,7 @@ static __phello___spam_toplevel_consts_1_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 24, @@ -148074,46 +143427,44 @@ __phello___spam_toplevel_consts_1_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", }; static - struct _PyCode_DEF(36) + struct _PyCode_DEF(26) __phello___spam_toplevel_consts_1 = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 18, + .ob_size = 13, }, .co_consts = & __hello___toplevel_consts_7_consts._object.ob_base.ob_base, .co_names = & __hello___toplevel_consts_7_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 3, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 3, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 766, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __phello___spam_toplevel_consts_1_filename._ascii.ob_base, .co_name = & const_str_main._ascii.ob_base, .co_qualname = & const_str_main._ascii.ob_base, .co_linetable = & __hello___toplevel_consts_7_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x00\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x00", ._co_firsttraceable = 0, }; static @@ -148128,7 +143479,7 @@ __phello___spam_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 4, @@ -148142,49 +143493,44 @@ __phello___spam_toplevel_consts = { }, }; static - struct _PyCode_DEF(52) + struct _PyCode_DEF(40) __phello___spam_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 26, + .ob_size = 20, }, .co_consts = & __phello___spam_toplevel_consts._object.ob_base.ob_base, .co_names = & __phello___toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 2 + FRAME_SPECIALS_SIZE, .co_stacksize = 2, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 767, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & __phello___spam_toplevel_consts_1_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & __phello___toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x84\x00\x5a\x01\x65\x02\x64\x02\x6b\x02\x00\x00\x00\x00\x72\x0c\x02\x00\x65\x01\xa6\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x03\x53\x00\x64\x03\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x64\x01\x84\x00\x5a\x01\x65\x02\x64\x02\x6b\x28\x00\x00\x72\x08\x02\x00\x65\x01\xab\x00\x00\x00\x00\x00\x00\x00\x01\x00\x79\x03\x79\x03", ._co_firsttraceable = 0, }; -static void __phello___spam_do_patchups(void) { -} PyObject * _Py_get___phello___spam_toplevel(void) { - __phello___spam_do_patchups(); return Py_NewRef((PyObject *) &__phello___spam_toplevel); } @@ -148200,7 +143546,7 @@ frozen_only_toplevel_consts = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 3, @@ -148224,7 +143570,7 @@ frozen_only_toplevel_names = { ._object = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyTuple_Type, }, .ob_size = 2, @@ -148243,7 +143589,7 @@ static frozen_only_toplevel_filename = { ._ascii = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyUnicode_Type, }, .length = 20, @@ -148252,7 +143598,7 @@ frozen_only_toplevel_filename = { .kind = 1, .compact = 1, .ascii = 1, - .ready = 1, + .statically_allocated = 1, }, }, ._data = "", @@ -148261,5783 +143607,3140 @@ static struct { PyObject_VAR_HEAD Py_hash_t ob_shash; - char ob_sval[33]; + char ob_sval[19]; } frozen_only_toplevel_linetable = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyBytes_Type, }, - .ob_size = 32, + .ob_size = 18, }, .ob_shash = -1, - .ob_sval = "\xf0\x03\x01\x01\x01\xd8\x0e\x12\x80\x0b\xd8\x00\x05\x80\x05\x80\x6e\xd1\x00\x15\xd4\x00\x15\xd0\x00\x15\xd0\x00\x15\xd0\x00\x15", + .ob_sval = "\xf0\x03\x01\x01\x01\xd8\x0e\x12\x80\x0b\xd9\x00\x05\x80\x6e\xd5\x00\x15", }; static - struct _PyCode_DEF(32) + struct _PyCode_DEF(24) frozen_only_toplevel = { .ob_base = { .ob_base = { - .ob_refcnt = 999999999, + .ob_refcnt = _Py_IMMORTAL_REFCNT, .ob_type = &PyCode_Type, }, - .ob_size = 16, + .ob_size = 12, }, .co_consts = & frozen_only_toplevel_consts._object.ob_base.ob_base, .co_names = & frozen_only_toplevel_names._object.ob_base.ob_base, .co_exceptiontable = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_flags = 0, - .co_warmup = QUICKENING_INITIAL_WARMUP_VALUE, - ._co_linearray_entry_size = 0, .co_argcount = 0, .co_posonlyargcount = 0, .co_kwonlyargcount = 0, + .co_framesize = 3 + FRAME_SPECIALS_SIZE, .co_stacksize = 3, .co_firstlineno = 1, .co_nlocalsplus = 0, .co_nlocals = 0, - .co_nplaincellvars = 0, .co_ncellvars = 0, .co_nfreevars = 0, + .co_version = 768, .co_localsplusnames = (PyObject *)& _Py_SINGLETON(tuple_empty), .co_localspluskinds = (PyObject *)&_Py_SINGLETON(bytes_empty), .co_filename = & frozen_only_toplevel_filename._ascii.ob_base, .co_name = &_Py_STR(anon_module), .co_qualname = &_Py_STR(anon_module), .co_linetable = & frozen_only_toplevel_linetable.ob_base.ob_base, - ._co_code = NULL, - ._co_linearray = NULL, - .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x02\x00\x65\x01\x64\x01\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x64\x02\x53\x00", + ._co_cached = NULL, + .co_code_adaptive = "\x97\x00\x64\x00\x5a\x00\x02\x00\x65\x01\x64\x01\xab\x01\x00\x00\x00\x00\x00\x00\x01\x00\x79\x02", ._co_firsttraceable = 0, }; -static void frozen_only_do_patchups(void) { -} PyObject * _Py_get_frozen_only_toplevel(void) { - frozen_only_do_patchups(); return Py_NewRef((PyObject *) &frozen_only_toplevel); } void _Py_Deepfreeze_Fini(void) { - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_AttributeError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_type); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_1_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__object_name); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_hasattr); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_setattr); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_update); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__wrap); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_new); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_old); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sys); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__new_module); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__DeadlockError); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__ModuleLock); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_7_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__thread); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_allocate_lock); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lock); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_wakeup); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_owner); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_count); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_waiters); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_7_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_self); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_get_ident); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_set); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__blocking_on); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_has_deadlock); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_7_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_me); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_tid); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_seen); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_7_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_7_consts_4_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_acquire); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_release); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_7_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_7_consts_5_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_RuntimeError); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_7_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_7_consts_6_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_format); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_id); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_7_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_6); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__DummyModuleLock); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_9_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_9_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_9_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_9_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_9_consts_5_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_9_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_5); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__ModuleLockManager); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__lock); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_11_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_11_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_module_lock); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_11_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_11_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_11_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_args); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_kwargs); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_11_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_13_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__imp); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_acquire_lock); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__module_locks); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_release_lock); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cb); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_13_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ref); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_13_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_KeyError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__weakref); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_14_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_15_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__call_with_frames_removed); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_f); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_kwds); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_verbosity); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_18_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_18_consts_1_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_18_consts_1_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_18_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_file); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_flags); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_verbose); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_startswith); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_print); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__verbose_message); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_message); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_19_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_19_consts_1_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_builtin_module_names); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ImportError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__requires_builtin_wrapper); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_19_consts_1_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fullname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fxn); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_19_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__requires_builtin); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_20_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_20_consts_1_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_is_frozen); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__requires_frozen_wrapper); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_20_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_20_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__requires_frozen); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_21_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_21_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__warnings); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_warn); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_DeprecationWarning); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spec_from_loader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__exec); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__load); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__load_module_shim); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spec); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_module); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_21); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_22_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_module_repr); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_22_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_22_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_22_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_22_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__module_repr_from_spec); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Exception); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__module_repr); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_loader); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_22); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ModuleSpec); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_origin); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_loader_state); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_is_package); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_submodule_search_locations); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__set_fileattr); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__cached); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_5_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_5_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_5_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_5_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_5_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cached); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_has_location); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_NotImplemented); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_6_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_other); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_smsl); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__bootstrap_external); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_NotImplementedError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_cached); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_7); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rpartition); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_23_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bool); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_value); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_property); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_setter); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_26_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__ORIGIN); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_get_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spec_from_file_location); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_search); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_26); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___cached__); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_list); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__spec_from_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_location); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_27); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_override); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_NamespaceLoader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__init_module_attrs); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_31_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_create_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exec_module); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_31_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_module_from_spec); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_31); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_32_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_32_consts_6); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_32); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_33_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_33_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_33_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_33_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ImportWarning); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_load_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pop); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_33); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__load_backward_compatible); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_34); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_35_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__load_unlocked); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_35); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_36_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_36); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BuiltinImporter); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_3_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_3_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_3_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_3_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_is_builtin); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_find_spec); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_5_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cls); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_target); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_6_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_find_module); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_create_builtin); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exec_builtin); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_get_code); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_11_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_37_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_staticmethod); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_classmethod); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FrozenImporter); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_frozen); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_3_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_m); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___origname__); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_4_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_origname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_vars); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_is_frozen_package); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__resolve_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_implementation); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_insert); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sorted); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_4_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_state); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ispkg); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pkgdir); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__stdlib_dir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_win32); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_7_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_7_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_7_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_7_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_7_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_7_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__SEP); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_platform); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_7_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_alias); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sep); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_relfile); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_find_frozen); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_8_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_info); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_9_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_get_frozen_object); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exec); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_12_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_12_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_13_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_13_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_14_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_14_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_15_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_39_consts_15_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_15); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__ImportLockContext); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_41_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_41_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_41_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_41_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_41_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_41_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exc_type); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exc_value); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exc_traceback); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_41_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_41); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_43_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_43_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_43_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rsplit); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__resolve_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_package); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_level); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bits); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_base); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_43); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_44_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__find_spec_legacy); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_finder); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_45_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_45_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_45_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_meta_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__find_spec); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_is_reload); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_45); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_46_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_46_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_46_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_46_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_46_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_46_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_str); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_TypeError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ValueError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__sanity_check); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_47); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_48); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_49_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_49_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_49_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__ERR_MSG); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ModuleNotFoundError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__find_and_load_unlocked); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_import_); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_parent_spec); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_parent_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_child); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_49); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_50_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_50_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__NEEDS_LOADING); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_50); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_52_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__gcd_import); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_52); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_recursive); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_54_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_54_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_54_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_54_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_54_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_54_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fromlist); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_x); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_where); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_from_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exc); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_54); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_55_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_55_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_55_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_55_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_stacklevel); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_55_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__calc___package__); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_globals); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_55); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_57_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_partition); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_locals); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_globals_); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cut_off); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_57); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_58_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__builtin_from_name); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_58); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_59_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__setup); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sys_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__imp_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_module_type); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_self_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_builtin_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_builtin_module); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_59); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_60_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__install); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_60); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_toplevel_consts_61_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__frozen_importlib_external); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__install_external_importers); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel_consts_61); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__ERR_MSG_PREFIX); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_object); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_6_filename); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_6_localsplusnames_0); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_s); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_win); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cygwin); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_darwin); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_PYTHONCASEOK); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ignore_environment); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__os); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_environ); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__relax_case); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_key); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_4_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__CASE_INSENSITIVE_PLATFORMS); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__CASE_INSENSITIVE_PLATFORMS_STR_KEY); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__make_relax_case); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_12_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_int); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_to_bytes); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__pack_uint32); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_13_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_from_bytes); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__unpack_uint32); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_data); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_14_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__unpack_uint16); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_15_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rstrip); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_separators); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_15_consts_5_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_p); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_15_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_map); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_splitroot); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_sep_tuple); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_endswith); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_sep); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_casefold); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_join); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_parts); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_root); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_new_root); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_tail); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_part); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_16_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_17_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rfind); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_17_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_17_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_max); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_split); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_i); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_18_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_stat); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_stat); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_19_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_OSError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_st_mode); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_is_mode_type); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_stat_info); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_20_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_isfile); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_21_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getcwd); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_isdir); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_21); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_22_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_22_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_isabs); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_22); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_23); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_25_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_wb); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_O_EXCL); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_O_CREAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_O_WRONLY); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__io); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FileIO); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_unlink); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__write_atomic); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_tmp); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fd); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_25); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___pycache__); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_31); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_33); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_34); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_optimization); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_36_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_36_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_36_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_36_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_36_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_36_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fspath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cache_tag); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_optimize); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_isalnum); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__OPT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BYTECODE_SUFFIXES); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pycache_prefix); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lstrip); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__PYCACHE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cache_from_source); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_debug_override); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_head); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rest); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_tag); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_almost_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_36); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_37_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_37_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_37_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_37_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_37_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_37_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SOURCE_SUFFIXES); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_source_from_cache); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pycache_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_found_in_pycache_prefix); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_stripped_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pycache); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dot_count); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_opt_level); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_base_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_37); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_38_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_py); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lower); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bytecode_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_extension); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_source_path); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_38); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_tuple); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_39); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_40_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__calc_mode); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_40); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_2_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_2_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__check_name_wrapper); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_method); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__check_name); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_42_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_42_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_42_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_find_loader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__find_module_shim); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_portions); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_42); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_43_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_43_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_43_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_43_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_43_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_43_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_43_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MAGIC_NUMBER); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_EOFError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__classify_pyc); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exc_details); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_magic); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_43); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_44_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_44_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__validate_timestamp_pyc); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_source_mtime); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_source_size); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_44); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_45_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_45_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__validate_hash_pyc); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_source_hash); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_45); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_46_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_46_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_46_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_marshal); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_loads); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__code_type); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__fix_co_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__compile_bytecode); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_46); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_47_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bytearray); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dumps); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__code_to_timestamp_pyc); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mtime); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_47); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_49_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__code_to_hash_pyc); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_checked); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_49); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_50_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_tokenize); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BytesIO); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_detect_encoding); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_IncrementalNewlineDecoder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_decode_source); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_source_bytes); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_source_bytes_readline); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_newline_decoder); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_50); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_52_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_supported_file_loaders); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__POPULATE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_loader_class); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_suffixes); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dirname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_52); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_WindowsRegistryFinder); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_winreg); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_OpenKey); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HKEY_CURRENT_USER); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HKEY_LOCAL_MACHINE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__open_registry); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_6_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sys_version); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_DEBUG_BUILD); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_REGISTRY_KEY_DEBUG); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_REGISTRY_KEY); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_version_info); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_QueryValue); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__search_registry); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_6_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_registry_key); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_hkey); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_filepath); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_9_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__MS_WINDOWS); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_EXTENSION_SUFFIXES); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_53); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__LoaderBasics); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_filename_base); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_tail_name); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_4_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_5); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_55); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SourceLoader); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_1_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_mtime); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_stats); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_set_data); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__cache_bytecode); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cache_path); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_5_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_get_data); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__optimize); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dont_inherit); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_compile); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_source_to_code); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_never); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_always); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_size); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_9_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_9_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_memoryview); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_check_hash_based_pycs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__RAW_MAGIC_NUMBER); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dont_write_bytecode); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_9_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_hash_based); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_check_source); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_st); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bytes_data); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_code_object); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_9); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FileLoader); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_hash); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_super); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_r); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ExtensionFileLoader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_open_code); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FileReader); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_8_names_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_get_resource_reader); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_8); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SourceFileLoader); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_st_mtime); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_st_size); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__mode); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_6_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_6_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mkdir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FileExistsError); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_6); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_61); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SourcelessFileLoader); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_63_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_63_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_63_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_63_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_63_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_63_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_63); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_5_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_create_dynamic); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_6_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exec_dynamic); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_7_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_suffix); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_file_name); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_7_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_any); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_10); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__NamespacePath); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_parent_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__last_parent_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__epoch); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__last_epoch); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_finder); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_finder); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__find_parent_path_names); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_4_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dot); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_5_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_parent_module_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_attr_name); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__recalculate); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_6_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_parent_path); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_8_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_index); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_11_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_12_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_item); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_13_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_13); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_2_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_2_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_8_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_NamespaceReader); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_9); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_PathFinder); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_invalidate_caches); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_importer_cache); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_3_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_hooks); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_hooks); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_hook); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FileNotFoundError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_importer_cache); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_5_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__legacy_get_spec); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_7_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_spec); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_7_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_namespace_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_entry); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_9_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MetadataPathFinder); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_10_names_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_find_distributions); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_10); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FileFinder); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_2_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_2_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__loaders); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_mtime); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_cache); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__relaxed_path_cache); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_loader_details); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_loaders); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_4_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_7_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_7_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__fill_cache); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_7_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_is_namespace); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_tail_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cache); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cache_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_base_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_init_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_full_path); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_8_consts_4_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fn); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_8_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_listdir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_PermissionError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_NotADirectoryError); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_8_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_contents); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lower_suffix_contents); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_new_name); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_9_consts_1_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_9_consts_1_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_hook_for_FileFinder); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_9_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_9_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_hook); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_10_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_10); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ns); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pathname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cpathname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_75); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_76_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_extension_suffixes); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_extensions); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_source); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bytecode); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_76); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__set_bootstrap_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__bootstrap_module); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_77); - _PyStaticUnicode_Dealloc((PyObject *)&importlib__bootstrap_external_toplevel_consts_78_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_supported_loaders); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_78); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_nt); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_posix); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_all); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__pathseps_with_colon); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__CASE_INSENSITIVE_PLATFORMS_BYTES_KEY); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___code__); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_DEBUG_BYTECODE_SUFFIXES); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_OPTIMIZED_BYTECODE_SUFFIXES); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__NamespaceLoader); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib__bootstrap_external_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ZipImportError); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_7_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_2_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_2_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_2_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_alt_path_sep); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__zip_directory_cache); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__read_directory); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__files); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_archive); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_prefix); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_basename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_files); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_4_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_module_info); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_module_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__is_dir); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_4_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mi); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_modpath); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_5_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_6_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_module_info); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_module_code); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_7_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ispackage); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_data); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_8_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_toc_entry); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_10_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_10_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fullpath); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_11_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_12_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_12_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_12_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_12_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_12_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__module_type); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_12_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mod); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_13_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ZipReader); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_13_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_14_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_14_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_15_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_15_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_11_consts_15_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11_consts_15); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_12); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dirpath); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__zip_searchorder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_isbytecode); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_21_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_21_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_21_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_21_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_21_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_21_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_21_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_21_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_21_consts_28); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ascii); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_21_consts_34); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_END_CENTRAL_DIR_SIZE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_STRING_END_ARCHIVE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MAX_COMMENT_LEN); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_UnicodeDecodeError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_translate); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cp437_table); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fp); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_start_offset); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_header_position); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_file_size); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_max_comment_start); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pos); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_header_size); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_header_offset); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_arc_offset); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_compress); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_time); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_date); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_crc); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_data_size); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_name_size); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_extra_size); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_comment_size); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_file_offset); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_t); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_21); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_22); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_23_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_23_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_decompress); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_23_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__importing_zlib); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_zlib); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_decompress_func); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_23); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_24_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_24_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_24_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_datapath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_raw_data); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_24); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_abs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__eq_mtime); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_t1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_t2); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_25); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_26_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_26_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_pyc_source); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_mtime_and_size_of_source); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__unmarshal_code); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_26); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__normalize_line_endings); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_27); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__compile_source); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_28); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mktime); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__parse_dostime); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_d); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_29); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_c); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_o); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_IndexError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_uncompressed_size); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_30); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_31); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_32_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&zipimport_toplevel_consts_32_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_import_error); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel_consts_32); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__frozen_importlib); - _PyStaticCode_Dealloc((PyCodeObject *)&zipimport_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_1_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_1_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_abstractmethod); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_funcobj); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_abstractclassmethod); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_2_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_2_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_callable); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_2_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_abstractstaticmethod); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_4_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_4_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_4_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_abstractproperty); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_6_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_get_cache_token); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc_init); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc_register); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc_instancecheck); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc_subclasscheck); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_dump); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__reset_registry); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__reset_caches); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ABCMeta); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mcls); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bases); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_namespace); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_10_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_register); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_subclass); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_10_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_4_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_instance); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_10_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_10_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_7_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_7_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_7_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_7_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_7_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_7_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__dump_registry); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_7_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc_registry); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc_cache); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc_negative_cache); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc_negative_cache_version); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_10_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc_registry_clear); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_10_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc_caches_clear); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_10_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_10_consts_9); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_abc); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_14_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_frozenset); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_update_abstractmethods); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_abstracts); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_scls); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ABC); - _PyStaticUnicode_Dealloc((PyObject *)&abc_toplevel_consts_15_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abc); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__py_abc); - _PyStaticCode_Dealloc((PyCodeObject *)&abc_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lookup); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_EncodedFile); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM_BE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM_LE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM32_BE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM32_LE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM64_BE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM64_LE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM_UTF8); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM_UTF16); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM_UTF16_LE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM_UTF16_BE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM_UTF32); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM_UTF32_LE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BOM_UTF32_BE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_CodecInfo); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Codec); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_IncrementalEncoder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_IncrementalDecoder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_StreamReader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_StreamWriter); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_StreamReaderWriter); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_StreamRecoder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getencoder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getdecoder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getincrementalencoder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getincrementaldecoder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getreader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getwriter); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_iterencode); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_iterdecode); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_strict_errors); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ignore_errors); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_replace_errors); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_xmlcharrefreplace_errors); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_backslashreplace_errors); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_namereplace_errors); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_register_error); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lookup_error); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_12_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_incrementalencoder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_incrementaldecoder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_streamwriter); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_streamreader); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_12_consts_5_filename); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_12_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_12_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_12_consts_6_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_12_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_12_consts_6); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_14_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_14_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_14_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_input); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_14_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_14_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_14_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_14_consts_4); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_16_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_5_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_final); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_16_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_16_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_16_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_16_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_16_consts_8); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BufferedIncrementalEncoder); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_18_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_18_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_18_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__buffer_encode); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_18_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_18_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_18_consts_6_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_result); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_consumed); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_18_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_18_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_18_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_18_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_18_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_18_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_18_consts_9); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_20_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_20_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_20_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_20_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_20_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_20_consts_8); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BufferedIncrementalDecoder); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_22_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_22_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_22_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__buffer_decode); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_22_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_22_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_22_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_22_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_22_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_22_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_22_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_22_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_22_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_22_consts_9); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_22); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_stream); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_24_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_24_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_writelines); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_24_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_24_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_7_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_whence); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_24_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_24_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_24_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_10_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_tb); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_24_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_11_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_24_consts_11_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_proto); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_24_consts_11); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_24); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bytebuffer); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_charbuffertype); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__empty_charbuffer); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_charbuffer); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_linebuffer); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_keepends); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_start); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_splitlines); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_6_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_chars); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_firstline); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_newdata); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_newchars); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_decodedbytes); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lines); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_9_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bytes); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_9_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_readsize); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_line0withend); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_line0withoutend); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_readlines); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_10_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sizehint); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_11_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_13_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_13_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_14_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_StopIteration); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_14_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_15_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_16_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_17_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_18_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_26_consts_19_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26_consts_19); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_26); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_unknown); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_reader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_writer); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_4_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Reader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Writer); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_12_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_13_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_14_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_16_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_17_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_18_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_19_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_28_consts_20_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28_consts_20); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_28); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_6_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bytesencoded); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_12_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bytesdecoded); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_13_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_14_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_16_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_17_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_18_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_19_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_30_consts_20_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_data_encoding); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_file_encoding); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_30); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_35_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_b); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_buffering); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_srw); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_35); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_36_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_data_info); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_file_info); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sr); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_36); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_37_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_37); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_38_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_38); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_39_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_LookupError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_encoder); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_39); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_40_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_decoder); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_40); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_41_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_41); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_42_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_42); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_43_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_output); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_43); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_44_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_44); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_45_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_45_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_45_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_make_identity_dict); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rng); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_45); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_46_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_make_encoding_map); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_decoding_map); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_k); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_v); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel_consts_46); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_xmlcharrefreplace); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_backslashreplace); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_namereplace); - _PyStaticUnicode_Dealloc((PyObject *)&codecs_toplevel_consts_53); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__codecs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_why); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SystemError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_byteorder); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__false); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_encodings); - _PyStaticCode_Dealloc((PyCodeObject *)&codecs_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&io_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&io_toplevel_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BlockingIOError); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_IOBase); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_RawIOBase); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_StringIO); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BufferedIOBase); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BufferedReader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BufferedWriter); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BufferedRWPair); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BufferedRandom); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_TextIOBase); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_UnsupportedOperation); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SEEK_SET); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SEEK_CUR); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SEEK_END); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_DEFAULT_BUFFER_SIZE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_text_encoding); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_OpenWrapper); - _PyStaticUnicode_Dealloc((PyObject *)&io_toplevel_consts_6_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&io_toplevel_consts_6_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&io_toplevel_consts_6_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&io_toplevel_consts_6_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&io_toplevel_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_io); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__IOBase); - _PyStaticCode_Dealloc((PyCodeObject *)&io_toplevel_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__RawIOBase); - _PyStaticCode_Dealloc((PyCodeObject *)&io_toplevel_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__BufferedIOBase); - _PyStaticCode_Dealloc((PyCodeObject *)&io_toplevel_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__TextIOBase); - _PyStaticCode_Dealloc((PyCodeObject *)&io_toplevel_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__WindowsConsoleIO); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___author__); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_klass); - _PyStaticCode_Dealloc((PyCodeObject *)&io_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_5_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__f); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Awaitable); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Coroutine); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_AsyncIterable); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_AsyncIterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_AsyncGenerator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Hashable); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Iterable); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Generator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Reversible); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Sized); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Container); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Callable); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Collection); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Set); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MutableSet); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Mapping); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MutableMapping); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MappingView); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_KeysView); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ItemsView); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ValuesView); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Sequence); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MutableSequence); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ByteString); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_7); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__coro); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__ag); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___mro__); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__check_methods); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_C); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_methods); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_B); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_17_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_17_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_17_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_17_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_20_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_20_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_20_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_20_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_GenericAlias); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_22_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_22_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_22_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_with_traceback); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_22_consts_4_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_typ); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_val); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_22_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_22_consts_5_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_GeneratorExit); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_22_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_22_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_6); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_22); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_24_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_24_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_24_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_24_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_24); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_26_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_StopAsyncIteration); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_26_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_26_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_26_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_4); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_26); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_28_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_asend); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_28_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_28_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_28_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_28_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_athrow); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_28_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_28_consts_6_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_aclose); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_28_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_28_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_7); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_28); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_30_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_30_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_30_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_30_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_30); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_32_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_32_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_32_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_32_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_4); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_32); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_34_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_34_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_34_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_34_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_34); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_36_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_36_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_36_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_36_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_36_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_36_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_36_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_36_consts_6_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_36_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_36_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_7); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_36); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_38_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_38_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_38_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_38_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_38); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_40_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_40_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_40_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_40_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_40); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_42_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_42_consts_2); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_42); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__CallableGenericAlias); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_3_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_3_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__is_param_expr); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_t_args); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_t_result); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_4_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__type_repr); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_4_consts_5_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_a); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_4_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_4_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_4_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_44_consts_6_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_new_args); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_6); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_44); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_46_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ParamSpec); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__ConcatenateGenericAlias); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_typing); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_46_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_46_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Ellipsis); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_names); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_46); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_47_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_47_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_repr); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FunctionType); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_47); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_48_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_48_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_48_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_48_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_48); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_3_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_elem); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__from_iterable); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_8_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_it); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_9_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_9_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_isdisjoint); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_11_consts_1_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_e); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_11_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_11_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_chain); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_12_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_12_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_12_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_13_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_13_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_13_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_14_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_15_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_maxsize); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__hash); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_50_consts_15_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MAX); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MASK); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_n); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_h); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_hx); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_15); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_50); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_discard); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_remove); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_52_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_11); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_52); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dict); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_54_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_11); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_54); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__mapping); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_56_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mapping); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_56_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_56_consts_4_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_56_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_4); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_56); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_58_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_58_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_58_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_4); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_58); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_60_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_60_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_60_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_4); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_60); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_62_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_62_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_62_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_62_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_62); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__MutableMapping__marker); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_popitem); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_setdefault); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_64_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_10); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_64); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_66_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_66_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_66_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_66_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_range); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_66_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_66_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_66_consts_10_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_stop); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_66_consts_11_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_66_consts_11_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_11_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sum); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_66_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_11); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_66); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_68_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_68); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_reverse); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_11_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_12_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_12_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&_collections_abc_toplevel_consts_70_consts_13_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_13); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel_consts_70); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_EllipsisType); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bytes_iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bytearray_iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dict_keyiterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dict_valueiterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dict_itemiterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_list_iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_list_reverseiterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_range_iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_longrange_iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_set_iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_str_iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_tuple_iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_zip); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_zip_iterator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dict_keys); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dict_values); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dict_items); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mappingproxy); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_generator); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_coroutine); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_async_generator); - _PyStaticCode_Dealloc((PyCodeObject *)&_collections_abc_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Quitter); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_eof); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_3_consts_1_filename); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_3_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_3_consts_2_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_3_consts_2_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_3_consts_2_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_3_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SystemExit); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_3_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_4); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__Printer); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_5_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_5_consts_4_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_os); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_4_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__Printer__name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__Printer__data); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__Printer__lines); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__Printer__filenames); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_5_consts_4_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dirs); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_5_consts_5_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_split); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__Printer__linecnt); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___setup); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_5_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_5_consts_6_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__Printer__setup); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MAXLINES); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_5_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_5_consts_7_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_q); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_5_consts_7_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_prompt); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_7); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__Helper); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_7_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_7_consts_2_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_7_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_7_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pydoc); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_help); - _PyStaticUnicode_Dealloc((PyObject *)&_sitebuiltins_toplevel_consts_7_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_7_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel_consts_7); - _PyStaticCode_Dealloc((PyCodeObject *)&_sitebuiltins_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_commonprefix); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exists); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getatime); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getctime); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getmtime); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getsize); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_isdir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_isfile); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_samefile); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sameopenfile); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_samestat); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_4_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_4_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISREG); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISDIR); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_7_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_8_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_st_atime); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_st_ctime); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_11_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_min); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_enumerate); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_s1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_s2); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_12_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_st_ino); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_st_dev); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_13_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_f1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_f2); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_14_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fstat); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fp1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fp2); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_15_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__splitext); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_altsep); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_extsep); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sepIndex); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_altsepIndex); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dotIndex); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_filenameIndex); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_16_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&genericpath_toplevel_consts_16_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__check_arg_types); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_funcname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_hasstr); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_hasbytes); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel_consts_16); - _PyStaticCode_Dealloc((PyCodeObject *)&genericpath_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_nul); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_normcase); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_isabs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_splitdrive); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_splitext); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_islink); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lexists); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ismount); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_expanduser); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_expandvars); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_normpath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_abspath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_curdir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pardir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pathsep); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_defpath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_devnull); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_realpath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_supports_unicode_filenames); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_relpath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_commonpath); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_12_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_12_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_bothseps); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_LCMapStringEx); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_LOCALE_NAME_INVARIANT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_LCMAP_LOWERCASE); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_14_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_surrogateescape); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getfilesystemencoding); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__LCMapStringEx); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__LOCALE_NAME_INVARIANT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__LCMAP_LOWERCASE); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fsencode); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fsdecode); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_16_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_16_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_colon_sep); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_BytesWarning); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_genericpath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_paths); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_seps); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_colon); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_result_drive); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_result_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_p_drive); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_p_path); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_18_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_18_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_upper); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_find); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_unc_prefix); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_normp); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_index2); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_19_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_19); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_21_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_21); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_22_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_22); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_23_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lstat); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISLNK); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_23); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_24_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_24); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__getvolumepathname); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_26_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_y); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_26); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_27_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_27_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_USERPROFILE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HOMEPATH); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HOMEDRIVE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_USERNAME); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_tilde); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_userhome); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_drive); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_target_user); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_current_user); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_27); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_28_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_28_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_environb); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_28_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_28_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_string); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ascii_letters); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_digits); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_varchars); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_quote); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_percent); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_brace); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rbrace); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dollar); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_res); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pathlen); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_var); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_28); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__path_normpath); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_30_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_30); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_comps); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_31); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_32_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getcwdb); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__abspath_fallback); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cwd); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_32); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__getfullpathname); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_34_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_34); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__getfinalpathname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_readlink); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__nt_readlink); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_winerror); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__readlink_deep); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_allowed_winerror); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_old_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ex); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_36); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__getfinalpathname_nonstrict); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_new_path); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_37); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_40_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_40_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_new_unc_prefix); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_had_prefix); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_initial_winerror); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spath); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_40); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getwindowsversion); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_44_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_44_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_44_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_44_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_44_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_44_consts_11); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_44_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_start_abs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_abs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_start_drive); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_start_rest); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_drive); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_rest); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_start_list); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_list); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_e1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_e2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rel_list); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_44); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_45_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_45_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_45_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_45_consts_9); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_45_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_45_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_45_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_45_consts_12); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_45_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_45_consts_16); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_45_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&ntpath_toplevel_consts_45_consts_18_consts_0_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_45_consts_18_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_45_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_drivesplits); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_split_paths); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_common); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel_consts_45); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__isdir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__winapi); - _PyStaticCode_Dealloc((PyCodeObject *)&ntpath_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_11_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_sep); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_12_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_12); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_14_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_15_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_15); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_17_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_17); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_18); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_20_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_20); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_21); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_22_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dev1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dev2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ino1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ino2); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_22); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_23_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HOME); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ASCII); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_vxworks); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pwd); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getpwuid); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getuid); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pw_dir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getpwnam); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pwent); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_23); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_24_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_24_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__varprogb); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_re); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__varprog); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_span); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_group); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_end); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_j); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_24); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_26); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_empty); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dotdot); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_initial_slashes); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_new_comps); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_comp); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_27); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_28_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_28); - _PyStaticUnicode_Dealloc((PyObject *)&posixpath_toplevel_consts_31_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__joinrealpath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ok); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_31); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_newpath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_is_link); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_32); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_34_consts_9); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_34_consts_10); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_34); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_35_consts_7); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_35_consts_8); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_35_consts_11_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_35_consts_11); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel_consts_35); - _PyStaticCode_Dealloc((PyCodeObject *)&posixpath_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_linesep); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_get_exec_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fdopen); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_5_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__exists); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_6_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_6_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_exports_list); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__exit); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__have_functions); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__globals); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__set); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__add); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FACCESSAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_access); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FCHMODAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_chmod); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FCHOWNAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_chown); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FSTATAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FUTIMESAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_utime); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_LINKAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_link); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_MKDIRAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_MKFIFOAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mkfifo); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_MKNODAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mknod); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_OPENAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_READLINKAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_RENAMEAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_SYMLINKAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_symlink); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_UNLINKAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rmdir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_UTIMENSAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FCHDIR); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_chdir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FCHMOD); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FCHOWN); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FDOPENDIR); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_scandir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FEXECVE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_execve); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FTRUNCATE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FUTIMENS); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FUTIMES); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FPATHCONF); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pathconf); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_statvfs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fstatvfs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_FSTATVFS); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_LCHFLAGS); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_chflags); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_LCHMOD); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lchown); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_LCHOWN); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_LUTIMES); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_HAVE_LSTAT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_MS_WINDOWS); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_80_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exist_ok); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_makedirs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cdir); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_80); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_81_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_removedirs); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_81); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_82_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_renames); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_82); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_85_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_85_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_audit); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__walk); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_walk); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_topdown); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_onerror); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_followlinks); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_85); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_is_dir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_is_symlink); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_nondirs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_walk_dirs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_scandir_it); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_error); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_walk_into); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_86); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_follow_symlinks); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dir_fd); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_90_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_90_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_O_RDONLY); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__fwalk); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fwalk); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_orig_st); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_topfd); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_90); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_toppath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_isbytes); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_entries); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dirfd); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_err); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_91); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_93_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_execv); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_execl); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_93); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_94_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_execle); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_env); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_94); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_95_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_execvp); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_execlp); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_95); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_96_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_execvpe); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_execlpe); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_96); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_97_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__execvpe); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_97); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_98_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_98); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exec_func); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_argrest); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_saved_exc); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_last_exc); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_100); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_101_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_PATH); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_101_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_catch_warnings); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_simplefilter); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_supports_bytes_environ); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_listb); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_101); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__Environ); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_encodekey); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_decodekey); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_encodevalue); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_decodevalue); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__data); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_putenv); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_unsetenv); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_4_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_encodedkey); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_7_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_7_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_7_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_7_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_7_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_formatted_items); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_8_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_9_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_10_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_11_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_103_consts_12_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103_consts_12); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_103); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_105_consts_2_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_check_str); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_105_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_105_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_105_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_105_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_105_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_105_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_105_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_105_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__createenviron); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_105); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_106_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getenv); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_106); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_108_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__check_bytes); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_108); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_109_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getenvb); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_109); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_111_consts_1_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_111_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_111_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_111_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_111_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_111_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getfilesystemencodeerrors); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__fscodec); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_111); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fork); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spawnv); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_P_WAIT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_P_NOWAIT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_P_NOWAITO); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_116_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_116_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_waitpid); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_WIFSTOPPED); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_waitstatus_to_exitcode); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__spawnvef); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_func); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pid); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_wpid); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sts); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_116); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_117_consts_0); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_117); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_118_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spawnve); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_118); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_119_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spawnvp); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_119); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_120_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spawnvpe); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_120); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_122_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spawnl); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_122); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_123_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spawnle); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_123); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_127_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spawnlp); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_127); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_128_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_spawnlpe); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_128); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_134_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_w); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_134_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_134_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_shell); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bufsize); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_subprocess); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Popen); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_PIPE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__wrap_close); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_popen); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cmd); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_proc); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_134); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__stream); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__proc); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_135_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_135_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_wait); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_135_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_returncode); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_135_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_135_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_135_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_135_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_135_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_135_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_135_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_135_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_135_consts_6); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_135); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_138_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_138); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_139_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_139_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_139_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__fspath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_type); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_repr); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_139); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_PathLike); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_141_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_141_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_141_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_141_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_141_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_141_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_141); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__AddedDllDirectory); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__cookie); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__remove_dll_directory); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_143_consts_1_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_cookie); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_remove_dll_directory); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_143_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_143_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_143_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_143_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_143_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_143_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_143_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_143_consts_5_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_143_consts_5_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_143_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_143_consts_5); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_143); - _PyStaticUnicode_Dealloc((PyObject *)&os_toplevel_consts_145_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__add_dll_directory); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_add_dll_directory); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel_consts_145); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__collections_abc); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__names); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_posixpath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ntpath); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_supports_dir_fd); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_supports_effective_ids); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_supports_fd); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_supports_follow_symlinks); - _PyStaticCode_Dealloc((PyCodeObject *)&os_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_3_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__trace); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_makepath); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_abs_paths); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_loader_module); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_removeduppaths); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_L); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_known_paths); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dircase); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_7_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__init_pathinfo); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_itemcase); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_8_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_st_flags); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_st_file_attributes); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_8_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_8_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_8_consts_13_1); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_8_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_8_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_8_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_UF_HIDDEN); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_HIDDEN); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_strip); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_traceback); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_format_exception); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exc_info); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_addpackage); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sitedir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_record); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_9_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_9_consts_5_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_9_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_9_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_addsitedir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sitedircase); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_geteuid); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getgid); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getegid); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_no_user_site); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_check_enableusersite); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_PYTHONUSERBASE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_emscripten); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_wasi); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_joinuser); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_11_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_11_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_APPDATA); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Python); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Library); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_11_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__framework); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__getuserbase); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_env_base); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_12_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_12_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_12_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_12_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_12_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_winver); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_userbase); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ver_nodot); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_13_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_USER_BASE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getuserbase); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_14_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_USER_SITE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ENABLE_USER_SITE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getusersitepackages); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_15_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_15_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_addusersitepackages); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_user_site); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_16_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_lib); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_16_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_16_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Lib); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_PREFIXES); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_platlibdir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_getsitepackages); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_prefixes); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sitepackages); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_libdirs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_libdir); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_17_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_17_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_addsitepackages); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_18_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_18_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_18_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_quit); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exit); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__sitebuiltins); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_setquit); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_19_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_copyright); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_java); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_credits); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_19_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_19_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_19_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_LICENSE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_license); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_19_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_setcopyright); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_here); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sethelper); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_21_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_libedit); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_21_consts_1_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_21_consts_1_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_21_consts_1_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_write_history_file); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_write_history); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_21_consts_1_consts_9_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_history); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_21_consts_1_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_atexit); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_rlcompleter); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_parse_and_bind); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_read_init_file); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_get_current_history_length); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_read_history_file); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_register_readline); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_21_consts_1_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_readline_doc); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_21_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___interactivehook__); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_enablerlcompleter); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_21); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___PYVENV_LAUNCHER__); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_22_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_22_consts_4_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_conffile); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_22_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_true); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_22_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_22_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_home); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__base_executable); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_executable); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__home); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exec_prefix); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_venv); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_exe_dir); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_site_prefix); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_conf_basename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_candidate_confs); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_virtual_conf); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_system_site); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_22); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_23_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_sitecustomize); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_23_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_execsitecustomize); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_23); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_24_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_usercustomize); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_24_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_execusercustomize); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_24); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_25_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_isolated); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_main); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_orig_path); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_25); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_7_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_7_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_26_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&site_toplevel_consts_26_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_argv); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_textwrap); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_dedent); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__script); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_user_base); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel_consts_26); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_no_site); - _PyStaticCode_Dealloc((PyCodeObject *)&site_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_11_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_11_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IMODE); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_12_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFMT); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_20_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFDIR); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_21_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFCHR); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISCHR); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_21); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_22_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFBLK); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISBLK); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_22); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_23_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFREG); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_23); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_24_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFIFO); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISFIFO); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_24); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_25_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFLNK); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_25); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_26_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFSOCK); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISSOCK); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_26); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_27_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISDOOR); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_27); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_28_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISPORT); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_28); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_29_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISWHT); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_29); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_l); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_47); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_T); - _PyStaticUnicode_Dealloc((PyObject *)&stat_toplevel_consts_58_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__filemode_table); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_filemode); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_perm); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_table); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_bit); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_char); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel_consts_58); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ST_MODE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ST_INO); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ST_DEV); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ST_NLINK); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ST_UID); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ST_GID); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ST_SIZE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ST_ATIME); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ST_MTIME); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ST_CTIME); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFDOOR); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFPORT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IFWHT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISUID); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISGID); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ENFMT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_ISVTX); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IREAD); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IWRITE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IEXEC); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IRWXU); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IRUSR); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IWUSR); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IXUSR); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IRWXG); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IRGRP); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IWGRP); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IXGRP); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IRWXO); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IROTH); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IWOTH); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_S_IXOTH); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_UF_NODUMP); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_UF_IMMUTABLE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_UF_APPEND); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_UF_OPAQUE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_UF_NOUNLINK); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_UF_COMPRESSED); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SF_ARCHIVED); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SF_IMMUTABLE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SF_APPEND); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SF_NOUNLINK); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_SF_SNAPSHOT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_ARCHIVE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_COMPRESSED); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_DEVICE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_DIRECTORY); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_ENCRYPTED); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_INTEGRITY_STREAM); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_NORMAL); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_NO_SCRUB_DATA); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_OFFLINE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_READONLY); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_REPARSE_POINT); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_SPARSE_FILE); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_SYSTEM); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_TEMPORARY); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_FILE_ATTRIBUTE_VIRTUAL); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__stat); - _PyStaticCode_Dealloc((PyCodeObject *)&stat_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_Loader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_contextmanager); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_16_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_16_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_17_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_17_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_resolve_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_character); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_18_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_18_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_18_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__find_spec_from_path); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_19_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_19_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_19_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_parent_name); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___initializing__); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__module_to_load); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_21_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_21_consts_1_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_set_package_wrapper); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_21_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_21_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_functools); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_wraps); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_set_package); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_21); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_22_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_set_loader_wrapper); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_22_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_22_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_set_loader); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_22); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_23_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_module_for_loader_wrapper); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_23_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_module_for_loader); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_23); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__LazyModule); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_24_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_24_consts_2_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_24_consts_2_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_24_consts_2_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_types); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_ModuleType); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_24_consts_2_qualname); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_attr); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_original_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_attrs_then); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_attrs_now); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_attrs_updated); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_24_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_24_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_delattr); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_24_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_24_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_24); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_LazyLoader); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_26_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_26_consts_2_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str___check_eager_loader); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_26_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_26_consts_3_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_26_consts_3_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_3_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__LazyLoader__check_eager_loader); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_factory); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_26_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_26_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_4); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_26_consts_5_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_26_consts_6_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_util_toplevel_consts_26_consts_6_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_6); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel_consts_26); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_contextlib); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_util_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_machinery_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_machinery_toplevel_consts_13_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&importlib_machinery_toplevel_consts_13_filename); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_all_suffixes); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_machinery_toplevel_consts_13); - _PyStaticCode_Dealloc((PyCodeObject *)&importlib_machinery_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_run_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_run_path); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__TempModule); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_5_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mod_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__saved_module); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_5_consts_2_filename); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_5_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_5_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_5_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_5_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_5_consts_4_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_5_consts_4); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__ModifiedArgv0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__saved_value); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__sentinel); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_7_consts_1_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_7_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_7_consts_2_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_7_consts_2_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_7_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_7_consts_3_qualname); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_7_consts_3); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_9_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__run_code); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_run_globals); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_init_globals); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mod_spec); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pkg_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_script_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_fname); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_9); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_10_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__run_module_code); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_temp_module); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_mod_globals); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_6); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_8); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_10); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_13); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_14); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_16); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_11_consts_21); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_RuntimeWarning); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_util); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_module_details); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_existing); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pkg_main_name); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_11); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__Error); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_12_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_12); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_15_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_main_module_details); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__run_module_as_main); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_alter_argv); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_main_globals); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_15); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_17_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_run_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_alter_sys); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_17); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_18_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_18_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_main_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_saved_main); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_18); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_read_code); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_pkgutil); - _PyStaticUnicode_Dealloc((PyObject *)&const_str__get_code_from_file); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_decoded_path); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_19); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_20_consts_0); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_20_consts_2); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_get_importer); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_imp); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_NullImporter); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_path_name); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_importer); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_is_NullImporter); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel_consts_20); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_consts_23); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_names_2); - _PyStaticUnicode_Dealloc((PyObject *)&runpy_toplevel_names_4); - _PyStaticCode_Dealloc((PyCodeObject *)&runpy_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_TestFrozenUtf8_1); - _PyStaticUnicode_Dealloc((PyObject *)&__hello___toplevel_consts_1_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&__hello___toplevel_consts_1_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&__hello___toplevel_consts_1); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_TestFrozenUtf8_2); - _PyStaticUnicode_Dealloc((PyObject *)&__hello___toplevel_consts_3_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&__hello___toplevel_consts_3); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_TestFrozenUtf8_4); - _PyStaticUnicode_Dealloc((PyObject *)&__hello___toplevel_consts_5_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&__hello___toplevel_consts_5); - _PyStaticUnicode_Dealloc((PyObject *)&__hello___toplevel_consts_7_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&__hello___toplevel_consts_7); - _PyStaticUnicode_Dealloc((PyObject *)&const_str_initialized); - _PyStaticCode_Dealloc((PyCodeObject *)&__hello___toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&__phello___toplevel_consts_1_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&__phello___toplevel_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&__phello___toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&__phello___ham_toplevel_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&__phello___ham_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&__phello___ham_eggs_toplevel_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&__phello___ham_eggs_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&__phello___spam_toplevel_consts_1_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&__phello___spam_toplevel_consts_1); - _PyStaticCode_Dealloc((PyCodeObject *)&__phello___spam_toplevel); - _PyStaticUnicode_Dealloc((PyObject *)&frozen_only_toplevel_filename); - _PyStaticCode_Dealloc((PyCodeObject *)&frozen_only_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_1_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_16_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_16_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_16_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_16_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_18_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_18_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_18_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_18); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_20_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_20); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_21); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_22); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_25); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_26_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_26); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_27_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_27); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_28); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_29); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_33); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_34); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_38); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_40); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_41); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_42); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_43); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_48_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_48_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_48); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_50); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_51); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_52); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_55); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_56); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_57); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_59); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_60); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_61); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_62); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_63); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_64); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel_consts_65); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_17_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_17); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_18); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_19); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_20); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_21); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_22); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_23); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_24); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_25); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_36); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_37); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_38); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_39); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_40); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_42); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_43); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_44); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_45); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_46); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_47); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_48); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_50); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_51); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_52_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_52_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_52_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_52); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_54_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_54_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_54_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_54_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_54); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_60_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_60_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_60_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_60); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_62_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_62_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_62); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_7_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_2_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_8_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_74); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_75); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_76); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_77); + _PyStaticCode_Fini((PyCodeObject *)&importlib__bootstrap_external_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_18); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_19); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_20); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_21); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_23); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_24); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_25); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_26); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_27); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_28); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_29); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_30); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_31); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel_consts_32); + _PyStaticCode_Fini((PyCodeObject *)&zipimport_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_2_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_4_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_10_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_10_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_10_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_10_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_10_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_10_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_10_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&abc_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_12_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_12_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_14_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_14_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_16_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_16_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_16_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_16_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_16_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_18_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_18_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_18_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_18_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_18_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_18_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_18); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_20_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_20_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_20_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_20_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_20_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_20); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_22_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_22_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_22_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_22_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_22_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_22_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_22); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_24_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_24_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_24_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_24_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_24_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_24_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_24_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_24_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_24_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_24); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_26); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28_consts_17); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_28); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30_consts_17); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_30); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_33); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_34); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_35); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_36); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_37); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_38); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_39); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_40); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_41); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_42); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_43); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel_consts_44); + _PyStaticCode_Fini((PyCodeObject *)&codecs_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&io_toplevel_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&io_toplevel_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&io_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&io_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&io_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_17_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_17_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_17); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_20_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_20_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_20); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_22); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_24_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_24_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_24); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_26); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_28); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_30_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_30_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_30); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_32); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_34_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_34_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_34); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_36); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_38_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_38_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_38); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_40_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_40_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_40); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_42_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_42); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_44); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_46_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_46_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_46_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_46_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_46); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_48_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_48); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_49); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_50); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_9_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_11_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_12_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_13_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_52); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_54); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_56); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_58); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_60); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_62_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_62_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_62_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_62); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_64); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_66); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_10_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_68); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_70); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_72); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel_consts_74); + _PyStaticCode_Fini((PyCodeObject *)&_collections_abc_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_7_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_7_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&_sitebuiltins_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel_consts_17); + _PyStaticCode_Fini((PyCodeObject *)&genericpath_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_17); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_18); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_19); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_20); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_21); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_22); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_23); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_25); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_26); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_27); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_29); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_30); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_31); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_33); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_34); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_35); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_37); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_39); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_40); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_43); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_45); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_46); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_52); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel_consts_53); + _PyStaticCode_Fini((PyCodeObject *)&ntpath_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_17); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_18); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_19); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_20); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_21); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_22); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_23); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_24); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_25); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_27); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_28); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_29); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_32); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_33); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_35); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_36_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel_consts_36); + _PyStaticCode_Fini((PyCodeObject *)&posixpath_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_19); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_79); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_80); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_81); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_83); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_86); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_87); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_89); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_90); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_91); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_92); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_93); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_94); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_96); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_97); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_7_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_99); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_101_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_101_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_101_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_101_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_101); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_102); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_104); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_105); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_107_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_107_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_107); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_112); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_113); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_114); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_115); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_116); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_118); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_119); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_123); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_124); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_128); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_129_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_129_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_129_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_129_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_129_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_129_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_129); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_132); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_133); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_135_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_135_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_135); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_137_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_137_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_137_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_137_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_137_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_137); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel_consts_139); + _PyStaticCode_Fini((PyCodeObject *)&os_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_8); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_11_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_17); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_18); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_19); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_20); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_21_consts_1_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_21_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_21); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_22_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_22); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_23); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_24); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_25); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_26_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel_consts_26); + _PyStaticCode_Fini((PyCodeObject *)&site_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_20); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_21); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_22); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_23); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_24); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_25); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_26); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_27); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_28); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_29); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel_consts_58); + _PyStaticCode_Fini((PyCodeObject *)&stat_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_17); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_18); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_19_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_19_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_19_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_19_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_19); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_21_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_21_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_21); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_3_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_6); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel_consts_23); + _PyStaticCode_Fini((PyCodeObject *)&importlib_util_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&importlib_machinery_toplevel_consts_13); + _PyStaticCode_Fini((PyCodeObject *)&importlib_machinery_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_5_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_5_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_5_consts_4); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_7_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_7_consts_2); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_7_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_9); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_10); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_11); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_12); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_14); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_15); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_16); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_17); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel_consts_18); + _PyStaticCode_Fini((PyCodeObject *)&runpy_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&__hello___toplevel_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&__hello___toplevel_consts_3); + _PyStaticCode_Fini((PyCodeObject *)&__hello___toplevel_consts_5); + _PyStaticCode_Fini((PyCodeObject *)&__hello___toplevel_consts_7); + _PyStaticCode_Fini((PyCodeObject *)&__hello___toplevel); + _PyStaticCode_Fini((PyCodeObject *)&__phello___toplevel_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&__phello___toplevel); + _PyStaticCode_Fini((PyCodeObject *)&__phello___ham_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&__phello___ham_eggs_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&__phello___spam_toplevel_consts_1); + _PyStaticCode_Fini((PyCodeObject *)&__phello___spam_toplevel); + _PyStaticCode_Fini((PyCodeObject *)&frozen_only_toplevel); } int _Py_Deepfreeze_Init(void) { - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_1) < 0) { - return -1; - } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_3) < 0) { - return -1; - } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_4) < 0) { - return -1; - } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_1_consts_1_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_1_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_11_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_11_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_11_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_13_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_19_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_20_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_21) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_22) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_16_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_16_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_16_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_16_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_18_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_18_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_18_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_18) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_23) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_20_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_26) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_20) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_27) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_21) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_22) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_31) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_25) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_32) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_26_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_33) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_26) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_34) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_27_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_35) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_27) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_36) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_28) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_29) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_30) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_33) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_34) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_37) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_38) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_40) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_41) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_42) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_43) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_39) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_41_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_41_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_41) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_43) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_44) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_45) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_49) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_50) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_52) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_54) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_55) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_57) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_58) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_59) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_46) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_60) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_48_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel_consts_61) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_48_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_48) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_50) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_51) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_52) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_55) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_56) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_57) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_59) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_60) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_15_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_61) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_62) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_16_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_63) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_64) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_17_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel_consts_65) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_21) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_22) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_23) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_25) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_36) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_37) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_38) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_17_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_39) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_17) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_40) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_18) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_19) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_20) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_21) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_42) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_22) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_43) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_23) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_44) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_24) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_45) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_25) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_46) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_36) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_47) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_37) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_49) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_38) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_50) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_39) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_52) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_40) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_41) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_53_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_42) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_53) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_43) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_44) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_45) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_46) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_55_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_47) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_55) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_48) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_50) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_51) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_52_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_52_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_52_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_52) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_54_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_57) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_54_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_54_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_54_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_54) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_59) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_61_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_56) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_61) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_63_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_63_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_63) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_58) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_60_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_7_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_60_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_60_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_60) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_62_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_62_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_65) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_62) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_7_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_64) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_67) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_69) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_66) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_71) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_2_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_68) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_8_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_70) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_9_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_2_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_73) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_75) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_76) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_77) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_8_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_78) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib__bootstrap_external_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_72) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_74) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_75) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_76) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel_consts_77) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib__bootstrap_external_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_21) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_23) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_18) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_24) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_19) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_25) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_20) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_26) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_21) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_27) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_23) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_28) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_24) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_29) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_25) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_30) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_26) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_31) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_27) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel_consts_32) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_28) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&zipimport_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_29) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_30) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_2_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_31) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel_consts_32) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_4_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&zipimport_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_2_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_10_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_10_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_4_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_10_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_10_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_10_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_10_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_10_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_10_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_10_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_10_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_10_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_10_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_10_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&abc_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_10_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_12_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_12_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_14_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&abc_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_14_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_12_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_12_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_16_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_16_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_14_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_16_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_14_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_16_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_16_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_16_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_16_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_18_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_16_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_18_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_16_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_18_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_16_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_18_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_18_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_18_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_18_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_18_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_18_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_20_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_18_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_20_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_18_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_20_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_18_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_20_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_18) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_20_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_20_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_20_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_22_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_20_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_22_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_20_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_22_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_20_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_22_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_20) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_22_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_22_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_22_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_22_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_22) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_22_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_24_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_22_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_24_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_22_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_24_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_22_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_24_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_22) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_24_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_24_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_24_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_24_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_24_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_24_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_24_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_24_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_24_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_24_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_24) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_24_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_24_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_24_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_24_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_24) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_26) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_26) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_28) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28_consts_17) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_28) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_30) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_35) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_36) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_37) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30_consts_17) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_38) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_30) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_39) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_33) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_40) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_34) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_41) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_35) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_42) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_36) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_43) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_37) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_44) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_38) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_45_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_39) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_45) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_40) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel_consts_46) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_41) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&codecs_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_42) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&io_toplevel_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_43) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&io_toplevel_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel_consts_44) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&io_toplevel_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&codecs_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&io_toplevel_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&io_toplevel_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&io_toplevel_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&io_toplevel_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&io_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&io_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&io_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&io_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_17_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_17_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_17_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_20_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_17_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_20_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_17) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_20_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_20_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_20) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_22) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_24_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_22_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_24_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_22) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_24) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_24_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_24_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_24) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_26) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_26_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_26) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_28) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_30_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_28_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_30_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_28) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_30) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_30_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_30_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_30) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_32) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_34_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_32_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_34_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_32) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_34) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_34_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_34_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_34) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_36) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_38_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_36_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_38_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_36) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_38) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_38_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_40_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_38_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_40_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_38) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_40) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_40_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_42_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_40_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_42) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_40) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_42_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_4_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_42) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_44_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_44) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_44) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_46_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_46_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_46_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_46) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_46_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_47) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_46_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_48_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_46) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_48_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_48_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_48) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_48) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_49) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_50) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_9_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_11_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_9_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_12_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_13_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_11_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_12_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_50) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_13_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_52) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_52_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_52) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_54) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_54_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_54) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_56_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_56) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_56) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_58_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_58) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_58) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_60_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_60) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_60) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_62_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_62_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_62_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_62_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_62) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_62_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_62) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_64) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_64_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_64) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_66) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_11_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_66_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_66) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_68) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_10_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_68_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_68) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_70) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_72) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel_consts_70) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_collections_abc_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_4_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel_consts_74) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_collections_abc_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_3_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_7_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_7_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&_sitebuiltins_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_5_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_7_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_7_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&_sitebuiltins_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&genericpath_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel_consts_17) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&genericpath_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_21) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_22) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_23) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_24) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_17) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_26) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_18) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_27) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_19) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_28) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_20) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_30) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_21) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_31) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_22) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_32) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_23) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_34) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_25) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_36) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_26) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_37) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_27) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_40) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_29) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_44_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_30) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_44_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_31) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_44) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_33) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_45_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_34) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_45_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_35) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_45_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_37) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_45_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_39) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_45_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_40) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_45_consts_18_consts_0) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_43) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_45_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_45) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel_consts_45) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_46) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&ntpath_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_52) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel_consts_53) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&ntpath_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_17) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_18) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_21) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_19) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_22) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_20) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_23) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_21) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_24) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_22) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_26) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_23) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_27) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_24) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_28) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_25) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_31) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_27) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_32) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_28) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_34_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_29) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_34_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_32) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_34) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_33) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_35_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_35) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_35_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_36_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_35_consts_11_consts_0) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel_consts_36) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_35_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&posixpath_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel_consts_35) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&posixpath_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_19) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_6_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_79) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_80) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_81) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_80) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_83) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_81) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_86) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_82) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_87) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_85) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_89) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_86) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_90) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_90) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_91) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_91) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_92) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_93) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_93) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_94) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_94) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_95) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_96) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_96) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_97) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_97) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_98) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_100) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_101) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_7_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_7_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_99) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_101_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_101_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_101_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_103) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_101_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_105_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_101) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_105_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_102) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_105_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_104) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_105_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_105) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_105) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_107_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_106) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_107_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_108) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_107) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_109) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_112) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_111_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_113) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_111_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_114) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_111) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_115) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_116) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_116) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_117) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_118) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_118) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_119) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_119) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_123) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_120) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_124) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_122) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_128) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_123) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_129_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_127) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_129_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_128) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_129_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_134) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_129_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_135_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_129_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_135_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_129_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_135_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_129) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_135_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_132) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_135_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_133) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_135_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_135_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_135) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_135_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_138) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_135) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_139) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_137_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_141_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_137_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_141_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_137_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_141) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_137_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_143_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_137_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_143_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_137) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_143_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel_consts_139) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_143_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&os_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_143_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_143) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel_consts_145) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&os_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_8) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_11_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_8) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_9_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_11_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_17) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_18) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_14) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_19) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_20) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_21_consts_1_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_21_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_21) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_22_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_22) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_21_consts_1_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_23) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_21_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_24) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_21) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_25) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_22_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_26_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_22) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel_consts_26) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_23) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&site_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_24) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_25) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_26_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_20) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel_consts_26) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_21) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&site_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_22) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_23) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_24) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_25) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_21) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_26) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_22) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_27) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_23) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_28) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_24) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_29) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_25) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel_consts_58) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_26) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&stat_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_27) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_28) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_29) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_17) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel_consts_58) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_18) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&stat_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_19_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_16) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_19_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_19_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_19_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_19) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_21_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_21_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_21_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_21) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_21) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_22_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_22) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_3_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_23) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_24_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_24_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_23_consts_6) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_24) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel_consts_23) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_util_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_3_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_machinery_toplevel_consts_13) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&importlib_machinery_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_5_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_5_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_26_consts_6) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_5_consts_4) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel_consts_26) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_util_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_7_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_machinery_toplevel_consts_13) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_7_consts_2) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&importlib_machinery_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_7_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_5_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_5_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_9) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_5_consts_4) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_10) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_11) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_7_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_12) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_7_consts_2) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_14) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_7_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_15) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_16) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_9) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_17) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_10) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel_consts_18) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_11) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&runpy_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_12) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__hello___toplevel_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_15) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__hello___toplevel_consts_3) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_17) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__hello___toplevel_consts_5) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_18) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__hello___toplevel_consts_7) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_19) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__hello___toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel_consts_20) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__phello___toplevel_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&runpy_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__phello___toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__hello___toplevel_consts_1) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__phello___ham_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__hello___toplevel_consts_3) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__phello___ham_eggs_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__hello___toplevel_consts_5) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__phello___spam_toplevel_consts_1) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__hello___toplevel_consts_7) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&__phello___spam_toplevel) < 0) { return -1; } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__hello___toplevel) < 0) { - return -1; - } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__phello___toplevel_consts_1) < 0) { - return -1; - } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__phello___toplevel) < 0) { - return -1; - } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__phello___ham_toplevel) < 0) { - return -1; - } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__phello___ham_eggs_toplevel) < 0) { - return -1; - } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__phello___spam_toplevel_consts_1) < 0) { - return -1; - } - if (_PyStaticCode_InternStrings((PyCodeObject *)&__phello___spam_toplevel) < 0) { - return -1; - } - if (_PyStaticCode_InternStrings((PyCodeObject *)&frozen_only_toplevel) < 0) { + if (_PyStaticCode_Init((PyCodeObject *)&frozen_only_toplevel) < 0) { return -1; } return 0; } + +uint32_t _Py_next_func_version = 769; + diff --git a/contrib/tools/python3/src/Python/dtoa.c b/contrib/tools/python3/src/Python/dtoa.c index 733e70bc791..c5e343b82f7 100644 --- a/contrib/tools/python3/src/Python/dtoa.c +++ b/contrib/tools/python3/src/Python/dtoa.c @@ -119,6 +119,7 @@ #include "Python.h" #include "pycore_dtoa.h" // _PY_SHORT_FLOAT_REPR +#include "pycore_pystate.h" // _PyInterpreterState_GET() #include // exit() /* if _PY_SHORT_FLOAT_REPR == 0, then don't even try to compile @@ -156,7 +157,7 @@ #endif -typedef uint32_t ULong; +// ULong is defined in pycore_dtoa.h. typedef int32_t Long; typedef uint64_t ULLong; @@ -171,12 +172,6 @@ typedef uint64_t ULLong; #define Bug(x) {fprintf(stderr, "%s\n", x); exit(1);} #endif -#ifndef PRIVATE_MEM -#define PRIVATE_MEM 2304 -#endif -#define PRIVATE_mem ((PRIVATE_MEM+sizeof(double)-1)/sizeof(double)) -static double private_mem[PRIVATE_mem], *pmem_next = private_mem; - #ifdef __cplusplus extern "C" { #endif @@ -278,11 +273,6 @@ typedef union { double d; ULong L[2]; } U; #define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1)) #define Big1 0xffffffff -/* Standard NaN used by _Py_dg_stdnan. */ - -#define NAN_WORD0 0x7ff80000 -#define NAN_WORD1 0 - /* Bits of the representation of positive infinity. */ #define POSINF_WORD0 0x7ff00000 @@ -298,8 +288,6 @@ BCinfo { #define FFFFFFFF 0xffffffffUL -#define Kmax 7 - /* struct Bigint is used to represent arbitrary-precision integers. These integers are stored in sign-magnitude format, with the magnitude stored as an array of base 2**32 digits. Bigints are always normalized: if x is a @@ -322,13 +310,7 @@ BCinfo { significant (x[0]) to most significant (x[wds-1]). */ -struct -Bigint { - struct Bigint *next; - int k, maxwds, sign, wds; - ULong x[1]; -}; - +// struct Bigint is defined in pycore_dtoa.h. typedef struct Bigint Bigint; #ifndef Py_USING_MEMORY_DEBUGGER @@ -352,7 +334,9 @@ typedef struct Bigint Bigint; Bfree to PyMem_Free. Investigate whether this has any significant performance on impact. */ -static Bigint *freelist[Kmax+1]; +#define freelist interp->dtoa.freelist +#define private_mem interp->dtoa.preallocated +#define pmem_next interp->dtoa.preallocated_next /* Allocate space for a Bigint with up to 1<next; else { x = 1 << k; len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) /sizeof(double); - if (k <= Kmax && pmem_next - private_mem + len <= (Py_ssize_t)PRIVATE_mem) { + if (k <= Bigint_Kmax && + pmem_next - private_mem + len <= (Py_ssize_t)Bigint_PREALLOC_SIZE + ) { rv = (Bigint*)pmem_next; pmem_next += len; } @@ -391,15 +378,20 @@ static void Bfree(Bigint *v) { if (v) { - if (v->k > Kmax) + if (v->k > Bigint_Kmax) FREE((void*)v); else { + PyInterpreterState *interp = _PyInterpreterState_GET(); v->next = freelist[v->k]; freelist[v->k] = v; } } } +#undef pmem_next +#undef private_mem +#undef freelist + #else /* Alternative versions of Balloc and Bfree that use PyMem_Malloc and @@ -678,10 +670,6 @@ mult(Bigint *a, Bigint *b) #ifndef Py_USING_MEMORY_DEBUGGER -/* p5s is a linked list of powers of 5 of the form 5**(2**i), i >= 2 */ - -static Bigint *p5s; - /* multiply the Bigint b by 5**k. Returns a pointer to the result, or NULL on failure; if the returned pointer is distinct from b then the original Bigint b will have been Bfree'd. Ignores the sign of b. */ @@ -701,7 +689,8 @@ pow5mult(Bigint *b, int k) if (!(k >>= 2)) return b; - p5 = p5s; + PyInterpreterState *interp = _PyInterpreterState_GET(); + p5 = interp->dtoa.p5s; if (!p5) { /* first time */ p5 = i2b(625); @@ -709,7 +698,7 @@ pow5mult(Bigint *b, int k) Bfree(b); return NULL; } - p5s = p5; + interp->dtoa.p5s = p5; p5->next = 0; } for(;;) { @@ -1405,35 +1394,6 @@ bigcomp(U *rv, const char *s0, BCinfo *bc) return 0; } -/* Return a 'standard' NaN value. - - There are exactly two quiet NaNs that don't arise by 'quieting' signaling - NaNs (see IEEE 754-2008, section 6.2.1). If sign == 0, return the one whose - sign bit is cleared. Otherwise, return the one whose sign bit is set. -*/ - -double -_Py_dg_stdnan(int sign) -{ - U rv; - word0(&rv) = NAN_WORD0; - word1(&rv) = NAN_WORD1; - if (sign) - word0(&rv) |= Sign_bit; - return dval(&rv); -} - -/* Return positive or negative infinity, according to the given sign (0 for - * positive infinity, 1 for negative infinity). */ - -double -_Py_dg_infinity(int sign) -{ - U rv; - word0(&rv) = POSINF_WORD0; - word1(&rv) = POSINF_WORD1; - return sign ? -dval(&rv) : dval(&rv); -} double _Py_dg_strtod(const char *s00, char **se) diff --git a/contrib/tools/python3/src/Python/dynload_shlib.c b/contrib/tools/python3/src/Python/dynload_shlib.c index 3c5fd83df58..6761bba4579 100644 --- a/contrib/tools/python3/src/Python/dynload_shlib.c +++ b/contrib/tools/python3/src/Python/dynload_shlib.c @@ -75,7 +75,7 @@ _PyImport_FindSharedFuncptr(const char *prefix, return NULL; } - dlopenflags = _PyInterpreterState_GET()->dlopenflags; + dlopenflags = _PyImport_GetDLOpenFlags(_PyInterpreterState_GET()); handle = dlopen(pathname, dlopenflags); diff --git a/contrib/tools/python3/src/Python/dynload_win.c b/contrib/tools/python3/src/Python/dynload_win.c index 3e6d03eb73f..acab05e2c6d 100644 --- a/contrib/tools/python3/src/Python/dynload_win.c +++ b/contrib/tools/python3/src/Python/dynload_win.c @@ -171,7 +171,6 @@ static char *GetPythonImport (HINSTANCE hModule) Return whether the DLL was found. */ extern HMODULE PyWin_DLLhModule; -#endif static int _Py_CheckPython3(void) { @@ -184,7 +183,6 @@ _Py_CheckPython3(void) } python3_checked = 1; -#ifdef Py_ENABLE_SHARED /* If there is a python3.dll next to the python3y.dll, use that DLL */ if (PyWin_DLLhModule && GetModuleFileNameW(PyWin_DLLhModule, py3path, MAXPATHLEN)) { @@ -197,7 +195,6 @@ _Py_CheckPython3(void) } } } -#endif /* If we can locate python3.dll in our application dir, use that DLL */ @@ -220,6 +217,7 @@ _Py_CheckPython3(void) return hPython3 != NULL; #undef MAXPATHLEN } +#endif /* Py_ENABLE_SHARED */ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix, const char *shortname, @@ -228,13 +226,11 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix, dl_funcptr p; char funcname[258], *import_python; +#ifdef Py_ENABLE_SHARED _Py_CheckPython3(); +#endif /* Py_ENABLE_SHARED */ -#if USE_UNICODE_WCHAR_CACHE - const wchar_t *wpathname = _PyUnicode_AsUnicode(pathname); -#else /* USE_UNICODE_WCHAR_CACHE */ wchar_t *wpathname = PyUnicode_AsWideCharString(pathname, NULL); -#endif /* USE_UNICODE_WCHAR_CACHE */ if (wpathname == NULL) return NULL; @@ -242,10 +238,12 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix, { HINSTANCE hDLL = NULL; +#ifdef MS_WINDOWS_DESKTOP unsigned int old_mode; /* Don't display a message box when Python can't load a DLL */ old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); +#endif /* bpo-36085: We use LoadLibraryEx with restricted search paths to avoid DLL preloading attacks and enable use of the @@ -256,12 +254,12 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR); Py_END_ALLOW_THREADS -#if !USE_UNICODE_WCHAR_CACHE PyMem_Free(wpathname); -#endif /* USE_UNICODE_WCHAR_CACHE */ +#ifdef MS_WINDOWS_DESKTOP /* restore old error mode settings */ SetErrorMode(old_mode); +#endif if (hDLL==NULL){ PyObject *message; diff --git a/contrib/tools/python3/src/Python/errors.c b/contrib/tools/python3/src/Python/errors.c index 2dd5a87920a..68e740425b6 100644 --- a/contrib/tools/python3/src/Python/errors.c +++ b/contrib/tools/python3/src/Python/errors.c @@ -6,7 +6,7 @@ #include "pycore_initconfig.h" // _PyStatus_ERR() #include "pycore_pyerrors.h" // _PyErr_Format() #include "pycore_pystate.h" // _PyThreadState_GET() -#include "pycore_structseq.h" // _PyStructSequence_FiniType() +#include "pycore_structseq.h" // _PyStructSequence_FiniBuiltin() #include "pycore_sysmodule.h" // _PySys_Audit() #include "pycore_traceback.h" // _PyTraceBack_FromFrame() @@ -27,33 +27,84 @@ static PyObject * _PyErr_FormatV(PyThreadState *tstate, PyObject *exception, const char *format, va_list vargs); - void -_PyErr_Restore(PyThreadState *tstate, PyObject *type, PyObject *value, - PyObject *traceback) +_PyErr_SetRaisedException(PyThreadState *tstate, PyObject *exc) { - PyObject *oldtype, *oldvalue, *oldtraceback; + PyObject *old_exc = tstate->current_exception; + tstate->current_exception = exc; + Py_XDECREF(old_exc); +} - if (traceback != NULL && !PyTraceBack_Check(traceback)) { - /* XXX Should never happen -- fatal error instead? */ - /* Well, it could be None. */ - Py_DECREF(traceback); - traceback = NULL; +static PyObject* +_PyErr_CreateException(PyObject *exception_type, PyObject *value) +{ + PyObject *exc; + + if (value == NULL || value == Py_None) { + exc = _PyObject_CallNoArgs(exception_type); + } + else if (PyTuple_Check(value)) { + exc = PyObject_Call(exception_type, value, NULL); + } + else { + exc = PyObject_CallOneArg(exception_type, value); } - /* Save these in locals to safeguard against recursive - invocation through Py_XDECREF */ - oldtype = tstate->curexc_type; - oldvalue = tstate->curexc_value; - oldtraceback = tstate->curexc_traceback; + if (exc != NULL && !PyExceptionInstance_Check(exc)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %s", + exception_type, Py_TYPE(exc)->tp_name); + Py_CLEAR(exc); + } - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = traceback; + return exc; +} - Py_XDECREF(oldtype); - Py_XDECREF(oldvalue); - Py_XDECREF(oldtraceback); +void +_PyErr_Restore(PyThreadState *tstate, PyObject *type, PyObject *value, + PyObject *traceback) +{ + if (type == NULL) { + assert(value == NULL); + assert(traceback == NULL); + _PyErr_SetRaisedException(tstate, NULL); + return; + } + assert(PyExceptionClass_Check(type)); + if (value != NULL && type == (PyObject *)Py_TYPE(value)) { + /* Already normalized */ + assert(((PyBaseExceptionObject *)value)->traceback != Py_None); + } + else { + PyObject *exc = _PyErr_CreateException(type, value); + Py_XDECREF(value); + if (exc == NULL) { + Py_DECREF(type); + Py_XDECREF(traceback); + return; + } + value = exc; + } + assert(PyExceptionInstance_Check(value)); + if (traceback != NULL && !PyTraceBack_Check(traceback)) { + if (traceback == Py_None) { + Py_DECREF(Py_None); + traceback = NULL; + } + else { + PyErr_SetString(PyExc_TypeError, "traceback must be a Traceback or None"); + Py_XDECREF(value); + Py_DECREF(type); + Py_XDECREF(traceback); + return; + } + } + PyObject *old_traceback = ((PyBaseExceptionObject *)value)->traceback; + ((PyBaseExceptionObject *)value)->traceback = traceback; + Py_XDECREF(old_traceback); + _PyErr_SetRaisedException(tstate, value); + Py_DECREF(type); } void @@ -63,6 +114,12 @@ PyErr_Restore(PyObject *type, PyObject *value, PyObject *traceback) _PyErr_Restore(tstate, type, value, traceback); } +void +PyErr_SetRaisedException(PyObject *exc) +{ + PyThreadState *tstate = _PyThreadState_GET(); + _PyErr_SetRaisedException(tstate, exc); +} _PyErr_StackItem * _PyErr_GetTopmostException(PyThreadState *tstate) @@ -78,30 +135,26 @@ _PyErr_GetTopmostException(PyThreadState *tstate) return exc_info; } -static PyObject* -_PyErr_CreateException(PyObject *exception_type, PyObject *value) +static PyObject * +get_normalization_failure_note(PyThreadState *tstate, PyObject *exception, PyObject *value) { - PyObject *exc; - - if (value == NULL || value == Py_None) { - exc = _PyObject_CallNoArgs(exception_type); + PyObject *args = PyObject_Repr(value); + if (args == NULL) { + _PyErr_Clear(tstate); + args = PyUnicode_FromFormat(""); } - else if (PyTuple_Check(value)) { - exc = PyObject_Call(exception_type, value, NULL); + PyObject *note; + const char *tpname = ((PyTypeObject*)exception)->tp_name; + if (args == NULL) { + _PyErr_Clear(tstate); + note = PyUnicode_FromFormat("Normalization failed: type=%s", tpname); } else { - exc = PyObject_CallOneArg(exception_type, value); - } - - if (exc != NULL && !PyExceptionInstance_Check(exc)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %s", - exception_type, Py_TYPE(exc)->tp_name); - Py_CLEAR(exc); + note = PyUnicode_FromFormat("Normalization failed: type=%s args=%S", + tpname, args); + Py_DECREF(args); } - - return exc; + return note; } void @@ -118,30 +171,44 @@ _PyErr_SetObject(PyThreadState *tstate, PyObject *exception, PyObject *value) exception); return; } - + /* Normalize the exception */ + int is_subclass = 0; + if (value != NULL && PyExceptionInstance_Check(value)) { + is_subclass = PyObject_IsSubclass((PyObject *)Py_TYPE(value), exception); + if (is_subclass < 0) { + return; + } + } Py_XINCREF(value); - exc_value = _PyErr_GetTopmostException(tstate)->exc_value; - if (exc_value != NULL && exc_value != Py_None) { - /* Implicit exception chaining */ - Py_INCREF(exc_value); - if (value == NULL || !PyExceptionInstance_Check(value)) { - /* We must normalize the value right now */ - PyObject *fixed_value; + if (!is_subclass) { + /* We must normalize the value right now */ - /* Issue #23571: functions must not be called with an - exception set */ - _PyErr_Clear(tstate); + /* Issue #23571: functions must not be called with an + exception set */ + _PyErr_Clear(tstate); + + PyObject *fixed_value = _PyErr_CreateException(exception, value); + if (fixed_value == NULL) { + PyObject *exc = _PyErr_GetRaisedException(tstate); + assert(PyExceptionInstance_Check(exc)); - fixed_value = _PyErr_CreateException(exception, value); + PyObject *note = get_normalization_failure_note(tstate, exception, value); Py_XDECREF(value); - if (fixed_value == NULL) { - Py_DECREF(exc_value); - return; + if (note != NULL) { + /* ignore errors in _PyException_AddNote - they will be overwritten below */ + _PyException_AddNote(exc, note); + Py_DECREF(note); } - - value = fixed_value; + _PyErr_SetRaisedException(tstate, exc); + return; } + Py_XSETREF(value, fixed_value); + } + exc_value = _PyErr_GetTopmostException(tstate)->exc_value; + if (exc_value != NULL && exc_value != Py_None) { + /* Implicit exception chaining */ + Py_INCREF(exc_value); /* Avoid creating new reference cycles through the context chain, while taking care not to hang on pre-existing ones. @@ -176,10 +243,10 @@ _PyErr_SetObject(PyThreadState *tstate, PyObject *exception, PyObject *value) Py_DECREF(exc_value); } } - if (value != NULL && PyExceptionInstance_Check(value)) + assert(value != NULL); + if (PyExceptionInstance_Check(value)) tb = PyException_GetTraceback(value); - Py_XINCREF(exception); - _PyErr_Restore(tstate, exception, value, tb); + _PyErr_Restore(tstate, Py_NewRef(Py_TYPE(value)), value, tb); } void @@ -328,8 +395,7 @@ _PyErr_NormalizeException(PyThreadState *tstate, PyObject **exc, set to NULL. */ if (!value) { - value = Py_None; - Py_INCREF(value); + value = Py_NewRef(Py_None); } /* Normalize the exception so that if the type is a class, the @@ -357,16 +423,13 @@ _PyErr_NormalizeException(PyThreadState *tstate, PyObject **exc, if (fixed_value == NULL) { goto error; } - Py_DECREF(value); - value = fixed_value; + Py_SETREF(value, fixed_value); } /* If the class of the instance doesn't exactly match the class of the type, believe the instance. */ else if (inclass != type) { - Py_INCREF(inclass); - Py_DECREF(type); - type = inclass; + Py_SETREF(type, Py_NewRef(inclass)); } } *exc = type; @@ -422,17 +485,34 @@ PyErr_NormalizeException(PyObject **exc, PyObject **val, PyObject **tb) } +PyObject * +_PyErr_GetRaisedException(PyThreadState *tstate) { + PyObject *exc = tstate->current_exception; + tstate->current_exception = NULL; + return exc; +} + +PyObject * +PyErr_GetRaisedException(void) +{ + PyThreadState *tstate = _PyThreadState_GET(); + return _PyErr_GetRaisedException(tstate); +} + void _PyErr_Fetch(PyThreadState *tstate, PyObject **p_type, PyObject **p_value, PyObject **p_traceback) { - *p_type = tstate->curexc_type; - *p_value = tstate->curexc_value; - *p_traceback = tstate->curexc_traceback; - - tstate->curexc_type = NULL; - tstate->curexc_value = NULL; - tstate->curexc_traceback = NULL; + PyObject *exc = _PyErr_GetRaisedException(tstate); + *p_value = exc; + if (exc == NULL) { + *p_type = NULL; + *p_traceback = NULL; + } + else { + *p_type = Py_NewRef(Py_TYPE(exc)); + *p_traceback = Py_XNewRef(((PyBaseExceptionObject *)exc)->traceback); + } } @@ -492,13 +572,9 @@ _PyErr_GetExcInfo(PyThreadState *tstate, { _PyErr_StackItem *exc_info = _PyErr_GetTopmostException(tstate); - *p_type = get_exc_type(exc_info->exc_value); - *p_value = exc_info->exc_value; - *p_traceback = get_exc_traceback(exc_info->exc_value); - - Py_XINCREF(*p_type); - Py_XINCREF(*p_value); - Py_XINCREF(*p_traceback); + *p_type = Py_XNewRef(get_exc_type(exc_info->exc_value)); + *p_value = Py_XNewRef(exc_info->exc_value); + *p_traceback = Py_XNewRef(get_exc_traceback(exc_info->exc_value)); } PyObject* @@ -592,23 +668,43 @@ _PyErr_ChainExceptions(PyObject *typ, PyObject *val, PyObject *tb) } if (_PyErr_Occurred(tstate)) { - PyObject *typ2, *val2, *tb2; - _PyErr_Fetch(tstate, &typ2, &val2, &tb2); _PyErr_NormalizeException(tstate, &typ, &val, &tb); if (tb != NULL) { PyException_SetTraceback(val, tb); Py_DECREF(tb); } Py_DECREF(typ); - _PyErr_NormalizeException(tstate, &typ2, &val2, &tb2); - PyException_SetContext(val2, val); - _PyErr_Restore(tstate, typ2, val2, tb2); + PyObject *exc2 = _PyErr_GetRaisedException(tstate); + PyException_SetContext(exc2, val); + _PyErr_SetRaisedException(tstate, exc2); } else { _PyErr_Restore(tstate, typ, val, tb); } } +/* Like PyErr_SetRaisedException(), but if an exception is already set, + set the context associated with it. + + The caller is responsible for ensuring that this call won't create + any cycles in the exception context chain. */ +void +_PyErr_ChainExceptions1(PyObject *exc) +{ + if (exc == NULL) { + return; + } + PyThreadState *tstate = _PyThreadState_GET(); + if (_PyErr_Occurred(tstate)) { + PyObject *exc2 = _PyErr_GetRaisedException(tstate); + PyException_SetContext(exc2, exc); + _PyErr_SetRaisedException(tstate, exc2); + } + else { + _PyErr_SetRaisedException(tstate, exc); + } +} + /* Set the currently set exception's context to the given exception. If the provided exc_info is NULL, then the current Python thread state's @@ -661,27 +757,15 @@ static PyObject * _PyErr_FormatVFromCause(PyThreadState *tstate, PyObject *exception, const char *format, va_list vargs) { - PyObject *exc, *val, *val2, *tb; - assert(_PyErr_Occurred(tstate)); - _PyErr_Fetch(tstate, &exc, &val, &tb); - _PyErr_NormalizeException(tstate, &exc, &val, &tb); - if (tb != NULL) { - PyException_SetTraceback(val, tb); - Py_DECREF(tb); - } - Py_DECREF(exc); + PyObject *exc = _PyErr_GetRaisedException(tstate); assert(!_PyErr_Occurred(tstate)); - _PyErr_FormatV(tstate, exception, format, vargs); - - _PyErr_Fetch(tstate, &exc, &val2, &tb); - _PyErr_NormalizeException(tstate, &exc, &val2, &tb); - Py_INCREF(val); - PyException_SetCause(val2, val); - PyException_SetContext(val2, val); - _PyErr_Restore(tstate, exc, val2, tb); - + PyObject *exc2 = _PyErr_GetRaisedException(tstate); + PyException_SetCause(exc2, Py_NewRef(exc)); + PyException_SetContext(exc2, Py_NewRef(exc)); + Py_DECREF(exc); + _PyErr_SetRaisedException(tstate, exc2); return NULL; } @@ -690,11 +774,7 @@ _PyErr_FormatFromCauseTstate(PyThreadState *tstate, PyObject *exception, const char *format, ...) { va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif _PyErr_FormatVFromCause(tstate, exception, format, vargs); va_end(vargs); return NULL; @@ -705,11 +785,7 @@ _PyErr_FormatFromCause(PyObject *exception, const char *format, ...) { PyThreadState *tstate = _PyThreadState_GET(); va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif _PyErr_FormatVFromCause(tstate, exception, format, vargs); va_end(vargs); return NULL; @@ -726,19 +802,6 @@ PyErr_BadArgument(void) return 0; } -PyObject * -_PyErr_NoMemory(PyThreadState *tstate) -{ - if (Py_IS_TYPE(PyExc_MemoryError, NULL)) { - /* PyErr_NoMemory() has been called before PyExc_MemoryError has been - initialized by _PyExc_Init() */ - Py_FatalError("Out of memory and PyExc_MemoryError is not " - "initialized yet"); - } - _PyErr_SetNone(tstate, PyExc_MemoryError); - return NULL; -} - PyObject * PyErr_NoMemory(void) { @@ -1011,9 +1074,10 @@ PyObject *PyErr_SetFromWindowsErrWithFilename( #endif /* MS_WINDOWS */ -PyObject * -PyErr_SetImportErrorSubclass(PyObject *exception, PyObject *msg, - PyObject *name, PyObject *path) +static PyObject * +_PyErr_SetImportErrorSubclassWithNameFrom( + PyObject *exception, PyObject *msg, + PyObject *name, PyObject *path, PyObject* from_name) { PyThreadState *tstate = _PyThreadState_GET(); int issubclass; @@ -1041,6 +1105,10 @@ PyErr_SetImportErrorSubclass(PyObject *exception, PyObject *msg, if (path == NULL) { path = Py_None; } + if (from_name == NULL) { + from_name = Py_None; + } + kwargs = PyDict_New(); if (kwargs == NULL) { @@ -1052,6 +1120,9 @@ PyErr_SetImportErrorSubclass(PyObject *exception, PyObject *msg, if (PyDict_SetItemString(kwargs, "path", path) < 0) { goto done; } + if (PyDict_SetItemString(kwargs, "name_from", from_name) < 0) { + goto done; + } error = PyObject_VectorcallDict(exception, &msg, 1, kwargs); if (error != NULL) { @@ -1064,6 +1135,20 @@ done: return NULL; } + +PyObject * +PyErr_SetImportErrorSubclass(PyObject *exception, PyObject *msg, + PyObject *name, PyObject *path) +{ + return _PyErr_SetImportErrorSubclassWithNameFrom(exception, msg, name, path, NULL); +} + +PyObject * +_PyErr_SetImportErrorWithNameFrom(PyObject *msg, PyObject *name, PyObject *path, PyObject* from_name) +{ + return _PyErr_SetImportErrorSubclassWithNameFrom(PyExc_ImportError, msg, name, path, from_name); +} + PyObject * PyErr_SetImportError(PyObject *msg, PyObject *name, PyObject *path) { @@ -1125,11 +1210,7 @@ _PyErr_Format(PyThreadState *tstate, PyObject *exception, const char *format, ...) { va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif _PyErr_FormatV(tstate, exception, format, vargs); va_end(vargs); return NULL; @@ -1141,17 +1222,40 @@ PyErr_Format(PyObject *exception, const char *format, ...) { PyThreadState *tstate = _PyThreadState_GET(); va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif _PyErr_FormatV(tstate, exception, format, vargs); va_end(vargs); return NULL; } +/* Adds a note to the current exception (if any) */ +void +_PyErr_FormatNote(const char *format, ...) +{ + PyObject *exc = PyErr_GetRaisedException(); + if (exc == NULL) { + return; + } + va_list vargs; + va_start(vargs, format); + PyObject *note = PyUnicode_FromFormatV(format, vargs); + va_end(vargs); + if (note == NULL) { + goto error; + } + int res = _PyException_AddNote(exc, note); + Py_DECREF(note); + if (res < 0) { + goto error; + } + PyErr_SetRaisedException(exc); + return; +error: + _PyErr_ChainExceptions1(exc); +} + + PyObject * PyErr_NewException(const char *name, PyObject *base, PyObject *dict) { @@ -1194,9 +1298,7 @@ PyErr_NewException(const char *name, PyObject *base, PyObject *dict) goto failure; } if (PyTuple_Check(base)) { - bases = base; - /* INCREF as we create a new ref in the else branch */ - Py_INCREF(bases); + bases = Py_NewRef(base); } else { bases = PyTuple_Pack(1, base); if (bases == NULL) @@ -1274,15 +1376,10 @@ static PyStructSequence_Desc UnraisableHookArgs_desc = { PyStatus _PyErr_InitTypes(PyInterpreterState *interp) { - if (!_Py_IsMainInterpreter(interp)) { - return _PyStatus_OK(); - } - - if (UnraisableHookArgsType.tp_name == NULL) { - if (PyStructSequence_InitType2(&UnraisableHookArgsType, - &UnraisableHookArgs_desc) < 0) { - return _PyStatus_ERR("failed to initialize UnraisableHookArgs type"); - } + if (_PyStructSequence_InitBuiltin(interp, &UnraisableHookArgsType, + &UnraisableHookArgs_desc) < 0) + { + return _PyStatus_ERR("failed to initialize UnraisableHookArgs type"); } return _PyStatus_OK(); } @@ -1291,11 +1388,7 @@ _PyErr_InitTypes(PyInterpreterState *interp) void _PyErr_FiniTypes(PyInterpreterState *interp) { - if (!_Py_IsMainInterpreter(interp)) { - return; - } - - _PyStructSequence_FiniType(&UnraisableHookArgsType); + _PyStructSequence_FiniBuiltin(interp, &UnraisableHookArgsType); } @@ -1315,8 +1408,7 @@ make_unraisable_hook_args(PyThreadState *tstate, PyObject *exc_type, if (exc_type == NULL) { \ exc_type = Py_None; \ } \ - Py_INCREF(exc_type); \ - PyStructSequence_SET_ITEM(args, pos++, exc_type); \ + PyStructSequence_SET_ITEM(args, pos++, Py_NewRef(exc_type)); \ } while (0) @@ -1644,19 +1736,18 @@ static void PyErr_SyntaxLocationObjectEx(PyObject *filename, int lineno, int col_offset, int end_lineno, int end_col_offset) { - PyObject *exc, *v, *tb, *tmp; PyThreadState *tstate = _PyThreadState_GET(); /* add attributes for the line number and filename for the error */ - _PyErr_Fetch(tstate, &exc, &v, &tb); - _PyErr_NormalizeException(tstate, &exc, &v, &tb); + PyObject *exc = _PyErr_GetRaisedException(tstate); /* XXX check that it is, indeed, a syntax error. It might not * be, though. */ - tmp = PyLong_FromLong(lineno); - if (tmp == NULL) + PyObject *tmp = PyLong_FromLong(lineno); + if (tmp == NULL) { _PyErr_Clear(tstate); + } else { - if (PyObject_SetAttr(v, &_Py_ID(lineno), tmp)) { + if (PyObject_SetAttr(exc, &_Py_ID(lineno), tmp)) { _PyErr_Clear(tstate); } Py_DECREF(tmp); @@ -1668,7 +1759,7 @@ PyErr_SyntaxLocationObjectEx(PyObject *filename, int lineno, int col_offset, _PyErr_Clear(tstate); } } - if (PyObject_SetAttr(v, &_Py_ID(offset), tmp ? tmp : Py_None)) { + if (PyObject_SetAttr(exc, &_Py_ID(offset), tmp ? tmp : Py_None)) { _PyErr_Clear(tstate); } Py_XDECREF(tmp); @@ -1680,7 +1771,7 @@ PyErr_SyntaxLocationObjectEx(PyObject *filename, int lineno, int col_offset, _PyErr_Clear(tstate); } } - if (PyObject_SetAttr(v, &_Py_ID(end_lineno), tmp ? tmp : Py_None)) { + if (PyObject_SetAttr(exc, &_Py_ID(end_lineno), tmp ? tmp : Py_None)) { _PyErr_Clear(tstate); } Py_XDECREF(tmp); @@ -1692,20 +1783,20 @@ PyErr_SyntaxLocationObjectEx(PyObject *filename, int lineno, int col_offset, _PyErr_Clear(tstate); } } - if (PyObject_SetAttr(v, &_Py_ID(end_offset), tmp ? tmp : Py_None)) { + if (PyObject_SetAttr(exc, &_Py_ID(end_offset), tmp ? tmp : Py_None)) { _PyErr_Clear(tstate); } Py_XDECREF(tmp); tmp = NULL; if (filename != NULL) { - if (PyObject_SetAttr(v, &_Py_ID(filename), filename)) { + if (PyObject_SetAttr(exc, &_Py_ID(filename), filename)) { _PyErr_Clear(tstate); } tmp = PyErr_ProgramTextObject(filename, lineno); if (tmp) { - if (PyObject_SetAttr(v, &_Py_ID(text), tmp)) { + if (PyObject_SetAttr(exc, &_Py_ID(text), tmp)) { _PyErr_Clear(tstate); } Py_DECREF(tmp); @@ -1714,17 +1805,17 @@ PyErr_SyntaxLocationObjectEx(PyObject *filename, int lineno, int col_offset, _PyErr_Clear(tstate); } } - if (exc != PyExc_SyntaxError) { - if (_PyObject_LookupAttr(v, &_Py_ID(msg), &tmp) < 0) { + if ((PyObject *)Py_TYPE(exc) != PyExc_SyntaxError) { + if (_PyObject_LookupAttr(exc, &_Py_ID(msg), &tmp) < 0) { _PyErr_Clear(tstate); } else if (tmp) { Py_DECREF(tmp); } else { - tmp = PyObject_Str(v); + tmp = PyObject_Str(exc); if (tmp) { - if (PyObject_SetAttr(v, &_Py_ID(msg), tmp)) { + if (PyObject_SetAttr(exc, &_Py_ID(msg), tmp)) { _PyErr_Clear(tstate); } Py_DECREF(tmp); @@ -1734,19 +1825,19 @@ PyErr_SyntaxLocationObjectEx(PyObject *filename, int lineno, int col_offset, } } - if (_PyObject_LookupAttr(v, &_Py_ID(print_file_and_line), &tmp) < 0) { + if (_PyObject_LookupAttr(exc, &_Py_ID(print_file_and_line), &tmp) < 0) { _PyErr_Clear(tstate); } else if (tmp) { Py_DECREF(tmp); } else { - if (PyObject_SetAttr(v, &_Py_ID(print_file_and_line), Py_None)) { + if (PyObject_SetAttr(exc, &_Py_ID(print_file_and_line), Py_None)) { _PyErr_Clear(tstate); } } } - _PyErr_Restore(tstate, exc, v, tb); + _PyErr_SetRaisedException(tstate, exc); } void diff --git a/contrib/tools/python3/src/Python/fileutils.c b/contrib/tools/python3/src/Python/fileutils.c index 79ce20bd72e..45de2b891d9 100644 --- a/contrib/tools/python3/src/Python/fileutils.c +++ b/contrib/tools/python3/src/Python/fileutils.c @@ -8,7 +8,13 @@ #ifdef MS_WINDOWS # include # include -# include // PathCchCombineEx +# include // FILE_DEVICE_* constants +# include "pycore_fileutils_windows.h" // FILE_STAT_BASIC_INFORMATION +# if defined(MS_WINDOWS_GAMES) && !defined(MS_WINDOWS_DESKTOP) +# define PATHCCH_ALLOW_LONG_PATHS 0x01 +# else +# include // PathCchCombineEx +# endif extern int winerror_to_errno(int); #endif @@ -77,7 +83,8 @@ _Py_device_encoding(int fd) if (!valid) Py_RETURN_NONE; -#if defined(MS_WINDOWS) +#ifdef MS_WINDOWS +#ifdef HAVE_WINDOWS_CONSOLE_IO UINT cp; if (fd == 0) cp = GetConsoleCP(); @@ -92,6 +99,9 @@ _Py_device_encoding(int fd) } return PyUnicode_FromFormat("cp%u", (unsigned int)cp); +#else + Py_RETURN_NONE; +#endif /* HAVE_WINDOWS_CONSOLE_IO */ #else if (_PyRuntime.preconfig.utf8_mode) { _Py_DECLARE_STR(utf_8, "utf-8"); @@ -191,7 +201,7 @@ extern int _Py_normalize_encoding(const char *, char *, size_t); Py_DecodeLocale() uses mbstowcs() -1: unknown, need to call check_force_ascii() to get the value */ -static int force_ascii = -1; +#define force_ascii (_PyRuntime.fileutils.force_ascii) static int check_force_ascii(void) @@ -603,9 +613,9 @@ _Py_DecodeLocaleEx(const char* arg, wchar_t **wstr, size_t *wlen, return _Py_DecodeUTF8Ex(arg, strlen(arg), wstr, wlen, reason, errors); #else - int use_utf8 = (Py_UTF8Mode == 1); + int use_utf8 = (_PyRuntime.preconfig.utf8_mode >= 1); #ifdef MS_WINDOWS - use_utf8 |= !Py_LegacyWindowsFSEncodingFlag; + use_utf8 |= (_PyRuntime.preconfig.legacy_windows_fs_encoding == 0); #endif if (use_utf8) { return _Py_DecodeUTF8Ex(arg, strlen(arg), wstr, wlen, reason, @@ -795,9 +805,9 @@ encode_locale_ex(const wchar_t *text, char **str, size_t *error_pos, return _Py_EncodeUTF8Ex(text, str, error_pos, reason, raw_malloc, errors); #else - int use_utf8 = (Py_UTF8Mode == 1); + int use_utf8 = (_PyRuntime.preconfig.utf8_mode >= 1); #ifdef MS_WINDOWS - use_utf8 |= !Py_LegacyWindowsFSEncodingFlag; + use_utf8 |= (_PyRuntime.preconfig.legacy_windows_fs_encoding == 0); #endif if (use_utf8) { return _Py_EncodeUTF8Ex(text, str, error_pos, reason, @@ -1048,6 +1058,13 @@ FILE_TIME_to_time_t_nsec(FILETIME *in_ptr, time_t *time_out, int* nsec_out) *time_out = Py_SAFE_DOWNCAST((in / 10000000) - secs_between_epochs, __int64, time_t); } +static void +LARGE_INTEGER_to_time_t_nsec(LARGE_INTEGER *in_ptr, time_t *time_out, int* nsec_out) +{ + *nsec_out = (int)(in_ptr->QuadPart % 10000000) * 100; /* FILETIME is in units of 100 nsec. */ + *time_out = Py_SAFE_DOWNCAST((in_ptr->QuadPart / 10000000) - secs_between_epochs, __int64, time_t); +} + void _Py_time_t_to_FILE_TIME(time_t time_in, int nsec_in, FILETIME *out_ptr) { @@ -1077,33 +1094,127 @@ attributes_to_mode(DWORD attr) return m; } + +typedef union { + FILE_ID_128 id; + struct { + uint64_t st_ino; + uint64_t st_ino_high; + }; +} id_128_to_ino; + + void _Py_attribute_data_to_stat(BY_HANDLE_FILE_INFORMATION *info, ULONG reparse_tag, + FILE_BASIC_INFO *basic_info, FILE_ID_INFO *id_info, struct _Py_stat_struct *result) { memset(result, 0, sizeof(*result)); result->st_mode = attributes_to_mode(info->dwFileAttributes); result->st_size = (((__int64)info->nFileSizeHigh)<<32) + info->nFileSizeLow; - result->st_dev = info->dwVolumeSerialNumber; - result->st_rdev = result->st_dev; - FILE_TIME_to_time_t_nsec(&info->ftCreationTime, &result->st_ctime, &result->st_ctime_nsec); - FILE_TIME_to_time_t_nsec(&info->ftLastWriteTime, &result->st_mtime, &result->st_mtime_nsec); - FILE_TIME_to_time_t_nsec(&info->ftLastAccessTime, &result->st_atime, &result->st_atime_nsec); + result->st_dev = id_info ? id_info->VolumeSerialNumber : info->dwVolumeSerialNumber; + result->st_rdev = 0; + /* st_ctime is deprecated, but we preserve the legacy value in our caller, not here */ + if (basic_info) { + LARGE_INTEGER_to_time_t_nsec(&basic_info->CreationTime, &result->st_birthtime, &result->st_birthtime_nsec); + LARGE_INTEGER_to_time_t_nsec(&basic_info->ChangeTime, &result->st_ctime, &result->st_ctime_nsec); + LARGE_INTEGER_to_time_t_nsec(&basic_info->LastWriteTime, &result->st_mtime, &result->st_mtime_nsec); + LARGE_INTEGER_to_time_t_nsec(&basic_info->LastAccessTime, &result->st_atime, &result->st_atime_nsec); + } else { + FILE_TIME_to_time_t_nsec(&info->ftCreationTime, &result->st_birthtime, &result->st_birthtime_nsec); + FILE_TIME_to_time_t_nsec(&info->ftLastWriteTime, &result->st_mtime, &result->st_mtime_nsec); + FILE_TIME_to_time_t_nsec(&info->ftLastAccessTime, &result->st_atime, &result->st_atime_nsec); + } result->st_nlink = info->nNumberOfLinks; - result->st_ino = (((uint64_t)info->nFileIndexHigh) << 32) + info->nFileIndexLow; + + if (id_info) { + id_128_to_ino file_id; + file_id.id = id_info->FileId; + result->st_ino = file_id.st_ino; + result->st_ino_high = file_id.st_ino_high; + } + if (!result->st_ino && !result->st_ino_high) { + /* should only occur for DirEntry_from_find_data, in which case the + index is likely to be zero anyway. */ + result->st_ino = (((uint64_t)info->nFileIndexHigh) << 32) + info->nFileIndexLow; + } + /* bpo-37834: Only actual symlinks set the S_IFLNK flag. But lstat() will open other name surrogate reparse points without traversing them. To detect/handle these, check st_file_attributes and st_reparse_tag. */ result->st_reparse_tag = reparse_tag; if (info->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT && reparse_tag == IO_REPARSE_TAG_SYMLINK) { - /* first clear the S_IFMT bits */ - result->st_mode ^= (result->st_mode & S_IFMT); - /* now set the bits that make this a symlink */ - result->st_mode |= S_IFLNK; + /* set the bits that make this a symlink */ + result->st_mode = (result->st_mode & ~S_IFMT) | S_IFLNK; } result->st_file_attributes = info->dwFileAttributes; } + +void +_Py_stat_basic_info_to_stat(FILE_STAT_BASIC_INFORMATION *info, + struct _Py_stat_struct *result) +{ + memset(result, 0, sizeof(*result)); + result->st_mode = attributes_to_mode(info->FileAttributes); + result->st_size = info->EndOfFile.QuadPart; + LARGE_INTEGER_to_time_t_nsec(&info->CreationTime, &result->st_birthtime, &result->st_birthtime_nsec); + LARGE_INTEGER_to_time_t_nsec(&info->ChangeTime, &result->st_ctime, &result->st_ctime_nsec); + LARGE_INTEGER_to_time_t_nsec(&info->LastWriteTime, &result->st_mtime, &result->st_mtime_nsec); + LARGE_INTEGER_to_time_t_nsec(&info->LastAccessTime, &result->st_atime, &result->st_atime_nsec); + result->st_nlink = info->NumberOfLinks; + result->st_dev = info->VolumeSerialNumber.QuadPart; + /* File systems with less than 128-bits zero pad into this field */ + id_128_to_ino file_id; + file_id.id = info->FileId128; + result->st_ino = file_id.st_ino; + result->st_ino_high = file_id.st_ino_high; + /* bpo-37834: Only actual symlinks set the S_IFLNK flag. But lstat() will + open other name surrogate reparse points without traversing them. To + detect/handle these, check st_file_attributes and st_reparse_tag. */ + result->st_reparse_tag = info->ReparseTag; + if (info->FileAttributes & FILE_ATTRIBUTE_REPARSE_POINT && + info->ReparseTag == IO_REPARSE_TAG_SYMLINK) { + /* set the bits that make this a symlink */ + result->st_mode = (result->st_mode & ~S_IFMT) | S_IFLNK; + } + result->st_file_attributes = info->FileAttributes; + switch (info->DeviceType) { + case FILE_DEVICE_DISK: + case FILE_DEVICE_VIRTUAL_DISK: + case FILE_DEVICE_DFS: + case FILE_DEVICE_CD_ROM: + case FILE_DEVICE_CONTROLLER: + case FILE_DEVICE_DATALINK: + break; + case FILE_DEVICE_DISK_FILE_SYSTEM: + case FILE_DEVICE_CD_ROM_FILE_SYSTEM: + case FILE_DEVICE_NETWORK_FILE_SYSTEM: + result->st_mode = (result->st_mode & ~S_IFMT) | 0x6000; /* _S_IFBLK */ + break; + case FILE_DEVICE_CONSOLE: + case FILE_DEVICE_NULL: + case FILE_DEVICE_KEYBOARD: + case FILE_DEVICE_MODEM: + case FILE_DEVICE_MOUSE: + case FILE_DEVICE_PARALLEL_PORT: + case FILE_DEVICE_PRINTER: + case FILE_DEVICE_SCREEN: + case FILE_DEVICE_SERIAL_PORT: + case FILE_DEVICE_SOUND: + result->st_mode = (result->st_mode & ~S_IFMT) | _S_IFCHR; + break; + case FILE_DEVICE_NAMED_PIPE: + result->st_mode = (result->st_mode & ~S_IFMT) | _S_IFIFO; + break; + default: + if (info->FileAttributes & FILE_ATTRIBUTE_DIRECTORY) { + result->st_mode = (result->st_mode & ~S_IFMT) | _S_IFDIR; + } + break; + } +} + #endif /* Return information about a file. @@ -1123,6 +1234,9 @@ _Py_fstat_noraise(int fd, struct _Py_stat_struct *status) { #ifdef MS_WINDOWS BY_HANDLE_FILE_INFORMATION info; + FILE_BASIC_INFO basicInfo; + FILE_ID_INFO idInfo; + FILE_ID_INFO *pIdInfo = &idInfo; HANDLE h; int type; @@ -1154,16 +1268,20 @@ _Py_fstat_noraise(int fd, struct _Py_stat_struct *status) return 0; } - if (!GetFileInformationByHandle(h, &info)) { + if (!GetFileInformationByHandle(h, &info) || + !GetFileInformationByHandleEx(h, FileBasicInfo, &basicInfo, sizeof(basicInfo))) { /* The Win32 error is already set, but we also set errno for callers who expect it */ errno = winerror_to_errno(GetLastError()); return -1; } - _Py_attribute_data_to_stat(&info, 0, status); - /* specific to fstat() */ - status->st_ino = (((uint64_t)info.nFileIndexHigh) << 32) + info.nFileIndexLow; + if (!GetFileInformationByHandleEx(h, FileIdInfo, &idInfo, sizeof(idInfo))) { + /* Failed to get FileIdInfo, so do not pass it along */ + pIdInfo = NULL; + } + + _Py_attribute_data_to_stat(&info, 0, &basicInfo, pIdInfo, status); return 0; #else return fstat(fd, status); @@ -1244,18 +1362,12 @@ _Py_stat(PyObject *path, struct stat *statbuf) #ifdef MS_WINDOWS int err; -#if USE_UNICODE_WCHAR_CACHE - const wchar_t *wpath = _PyUnicode_AsUnicode(path); -#else /* USE_UNICODE_WCHAR_CACHE */ wchar_t *wpath = PyUnicode_AsWideCharString(path, NULL); -#endif /* USE_UNICODE_WCHAR_CACHE */ if (wpath == NULL) return -2; err = _Py_wstat(wpath, statbuf); -#if !USE_UNICODE_WCHAR_CACHE PyMem_Free(wpath); -#endif /* USE_UNICODE_WCHAR_CACHE */ return err; #else int ret; @@ -1278,6 +1390,13 @@ _Py_stat(PyObject *path, struct stat *statbuf) #endif } +#ifdef MS_WINDOWS +// For some Windows API partitions, SetHandleInformation() is declared +// but none of the handle flags are defined. +#ifndef HANDLE_FLAG_INHERIT +#define HANDLE_FLAG_INHERIT 0x00000001 +#endif +#endif /* This function MUST be kept async-signal-safe on POSIX when raise=0. */ static int @@ -1370,17 +1489,11 @@ set_inheritable(int fd, int inheritable, int raise, int *atomic_flag_works) else flags = 0; - /* This check can be removed once support for Windows 7 ends. */ -#define CONSOLE_PSEUDOHANDLE(handle) (((ULONG_PTR)(handle) & 0x3) == 0x3 && \ - GetFileType(handle) == FILE_TYPE_CHAR) - - if (!CONSOLE_PSEUDOHANDLE(handle) && - !SetHandleInformation(handle, HANDLE_FLAG_INHERIT, flags)) { + if (!SetHandleInformation(handle, HANDLE_FLAG_INHERIT, flags)) { if (raise) PyErr_SetFromWindowsErr(0); return -1; } -#undef CONSOLE_PSEUDOHANDLE return 0; #else @@ -1663,11 +1776,8 @@ _Py_fopen_obj(PyObject *path, const char *mode) Py_TYPE(path)); return NULL; } -#if USE_UNICODE_WCHAR_CACHE - const wchar_t *wpath = _PyUnicode_AsUnicode(path); -#else /* USE_UNICODE_WCHAR_CACHE */ + wchar_t *wpath = PyUnicode_AsWideCharString(path, NULL); -#endif /* USE_UNICODE_WCHAR_CACHE */ if (wpath == NULL) return NULL; @@ -1675,9 +1785,7 @@ _Py_fopen_obj(PyObject *path, const char *mode) wmode, Py_ARRAY_LENGTH(wmode)); if (usize == 0) { PyErr_SetFromWindowsErr(0); -#if !USE_UNICODE_WCHAR_CACHE PyMem_Free(wpath); -#endif /* USE_UNICODE_WCHAR_CACHE */ return NULL; } @@ -1688,9 +1796,7 @@ _Py_fopen_obj(PyObject *path, const char *mode) } while (f == NULL && errno == EINTR && !(async_err = PyErr_CheckSignals())); int saved_errno = errno; -#if !USE_UNICODE_WCHAR_CACHE PyMem_Free(wpath); -#endif /* USE_UNICODE_WCHAR_CACHE */ #else PyObject *bytes; const char *path_bytes; @@ -1767,7 +1873,15 @@ _Py_read(int fd, void *buf, size_t count) Py_BEGIN_ALLOW_THREADS errno = 0; #ifdef MS_WINDOWS + _doserrno = 0; n = read(fd, buf, (int)count); + // read() on a non-blocking empty pipe fails with EINVAL, which is + // mapped from the Windows error code ERROR_NO_DATA. + if (n < 0 && errno == EINVAL) { + if (_doserrno == ERROR_NO_DATA) { + errno = EAGAIN; + } + } #else n = read(fd, buf, count); #endif @@ -1821,6 +1935,7 @@ _Py_write_impl(int fd, const void *buf, size_t count, int gil_held) } } } + #endif if (count > _PY_WRITE_MAX) { count = _PY_WRITE_MAX; @@ -1831,7 +1946,18 @@ _Py_write_impl(int fd, const void *buf, size_t count, int gil_held) Py_BEGIN_ALLOW_THREADS errno = 0; #ifdef MS_WINDOWS - n = write(fd, buf, (int)count); + // write() on a non-blocking pipe fails with ENOSPC on Windows if + // the pipe lacks available space for the entire buffer. + int c = (int)count; + do { + _doserrno = 0; + n = write(fd, buf, c); + if (n >= 0 || errno != ENOSPC || _doserrno != 0) { + break; + } + errno = EAGAIN; + c /= 2; + } while (c > 0); #else n = write(fd, buf, count); #endif @@ -1846,7 +1972,18 @@ _Py_write_impl(int fd, const void *buf, size_t count, int gil_held) do { errno = 0; #ifdef MS_WINDOWS - n = write(fd, buf, (int)count); + // write() on a non-blocking pipe fails with ENOSPC on Windows if + // the pipe lacks available space for the entire buffer. + int c = (int)count; + do { + _doserrno = 0; + n = write(fd, buf, c); + if (n >= 0 || errno != ENOSPC || _doserrno != 0) { + break; + } + errno = EAGAIN; + c /= 2; + } while (c > 0); #else n = write(fd, buf, count); #endif @@ -2088,6 +2225,72 @@ _Py_abspath(const wchar_t *path, wchar_t **abspath_p) #endif } +// The Windows Games API family implements the PathCch* APIs in the Xbox OS, +// but does not expose them yet. Load them dynamically until +// 1) they are officially exposed +// 2) we stop supporting older versions of the GDK which do not expose them +#if defined(MS_WINDOWS_GAMES) && !defined(MS_WINDOWS_DESKTOP) +HRESULT +PathCchSkipRoot(const wchar_t *path, const wchar_t **rootEnd) +{ + static int initialized = 0; + typedef HRESULT(__stdcall *PPathCchSkipRoot) (PCWSTR pszPath, + PCWSTR *ppszRootEnd); + static PPathCchSkipRoot _PathCchSkipRoot; + + if (initialized == 0) { + HMODULE pathapi = LoadLibraryExW(L"api-ms-win-core-path-l1-1-0.dll", NULL, + LOAD_LIBRARY_SEARCH_SYSTEM32); + if (pathapi) { + _PathCchSkipRoot = (PPathCchSkipRoot)GetProcAddress( + pathapi, "PathCchSkipRoot"); + } + else { + _PathCchSkipRoot = NULL; + } + initialized = 1; + } + + if (!_PathCchSkipRoot) { + return E_NOINTERFACE; + } + + return _PathCchSkipRoot(path, rootEnd); +} + +static HRESULT +PathCchCombineEx(wchar_t *buffer, size_t bufsize, const wchar_t *dirname, + const wchar_t *relfile, unsigned long flags) +{ + static int initialized = 0; + typedef HRESULT(__stdcall *PPathCchCombineEx) (PWSTR pszPathOut, + size_t cchPathOut, + PCWSTR pszPathIn, + PCWSTR pszMore, + unsigned long dwFlags); + static PPathCchCombineEx _PathCchCombineEx; + + if (initialized == 0) { + HMODULE pathapi = LoadLibraryExW(L"api-ms-win-core-path-l1-1-0.dll", NULL, + LOAD_LIBRARY_SEARCH_SYSTEM32); + if (pathapi) { + _PathCchCombineEx = (PPathCchCombineEx)GetProcAddress( + pathapi, "PathCchCombineEx"); + } + else { + _PathCchCombineEx = NULL; + } + initialized = 1; + } + + if (!_PathCchCombineEx) { + return E_NOINTERFACE; + } + + return _PathCchCombineEx(buffer, bufsize, dirname, relfile, flags); +} + +#endif /* defined(MS_WINDOWS_GAMES) && !defined(MS_WINDOWS_DESKTOP) */ // The caller must ensure "buffer" is big enough. static int @@ -2484,6 +2687,64 @@ error: return -1; } #else /* MS_WINDOWS */ +int +_Py_get_blocking(int fd) +{ + HANDLE handle; + DWORD mode; + BOOL success; + + handle = _Py_get_osfhandle(fd); + if (handle == INVALID_HANDLE_VALUE) { + return -1; + } + + Py_BEGIN_ALLOW_THREADS + success = GetNamedPipeHandleStateW(handle, &mode, + NULL, NULL, NULL, NULL, 0); + Py_END_ALLOW_THREADS + + if (!success) { + PyErr_SetFromWindowsErr(0); + return -1; + } + + return !(mode & PIPE_NOWAIT); +} + +int +_Py_set_blocking(int fd, int blocking) +{ + HANDLE handle; + DWORD mode; + BOOL success; + + handle = _Py_get_osfhandle(fd); + if (handle == INVALID_HANDLE_VALUE) { + return -1; + } + + Py_BEGIN_ALLOW_THREADS + success = GetNamedPipeHandleStateW(handle, &mode, + NULL, NULL, NULL, NULL, 0); + if (success) { + if (blocking) { + mode &= ~PIPE_NOWAIT; + } + else { + mode |= PIPE_NOWAIT; + } + success = SetNamedPipeHandleState(handle, &mode, NULL, NULL); + } + Py_END_ALLOW_THREADS + + if (!success) { + PyErr_SetFromWindowsErr(0); + return -1; + } + return 0; +} + void* _Py_get_osfhandle_noraise(int fd) { diff --git a/contrib/tools/python3/src/Python/flowgraph.c b/contrib/tools/python3/src/Python/flowgraph.c new file mode 100644 index 00000000000..fbbe053ae58 --- /dev/null +++ b/contrib/tools/python3/src/Python/flowgraph.c @@ -0,0 +1,2229 @@ + +#include + +#include "Python.h" +#include "pycore_flowgraph.h" +#include "pycore_compile.h" +#include "pycore_pymem.h" // _PyMem_IsPtrFreed() + +#include "pycore_opcode_utils.h" +#define NEED_OPCODE_METADATA +#include "opcode_metadata.h" // _PyOpcode_opcode_metadata, _PyOpcode_num_popped/pushed +#undef NEED_OPCODE_METADATA + + +#undef SUCCESS +#undef ERROR +#define SUCCESS 0 +#define ERROR -1 + +#define RETURN_IF_ERROR(X) \ + if ((X) == -1) { \ + return ERROR; \ + } + +#define DEFAULT_BLOCK_SIZE 16 + +typedef _PyCompilerSrcLocation location; +typedef _PyCfgJumpTargetLabel jump_target_label; +typedef _PyCfgBasicblock basicblock; +typedef _PyCfgBuilder cfg_builder; +typedef _PyCfgInstruction cfg_instr; + +static const jump_target_label NO_LABEL = {-1}; + +#define SAME_LABEL(L1, L2) ((L1).id == (L2).id) +#define IS_LABEL(L) (!SAME_LABEL((L), (NO_LABEL))) + + +static inline int +is_block_push(cfg_instr *i) +{ + return IS_BLOCK_PUSH_OPCODE(i->i_opcode); +} + +static inline int +is_jump(cfg_instr *i) +{ + return IS_JUMP_OPCODE(i->i_opcode); +} + +/* One arg*/ +#define INSTR_SET_OP1(I, OP, ARG) \ + do { \ + assert(HAS_ARG(OP)); \ + _PyCfgInstruction *_instr__ptr_ = (I); \ + _instr__ptr_->i_opcode = (OP); \ + _instr__ptr_->i_oparg = (ARG); \ + } while (0); + +/* No args*/ +#define INSTR_SET_OP0(I, OP) \ + do { \ + assert(!HAS_ARG(OP)); \ + _PyCfgInstruction *_instr__ptr_ = (I); \ + _instr__ptr_->i_opcode = (OP); \ + _instr__ptr_->i_oparg = 0; \ + } while (0); + +/***** Blocks *****/ + +/* Returns the offset of the next instruction in the current block's + b_instr array. Resizes the b_instr as necessary. + Returns -1 on failure. +*/ +static int +basicblock_next_instr(basicblock *b) +{ + assert(b != NULL); + RETURN_IF_ERROR( + _PyCompile_EnsureArrayLargeEnough( + b->b_iused + 1, + (void**)&b->b_instr, + &b->b_ialloc, + DEFAULT_BLOCK_SIZE, + sizeof(cfg_instr))); + return b->b_iused++; +} + +/* Allocate a new block and return a pointer to it. + Returns NULL on error. +*/ + +static basicblock * +cfg_builder_new_block(cfg_builder *g) +{ + basicblock *b = (basicblock *)PyObject_Calloc(1, sizeof(basicblock)); + if (b == NULL) { + PyErr_NoMemory(); + return NULL; + } + /* Extend the singly linked list of blocks with new block. */ + b->b_list = g->g_block_list; + g->g_block_list = b; + b->b_label = NO_LABEL; + return b; +} + +static int +basicblock_addop(basicblock *b, int opcode, int oparg, location loc) +{ + assert(IS_WITHIN_OPCODE_RANGE(opcode)); + assert(!IS_ASSEMBLER_OPCODE(opcode)); + assert(HAS_ARG(opcode) || HAS_TARGET(opcode) || oparg == 0); + assert(0 <= oparg && oparg < (1 << 30)); + + int off = basicblock_next_instr(b); + if (off < 0) { + return ERROR; + } + cfg_instr *i = &b->b_instr[off]; + i->i_opcode = opcode; + i->i_oparg = oparg; + i->i_target = NULL; + i->i_loc = loc; + + return SUCCESS; +} + +static inline int +basicblock_append_instructions(basicblock *target, basicblock *source) +{ + for (int i = 0; i < source->b_iused; i++) { + int n = basicblock_next_instr(target); + if (n < 0) { + return ERROR; + } + target->b_instr[n] = source->b_instr[i]; + } + return SUCCESS; +} + +static basicblock * +copy_basicblock(cfg_builder *g, basicblock *block) +{ + /* Cannot copy a block if it has a fallthrough, since + * a block can only have one fallthrough predecessor. + */ + assert(BB_NO_FALLTHROUGH(block)); + basicblock *result = cfg_builder_new_block(g); + if (result == NULL) { + return NULL; + } + if (basicblock_append_instructions(result, block) < 0) { + return NULL; + } + return result; +} + +int +_PyBasicblock_InsertInstruction(basicblock *block, int pos, cfg_instr *instr) { + RETURN_IF_ERROR(basicblock_next_instr(block)); + for (int i = block->b_iused - 1; i > pos; i--) { + block->b_instr[i] = block->b_instr[i-1]; + } + block->b_instr[pos] = *instr; + return SUCCESS; +} + +static int +instr_size(cfg_instr *instruction) +{ + return _PyCompile_InstrSize(instruction->i_opcode, instruction->i_oparg); +} + +static int +blocksize(basicblock *b) +{ + int size = 0; + for (int i = 0; i < b->b_iused; i++) { + size += instr_size(&b->b_instr[i]); + } + return size; +} + +/* For debugging purposes only */ +#if 0 +static void +dump_instr(cfg_instr *i) +{ + const char *jump = is_jump(i) ? "jump " : ""; + + char arg[128]; + + *arg = '\0'; + if (HAS_ARG(i->i_opcode)) { + sprintf(arg, "arg: %d ", i->i_oparg); + } + if (HAS_TARGET(i->i_opcode)) { + sprintf(arg, "target: %p [%d] ", i->i_target, i->i_oparg); + } + fprintf(stderr, "line: %d, opcode: %d %s%s\n", + i->i_loc.lineno, i->i_opcode, arg, jump); +} + +static inline int +basicblock_returns(const basicblock *b) { + cfg_instr *last = _PyCfg_BasicblockLastInstr(b); + return last && (last->i_opcode == RETURN_VALUE || last->i_opcode == RETURN_CONST); +} + +static void +dump_basicblock(const basicblock *b) +{ + const char *b_return = basicblock_returns(b) ? "return " : ""; + fprintf(stderr, "%d: [EH=%d CLD=%d WRM=%d NO_FT=%d %p] used: %d, depth: %d, offset: %d %s\n", + b->b_label.id, b->b_except_handler, b->b_cold, b->b_warm, BB_NO_FALLTHROUGH(b), b, b->b_iused, + b->b_startdepth, b->b_offset, b_return); + if (b->b_instr) { + int i; + for (i = 0; i < b->b_iused; i++) { + fprintf(stderr, " [%02d] ", i); + dump_instr(b->b_instr + i); + } + } +} + +void +_PyCfgBuilder_DumpGraph(const basicblock *entryblock) +{ + for (const basicblock *b = entryblock; b != NULL; b = b->b_next) { + dump_basicblock(b); + } +} + +#endif + + +/***** CFG construction and modification *****/ + +static basicblock * +cfg_builder_use_next_block(cfg_builder *g, basicblock *block) +{ + assert(block != NULL); + g->g_curblock->b_next = block; + g->g_curblock = block; + return block; +} + +cfg_instr * +_PyCfg_BasicblockLastInstr(const basicblock *b) { + assert(b->b_iused >= 0); + if (b->b_iused > 0) { + assert(b->b_instr != NULL); + return &b->b_instr[b->b_iused - 1]; + } + return NULL; +} + +static inline int +basicblock_exits_scope(const basicblock *b) { + cfg_instr *last = _PyCfg_BasicblockLastInstr(b); + return last && IS_SCOPE_EXIT_OPCODE(last->i_opcode); +} + +static bool +cfg_builder_current_block_is_terminated(cfg_builder *g) +{ + cfg_instr *last = _PyCfg_BasicblockLastInstr(g->g_curblock); + if (last && IS_TERMINATOR_OPCODE(last->i_opcode)) { + return true; + } + if (IS_LABEL(g->g_current_label)) { + if (last || IS_LABEL(g->g_curblock->b_label)) { + return true; + } + else { + /* current block is empty, label it */ + g->g_curblock->b_label = g->g_current_label; + g->g_current_label = NO_LABEL; + } + } + return false; +} + +static int +cfg_builder_maybe_start_new_block(cfg_builder *g) +{ + if (cfg_builder_current_block_is_terminated(g)) { + basicblock *b = cfg_builder_new_block(g); + if (b == NULL) { + return ERROR; + } + b->b_label = g->g_current_label; + g->g_current_label = NO_LABEL; + cfg_builder_use_next_block(g, b); + } + return SUCCESS; +} + +#ifndef NDEBUG +static bool +cfg_builder_check(cfg_builder *g) +{ + assert(g->g_entryblock->b_iused > 0); + for (basicblock *block = g->g_block_list; block != NULL; block = block->b_list) { + assert(!_PyMem_IsPtrFreed(block)); + if (block->b_instr != NULL) { + assert(block->b_ialloc > 0); + assert(block->b_iused >= 0); + assert(block->b_ialloc >= block->b_iused); + } + else { + assert (block->b_iused == 0); + assert (block->b_ialloc == 0); + } + } + return true; +} +#endif + +int +_PyCfgBuilder_Init(cfg_builder *g) +{ + g->g_block_list = NULL; + basicblock *block = cfg_builder_new_block(g); + if (block == NULL) { + return ERROR; + } + g->g_curblock = g->g_entryblock = block; + g->g_current_label = NO_LABEL; + return SUCCESS; +} + +void +_PyCfgBuilder_Fini(cfg_builder* g) +{ + assert(cfg_builder_check(g)); + basicblock *b = g->g_block_list; + while (b != NULL) { + if (b->b_instr) { + PyObject_Free((void *)b->b_instr); + } + basicblock *next = b->b_list; + PyObject_Free((void *)b); + b = next; + } +} + +int +_PyCfgBuilder_UseLabel(cfg_builder *g, jump_target_label lbl) +{ + g->g_current_label = lbl; + return cfg_builder_maybe_start_new_block(g); +} + +int +_PyCfgBuilder_Addop(cfg_builder *g, int opcode, int oparg, location loc) +{ + RETURN_IF_ERROR(cfg_builder_maybe_start_new_block(g)); + return basicblock_addop(g->g_curblock, opcode, oparg, loc); +} + + +/***** debugging helpers *****/ + +#ifndef NDEBUG +static int remove_redundant_nops(basicblock *bb); + +/* +static bool +no_redundant_nops(cfg_builder *g) { + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + if (remove_redundant_nops(b) != 0) { + return false; + } + } + return true; +} +*/ + +static bool +no_empty_basic_blocks(cfg_builder *g) { + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + if (b->b_iused == 0) { + return false; + } + } + return true; +} + +static bool +no_redundant_jumps(cfg_builder *g) { + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + cfg_instr *last = _PyCfg_BasicblockLastInstr(b); + if (last != NULL) { + if (IS_UNCONDITIONAL_JUMP_OPCODE(last->i_opcode)) { + assert(last->i_target != b->b_next); + if (last->i_target == b->b_next) { + return false; + } + } + } + } + return true; +} + +#endif + +/***** CFG preprocessing (jump targets and exceptions) *****/ + +static int +normalize_jumps_in_block(cfg_builder *g, basicblock *b) { + cfg_instr *last = _PyCfg_BasicblockLastInstr(b); + if (last == NULL || !is_jump(last)) { + return SUCCESS; + } + assert(!IS_ASSEMBLER_OPCODE(last->i_opcode)); + bool is_forward = last->i_target->b_visited == 0; + switch(last->i_opcode) { + case JUMP: + last->i_opcode = is_forward ? JUMP_FORWARD : JUMP_BACKWARD; + return SUCCESS; + case JUMP_NO_INTERRUPT: + last->i_opcode = is_forward ? + JUMP_FORWARD : JUMP_BACKWARD_NO_INTERRUPT; + return SUCCESS; + } + int reversed_opcode = 0; + switch(last->i_opcode) { + case POP_JUMP_IF_NOT_NONE: + reversed_opcode = POP_JUMP_IF_NONE; + break; + case POP_JUMP_IF_NONE: + reversed_opcode = POP_JUMP_IF_NOT_NONE; + break; + case POP_JUMP_IF_FALSE: + reversed_opcode = POP_JUMP_IF_TRUE; + break; + case POP_JUMP_IF_TRUE: + reversed_opcode = POP_JUMP_IF_FALSE; + break; + } + if (is_forward) { + return SUCCESS; + } + /* transform 'conditional jump T' to + * 'reversed_jump b_next' followed by 'jump_backwards T' + */ + + basicblock *target = last->i_target; + basicblock *backwards_jump = cfg_builder_new_block(g); + if (backwards_jump == NULL) { + return ERROR; + } + basicblock_addop(backwards_jump, JUMP, target->b_label.id, last->i_loc); + backwards_jump->b_instr[0].i_target = target; + last->i_opcode = reversed_opcode; + last->i_target = b->b_next; + + backwards_jump->b_cold = b->b_cold; + backwards_jump->b_next = b->b_next; + b->b_next = backwards_jump; + return SUCCESS; +} + + +static int +normalize_jumps(_PyCfgBuilder *g) +{ + basicblock *entryblock = g->g_entryblock; + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + b->b_visited = 0; + } + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + b->b_visited = 1; + RETURN_IF_ERROR(normalize_jumps_in_block(g, b)); + } + return SUCCESS; +} + +static void +resolve_jump_offsets(basicblock *entryblock) +{ + int bsize, totsize, extended_arg_recompile; + + /* Compute the size of each block and fixup jump args. + Replace block pointer with position in bytecode. */ + do { + totsize = 0; + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + bsize = blocksize(b); + b->b_offset = totsize; + totsize += bsize; + } + extended_arg_recompile = 0; + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + bsize = b->b_offset; + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + int isize = instr_size(instr); + /* jump offsets are computed relative to + * the instruction pointer after fetching + * the jump instruction. + */ + bsize += isize; + if (is_jump(instr)) { + instr->i_oparg = instr->i_target->b_offset; + if (instr->i_oparg < bsize) { + assert(IS_BACKWARDS_JUMP_OPCODE(instr->i_opcode)); + instr->i_oparg = bsize - instr->i_oparg; + } + else { + assert(!IS_BACKWARDS_JUMP_OPCODE(instr->i_opcode)); + instr->i_oparg -= bsize; + } + if (instr_size(instr) != isize) { + extended_arg_recompile = 1; + } + } + } + } + + /* XXX: This is an awful hack that could hurt performance, but + on the bright side it should work until we come up + with a better solution. + + The issue is that in the first loop blocksize() is called + which calls instr_size() which requires i_oparg be set + appropriately. There is a bootstrap problem because + i_oparg is calculated in the second loop above. + + So we loop until we stop seeing new EXTENDED_ARGs. + The only EXTENDED_ARGs that could be popping up are + ones in jump instructions. So this should converge + fairly quickly. + */ + } while (extended_arg_recompile); +} + +int +_PyCfg_ResolveJumps(_PyCfgBuilder *g) +{ + RETURN_IF_ERROR(normalize_jumps(g)); + assert(no_redundant_jumps(g)); + resolve_jump_offsets(g->g_entryblock); + return SUCCESS; +} + +static int +check_cfg(cfg_builder *g) { + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + /* Raise SystemError if jump or exit is not last instruction in the block. */ + for (int i = 0; i < b->b_iused; i++) { + int opcode = b->b_instr[i].i_opcode; + assert(!IS_ASSEMBLER_OPCODE(opcode)); + if (IS_TERMINATOR_OPCODE(opcode)) { + if (i != b->b_iused - 1) { + PyErr_SetString(PyExc_SystemError, "malformed control flow graph."); + return ERROR; + } + } + } + } + return SUCCESS; +} + +static int +get_max_label(basicblock *entryblock) +{ + int lbl = -1; + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + if (b->b_label.id > lbl) { + lbl = b->b_label.id; + } + } + return lbl; +} + +/* Calculate the actual jump target from the target_label */ +static int +translate_jump_labels_to_targets(basicblock *entryblock) +{ + int max_label = get_max_label(entryblock); + size_t mapsize = sizeof(basicblock *) * (max_label + 1); + basicblock **label2block = (basicblock **)PyMem_Malloc(mapsize); + if (!label2block) { + PyErr_NoMemory(); + return ERROR; + } + memset(label2block, 0, mapsize); + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + if (b->b_label.id >= 0) { + label2block[b->b_label.id] = b; + } + } + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + assert(instr->i_target == NULL); + if (HAS_TARGET(instr->i_opcode)) { + int lbl = instr->i_oparg; + assert(lbl >= 0 && lbl <= max_label); + instr->i_target = label2block[lbl]; + assert(instr->i_target != NULL); + assert(instr->i_target->b_label.id == lbl); + } + } + } + PyMem_Free(label2block); + return SUCCESS; +} + +int +_PyCfg_JumpLabelsToTargets(basicblock *entryblock) +{ + return translate_jump_labels_to_targets(entryblock); +} + +static int +mark_except_handlers(basicblock *entryblock) { +#ifndef NDEBUG + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + assert(!b->b_except_handler); + } +#endif + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + for (int i=0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + if (is_block_push(instr)) { + instr->i_target->b_except_handler = 1; + } + } + } + return SUCCESS; +} + + +typedef _PyCfgExceptStack ExceptStack; + +static basicblock * +push_except_block(ExceptStack *stack, cfg_instr *setup) { + assert(is_block_push(setup)); + int opcode = setup->i_opcode; + basicblock * target = setup->i_target; + if (opcode == SETUP_WITH || opcode == SETUP_CLEANUP) { + target->b_preserve_lasti = 1; + } + assert(stack->depth <= CO_MAXBLOCKS); + stack->handlers[++stack->depth] = target; + return target; +} + +static basicblock * +pop_except_block(ExceptStack *stack) { + assert(stack->depth > 0); + return stack->handlers[--stack->depth]; +} + +static basicblock * +except_stack_top(ExceptStack *stack) { + return stack->handlers[stack->depth]; +} + +static ExceptStack * +make_except_stack(void) { + ExceptStack *new = PyMem_Malloc(sizeof(ExceptStack)); + if (new == NULL) { + PyErr_NoMemory(); + return NULL; + } + new->depth = 0; + new->handlers[0] = NULL; + return new; +} + +static ExceptStack * +copy_except_stack(ExceptStack *stack) { + ExceptStack *copy = PyMem_Malloc(sizeof(ExceptStack)); + if (copy == NULL) { + PyErr_NoMemory(); + return NULL; + } + memcpy(copy, stack, sizeof(ExceptStack)); + return copy; +} + +static basicblock** +make_cfg_traversal_stack(basicblock *entryblock) { + int nblocks = 0; + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + b->b_visited = 0; + nblocks++; + } + basicblock **stack = (basicblock **)PyMem_Malloc(sizeof(basicblock *) * nblocks); + if (!stack) { + PyErr_NoMemory(); + } + return stack; +} + +Py_LOCAL_INLINE(void) +stackdepth_push(basicblock ***sp, basicblock *b, int depth) +{ + assert(b->b_startdepth < 0 || b->b_startdepth == depth); + if (b->b_startdepth < depth && b->b_startdepth < 100) { + assert(b->b_startdepth < 0); + b->b_startdepth = depth; + *(*sp)++ = b; + } +} + +/* Find the flow path that needs the largest stack. We assume that + * cycles in the flow graph have no net effect on the stack depth. + */ +int +_PyCfg_Stackdepth(basicblock *entryblock, int code_flags) +{ + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + b->b_startdepth = INT_MIN; + } + basicblock **stack = make_cfg_traversal_stack(entryblock); + if (!stack) { + return ERROR; + } + + int maxdepth = 0; + basicblock **sp = stack; + if (code_flags & (CO_GENERATOR | CO_COROUTINE | CO_ASYNC_GENERATOR)) { + stackdepth_push(&sp, entryblock, 1); + } else { + stackdepth_push(&sp, entryblock, 0); + } + + while (sp != stack) { + basicblock *b = *--sp; + int depth = b->b_startdepth; + assert(depth >= 0); + basicblock *next = b->b_next; + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + int effect = PyCompile_OpcodeStackEffectWithJump(instr->i_opcode, instr->i_oparg, 0); + if (effect == PY_INVALID_STACK_EFFECT) { + PyErr_Format(PyExc_SystemError, + "compiler PyCompile_OpcodeStackEffectWithJump(opcode=%d, arg=%i) failed", + instr->i_opcode, instr->i_oparg); + return ERROR; + } + int new_depth = depth + effect; + assert(new_depth >= 0); /* invalid code or bug in stackdepth() */ + if (new_depth > maxdepth) { + maxdepth = new_depth; + } + if (HAS_TARGET(instr->i_opcode)) { + effect = PyCompile_OpcodeStackEffectWithJump(instr->i_opcode, instr->i_oparg, 1); + assert(effect != PY_INVALID_STACK_EFFECT); + int target_depth = depth + effect; + assert(target_depth >= 0); /* invalid code or bug in stackdepth() */ + if (target_depth > maxdepth) { + maxdepth = target_depth; + } + stackdepth_push(&sp, instr->i_target, target_depth); + } + depth = new_depth; + assert(!IS_ASSEMBLER_OPCODE(instr->i_opcode)); + if (IS_UNCONDITIONAL_JUMP_OPCODE(instr->i_opcode) || + IS_SCOPE_EXIT_OPCODE(instr->i_opcode)) + { + /* remaining code is dead */ + next = NULL; + break; + } + } + if (next != NULL) { + assert(BB_HAS_FALLTHROUGH(b)); + stackdepth_push(&sp, next, depth); + } + } + PyMem_Free(stack); + return maxdepth; +} + +static int +label_exception_targets(basicblock *entryblock) { + basicblock **todo_stack = make_cfg_traversal_stack(entryblock); + if (todo_stack == NULL) { + return ERROR; + } + ExceptStack *except_stack = make_except_stack(); + if (except_stack == NULL) { + PyMem_Free(todo_stack); + PyErr_NoMemory(); + return ERROR; + } + except_stack->depth = 0; + todo_stack[0] = entryblock; + entryblock->b_visited = 1; + entryblock->b_exceptstack = except_stack; + basicblock **todo = &todo_stack[1]; + basicblock *handler = NULL; + while (todo > todo_stack) { + todo--; + basicblock *b = todo[0]; + assert(b->b_visited == 1); + except_stack = b->b_exceptstack; + assert(except_stack != NULL); + b->b_exceptstack = NULL; + handler = except_stack_top(except_stack); + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + if (is_block_push(instr)) { + if (!instr->i_target->b_visited) { + ExceptStack *copy = copy_except_stack(except_stack); + if (copy == NULL) { + goto error; + } + instr->i_target->b_exceptstack = copy; + todo[0] = instr->i_target; + instr->i_target->b_visited = 1; + todo++; + } + handler = push_except_block(except_stack, instr); + } + else if (instr->i_opcode == POP_BLOCK) { + handler = pop_except_block(except_stack); + } + else if (is_jump(instr)) { + instr->i_except = handler; + assert(i == b->b_iused -1); + if (!instr->i_target->b_visited) { + if (BB_HAS_FALLTHROUGH(b)) { + ExceptStack *copy = copy_except_stack(except_stack); + if (copy == NULL) { + goto error; + } + instr->i_target->b_exceptstack = copy; + } + else { + instr->i_target->b_exceptstack = except_stack; + except_stack = NULL; + } + todo[0] = instr->i_target; + instr->i_target->b_visited = 1; + todo++; + } + } + else { + if (instr->i_opcode == YIELD_VALUE) { + instr->i_oparg = except_stack->depth; + } + instr->i_except = handler; + } + } + if (BB_HAS_FALLTHROUGH(b) && !b->b_next->b_visited) { + assert(except_stack != NULL); + b->b_next->b_exceptstack = except_stack; + todo[0] = b->b_next; + b->b_next->b_visited = 1; + todo++; + } + else if (except_stack != NULL) { + PyMem_Free(except_stack); + } + } +#ifdef Py_DEBUG + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + assert(b->b_exceptstack == NULL); + } +#endif + PyMem_Free(todo_stack); + return SUCCESS; +error: + PyMem_Free(todo_stack); + PyMem_Free(except_stack); + return ERROR; +} + +/***** CFG optimizations *****/ + +static int +mark_reachable(basicblock *entryblock) { + basicblock **stack = make_cfg_traversal_stack(entryblock); + if (stack == NULL) { + return ERROR; + } + basicblock **sp = stack; + entryblock->b_predecessors = 1; + *sp++ = entryblock; + while (sp > stack) { + basicblock *b = *(--sp); + b->b_visited = 1; + if (b->b_next && BB_HAS_FALLTHROUGH(b)) { + if (!b->b_next->b_visited) { + assert(b->b_next->b_predecessors == 0); + *sp++ = b->b_next; + } + b->b_next->b_predecessors++; + } + for (int i = 0; i < b->b_iused; i++) { + basicblock *target; + cfg_instr *instr = &b->b_instr[i]; + if (is_jump(instr) || is_block_push(instr)) { + target = instr->i_target; + if (!target->b_visited) { + assert(target->b_predecessors == 0 || target == b->b_next); + *sp++ = target; + } + target->b_predecessors++; + } + } + } + PyMem_Free(stack); + return SUCCESS; +} + +static void +eliminate_empty_basic_blocks(cfg_builder *g) { + /* Eliminate empty blocks */ + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + basicblock *next = b->b_next; + while (next && next->b_iused == 0) { + next = next->b_next; + } + b->b_next = next; + } + while(g->g_entryblock && g->g_entryblock->b_iused == 0) { + g->g_entryblock = g->g_entryblock->b_next; + } + int next_lbl = get_max_label(g->g_entryblock) + 1; + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + assert(b->b_iused > 0); + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + if (HAS_TARGET(instr->i_opcode)) { + basicblock *target = instr->i_target; + while (target->b_iused == 0) { + target = target->b_next; + } + if (instr->i_target != target) { + if (!IS_LABEL(target->b_label)) { + target->b_label.id = next_lbl++; + } + instr->i_target = target; + instr->i_oparg = target->b_label.id; + } + assert(instr->i_target && instr->i_target->b_iused > 0); + } + } + } +} + +static int +remove_redundant_nops(basicblock *bb) { + /* Remove NOPs when legal to do so. */ + int dest = 0; + int prev_lineno = -1; + for (int src = 0; src < bb->b_iused; src++) { + int lineno = bb->b_instr[src].i_loc.lineno; + if (bb->b_instr[src].i_opcode == NOP) { + /* Eliminate no-op if it doesn't have a line number */ + if (lineno < 0) { + continue; + } + /* or, if the previous instruction had the same line number. */ + if (prev_lineno == lineno) { + continue; + } + /* or, if the next instruction has same line number or no line number */ + if (src < bb->b_iused - 1) { + int next_lineno = bb->b_instr[src+1].i_loc.lineno; + if (next_lineno == lineno) { + continue; + } + if (next_lineno < 0) { + bb->b_instr[src+1].i_loc = bb->b_instr[src].i_loc; + continue; + } + } + else { + basicblock* next = bb->b_next; + while (next && next->b_iused == 0) { + next = next->b_next; + } + /* or if last instruction in BB and next BB has same line number */ + if (next) { + location next_loc = NO_LOCATION; + for (int next_i=0; next_i < next->b_iused; next_i++) { + cfg_instr *instr = &next->b_instr[next_i]; + if (instr->i_opcode == NOP && instr->i_loc.lineno == NO_LOCATION.lineno) { + /* Skip over NOPs without location, they will be removed */ + continue; + } + next_loc = instr->i_loc; + break; + } + if (lineno == next_loc.lineno) { + continue; + } + } + } + + } + if (dest != src) { + bb->b_instr[dest] = bb->b_instr[src]; + } + dest++; + prev_lineno = lineno; + } + assert(dest <= bb->b_iused); + int num_removed = bb->b_iused - dest; + bb->b_iused = dest; + return num_removed; +} + +static int +remove_redundant_nops_and_pairs(basicblock *entryblock) +{ + bool done = false; + + while (! done) { + done = true; + cfg_instr *prev_instr = NULL; + cfg_instr *instr = NULL; + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + remove_redundant_nops(b); + if (IS_LABEL(b->b_label)) { + /* this block is a jump target, forget instr */ + instr = NULL; + } + for (int i = 0; i < b->b_iused; i++) { + prev_instr = instr; + instr = &b->b_instr[i]; + int prev_opcode = prev_instr ? prev_instr->i_opcode : 0; + int prev_oparg = prev_instr ? prev_instr->i_oparg : 0; + int opcode = instr->i_opcode; + bool is_redundant_pair = false; + if (opcode == POP_TOP) { + if (prev_opcode == LOAD_CONST) { + is_redundant_pair = true; + } + else if (prev_opcode == COPY && prev_oparg == 1) { + is_redundant_pair = true; + } + } + if (is_redundant_pair) { + INSTR_SET_OP0(prev_instr, NOP); + INSTR_SET_OP0(instr, NOP); + done = false; + } + } + if ((instr && is_jump(instr)) || !BB_HAS_FALLTHROUGH(b)) { + instr = NULL; + } + } + } + return SUCCESS; +} + +static int +remove_redundant_jumps(cfg_builder *g) { + /* If a non-empty block ends with a jump instruction, check if the next + * non-empty block reached through normal flow control is the target + * of that jump. If it is, then the jump instruction is redundant and + * can be deleted. + */ + assert(no_empty_basic_blocks(g)); + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + cfg_instr *last = _PyCfg_BasicblockLastInstr(b); + assert(last != NULL); + assert(!IS_ASSEMBLER_OPCODE(last->i_opcode)); + if (IS_UNCONDITIONAL_JUMP_OPCODE(last->i_opcode)) { + if (last->i_target == NULL) { + PyErr_SetString(PyExc_SystemError, "jump with NULL target"); + return ERROR; + } + if (last->i_target == b->b_next) { + assert(b->b_next->b_iused); + INSTR_SET_OP0(last, NOP); + } + } + } + return SUCCESS; +} + +/* Maximum size of basic block that should be copied in optimizer */ +#define MAX_COPY_SIZE 4 + +/* If this block ends with an unconditional jump to a small exit block, then + * remove the jump and extend this block with the target. + * Returns 1 if extended, 0 if no change, and -1 on error. + */ +static int +inline_small_exit_blocks(basicblock *bb) { + cfg_instr *last = _PyCfg_BasicblockLastInstr(bb); + if (last == NULL) { + return 0; + } + if (!IS_UNCONDITIONAL_JUMP_OPCODE(last->i_opcode)) { + return 0; + } + basicblock *target = last->i_target; + if (basicblock_exits_scope(target) && target->b_iused <= MAX_COPY_SIZE) { + INSTR_SET_OP0(last, NOP); + RETURN_IF_ERROR(basicblock_append_instructions(bb, target)); + return 1; + } + return 0; +} + +// Attempt to eliminate jumps to jumps by updating inst to jump to +// target->i_target using the provided opcode. Return whether or not the +// optimization was successful. +static bool +jump_thread(cfg_instr *inst, cfg_instr *target, int opcode) +{ + assert(is_jump(inst)); + assert(is_jump(target)); + // bpo-45773: If inst->i_target == target->i_target, then nothing actually + // changes (and we fall into an infinite loop): + if ((inst->i_loc.lineno == target->i_loc.lineno || target->i_loc.lineno == -1) && + inst->i_target != target->i_target) + { + inst->i_target = target->i_target; + inst->i_opcode = opcode; + return true; + } + return false; +} + +static PyObject* +get_const_value(int opcode, int oparg, PyObject *co_consts) +{ + PyObject *constant = NULL; + assert(HAS_CONST(opcode)); + if (opcode == LOAD_CONST) { + constant = PyList_GET_ITEM(co_consts, oparg); + } + + if (constant == NULL) { + PyErr_SetString(PyExc_SystemError, + "Internal error: failed to get value of a constant"); + return NULL; + } + return Py_NewRef(constant); +} + +/* Replace LOAD_CONST c1, LOAD_CONST c2 ... LOAD_CONST cn, BUILD_TUPLE n + with LOAD_CONST (c1, c2, ... cn). + The consts table must still be in list form so that the + new constant (c1, c2, ... cn) can be appended. + Called with codestr pointing to the first LOAD_CONST. +*/ +static int +fold_tuple_on_constants(PyObject *const_cache, + cfg_instr *inst, + int n, PyObject *consts) +{ + /* Pre-conditions */ + assert(PyDict_CheckExact(const_cache)); + assert(PyList_CheckExact(consts)); + assert(inst[n].i_opcode == BUILD_TUPLE); + assert(inst[n].i_oparg == n); + + for (int i = 0; i < n; i++) { + if (!HAS_CONST(inst[i].i_opcode)) { + return SUCCESS; + } + } + + /* Buildup new tuple of constants */ + PyObject *newconst = PyTuple_New(n); + if (newconst == NULL) { + return ERROR; + } + for (int i = 0; i < n; i++) { + int op = inst[i].i_opcode; + int arg = inst[i].i_oparg; + PyObject *constant = get_const_value(op, arg, consts); + if (constant == NULL) { + return ERROR; + } + PyTuple_SET_ITEM(newconst, i, constant); + } + if (_PyCompile_ConstCacheMergeOne(const_cache, &newconst) < 0) { + Py_DECREF(newconst); + return ERROR; + } + + Py_ssize_t index; + for (index = 0; index < PyList_GET_SIZE(consts); index++) { + if (PyList_GET_ITEM(consts, index) == newconst) { + break; + } + } + if (index == PyList_GET_SIZE(consts)) { + if ((size_t)index >= (size_t)INT_MAX - 1) { + Py_DECREF(newconst); + PyErr_SetString(PyExc_OverflowError, "too many constants"); + return ERROR; + } + if (PyList_Append(consts, newconst)) { + Py_DECREF(newconst); + return ERROR; + } + } + Py_DECREF(newconst); + for (int i = 0; i < n; i++) { + INSTR_SET_OP0(&inst[i], NOP); + } + INSTR_SET_OP1(&inst[n], LOAD_CONST, (int)index); + return SUCCESS; +} + +#define VISITED (-1) + +// Replace an arbitrary run of SWAPs and NOPs with an optimal one that has the +// same effect. +static int +swaptimize(basicblock *block, int *ix) +{ + // NOTE: "./python -m test test_patma" serves as a good, quick stress test + // for this function. Make sure to blow away cached *.pyc files first! + assert(*ix < block->b_iused); + cfg_instr *instructions = &block->b_instr[*ix]; + // Find the length of the current sequence of SWAPs and NOPs, and record the + // maximum depth of the stack manipulations: + assert(instructions[0].i_opcode == SWAP); + int depth = instructions[0].i_oparg; + int len = 0; + int more = false; + int limit = block->b_iused - *ix; + while (++len < limit) { + int opcode = instructions[len].i_opcode; + if (opcode == SWAP) { + depth = Py_MAX(depth, instructions[len].i_oparg); + more = true; + } + else if (opcode != NOP) { + break; + } + } + // It's already optimal if there's only one SWAP: + if (!more) { + return SUCCESS; + } + // Create an array with elements {0, 1, 2, ..., depth - 1}: + int *stack = PyMem_Malloc(depth * sizeof(int)); + if (stack == NULL) { + PyErr_NoMemory(); + return ERROR; + } + for (int i = 0; i < depth; i++) { + stack[i] = i; + } + // Simulate the combined effect of these instructions by "running" them on + // our "stack": + for (int i = 0; i < len; i++) { + if (instructions[i].i_opcode == SWAP) { + int oparg = instructions[i].i_oparg; + int top = stack[0]; + // SWAPs are 1-indexed: + stack[0] = stack[oparg - 1]; + stack[oparg - 1] = top; + } + } + // Now we can begin! Our approach here is based on a solution to a closely + // related problem (https://cs.stackexchange.com/a/13938). It's easiest to + // think of this algorithm as determining the steps needed to efficiently + // "un-shuffle" our stack. By performing the moves in *reverse* order, + // though, we can efficiently *shuffle* it! For this reason, we will be + // replacing instructions starting from the *end* of the run. Since the + // solution is optimal, we don't need to worry about running out of space: + int current = len - 1; + for (int i = 0; i < depth; i++) { + // Skip items that have already been visited, or just happen to be in + // the correct location: + if (stack[i] == VISITED || stack[i] == i) { + continue; + } + // Okay, we've found an item that hasn't been visited. It forms a cycle + // with other items; traversing the cycle and swapping each item with + // the next will put them all in the correct place. The weird + // loop-and-a-half is necessary to insert 0 into every cycle, since we + // can only swap from that position: + int j = i; + while (true) { + // Skip the actual swap if our item is zero, since swapping the top + // item with itself is pointless: + if (j) { + assert(0 <= current); + // SWAPs are 1-indexed: + instructions[current].i_opcode = SWAP; + instructions[current--].i_oparg = j + 1; + } + if (stack[j] == VISITED) { + // Completed the cycle: + assert(j == i); + break; + } + int next_j = stack[j]; + stack[j] = VISITED; + j = next_j; + } + } + // NOP out any unused instructions: + while (0 <= current) { + INSTR_SET_OP0(&instructions[current--], NOP); + } + PyMem_Free(stack); + *ix += len - 1; + return SUCCESS; +} + + +// This list is pretty small, since it's only okay to reorder opcodes that: +// - can't affect control flow (like jumping or raising exceptions) +// - can't invoke arbitrary code (besides finalizers) +// - only touch the TOS (and pop it when finished) +#define SWAPPABLE(opcode) \ + ((opcode) == STORE_FAST || \ + (opcode) == STORE_FAST_MAYBE_NULL || \ + (opcode) == POP_TOP) + +#define STORES_TO(instr) \ + (((instr).i_opcode == STORE_FAST || \ + (instr).i_opcode == STORE_FAST_MAYBE_NULL) \ + ? (instr).i_oparg : -1) + +static int +next_swappable_instruction(basicblock *block, int i, int lineno) +{ + while (++i < block->b_iused) { + cfg_instr *instruction = &block->b_instr[i]; + if (0 <= lineno && instruction->i_loc.lineno != lineno) { + // Optimizing across this instruction could cause user-visible + // changes in the names bound between line tracing events! + return -1; + } + if (instruction->i_opcode == NOP) { + continue; + } + if (SWAPPABLE(instruction->i_opcode)) { + return i; + } + return -1; + } + return -1; +} + +// Attempt to apply SWAPs statically by swapping *instructions* rather than +// stack items. For example, we can replace SWAP(2), POP_TOP, STORE_FAST(42) +// with the more efficient NOP, STORE_FAST(42), POP_TOP. +static void +apply_static_swaps(basicblock *block, int i) +{ + // SWAPs are to our left, and potential swaperands are to our right: + for (; 0 <= i; i--) { + assert(i < block->b_iused); + cfg_instr *swap = &block->b_instr[i]; + if (swap->i_opcode != SWAP) { + if (swap->i_opcode == NOP || SWAPPABLE(swap->i_opcode)) { + // Nope, but we know how to handle these. Keep looking: + continue; + } + // We can't reason about what this instruction does. Bail: + return; + } + int j = next_swappable_instruction(block, i, -1); + if (j < 0) { + return; + } + int k = j; + int lineno = block->b_instr[j].i_loc.lineno; + for (int count = swap->i_oparg - 1; 0 < count; count--) { + k = next_swappable_instruction(block, k, lineno); + if (k < 0) { + return; + } + } + // The reordering is not safe if the two instructions to be swapped + // store to the same location, or if any intervening instruction stores + // to the same location as either of them. + int store_j = STORES_TO(block->b_instr[j]); + int store_k = STORES_TO(block->b_instr[k]); + if (store_j >= 0 || store_k >= 0) { + if (store_j == store_k) { + return; + } + for (int idx = j + 1; idx < k; idx++) { + int store_idx = STORES_TO(block->b_instr[idx]); + if (store_idx >= 0 && (store_idx == store_j || store_idx == store_k)) { + return; + } + } + } + + // Success! + INSTR_SET_OP0(swap, NOP); + cfg_instr temp = block->b_instr[j]; + block->b_instr[j] = block->b_instr[k]; + block->b_instr[k] = temp; + } +} + +static int +optimize_basic_block(PyObject *const_cache, basicblock *bb, PyObject *consts) +{ + assert(PyDict_CheckExact(const_cache)); + assert(PyList_CheckExact(consts)); + cfg_instr nop; + INSTR_SET_OP0(&nop, NOP); + cfg_instr *target = &nop; + int opcode = 0; + int oparg = 0; + int nextop = 0; + for (int i = 0; i < bb->b_iused; i++) { + cfg_instr *inst = &bb->b_instr[i]; + bool is_copy_of_load_const = (opcode == LOAD_CONST && + inst->i_opcode == COPY && + inst->i_oparg == 1); + if (! is_copy_of_load_const) { + opcode = inst->i_opcode; + oparg = inst->i_oparg; + if (HAS_TARGET(opcode)) { + assert(inst->i_target->b_iused > 0); + target = &inst->i_target->b_instr[0]; + assert(!IS_ASSEMBLER_OPCODE(target->i_opcode)); + } + else { + target = &nop; + } + } + nextop = i+1 < bb->b_iused ? bb->b_instr[i+1].i_opcode : 0; + assert(!IS_ASSEMBLER_OPCODE(opcode)); + switch (opcode) { + /* Remove LOAD_CONST const; conditional jump */ + case LOAD_CONST: + { + PyObject* cnt; + int is_true; + int jump_if_true; + switch(nextop) { + case POP_JUMP_IF_FALSE: + case POP_JUMP_IF_TRUE: + cnt = get_const_value(opcode, oparg, consts); + if (cnt == NULL) { + goto error; + } + is_true = PyObject_IsTrue(cnt); + Py_DECREF(cnt); + if (is_true == -1) { + goto error; + } + INSTR_SET_OP0(inst, NOP); + jump_if_true = nextop == POP_JUMP_IF_TRUE; + if (is_true == jump_if_true) { + bb->b_instr[i+1].i_opcode = JUMP; + } + else { + INSTR_SET_OP0(&bb->b_instr[i + 1], NOP); + } + break; + case IS_OP: + cnt = get_const_value(opcode, oparg, consts); + if (cnt == NULL) { + goto error; + } + int jump_op = i+2 < bb->b_iused ? bb->b_instr[i+2].i_opcode : 0; + if (Py_IsNone(cnt) && (jump_op == POP_JUMP_IF_FALSE || jump_op == POP_JUMP_IF_TRUE)) { + unsigned char nextarg = bb->b_instr[i+1].i_oparg; + INSTR_SET_OP0(inst, NOP); + INSTR_SET_OP0(&bb->b_instr[i + 1], NOP); + bb->b_instr[i+2].i_opcode = nextarg ^ (jump_op == POP_JUMP_IF_FALSE) ? + POP_JUMP_IF_NOT_NONE : POP_JUMP_IF_NONE; + } + Py_DECREF(cnt); + break; + case RETURN_VALUE: + INSTR_SET_OP0(inst, NOP); + INSTR_SET_OP1(&bb->b_instr[++i], RETURN_CONST, oparg); + break; + } + break; + } + /* Try to fold tuples of constants. + Skip over BUILD_TUPLE(1) UNPACK_SEQUENCE(1). + Replace BUILD_TUPLE(2) UNPACK_SEQUENCE(2) with SWAP(2). + Replace BUILD_TUPLE(3) UNPACK_SEQUENCE(3) with SWAP(3). */ + case BUILD_TUPLE: + if (nextop == UNPACK_SEQUENCE && oparg == bb->b_instr[i+1].i_oparg) { + switch(oparg) { + case 1: + INSTR_SET_OP0(inst, NOP); + INSTR_SET_OP0(&bb->b_instr[i + 1], NOP); + continue; + case 2: + case 3: + INSTR_SET_OP0(inst, NOP); + bb->b_instr[i+1].i_opcode = SWAP; + continue; + } + } + if (i >= oparg) { + if (fold_tuple_on_constants(const_cache, inst-oparg, oparg, consts)) { + goto error; + } + } + break; + case POP_JUMP_IF_NOT_NONE: + case POP_JUMP_IF_NONE: + switch (target->i_opcode) { + case JUMP: + i -= jump_thread(inst, target, inst->i_opcode); + } + break; + case POP_JUMP_IF_FALSE: + switch (target->i_opcode) { + case JUMP: + i -= jump_thread(inst, target, POP_JUMP_IF_FALSE); + } + break; + case POP_JUMP_IF_TRUE: + switch (target->i_opcode) { + case JUMP: + i -= jump_thread(inst, target, POP_JUMP_IF_TRUE); + } + break; + case JUMP: + switch (target->i_opcode) { + case JUMP: + i -= jump_thread(inst, target, JUMP); + } + break; + case FOR_ITER: + if (target->i_opcode == JUMP) { + /* This will not work now because the jump (at target) could + * be forward or backward and FOR_ITER only jumps forward. We + * can re-enable this if ever we implement a backward version + * of FOR_ITER. + */ + /* + i -= jump_thread(inst, target, FOR_ITER); + */ + } + break; + case SWAP: + if (oparg == 1) { + INSTR_SET_OP0(inst, NOP); + break; + } + if (swaptimize(bb, &i) < 0) { + goto error; + } + apply_static_swaps(bb, i); + break; + case KW_NAMES: + break; + case PUSH_NULL: + if (nextop == LOAD_GLOBAL && (bb->b_instr[i+1].i_oparg & 1) == 0) { + INSTR_SET_OP0(inst, NOP); + bb->b_instr[i+1].i_oparg |= 1; + } + break; + default: + /* All HAS_CONST opcodes should be handled with LOAD_CONST */ + assert (!HAS_CONST(inst->i_opcode)); + } + } + return SUCCESS; +error: + return ERROR; +} + + +/* Perform optimizations on a control flow graph. + The consts object should still be in list form to allow new constants + to be appended. + + Code trasnformations that reduce code size initially fill the gaps with + NOPs. Later those NOPs are removed. +*/ +static int +optimize_cfg(cfg_builder *g, PyObject *consts, PyObject *const_cache) +{ + assert(PyDict_CheckExact(const_cache)); + RETURN_IF_ERROR(check_cfg(g)); + eliminate_empty_basic_blocks(g); + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + RETURN_IF_ERROR(inline_small_exit_blocks(b)); + } + assert(no_empty_basic_blocks(g)); + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + RETURN_IF_ERROR(optimize_basic_block(const_cache, b, consts)); + assert(b->b_predecessors == 0); + } + RETURN_IF_ERROR(remove_redundant_nops_and_pairs(g->g_entryblock)); + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + RETURN_IF_ERROR(inline_small_exit_blocks(b)); + } + RETURN_IF_ERROR(mark_reachable(g->g_entryblock)); + + /* Delete unreachable instructions */ + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + if (b->b_predecessors == 0) { + b->b_iused = 0; + } + } + for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { + remove_redundant_nops(b); + } + eliminate_empty_basic_blocks(g); + /* This assertion fails in an edge case (See gh-109889). + * Remove it for the release (it's just one more NOP in the + * bytecode for unlikely code). + */ + // assert(no_redundant_nops(g)); + RETURN_IF_ERROR(remove_redundant_jumps(g)); + return SUCCESS; +} + +// helper functions for add_checks_for_loads_of_unknown_variables +static inline void +maybe_push(basicblock *b, uint64_t unsafe_mask, basicblock ***sp) +{ + // Push b if the unsafe mask is giving us any new information. + // To avoid overflowing the stack, only allow each block once. + // Use b->b_visited=1 to mean that b is currently on the stack. + uint64_t both = b->b_unsafe_locals_mask | unsafe_mask; + if (b->b_unsafe_locals_mask != both) { + b->b_unsafe_locals_mask = both; + // More work left to do. + if (!b->b_visited) { + // not on the stack, so push it. + *(*sp)++ = b; + b->b_visited = 1; + } + } +} + +static void +scan_block_for_locals(basicblock *b, basicblock ***sp) +{ + // bit i is set if local i is potentially uninitialized + uint64_t unsafe_mask = b->b_unsafe_locals_mask; + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + assert(instr->i_opcode != EXTENDED_ARG); + assert(!IS_SUPERINSTRUCTION_OPCODE(instr->i_opcode)); + if (instr->i_except != NULL) { + maybe_push(instr->i_except, unsafe_mask, sp); + } + if (instr->i_oparg >= 64) { + continue; + } + assert(instr->i_oparg >= 0); + uint64_t bit = (uint64_t)1 << instr->i_oparg; + switch (instr->i_opcode) { + case DELETE_FAST: + case LOAD_FAST_AND_CLEAR: + case STORE_FAST_MAYBE_NULL: + unsafe_mask |= bit; + break; + case STORE_FAST: + unsafe_mask &= ~bit; + break; + case LOAD_FAST_CHECK: + // If this doesn't raise, then the local is defined. + unsafe_mask &= ~bit; + break; + case LOAD_FAST: + if (unsafe_mask & bit) { + instr->i_opcode = LOAD_FAST_CHECK; + } + unsafe_mask &= ~bit; + break; + } + } + if (b->b_next && BB_HAS_FALLTHROUGH(b)) { + maybe_push(b->b_next, unsafe_mask, sp); + } + cfg_instr *last = _PyCfg_BasicblockLastInstr(b); + if (last && is_jump(last)) { + assert(last->i_target != NULL); + maybe_push(last->i_target, unsafe_mask, sp); + } +} + +static int +fast_scan_many_locals(basicblock *entryblock, int nlocals) +{ + assert(nlocals > 64); + Py_ssize_t *states = PyMem_Calloc(nlocals - 64, sizeof(Py_ssize_t)); + if (states == NULL) { + PyErr_NoMemory(); + return ERROR; + } + Py_ssize_t blocknum = 0; + // state[i - 64] == blocknum if local i is guaranteed to + // be initialized, i.e., if it has had a previous LOAD_FAST or + // STORE_FAST within that basicblock (not followed by + // DELETE_FAST/LOAD_FAST_AND_CLEAR/STORE_FAST_MAYBE_NULL). + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + blocknum++; + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + assert(instr->i_opcode != EXTENDED_ARG); + assert(!IS_SUPERINSTRUCTION_OPCODE(instr->i_opcode)); + int arg = instr->i_oparg; + if (arg < 64) { + continue; + } + assert(arg >= 0); + switch (instr->i_opcode) { + case DELETE_FAST: + case LOAD_FAST_AND_CLEAR: + case STORE_FAST_MAYBE_NULL: + states[arg - 64] = blocknum - 1; + break; + case STORE_FAST: + states[arg - 64] = blocknum; + break; + case LOAD_FAST: + if (states[arg - 64] != blocknum) { + instr->i_opcode = LOAD_FAST_CHECK; + } + states[arg - 64] = blocknum; + break; + Py_UNREACHABLE(); + } + } + } + PyMem_Free(states); + return SUCCESS; +} + +static int +remove_unused_consts(basicblock *entryblock, PyObject *consts) +{ + assert(PyList_CheckExact(consts)); + Py_ssize_t nconsts = PyList_GET_SIZE(consts); + if (nconsts == 0) { + return SUCCESS; /* nothing to do */ + } + + Py_ssize_t *index_map = NULL; + Py_ssize_t *reverse_index_map = NULL; + int err = ERROR; + + index_map = PyMem_Malloc(nconsts * sizeof(Py_ssize_t)); + if (index_map == NULL) { + goto end; + } + for (Py_ssize_t i = 1; i < nconsts; i++) { + index_map[i] = -1; + } + // The first constant may be docstring; keep it always. + index_map[0] = 0; + + /* mark used consts */ + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + for (int i = 0; i < b->b_iused; i++) { + if (HAS_CONST(b->b_instr[i].i_opcode)) { + int index = b->b_instr[i].i_oparg; + index_map[index] = index; + } + } + } + /* now index_map[i] == i if consts[i] is used, -1 otherwise */ + /* condense consts */ + Py_ssize_t n_used_consts = 0; + for (int i = 0; i < nconsts; i++) { + if (index_map[i] != -1) { + assert(index_map[i] == i); + index_map[n_used_consts++] = index_map[i]; + } + } + if (n_used_consts == nconsts) { + /* nothing to do */ + err = SUCCESS; + goto end; + } + + /* move all used consts to the beginning of the consts list */ + assert(n_used_consts < nconsts); + for (Py_ssize_t i = 0; i < n_used_consts; i++) { + Py_ssize_t old_index = index_map[i]; + assert(i <= old_index && old_index < nconsts); + if (i != old_index) { + PyObject *value = PyList_GET_ITEM(consts, index_map[i]); + assert(value != NULL); + PyList_SetItem(consts, i, Py_NewRef(value)); + } + } + + /* truncate the consts list at its new size */ + if (PyList_SetSlice(consts, n_used_consts, nconsts, NULL) < 0) { + goto end; + } + /* adjust const indices in the bytecode */ + reverse_index_map = PyMem_Malloc(nconsts * sizeof(Py_ssize_t)); + if (reverse_index_map == NULL) { + goto end; + } + for (Py_ssize_t i = 0; i < nconsts; i++) { + reverse_index_map[i] = -1; + } + for (Py_ssize_t i = 0; i < n_used_consts; i++) { + assert(index_map[i] != -1); + assert(reverse_index_map[index_map[i]] == -1); + reverse_index_map[index_map[i]] = i; + } + + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + for (int i = 0; i < b->b_iused; i++) { + if (HAS_CONST(b->b_instr[i].i_opcode)) { + int index = b->b_instr[i].i_oparg; + assert(reverse_index_map[index] >= 0); + assert(reverse_index_map[index] < n_used_consts); + b->b_instr[i].i_oparg = (int)reverse_index_map[index]; + } + } + } + + err = SUCCESS; +end: + PyMem_Free(index_map); + PyMem_Free(reverse_index_map); + return err; +} + + + +static int +add_checks_for_loads_of_uninitialized_variables(basicblock *entryblock, + int nlocals, + int nparams) +{ + if (nlocals == 0) { + return SUCCESS; + } + if (nlocals > 64) { + // To avoid O(nlocals**2) compilation, locals beyond the first + // 64 are only analyzed one basicblock at a time: initialization + // info is not passed between basicblocks. + if (fast_scan_many_locals(entryblock, nlocals) < 0) { + return ERROR; + } + nlocals = 64; + } + basicblock **stack = make_cfg_traversal_stack(entryblock); + if (stack == NULL) { + return ERROR; + } + basicblock **sp = stack; + + // First origin of being uninitialized: + // The non-parameter locals in the entry block. + uint64_t start_mask = 0; + for (int i = nparams; i < nlocals; i++) { + start_mask |= (uint64_t)1 << i; + } + maybe_push(entryblock, start_mask, &sp); + + // Second origin of being uninitialized: + // There could be DELETE_FAST somewhere, so + // be sure to scan each basicblock at least once. + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + scan_block_for_locals(b, &sp); + } + // Now propagate the uncertainty from the origins we found: Use + // LOAD_FAST_CHECK for any LOAD_FAST where the local could be undefined. + while (sp > stack) { + basicblock *b = *--sp; + // mark as no longer on stack + b->b_visited = 0; + scan_block_for_locals(b, &sp); + } + PyMem_Free(stack); + return SUCCESS; +} + + +static int +mark_warm(basicblock *entryblock) { + basicblock **stack = make_cfg_traversal_stack(entryblock); + if (stack == NULL) { + return ERROR; + } + basicblock **sp = stack; + + *sp++ = entryblock; + entryblock->b_visited = 1; + while (sp > stack) { + basicblock *b = *(--sp); + assert(!b->b_except_handler); + b->b_warm = 1; + basicblock *next = b->b_next; + if (next && BB_HAS_FALLTHROUGH(b) && !next->b_visited) { + *sp++ = next; + next->b_visited = 1; + } + for (int i=0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + if (is_jump(instr) && !instr->i_target->b_visited) { + *sp++ = instr->i_target; + instr->i_target->b_visited = 1; + } + } + } + PyMem_Free(stack); + return SUCCESS; +} + +static int +mark_cold(basicblock *entryblock) { + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + assert(!b->b_cold && !b->b_warm); + } + if (mark_warm(entryblock) < 0) { + return ERROR; + } + + basicblock **stack = make_cfg_traversal_stack(entryblock); + if (stack == NULL) { + return ERROR; + } + + basicblock **sp = stack; + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + if (b->b_except_handler) { + assert(!b->b_warm); + *sp++ = b; + b->b_visited = 1; + } + } + + while (sp > stack) { + basicblock *b = *(--sp); + b->b_cold = 1; + basicblock *next = b->b_next; + if (next && BB_HAS_FALLTHROUGH(b)) { + if (!next->b_warm && !next->b_visited) { + *sp++ = next; + next->b_visited = 1; + } + } + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + if (is_jump(instr)) { + assert(i == b->b_iused - 1); + basicblock *target = b->b_instr[i].i_target; + if (!target->b_warm && !target->b_visited) { + *sp++ = target; + target->b_visited = 1; + } + } + } + } + PyMem_Free(stack); + return SUCCESS; +} + + +static int +push_cold_blocks_to_end(cfg_builder *g, int code_flags) { + basicblock *entryblock = g->g_entryblock; + if (entryblock->b_next == NULL) { + /* single basicblock, no need to reorder */ + return SUCCESS; + } + RETURN_IF_ERROR(mark_cold(entryblock)); + + int next_lbl = get_max_label(g->g_entryblock) + 1; + + /* If we have a cold block with fallthrough to a warm block, add */ + /* an explicit jump instead of fallthrough */ + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + if (b->b_cold && BB_HAS_FALLTHROUGH(b) && b->b_next && b->b_next->b_warm) { + basicblock *explicit_jump = cfg_builder_new_block(g); + if (explicit_jump == NULL) { + return ERROR; + } + if (!IS_LABEL(b->b_next->b_label)) { + b->b_next->b_label.id = next_lbl++; + } + basicblock_addop(explicit_jump, JUMP, b->b_next->b_label.id, NO_LOCATION); + explicit_jump->b_cold = 1; + explicit_jump->b_next = b->b_next; + b->b_next = explicit_jump; + + /* set target */ + cfg_instr *last = _PyCfg_BasicblockLastInstr(explicit_jump); + last->i_target = explicit_jump->b_next; + } + } + + assert(!entryblock->b_cold); /* First block can't be cold */ + basicblock *cold_blocks = NULL; + basicblock *cold_blocks_tail = NULL; + + basicblock *b = entryblock; + while(b->b_next) { + assert(!b->b_cold); + while (b->b_next && !b->b_next->b_cold) { + b = b->b_next; + } + if (b->b_next == NULL) { + /* no more cold blocks */ + break; + } + + /* b->b_next is the beginning of a cold streak */ + assert(!b->b_cold && b->b_next->b_cold); + + basicblock *b_end = b->b_next; + while (b_end->b_next && b_end->b_next->b_cold) { + b_end = b_end->b_next; + } + + /* b_end is the end of the cold streak */ + assert(b_end && b_end->b_cold); + assert(b_end->b_next == NULL || !b_end->b_next->b_cold); + + if (cold_blocks == NULL) { + cold_blocks = b->b_next; + } + else { + cold_blocks_tail->b_next = b->b_next; + } + cold_blocks_tail = b_end; + b->b_next = b_end->b_next; + b_end->b_next = NULL; + } + assert(b != NULL && b->b_next == NULL); + b->b_next = cold_blocks; + + if (cold_blocks != NULL) { + RETURN_IF_ERROR(remove_redundant_jumps(g)); + } + return SUCCESS; +} + +void +_PyCfg_ConvertPseudoOps(basicblock *entryblock) +{ + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + for (int i = 0; i < b->b_iused; i++) { + cfg_instr *instr = &b->b_instr[i]; + if (is_block_push(instr) || instr->i_opcode == POP_BLOCK) { + INSTR_SET_OP0(instr, NOP); + } + else if (instr->i_opcode == STORE_FAST_MAYBE_NULL) { + instr->i_opcode = STORE_FAST; + } + } + } + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + remove_redundant_nops(b); + } +} + +static inline bool +is_exit_without_lineno(basicblock *b) { + if (!basicblock_exits_scope(b)) { + return false; + } + for (int i = 0; i < b->b_iused; i++) { + if (b->b_instr[i].i_loc.lineno >= 0) { + return false; + } + } + return true; +} + + +/* PEP 626 mandates that the f_lineno of a frame is correct + * after a frame terminates. It would be prohibitively expensive + * to continuously update the f_lineno field at runtime, + * so we make sure that all exiting instruction (raises and returns) + * have a valid line number, allowing us to compute f_lineno lazily. + * We can do this by duplicating the exit blocks without line number + * so that none have more than one predecessor. We can then safely + * copy the line number from the sole predecessor block. + */ +static int +duplicate_exits_without_lineno(cfg_builder *g) +{ + assert(no_empty_basic_blocks(g)); + + int next_lbl = get_max_label(g->g_entryblock) + 1; + + /* Copy all exit blocks without line number that are targets of a jump. + */ + basicblock *entryblock = g->g_entryblock; + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + cfg_instr *last = _PyCfg_BasicblockLastInstr(b); + assert(last != NULL); + if (is_jump(last)) { + basicblock *target = last->i_target; + if (is_exit_without_lineno(target) && target->b_predecessors > 1) { + basicblock *new_target = copy_basicblock(g, target); + if (new_target == NULL) { + return ERROR; + } + new_target->b_instr[0].i_loc = last->i_loc; + last->i_target = new_target; + target->b_predecessors--; + new_target->b_predecessors = 1; + new_target->b_next = target->b_next; + new_target->b_label.id = next_lbl++; + target->b_next = new_target; + } + } + } + + /* Any remaining reachable exit blocks without line number can only be reached by + * fall through, and thus can only have a single predecessor */ + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + if (BB_HAS_FALLTHROUGH(b) && b->b_next && b->b_iused > 0) { + if (is_exit_without_lineno(b->b_next)) { + cfg_instr *last = _PyCfg_BasicblockLastInstr(b); + assert(last != NULL); + b->b_next->b_instr[0].i_loc = last->i_loc; + } + } + } + return SUCCESS; +} + + +/* If an instruction has no line number, but it's predecessor in the BB does, + * then copy the line number. If a successor block has no line number, and only + * one predecessor, then inherit the line number. + * This ensures that all exit blocks (with one predecessor) receive a line number. + * Also reduces the size of the line number table, + * but has no impact on the generated line number events. + */ +static void +propagate_line_numbers(basicblock *entryblock) { + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + cfg_instr *last = _PyCfg_BasicblockLastInstr(b); + if (last == NULL) { + continue; + } + + location prev_location = NO_LOCATION; + for (int i = 0; i < b->b_iused; i++) { + if (b->b_instr[i].i_loc.lineno < 0) { + b->b_instr[i].i_loc = prev_location; + } + else { + prev_location = b->b_instr[i].i_loc; + } + } + if (BB_HAS_FALLTHROUGH(b) && b->b_next->b_predecessors == 1) { + assert(b->b_next->b_iused); + if (b->b_next->b_instr[0].i_loc.lineno < 0) { + b->b_next->b_instr[0].i_loc = prev_location; + } + } + if (is_jump(last)) { + basicblock *target = last->i_target; + if (target->b_predecessors == 1) { + if (target->b_instr[0].i_loc.lineno < 0) { + target->b_instr[0].i_loc = prev_location; + } + } + } + } +} + +/* Make sure that all returns have a line number, even if early passes + * have failed to propagate a correct line number. + * The resulting line number may not be correct according to PEP 626, + * but should be "good enough", and no worse than in older versions. */ +static void +guarantee_lineno_for_exits(basicblock *entryblock, int firstlineno) { + int lineno = firstlineno; + assert(lineno > 0); + for (basicblock *b = entryblock; b != NULL; b = b->b_next) { + cfg_instr *last = _PyCfg_BasicblockLastInstr(b); + if (last == NULL) { + continue; + } + if (last->i_loc.lineno < 0) { + if (last->i_opcode == RETURN_VALUE) { + for (int i = 0; i < b->b_iused; i++) { + assert(b->b_instr[i].i_loc.lineno < 0); + + b->b_instr[i].i_loc.lineno = lineno; + } + } + } + else { + lineno = last->i_loc.lineno; + } + } +} + +static int +resolve_line_numbers(cfg_builder *g, int firstlineno) +{ + RETURN_IF_ERROR(duplicate_exits_without_lineno(g)); + propagate_line_numbers(g->g_entryblock); + guarantee_lineno_for_exits(g->g_entryblock, firstlineno); + return SUCCESS; +} + +int +_PyCfg_OptimizeCodeUnit(cfg_builder *g, PyObject *consts, PyObject *const_cache, + int code_flags, int nlocals, int nparams, int firstlineno) +{ + assert(cfg_builder_check(g)); + /** Preprocessing **/ + /* Map labels to targets and mark exception handlers */ + RETURN_IF_ERROR(translate_jump_labels_to_targets(g->g_entryblock)); + RETURN_IF_ERROR(mark_except_handlers(g->g_entryblock)); + RETURN_IF_ERROR(label_exception_targets(g->g_entryblock)); + + /** Optimization **/ + RETURN_IF_ERROR(optimize_cfg(g, consts, const_cache)); + RETURN_IF_ERROR(remove_unused_consts(g->g_entryblock, consts)); + RETURN_IF_ERROR( + add_checks_for_loads_of_uninitialized_variables( + g->g_entryblock, nlocals, nparams)); + + RETURN_IF_ERROR(push_cold_blocks_to_end(g, code_flags)); + RETURN_IF_ERROR(resolve_line_numbers(g, firstlineno)); + return SUCCESS; +} diff --git a/contrib/tools/python3/src/Python/formatter_unicode.c b/contrib/tools/python3/src/Python/formatter_unicode.c index 04d37c0be28..38e5f69bfb4 100644 --- a/contrib/tools/python3/src/Python/formatter_unicode.c +++ b/contrib/tools/python3/src/Python/formatter_unicode.c @@ -608,7 +608,7 @@ fill_number(_PyUnicodeWriter *writer, const NumberFieldWidths *spec, { /* Used to keep track of digits, decimal, and remainder. */ Py_ssize_t d_pos = d_start; - const unsigned int kind = writer->kind; + const int kind = writer->kind; const void *data = writer->data; Py_ssize_t r; @@ -1215,7 +1215,7 @@ format_complex_internal(PyObject *value, int flags = 0; int result = -1; Py_UCS4 maxchar = 127; - enum PyUnicode_Kind rkind; + int rkind; void *rdata; Py_UCS4 re_sign_char = '\0'; Py_UCS4 im_sign_char = '\0'; diff --git a/contrib/tools/python3/src/Python/frame.c b/contrib/tools/python3/src/Python/frame.c index 3ea3a2ced40..b84fd9b6a93 100644 --- a/contrib/tools/python3/src/Python/frame.c +++ b/contrib/tools/python3/src/Python/frame.c @@ -1,4 +1,6 @@ +#define _PY_INTERPRETER + #include "Python.h" #include "frameobject.h" #include "pycore_code.h" // stats @@ -11,7 +13,7 @@ _PyFrame_Traverse(_PyInterpreterFrame *frame, visitproc visit, void *arg) { Py_VISIT(frame->frame_obj); Py_VISIT(frame->f_locals); - Py_VISIT(frame->f_func); + Py_VISIT(frame->f_funcobj); Py_VISIT(frame->f_code); /* locals */ PyObject **locals = _PyFrame_GetLocalsArray(frame); @@ -27,17 +29,14 @@ PyFrameObject * _PyFrame_MakeAndSetFrameObject(_PyInterpreterFrame *frame) { assert(frame->frame_obj == NULL); - PyObject *error_type, *error_value, *error_traceback; - PyErr_Fetch(&error_type, &error_value, &error_traceback); + PyObject *exc = PyErr_GetRaisedException(); PyFrameObject *f = _PyFrame_New_NoTrack(frame->f_code); if (f == NULL) { - Py_XDECREF(error_type); - Py_XDECREF(error_value); - Py_XDECREF(error_traceback); + Py_XDECREF(exc); return NULL; } - PyErr_Restore(error_type, error_value, error_traceback); + PyErr_SetRaisedException(exc); if (frame->frame_obj) { // GH-97002: How did we get into this horrible situation? Most likely, // allocating f triggered a GC collection, which ran some code that @@ -78,9 +77,11 @@ _PyFrame_Copy(_PyInterpreterFrame *src, _PyInterpreterFrame *dest) static void take_ownership(PyFrameObject *f, _PyInterpreterFrame *frame) { + assert(frame->owner != FRAME_OWNED_BY_CSTACK); assert(frame->owner != FRAME_OWNED_BY_FRAME_OBJECT); assert(frame->owner != FRAME_CLEARED); Py_ssize_t size = ((char*)&frame->localsplus[frame->stacktop]) - (char *)frame; + Py_INCREF(frame->f_code); memcpy((_PyInterpreterFrame *)f->_f_frame_data, frame, size); frame = (_PyInterpreterFrame *)f->_f_frame_data; f->f_frame = frame; @@ -93,11 +94,10 @@ take_ownership(PyFrameObject *f, _PyInterpreterFrame *frame) } assert(!_PyFrame_IsIncomplete(frame)); assert(f->f_back == NULL); - _PyInterpreterFrame *prev = frame->previous; - while (prev && _PyFrame_IsIncomplete(prev)) { - prev = prev->previous; - } + _PyInterpreterFrame *prev = _PyFrame_GetFirstComplete(frame->previous); + frame->previous = NULL; if (prev) { + assert(prev->owner != FRAME_OWNED_BY_CSTACK); /* Link PyFrameObjects.f_back and remove link through _PyInterpreterFrame.previous */ PyFrameObject *back = _PyFrame_GetFrameObject(prev); if (back == NULL) { @@ -109,7 +109,6 @@ take_ownership(PyFrameObject *f, _PyInterpreterFrame *frame) else { f->f_back = (PyFrameObject *)Py_NewRef(back); } - frame->previous = NULL; } if (!_PyObject_GC_IS_TRACKED((PyObject *)f)) { _PyObject_GC_TRACK((PyObject *)f); @@ -117,7 +116,7 @@ take_ownership(PyFrameObject *f, _PyInterpreterFrame *frame) } void -_PyFrame_Clear(_PyInterpreterFrame *frame) +_PyFrame_ClearExceptCode(_PyInterpreterFrame *frame) { /* It is the responsibility of the owning generator/coroutine * to have cleared the enclosing generator, if any. */ @@ -142,28 +141,27 @@ _PyFrame_Clear(_PyInterpreterFrame *frame) } Py_XDECREF(frame->frame_obj); Py_XDECREF(frame->f_locals); - Py_DECREF(frame->f_func); - Py_DECREF(frame->f_code); + Py_DECREF(frame->f_funcobj); } -/* Consumes reference to func */ -_PyInterpreterFrame * -_PyFrame_Push(PyThreadState *tstate, PyFunctionObject *func) +/* Unstable API functions */ + +PyObject * +PyUnstable_InterpreterFrame_GetCode(struct _PyInterpreterFrame *frame) { - PyCodeObject *code = (PyCodeObject *)func->func_code; - size_t size = code->co_nlocalsplus + code->co_stacksize + FRAME_SPECIALS_SIZE; - CALL_STAT_INC(frames_pushed); - _PyInterpreterFrame *new_frame = _PyThreadState_BumpFramePointer(tstate, size); - if (new_frame == NULL) { - Py_DECREF(func); - return NULL; - } - _PyFrame_InitializeSpecials(new_frame, func, NULL, code->co_nlocalsplus); - return new_frame; + PyObject *code = (PyObject *)frame->f_code; + Py_INCREF(code); + return code; +} + +int +PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame *frame) +{ + return _PyInterpreterFrame_LASTI(frame) * sizeof(_Py_CODEUNIT); } int -_PyInterpreterFrame_GetLine(_PyInterpreterFrame *frame) +PyUnstable_InterpreterFrame_GetLine(_PyInterpreterFrame *frame) { int addr = _PyInterpreterFrame_LASTI(frame) * sizeof(_Py_CODEUNIT); return PyCode_Addr2Line(frame->f_code, addr); diff --git a/contrib/tools/python3/src/Python/frozen.c b/contrib/tools/python3/src/Python/frozen.c index 8a2a7243537..f8e0b8b065a 100644 --- a/contrib/tools/python3/src/Python/frozen.c +++ b/contrib/tools/python3/src/Python/frozen.c @@ -8,7 +8,7 @@ * These files must be regenerated any time the corresponding .pyc * file would change (including with changes to the compiler, bytecode * format, marshal format). This can be done with "make regen-frozen". - * That make target just runs Tools/scripts/freeze_modules.py. + * That make target just runs Tools/build/freeze_modules.py. * * The freeze_modules.py script also determines which modules get * frozen. Update the list at the top of the script to add, remove, @@ -41,6 +41,29 @@ #include /* Includes for frozen modules: */ +#include "frozen_modules/importlib._bootstrap.h" +#include "frozen_modules/importlib._bootstrap_external.h" +#include "frozen_modules/zipimport.h" +#include "frozen_modules/abc.h" +#include "frozen_modules/codecs.h" +#include "frozen_modules/io.h" +#include "frozen_modules/_collections_abc.h" +#include "frozen_modules/_sitebuiltins.h" +#include "frozen_modules/genericpath.h" +#include "frozen_modules/ntpath.h" +#include "frozen_modules/posixpath.h" +#include "frozen_modules/os.h" +#include "frozen_modules/site.h" +#include "frozen_modules/stat.h" +#include "frozen_modules/importlib.util.h" +#include "frozen_modules/importlib.machinery.h" +#include "frozen_modules/runpy.h" +#include "frozen_modules/__hello__.h" +#include "frozen_modules/__phello__.h" +#include "frozen_modules/__phello__.ham.h" +#include "frozen_modules/__phello__.ham.eggs.h" +#include "frozen_modules/__phello__.spam.h" +#include "frozen_modules/frozen_only.h" /* End includes */ #define GET_CODE(name) _Py_get_##name##_toplevel @@ -57,7 +80,6 @@ extern PyObject *_Py_get__sitebuiltins_toplevel(void); extern PyObject *_Py_get_genericpath_toplevel(void); extern PyObject *_Py_get_ntpath_toplevel(void); extern PyObject *_Py_get_posixpath_toplevel(void); -extern PyObject *_Py_get_posixpath_toplevel(void); extern PyObject *_Py_get_os_toplevel(void); extern PyObject *_Py_get_site_toplevel(void); extern PyObject *_Py_get_stat_toplevel(void); @@ -65,59 +87,54 @@ extern PyObject *_Py_get_importlib_util_toplevel(void); extern PyObject *_Py_get_importlib_machinery_toplevel(void); extern PyObject *_Py_get_runpy_toplevel(void); extern PyObject *_Py_get___hello___toplevel(void); -extern PyObject *_Py_get___hello___toplevel(void); -extern PyObject *_Py_get___hello___toplevel(void); -extern PyObject *_Py_get___hello___toplevel(void); -extern PyObject *_Py_get___phello___toplevel(void); extern PyObject *_Py_get___phello___toplevel(void); extern PyObject *_Py_get___phello___ham_toplevel(void); -extern PyObject *_Py_get___phello___ham_toplevel(void); extern PyObject *_Py_get___phello___ham_eggs_toplevel(void); extern PyObject *_Py_get___phello___spam_toplevel(void); extern PyObject *_Py_get_frozen_only_toplevel(void); /* End extern declarations */ static const struct _frozen bootstrap_modules[] = { - {"_frozen_importlib", NULL, 0, false, GET_CODE(importlib__bootstrap)}, - {"_frozen_importlib_external", NULL, 0, false, GET_CODE(importlib__bootstrap_external)}, - {"zipimport", NULL, 0, false, GET_CODE(zipimport)}, + {"_frozen_importlib", _Py_M__importlib__bootstrap, (int)sizeof(_Py_M__importlib__bootstrap), false, GET_CODE(importlib__bootstrap)}, + {"_frozen_importlib_external", _Py_M__importlib__bootstrap_external, (int)sizeof(_Py_M__importlib__bootstrap_external), false, GET_CODE(importlib__bootstrap_external)}, + {"zipimport", _Py_M__zipimport, (int)sizeof(_Py_M__zipimport), false, GET_CODE(zipimport)}, {0, 0, 0} /* bootstrap sentinel */ }; static const struct _frozen stdlib_modules[] = { /* stdlib - startup, without site (python -S) */ - {"abc", NULL, 0, false, GET_CODE(abc)}, - {"codecs", NULL, 0, false, GET_CODE(codecs)}, - {"io", NULL, 0, false, GET_CODE(io)}, + {"abc", _Py_M__abc, (int)sizeof(_Py_M__abc), false, GET_CODE(abc)}, + {"codecs", _Py_M__codecs, (int)sizeof(_Py_M__codecs), false, GET_CODE(codecs)}, + {"io", _Py_M__io, (int)sizeof(_Py_M__io), false, GET_CODE(io)}, /* stdlib - startup, with site */ - {"_collections_abc", NULL, 0, false, GET_CODE(_collections_abc)}, - {"_sitebuiltins", NULL, 0, false, GET_CODE(_sitebuiltins)}, - {"genericpath", NULL, 0, false, GET_CODE(genericpath)}, - {"ntpath", NULL, 0, false, GET_CODE(ntpath)}, - {"posixpath", NULL, 0, false, GET_CODE(posixpath)}, - {"os.path", NULL, 0, false, GET_CODE(posixpath)}, - {"os", NULL, 0, false, GET_CODE(os)}, - {"site", NULL, 0, false, GET_CODE(site)}, - {"stat", NULL, 0, false, GET_CODE(stat)}, + {"_collections_abc", _Py_M___collections_abc, (int)sizeof(_Py_M___collections_abc), false, GET_CODE(_collections_abc)}, + {"_sitebuiltins", _Py_M___sitebuiltins, (int)sizeof(_Py_M___sitebuiltins), false, GET_CODE(_sitebuiltins)}, + {"genericpath", _Py_M__genericpath, (int)sizeof(_Py_M__genericpath), false, GET_CODE(genericpath)}, + {"ntpath", _Py_M__ntpath, (int)sizeof(_Py_M__ntpath), false, GET_CODE(ntpath)}, + {"posixpath", _Py_M__posixpath, (int)sizeof(_Py_M__posixpath), false, GET_CODE(posixpath)}, + {"os.path", _Py_M__posixpath, (int)sizeof(_Py_M__posixpath), false, GET_CODE(posixpath)}, + {"os", _Py_M__os, (int)sizeof(_Py_M__os), false, GET_CODE(os)}, + {"site", _Py_M__site, (int)sizeof(_Py_M__site), false, GET_CODE(site)}, + {"stat", _Py_M__stat, (int)sizeof(_Py_M__stat), false, GET_CODE(stat)}, /* runpy - run module with -m */ - {"importlib.util", NULL, 0, false, GET_CODE(importlib_util)}, - {"importlib.machinery", NULL, 0, false, GET_CODE(importlib_machinery)}, - {"runpy", NULL, 0, false, GET_CODE(runpy)}, + {"importlib.util", _Py_M__importlib_util, (int)sizeof(_Py_M__importlib_util), false, GET_CODE(importlib_util)}, + {"importlib.machinery", _Py_M__importlib_machinery, (int)sizeof(_Py_M__importlib_machinery), false, GET_CODE(importlib_machinery)}, + {"runpy", _Py_M__runpy, (int)sizeof(_Py_M__runpy), false, GET_CODE(runpy)}, {0, 0, 0} /* stdlib sentinel */ }; static const struct _frozen test_modules[] = { - {"__hello__", NULL, 0, false, GET_CODE(__hello__)}, - {"__hello_alias__", NULL, 0, false, GET_CODE(__hello__)}, - {"__phello_alias__", NULL, 0, true, GET_CODE(__hello__)}, - {"__phello_alias__.spam", NULL, 0, false, GET_CODE(__hello__)}, - {"__phello__", NULL, 0, true, GET_CODE(__phello__)}, - {"__phello__.__init__", NULL, 0, false, GET_CODE(__phello__)}, - {"__phello__.ham", NULL, 0, true, GET_CODE(__phello___ham)}, - {"__phello__.ham.__init__", NULL, 0, false, GET_CODE(__phello___ham)}, - {"__phello__.ham.eggs", NULL, 0, false, GET_CODE(__phello___ham_eggs)}, - {"__phello__.spam", NULL, 0, false, GET_CODE(__phello___spam)}, - {"__hello_only__", NULL, 0, false, GET_CODE(frozen_only)}, + {"__hello__", _Py_M____hello__, (int)sizeof(_Py_M____hello__), false, GET_CODE(__hello__)}, + {"__hello_alias__", _Py_M____hello__, (int)sizeof(_Py_M____hello__), false, GET_CODE(__hello__)}, + {"__phello_alias__", _Py_M____hello__, (int)sizeof(_Py_M____hello__), true, GET_CODE(__hello__)}, + {"__phello_alias__.spam", _Py_M____hello__, (int)sizeof(_Py_M____hello__), false, GET_CODE(__hello__)}, + {"__phello__", _Py_M____phello__, (int)sizeof(_Py_M____phello__), true, GET_CODE(__phello__)}, + {"__phello__.__init__", _Py_M____phello__, (int)sizeof(_Py_M____phello__), false, GET_CODE(__phello__)}, + {"__phello__.ham", _Py_M____phello___ham, (int)sizeof(_Py_M____phello___ham), true, GET_CODE(__phello___ham)}, + {"__phello__.ham.__init__", _Py_M____phello___ham, (int)sizeof(_Py_M____phello___ham), false, GET_CODE(__phello___ham)}, + {"__phello__.ham.eggs", _Py_M____phello___ham_eggs, (int)sizeof(_Py_M____phello___ham_eggs), false, GET_CODE(__phello___ham_eggs)}, + {"__phello__.spam", _Py_M____phello___spam, (int)sizeof(_Py_M____phello___spam), false, GET_CODE(__phello___spam)}, + {"__hello_only__", _Py_M__frozen_only, (int)sizeof(_Py_M__frozen_only), false, GET_CODE(frozen_only)}, {0, 0, 0} /* test sentinel */ }; const struct _frozen *_PyImport_FrozenBootstrap = bootstrap_modules; diff --git a/contrib/tools/python3/src/Python/frozen_modules/README.txt b/contrib/tools/python3/src/Python/frozen_modules/README.txt index 444167cc496..795bb0efad3 100644 --- a/contrib/tools/python3/src/Python/frozen_modules/README.txt +++ b/contrib/tools/python3/src/Python/frozen_modules/README.txt @@ -4,4 +4,4 @@ modules. Python/frozen.c depends on these files. Note that, other than the required frozen modules, none of these files are committed into the repo. -See Tools/scripts/freeze_modules.py for more info. +See Tools/build/freeze_modules.py for more info. diff --git a/contrib/tools/python3/src/Python/frozen_modules/__hello__.h b/contrib/tools/python3/src/Python/frozen_modules/__hello__.h new file mode 100644 index 00000000000..3325f05298a --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/__hello__.h @@ -0,0 +1,56 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M____hello__[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,0,0,0,0,243,100,0,0,0,151,0,100,0,90,0, + 2,0,71,0,100,1,132,0,100,2,171,2,0,0,0,0, + 0,0,90,1,2,0,71,0,100,3,132,0,100,4,171,2, + 0,0,0,0,0,0,90,2,2,0,71,0,100,5,132,0, + 100,6,171,2,0,0,0,0,0,0,90,3,100,7,132,0, + 90,4,101,5,100,8,107,40,0,0,114,8,2,0,101,4, + 171,0,0,0,0,0,0,0,1,0,121,9,121,9,41,10, + 84,99,0,0,0,0,0,0,0,0,0,0,0,0,1,0, + 0,0,0,0,0,0,243,16,0,0,0,151,0,101,0,90, + 1,100,0,90,2,100,1,90,3,121,2,41,3,218,16,84, + 101,115,116,70,114,111,122,101,110,85,116,102,56,95,49,245, + 2,0,0,0,194,182,78,169,4,218,8,95,95,110,97,109, + 101,95,95,218,10,95,95,109,111,100,117,108,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,169,0,243,0,0,0,0,250,18,60, + 102,114,111,122,101,110,32,95,95,104,101,108,108,111,95,95, + 62,114,3,0,0,0,114,3,0,0,0,3,0,0,0,243, + 5,0,0,0,132,0,218,4,16,114,11,0,0,0,114,3, + 0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0, + 1,0,0,0,0,0,0,0,243,16,0,0,0,151,0,101, + 0,90,1,100,0,90,2,100,1,90,3,121,2,41,3,218, + 16,84,101,115,116,70,114,111,122,101,110,85,116,102,56,95, + 50,117,2,0,0,0,207,128,78,114,5,0,0,0,114,10, + 0,0,0,114,11,0,0,0,114,12,0,0,0,114,15,0, + 0,0,114,15,0,0,0,6,0,0,0,114,13,0,0,0, + 114,11,0,0,0,114,15,0,0,0,99,0,0,0,0,0, + 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,243, + 16,0,0,0,151,0,101,0,90,1,100,0,90,2,100,1, + 90,3,121,2,41,3,218,16,84,101,115,116,70,114,111,122, + 101,110,85,116,102,56,95,52,117,4,0,0,0,240,159,152, + 128,78,114,5,0,0,0,114,10,0,0,0,114,11,0,0, + 0,114,12,0,0,0,114,17,0,0,0,114,17,0,0,0, + 9,0,0,0,115,5,0,0,0,132,0,218,4,20,114,11, + 0,0,0,114,17,0,0,0,99,0,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,3,0,0,0,243,26,0, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,100,1, + 171,1,0,0,0,0,0,0,1,0,121,0,41,2,78,122, + 12,72,101,108,108,111,32,119,111,114,108,100,33,41,1,218, + 5,112,114,105,110,116,114,10,0,0,0,114,11,0,0,0, + 114,12,0,0,0,218,4,109,97,105,110,114,20,0,0,0, + 12,0,0,0,115,10,0,0,0,128,0,220,4,9,136,46, + 213,4,25,114,11,0,0,0,218,8,95,95,109,97,105,110, + 95,95,78,41,6,218,11,105,110,105,116,105,97,108,105,122, + 101,100,114,3,0,0,0,114,15,0,0,0,114,17,0,0, + 0,114,20,0,0,0,114,6,0,0,0,114,10,0,0,0, + 114,11,0,0,0,114,12,0,0,0,250,8,60,109,111,100, + 117,108,101,62,114,23,0,0,0,1,0,0,0,115,65,0, + 0,0,240,3,1,1,1,216,14,18,128,11,247,4,1,1, + 17,241,0,1,1,17,247,6,1,1,17,241,0,1,1,17, + 247,6,1,1,21,241,0,1,1,21,242,6,1,1,26,240, + 6,0,4,12,136,122,210,3,25,217,4,8,133,70,240,3, + 0,4,26,114,11,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/__phello__.h b/contrib/tools/python3/src/Python/frozen_modules/__phello__.h new file mode 100644 index 00000000000..70394ad9b82 --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/__phello__.h @@ -0,0 +1,24 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M____phello__[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, + 0,0,0,0,0,243,40,0,0,0,151,0,100,0,90,0, + 100,1,132,0,90,1,101,2,100,2,107,40,0,0,114,8, + 2,0,101,1,171,0,0,0,0,0,0,0,1,0,121,3, + 121,3,41,4,84,99,0,0,0,0,0,0,0,0,0,0, + 0,0,3,0,0,0,3,0,0,0,243,26,0,0,0,151, + 0,116,1,0,0,0,0,0,0,0,0,100,1,171,1,0, + 0,0,0,0,0,1,0,121,0,41,2,78,122,12,72,101, + 108,108,111,32,119,111,114,108,100,33,41,1,218,5,112,114, + 105,110,116,169,0,243,0,0,0,0,250,19,60,102,114,111, + 122,101,110,32,95,95,112,104,101,108,108,111,95,95,62,218, + 4,109,97,105,110,114,7,0,0,0,3,0,0,0,115,10, + 0,0,0,128,0,220,4,9,136,46,213,4,25,114,5,0, + 0,0,218,8,95,95,109,97,105,110,95,95,78,41,3,218, + 11,105,110,105,116,105,97,108,105,122,101,100,114,7,0,0, + 0,218,8,95,95,110,97,109,101,95,95,114,4,0,0,0, + 114,5,0,0,0,114,6,0,0,0,250,8,60,109,111,100, + 117,108,101,62,114,11,0,0,0,1,0,0,0,115,35,0, + 0,0,240,3,1,1,1,216,14,18,128,11,242,4,1,1, + 26,240,6,0,4,12,136,122,210,3,25,217,4,8,133,70, + 240,3,0,4,26,114,5,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/__phello__.ham.eggs.h b/contrib/tools/python3/src/Python/frozen_modules/__phello__.ham.eggs.h new file mode 100644 index 00000000000..26151b1ccfe --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/__phello__.ham.eggs.h @@ -0,0 +1,10 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M____phello___ham_eggs[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,243,4,0,0,0,151,0,121,0,41,1, + 78,169,0,114,2,0,0,0,243,0,0,0,0,250,28,60, + 102,114,111,122,101,110,32,95,95,112,104,101,108,108,111,95, + 95,46,104,97,109,46,101,103,103,115,62,250,8,60,109,111, + 100,117,108,101,62,114,5,0,0,0,1,0,0,0,115,5, + 0,0,0,241,3,1,1,1,114,3,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/__phello__.ham.h b/contrib/tools/python3/src/Python/frozen_modules/__phello__.ham.h new file mode 100644 index 00000000000..04fbf313adc --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/__phello__.ham.h @@ -0,0 +1,10 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M____phello___ham[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,243,4,0,0,0,151,0,121,0,41,1, + 78,169,0,114,2,0,0,0,243,0,0,0,0,250,23,60, + 102,114,111,122,101,110,32,95,95,112,104,101,108,108,111,95, + 95,46,104,97,109,62,250,8,60,109,111,100,117,108,101,62, + 114,5,0,0,0,1,0,0,0,115,5,0,0,0,241,3, + 1,1,1,114,3,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/__phello__.spam.h b/contrib/tools/python3/src/Python/frozen_modules/__phello__.spam.h new file mode 100644 index 00000000000..a9903d8224c --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/__phello__.spam.h @@ -0,0 +1,24 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M____phello___spam[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, + 0,0,0,0,0,243,40,0,0,0,151,0,100,0,90,0, + 100,1,132,0,90,1,101,2,100,2,107,40,0,0,114,8, + 2,0,101,1,171,0,0,0,0,0,0,0,1,0,121,3, + 121,3,41,4,84,99,0,0,0,0,0,0,0,0,0,0, + 0,0,3,0,0,0,3,0,0,0,243,26,0,0,0,151, + 0,116,1,0,0,0,0,0,0,0,0,100,1,171,1,0, + 0,0,0,0,0,1,0,121,0,41,2,78,122,12,72,101, + 108,108,111,32,119,111,114,108,100,33,41,1,218,5,112,114, + 105,110,116,169,0,243,0,0,0,0,250,24,60,102,114,111, + 122,101,110,32,95,95,112,104,101,108,108,111,95,95,46,115, + 112,97,109,62,218,4,109,97,105,110,114,7,0,0,0,3, + 0,0,0,115,10,0,0,0,128,0,220,4,9,136,46,213, + 4,25,114,5,0,0,0,218,8,95,95,109,97,105,110,95, + 95,78,41,3,218,11,105,110,105,116,105,97,108,105,122,101, + 100,114,7,0,0,0,218,8,95,95,110,97,109,101,95,95, + 114,4,0,0,0,114,5,0,0,0,114,6,0,0,0,250, + 8,60,109,111,100,117,108,101,62,114,11,0,0,0,1,0, + 0,0,115,35,0,0,0,240,3,1,1,1,216,14,18,128, + 11,242,4,1,1,26,240,6,0,4,12,136,122,210,3,25, + 217,4,8,133,70,240,3,0,4,26,114,5,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/_collections_abc.h b/contrib/tools/python3/src/Python/frozen_modules/_collections_abc.h new file mode 100644 index 00000000000..07817070698 --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/_collections_abc.h @@ -0,0 +1,2871 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M___collections_abc[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0, + 0,0,0,0,0,243,90,10,0,0,151,0,100,0,90,0, + 100,1,100,2,108,1,109,2,90,2,109,3,90,3,1,0, + 100,1,100,3,108,4,90,4,2,0,101,5,101,6,101,7, + 25,0,0,0,171,1,0,0,0,0,0,0,90,8,2,0, + 101,5,100,4,171,1,0,0,0,0,0,0,90,9,100,5, + 132,0,90,10,2,0,101,5,101,10,171,1,0,0,0,0, + 0,0,90,11,91,10,103,0,100,6,162,1,90,12,100,7, + 90,13,2,0,101,5,2,0,101,14,100,8,171,1,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,90,15,2,0, + 101,5,2,0,101,14,2,0,101,16,171,0,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,90,17,2,0,101,5,2,0,101,14,105,0,106,37, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,90,19,2,0,101,5, + 2,0,101,14,105,0,106,41,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,90,21,2,0,101,5,2,0,101,14,105,0,106,45, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,90,23,2,0,101,5, + 2,0,101,14,103,0,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,90,24,2,0,101,5,2,0,101,14, + 2,0,101,25,103,0,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,90,26, + 2,0,101,5,2,0,101,14,2,0,101,27,100,1,171,1, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,90,28,2,0,101,5,2,0,101,14, + 2,0,101,27,100,9,100,10,122,3,0,0,171,1,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,90,29,2,0,101,5,2,0,101,14,2,0, + 101,30,171,0,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,90,31,2,0,101,5, + 2,0,101,14,100,11,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,90,32,2,0,101,5,2,0,101,14, + 100,12,171,1,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,90,33,2,0,101,5,2,0,101,14,2,0,101,34, + 171,0,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,90,35,2,0,101,5,105,0, + 106,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,90,36,2,0,101,5,105,0,106,41,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 90,37,2,0,101,5,105,0,106,45,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,90,38,2,0, + 101,5,101,5,106,78,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 90,40,2,0,101,5,2,0,100,13,132,0,171,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,90,41,100,14, + 132,0,90,42,2,0,101,42,171,0,0,0,0,0,0,0, + 90,42,2,0,101,5,101,42,171,1,0,0,0,0,0,0, + 90,43,101,42,106,89,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0, + 1,0,91,42,100,15,132,0,90,45,2,0,101,45,171,0, + 0,0,0,0,0,0,90,45,2,0,101,5,101,45,171,1, + 0,0,0,0,0,0,90,46,91,45,100,16,132,0,90,47, + 2,0,71,0,100,17,132,0,100,18,101,2,172,19,171,3, + 0,0,0,0,0,0,90,48,2,0,71,0,100,20,132,0, + 100,21,101,2,172,19,171,3,0,0,0,0,0,0,90,49, + 2,0,71,0,100,22,132,0,100,23,101,49,171,3,0,0, + 0,0,0,0,90,50,101,50,106,103,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,101,43,171,1, + 0,0,0,0,0,0,1,0,2,0,71,0,100,24,132,0, + 100,25,101,2,172,19,171,3,0,0,0,0,0,0,90,52, + 2,0,71,0,100,26,132,0,100,27,101,52,171,3,0,0, + 0,0,0,0,90,53,2,0,71,0,100,28,132,0,100,29, + 101,53,171,3,0,0,0,0,0,0,90,54,101,54,106,103, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,101,46,171,1,0,0,0,0,0,0,1,0,2,0, + 71,0,100,30,132,0,100,31,101,2,172,19,171,3,0,0, + 0,0,0,0,90,55,2,0,71,0,100,32,132,0,100,33, + 101,55,171,3,0,0,0,0,0,0,90,56,101,56,106,103, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,101,15,171,1,0,0,0,0,0,0,1,0,101,56, + 106,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,101,17,171,1,0,0,0,0,0,0,1,0, + 101,56,106,103,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,101,19,171,1,0,0,0,0,0,0, + 1,0,101,56,106,103,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,101,21,171,1,0,0,0,0, + 0,0,1,0,101,56,106,103,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,101,23,171,1,0,0, + 0,0,0,0,1,0,101,56,106,103,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,101,24,171,1, + 0,0,0,0,0,0,1,0,101,56,106,103,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,26, + 171,1,0,0,0,0,0,0,1,0,101,56,106,103,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 101,28,171,1,0,0,0,0,0,0,1,0,101,56,106,103, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,101,29,171,1,0,0,0,0,0,0,1,0,101,56, + 106,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,101,31,171,1,0,0,0,0,0,0,1,0, + 101,56,106,103,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,101,32,171,1,0,0,0,0,0,0, + 1,0,101,56,106,103,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,101,33,171,1,0,0,0,0, + 0,0,1,0,101,56,106,103,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,101,35,171,1,0,0, + 0,0,0,0,1,0,2,0,71,0,100,34,132,0,100,35, + 101,55,171,3,0,0,0,0,0,0,90,57,2,0,71,0, + 100,36,132,0,100,37,101,56,171,3,0,0,0,0,0,0, + 90,58,101,58,106,103,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,101,41,171,1,0,0,0,0, + 0,0,1,0,2,0,71,0,100,38,132,0,100,39,101,2, + 172,19,171,3,0,0,0,0,0,0,90,59,2,0,71,0, + 100,40,132,0,100,41,101,2,172,19,171,3,0,0,0,0, + 0,0,90,60,2,0,71,0,100,42,132,0,100,43,101,59, + 101,55,101,60,171,5,0,0,0,0,0,0,90,61,2,0, + 71,0,100,44,132,0,100,45,101,2,172,19,171,3,0,0, + 0,0,0,0,90,62,2,0,71,0,100,46,132,0,100,47, + 101,8,171,3,0,0,0,0,0,0,90,63,100,48,132,0, + 90,64,100,49,132,0,90,65,2,0,71,0,100,50,132,0, + 100,51,101,2,172,19,171,3,0,0,0,0,0,0,90,66, + 2,0,71,0,100,52,132,0,100,53,101,61,171,3,0,0, + 0,0,0,0,90,67,101,67,106,103,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,101,68,171,1, + 0,0,0,0,0,0,1,0,2,0,71,0,100,54,132,0, + 100,55,101,67,171,3,0,0,0,0,0,0,90,69,101,69, + 106,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,101,30,171,1,0,0,0,0,0,0,1,0, + 2,0,71,0,100,56,132,0,100,57,101,61,171,3,0,0, + 0,0,0,0,90,70,101,70,106,103,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,101,40,171,1, + 0,0,0,0,0,0,1,0,2,0,71,0,100,58,132,0, + 100,59,101,59,171,3,0,0,0,0,0,0,90,71,2,0, + 71,0,100,60,132,0,100,61,101,71,101,67,171,4,0,0, + 0,0,0,0,90,72,101,72,106,103,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,101,36,171,1, + 0,0,0,0,0,0,1,0,2,0,71,0,100,62,132,0, + 100,63,101,71,101,67,171,4,0,0,0,0,0,0,90,73, + 101,73,106,103,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,101,38,171,1,0,0,0,0,0,0, + 1,0,2,0,71,0,100,64,132,0,100,65,101,71,101,61, + 171,4,0,0,0,0,0,0,90,74,101,74,106,103,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 101,37,171,1,0,0,0,0,0,0,1,0,2,0,71,0, + 100,66,132,0,100,67,101,70,171,3,0,0,0,0,0,0, + 90,75,101,75,106,103,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,101,76,171,1,0,0,0,0, + 0,0,1,0,2,0,71,0,100,68,132,0,100,69,101,57, + 101,61,171,4,0,0,0,0,0,0,90,77,101,77,106,103, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,101,78,171,1,0,0,0,0,0,0,1,0,101,77, + 106,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,101,79,171,1,0,0,0,0,0,0,1,0, + 101,77,106,103,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,101,27,171,1,0,0,0,0,0,0, + 1,0,101,77,106,103,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,101,80,171,1,0,0,0,0, + 0,0,1,0,2,0,71,0,100,70,132,0,100,71,101,2, + 171,3,0,0,0,0,0,0,90,81,2,0,71,0,100,72, + 132,0,100,73,101,77,101,81,172,19,171,4,0,0,0,0, + 0,0,90,82,101,82,106,103,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,101,83,171,1,0,0, + 0,0,0,0,1,0,101,82,106,103,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,101,16,171,1, + 0,0,0,0,0,0,1,0,2,0,71,0,100,74,132,0, + 100,75,101,77,171,3,0,0,0,0,0,0,90,84,101,84, + 106,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,101,6,171,1,0,0,0,0,0,0,1,0, + 101,84,106,103,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,101,16,171,1,0,0,0,0,0,0, + 1,0,121,3,41,76,122,106,65,98,115,116,114,97,99,116, + 32,66,97,115,101,32,67,108,97,115,115,101,115,32,40,65, + 66,67,115,41,32,102,111,114,32,99,111,108,108,101,99,116, + 105,111,110,115,44,32,97,99,99,111,114,100,105,110,103,32, + 116,111,32,80,69,80,32,51,49,49,57,46,10,10,85,110, + 105,116,32,116,101,115,116,115,32,97,114,101,32,105,110,32, + 116,101,115,116,95,99,111,108,108,101,99,116,105,111,110,115, + 46,10,233,0,0,0,0,41,2,218,7,65,66,67,77,101, + 116,97,218,14,97,98,115,116,114,97,99,116,109,101,116,104, + 111,100,78,46,99,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,243,4,0,0,0,151,0, + 121,0,169,1,78,169,0,114,7,0,0,0,243,0,0,0, + 0,250,25,60,102,114,111,122,101,110,32,95,99,111,108,108, + 101,99,116,105,111,110,115,95,97,98,99,62,218,2,95,102, + 114,10,0,0,0,40,0,0,0,115,2,0,0,0,129,0, + 114,8,0,0,0,41,26,218,9,65,119,97,105,116,97,98, + 108,101,218,9,67,111,114,111,117,116,105,110,101,218,13,65, + 115,121,110,99,73,116,101,114,97,98,108,101,218,13,65,115, + 121,110,99,73,116,101,114,97,116,111,114,218,14,65,115,121, + 110,99,71,101,110,101,114,97,116,111,114,218,8,72,97,115, + 104,97,98,108,101,218,8,73,116,101,114,97,98,108,101,218, + 8,73,116,101,114,97,116,111,114,218,9,71,101,110,101,114, + 97,116,111,114,218,10,82,101,118,101,114,115,105,98,108,101, + 218,5,83,105,122,101,100,218,9,67,111,110,116,97,105,110, + 101,114,218,8,67,97,108,108,97,98,108,101,218,10,67,111, + 108,108,101,99,116,105,111,110,218,3,83,101,116,218,10,77, + 117,116,97,98,108,101,83,101,116,218,7,77,97,112,112,105, + 110,103,218,14,77,117,116,97,98,108,101,77,97,112,112,105, + 110,103,218,11,77,97,112,112,105,110,103,86,105,101,119,218, + 8,75,101,121,115,86,105,101,119,218,9,73,116,101,109,115, + 86,105,101,119,218,10,86,97,108,117,101,115,86,105,101,119, + 218,8,83,101,113,117,101,110,99,101,218,15,77,117,116,97, + 98,108,101,83,101,113,117,101,110,99,101,218,10,66,121,116, + 101,83,116,114,105,110,103,218,6,66,117,102,102,101,114,122, + 15,99,111,108,108,101,99,116,105,111,110,115,46,97,98,99, + 114,8,0,0,0,233,1,0,0,0,105,232,3,0,0,218, + 0,114,7,0,0,0,99,0,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,35,0,0,0,243,14,0,0,0, + 75,0,1,0,151,0,100,0,150,0,151,1,83,0,114,6, + 0,0,0,114,7,0,0,0,114,7,0,0,0,114,8,0, + 0,0,114,9,0,0,0,250,8,60,108,97,109,98,100,97, + 62,114,40,0,0,0,88,0,0,0,115,7,0,0,0,232, + 0,248,128,0,155,53,114,8,0,0,0,99,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,131,0,0,0, + 243,12,0,0,0,75,0,1,0,151,0,121,0,173,3,119, + 1,114,6,0,0,0,114,7,0,0,0,114,7,0,0,0, + 114,8,0,0,0,114,9,0,0,0,218,5,95,99,111,114, + 111,114,42,0,0,0,90,0,0,0,115,6,0,0,0,232, + 0,248,129,0,249,243,4,0,0,0,130,2,4,1,99,0, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3, + 2,0,0,243,22,0,0,0,75,0,1,0,151,0,100,0, + 173,4,150,1,151,1,1,0,121,0,173,3,119,1,114,6, + 0,0,0,114,7,0,0,0,114,7,0,0,0,114,8,0, + 0,0,114,9,0,0,0,218,3,95,97,103,114,45,0,0, + 0,96,0,0,0,115,8,0,0,0,232,0,248,128,0,149, + 21,249,243,4,0,0,0,130,7,9,1,99,1,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,7,0,0,0, + 243,152,0,0,0,151,0,124,0,106,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,125,2,124, + 1,68,0,93,57,0,0,125,3,124,2,68,0,93,43,0, + 0,125,4,124,3,124,4,106,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,118,0,115,1,140, + 18,124,4,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,3,25,0,0,0,128,10,116, + 4,0,0,0,0,0,0,0,0,99,2,1,0,99,2,1, + 0,83,0,1,0,140,50,4,0,116,4,0,0,0,0,0, + 0,0,0,99,2,1,0,83,0,4,0,121,1,41,2,78, + 84,41,3,218,7,95,95,109,114,111,95,95,218,8,95,95, + 100,105,99,116,95,95,218,14,78,111,116,73,109,112,108,101, + 109,101,110,116,101,100,41,5,218,1,67,218,7,109,101,116, + 104,111,100,115,218,3,109,114,111,218,6,109,101,116,104,111, + 100,218,1,66,115,5,0,0,0,32,32,32,32,32,114,9, + 0,0,0,218,14,95,99,104,101,99,107,95,109,101,116,104, + 111,100,115,114,56,0,0,0,104,0,0,0,115,90,0,0, + 0,128,0,216,10,11,143,41,137,41,128,67,216,18,25,242, + 0,7,5,34,136,6,216,17,20,242,0,6,9,34,136,65, + 216,15,21,152,17,159,26,153,26,210,15,35,216,19,20,151, + 58,145,58,152,102,209,19,37,208,19,45,220,27,41,212,20, + 41,217,16,21,240,9,6,9,34,244,12,0,20,34,210,12, + 33,240,15,7,5,34,240,16,0,12,16,114,8,0,0,0, + 99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, + 0,0,0,0,0,243,48,0,0,0,151,0,101,0,90,1, + 100,0,90,2,100,1,90,3,101,4,100,2,132,0,171,0, + 0,0,0,0,0,0,90,5,101,6,100,3,132,0,171,0, + 0,0,0,0,0,0,90,7,121,4,41,5,114,16,0,0, + 0,114,7,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,243,4,0,0,0, + 151,0,121,1,169,2,78,114,2,0,0,0,114,7,0,0, + 0,169,1,218,4,115,101,108,102,115,1,0,0,0,32,114, + 9,0,0,0,218,8,95,95,104,97,115,104,95,95,122,17, + 72,97,115,104,97,98,108,101,46,95,95,104,97,115,104,95, + 95,120,0,0,0,243,5,0,0,0,128,0,224,15,16,114, + 8,0,0,0,99,2,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,3,0,0,0,243,54,0,0,0,151,0, + 124,0,116,0,0,0,0,0,0,0,0,0,117,0,114,12, + 116,3,0,0,0,0,0,0,0,0,124,1,100,1,171,2, + 0,0,0,0,0,0,83,0,116,4,0,0,0,0,0,0, + 0,0,83,0,41,2,78,114,62,0,0,0,41,3,114,16, + 0,0,0,114,56,0,0,0,114,50,0,0,0,169,2,218, + 3,99,108,115,114,51,0,0,0,115,2,0,0,0,32,32, + 114,9,0,0,0,218,16,95,95,115,117,98,99,108,97,115, + 115,104,111,111,107,95,95,122,25,72,97,115,104,97,98,108, + 101,46,95,95,115,117,98,99,108,97,115,115,104,111,111,107, + 95,95,124,0,0,0,243,28,0,0,0,128,0,224,11,14, + 148,40,137,63,220,19,33,160,33,160,90,211,19,48,208,12, + 48,220,15,29,208,8,29,114,8,0,0,0,78,41,8,218, + 8,95,95,110,97,109,101,95,95,218,10,95,95,109,111,100, + 117,108,101,95,95,218,12,95,95,113,117,97,108,110,97,109, + 101,95,95,218,9,95,95,115,108,111,116,115,95,95,114,4, + 0,0,0,114,62,0,0,0,218,11,99,108,97,115,115,109, + 101,116,104,111,100,114,67,0,0,0,114,7,0,0,0,114, + 8,0,0,0,114,9,0,0,0,114,16,0,0,0,114,16, + 0,0,0,116,0,0,0,243,45,0,0,0,132,0,224,16, + 18,128,73,224,5,19,241,2,1,5,17,243,3,0,6,20, + 240,2,1,5,17,240,6,0,6,17,241,2,3,5,30,243, + 3,0,6,17,241,2,3,5,30,114,8,0,0,0,114,16, + 0,0,0,41,1,218,9,109,101,116,97,99,108,97,115,115, + 99,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,0,0,0,0,243,64,0,0,0,151,0,101,0,90,1, + 100,0,90,2,100,1,90,3,101,4,100,2,132,0,171,0, + 0,0,0,0,0,0,90,5,101,6,100,3,132,0,171,0, + 0,0,0,0,0,0,90,7,2,0,101,6,101,8,171,1, + 0,0,0,0,0,0,90,9,121,4,41,5,114,11,0,0, + 0,114,7,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,2,0,0,0,35,0,0,0,243,20,0,0,0, + 75,0,1,0,151,0,100,0,150,1,151,1,1,0,121,0, + 173,3,119,1,114,6,0,0,0,114,7,0,0,0,114,60, + 0,0,0,115,1,0,0,0,32,114,9,0,0,0,218,9, + 95,95,97,119,97,105,116,95,95,122,19,65,119,97,105,116, + 97,98,108,101,46,95,95,97,119,97,105,116,95,95,135,0, + 0,0,115,9,0,0,0,232,0,248,128,0,228,8,13,249, + 115,4,0,0,0,130,6,8,1,99,2,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,54, + 0,0,0,151,0,124,0,116,0,0,0,0,0,0,0,0, + 0,117,0,114,12,116,3,0,0,0,0,0,0,0,0,124, + 1,100,1,171,2,0,0,0,0,0,0,83,0,116,4,0, + 0,0,0,0,0,0,0,83,0,41,2,78,114,78,0,0, + 0,41,3,114,11,0,0,0,114,56,0,0,0,114,50,0, + 0,0,114,65,0,0,0,115,2,0,0,0,32,32,114,9, + 0,0,0,114,67,0,0,0,122,26,65,119,97,105,116,97, + 98,108,101,46,95,95,115,117,98,99,108,97,115,115,104,111, + 111,107,95,95,139,0,0,0,115,29,0,0,0,128,0,224, + 11,14,148,41,209,11,27,220,19,33,160,33,160,91,211,19, + 49,208,12,49,220,15,29,208,8,29,114,8,0,0,0,78, + 41,10,114,69,0,0,0,114,70,0,0,0,114,71,0,0, + 0,114,72,0,0,0,114,4,0,0,0,114,78,0,0,0, + 114,73,0,0,0,114,67,0,0,0,218,12,71,101,110,101, + 114,105,99,65,108,105,97,115,218,17,95,95,99,108,97,115, + 115,95,103,101,116,105,116,101,109,95,95,114,7,0,0,0, + 114,8,0,0,0,114,9,0,0,0,114,11,0,0,0,114, + 11,0,0,0,131,0,0,0,115,58,0,0,0,132,0,224, + 16,18,128,73,224,5,19,241,2,1,5,14,243,3,0,6, + 20,240,2,1,5,14,240,6,0,6,17,241,2,3,5,30, + 243,3,0,6,17,240,2,3,5,30,241,10,0,25,36,160, + 76,211,24,49,209,4,21,114,8,0,0,0,114,11,0,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,3,0, + 0,0,0,0,0,0,243,72,0,0,0,151,0,101,0,90, + 1,100,0,90,2,100,1,90,3,101,4,100,2,132,0,171, + 0,0,0,0,0,0,0,90,5,101,4,100,7,100,4,132, + 1,171,0,0,0,0,0,0,0,90,6,100,5,132,0,90, + 7,101,8,100,6,132,0,171,0,0,0,0,0,0,0,90, + 9,121,3,41,8,114,12,0,0,0,114,7,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 3,0,0,0,243,14,0,0,0,151,0,116,0,0,0,0, + 0,0,0,0,0,130,1,41,1,122,99,83,101,110,100,32, + 97,32,118,97,108,117,101,32,105,110,116,111,32,116,104,101, + 32,99,111,114,111,117,116,105,110,101,46,10,32,32,32,32, + 32,32,32,32,82,101,116,117,114,110,32,110,101,120,116,32, + 121,105,101,108,100,101,100,32,118,97,108,117,101,32,111,114, + 32,114,97,105,115,101,32,83,116,111,112,73,116,101,114,97, + 116,105,111,110,46,10,32,32,32,32,32,32,32,32,169,1, + 218,13,83,116,111,112,73,116,101,114,97,116,105,111,110,169, + 2,114,61,0,0,0,218,5,118,97,108,117,101,115,2,0, + 0,0,32,32,114,9,0,0,0,218,4,115,101,110,100,122, + 14,67,111,114,111,117,116,105,110,101,46,115,101,110,100,152, + 0,0,0,243,10,0,0,0,128,0,244,10,0,15,28,208, + 8,27,114,8,0,0,0,78,99,4,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,3,0,0,0,243,70,0, + 0,0,151,0,124,2,128,11,124,3,128,2,124,1,130,1, + 2,0,124,1,171,0,0,0,0,0,0,0,125,2,124,3, + 129,17,124,2,106,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,3,171,1,0,0,0,0, + 0,0,125,2,124,2,130,1,41,1,122,103,82,97,105,115, + 101,32,97,110,32,101,120,99,101,112,116,105,111,110,32,105, + 110,32,116,104,101,32,99,111,114,111,117,116,105,110,101,46, + 10,32,32,32,32,32,32,32,32,82,101,116,117,114,110,32, + 110,101,120,116,32,121,105,101,108,100,101,100,32,118,97,108, + 117,101,32,111,114,32,114,97,105,115,101,32,83,116,111,112, + 73,116,101,114,97,116,105,111,110,46,10,32,32,32,32,32, + 32,32,32,169,1,218,14,119,105,116,104,95,116,114,97,99, + 101,98,97,99,107,169,4,114,61,0,0,0,218,3,116,121, + 112,218,3,118,97,108,218,2,116,98,115,4,0,0,0,32, + 32,32,32,114,9,0,0,0,218,5,116,104,114,111,119,122, + 15,67,111,114,111,117,116,105,110,101,46,116,104,114,111,119, + 159,0,0,0,243,52,0,0,0,128,0,240,10,0,12,15, + 136,59,216,15,17,136,122,216,22,25,144,9,217,18,21,147, + 37,136,67,216,11,13,136,62,216,18,21,215,18,36,209,18, + 36,160,82,211,18,40,136,67,216,14,17,136,9,114,8,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,3,0,0,0,243,110,0,0,0,151,0,9,0, + 124,0,106,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,116,2,0,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,1,0,116,5,0,0,0,0, + 0,0,0,0,100,1,171,1,0,0,0,0,0,0,130,1, + 35,0,116,2,0,0,0,0,0,0,0,0,116,6,0,0, + 0,0,0,0,0,0,102,2,36,0,114,3,1,0,89,0, + 121,2,119,0,120,3,89,0,119,1,41,3,250,46,82,97, + 105,115,101,32,71,101,110,101,114,97,116,111,114,69,120,105, + 116,32,105,110,115,105,100,101,32,99,111,114,111,117,116,105, + 110,101,46,10,32,32,32,32,32,32,32,32,122,31,99,111, + 114,111,117,116,105,110,101,32,105,103,110,111,114,101,100,32, + 71,101,110,101,114,97,116,111,114,69,120,105,116,78,169,4, + 114,97,0,0,0,218,13,71,101,110,101,114,97,116,111,114, + 69,120,105,116,218,12,82,117,110,116,105,109,101,69,114,114, + 111,114,114,85,0,0,0,114,60,0,0,0,115,1,0,0, + 0,32,114,9,0,0,0,218,5,99,108,111,115,101,122,15, + 67,111,114,111,117,116,105,110,101,46,99,108,111,115,101,172, + 0,0,0,243,59,0,0,0,128,0,240,6,5,9,66,1, + 216,12,16,143,74,137,74,148,125,212,12,37,244,8,0,19, + 31,208,31,64,211,18,65,208,12,65,248,244,7,0,17,30, + 156,125,208,15,45,242,0,1,9,17,217,12,16,240,3,1, + 9,17,250,243,12,0,0,0,130,21,34,0,162,15,52,3, + 179,1,52,3,99,2,0,0,0,0,0,0,0,0,0,0, + 0,7,0,0,0,3,0,0,0,243,60,0,0,0,151,0, + 124,0,116,0,0,0,0,0,0,0,0,0,117,0,114,15, + 116,3,0,0,0,0,0,0,0,0,124,1,100,1,100,2, + 100,3,100,4,171,5,0,0,0,0,0,0,83,0,116,4, + 0,0,0,0,0,0,0,0,83,0,41,5,78,114,78,0, + 0,0,114,88,0,0,0,114,97,0,0,0,114,104,0,0, + 0,41,3,114,12,0,0,0,114,56,0,0,0,114,50,0, + 0,0,114,65,0,0,0,115,2,0,0,0,32,32,114,9, + 0,0,0,114,67,0,0,0,122,26,67,111,114,111,117,116, + 105,110,101,46,95,95,115,117,98,99,108,97,115,115,104,111, + 111,107,95,95,182,0,0,0,115,35,0,0,0,128,0,224, + 11,14,148,41,209,11,27,220,19,33,160,33,160,91,176,38, + 184,39,192,55,211,19,75,208,12,75,220,15,29,208,8,29, + 114,8,0,0,0,169,2,78,78,41,10,114,69,0,0,0, + 114,70,0,0,0,114,71,0,0,0,114,72,0,0,0,114, + 4,0,0,0,114,88,0,0,0,114,97,0,0,0,114,104, + 0,0,0,114,73,0,0,0,114,67,0,0,0,114,7,0, + 0,0,114,8,0,0,0,114,9,0,0,0,114,12,0,0, + 0,114,12,0,0,0,148,0,0,0,115,71,0,0,0,132, + 0,224,16,18,128,73,224,5,19,241,2,4,5,28,243,3, + 0,6,20,240,2,4,5,28,240,12,0,6,20,242,2,10, + 5,18,243,3,0,6,20,240,2,10,5,18,242,24,8,5, + 66,1,240,20,0,6,17,241,2,3,5,30,243,3,0,6, + 17,241,2,3,5,30,114,8,0,0,0,114,12,0,0,0, + 99,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,0,0,0,0,243,64,0,0,0,151,0,101,0,90,1, + 100,0,90,2,100,1,90,3,101,4,100,2,132,0,171,0, + 0,0,0,0,0,0,90,5,101,6,100,3,132,0,171,0, + 0,0,0,0,0,0,90,7,2,0,101,6,101,8,171,1, + 0,0,0,0,0,0,90,9,121,4,41,5,114,13,0,0, + 0,114,7,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,2,0,0,0,3,0,0,0,243,22,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,83,0,114,6,0,0,0,41,1,114,14,0, + 0,0,114,60,0,0,0,115,1,0,0,0,32,114,9,0, + 0,0,218,9,95,95,97,105,116,101,114,95,95,122,23,65, + 115,121,110,99,73,116,101,114,97,98,108,101,46,95,95,97, + 105,116,101,114,95,95,196,0,0,0,115,10,0,0,0,128, + 0,228,15,28,139,127,208,8,30,114,8,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3, + 0,0,0,243,54,0,0,0,151,0,124,0,116,0,0,0, + 0,0,0,0,0,0,117,0,114,12,116,3,0,0,0,0, + 0,0,0,0,124,1,100,1,171,2,0,0,0,0,0,0, + 83,0,116,4,0,0,0,0,0,0,0,0,83,0,41,2, + 78,114,111,0,0,0,41,3,114,13,0,0,0,114,56,0, + 0,0,114,50,0,0,0,114,65,0,0,0,115,2,0,0, + 0,32,32,114,9,0,0,0,114,67,0,0,0,122,30,65, + 115,121,110,99,73,116,101,114,97,98,108,101,46,95,95,115, + 117,98,99,108,97,115,115,104,111,111,107,95,95,200,0,0, + 0,115,29,0,0,0,128,0,224,11,14,148,45,209,11,31, + 220,19,33,160,33,160,91,211,19,49,208,12,49,220,15,29, + 208,8,29,114,8,0,0,0,78,41,10,114,69,0,0,0, + 114,70,0,0,0,114,71,0,0,0,114,72,0,0,0,114, + 4,0,0,0,114,111,0,0,0,114,73,0,0,0,114,67, + 0,0,0,114,80,0,0,0,114,81,0,0,0,114,7,0, + 0,0,114,8,0,0,0,114,9,0,0,0,114,13,0,0, + 0,114,13,0,0,0,192,0,0,0,115,58,0,0,0,132, + 0,224,16,18,128,73,224,5,19,241,2,1,5,31,243,3, + 0,6,20,240,2,1,5,31,240,6,0,6,17,241,2,3, + 5,30,243,3,0,6,17,240,2,3,5,30,241,10,0,25, + 36,160,76,211,24,49,209,4,21,114,8,0,0,0,114,13, + 0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,0,0,0,0,243,54,0,0,0,151,0,101, + 0,90,1,100,0,90,2,100,1,90,3,101,4,100,2,132, + 0,171,0,0,0,0,0,0,0,90,5,100,3,132,0,90, + 6,101,7,100,4,132,0,171,0,0,0,0,0,0,0,90, + 8,121,5,41,6,114,14,0,0,0,114,7,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, + 131,0,0,0,243,22,0,0,0,75,0,1,0,151,0,116, + 0,0,0,0,0,0,0,0,0,130,1,173,3,119,1,41, + 1,122,64,82,101,116,117,114,110,32,116,104,101,32,110,101, + 120,116,32,105,116,101,109,32,111,114,32,114,97,105,115,101, + 32,83,116,111,112,65,115,121,110,99,73,116,101,114,97,116, + 105,111,110,32,119,104,101,110,32,101,120,104,97,117,115,116, + 101,100,46,169,1,218,18,83,116,111,112,65,115,121,110,99, + 73,116,101,114,97,116,105,111,110,114,60,0,0,0,115,1, + 0,0,0,32,114,9,0,0,0,218,9,95,95,97,110,101, + 120,116,95,95,122,23,65,115,121,110,99,73,116,101,114,97, + 116,111,114,46,95,95,97,110,101,120,116,95,95,213,0,0, + 0,115,14,0,0,0,232,0,248,128,0,244,6,0,15,33, + 208,8,32,249,114,46,0,0,0,99,1,0,0,0,0,0, + 0,0,0,0,0,0,1,0,0,0,3,0,0,0,243,6, + 0,0,0,151,0,124,0,83,0,114,6,0,0,0,114,7, + 0,0,0,114,60,0,0,0,115,1,0,0,0,32,114,9, + 0,0,0,114,111,0,0,0,122,23,65,115,121,110,99,73, + 116,101,114,97,116,111,114,46,95,95,97,105,116,101,114,95, + 95,218,0,0,0,243,7,0,0,0,128,0,216,15,19,136, + 11,114,8,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,5,0,0,0,3,0,0,0,243,56,0,0,0, + 151,0,124,0,116,0,0,0,0,0,0,0,0,0,117,0, + 114,13,116,3,0,0,0,0,0,0,0,0,124,1,100,1, + 100,2,171,3,0,0,0,0,0,0,83,0,116,4,0,0, + 0,0,0,0,0,0,83,0,41,3,78,114,117,0,0,0, + 114,111,0,0,0,41,3,114,14,0,0,0,114,56,0,0, + 0,114,50,0,0,0,114,65,0,0,0,115,2,0,0,0, + 32,32,114,9,0,0,0,114,67,0,0,0,122,30,65,115, + 121,110,99,73,116,101,114,97,116,111,114,46,95,95,115,117, + 98,99,108,97,115,115,104,111,111,107,95,95,221,0,0,0, + 115,31,0,0,0,128,0,224,11,14,148,45,209,11,31,220, + 19,33,160,33,160,91,176,43,211,19,62,208,12,62,220,15, + 29,208,8,29,114,8,0,0,0,78,41,9,114,69,0,0, + 0,114,70,0,0,0,114,71,0,0,0,114,72,0,0,0, + 114,4,0,0,0,114,117,0,0,0,114,111,0,0,0,114, + 73,0,0,0,114,67,0,0,0,114,7,0,0,0,114,8, + 0,0,0,114,9,0,0,0,114,14,0,0,0,114,14,0, + 0,0,209,0,0,0,115,50,0,0,0,132,0,224,16,18, + 128,73,224,5,19,241,2,2,5,33,243,3,0,6,20,240, + 2,2,5,33,242,8,1,5,20,240,6,0,6,17,241,2, + 3,5,30,243,3,0,6,17,241,2,3,5,30,114,8,0, + 0,0,114,14,0,0,0,99,0,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,0,0,0,0,243,78,0,0, + 0,151,0,101,0,90,1,100,0,90,2,100,1,90,3,100, + 2,132,0,90,4,101,5,100,3,132,0,171,0,0,0,0, + 0,0,0,90,6,101,5,100,8,100,5,132,1,171,0,0, + 0,0,0,0,0,90,7,100,6,132,0,90,8,101,9,100, + 7,132,0,171,0,0,0,0,0,0,0,90,10,121,4,41, + 9,114,15,0,0,0,114,7,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,131,0,0,0, + 243,64,0,0,0,75,0,1,0,151,0,124,0,106,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,1,171,1,0,0,0,0,0,0,131,0,100,1,123, + 3,0,0,150,2,151,3,134,5,5,0,83,0,55,0,140, + 4,173,3,119,1,41,2,122,112,82,101,116,117,114,110,32, + 116,104,101,32,110,101,120,116,32,105,116,101,109,32,102,114, + 111,109,32,116,104,101,32,97,115,121,110,99,104,114,111,110, + 111,117,115,32,103,101,110,101,114,97,116,111,114,46,10,32, + 32,32,32,32,32,32,32,87,104,101,110,32,101,120,104,97, + 117,115,116,101,100,44,32,114,97,105,115,101,32,83,116,111, + 112,65,115,121,110,99,73,116,101,114,97,116,105,111,110,46, + 10,32,32,32,32,32,32,32,32,78,41,1,218,5,97,115, + 101,110,100,114,60,0,0,0,115,1,0,0,0,32,114,9, + 0,0,0,114,117,0,0,0,122,24,65,115,121,110,99,71, + 101,110,101,114,97,116,111,114,46,95,95,97,110,101,120,116, + 95,95,232,0,0,0,115,29,0,0,0,232,0,248,128,0, + 240,8,0,22,26,151,90,145,90,160,4,211,21,37,215,15, + 37,208,8,37,208,15,37,250,115,12,0,0,0,130,21,30, + 1,151,1,28,4,152,5,30,1,99,2,0,0,0,0,0, + 0,0,0,0,0,0,2,0,0,0,131,0,0,0,243,22, + 0,0,0,75,0,1,0,151,0,116,0,0,0,0,0,0, + 0,0,0,130,1,173,3,119,1,41,1,122,117,83,101,110, + 100,32,97,32,118,97,108,117,101,32,105,110,116,111,32,116, + 104,101,32,97,115,121,110,99,104,114,111,110,111,117,115,32, + 103,101,110,101,114,97,116,111,114,46,10,32,32,32,32,32, + 32,32,32,82,101,116,117,114,110,32,110,101,120,116,32,121, + 105,101,108,100,101,100,32,118,97,108,117,101,32,111,114,32, + 114,97,105,115,101,32,83,116,111,112,65,115,121,110,99,73, + 116,101,114,97,116,105,111,110,46,10,32,32,32,32,32,32, + 32,32,114,115,0,0,0,114,86,0,0,0,115,2,0,0, + 0,32,32,114,9,0,0,0,114,123,0,0,0,122,20,65, + 115,121,110,99,71,101,110,101,114,97,116,111,114,46,97,115, + 101,110,100,238,0,0,0,115,14,0,0,0,232,0,248,128, + 0,244,10,0,15,33,208,8,32,249,114,46,0,0,0,78, + 99,4,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,131,0,0,0,243,78,0,0,0,75,0,1,0,151,0, + 124,2,128,11,124,3,128,2,124,1,130,1,2,0,124,1, + 171,0,0,0,0,0,0,0,125,2,124,3,129,17,124,2, + 106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,3,171,1,0,0,0,0,0,0,125,2, + 124,2,130,1,173,3,119,1,41,1,122,121,82,97,105,115, + 101,32,97,110,32,101,120,99,101,112,116,105,111,110,32,105, + 110,32,116,104,101,32,97,115,121,110,99,104,114,111,110,111, + 117,115,32,103,101,110,101,114,97,116,111,114,46,10,32,32, + 32,32,32,32,32,32,82,101,116,117,114,110,32,110,101,120, + 116,32,121,105,101,108,100,101,100,32,118,97,108,117,101,32, + 111,114,32,114,97,105,115,101,32,83,116,111,112,65,115,121, + 110,99,73,116,101,114,97,116,105,111,110,46,10,32,32,32, + 32,32,32,32,32,114,91,0,0,0,114,93,0,0,0,115, + 4,0,0,0,32,32,32,32,114,9,0,0,0,218,6,97, + 116,104,114,111,119,122,21,65,115,121,110,99,71,101,110,101, + 114,97,116,111,114,46,97,116,104,114,111,119,245,0,0,0, + 115,56,0,0,0,232,0,248,128,0,240,10,0,12,15,136, + 59,216,15,17,136,122,216,22,25,144,9,217,18,21,147,37, + 136,67,216,11,13,136,62,216,18,21,215,18,36,209,18,36, + 160,82,211,18,40,136,67,216,14,17,136,9,249,115,4,0, + 0,0,130,35,37,1,99,1,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,131,0,0,0,243,138,0,0,0, + 75,0,1,0,151,0,9,0,124,0,106,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,2, + 0,0,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 131,0,100,1,123,3,0,0,150,3,151,3,134,5,5,0, + 1,0,116,5,0,0,0,0,0,0,0,0,100,2,171,1, + 0,0,0,0,0,0,130,1,55,0,140,15,35,0,116,2, + 0,0,0,0,0,0,0,0,116,6,0,0,0,0,0,0, + 0,0,102,2,36,0,114,3,1,0,89,0,121,1,119,0, + 120,3,89,0,119,1,173,3,119,1,41,3,114,100,0,0, + 0,78,122,44,97,115,121,110,99,104,114,111,110,111,117,115, + 32,103,101,110,101,114,97,116,111,114,32,105,103,110,111,114, + 101,100,32,71,101,110,101,114,97,116,111,114,69,120,105,116, + 41,4,114,126,0,0,0,114,102,0,0,0,114,103,0,0, + 0,114,116,0,0,0,114,60,0,0,0,115,1,0,0,0, + 32,114,9,0,0,0,218,6,97,99,108,111,115,101,122,21, + 65,115,121,110,99,71,101,110,101,114,97,116,111,114,46,97, + 99,108,111,115,101,2,1,0,0,115,72,0,0,0,232,0, + 248,128,0,240,6,5,9,79,1,216,18,22,151,43,145,43, + 156,109,211,18,44,215,12,44,208,12,44,244,8,0,19,31, + 208,31,77,211,18,78,208,12,78,240,9,0,13,45,249,220, + 16,29,212,31,49,208,15,50,242,0,1,9,17,217,12,16, + 240,3,1,9,17,252,115,47,0,0,0,130,1,65,3,1, + 132,24,46,0,156,1,44,4,157,4,46,0,161,11,65,3, + 1,172,1,46,0,174,15,65,0,3,189,2,65,3,1,191, + 1,65,0,3,193,0,3,65,3,1,99,2,0,0,0,0, + 0,0,0,0,0,0,0,8,0,0,0,3,0,0,0,243, + 62,0,0,0,151,0,124,0,116,0,0,0,0,0,0,0, + 0,0,117,0,114,16,116,3,0,0,0,0,0,0,0,0, + 124,1,100,1,100,2,100,3,100,4,100,5,171,6,0,0, + 0,0,0,0,83,0,116,4,0,0,0,0,0,0,0,0, + 83,0,41,6,78,114,111,0,0,0,114,117,0,0,0,114, + 123,0,0,0,114,126,0,0,0,114,128,0,0,0,41,3, + 114,15,0,0,0,114,56,0,0,0,114,50,0,0,0,114, + 65,0,0,0,115,2,0,0,0,32,32,114,9,0,0,0, + 114,67,0,0,0,122,31,65,115,121,110,99,71,101,110,101, + 114,97,116,111,114,46,95,95,115,117,98,99,108,97,115,115, + 104,111,111,107,95,95,12,1,0,0,115,42,0,0,0,128, + 0,224,11,14,148,46,209,11,32,220,19,33,160,33,160,91, + 176,43,216,34,41,168,56,176,88,243,3,1,20,63,240,0, + 1,13,63,228,15,29,208,8,29,114,8,0,0,0,114,108, + 0,0,0,41,11,114,69,0,0,0,114,70,0,0,0,114, + 71,0,0,0,114,72,0,0,0,114,117,0,0,0,114,4, + 0,0,0,114,123,0,0,0,114,126,0,0,0,114,128,0, + 0,0,114,73,0,0,0,114,67,0,0,0,114,7,0,0, + 0,114,8,0,0,0,114,9,0,0,0,114,15,0,0,0, + 114,15,0,0,0,228,0,0,0,115,78,0,0,0,132,0, + 224,16,18,128,73,242,4,4,5,38,240,12,0,6,20,241, + 2,4,5,33,243,3,0,6,20,240,2,4,5,33,240,12, + 0,6,20,242,2,10,5,18,243,3,0,6,20,240,2,10, + 5,18,242,24,8,5,79,1,240,20,0,6,17,241,2,4, + 5,30,243,3,0,6,17,241,2,4,5,30,114,8,0,0, + 0,114,15,0,0,0,99,0,0,0,0,0,0,0,0,0, + 0,0,0,3,0,0,0,0,0,0,0,243,64,0,0,0, + 151,0,101,0,90,1,100,0,90,2,100,1,90,3,101,4, + 100,2,132,0,171,0,0,0,0,0,0,0,90,5,101,6, + 100,3,132,0,171,0,0,0,0,0,0,0,90,7,2,0, + 101,6,101,8,171,1,0,0,0,0,0,0,90,9,121,4, + 41,5,114,17,0,0,0,114,7,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,2,0,0,0,35,0,0, + 0,243,12,0,0,0,75,0,1,0,151,0,121,0,173,3, + 119,1,114,6,0,0,0,114,7,0,0,0,114,60,0,0, + 0,115,1,0,0,0,32,114,9,0,0,0,218,8,95,95, + 105,116,101,114,95,95,122,17,73,116,101,114,97,98,108,101, + 46,95,95,105,116,101,114,95,95,27,1,0,0,243,9,0, + 0,0,232,0,248,128,0,224,14,19,249,114,43,0,0,0, + 99,2,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,54,0,0,0,151,0,124,0,116,0, + 0,0,0,0,0,0,0,0,117,0,114,12,116,3,0,0, + 0,0,0,0,0,0,124,1,100,1,171,2,0,0,0,0, + 0,0,83,0,116,4,0,0,0,0,0,0,0,0,83,0, + 41,2,78,114,132,0,0,0,41,3,114,17,0,0,0,114, + 56,0,0,0,114,50,0,0,0,114,65,0,0,0,115,2, + 0,0,0,32,32,114,9,0,0,0,114,67,0,0,0,122, + 25,73,116,101,114,97,98,108,101,46,95,95,115,117,98,99, + 108,97,115,115,104,111,111,107,95,95,32,1,0,0,114,68, + 0,0,0,114,8,0,0,0,78,41,10,114,69,0,0,0, + 114,70,0,0,0,114,71,0,0,0,114,72,0,0,0,114, + 4,0,0,0,114,132,0,0,0,114,73,0,0,0,114,67, + 0,0,0,114,80,0,0,0,114,81,0,0,0,114,7,0, + 0,0,114,8,0,0,0,114,9,0,0,0,114,17,0,0, + 0,114,17,0,0,0,23,1,0,0,115,58,0,0,0,132, + 0,224,16,18,128,73,224,5,19,241,2,2,5,23,243,3, + 0,6,20,240,2,2,5,23,240,8,0,6,17,241,2,3, + 5,30,243,3,0,6,17,240,2,3,5,30,241,10,0,25, + 36,160,76,211,24,49,209,4,21,114,8,0,0,0,114,17, + 0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,0,0,0,0,243,54,0,0,0,151,0,101, + 0,90,1,100,0,90,2,100,1,90,3,101,4,100,2,132, + 0,171,0,0,0,0,0,0,0,90,5,100,3,132,0,90, + 6,101,7,100,4,132,0,171,0,0,0,0,0,0,0,90, + 8,121,5,41,6,114,18,0,0,0,114,7,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 3,0,0,0,243,14,0,0,0,151,0,116,0,0,0,0, + 0,0,0,0,0,130,1,41,1,122,75,82,101,116,117,114, + 110,32,116,104,101,32,110,101,120,116,32,105,116,101,109,32, + 102,114,111,109,32,116,104,101,32,105,116,101,114,97,116,111, + 114,46,32,87,104,101,110,32,101,120,104,97,117,115,116,101, + 100,44,32,114,97,105,115,101,32,83,116,111,112,73,116,101, + 114,97,116,105,111,110,114,84,0,0,0,114,60,0,0,0, + 115,1,0,0,0,32,114,9,0,0,0,218,8,95,95,110, + 101,120,116,95,95,122,17,73,116,101,114,97,116,111,114,46, + 95,95,110,101,120,116,95,95,45,1,0,0,115,10,0,0, + 0,128,0,244,6,0,15,28,208,8,27,114,8,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0, + 0,3,0,0,0,243,6,0,0,0,151,0,124,0,83,0, + 114,6,0,0,0,114,7,0,0,0,114,60,0,0,0,115, + 1,0,0,0,32,114,9,0,0,0,114,132,0,0,0,122, + 17,73,116,101,114,97,116,111,114,46,95,95,105,116,101,114, + 95,95,50,1,0,0,114,119,0,0,0,114,8,0,0,0, + 99,2,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,3,0,0,0,243,56,0,0,0,151,0,124,0,116,0, + 0,0,0,0,0,0,0,0,117,0,114,13,116,3,0,0, + 0,0,0,0,0,0,124,1,100,1,100,2,171,3,0,0, + 0,0,0,0,83,0,116,4,0,0,0,0,0,0,0,0, + 83,0,41,3,78,114,132,0,0,0,114,137,0,0,0,41, + 3,114,18,0,0,0,114,56,0,0,0,114,50,0,0,0, + 114,65,0,0,0,115,2,0,0,0,32,32,114,9,0,0, + 0,114,67,0,0,0,122,25,73,116,101,114,97,116,111,114, + 46,95,95,115,117,98,99,108,97,115,115,104,111,111,107,95, + 95,53,1,0,0,115,30,0,0,0,128,0,224,11,14,148, + 40,137,63,220,19,33,160,33,160,90,176,26,211,19,60,208, + 12,60,220,15,29,208,8,29,114,8,0,0,0,78,41,9, + 114,69,0,0,0,114,70,0,0,0,114,71,0,0,0,114, + 72,0,0,0,114,4,0,0,0,114,137,0,0,0,114,132, + 0,0,0,114,73,0,0,0,114,67,0,0,0,114,7,0, + 0,0,114,8,0,0,0,114,9,0,0,0,114,18,0,0, + 0,114,18,0,0,0,41,1,0,0,115,50,0,0,0,132, + 0,224,16,18,128,73,224,5,19,241,2,2,5,28,243,3, + 0,6,20,240,2,2,5,28,242,8,1,5,20,240,6,0, + 6,17,241,2,3,5,30,243,3,0,6,17,241,2,3,5, + 30,114,8,0,0,0,114,18,0,0,0,99,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, + 243,48,0,0,0,151,0,101,0,90,1,100,0,90,2,100, + 1,90,3,101,4,100,2,132,0,171,0,0,0,0,0,0, + 0,90,5,101,6,100,3,132,0,171,0,0,0,0,0,0, + 0,90,7,121,4,41,5,114,20,0,0,0,114,7,0,0, + 0,99,1,0,0,0,0,0,0,0,0,0,0,0,2,0, + 0,0,35,0,0,0,243,12,0,0,0,75,0,1,0,151, + 0,121,0,173,3,119,1,114,6,0,0,0,114,7,0,0, + 0,114,60,0,0,0,115,1,0,0,0,32,114,9,0,0, + 0,218,12,95,95,114,101,118,101,114,115,101,100,95,95,122, + 23,82,101,118,101,114,115,105,98,108,101,46,95,95,114,101, + 118,101,114,115,101,100,95,95,80,1,0,0,114,133,0,0, + 0,114,43,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,5,0,0,0,3,0,0,0,243,56,0,0,0, + 151,0,124,0,116,0,0,0,0,0,0,0,0,0,117,0, + 114,13,116,3,0,0,0,0,0,0,0,0,124,1,100,1, + 100,2,171,3,0,0,0,0,0,0,83,0,116,4,0,0, + 0,0,0,0,0,0,83,0,41,3,78,114,142,0,0,0, + 114,132,0,0,0,41,3,114,20,0,0,0,114,56,0,0, + 0,114,50,0,0,0,114,65,0,0,0,115,2,0,0,0, + 32,32,114,9,0,0,0,114,67,0,0,0,122,27,82,101, + 118,101,114,115,105,98,108,101,46,95,95,115,117,98,99,108, + 97,115,115,104,111,111,107,95,95,85,1,0,0,115,31,0, + 0,0,128,0,224,11,14,148,42,209,11,28,220,19,33,160, + 33,160,94,176,90,211,19,64,208,12,64,220,15,29,208,8, + 29,114,8,0,0,0,78,41,8,114,69,0,0,0,114,70, + 0,0,0,114,71,0,0,0,114,72,0,0,0,114,4,0, + 0,0,114,142,0,0,0,114,73,0,0,0,114,67,0,0, + 0,114,7,0,0,0,114,8,0,0,0,114,9,0,0,0, + 114,20,0,0,0,114,20,0,0,0,76,1,0,0,115,45, + 0,0,0,132,0,224,16,18,128,73,224,5,19,241,2,2, + 5,23,243,3,0,6,20,240,2,2,5,23,240,8,0,6, + 17,241,2,3,5,30,243,3,0,6,17,241,2,3,5,30, + 114,8,0,0,0,114,20,0,0,0,99,0,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,243, + 78,0,0,0,151,0,101,0,90,1,100,0,90,2,100,1, + 90,3,100,2,132,0,90,4,101,5,100,3,132,0,171,0, + 0,0,0,0,0,0,90,6,101,5,100,8,100,5,132,1, + 171,0,0,0,0,0,0,0,90,7,100,6,132,0,90,8, + 101,9,100,7,132,0,171,0,0,0,0,0,0,0,90,10, + 121,4,41,9,114,19,0,0,0,114,7,0,0,0,99,1, + 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3, + 0,0,0,243,36,0,0,0,151,0,124,0,106,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,1,171,1,0,0,0,0,0,0,83,0,41,2,122,94, + 82,101,116,117,114,110,32,116,104,101,32,110,101,120,116,32, + 105,116,101,109,32,102,114,111,109,32,116,104,101,32,103,101, + 110,101,114,97,116,111,114,46,10,32,32,32,32,32,32,32, + 32,87,104,101,110,32,101,120,104,97,117,115,116,101,100,44, + 32,114,97,105,115,101,32,83,116,111,112,73,116,101,114,97, + 116,105,111,110,46,10,32,32,32,32,32,32,32,32,78,41, + 1,114,88,0,0,0,114,60,0,0,0,115,1,0,0,0, + 32,114,9,0,0,0,114,137,0,0,0,122,18,71,101,110, + 101,114,97,116,111,114,46,95,95,110,101,120,116,95,95,96, + 1,0,0,115,18,0,0,0,128,0,240,8,0,16,20,143, + 121,137,121,152,20,139,127,208,8,30,114,8,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 3,0,0,0,243,14,0,0,0,151,0,116,0,0,0,0, + 0,0,0,0,0,130,1,41,1,122,99,83,101,110,100,32, + 97,32,118,97,108,117,101,32,105,110,116,111,32,116,104,101, + 32,103,101,110,101,114,97,116,111,114,46,10,32,32,32,32, + 32,32,32,32,82,101,116,117,114,110,32,110,101,120,116,32, + 121,105,101,108,100,101,100,32,118,97,108,117,101,32,111,114, + 32,114,97,105,115,101,32,83,116,111,112,73,116,101,114,97, + 116,105,111,110,46,10,32,32,32,32,32,32,32,32,114,84, + 0,0,0,114,86,0,0,0,115,2,0,0,0,32,32,114, + 9,0,0,0,114,88,0,0,0,122,14,71,101,110,101,114, + 97,116,111,114,46,115,101,110,100,102,1,0,0,114,89,0, + 0,0,114,8,0,0,0,78,99,4,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,3,0,0,0,243,70,0, + 0,0,151,0,124,2,128,11,124,3,128,2,124,1,130,1, + 2,0,124,1,171,0,0,0,0,0,0,0,125,2,124,3, + 129,17,124,2,106,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,3,171,1,0,0,0,0, + 0,0,125,2,124,2,130,1,41,1,122,103,82,97,105,115, + 101,32,97,110,32,101,120,99,101,112,116,105,111,110,32,105, + 110,32,116,104,101,32,103,101,110,101,114,97,116,111,114,46, + 10,32,32,32,32,32,32,32,32,82,101,116,117,114,110,32, + 110,101,120,116,32,121,105,101,108,100,101,100,32,118,97,108, + 117,101,32,111,114,32,114,97,105,115,101,32,83,116,111,112, + 73,116,101,114,97,116,105,111,110,46,10,32,32,32,32,32, + 32,32,32,114,91,0,0,0,114,93,0,0,0,115,4,0, + 0,0,32,32,32,32,114,9,0,0,0,114,97,0,0,0, + 122,15,71,101,110,101,114,97,116,111,114,46,116,104,114,111, + 119,109,1,0,0,114,98,0,0,0,114,8,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,110,0,0,0,151,0,9,0,124,0,106, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,116,2,0,0,0,0,0,0,0,0,171,1,0, + 0,0,0,0,0,1,0,116,5,0,0,0,0,0,0,0, + 0,100,1,171,1,0,0,0,0,0,0,130,1,35,0,116, + 2,0,0,0,0,0,0,0,0,116,6,0,0,0,0,0, + 0,0,0,102,2,36,0,114,3,1,0,89,0,121,2,119, + 0,120,3,89,0,119,1,41,3,122,46,82,97,105,115,101, + 32,71,101,110,101,114,97,116,111,114,69,120,105,116,32,105, + 110,115,105,100,101,32,103,101,110,101,114,97,116,111,114,46, + 10,32,32,32,32,32,32,32,32,122,31,103,101,110,101,114, + 97,116,111,114,32,105,103,110,111,114,101,100,32,71,101,110, + 101,114,97,116,111,114,69,120,105,116,78,114,101,0,0,0, + 114,60,0,0,0,115,1,0,0,0,32,114,9,0,0,0, + 114,104,0,0,0,122,15,71,101,110,101,114,97,116,111,114, + 46,99,108,111,115,101,122,1,0,0,114,105,0,0,0,114, + 106,0,0,0,99,2,0,0,0,0,0,0,0,0,0,0, + 0,8,0,0,0,3,0,0,0,243,62,0,0,0,151,0, + 124,0,116,0,0,0,0,0,0,0,0,0,117,0,114,16, + 116,3,0,0,0,0,0,0,0,0,124,1,100,1,100,2, + 100,3,100,4,100,5,171,6,0,0,0,0,0,0,83,0, + 116,4,0,0,0,0,0,0,0,0,83,0,41,6,78,114, + 132,0,0,0,114,137,0,0,0,114,88,0,0,0,114,97, + 0,0,0,114,104,0,0,0,41,3,114,19,0,0,0,114, + 56,0,0,0,114,50,0,0,0,114,65,0,0,0,115,2, + 0,0,0,32,32,114,9,0,0,0,114,67,0,0,0,122, + 26,71,101,110,101,114,97,116,111,114,46,95,95,115,117,98, + 99,108,97,115,115,104,111,111,107,95,95,132,1,0,0,115, + 42,0,0,0,128,0,224,11,14,148,41,209,11,27,220,19, + 33,160,33,160,90,176,26,216,34,40,168,39,176,55,243,3, + 1,20,60,240,0,1,13,60,228,15,29,208,8,29,114,8, + 0,0,0,114,108,0,0,0,41,11,114,69,0,0,0,114, + 70,0,0,0,114,71,0,0,0,114,72,0,0,0,114,137, + 0,0,0,114,4,0,0,0,114,88,0,0,0,114,97,0, + 0,0,114,104,0,0,0,114,73,0,0,0,114,67,0,0, + 0,114,7,0,0,0,114,8,0,0,0,114,9,0,0,0, + 114,19,0,0,0,114,19,0,0,0,92,1,0,0,115,78, + 0,0,0,132,0,224,16,18,128,73,242,4,4,5,31,240, + 12,0,6,20,241,2,4,5,28,243,3,0,6,20,240,2, + 4,5,28,240,12,0,6,20,242,2,10,5,18,243,3,0, + 6,20,240,2,10,5,18,242,24,8,5,66,1,240,20,0, + 6,17,241,2,4,5,30,243,3,0,6,17,241,2,4,5, + 30,114,8,0,0,0,114,19,0,0,0,99,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, + 243,48,0,0,0,151,0,101,0,90,1,100,0,90,2,100, + 1,90,3,101,4,100,2,132,0,171,0,0,0,0,0,0, + 0,90,5,101,6,100,3,132,0,171,0,0,0,0,0,0, + 0,90,7,121,4,41,5,114,21,0,0,0,114,7,0,0, + 0,99,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,3,0,0,0,243,4,0,0,0,151,0,121,1,114, + 59,0,0,0,114,7,0,0,0,114,60,0,0,0,115,1, + 0,0,0,32,114,9,0,0,0,218,7,95,95,108,101,110, + 95,95,122,13,83,105,122,101,100,46,95,95,108,101,110,95, + 95,147,1,0,0,114,63,0,0,0,114,8,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,54,0,0,0,151,0,124,0,116,0,0, + 0,0,0,0,0,0,0,117,0,114,12,116,3,0,0,0, + 0,0,0,0,0,124,1,100,1,171,2,0,0,0,0,0, + 0,83,0,116,4,0,0,0,0,0,0,0,0,83,0,41, + 2,78,114,152,0,0,0,41,3,114,21,0,0,0,114,56, + 0,0,0,114,50,0,0,0,114,65,0,0,0,115,2,0, + 0,0,32,32,114,9,0,0,0,114,67,0,0,0,122,22, + 83,105,122,101,100,46,95,95,115,117,98,99,108,97,115,115, + 104,111,111,107,95,95,151,1,0,0,115,28,0,0,0,128, + 0,224,11,14,148,37,137,60,220,19,33,160,33,160,89,211, + 19,47,208,12,47,220,15,29,208,8,29,114,8,0,0,0, + 78,41,8,114,69,0,0,0,114,70,0,0,0,114,71,0, + 0,0,114,72,0,0,0,114,4,0,0,0,114,152,0,0, + 0,114,73,0,0,0,114,67,0,0,0,114,7,0,0,0, + 114,8,0,0,0,114,9,0,0,0,114,21,0,0,0,114, + 21,0,0,0,143,1,0,0,114,74,0,0,0,114,8,0, + 0,0,114,21,0,0,0,99,0,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,0,0,0,0,243,64,0,0, + 0,151,0,101,0,90,1,100,0,90,2,100,1,90,3,101, + 4,100,2,132,0,171,0,0,0,0,0,0,0,90,5,101, + 6,100,3,132,0,171,0,0,0,0,0,0,0,90,7,2, + 0,101,6,101,8,171,1,0,0,0,0,0,0,90,9,121, + 4,41,5,114,22,0,0,0,114,7,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0, + 0,0,243,4,0,0,0,151,0,121,1,169,2,78,70,114, + 7,0,0,0,41,2,114,61,0,0,0,218,1,120,115,2, + 0,0,0,32,32,114,9,0,0,0,218,12,95,95,99,111, + 110,116,97,105,110,115,95,95,122,22,67,111,110,116,97,105, + 110,101,114,46,95,95,99,111,110,116,97,105,110,115,95,95, + 162,1,0,0,243,5,0,0,0,128,0,224,15,20,114,8, + 0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,54,0,0,0,151,0,124, + 0,116,0,0,0,0,0,0,0,0,0,117,0,114,12,116, + 3,0,0,0,0,0,0,0,0,124,1,100,1,171,2,0, + 0,0,0,0,0,83,0,116,4,0,0,0,0,0,0,0, + 0,83,0,41,2,78,114,158,0,0,0,41,3,114,22,0, + 0,0,114,56,0,0,0,114,50,0,0,0,114,65,0,0, + 0,115,2,0,0,0,32,32,114,9,0,0,0,114,67,0, + 0,0,122,26,67,111,110,116,97,105,110,101,114,46,95,95, + 115,117,98,99,108,97,115,115,104,111,111,107,95,95,166,1, + 0,0,115,29,0,0,0,128,0,224,11,14,148,41,209,11, + 27,220,19,33,160,33,160,94,211,19,52,208,12,52,220,15, + 29,208,8,29,114,8,0,0,0,78,41,10,114,69,0,0, + 0,114,70,0,0,0,114,71,0,0,0,114,72,0,0,0, + 114,4,0,0,0,114,158,0,0,0,114,73,0,0,0,114, + 67,0,0,0,114,80,0,0,0,114,81,0,0,0,114,7, + 0,0,0,114,8,0,0,0,114,9,0,0,0,114,22,0, + 0,0,114,22,0,0,0,158,1,0,0,115,58,0,0,0, + 132,0,224,16,18,128,73,224,5,19,241,2,1,5,21,243, + 3,0,6,20,240,2,1,5,21,240,6,0,6,17,241,2, + 3,5,30,243,3,0,6,17,240,2,3,5,30,241,10,0, + 25,36,160,76,211,24,49,209,4,21,114,8,0,0,0,114, + 22,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0, + 0,2,0,0,0,0,0,0,0,243,32,0,0,0,151,0, + 101,0,90,1,100,0,90,2,100,1,90,3,101,4,100,2, + 132,0,171,0,0,0,0,0,0,0,90,5,121,3,41,4, + 114,24,0,0,0,114,7,0,0,0,99,2,0,0,0,0, + 0,0,0,0,0,0,0,6,0,0,0,3,0,0,0,243, + 58,0,0,0,151,0,124,0,116,0,0,0,0,0,0,0, + 0,0,117,0,114,14,116,3,0,0,0,0,0,0,0,0, + 124,1,100,1,100,2,100,3,171,4,0,0,0,0,0,0, + 83,0,116,4,0,0,0,0,0,0,0,0,83,0,41,4, + 78,114,152,0,0,0,114,132,0,0,0,114,158,0,0,0, + 41,3,114,24,0,0,0,114,56,0,0,0,114,50,0,0, + 0,114,65,0,0,0,115,2,0,0,0,32,32,114,9,0, + 0,0,114,67,0,0,0,122,27,67,111,108,108,101,99,116, + 105,111,110,46,95,95,115,117,98,99,108,97,115,115,104,111, + 111,107,95,95,179,1,0,0,115,33,0,0,0,128,0,224, + 11,14,148,42,209,11,28,220,19,33,160,33,160,105,176,26, + 184,94,211,19,76,208,12,76,220,15,29,208,8,29,114,8, + 0,0,0,78,41,6,114,69,0,0,0,114,70,0,0,0, + 114,71,0,0,0,114,72,0,0,0,114,73,0,0,0,114, + 67,0,0,0,114,7,0,0,0,114,8,0,0,0,114,9, + 0,0,0,114,24,0,0,0,114,24,0,0,0,175,1,0, + 0,115,25,0,0,0,132,0,224,16,18,128,73,224,5,16, + 241,2,3,5,30,243,3,0,6,17,241,2,3,5,30,114, + 8,0,0,0,114,24,0,0,0,99,0,0,0,0,0,0, + 0,0,0,0,0,0,5,0,0,0,0,0,0,0,243,58, + 0,0,0,151,0,101,0,90,1,100,0,90,2,100,1,90, + 3,101,4,100,2,101,5,100,3,101,6,102,4,100,4,132, + 4,171,0,0,0,0,0,0,0,90,7,101,8,100,5,132, + 0,171,0,0,0,0,0,0,0,90,9,121,6,41,7,114, + 36,0,0,0,114,7,0,0,0,218,5,102,108,97,103,115, + 218,6,114,101,116,117,114,110,99,2,0,0,0,2,0,0, + 0,0,0,0,0,1,0,0,0,3,0,0,0,243,14,0, + 0,0,151,0,116,0,0,0,0,0,0,0,0,0,130,1, + 114,6,0,0,0,169,1,218,19,78,111,116,73,109,112,108, + 101,109,101,110,116,101,100,69,114,114,111,114,41,2,114,61, + 0,0,0,114,164,0,0,0,115,2,0,0,0,32,32,114, + 9,0,0,0,218,10,95,95,98,117,102,102,101,114,95,95, + 122,17,66,117,102,102,101,114,46,95,95,98,117,102,102,101, + 114,95,95,190,1,0,0,115,8,0,0,0,128,0,228,14, + 33,208,8,33,114,8,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,54, + 0,0,0,151,0,124,0,116,0,0,0,0,0,0,0,0, + 0,117,0,114,12,116,3,0,0,0,0,0,0,0,0,124, + 1,100,1,171,2,0,0,0,0,0,0,83,0,116,4,0, + 0,0,0,0,0,0,0,83,0,41,2,78,114,169,0,0, + 0,41,3,114,36,0,0,0,114,56,0,0,0,114,50,0, + 0,0,114,65,0,0,0,115,2,0,0,0,32,32,114,9, + 0,0,0,114,67,0,0,0,122,23,66,117,102,102,101,114, + 46,95,95,115,117,98,99,108,97,115,115,104,111,111,107,95, + 95,194,1,0,0,115,28,0,0,0,128,0,224,11,14,148, + 38,137,61,220,19,33,160,33,160,92,211,19,50,208,12,50, + 220,15,29,208,8,29,114,8,0,0,0,78,41,10,114,69, + 0,0,0,114,70,0,0,0,114,71,0,0,0,114,72,0, + 0,0,114,4,0,0,0,218,3,105,110,116,218,10,109,101, + 109,111,114,121,118,105,101,119,114,169,0,0,0,114,73,0, + 0,0,114,67,0,0,0,114,7,0,0,0,114,8,0,0, + 0,114,9,0,0,0,114,36,0,0,0,114,36,0,0,0, + 186,1,0,0,115,59,0,0,0,132,0,224,16,18,128,73, + 224,5,19,240,2,1,5,34,160,3,240,0,1,5,34,168, + 58,242,0,1,5,34,243,3,0,6,20,240,2,1,5,34, + 240,6,0,6,17,241,2,3,5,30,243,3,0,6,17,241, + 2,3,5,30,114,8,0,0,0,114,36,0,0,0,99,0, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0, + 0,0,0,243,64,0,0,0,135,0,151,0,101,0,90,1, + 100,0,90,2,100,1,90,3,100,2,90,4,136,0,102,1, + 100,3,132,8,90,5,136,0,102,1,100,4,132,8,90,6, + 100,5,132,0,90,7,136,0,102,1,100,6,132,8,90,8, + 136,0,120,1,90,9,83,0,41,7,218,21,95,67,97,108, + 108,97,98,108,101,71,101,110,101,114,105,99,65,108,105,97, + 115,122,252,32,82,101,112,114,101,115,101,110,116,32,96,67, + 97,108,108,97,98,108,101,91,97,114,103,116,121,112,101,115, + 44,32,114,101,115,117,108,116,116,121,112,101,93,96,46,10, + 10,32,32,32,32,84,104,105,115,32,115,101,116,115,32,96, + 96,95,95,97,114,103,115,95,95,96,96,32,116,111,32,97, + 32,116,117,112,108,101,32,99,111,110,116,97,105,110,105,110, + 103,32,116,104,101,32,102,108,97,116,116,101,110,101,100,32, + 96,96,97,114,103,116,121,112,101,115,96,96,10,32,32,32, + 32,102,111,108,108,111,119,101,100,32,98,121,32,96,96,114, + 101,115,117,108,116,116,121,112,101,96,96,46,10,10,32,32, + 32,32,69,120,97,109,112,108,101,58,32,96,96,67,97,108, + 108,97,98,108,101,91,91,105,110,116,44,32,115,116,114,93, + 44,32,102,108,111,97,116,93,96,96,32,115,101,116,115,32, + 96,96,95,95,97,114,103,115,95,95,96,96,32,116,111,10, + 32,32,32,32,96,96,40,105,110,116,44,32,115,116,114,44, + 32,102,108,111,97,116,41,96,96,46,10,32,32,32,32,114, + 7,0,0,0,99,3,0,0,0,0,0,0,0,0,0,0, + 0,5,0,0,0,3,0,0,0,243,240,0,0,0,149,1, + 151,0,116,1,0,0,0,0,0,0,0,0,124,2,116,2, + 0,0,0,0,0,0,0,0,171,2,0,0,0,0,0,0, + 114,14,116,5,0,0,0,0,0,0,0,0,124,2,171,1, + 0,0,0,0,0,0,100,1,107,40,0,0,115,11,116,7, + 0,0,0,0,0,0,0,0,100,2,171,1,0,0,0,0, + 0,0,130,1,124,2,92,2,0,0,125,3,125,4,116,1, + 0,0,0,0,0,0,0,0,124,3,116,2,0,0,0,0, + 0,0,0,0,116,8,0,0,0,0,0,0,0,0,102,2, + 171,2,0,0,0,0,0,0,114,8,103,0,124,3,162,1, + 124,4,145,1,173,6,125,2,110,25,116,11,0,0,0,0, + 0,0,0,0,124,3,171,1,0,0,0,0,0,0,115,14, + 116,7,0,0,0,0,0,0,0,0,100,3,124,3,155,0, + 157,2,171,1,0,0,0,0,0,0,130,1,116,12,0,0, + 0,0,0,0,0,0,137,5,124,0,141,29,0,0,124,0, + 124,1,124,2,171,3,0,0,0,0,0,0,83,0,41,4, + 78,233,2,0,0,0,122,54,67,97,108,108,97,98,108,101, + 32,109,117,115,116,32,98,101,32,117,115,101,100,32,97,115, + 32,67,97,108,108,97,98,108,101,91,91,97,114,103,44,32, + 46,46,46,93,44,32,114,101,115,117,108,116,93,46,122,70, + 69,120,112,101,99,116,101,100,32,97,32,108,105,115,116,32, + 111,102,32,116,121,112,101,115,44,32,97,110,32,101,108,108, + 105,112,115,105,115,44,32,80,97,114,97,109,83,112,101,99, + 44,32,111,114,32,67,111,110,99,97,116,101,110,97,116,101, + 46,32,71,111,116,32,41,8,218,10,105,115,105,110,115,116, + 97,110,99,101,218,5,116,117,112,108,101,218,3,108,101,110, + 218,9,84,121,112,101,69,114,114,111,114,218,4,108,105,115, + 116,218,14,95,105,115,95,112,97,114,97,109,95,101,120,112, + 114,218,5,115,117,112,101,114,218,7,95,95,110,101,119,95, + 95,41,6,114,66,0,0,0,218,6,111,114,105,103,105,110, + 218,4,97,114,103,115,218,6,116,95,97,114,103,115,218,8, + 116,95,114,101,115,117,108,116,218,9,95,95,99,108,97,115, + 115,95,95,115,6,0,0,0,32,32,32,32,32,128,114,9, + 0,0,0,114,184,0,0,0,122,29,95,67,97,108,108,97, + 98,108,101,71,101,110,101,114,105,99,65,108,105,97,115,46, + 95,95,110,101,119,95,95,213,1,0,0,115,138,0,0,0, + 248,128,0,220,16,26,152,52,164,21,212,16,39,172,67,176, + 4,171,73,184,17,170,78,220,18,27,216,16,72,243,3,1, + 19,74,1,240,0,1,13,74,1,224,27,31,209,8,24,136, + 6,144,8,220,11,21,144,102,156,117,164,100,152,109,212,11, + 44,216,19,38,144,86,208,19,38,152,88,209,19,38,137,68, + 220,17,31,160,6,212,17,39,220,18,27,240,0,1,31,62, + 216,62,68,184,88,240,3,1,29,71,1,243,0,1,19,72, + 1,240,0,1,13,72,1,228,15,20,137,119,137,127,152,115, + 160,70,168,68,211,15,49,208,8,49,114,8,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0, + 3,0,0,0,243,46,1,0,0,149,1,151,0,116,1,0, + 0,0,0,0,0,0,0,124,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,1,0, + 0,0,0,0,0,100,1,107,40,0,0,114,38,116,5,0, + 0,0,0,0,0,0,0,124,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,2,25, + 0,0,0,171,1,0,0,0,0,0,0,114,14,116,6,0, + 0,0,0,0,0,0,0,137,2,124,0,141,17,0,0,171, + 0,0,0,0,0,0,0,83,0,100,3,100,4,106,11,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,0,100,5,26,0,68,0,143, + 1,99,2,103,0,99,2,93,13,0,0,125,1,116,13,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,145,2,140,15,4,0,99,2,125,1,171,1,0,0,0, + 0,0,0,155,0,100,6,116,13,0,0,0,0,0,0,0, + 0,124,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,5,25,0,0,0,171,1,0, + 0,0,0,0,0,155,0,100,7,157,5,83,0,99,2,1, + 0,99,2,125,1,119,0,41,8,78,114,176,0,0,0,114, + 2,0,0,0,122,26,99,111,108,108,101,99,116,105,111,110, + 115,46,97,98,99,46,67,97,108,108,97,98,108,101,91,91, + 122,2,44,32,233,255,255,255,255,122,3,93,44,32,250,1, + 93,41,7,114,179,0,0,0,218,8,95,95,97,114,103,115, + 95,95,114,182,0,0,0,114,183,0,0,0,218,8,95,95, + 114,101,112,114,95,95,218,4,106,111,105,110,218,10,95,116, + 121,112,101,95,114,101,112,114,41,3,114,61,0,0,0,218, + 1,97,114,189,0,0,0,115,3,0,0,0,32,32,128,114, + 9,0,0,0,114,194,0,0,0,122,30,95,67,97,108,108, + 97,98,108,101,71,101,110,101,114,105,99,65,108,105,97,115, + 46,95,95,114,101,112,114,95,95,225,1,0,0,115,133,0, + 0,0,248,128,0,220,11,14,136,116,143,125,137,125,211,11, + 29,160,17,210,11,34,164,126,176,100,183,109,177,109,192,65, + 209,54,70,212,39,71,220,19,24,145,55,209,19,35,211,19, + 37,208,12,37,240,2,1,19,21,216,21,25,151,89,145,89, + 176,116,183,125,177,125,192,83,192,98,208,55,73,214,31,74, + 176,33,164,10,168,49,165,13,210,31,74,211,21,75,208,20, + 76,200,67,220,19,29,152,100,159,109,153,109,168,66,209,30, + 47,211,19,48,208,18,49,176,17,240,5,2,17,52,240,0, + 2,9,53,249,218,31,74,115,6,0,0,0,193,29,18,66, + 18,10,99,1,0,0,0,0,0,0,0,0,0,0,0,5, + 0,0,0,3,0,0,0,243,148,0,0,0,151,0,124,0, + 106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,125,1,116,3,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,100,1,107,40,0,0, + 114,14,116,5,0,0,0,0,0,0,0,0,124,1,100,2, + 25,0,0,0,171,1,0,0,0,0,0,0,115,19,116,7, + 0,0,0,0,0,0,0,0,124,1,100,0,100,3,26,0, + 171,1,0,0,0,0,0,0,124,1,100,3,25,0,0,0, + 102,2,125,1,116,8,0,0,0,0,0,0,0,0,116,10, + 0,0,0,0,0,0,0,0,124,1,102,2,102,2,83,0, + 41,4,78,114,176,0,0,0,114,2,0,0,0,114,191,0, + 0,0,41,6,114,193,0,0,0,114,179,0,0,0,114,182, + 0,0,0,114,181,0,0,0,114,174,0,0,0,114,23,0, + 0,0,41,2,114,61,0,0,0,114,186,0,0,0,115,2, + 0,0,0,32,32,114,9,0,0,0,218,10,95,95,114,101, + 100,117,99,101,95,95,122,32,95,67,97,108,108,97,98,108, + 101,71,101,110,101,114,105,99,65,108,105,97,115,46,95,95, + 114,101,100,117,99,101,95,95,232,1,0,0,115,73,0,0, + 0,128,0,216,15,19,143,125,137,125,136,4,220,16,19,144, + 68,147,9,152,81,146,14,164,62,176,36,176,113,177,39,212, + 35,58,220,19,23,152,4,152,83,152,98,152,9,147,63,160, + 68,168,18,161,72,208,19,44,136,68,220,15,36,164,120,176, + 20,208,38,54,208,15,54,208,8,54,114,8,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0, + 3,0,0,0,243,220,0,0,0,149,1,151,0,116,1,0, + 0,0,0,0,0,0,0,124,1,116,2,0,0,0,0,0, + 0,0,0,171,2,0,0,0,0,0,0,115,3,124,1,102, + 1,125,1,116,4,0,0,0,0,0,0,0,0,137,5,124, + 0,141,13,0,0,124,1,171,1,0,0,0,0,0,0,106, + 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,125,2,116,1,0,0,0,0,0,0,0,0,124, + 2,100,1,25,0,0,0,116,2,0,0,0,0,0,0,0, + 0,116,10,0,0,0,0,0,0,0,0,102,2,171,2,0, + 0,0,0,0,0,115,14,124,2,100,2,25,0,0,0,125, + 3,124,2,100,0,100,2,26,0,125,4,124,4,124,3,102, + 2,125,2,116,13,0,0,0,0,0,0,0,0,116,14,0, + 0,0,0,0,0,0,0,116,3,0,0,0,0,0,0,0, + 0,124,2,171,1,0,0,0,0,0,0,171,2,0,0,0, + 0,0,0,83,0,41,3,78,114,2,0,0,0,114,191,0, + 0,0,41,8,114,177,0,0,0,114,178,0,0,0,114,183, + 0,0,0,218,11,95,95,103,101,116,105,116,101,109,95,95, + 114,193,0,0,0,114,181,0,0,0,114,174,0,0,0,114, + 23,0,0,0,41,6,114,61,0,0,0,218,4,105,116,101, + 109,218,8,110,101,119,95,97,114,103,115,114,188,0,0,0, + 114,187,0,0,0,114,189,0,0,0,115,6,0,0,0,32, + 32,32,32,32,128,114,9,0,0,0,114,201,0,0,0,122, + 33,95,67,97,108,108,97,98,108,101,71,101,110,101,114,105, + 99,65,108,105,97,115,46,95,95,103,101,116,105,116,101,109, + 95,95,238,1,0,0,115,110,0,0,0,248,128,0,244,10, + 0,16,26,152,36,164,5,212,15,38,216,20,24,144,55,136, + 68,228,19,24,145,55,209,19,38,160,116,211,19,44,215,19, + 53,209,19,53,136,8,244,6,0,16,26,152,40,160,49,153, + 43,172,5,172,116,160,125,212,15,53,216,23,31,160,2,145, + 124,136,72,216,21,29,152,99,152,114,144,93,136,70,216,24, + 30,160,8,208,23,41,136,72,220,15,36,164,88,172,117,176, + 88,171,127,211,15,63,208,8,63,114,8,0,0,0,41,10, + 114,69,0,0,0,114,70,0,0,0,114,71,0,0,0,218, + 7,95,95,100,111,99,95,95,114,72,0,0,0,114,184,0, + 0,0,114,194,0,0,0,114,199,0,0,0,114,201,0,0, + 0,218,13,95,95,99,108,97,115,115,99,101,108,108,95,95, + 169,1,114,189,0,0,0,115,1,0,0,0,64,114,9,0, + 0,0,114,174,0,0,0,114,174,0,0,0,201,1,0,0, + 115,42,0,0,0,248,132,0,241,2,7,5,8,240,18,0, + 17,19,128,73,244,4,10,5,50,244,24,5,5,53,242,14, + 4,5,55,247,12,15,5,64,1,240,0,15,5,64,1,114, + 8,0,0,0,114,174,0,0,0,99,1,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,156, + 0,0,0,135,0,151,0,137,0,116,0,0,0,0,0,0, + 0,0,0,117,0,114,1,121,1,116,3,0,0,0,0,0, + 0,0,0,137,0,116,4,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,114,1,121,1,116,7,0,0,0, + 0,0,0,0,0,137,0,171,1,0,0,0,0,0,0,138, + 0,100,2,125,1,137,0,106,8,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,3,107,40,0, + 0,120,1,114,20,1,0,116,11,0,0,0,0,0,0,0, + 0,136,0,102,1,100,4,132,8,124,1,68,0,171,0,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,83,0,41, + 5,122,124,67,104,101,99,107,115,32,105,102,32,111,98,106, + 32,109,97,116,99,104,101,115,32,101,105,116,104,101,114,32, + 97,32,108,105,115,116,32,111,102,32,116,121,112,101,115,44, + 32,96,96,46,46,46,96,96,44,32,96,96,80,97,114,97, + 109,83,112,101,99,96,96,32,111,114,10,32,32,32,32,96, + 96,95,67,111,110,99,97,116,101,110,97,116,101,71,101,110, + 101,114,105,99,65,108,105,97,115,96,96,32,102,114,111,109, + 32,116,121,112,105,110,103,46,112,121,10,32,32,32,32,84, + 41,2,218,9,80,97,114,97,109,83,112,101,99,218,24,95, + 67,111,110,99,97,116,101,110,97,116,101,71,101,110,101,114, + 105,99,65,108,105,97,115,218,6,116,121,112,105,110,103,99, + 1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 51,0,0,0,243,60,0,0,0,149,1,75,0,1,0,151, + 0,124,0,93,19,0,0,125,1,137,2,106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 1,107,40,0,0,150,1,151,1,1,0,140,21,4,0,121, + 0,173,3,119,1,114,6,0,0,0,41,1,114,69,0,0, + 0,41,3,218,2,46,48,218,4,110,97,109,101,218,3,111, + 98,106,115,3,0,0,0,32,32,128,114,9,0,0,0,250, + 9,60,103,101,110,101,120,112,114,62,122,33,95,105,115,95, + 112,97,114,97,109,95,101,120,112,114,46,60,108,111,99,97, + 108,115,62,46,60,103,101,110,101,120,112,114,62,9,2,0, + 0,115,26,0,0,0,248,232,0,248,128,0,210,45,85,192, + 116,168,99,175,108,169,108,184,100,213,46,66,209,45,85,249, + 115,4,0,0,0,131,25,28,1,41,6,218,8,69,108,108, + 105,112,115,105,115,114,177,0,0,0,114,181,0,0,0,218, + 4,116,121,112,101,114,70,0,0,0,218,3,97,110,121,41, + 2,114,214,0,0,0,218,5,110,97,109,101,115,115,2,0, + 0,0,96,32,114,9,0,0,0,114,182,0,0,0,114,182, + 0,0,0,255,1,0,0,115,73,0,0,0,248,128,0,240, + 8,0,8,11,140,104,129,127,216,15,19,220,7,17,144,35, + 148,116,212,7,28,216,15,19,220,10,14,136,115,139,41,128, + 67,216,12,53,128,69,216,11,14,143,62,137,62,152,88,209, + 11,37,210,11,85,172,35,211,45,85,200,117,212,45,85,211, + 42,85,208,4,85,114,8,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243, + 238,0,0,0,151,0,116,1,0,0,0,0,0,0,0,0, + 124,0,116,2,0,0,0,0,0,0,0,0,171,2,0,0, + 0,0,0,0,114,54,124,0,106,4,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,1,107,40, + 0,0,114,12,124,0,106,6,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,83,0,124,0,106,4, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,155,0,100,2,124,0,106,6,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,155,0,157,3, + 83,0,124,0,116,8,0,0,0,0,0,0,0,0,117,0, + 114,1,121,3,116,1,0,0,0,0,0,0,0,0,124,0, + 116,10,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,114,12,124,0,106,12,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,83,0,116,15,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 83,0,41,4,122,223,82,101,116,117,114,110,32,116,104,101, + 32,114,101,112,114,40,41,32,111,102,32,97,110,32,111,98, + 106,101,99,116,44,32,115,112,101,99,105,97,108,45,99,97, + 115,105,110,103,32,116,121,112,101,115,32,40,105,110,116,101, + 114,110,97,108,32,104,101,108,112,101,114,41,46,10,10,32, + 32,32,32,67,111,112,105,101,100,32,102,114,111,109,32,58, + 109,111,100,58,96,116,121,112,105,110,103,96,32,115,105,110, + 99,101,32,99,111,108,108,101,99,116,105,111,110,115,46,97, + 98,99,10,32,32,32,32,115,104,111,117,108,100,110,39,116, + 32,100,101,112,101,110,100,32,111,110,32,116,104,97,116,32, + 109,111,100,117,108,101,46,10,32,32,32,32,40,75,101,101, + 112,32,116,104,105,115,32,114,111,117,103,104,108,121,32,105, + 110,32,115,121,110,99,32,119,105,116,104,32,116,104,101,32, + 116,121,112,105,110,103,32,118,101,114,115,105,111,110,46,41, + 10,32,32,32,32,218,8,98,117,105,108,116,105,110,115,250, + 1,46,122,3,46,46,46,41,8,114,177,0,0,0,114,217, + 0,0,0,114,70,0,0,0,114,71,0,0,0,114,216,0, + 0,0,218,12,70,117,110,99,116,105,111,110,84,121,112,101, + 114,69,0,0,0,218,4,114,101,112,114,41,1,114,214,0, + 0,0,115,1,0,0,0,32,114,9,0,0,0,114,196,0, + 0,0,114,196,0,0,0,11,2,0,0,115,107,0,0,0, + 128,0,244,14,0,8,18,144,35,148,116,212,7,28,216,11, + 14,143,62,137,62,152,90,210,11,39,216,19,22,215,19,35, + 209,19,35,208,12,35,216,18,21,151,46,145,46,208,17,33, + 160,17,160,51,215,35,51,209,35,51,208,34,52,208,15,53, + 208,8,53,216,7,10,140,104,129,127,216,15,20,220,7,17, + 144,35,148,124,212,7,36,216,15,18,143,124,137,124,208,8, + 27,220,11,15,144,3,139,57,208,4,20,114,8,0,0,0, + 99,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,0,0,0,0,243,64,0,0,0,151,0,101,0,90,1, + 100,0,90,2,100,1,90,3,101,4,100,2,132,0,171,0, + 0,0,0,0,0,0,90,5,101,6,100,3,132,0,171,0, + 0,0,0,0,0,0,90,7,2,0,101,6,101,8,171,1, + 0,0,0,0,0,0,90,9,121,4,41,5,114,23,0,0, + 0,114,7,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,15,0,0,0,243,4,0,0,0, + 151,0,121,1,114,156,0,0,0,114,7,0,0,0,41,3, + 114,61,0,0,0,114,186,0,0,0,218,4,107,119,100,115, + 115,3,0,0,0,32,32,32,114,9,0,0,0,218,8,95, + 95,99,97,108,108,95,95,122,17,67,97,108,108,97,98,108, + 101,46,95,95,99,97,108,108,95,95,33,2,0,0,114,159, + 0,0,0,114,8,0,0,0,99,2,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,54,0, + 0,0,151,0,124,0,116,0,0,0,0,0,0,0,0,0, + 117,0,114,12,116,3,0,0,0,0,0,0,0,0,124,1, + 100,1,171,2,0,0,0,0,0,0,83,0,116,4,0,0, + 0,0,0,0,0,0,83,0,41,2,78,114,228,0,0,0, + 41,3,114,23,0,0,0,114,56,0,0,0,114,50,0,0, + 0,114,65,0,0,0,115,2,0,0,0,32,32,114,9,0, + 0,0,114,67,0,0,0,122,25,67,97,108,108,97,98,108, + 101,46,95,95,115,117,98,99,108,97,115,115,104,111,111,107, + 95,95,37,2,0,0,114,68,0,0,0,114,8,0,0,0, + 78,41,10,114,69,0,0,0,114,70,0,0,0,114,71,0, + 0,0,114,72,0,0,0,114,4,0,0,0,114,228,0,0, + 0,114,73,0,0,0,114,67,0,0,0,114,174,0,0,0, + 114,81,0,0,0,114,7,0,0,0,114,8,0,0,0,114, + 9,0,0,0,114,23,0,0,0,114,23,0,0,0,29,2, + 0,0,115,59,0,0,0,132,0,224,16,18,128,73,224,5, + 19,241,2,1,5,21,243,3,0,6,20,240,2,1,5,21, + 240,6,0,6,17,241,2,3,5,30,243,3,0,6,17,240, + 2,3,5,30,241,10,0,25,36,208,36,57,211,24,58,209, + 4,21,114,8,0,0,0,114,23,0,0,0,99,0,0,0, + 0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, + 0,243,120,0,0,0,151,0,101,0,90,1,100,0,90,2, + 100,1,90,3,100,2,90,4,100,3,132,0,90,5,100,4, + 132,0,90,6,100,5,132,0,90,7,100,6,132,0,90,8, + 100,7,132,0,90,9,101,10,100,8,132,0,171,0,0,0, + 0,0,0,0,90,11,100,9,132,0,90,12,101,12,90,13, + 100,10,132,0,90,14,100,11,132,0,90,15,101,15,90,16, + 100,12,132,0,90,17,100,13,132,0,90,18,100,14,132,0, + 90,19,101,19,90,20,100,15,132,0,90,21,121,16,41,17, + 114,25,0,0,0,97,90,1,0,0,65,32,115,101,116,32, + 105,115,32,97,32,102,105,110,105,116,101,44,32,105,116,101, + 114,97,98,108,101,32,99,111,110,116,97,105,110,101,114,46, + 10,10,32,32,32,32,84,104,105,115,32,99,108,97,115,115, + 32,112,114,111,118,105,100,101,115,32,99,111,110,99,114,101, + 116,101,32,103,101,110,101,114,105,99,32,105,109,112,108,101, + 109,101,110,116,97,116,105,111,110,115,32,111,102,32,97,108, + 108,10,32,32,32,32,109,101,116,104,111,100,115,32,101,120, + 99,101,112,116,32,102,111,114,32,95,95,99,111,110,116,97, + 105,110,115,95,95,44,32,95,95,105,116,101,114,95,95,32, + 97,110,100,32,95,95,108,101,110,95,95,46,10,10,32,32, + 32,32,84,111,32,111,118,101,114,114,105,100,101,32,116,104, + 101,32,99,111,109,112,97,114,105,115,111,110,115,32,40,112, + 114,101,115,117,109,97,98,108,121,32,102,111,114,32,115,112, + 101,101,100,44,32,97,115,32,116,104,101,10,32,32,32,32, + 115,101,109,97,110,116,105,99,115,32,97,114,101,32,102,105, + 120,101,100,41,44,32,114,101,100,101,102,105,110,101,32,95, + 95,108,101,95,95,32,97,110,100,32,95,95,103,101,95,95, + 44,10,32,32,32,32,116,104,101,110,32,116,104,101,32,111, + 116,104,101,114,32,111,112,101,114,97,116,105,111,110,115,32, + 119,105,108,108,32,97,117,116,111,109,97,116,105,99,97,108, + 108,121,32,102,111,108,108,111,119,32,115,117,105,116,46,10, + 32,32,32,32,114,7,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,122, + 0,0,0,151,0,116,1,0,0,0,0,0,0,0,0,124, + 1,116,2,0,0,0,0,0,0,0,0,171,2,0,0,0, + 0,0,0,115,6,116,4,0,0,0,0,0,0,0,0,83, + 0,116,7,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,116,7,0,0,0,0,0,0,0,0,124, + 1,171,1,0,0,0,0,0,0,107,68,0,0,114,1,121, + 1,124,0,68,0,93,8,0,0,125,2,124,2,124,1,118, + 1,115,1,140,8,1,0,121,1,4,0,121,2,169,3,78, + 70,84,169,4,114,177,0,0,0,114,25,0,0,0,114,50, + 0,0,0,114,179,0,0,0,169,3,114,61,0,0,0,218, + 5,111,116,104,101,114,218,4,101,108,101,109,115,3,0,0, + 0,32,32,32,114,9,0,0,0,218,6,95,95,108,101,95, + 95,122,10,83,101,116,46,95,95,108,101,95,95,62,2,0, + 0,115,68,0,0,0,128,0,220,15,25,152,37,164,19,212, + 15,37,220,19,33,208,12,33,220,11,14,136,116,139,57,148, + 115,152,53,147,122,210,11,33,216,19,24,216,20,24,242,0, + 2,9,29,136,68,216,15,19,152,53,210,15,32,217,23,28, + 240,5,2,9,29,240,6,0,16,20,114,8,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,130,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,1,116,2,0,0,0,0,0,0,0, + 0,171,2,0,0,0,0,0,0,115,6,116,4,0,0,0, + 0,0,0,0,0,83,0,116,7,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,116,7,0,0,0, + 0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,107, + 2,0,0,120,1,114,17,1,0,124,0,106,9,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 1,171,1,0,0,0,0,0,0,83,0,114,6,0,0,0, + 169,5,114,177,0,0,0,114,25,0,0,0,114,50,0,0, + 0,114,179,0,0,0,114,237,0,0,0,169,2,114,61,0, + 0,0,114,235,0,0,0,115,2,0,0,0,32,32,114,9, + 0,0,0,218,6,95,95,108,116,95,95,122,10,83,101,116, + 46,95,95,108,116,95,95,72,2,0,0,243,51,0,0,0, + 128,0,220,15,25,152,37,164,19,212,15,37,220,19,33,208, + 12,33,220,15,18,144,52,139,121,156,51,152,117,155,58,209, + 15,37,210,15,60,168,36,175,43,169,43,176,101,211,42,60, + 208,8,60,114,8,0,0,0,99,2,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,130,0, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,1, + 116,2,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,115,6,116,4,0,0,0,0,0,0,0,0,83,0, + 116,7,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,116,7,0,0,0,0,0,0,0,0,124,1, + 171,1,0,0,0,0,0,0,107,68,0,0,120,1,114,17, + 1,0,124,0,106,9,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,1,171,1,0,0,0,0, + 0,0,83,0,114,6,0,0,0,41,5,114,177,0,0,0, + 114,25,0,0,0,114,50,0,0,0,114,179,0,0,0,218, + 6,95,95,103,101,95,95,114,240,0,0,0,115,2,0,0, + 0,32,32,114,9,0,0,0,218,6,95,95,103,116,95,95, + 122,10,83,101,116,46,95,95,103,116,95,95,77,2,0,0, + 114,242,0,0,0,114,8,0,0,0,99,2,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243, + 122,0,0,0,151,0,116,1,0,0,0,0,0,0,0,0, + 124,1,116,2,0,0,0,0,0,0,0,0,171,2,0,0, + 0,0,0,0,115,6,116,4,0,0,0,0,0,0,0,0, + 83,0,116,7,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,116,7,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,107,2,0,0,114,1, + 121,1,124,1,68,0,93,8,0,0,125,2,124,2,124,0, + 118,1,115,1,140,8,1,0,121,1,4,0,121,2,114,232, + 0,0,0,114,233,0,0,0,114,234,0,0,0,115,3,0, + 0,0,32,32,32,114,9,0,0,0,114,244,0,0,0,122, + 10,83,101,116,46,95,95,103,101,95,95,82,2,0,0,115, + 68,0,0,0,128,0,220,15,25,152,37,164,19,212,15,37, + 220,19,33,208,12,33,220,11,14,136,116,139,57,148,115,152, + 53,147,122,210,11,33,216,19,24,216,20,25,242,0,2,9, + 29,136,68,216,15,19,152,52,210,15,31,217,23,28,240,5, + 2,9,29,240,6,0,16,20,114,8,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0, + 0,0,243,130,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,1,116,2,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,115,6,116,4,0,0,0,0,0, + 0,0,0,83,0,116,7,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,116,7,0,0,0,0,0, + 0,0,0,124,1,171,1,0,0,0,0,0,0,107,40,0, + 0,120,1,114,17,1,0,124,0,106,9,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,83,0,114,6,0,0,0,114,239, + 0,0,0,114,240,0,0,0,115,2,0,0,0,32,32,114, + 9,0,0,0,218,6,95,95,101,113,95,95,122,10,83,101, + 116,46,95,95,101,113,95,95,92,2,0,0,115,51,0,0, + 0,128,0,220,15,25,152,37,164,19,212,15,37,220,19,33, + 208,12,33,220,15,18,144,52,139,121,156,67,160,5,155,74, + 209,15,38,210,15,61,168,52,175,59,169,59,176,117,211,43, + 61,208,8,61,114,8,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,3,0,0,0,3,0,0,0,243,18, + 0,0,0,151,0,2,0,124,0,124,1,171,1,0,0,0, + 0,0,0,83,0,41,1,122,188,67,111,110,115,116,114,117, + 99,116,32,97,110,32,105,110,115,116,97,110,99,101,32,111, + 102,32,116,104,101,32,99,108,97,115,115,32,102,114,111,109, + 32,97,110,121,32,105,116,101,114,97,98,108,101,32,105,110, + 112,117,116,46,10,10,32,32,32,32,32,32,32,32,77,117, + 115,116,32,111,118,101,114,114,105,100,101,32,116,104,105,115, + 32,109,101,116,104,111,100,32,105,102,32,116,104,101,32,99, + 108,97,115,115,32,99,111,110,115,116,114,117,99,116,111,114, + 32,115,105,103,110,97,116,117,114,101,10,32,32,32,32,32, + 32,32,32,100,111,101,115,32,110,111,116,32,97,99,99,101, + 112,116,32,97,110,32,105,116,101,114,97,98,108,101,32,102, + 111,114,32,97,110,32,105,110,112,117,116,46,10,32,32,32, + 32,32,32,32,32,114,7,0,0,0,169,2,114,66,0,0, + 0,218,2,105,116,115,2,0,0,0,32,32,114,9,0,0, + 0,218,14,95,102,114,111,109,95,105,116,101,114,97,98,108, + 101,122,18,83,101,116,46,95,102,114,111,109,95,105,116,101, + 114,97,98,108,101,97,2,0,0,115,13,0,0,0,128,0, + 241,14,0,16,19,144,50,139,119,136,14,114,8,0,0,0, + 99,2,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,100,0,0,0,135,0,151,0,116,1, + 0,0,0,0,0,0,0,0,124,1,116,2,0,0,0,0, + 0,0,0,0,171,2,0,0,0,0,0,0,115,6,116,4, + 0,0,0,0,0,0,0,0,83,0,137,0,106,7,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 136,0,102,1,100,1,132,8,124,1,68,0,171,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,83,0,41,2, + 78,99,1,0,0,0,0,0,0,0,0,0,0,0,3,0, + 0,0,51,0,0,0,243,44,0,0,0,149,1,75,0,1, + 0,151,0,124,0,93,11,0,0,125,1,124,1,137,2,118, + 0,115,1,140,8,124,1,150,1,151,1,1,0,140,13,4, + 0,121,0,173,3,119,1,114,6,0,0,0,114,7,0,0, + 0,169,3,114,212,0,0,0,114,87,0,0,0,114,61,0, + 0,0,115,3,0,0,0,32,32,128,114,9,0,0,0,114, + 215,0,0,0,122,30,83,101,116,46,95,95,97,110,100,95, + 95,46,60,108,111,99,97,108,115,62,46,60,103,101,110,101, + 120,112,114,62,109,2,0,0,115,23,0,0,0,248,232,0, + 248,128,0,210,34,77,168,85,184,117,200,4,186,125,164,53, + 209,34,77,249,115,8,0,0,0,131,9,20,1,141,7,20, + 1,169,4,114,177,0,0,0,114,17,0,0,0,114,50,0, + 0,0,114,252,0,0,0,114,240,0,0,0,115,2,0,0, + 0,96,32,114,9,0,0,0,218,7,95,95,97,110,100,95, + 95,122,11,83,101,116,46,95,95,97,110,100,95,95,106,2, + 0,0,115,42,0,0,0,248,128,0,220,15,25,152,37,164, + 24,212,15,42,220,19,33,208,12,33,216,15,19,215,15,34, + 209,15,34,211,34,77,176,101,212,34,77,211,15,77,208,8, + 77,114,8,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,3,0,0,0,3,0,0,0,243,30,0,0,0, + 151,0,124,1,68,0,93,8,0,0,125,2,124,2,124,0, + 118,0,115,1,140,8,1,0,121,1,4,0,121,2,41,3, + 122,49,82,101,116,117,114,110,32,84,114,117,101,32,105,102, + 32,116,119,111,32,115,101,116,115,32,104,97,118,101,32,97, + 32,110,117,108,108,32,105,110,116,101,114,115,101,99,116,105, + 111,110,46,70,84,114,7,0,0,0,41,3,114,61,0,0, + 0,114,235,0,0,0,114,87,0,0,0,115,3,0,0,0, + 32,32,32,114,9,0,0,0,218,10,105,115,100,105,115,106, + 111,105,110,116,122,14,83,101,116,46,105,115,100,105,115,106, + 111,105,110,116,113,2,0,0,115,32,0,0,0,128,0,224, + 21,26,242,0,2,9,29,136,69,216,15,20,152,4,138,125, + 217,23,28,240,5,2,9,29,240,6,0,16,20,114,8,0, + 0,0,99,2,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,3,0,0,0,243,102,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,124,1,116,2,0,0,0,0, + 0,0,0,0,171,2,0,0,0,0,0,0,115,6,116,4, + 0,0,0,0,0,0,0,0,83,0,100,1,132,0,124,0, + 124,1,102,2,68,0,171,0,0,0,0,0,0,0,125,2, + 124,0,106,7,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0, + 83,0,41,2,78,99,1,0,0,0,0,0,0,0,0,0, + 0,0,3,0,0,0,51,0,0,0,243,46,0,0,0,75, + 0,1,0,151,0,124,0,93,13,0,0,125,1,124,1,68, + 0,93,6,0,0,125,2,124,2,150,1,151,1,1,0,140, + 8,4,0,140,15,4,0,121,0,173,3,119,1,114,6,0, + 0,0,114,7,0,0,0,41,3,114,212,0,0,0,218,1, + 115,218,1,101,115,3,0,0,0,32,32,32,114,9,0,0, + 0,114,215,0,0,0,122,29,83,101,116,46,95,95,111,114, + 95,95,46,60,108,111,99,97,108,115,62,46,60,103,101,110, + 101,120,112,114,62,123,2,0,0,115,28,0,0,0,232,0, + 248,128,0,210,16,53,144,113,176,49,210,16,53,168,97,148, + 17,208,16,53,144,17,209,16,53,249,115,4,0,0,0,130, + 19,21,1,114,0,1,0,0,41,3,114,61,0,0,0,114, + 235,0,0,0,218,5,99,104,97,105,110,115,3,0,0,0, + 32,32,32,114,9,0,0,0,218,6,95,95,111,114,95,95, + 122,10,83,101,116,46,95,95,111,114,95,95,120,2,0,0, + 115,49,0,0,0,128,0,220,15,25,152,37,164,24,212,15, + 42,220,19,33,208,12,33,217,16,53,152,84,160,53,152,77, + 212,16,53,136,5,216,15,19,215,15,34,209,15,34,160,53, + 211,15,41,208,8,41,114,8,0,0,0,99,2,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, + 243,166,0,0,0,135,1,151,0,116,1,0,0,0,0,0, + 0,0,0,137,1,116,2,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,115,39,116,1,0,0,0,0,0, + 0,0,0,137,1,116,4,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,115,6,116,6,0,0,0,0,0, + 0,0,0,83,0,124,0,106,9,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,137,1,171,1,0, + 0,0,0,0,0,138,1,124,0,106,9,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,136,1,102, + 1,100,1,132,8,124,0,68,0,171,0,0,0,0,0,0, + 0,171,1,0,0,0,0,0,0,83,0,41,2,78,99,1, + 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,51, + 0,0,0,243,42,0,0,0,149,1,75,0,1,0,151,0, + 124,0,93,10,0,0,125,1,124,1,137,2,118,1,114,4, + 124,1,150,1,151,1,1,0,140,12,4,0,121,0,173,3, + 119,1,114,6,0,0,0,114,7,0,0,0,41,3,114,212, + 0,0,0,114,87,0,0,0,114,235,0,0,0,115,3,0, + 0,0,32,32,128,114,9,0,0,0,114,215,0,0,0,122, + 30,83,101,116,46,95,95,115,117,98,95,95,46,60,108,111, + 99,97,108,115,62,46,60,103,101,110,101,120,112,114,62,133, + 2,0,0,115,32,0,0,0,248,232,0,248,128,0,242,0, + 1,35,58,168,85,216,38,43,176,53,209,38,56,244,3,0, + 36,41,241,0,1,35,58,249,243,4,0,0,0,131,16,19, + 1,169,5,114,177,0,0,0,114,25,0,0,0,114,17,0, + 0,0,114,50,0,0,0,114,252,0,0,0,114,240,0,0, + 0,115,2,0,0,0,32,96,114,9,0,0,0,218,7,95, + 95,115,117,98,95,95,122,11,83,101,116,46,95,95,115,117, + 98,95,95,128,2,0,0,115,76,0,0,0,248,128,0,220, + 15,25,152,37,164,19,212,15,37,220,19,29,152,101,164,88, + 212,19,46,220,23,37,208,16,37,216,20,24,215,20,39,209, + 20,39,168,5,211,20,46,136,69,216,15,19,215,15,34,209, + 15,34,243,0,1,35,58,176,100,244,0,1,35,58,243,0, + 1,16,58,240,0,1,9,58,114,8,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0, + 0,0,243,166,0,0,0,135,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,1,116,2,0,0,0,0,0,0,0, + 0,171,2,0,0,0,0,0,0,115,39,116,1,0,0,0, + 0,0,0,0,0,124,1,116,4,0,0,0,0,0,0,0, + 0,171,2,0,0,0,0,0,0,115,6,116,6,0,0,0, + 0,0,0,0,0,83,0,137,0,106,9,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,125,1,137,0,106,9,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136, + 0,102,1,100,1,132,8,124,1,68,0,171,0,0,0,0, + 0,0,0,171,1,0,0,0,0,0,0,83,0,41,2,78, + 99,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,51,0,0,0,243,42,0,0,0,149,1,75,0,1,0, + 151,0,124,0,93,10,0,0,125,1,124,1,137,2,118,1, + 114,4,124,1,150,1,151,1,1,0,140,12,4,0,121,0, + 173,3,119,1,114,6,0,0,0,114,7,0,0,0,114,255, + 0,0,0,115,3,0,0,0,32,32,128,114,9,0,0,0, + 114,215,0,0,0,122,31,83,101,116,46,95,95,114,115,117, + 98,95,95,46,60,108,111,99,97,108,115,62,46,60,103,101, + 110,101,120,112,114,62,141,2,0,0,115,32,0,0,0,248, + 232,0,248,128,0,242,0,1,35,57,168,85,216,38,43,176, + 52,209,38,55,244,3,0,36,41,241,0,1,35,57,249,114, + 12,1,0,0,114,13,1,0,0,114,240,0,0,0,115,2, + 0,0,0,96,32,114,9,0,0,0,218,8,95,95,114,115, + 117,98,95,95,122,12,83,101,116,46,95,95,114,115,117,98, + 95,95,136,2,0,0,115,76,0,0,0,248,128,0,220,15, + 25,152,37,164,19,212,15,37,220,19,29,152,101,164,88,212, + 19,46,220,23,37,208,16,37,216,20,24,215,20,39,209,20, + 39,168,5,211,20,46,136,69,216,15,19,215,15,34,209,15, + 34,243,0,1,35,57,176,101,244,0,1,35,57,243,0,1, + 16,57,240,0,1,9,57,114,8,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0, + 0,243,134,0,0,0,151,0,116,1,0,0,0,0,0,0, + 0,0,124,1,116,2,0,0,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,115,39,116,1,0,0,0,0,0,0, + 0,0,124,1,116,4,0,0,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,115,6,116,6,0,0,0,0,0,0, + 0,0,83,0,124,0,106,9,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,125,1,124,0,124,1,122,10,0,0,124,1, + 124,0,122,10,0,0,122,7,0,0,83,0,114,6,0,0, + 0,114,13,1,0,0,114,240,0,0,0,115,2,0,0,0, + 32,32,114,9,0,0,0,218,7,95,95,120,111,114,95,95, + 122,11,83,101,116,46,95,95,120,111,114,95,95,144,2,0, + 0,115,63,0,0,0,128,0,220,15,25,152,37,164,19,212, + 15,37,220,19,29,152,101,164,88,212,19,46,220,23,37,208, + 16,37,216,20,24,215,20,39,209,20,39,168,5,211,20,46, + 136,69,216,16,20,144,117,145,12,160,21,168,20,161,28,209, + 15,46,208,8,46,114,8,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,5,0,0,0,3,0,0,0,243, + 20,1,0,0,151,0,116,0,0,0,0,0,0,0,0,0, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,125,1,100,1,124,1,122,5,0,0,100,2, + 122,0,0,0,125,2,116,5,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,3,100,3,124,3, + 100,2,122,0,0,0,122,5,0,0,125,4,124,4,124,2, + 122,14,0,0,125,4,124,0,68,0,93,35,0,0,125,5, + 116,7,0,0,0,0,0,0,0,0,124,5,171,1,0,0, + 0,0,0,0,125,6,124,4,124,6,124,6,100,4,122,3, + 0,0,122,12,0,0,100,5,122,12,0,0,100,6,122,5, + 0,0,122,25,0,0,125,4,124,4,124,2,122,14,0,0, + 125,4,140,37,4,0,124,4,124,4,100,7,122,9,0,0, + 124,4,100,8,122,9,0,0,122,12,0,0,122,25,0,0, + 125,4,124,4,100,9,122,5,0,0,100,10,122,0,0,0, + 125,4,124,4,124,2,122,14,0,0,125,4,124,4,124,1, + 107,68,0,0,114,8,124,4,124,2,100,2,122,0,0,0, + 122,23,0,0,125,4,124,4,100,11,107,40,0,0,114,2, + 100,12,125,4,124,4,83,0,41,13,97,43,2,0,0,67, + 111,109,112,117,116,101,32,116,104,101,32,104,97,115,104,32, + 118,97,108,117,101,32,111,102,32,97,32,115,101,116,46,10, + 10,32,32,32,32,32,32,32,32,78,111,116,101,32,116,104, + 97,116,32,119,101,32,100,111,110,39,116,32,100,101,102,105, + 110,101,32,95,95,104,97,115,104,95,95,58,32,110,111,116, + 32,97,108,108,32,115,101,116,115,32,97,114,101,32,104,97, + 115,104,97,98,108,101,46,10,32,32,32,32,32,32,32,32, + 66,117,116,32,105,102,32,121,111,117,32,100,101,102,105,110, + 101,32,97,32,104,97,115,104,97,98,108,101,32,115,101,116, + 32,116,121,112,101,44,32,105,116,115,32,95,95,104,97,115, + 104,95,95,32,115,104,111,117,108,100,10,32,32,32,32,32, + 32,32,32,99,97,108,108,32,116,104,105,115,32,102,117,110, + 99,116,105,111,110,46,10,10,32,32,32,32,32,32,32,32, + 84,104,105,115,32,109,117,115,116,32,98,101,32,99,111,109, + 112,97,116,105,98,108,101,32,95,95,101,113,95,95,46,10, + 10,32,32,32,32,32,32,32,32,65,108,108,32,115,101,116, + 115,32,111,117,103,104,116,32,116,111,32,99,111,109,112,97, + 114,101,32,101,113,117,97,108,32,105,102,32,116,104,101,121, + 32,99,111,110,116,97,105,110,32,116,104,101,32,115,97,109, + 101,10,32,32,32,32,32,32,32,32,101,108,101,109,101,110, + 116,115,44,32,114,101,103,97,114,100,108,101,115,115,32,111, + 102,32,104,111,119,32,116,104,101,121,32,97,114,101,32,105, + 109,112,108,101,109,101,110,116,101,100,44,32,97,110,100,10, + 32,32,32,32,32,32,32,32,114,101,103,97,114,100,108,101, + 115,115,32,111,102,32,116,104,101,32,111,114,100,101,114,32, + 111,102,32,116,104,101,32,101,108,101,109,101,110,116,115,59, + 32,115,111,32,116,104,101,114,101,39,115,32,110,111,116,32, + 109,117,99,104,10,32,32,32,32,32,32,32,32,102,114,101, + 101,100,111,109,32,102,111,114,32,95,95,101,113,95,95,32, + 111,114,32,95,95,104,97,115,104,95,95,46,32,32,87,101, + 32,109,97,116,99,104,32,116,104,101,32,97,108,103,111,114, + 105,116,104,109,32,117,115,101,100,10,32,32,32,32,32,32, + 32,32,98,121,32,116,104,101,32,98,117,105,108,116,45,105, + 110,32,102,114,111,122,101,110,115,101,116,32,116,121,112,101, + 46,10,32,32,32,32,32,32,32,32,114,176,0,0,0,114, + 37,0,0,0,105,77,239,232,114,233,16,0,0,0,105,179, + 77,91,5,108,3,0,0,0,215,52,126,50,3,0,233,11, + 0,0,0,233,25,0,0,0,105,205,13,1,0,105,227,195, + 17,54,114,191,0,0,0,105,193,199,56,35,41,4,218,3, + 115,121,115,218,7,109,97,120,115,105,122,101,114,179,0,0, + 0,218,4,104,97,115,104,41,7,114,61,0,0,0,218,3, + 77,65,88,218,4,77,65,83,75,218,1,110,218,1,104,114, + 157,0,0,0,218,2,104,120,115,7,0,0,0,32,32,32, + 32,32,32,32,114,9,0,0,0,218,5,95,104,97,115,104, + 122,9,83,101,116,46,95,104,97,115,104,153,2,0,0,115, + 204,0,0,0,128,0,244,30,0,15,18,143,107,137,107,136, + 3,216,15,16,144,51,137,119,152,17,137,123,136,4,220,12, + 15,144,4,139,73,136,1,216,12,22,152,33,152,97,153,37, + 209,12,32,136,1,216,8,9,136,84,137,9,136,1,216,17, + 21,242,0,3,9,22,136,65,220,17,21,144,97,147,23,136, + 66,216,12,13,144,34,152,2,152,98,153,8,145,47,160,72, + 209,18,44,176,26,209,17,59,209,12,59,136,65,216,12,13, + 144,20,137,73,137,65,240,7,3,9,22,240,8,0,9,10, + 136,97,144,50,137,103,152,33,152,114,153,39,209,13,34,209, + 8,34,136,1,216,12,13,144,5,137,73,152,9,209,12,33, + 136,1,216,8,9,136,84,137,9,136,1,216,11,12,136,115, + 138,55,216,12,13,144,20,152,1,145,24,137,77,136,65,216, + 11,12,144,2,138,55,216,16,25,136,65,216,15,16,136,8, + 114,8,0,0,0,78,41,22,114,69,0,0,0,114,70,0, + 0,0,114,71,0,0,0,114,204,0,0,0,114,72,0,0, + 0,114,237,0,0,0,114,241,0,0,0,114,245,0,0,0, + 114,244,0,0,0,114,248,0,0,0,114,73,0,0,0,114, + 252,0,0,0,114,1,1,0,0,218,8,95,95,114,97,110, + 100,95,95,114,3,1,0,0,114,9,1,0,0,218,7,95, + 95,114,111,114,95,95,114,14,1,0,0,114,17,1,0,0, + 114,19,1,0,0,218,8,95,95,114,120,111,114,95,95,114, + 32,1,0,0,114,7,0,0,0,114,8,0,0,0,114,9, + 0,0,0,114,25,0,0,0,114,25,0,0,0,49,2,0, + 0,115,116,0,0,0,132,0,241,2,8,5,8,240,20,0, + 17,19,128,73,242,4,8,5,20,242,20,3,5,61,242,10, + 3,5,61,242,10,8,5,20,242,20,3,5,62,240,10,0, + 6,17,241,2,6,5,23,243,3,0,6,17,240,2,6,5, + 23,242,16,3,5,78,1,240,10,0,16,23,128,72,242,4, + 5,5,20,242,14,4,5,42,240,12,0,15,21,128,71,242, + 4,6,5,58,242,16,6,5,57,242,16,5,5,47,240,14, + 0,16,23,128,72,243,4,31,5,17,114,8,0,0,0,114, + 25,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0, + 0,2,0,0,0,0,0,0,0,243,94,0,0,0,151,0, + 101,0,90,1,100,0,90,2,100,1,90,3,100,2,90,4, + 101,5,100,3,132,0,171,0,0,0,0,0,0,0,90,6, + 101,5,100,4,132,0,171,0,0,0,0,0,0,0,90,7, + 100,5,132,0,90,8,100,6,132,0,90,9,100,7,132,0, + 90,10,100,8,132,0,90,11,100,9,132,0,90,12,100,10, + 132,0,90,13,100,11,132,0,90,14,121,12,41,13,114,26, + 0,0,0,97,135,1,0,0,65,32,109,117,116,97,98,108, + 101,32,115,101,116,32,105,115,32,97,32,102,105,110,105,116, + 101,44,32,105,116,101,114,97,98,108,101,32,99,111,110,116, + 97,105,110,101,114,46,10,10,32,32,32,32,84,104,105,115, + 32,99,108,97,115,115,32,112,114,111,118,105,100,101,115,32, + 99,111,110,99,114,101,116,101,32,103,101,110,101,114,105,99, + 32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,115, + 32,111,102,32,97,108,108,10,32,32,32,32,109,101,116,104, + 111,100,115,32,101,120,99,101,112,116,32,102,111,114,32,95, + 95,99,111,110,116,97,105,110,115,95,95,44,32,95,95,105, + 116,101,114,95,95,44,32,95,95,108,101,110,95,95,44,10, + 32,32,32,32,97,100,100,40,41,44,32,97,110,100,32,100, + 105,115,99,97,114,100,40,41,46,10,10,32,32,32,32,84, + 111,32,111,118,101,114,114,105,100,101,32,116,104,101,32,99, + 111,109,112,97,114,105,115,111,110,115,32,40,112,114,101,115, + 117,109,97,98,108,121,32,102,111,114,32,115,112,101,101,100, + 44,32,97,115,32,116,104,101,10,32,32,32,32,115,101,109, + 97,110,116,105,99,115,32,97,114,101,32,102,105,120,101,100, + 41,44,32,97,108,108,32,121,111,117,32,104,97,118,101,32, + 116,111,32,100,111,32,105,115,32,114,101,100,101,102,105,110, + 101,32,95,95,108,101,95,95,32,97,110,100,10,32,32,32, + 32,116,104,101,110,32,116,104,101,32,111,116,104,101,114,32, + 111,112,101,114,97,116,105,111,110,115,32,119,105,108,108,32, + 97,117,116,111,109,97,116,105,99,97,108,108,121,32,102,111, + 108,108,111,119,32,115,117,105,116,46,10,32,32,32,32,114, + 7,0,0,0,99,2,0,0,0,0,0,0,0,0,0,0, + 0,1,0,0,0,3,0,0,0,243,14,0,0,0,151,0, + 116,0,0,0,0,0,0,0,0,0,130,1,41,1,122,15, + 65,100,100,32,97,110,32,101,108,101,109,101,110,116,46,114, + 167,0,0,0,114,86,0,0,0,115,2,0,0,0,32,32, + 114,9,0,0,0,218,3,97,100,100,122,14,77,117,116,97, + 98,108,101,83,101,116,46,97,100,100,204,2,0,0,243,10, + 0,0,0,128,0,244,6,0,15,34,208,8,33,114,8,0, + 0,0,99,2,0,0,0,0,0,0,0,0,0,0,0,1, + 0,0,0,3,0,0,0,243,14,0,0,0,151,0,116,0, + 0,0,0,0,0,0,0,0,130,1,41,1,122,56,82,101, + 109,111,118,101,32,97,110,32,101,108,101,109,101,110,116,46, + 32,32,68,111,32,110,111,116,32,114,97,105,115,101,32,97, + 110,32,101,120,99,101,112,116,105,111,110,32,105,102,32,97, + 98,115,101,110,116,46,114,167,0,0,0,114,86,0,0,0, + 115,2,0,0,0,32,32,114,9,0,0,0,218,7,100,105, + 115,99,97,114,100,122,18,77,117,116,97,98,108,101,83,101, + 116,46,100,105,115,99,97,114,100,209,2,0,0,114,39,1, + 0,0,114,8,0,0,0,99,2,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,3,0,0,0,243,68,0,0, + 0,151,0,124,1,124,0,118,1,114,11,116,1,0,0,0, + 0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,130, + 1,124,0,106,3,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,1,0,121,1,41,2,122,53,82,101,109,111,118,101,32, + 97,110,32,101,108,101,109,101,110,116,46,32,73,102,32,110, + 111,116,32,97,32,109,101,109,98,101,114,44,32,114,97,105, + 115,101,32,97,32,75,101,121,69,114,114,111,114,46,78,41, + 2,218,8,75,101,121,69,114,114,111,114,114,41,1,0,0, + 114,86,0,0,0,115,2,0,0,0,32,32,114,9,0,0, + 0,218,6,114,101,109,111,118,101,122,17,77,117,116,97,98, + 108,101,83,101,116,46,114,101,109,111,118,101,214,2,0,0, + 115,32,0,0,0,128,0,224,11,16,152,4,209,11,28,220, + 18,26,152,53,147,47,208,12,33,216,8,12,143,12,137,12, + 144,85,213,8,27,114,8,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243, + 126,0,0,0,151,0,116,1,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,1,9,0,116,3, + 0,0,0,0,0,0,0,0,124,1,171,1,0,0,0,0, + 0,0,125,2,124,0,106,9,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,2,171,1,0,0, + 0,0,0,0,1,0,124,2,83,0,35,0,116,4,0,0, + 0,0,0,0,0,0,36,0,114,8,1,0,116,6,0,0, + 0,0,0,0,0,0,100,1,130,2,119,0,120,3,89,0, + 119,1,41,2,122,50,82,101,116,117,114,110,32,116,104,101, + 32,112,111,112,112,101,100,32,118,97,108,117,101,46,32,32, + 82,97,105,115,101,32,75,101,121,69,114,114,111,114,32,105, + 102,32,101,109,112,116,121,46,78,41,5,218,4,105,116,101, + 114,218,4,110,101,120,116,114,85,0,0,0,114,43,1,0, + 0,114,41,1,0,0,169,3,114,61,0,0,0,114,251,0, + 0,0,114,87,0,0,0,115,3,0,0,0,32,32,32,114, + 9,0,0,0,218,3,112,111,112,122,14,77,117,116,97,98, + 108,101,83,101,116,46,112,111,112,220,2,0,0,115,69,0, + 0,0,128,0,228,13,17,144,36,139,90,136,2,240,2,3, + 9,37,220,20,24,152,18,147,72,136,69,240,6,0,9,13, + 143,12,137,12,144,85,212,8,27,216,15,20,136,12,248,244, + 7,0,16,29,242,0,1,9,37,220,18,26,160,4,208,12, + 36,240,3,1,9,37,250,115,8,0,0,0,141,11,43,0, + 171,17,60,3,99,1,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,3,0,0,0,243,70,0,0,0,151,0, + 9,0,9,0,124,0,106,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,1,0,140,17,35,0,116,2,0,0,0,0,0,0, + 0,0,36,0,114,3,1,0,89,0,121,1,119,0,120,3, + 89,0,119,1,41,2,122,54,84,104,105,115,32,105,115,32, + 115,108,111,119,32,40,99,114,101,97,116,101,115,32,78,32, + 110,101,119,32,105,116,101,114,97,116,111,114,115,33,41,32, + 98,117,116,32,101,102,102,101,99,116,105,118,101,46,78,41, + 2,114,49,1,0,0,114,43,1,0,0,114,60,0,0,0, + 115,1,0,0,0,32,114,9,0,0,0,218,5,99,108,101, + 97,114,122,16,77,117,116,97,98,108,101,83,101,116,46,99, + 108,101,97,114,230,2,0,0,115,42,0,0,0,128,0,240, + 4,4,9,17,216,18,22,216,16,20,151,8,145,8,148,10, + 240,3,0,19,23,248,228,15,23,242,0,1,9,17,217,12, + 16,240,3,1,9,17,250,243,12,0,0,0,130,18,20,0, + 148,9,32,3,159,1,32,3,99,2,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,54,0, + 0,0,151,0,124,1,68,0,93,19,0,0,125,2,124,0, + 106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,2,171,1,0,0,0,0,0,0,1,0, + 140,21,4,0,124,0,83,0,114,6,0,0,0,41,1,114, + 38,1,0,0,114,48,1,0,0,115,3,0,0,0,32,32, + 32,114,9,0,0,0,218,7,95,95,105,111,114,95,95,122, + 18,77,117,116,97,98,108,101,83,101,116,46,95,95,105,111, + 114,95,95,238,2,0,0,115,33,0,0,0,128,0,216,21, + 23,242,0,1,9,28,136,69,216,12,16,143,72,137,72,144, + 85,141,79,240,3,1,9,28,224,15,19,136,11,114,8,0, + 0,0,99,2,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,3,0,0,0,243,60,0,0,0,151,0,124,0, + 124,1,122,10,0,0,68,0,93,19,0,0,125,2,124,0, + 106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,2,171,1,0,0,0,0,0,0,1,0, + 140,21,4,0,124,0,83,0,114,6,0,0,0,41,1,114, + 41,1,0,0,114,48,1,0,0,115,3,0,0,0,32,32, + 32,114,9,0,0,0,218,8,95,95,105,97,110,100,95,95, + 122,19,77,117,116,97,98,108,101,83,101,116,46,95,95,105, + 97,110,100,95,95,243,2,0,0,115,38,0,0,0,128,0, + 216,22,26,152,82,145,105,242,0,1,9,32,136,69,216,12, + 16,143,76,137,76,152,21,213,12,31,240,3,1,9,32,224, + 15,19,136,11,114,8,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,208, + 0,0,0,151,0,124,1,124,0,117,0,114,18,124,0,106, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,1,0,124,0,83, + 0,116,3,0,0,0,0,0,0,0,0,124,1,116,4,0, + 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,115, + 17,124,0,106,7,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,125,1,124,1,68,0,93,41,0,0,125,2,124,2,124, + 0,118,0,114,18,124,0,106,9,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,2,171,1,0, + 0,0,0,0,0,1,0,140,25,124,0,106,11,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 2,171,1,0,0,0,0,0,0,1,0,140,43,4,0,124, + 0,83,0,114,6,0,0,0,41,6,114,51,1,0,0,114, + 177,0,0,0,114,25,0,0,0,114,252,0,0,0,114,41, + 1,0,0,114,38,1,0,0,114,48,1,0,0,115,3,0, + 0,0,32,32,32,114,9,0,0,0,218,8,95,95,105,120, + 111,114,95,95,122,19,77,117,116,97,98,108,101,83,101,116, + 46,95,95,105,120,111,114,95,95,248,2,0,0,115,105,0, + 0,0,128,0,216,11,13,144,20,137,58,216,12,16,143,74, + 137,74,140,76,240,18,0,16,20,136,11,244,15,0,20,30, + 152,98,164,35,212,19,38,216,21,25,215,21,40,209,21,40, + 168,18,211,21,44,144,2,216,25,27,242,0,4,13,36,144, + 5,216,19,24,152,68,145,61,216,20,24,151,76,145,76,160, + 21,213,20,39,224,20,24,151,72,145,72,152,85,149,79,240, + 9,4,13,36,240,10,0,16,20,136,11,114,8,0,0,0, + 99,2,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,98,0,0,0,151,0,124,1,124,0, + 117,0,114,18,124,0,106,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,1,0,124,0,83,0,124,1,68,0,93,19,0,0, + 125,2,124,0,106,3,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,2,171,1,0,0,0,0, + 0,0,1,0,140,21,4,0,124,0,83,0,114,6,0,0, + 0,41,2,114,51,1,0,0,114,41,1,0,0,114,48,1, + 0,0,115,3,0,0,0,32,32,32,114,9,0,0,0,218, + 8,95,95,105,115,117,98,95,95,122,19,77,117,116,97,98, + 108,101,83,101,116,46,95,95,105,115,117,98,95,95,5,3, + 0,0,115,59,0,0,0,128,0,216,11,13,144,20,137,58, + 216,12,16,143,74,137,74,140,76,240,8,0,16,20,136,11, + 240,5,0,26,28,242,0,1,13,36,144,5,216,16,20,151, + 12,145,12,152,85,213,16,35,240,3,1,13,36,224,15,19, + 136,11,114,8,0,0,0,78,41,15,114,69,0,0,0,114, + 70,0,0,0,114,71,0,0,0,114,204,0,0,0,114,72, + 0,0,0,114,4,0,0,0,114,38,1,0,0,114,41,1, + 0,0,114,44,1,0,0,114,49,1,0,0,114,51,1,0, + 0,114,54,1,0,0,114,56,1,0,0,114,58,1,0,0, + 114,60,1,0,0,114,7,0,0,0,114,8,0,0,0,114, + 9,0,0,0,114,26,0,0,0,114,26,0,0,0,190,2, + 0,0,115,87,0,0,0,132,0,241,2,9,5,8,240,22, + 0,17,19,128,73,224,5,19,241,2,2,5,34,243,3,0, + 6,20,240,2,2,5,34,240,8,0,6,20,241,2,2,5, + 34,243,3,0,6,20,240,2,2,5,34,242,8,4,5,28, + 242,12,8,5,21,242,20,6,5,17,242,16,3,5,20,242, + 10,3,5,20,242,10,11,5,20,243,26,6,5,20,114,8, + 0,0,0,114,26,0,0,0,99,0,0,0,0,0,0,0, + 0,0,0,0,0,2,0,0,0,0,0,0,0,243,82,0, + 0,0,151,0,101,0,90,1,100,0,90,2,100,1,90,3, + 100,2,90,4,100,3,90,5,101,6,100,4,132,0,171,0, + 0,0,0,0,0,0,90,7,100,12,100,6,132,1,90,8, + 100,7,132,0,90,9,100,8,132,0,90,10,100,9,132,0, + 90,11,100,10,132,0,90,12,100,11,132,0,90,13,100,5, + 90,14,121,5,41,13,114,27,0,0,0,122,198,65,32,77, + 97,112,112,105,110,103,32,105,115,32,97,32,103,101,110,101, + 114,105,99,32,99,111,110,116,97,105,110,101,114,32,102,111, + 114,32,97,115,115,111,99,105,97,116,105,110,103,32,107,101, + 121,47,118,97,108,117,101,10,32,32,32,32,112,97,105,114, + 115,46,10,10,32,32,32,32,84,104,105,115,32,99,108,97, + 115,115,32,112,114,111,118,105,100,101,115,32,99,111,110,99, + 114,101,116,101,32,103,101,110,101,114,105,99,32,105,109,112, + 108,101,109,101,110,116,97,116,105,111,110,115,32,111,102,32, + 97,108,108,10,32,32,32,32,109,101,116,104,111,100,115,32, + 101,120,99,101,112,116,32,102,111,114,32,95,95,103,101,116, + 105,116,101,109,95,95,44,32,95,95,105,116,101,114,95,95, + 44,32,97,110,100,32,95,95,108,101,110,95,95,46,10,32, + 32,32,32,114,7,0,0,0,233,64,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0, + 0,0,243,14,0,0,0,151,0,116,0,0,0,0,0,0, + 0,0,0,130,1,114,6,0,0,0,169,1,114,43,1,0, + 0,169,2,114,61,0,0,0,218,3,107,101,121,115,2,0, + 0,0,32,32,114,9,0,0,0,114,201,0,0,0,122,19, + 77,97,112,112,105,110,103,46,95,95,103,101,116,105,116,101, + 109,95,95,32,3,0,0,243,7,0,0,0,128,0,228,14, + 22,136,14,114,8,0,0,0,78,99,3,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,48, + 0,0,0,151,0,9,0,124,0,124,1,25,0,0,0,83, + 0,35,0,116,0,0,0,0,0,0,0,0,0,36,0,114, + 5,1,0,124,2,99,2,89,0,83,0,119,0,120,3,89, + 0,119,1,41,1,122,60,68,46,103,101,116,40,107,91,44, + 100,93,41,32,45,62,32,68,91,107,93,32,105,102,32,107, + 32,105,110,32,68,44,32,101,108,115,101,32,100,46,32,32, + 100,32,100,101,102,97,117,108,116,115,32,116,111,32,78,111, + 110,101,46,114,64,1,0,0,169,3,114,61,0,0,0,114, + 66,1,0,0,218,7,100,101,102,97,117,108,116,115,3,0, + 0,0,32,32,32,114,9,0,0,0,218,3,103,101,116,122, + 11,77,97,112,112,105,110,103,46,103,101,116,36,3,0,0, + 115,37,0,0,0,128,0,240,4,3,9,27,216,19,23,152, + 3,145,57,208,12,28,248,220,15,23,242,0,1,9,27,216, + 19,26,138,78,240,3,1,9,27,250,115,12,0,0,0,130, + 4,7,0,135,11,21,3,148,1,21,3,99,2,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, + 243,46,0,0,0,151,0,9,0,124,0,124,1,25,0,0, + 0,1,0,121,1,35,0,116,0,0,0,0,0,0,0,0, + 0,36,0,114,3,1,0,89,0,121,2,119,0,120,3,89, + 0,119,1,169,3,78,84,70,114,64,1,0,0,114,65,1, + 0,0,115,2,0,0,0,32,32,114,9,0,0,0,114,158, + 0,0,0,122,20,77,97,112,112,105,110,103,46,95,95,99, + 111,110,116,97,105,110,115,95,95,43,3,0,0,115,39,0, + 0,0,128,0,240,2,5,9,24,216,12,16,144,19,138,73, + 240,8,0,20,24,248,244,7,0,16,24,242,0,1,9,25, + 217,19,24,240,3,1,9,25,250,115,12,0,0,0,130,5, + 8,0,136,9,20,3,147,1,20,3,99,1,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,243, + 24,0,0,0,151,0,116,1,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,83,0,41,1,122,58, + 68,46,107,101,121,115,40,41,32,45,62,32,97,32,115,101, + 116,45,108,105,107,101,32,111,98,106,101,99,116,32,112,114, + 111,118,105,100,105,110,103,32,97,32,118,105,101,119,32,111, + 110,32,68,39,115,32,107,101,121,115,41,1,114,30,0,0, + 0,114,60,0,0,0,115,1,0,0,0,32,114,9,0,0, + 0,218,4,107,101,121,115,122,12,77,97,112,112,105,110,103, + 46,107,101,121,115,51,3,0,0,115,12,0,0,0,128,0, + 228,15,23,152,4,139,126,208,8,29,114,8,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,24,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,83, + 0,41,1,122,60,68,46,105,116,101,109,115,40,41,32,45, + 62,32,97,32,115,101,116,45,108,105,107,101,32,111,98,106, + 101,99,116,32,112,114,111,118,105,100,105,110,103,32,97,32, + 118,105,101,119,32,111,110,32,68,39,115,32,105,116,101,109, + 115,41,1,114,31,0,0,0,114,60,0,0,0,115,1,0, + 0,0,32,114,9,0,0,0,218,5,105,116,101,109,115,122, + 13,77,97,112,112,105,110,103,46,105,116,101,109,115,55,3, + 0,0,115,12,0,0,0,128,0,228,15,24,152,20,139,127, + 208,8,30,114,8,0,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,3,0,0,0,243,24,0, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,83,0,41,1,122,54,68,46, + 118,97,108,117,101,115,40,41,32,45,62,32,97,110,32,111, + 98,106,101,99,116,32,112,114,111,118,105,100,105,110,103,32, + 97,32,118,105,101,119,32,111,110,32,68,39,115,32,118,97, + 108,117,101,115,41,1,114,32,0,0,0,114,60,0,0,0, + 115,1,0,0,0,32,114,9,0,0,0,218,6,118,97,108, + 117,101,115,122,14,77,97,112,112,105,110,103,46,118,97,108, + 117,101,115,59,3,0,0,115,13,0,0,0,128,0,228,15, + 25,152,36,211,15,31,208,8,31,114,8,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, + 0,0,0,243,148,0,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,124,1,116,2,0,0,0,0,0,0,0,0, + 171,2,0,0,0,0,0,0,115,6,116,4,0,0,0,0, + 0,0,0,0,83,0,116,7,0,0,0,0,0,0,0,0, + 124,0,106,9,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,116,7,0,0,0,0,0,0,0,0, + 124,1,106,9,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,107,40,0,0,83,0,114,6,0,0, + 0,41,5,114,177,0,0,0,114,27,0,0,0,114,50,0, + 0,0,218,4,100,105,99,116,114,77,1,0,0,114,240,0, + 0,0,115,2,0,0,0,32,32,114,9,0,0,0,114,248, + 0,0,0,122,14,77,97,112,112,105,110,103,46,95,95,101, + 113,95,95,63,3,0,0,115,51,0,0,0,128,0,220,15, + 25,152,37,164,23,212,15,41,220,19,33,208,12,33,220,15, + 19,144,68,151,74,145,74,147,76,211,15,33,164,84,168,37, + 175,43,169,43,171,45,211,37,56,209,15,56,208,8,56,114, + 8,0,0,0,114,6,0,0,0,41,15,114,69,0,0,0, + 114,70,0,0,0,114,71,0,0,0,114,204,0,0,0,114, + 72,0,0,0,218,15,95,95,97,98,99,95,116,112,102,108, + 97,103,115,95,95,114,4,0,0,0,114,201,0,0,0,114, + 71,1,0,0,114,158,0,0,0,114,75,1,0,0,114,77, + 1,0,0,114,79,1,0,0,114,248,0,0,0,114,142,0, + 0,0,114,7,0,0,0,114,8,0,0,0,114,9,0,0, + 0,114,27,0,0,0,114,27,0,0,0,19,3,0,0,115, + 76,0,0,0,132,0,241,2,5,5,8,240,14,0,17,19, + 128,73,240,6,0,23,29,128,79,224,5,19,241,2,1,5, + 23,243,3,0,6,20,240,2,1,5,23,243,6,5,5,27, + 242,14,6,5,24,242,16,2,5,30,242,8,2,5,31,242, + 8,2,5,32,242,8,3,5,57,240,10,0,20,24,129,76, + 114,8,0,0,0,114,27,0,0,0,99,0,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,243, + 50,0,0,0,151,0,101,0,90,1,100,0,90,2,100,1, + 90,3,100,2,132,0,90,4,100,3,132,0,90,5,100,4, + 132,0,90,6,2,0,101,7,101,8,171,1,0,0,0,0, + 0,0,90,9,121,5,41,6,114,29,0,0,0,169,1,218, + 8,95,109,97,112,112,105,110,103,99,2,0,0,0,0,0, + 0,0,0,0,0,0,2,0,0,0,3,0,0,0,243,18, + 0,0,0,151,0,124,1,124,0,95,0,0,0,0,0,0, + 0,0,0,121,0,114,6,0,0,0,114,84,1,0,0,41, + 2,114,61,0,0,0,218,7,109,97,112,112,105,110,103,115, + 2,0,0,0,32,32,114,9,0,0,0,218,8,95,95,105, + 110,105,116,95,95,122,20,77,97,112,112,105,110,103,86,105, + 101,119,46,95,95,105,110,105,116,95,95,77,3,0,0,115, + 9,0,0,0,128,0,216,24,31,136,4,141,13,114,8,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,44,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,124,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,83,0,114,6,0,0,0,41,2,114, + 179,0,0,0,114,85,1,0,0,114,60,0,0,0,115,1, + 0,0,0,32,114,9,0,0,0,114,152,0,0,0,122,19, + 77,97,112,112,105,110,103,86,105,101,119,46,95,95,108,101, + 110,95,95,80,3,0,0,115,17,0,0,0,128,0,220,15, + 18,144,52,151,61,145,61,211,15,33,208,8,33,114,8,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,36,0,0,0,151,0,100,1, + 106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,83,0, + 41,2,78,122,38,123,48,46,95,95,99,108,97,115,115,95, + 95,46,95,95,110,97,109,101,95,95,125,40,123,48,46,95, + 109,97,112,112,105,110,103,33,114,125,41,41,1,218,6,102, + 111,114,109,97,116,114,60,0,0,0,115,1,0,0,0,32, + 114,9,0,0,0,114,194,0,0,0,122,20,77,97,112,112, + 105,110,103,86,105,101,119,46,95,95,114,101,112,114,95,95, + 83,3,0,0,115,19,0,0,0,128,0,216,15,55,215,15, + 62,209,15,62,184,116,211,15,68,208,8,68,114,8,0,0, + 0,78,41,10,114,69,0,0,0,114,70,0,0,0,114,71, + 0,0,0,114,72,0,0,0,114,88,1,0,0,114,152,0, + 0,0,114,194,0,0,0,114,73,0,0,0,114,80,0,0, + 0,114,81,0,0,0,114,7,0,0,0,114,8,0,0,0, + 114,9,0,0,0,114,29,0,0,0,114,29,0,0,0,73, + 3,0,0,115,36,0,0,0,132,0,224,16,27,128,73,242, + 4,1,5,32,242,6,1,5,34,242,6,1,5,69,1,241, + 6,0,25,36,160,76,211,24,49,209,4,21,114,8,0,0, + 0,114,29,0,0,0,99,0,0,0,0,0,0,0,0,0, + 0,0,0,2,0,0,0,0,0,0,0,243,44,0,0,0, + 151,0,101,0,90,1,100,0,90,2,100,1,90,3,101,4, + 100,2,132,0,171,0,0,0,0,0,0,0,90,5,100,3, + 132,0,90,6,100,4,132,0,90,7,121,5,41,6,114,30, + 0,0,0,114,7,0,0,0,99,2,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,3,0,0,0,243,24,0, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,1, + 171,1,0,0,0,0,0,0,83,0,114,6,0,0,0,169, + 1,218,3,115,101,116,114,250,0,0,0,115,2,0,0,0, + 32,32,114,9,0,0,0,114,252,0,0,0,122,23,75,101, + 121,115,86,105,101,119,46,95,102,114,111,109,95,105,116,101, + 114,97,98,108,101,93,3,0,0,243,11,0,0,0,128,0, + 228,15,18,144,50,139,119,136,14,114,8,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3, + 0,0,0,243,30,0,0,0,151,0,124,1,124,0,106,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,118,0,83,0,114,6,0,0,0,114,84,1,0,0, + 114,65,1,0,0,115,2,0,0,0,32,32,114,9,0,0, + 0,114,158,0,0,0,122,21,75,101,121,115,86,105,101,119, + 46,95,95,99,111,110,116,97,105,110,115,95,95,97,3,0, + 0,115,17,0,0,0,128,0,216,15,18,144,100,151,109,145, + 109,208,15,35,208,8,35,114,8,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,3,0,0,0,35,0,0, + 0,243,56,0,0,0,75,0,1,0,151,0,124,0,106,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,69,0,100,0,123,3,0,0,150,2,151,2,134,5, + 5,0,1,0,121,0,55,0,140,5,173,3,119,1,114,6, + 0,0,0,114,84,1,0,0,114,60,0,0,0,115,1,0, + 0,0,32,114,9,0,0,0,114,132,0,0,0,122,17,75, + 101,121,115,86,105,101,119,46,95,95,105,116,101,114,95,95, + 100,3,0,0,115,19,0,0,0,232,0,248,128,0,216,19, + 23,151,61,145,61,215,8,32,210,8,32,250,115,12,0,0, + 0,130,16,26,1,146,1,24,4,147,6,26,1,78,169,8, + 114,69,0,0,0,114,70,0,0,0,114,71,0,0,0,114, + 72,0,0,0,114,73,0,0,0,114,252,0,0,0,114,158, + 0,0,0,114,132,0,0,0,114,7,0,0,0,114,8,0, + 0,0,114,9,0,0,0,114,30,0,0,0,114,30,0,0, + 0,89,3,0,0,115,35,0,0,0,132,0,224,16,18,128, + 73,224,5,16,241,2,1,5,23,243,3,0,6,17,240,2, + 1,5,23,242,6,1,5,36,243,6,1,5,33,114,8,0, + 0,0,114,30,0,0,0,99,0,0,0,0,0,0,0,0, + 0,0,0,0,2,0,0,0,0,0,0,0,243,44,0,0, + 0,151,0,101,0,90,1,100,0,90,2,100,1,90,3,101, + 4,100,2,132,0,171,0,0,0,0,0,0,0,90,5,100, + 3,132,0,90,6,100,4,132,0,90,7,121,5,41,6,114, + 31,0,0,0,114,7,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,3,0,0,0,3,0,0,0,243,24, + 0,0,0,151,0,116,1,0,0,0,0,0,0,0,0,124, + 1,171,1,0,0,0,0,0,0,83,0,114,6,0,0,0, + 114,94,1,0,0,114,250,0,0,0,115,2,0,0,0,32, + 32,114,9,0,0,0,114,252,0,0,0,122,24,73,116,101, + 109,115,86,105,101,119,46,95,102,114,111,109,95,105,116,101, + 114,97,98,108,101,111,3,0,0,114,96,1,0,0,114,8, + 0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,96,0,0,0,151,0,124, + 1,92,2,0,0,125,2,125,3,9,0,124,0,106,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,2,25,0,0,0,125,4,124,4,124,3,117,0,120, + 1,115,5,1,0,124,4,124,3,107,40,0,0,83,0,35, + 0,116,2,0,0,0,0,0,0,0,0,36,0,114,3,1, + 0,89,0,121,1,119,0,120,3,89,0,119,1,114,156,0, + 0,0,41,2,114,85,1,0,0,114,43,1,0,0,41,5, + 114,61,0,0,0,114,202,0,0,0,114,66,1,0,0,114, + 87,0,0,0,218,1,118,115,5,0,0,0,32,32,32,32, + 32,114,9,0,0,0,114,158,0,0,0,122,22,73,116,101, + 109,115,86,105,101,119,46,95,95,99,111,110,116,97,105,110, + 115,95,95,115,3,0,0,115,71,0,0,0,128,0,216,21, + 25,137,10,136,3,136,85,240,2,5,9,44,216,16,20,151, + 13,145,13,152,99,209,16,34,136,65,240,8,0,20,21,152, + 5,144,58,210,19,43,160,17,160,101,161,26,208,12,43,248, + 244,7,0,16,24,242,0,1,9,25,217,19,24,240,3,1, + 9,25,250,115,12,0,0,0,135,15,33,0,161,9,45,3, + 172,1,45,3,99,1,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,35,0,0,0,243,84,0,0,0,75,0, + 1,0,151,0,124,0,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,68,0,93,21,0,0, + 125,1,124,1,124,0,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,25,0,0,0, + 102,2,150,1,151,1,1,0,140,23,4,0,121,0,173,3, + 119,1,114,6,0,0,0,114,84,1,0,0,114,65,1,0, + 0,115,2,0,0,0,32,32,114,9,0,0,0,114,132,0, + 0,0,122,18,73,116,101,109,115,86,105,101,119,46,95,95, + 105,116,101,114,95,95,124,3,0,0,115,45,0,0,0,232, + 0,248,128,0,216,19,23,151,61,145,61,242,0,1,9,44, + 136,67,216,19,22,152,4,159,13,153,13,160,99,209,24,42, + 208,18,43,211,12,43,241,3,1,9,44,249,115,4,0,0, + 0,130,38,40,1,78,114,99,1,0,0,114,7,0,0,0, + 114,8,0,0,0,114,9,0,0,0,114,31,0,0,0,114, + 31,0,0,0,107,3,0,0,115,35,0,0,0,132,0,224, + 16,18,128,73,224,5,16,241,2,1,5,23,243,3,0,6, + 17,240,2,1,5,23,242,6,7,5,44,243,18,2,5,44, + 114,8,0,0,0,114,31,0,0,0,99,0,0,0,0,0, + 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,243, + 28,0,0,0,151,0,101,0,90,1,100,0,90,2,100,1, + 90,3,100,2,132,0,90,4,100,3,132,0,90,5,121,4, + 41,5,114,32,0,0,0,114,7,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0, + 0,243,90,0,0,0,151,0,124,0,106,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0, + 93,28,0,0,125,2,124,0,106,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,2,25,0, + 0,0,125,3,124,3,124,1,117,0,115,6,124,3,124,1, + 107,40,0,0,115,1,140,28,1,0,121,1,4,0,121,2, + 114,73,1,0,0,114,84,1,0,0,41,4,114,61,0,0, + 0,114,87,0,0,0,114,66,1,0,0,114,103,1,0,0, + 115,4,0,0,0,32,32,32,32,114,9,0,0,0,114,158, + 0,0,0,122,23,86,97,108,117,101,115,86,105,101,119,46, + 95,95,99,111,110,116,97,105,110,115,95,95,136,3,0,0, + 115,56,0,0,0,128,0,216,19,23,151,61,145,61,242,0, + 3,9,28,136,67,216,16,20,151,13,145,13,152,99,209,16, + 34,136,65,216,15,16,144,69,137,122,152,81,160,37,155,90, + 217,23,27,240,7,3,9,28,240,8,0,16,21,114,8,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,35,0,0,0,243,80,0,0,0,75,0,1,0, + 151,0,124,0,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,68,0,93,19,0,0,125,1, + 124,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,25,0,0,0,150,1,151,1, + 1,0,140,21,4,0,121,0,173,3,119,1,114,6,0,0, + 0,114,84,1,0,0,114,65,1,0,0,115,2,0,0,0, + 32,32,114,9,0,0,0,114,132,0,0,0,122,19,86,97, + 108,117,101,115,86,105,101,119,46,95,95,105,116,101,114,95, + 95,143,3,0,0,115,40,0,0,0,232,0,248,128,0,216, + 19,23,151,61,145,61,242,0,1,9,37,136,67,216,18,22, + 151,45,145,45,160,3,209,18,36,211,12,36,241,3,1,9, + 37,249,115,4,0,0,0,130,36,38,1,78,41,6,114,69, + 0,0,0,114,70,0,0,0,114,71,0,0,0,114,72,0, + 0,0,114,158,0,0,0,114,132,0,0,0,114,7,0,0, + 0,114,8,0,0,0,114,9,0,0,0,114,32,0,0,0, + 114,32,0,0,0,132,3,0,0,115,17,0,0,0,132,0, + 224,16,18,128,73,242,4,5,5,21,243,14,2,5,37,114, + 8,0,0,0,114,32,0,0,0,99,0,0,0,0,0,0, + 0,0,0,0,0,0,2,0,0,0,0,0,0,0,243,104, + 0,0,0,151,0,101,0,90,1,100,0,90,2,100,1,90, + 3,100,2,90,4,101,5,100,3,132,0,171,0,0,0,0, + 0,0,0,90,6,101,5,100,4,132,0,171,0,0,0,0, + 0,0,0,90,7,2,0,101,8,171,0,0,0,0,0,0, + 0,90,9,101,9,102,1,100,5,132,1,90,10,100,6,132, + 0,90,11,100,7,132,0,90,12,100,11,100,8,132,1,90, + 13,100,12,100,10,132,1,90,14,121,9,41,13,114,28,0, + 0,0,122,235,65,32,77,117,116,97,98,108,101,77,97,112, + 112,105,110,103,32,105,115,32,97,32,103,101,110,101,114,105, + 99,32,99,111,110,116,97,105,110,101,114,32,102,111,114,32, + 97,115,115,111,99,105,97,116,105,110,103,10,32,32,32,32, + 107,101,121,47,118,97,108,117,101,32,112,97,105,114,115,46, + 10,10,32,32,32,32,84,104,105,115,32,99,108,97,115,115, + 32,112,114,111,118,105,100,101,115,32,99,111,110,99,114,101, + 116,101,32,103,101,110,101,114,105,99,32,105,109,112,108,101, + 109,101,110,116,97,116,105,111,110,115,32,111,102,32,97,108, + 108,10,32,32,32,32,109,101,116,104,111,100,115,32,101,120, + 99,101,112,116,32,102,111,114,32,95,95,103,101,116,105,116, + 101,109,95,95,44,32,95,95,115,101,116,105,116,101,109,95, + 95,44,32,95,95,100,101,108,105,116,101,109,95,95,44,10, + 32,32,32,32,95,95,105,116,101,114,95,95,44,32,97,110, + 100,32,95,95,108,101,110,95,95,46,10,32,32,32,32,114, + 7,0,0,0,99,3,0,0,0,0,0,0,0,0,0,0, + 0,1,0,0,0,3,0,0,0,243,14,0,0,0,151,0, + 116,0,0,0,0,0,0,0,0,0,130,1,114,6,0,0, + 0,114,64,1,0,0,169,3,114,61,0,0,0,114,66,1, + 0,0,114,87,0,0,0,115,3,0,0,0,32,32,32,114, + 9,0,0,0,218,11,95,95,115,101,116,105,116,101,109,95, + 95,122,26,77,117,116,97,98,108,101,77,97,112,112,105,110, + 103,46,95,95,115,101,116,105,116,101,109,95,95,162,3,0, + 0,114,67,1,0,0,114,8,0,0,0,99,2,0,0,0, + 0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0, + 243,14,0,0,0,151,0,116,0,0,0,0,0,0,0,0, + 0,130,1,114,6,0,0,0,114,64,1,0,0,114,65,1, + 0,0,115,2,0,0,0,32,32,114,9,0,0,0,218,11, + 95,95,100,101,108,105,116,101,109,95,95,122,26,77,117,116, + 97,98,108,101,77,97,112,112,105,110,103,46,95,95,100,101, + 108,105,116,101,109,95,95,166,3,0,0,114,67,1,0,0, + 114,8,0,0,0,99,3,0,0,0,0,0,0,0,0,0, + 0,0,4,0,0,0,3,0,0,0,243,88,0,0,0,151, + 0,9,0,124,0,124,1,25,0,0,0,125,3,124,0,124, + 1,61,0,124,3,83,0,35,0,116,0,0,0,0,0,0, + 0,0,0,36,0,114,20,1,0,124,2,124,0,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,117,0,114,1,130,0,124,2,99,2,89,0,83,0,119, + 0,120,3,89,0,119,1,41,1,122,169,68,46,112,111,112, + 40,107,91,44,100,93,41,32,45,62,32,118,44,32,114,101, + 109,111,118,101,32,115,112,101,99,105,102,105,101,100,32,107, + 101,121,32,97,110,100,32,114,101,116,117,114,110,32,116,104, + 101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32, + 118,97,108,117,101,46,10,32,32,32,32,32,32,32,32,32, + 32,73,102,32,107,101,121,32,105,115,32,110,111,116,32,102, + 111,117,110,100,44,32,100,32,105,115,32,114,101,116,117,114, + 110,101,100,32,105,102,32,103,105,118,101,110,44,32,111,116, + 104,101,114,119,105,115,101,32,75,101,121,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,41,2,114,43,1,0,0,218,23,95,77,117, + 116,97,98,108,101,77,97,112,112,105,110,103,95,95,109,97, + 114,107,101,114,41,4,114,61,0,0,0,114,66,1,0,0, + 114,70,1,0,0,114,87,0,0,0,115,4,0,0,0,32, + 32,32,32,114,9,0,0,0,114,49,1,0,0,122,18,77, + 117,116,97,98,108,101,77,97,112,112,105,110,103,46,112,111, + 112,172,3,0,0,115,67,0,0,0,128,0,240,8,8,9, + 25,216,20,24,152,19,145,73,136,69,240,12,0,17,21,144, + 83,144,9,216,19,24,136,76,248,244,13,0,16,24,242,0, + 3,9,27,216,15,22,152,36,159,45,153,45,209,15,39,216, + 16,21,216,19,26,138,78,240,7,3,9,27,250,115,12,0, + 0,0,130,5,12,0,140,26,41,3,168,1,41,3,99,1, + 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, + 0,0,0,243,108,0,0,0,151,0,9,0,116,1,0,0, + 0,0,0,0,0,0,116,3,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,125,1,124,0,124,1,25,0,0,0,125,2,124,0, + 124,1,61,0,124,1,124,2,102,2,83,0,35,0,116,4, + 0,0,0,0,0,0,0,0,36,0,114,8,1,0,116,6, + 0,0,0,0,0,0,0,0,100,1,130,2,119,0,120,3, + 89,0,119,1,41,2,122,131,68,46,112,111,112,105,116,101, + 109,40,41,32,45,62,32,40,107,44,32,118,41,44,32,114, + 101,109,111,118,101,32,97,110,100,32,114,101,116,117,114,110, + 32,115,111,109,101,32,40,107,101,121,44,32,118,97,108,117, + 101,41,32,112,97,105,114,10,32,32,32,32,32,32,32,32, + 32,32,32,97,115,32,97,32,50,45,116,117,112,108,101,59, + 32,98,117,116,32,114,97,105,115,101,32,75,101,121,69,114, + 114,111,114,32,105,102,32,68,32,105,115,32,101,109,112,116, + 121,46,10,32,32,32,32,32,32,32,32,78,41,4,114,47, + 1,0,0,114,46,1,0,0,114,85,0,0,0,114,43,1, + 0,0,114,110,1,0,0,115,3,0,0,0,32,32,32,114, + 9,0,0,0,218,7,112,111,112,105,116,101,109,122,22,77, + 117,116,97,98,108,101,77,97,112,112,105,110,103,46,112,111, + 112,105,116,101,109,186,3,0,0,115,74,0,0,0,128,0, + 240,8,3,9,37,220,18,22,148,116,152,68,147,122,211,18, + 34,136,67,240,6,0,17,21,144,83,145,9,136,5,216,12, + 16,144,19,136,73,216,15,18,144,69,136,122,208,8,25,248, + 244,9,0,16,29,242,0,1,9,37,220,18,26,160,4,208, + 12,36,240,3,1,9,37,250,115,8,0,0,0,130,20,34, + 0,162,17,51,3,99,1,0,0,0,0,0,0,0,0,0, + 0,0,4,0,0,0,3,0,0,0,243,70,0,0,0,151, + 0,9,0,9,0,124,0,106,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,171,0,0,0,0, + 0,0,0,1,0,140,17,35,0,116,2,0,0,0,0,0, + 0,0,0,36,0,114,3,1,0,89,0,121,1,119,0,120, + 3,89,0,119,1,41,2,122,44,68,46,99,108,101,97,114, + 40,41,32,45,62,32,78,111,110,101,46,32,32,82,101,109, + 111,118,101,32,97,108,108,32,105,116,101,109,115,32,102,114, + 111,109,32,68,46,78,41,2,114,117,1,0,0,114,43,1, + 0,0,114,60,0,0,0,115,1,0,0,0,32,114,9,0, + 0,0,114,51,1,0,0,122,20,77,117,116,97,98,108,101, + 77,97,112,112,105,110,103,46,99,108,101,97,114,198,3,0, + 0,115,42,0,0,0,128,0,240,4,4,9,17,216,18,22, + 216,16,20,151,12,145,12,148,14,240,3,0,19,23,248,228, + 15,23,242,0,1,9,17,217,12,16,240,3,1,9,17,250, + 114,52,1,0,0,99,2,0,0,0,2,0,0,0,0,0, + 0,0,4,0,0,0,11,0,0,0,243,240,0,0,0,151, + 0,116,1,0,0,0,0,0,0,0,0,124,1,116,2,0, + 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,114, + 16,124,1,68,0,93,10,0,0,125,3,124,1,124,3,25, + 0,0,0,124,0,124,3,60,0,0,0,140,12,4,0,110, + 57,116,5,0,0,0,0,0,0,0,0,124,1,100,1,171, + 2,0,0,0,0,0,0,114,30,124,1,106,7,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 0,0,0,0,0,0,0,68,0,93,10,0,0,125,3,124, + 1,124,3,25,0,0,0,124,0,124,3,60,0,0,0,140, + 12,4,0,110,15,124,1,68,0,93,10,0,0,92,2,0, + 0,125,3,125,4,124,4,124,0,124,3,60,0,0,0,140, + 12,4,0,124,2,106,9,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,68,0,93,10,0,0,92,2,0,0,125,3,125,4,124, + 4,124,0,124,3,60,0,0,0,140,12,4,0,121,2,41, + 3,97,75,1,0,0,32,68,46,117,112,100,97,116,101,40, + 91,69,44,32,93,42,42,70,41,32,45,62,32,78,111,110, + 101,46,32,32,85,112,100,97,116,101,32,68,32,102,114,111, + 109,32,109,97,112,112,105,110,103,47,105,116,101,114,97,98, + 108,101,32,69,32,97,110,100,32,70,46,10,32,32,32,32, + 32,32,32,32,32,32,32,32,73,102,32,69,32,112,114,101, + 115,101,110,116,32,97,110,100,32,104,97,115,32,97,32,46, + 107,101,121,115,40,41,32,109,101,116,104,111,100,44,32,100, + 111,101,115,58,32,32,32,32,32,102,111,114,32,107,32,105, + 110,32,69,58,32,68,91,107,93,32,61,32,69,91,107,93, + 10,32,32,32,32,32,32,32,32,32,32,32,32,73,102,32, + 69,32,112,114,101,115,101,110,116,32,97,110,100,32,108,97, + 99,107,115,32,46,107,101,121,115,40,41,32,109,101,116,104, + 111,100,44,32,100,111,101,115,58,32,32,32,32,32,102,111, + 114,32,40,107,44,32,118,41,32,105,110,32,69,58,32,68, + 91,107,93,32,61,32,118,10,32,32,32,32,32,32,32,32, + 32,32,32,32,73,110,32,101,105,116,104,101,114,32,99,97, + 115,101,44,32,116,104,105,115,32,105,115,32,102,111,108,108, + 111,119,101,100,32,98,121,58,32,102,111,114,32,107,44,32, + 118,32,105,110,32,70,46,105,116,101,109,115,40,41,58,32, + 68,91,107,93,32,61,32,118,10,32,32,32,32,32,32,32, + 32,114,75,1,0,0,78,41,5,114,177,0,0,0,114,27, + 0,0,0,218,7,104,97,115,97,116,116,114,114,75,1,0, + 0,114,77,1,0,0,41,5,114,61,0,0,0,114,235,0, + 0,0,114,227,0,0,0,114,66,1,0,0,114,87,0,0, + 0,115,5,0,0,0,32,32,32,32,32,114,9,0,0,0, + 218,6,117,112,100,97,116,101,122,21,77,117,116,97,98,108, + 101,77,97,112,112,105,110,103,46,117,112,100,97,116,101,206, + 3,0,0,115,150,0,0,0,128,0,244,12,0,12,22,144, + 101,156,87,212,11,37,216,23,28,242,0,1,13,39,144,3, + 216,28,33,160,35,153,74,144,4,144,83,146,9,241,3,1, + 13,39,228,13,20,144,85,152,70,212,13,35,216,23,28,151, + 122,145,122,147,124,242,0,1,13,39,144,3,216,28,33,160, + 35,153,74,144,4,144,83,146,9,241,3,1,13,39,240,6, + 0,31,36,242,0,1,13,34,145,10,144,3,144,85,216,28, + 33,144,4,144,83,146,9,240,3,1,13,34,224,26,30,159, + 42,153,42,155,44,242,0,1,9,30,137,74,136,67,144,21, + 216,24,29,136,68,144,19,138,73,241,3,1,9,30,114,8, + 0,0,0,78,99,3,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,3,0,0,0,243,56,0,0,0,151,0, + 9,0,124,0,124,1,25,0,0,0,83,0,35,0,116,0, + 0,0,0,0,0,0,0,0,36,0,114,9,1,0,124,2, + 124,0,124,1,60,0,0,0,89,0,124,2,83,0,119,0, + 120,3,89,0,119,1,41,1,122,64,68,46,115,101,116,100, + 101,102,97,117,108,116,40,107,91,44,100,93,41,32,45,62, + 32,68,46,103,101,116,40,107,44,100,41,44,32,97,108,115, + 111,32,115,101,116,32,68,91,107,93,61,100,32,105,102,32, + 107,32,110,111,116,32,105,110,32,68,114,64,1,0,0,114, + 69,1,0,0,115,3,0,0,0,32,32,32,114,9,0,0, + 0,218,10,115,101,116,100,101,102,97,117,108,116,122,25,77, + 117,116,97,98,108,101,77,97,112,112,105,110,103,46,115,101, + 116,100,101,102,97,117,108,116,224,3,0,0,115,46,0,0, + 0,128,0,240,4,3,9,32,216,19,23,152,3,145,57,208, + 12,28,248,220,15,23,242,0,1,9,32,216,24,31,136,68, + 144,19,138,73,216,15,22,136,14,240,5,1,9,32,250,115, + 12,0,0,0,130,4,7,0,135,14,25,3,152,1,25,3, + 41,1,114,7,0,0,0,114,6,0,0,0,41,15,114,69, + 0,0,0,114,70,0,0,0,114,71,0,0,0,114,204,0, + 0,0,114,72,0,0,0,114,4,0,0,0,114,111,1,0, + 0,114,113,1,0,0,218,6,111,98,106,101,99,116,114,115, + 1,0,0,114,49,1,0,0,114,117,1,0,0,114,51,1, + 0,0,114,121,1,0,0,114,123,1,0,0,114,7,0,0, + 0,114,8,0,0,0,114,9,0,0,0,114,28,0,0,0, + 114,28,0,0,0,151,3,0,0,115,89,0,0,0,132,0, + 241,2,6,5,8,240,16,0,17,19,128,73,224,5,19,241, + 2,1,5,23,243,3,0,6,20,240,2,1,5,23,240,6, + 0,6,20,241,2,1,5,23,243,3,0,6,20,240,2,1, + 5,23,241,6,0,16,22,139,120,128,72,224,31,39,243,0, + 12,5,25,242,28,10,5,26,242,24,6,5,17,243,16,16, + 5,30,244,36,6,5,23,114,8,0,0,0,114,28,0,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,2,0, + 0,0,0,0,0,0,243,72,0,0,0,151,0,101,0,90, + 1,100,0,90,2,100,1,90,3,100,2,90,4,100,3,90, + 5,101,6,100,4,132,0,171,0,0,0,0,0,0,0,90, + 7,100,5,132,0,90,8,100,6,132,0,90,9,100,7,132, + 0,90,10,100,11,100,9,132,1,90,11,100,10,132,0,90, + 12,121,8,41,12,114,33,0,0,0,122,138,65,108,108,32, + 116,104,101,32,111,112,101,114,97,116,105,111,110,115,32,111, + 110,32,97,32,114,101,97,100,45,111,110,108,121,32,115,101, + 113,117,101,110,99,101,46,10,10,32,32,32,32,67,111,110, + 99,114,101,116,101,32,115,117,98,99,108,97,115,115,101,115, + 32,109,117,115,116,32,111,118,101,114,114,105,100,101,32,95, + 95,110,101,119,95,95,32,111,114,32,95,95,105,110,105,116, + 95,95,44,10,32,32,32,32,95,95,103,101,116,105,116,101, + 109,95,95,44,32,97,110,100,32,95,95,108,101,110,95,95, + 46,10,32,32,32,32,114,7,0,0,0,233,32,0,0,0, + 99,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0, + 0,3,0,0,0,243,14,0,0,0,151,0,116,0,0,0, + 0,0,0,0,0,0,130,1,114,6,0,0,0,169,1,218, + 10,73,110,100,101,120,69,114,114,111,114,169,2,114,61,0, + 0,0,218,5,105,110,100,101,120,115,2,0,0,0,32,32, + 114,9,0,0,0,114,201,0,0,0,122,20,83,101,113,117, + 101,110,99,101,46,95,95,103,101,116,105,116,101,109,95,95, + 250,3,0,0,243,8,0,0,0,128,0,228,14,24,208,8, + 24,114,8,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,35,0,0,0,243,78,0,0,0, + 75,0,1,0,151,0,100,1,125,1,9,0,9,0,124,0, + 124,1,25,0,0,0,125,2,124,2,150,2,151,1,1,0, + 124,1,100,2,122,13,0,0,125,1,140,15,35,0,116,0, + 0,0,0,0,0,0,0,0,36,0,114,3,1,0,89,0, + 121,0,119,0,120,3,89,0,119,1,173,3,119,1,41,3, + 78,114,2,0,0,0,114,37,0,0,0,114,128,1,0,0, + 41,3,114,61,0,0,0,218,1,105,114,103,1,0,0,115, + 3,0,0,0,32,32,32,114,9,0,0,0,114,132,0,0, + 0,122,17,83,101,113,117,101,110,99,101,46,95,95,105,116, + 101,114,95,95,254,3,0,0,115,66,0,0,0,232,0,248, + 128,0,216,12,13,136,1,240,2,6,9,19,216,18,22,216, + 20,24,152,17,145,71,144,1,216,22,23,146,7,216,16,17, + 144,81,145,6,144,1,240,7,0,19,23,248,244,8,0,16, + 26,242,0,1,9,19,217,12,18,240,3,1,9,19,252,115, + 24,0,0,0,130,3,37,1,134,16,22,0,150,9,34,3, + 159,2,37,1,161,1,34,3,162,3,37,1,99,2,0,0, + 0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0, + 0,243,40,0,0,0,151,0,124,0,68,0,93,13,0,0, + 125,2,124,2,124,1,117,0,115,6,124,2,124,1,107,40, + 0,0,115,1,140,13,1,0,121,1,4,0,121,2,114,73, + 1,0,0,114,7,0,0,0,41,3,114,61,0,0,0,114, + 87,0,0,0,114,103,1,0,0,115,3,0,0,0,32,32, + 32,114,9,0,0,0,114,158,0,0,0,122,21,83,101,113, + 117,101,110,99,101,46,95,95,99,111,110,116,97,105,110,115, + 95,95,8,4,0,0,115,38,0,0,0,128,0,216,17,21, + 242,0,2,9,28,136,65,216,15,16,144,69,137,122,152,81, + 160,37,155,90,217,23,27,240,5,2,9,28,240,6,0,16, + 21,114,8,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,7,0,0,0,35,0,0,0,243,94,0,0,0, + 75,0,1,0,151,0,116,1,0,0,0,0,0,0,0,0, + 116,3,0,0,0,0,0,0,0,0,116,5,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,68,0, + 93,9,0,0,125,1,124,0,124,1,25,0,0,0,150,1, + 151,1,1,0,140,11,4,0,121,0,173,3,119,1,114,6, + 0,0,0,41,3,218,8,114,101,118,101,114,115,101,100,218, + 5,114,97,110,103,101,114,179,0,0,0,41,2,114,61,0, + 0,0,114,134,1,0,0,115,2,0,0,0,32,32,114,9, + 0,0,0,114,142,0,0,0,122,21,83,101,113,117,101,110, + 99,101,46,95,95,114,101,118,101,114,115,101,100,95,95,14, + 4,0,0,115,44,0,0,0,232,0,248,128,0,220,17,25, + 156,37,164,3,160,68,163,9,211,26,42,211,17,43,242,0, + 1,9,26,136,65,216,18,22,144,113,145,39,139,77,241,3, + 1,9,26,249,115,4,0,0,0,130,43,45,1,78,99,4, + 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, + 0,0,0,243,238,0,0,0,151,0,124,2,129,29,124,2, + 100,1,107,2,0,0,114,24,116,1,0,0,0,0,0,0, + 0,0,116,3,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,124,2,122,0,0,0,100,1,171,2, + 0,0,0,0,0,0,125,2,124,3,129,19,124,3,100,1, + 107,2,0,0,114,14,124,3,116,3,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,122,13,0,0, + 125,3,124,2,125,4,124,3,129,5,124,4,124,3,107,2, + 0,0,114,31,9,0,124,0,124,4,25,0,0,0,125,5, + 124,5,124,1,117,0,115,5,124,5,124,1,107,40,0,0, + 114,2,124,4,83,0,124,4,100,2,122,13,0,0,125,4, + 124,3,128,1,140,25,124,4,124,3,107,2,0,0,114,1, + 140,31,116,6,0,0,0,0,0,0,0,0,130,1,35,0, + 116,4,0,0,0,0,0,0,0,0,36,0,114,8,1,0, + 89,0,116,6,0,0,0,0,0,0,0,0,130,1,119,0, + 120,3,89,0,119,1,41,3,122,230,83,46,105,110,100,101, + 120,40,118,97,108,117,101,44,32,91,115,116,97,114,116,44, + 32,91,115,116,111,112,93,93,41,32,45,62,32,105,110,116, + 101,103,101,114,32,45,45,32,114,101,116,117,114,110,32,102, + 105,114,115,116,32,105,110,100,101,120,32,111,102,32,118,97, + 108,117,101,46,10,32,32,32,32,32,32,32,32,32,32,32, + 82,97,105,115,101,115,32,86,97,108,117,101,69,114,114,111, + 114,32,105,102,32,116,104,101,32,118,97,108,117,101,32,105, + 115,32,110,111,116,32,112,114,101,115,101,110,116,46,10,10, + 32,32,32,32,32,32,32,32,32,32,32,83,117,112,112,111, + 114,116,105,110,103,32,115,116,97,114,116,32,97,110,100,32, + 115,116,111,112,32,97,114,103,117,109,101,110,116,115,32,105, + 115,32,111,112,116,105,111,110,97,108,44,32,98,117,116,10, + 32,32,32,32,32,32,32,32,32,32,32,114,101,99,111,109, + 109,101,110,100,101,100,46,10,32,32,32,32,32,32,32,32, + 114,2,0,0,0,114,37,0,0,0,41,4,218,3,109,97, + 120,114,179,0,0,0,114,129,1,0,0,218,10,86,97,108, + 117,101,69,114,114,111,114,41,6,114,61,0,0,0,114,87, + 0,0,0,218,5,115,116,97,114,116,218,4,115,116,111,112, + 114,134,1,0,0,114,103,1,0,0,115,6,0,0,0,32, + 32,32,32,32,32,114,9,0,0,0,114,131,1,0,0,122, + 14,83,101,113,117,101,110,99,101,46,105,110,100,101,120,18, + 4,0,0,115,171,0,0,0,128,0,240,14,0,12,17,208, + 11,28,160,21,168,17,162,25,220,20,23,156,3,152,68,155, + 9,160,69,209,24,41,168,49,211,20,45,136,69,216,11,15, + 208,11,27,160,4,160,113,162,8,216,12,16,148,67,152,4, + 147,73,209,12,29,136,68,224,12,17,136,1,216,14,18,136, + 108,152,97,160,36,154,104,240,2,3,13,22,216,20,24,152, + 17,145,71,144,1,240,6,0,16,17,144,69,137,122,152,81, + 160,37,154,90,216,23,24,144,8,216,12,13,144,17,137,70, + 136,65,240,15,0,15,19,137,108,152,97,160,36,155,104,244, + 16,0,15,25,208,8,24,248,244,11,0,20,30,242,0,1, + 13,22,216,16,21,244,8,0,15,25,208,8,24,240,11,1, + 13,22,250,115,17,0,0,0,191,5,65,35,0,193,35,9, + 65,52,3,193,51,1,65,52,3,99,2,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,44, + 0,0,0,135,1,151,0,116,1,0,0,0,0,0,0,0, + 0,136,1,102,1,100,1,132,8,124,0,68,0,171,0,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,83,0,41, + 2,122,66,83,46,99,111,117,110,116,40,118,97,108,117,101, + 41,32,45,62,32,105,110,116,101,103,101,114,32,45,45,32, + 114,101,116,117,114,110,32,110,117,109,98,101,114,32,111,102, + 32,111,99,99,117,114,114,101,110,99,101,115,32,111,102,32, + 118,97,108,117,101,99,1,0,0,0,0,0,0,0,0,0, + 0,0,3,0,0,0,51,0,0,0,243,54,0,0,0,149, + 1,75,0,1,0,151,0,124,0,93,16,0,0,125,1,124, + 1,137,2,117,0,115,6,124,1,137,2,107,40,0,0,115, + 1,140,13,100,0,150,1,151,1,1,0,140,18,4,0,121, + 1,173,3,119,1,41,2,114,37,0,0,0,78,114,7,0, + 0,0,41,3,114,212,0,0,0,114,103,1,0,0,114,87, + 0,0,0,115,3,0,0,0,32,32,128,114,9,0,0,0, + 114,215,0,0,0,122,33,83,101,113,117,101,110,99,101,46, + 99,111,117,110,116,46,60,108,111,99,97,108,115,62,46,60, + 103,101,110,101,120,112,114,62,43,4,0,0,115,29,0,0, + 0,248,232,0,248,128,0,210,18,63,152,17,160,97,168,53, + 161,106,176,65,184,21,179,74,148,49,209,18,63,249,115,8, + 0,0,0,131,14,25,1,146,7,25,1,41,1,218,3,115, + 117,109,114,86,0,0,0,115,2,0,0,0,32,96,114,9, + 0,0,0,218,5,99,111,117,110,116,122,14,83,101,113,117, + 101,110,99,101,46,99,111,117,110,116,41,4,0,0,115,20, + 0,0,0,248,128,0,228,15,18,211,18,63,152,100,212,18, + 63,211,15,63,208,8,63,114,8,0,0,0,41,2,114,2, + 0,0,0,78,41,13,114,69,0,0,0,114,70,0,0,0, + 114,71,0,0,0,114,204,0,0,0,114,72,0,0,0,114, + 82,1,0,0,114,4,0,0,0,114,201,0,0,0,114,132, + 0,0,0,114,158,0,0,0,114,142,0,0,0,114,131,1, + 0,0,114,147,1,0,0,114,7,0,0,0,114,8,0,0, + 0,114,9,0,0,0,114,33,0,0,0,114,33,0,0,0, + 238,3,0,0,115,65,0,0,0,132,0,241,2,4,5,8, + 240,12,0,17,19,128,73,240,6,0,23,29,128,79,224,5, + 19,241,2,1,5,25,243,3,0,6,20,240,2,1,5,25, + 242,6,8,5,19,242,20,4,5,21,242,12,2,5,26,243, + 8,21,5,25,243,46,2,5,64,1,114,8,0,0,0,114, + 33,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0, + 0,2,0,0,0,0,0,0,0,243,40,0,0,0,135,0, + 151,0,101,0,90,1,100,0,90,2,136,0,102,1,100,1, + 132,8,90,3,136,0,102,1,100,2,132,8,90,4,136,0, + 120,1,90,5,83,0,41,3,218,24,95,68,101,112,114,101, + 99,97,116,101,66,121,116,101,83,116,114,105,110,103,77,101, + 116,97,99,4,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,11,0,0,0,243,98,0,0,0,149,1,151,0, + 124,1,100,1,107,55,0,0,114,23,100,2,100,0,108,0, + 125,5,124,5,106,3,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,3,100,4,172,5,171,2, + 0,0,0,0,0,0,1,0,116,5,0,0,0,0,0,0, + 0,0,137,6,124,0,141,12,0,0,124,0,124,1,124,2, + 124,3,102,4,105,0,124,4,164,1,142,1,83,0,41,6, + 78,114,35,0,0,0,114,2,0,0,0,250,26,99,111,108, + 108,101,99,116,105,111,110,115,46,97,98,99,46,66,121,116, + 101,83,116,114,105,110,103,169,2,233,3,0,0,0,233,14, + 0,0,0,169,1,114,44,1,0,0,41,4,218,8,119,97, + 114,110,105,110,103,115,218,11,95,100,101,112,114,101,99,97, + 116,101,100,114,183,0,0,0,114,184,0,0,0,41,7,114, + 66,0,0,0,114,213,0,0,0,218,5,98,97,115,101,115, + 218,9,110,97,109,101,115,112,97,99,101,218,6,107,119,97, + 114,103,115,114,156,1,0,0,114,189,0,0,0,115,7,0, + 0,0,32,32,32,32,32,32,128,114,9,0,0,0,114,184, + 0,0,0,122,32,95,68,101,112,114,101,99,97,116,101,66, + 121,116,101,83,116,114,105,110,103,77,101,116,97,46,95,95, + 110,101,119,95,95,51,4,0,0,115,67,0,0,0,248,128, + 0,216,11,15,144,60,210,11,31,219,12,27,224,12,20,215, + 12,32,209,12,32,216,16,44,216,23,30,240,5,0,13,33, + 244,0,3,13,14,244,8,0,16,21,137,119,137,127,152,115, + 160,68,168,37,176,25,209,15,69,184,102,209,15,69,208,8, + 69,114,8,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,3,0,0,0,243,80,0,0,0, + 149,1,151,0,100,1,100,0,108,0,125,2,124,2,106,3, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,2,100,3,172,4,171,2,0,0,0,0,0,0, + 1,0,116,4,0,0,0,0,0,0,0,0,137,3,124,0, + 141,13,0,0,124,1,171,1,0,0,0,0,0,0,83,0, + 41,5,78,114,2,0,0,0,114,151,1,0,0,114,152,1, + 0,0,114,155,1,0,0,41,4,114,156,1,0,0,114,157, + 1,0,0,114,183,0,0,0,218,17,95,95,105,110,115,116, + 97,110,99,101,99,104,101,99,107,95,95,41,4,114,66,0, + 0,0,218,8,105,110,115,116,97,110,99,101,114,156,1,0, + 0,114,189,0,0,0,115,4,0,0,0,32,32,32,128,114, + 9,0,0,0,114,162,1,0,0,122,42,95,68,101,112,114, + 101,99,97,116,101,66,121,116,101,83,116,114,105,110,103,77, + 101,116,97,46,95,95,105,110,115,116,97,110,99,101,99,104, + 101,99,107,95,95,61,4,0,0,115,49,0,0,0,248,128, + 0,219,8,23,224,8,16,215,8,28,209,8,28,216,12,40, + 216,19,26,240,5,0,9,29,244,0,3,9,10,244,8,0, + 16,21,137,119,209,15,40,168,24,211,15,50,208,8,50,114, + 8,0,0,0,41,6,114,69,0,0,0,114,70,0,0,0, + 114,71,0,0,0,114,184,0,0,0,114,162,1,0,0,114, + 205,0,0,0,114,206,0,0,0,115,1,0,0,0,64,114, + 9,0,0,0,114,149,1,0,0,114,149,1,0,0,50,4, + 0,0,115,19,0,0,0,248,132,0,244,2,8,5,70,1, + 247,20,7,5,51,240,0,7,5,51,114,8,0,0,0,114, + 149,1,0,0,99,0,0,0,0,0,0,0,0,0,0,0, + 0,1,0,0,0,0,0,0,0,243,20,0,0,0,151,0, + 101,0,90,1,100,0,90,2,100,1,90,3,100,2,90,4, + 121,3,41,4,114,35,0,0,0,122,77,84,104,105,115,32, + 117,110,105,102,105,101,115,32,98,121,116,101,115,32,97,110, + 100,32,98,121,116,101,97,114,114,97,121,46,10,10,32,32, + 32,32,88,88,88,32,83,104,111,117,108,100,32,97,100,100, + 32,97,108,108,32,116,104,101,105,114,32,109,101,116,104,111, + 100,115,46,10,32,32,32,32,114,7,0,0,0,78,41,5, + 114,69,0,0,0,114,70,0,0,0,114,71,0,0,0,114, + 204,0,0,0,114,72,0,0,0,114,7,0,0,0,114,8, + 0,0,0,114,9,0,0,0,114,35,0,0,0,114,35,0, + 0,0,70,4,0,0,115,14,0,0,0,132,0,241,2,3, + 5,8,240,10,0,17,19,129,73,114,8,0,0,0,114,35, + 0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,0,0,0,0,243,112,0,0,0,151,0,101, + 0,90,1,100,0,90,2,100,1,90,3,100,2,90,4,101, + 5,100,3,132,0,171,0,0,0,0,0,0,0,90,6,101, + 5,100,4,132,0,171,0,0,0,0,0,0,0,90,7,101, + 5,100,5,132,0,171,0,0,0,0,0,0,0,90,8,100, + 6,132,0,90,9,100,7,132,0,90,10,100,8,132,0,90, + 11,100,9,132,0,90,12,100,14,100,10,132,1,90,13,100, + 11,132,0,90,14,100,12,132,0,90,15,121,13,41,15,114, + 34,0,0,0,122,174,65,108,108,32,116,104,101,32,111,112, + 101,114,97,116,105,111,110,115,32,111,110,32,97,32,114,101, + 97,100,45,119,114,105,116,101,32,115,101,113,117,101,110,99, + 101,46,10,10,32,32,32,32,67,111,110,99,114,101,116,101, + 32,115,117,98,99,108,97,115,115,101,115,32,109,117,115,116, + 32,112,114,111,118,105,100,101,32,95,95,110,101,119,95,95, + 32,111,114,32,95,95,105,110,105,116,95,95,44,10,32,32, + 32,32,95,95,103,101,116,105,116,101,109,95,95,44,32,95, + 95,115,101,116,105,116,101,109,95,95,44,32,95,95,100,101, + 108,105,116,101,109,95,95,44,32,95,95,108,101,110,95,95, + 44,32,97,110,100,32,105,110,115,101,114,116,40,41,46,10, + 32,32,32,32,114,7,0,0,0,99,3,0,0,0,0,0, + 0,0,0,0,0,0,1,0,0,0,3,0,0,0,243,14, + 0,0,0,151,0,116,0,0,0,0,0,0,0,0,0,130, + 1,114,6,0,0,0,114,128,1,0,0,169,3,114,61,0, + 0,0,114,131,1,0,0,114,87,0,0,0,115,3,0,0, + 0,32,32,32,114,9,0,0,0,114,111,1,0,0,122,27, + 77,117,116,97,98,108,101,83,101,113,117,101,110,99,101,46, + 95,95,115,101,116,105,116,101,109,95,95,91,4,0,0,114, + 132,1,0,0,114,8,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,1,0,0,0,3,0,0,0,243,14, + 0,0,0,151,0,116,0,0,0,0,0,0,0,0,0,130, + 1,114,6,0,0,0,114,128,1,0,0,114,130,1,0,0, + 115,2,0,0,0,32,32,114,9,0,0,0,114,113,1,0, + 0,122,27,77,117,116,97,98,108,101,83,101,113,117,101,110, + 99,101,46,95,95,100,101,108,105,116,101,109,95,95,95,4, + 0,0,114,132,1,0,0,114,8,0,0,0,99,3,0,0, + 0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0, + 0,243,14,0,0,0,151,0,116,0,0,0,0,0,0,0, + 0,0,130,1,41,1,122,51,83,46,105,110,115,101,114,116, + 40,105,110,100,101,120,44,32,118,97,108,117,101,41,32,45, + 45,32,105,110,115,101,114,116,32,118,97,108,117,101,32,98, + 101,102,111,114,101,32,105,110,100,101,120,114,128,1,0,0, + 114,167,1,0,0,115,3,0,0,0,32,32,32,114,9,0, + 0,0,218,6,105,110,115,101,114,116,122,22,77,117,116,97, + 98,108,101,83,101,113,117,101,110,99,101,46,105,110,115,101, + 114,116,99,4,0,0,115,10,0,0,0,128,0,244,6,0, + 15,25,208,8,24,114,8,0,0,0,99,2,0,0,0,0, + 0,0,0,0,0,0,0,5,0,0,0,3,0,0,0,243, + 58,0,0,0,151,0,124,0,106,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,116,3,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 124,1,171,2,0,0,0,0,0,0,1,0,121,1,41,2, + 122,58,83,46,97,112,112,101,110,100,40,118,97,108,117,101, + 41,32,45,45,32,97,112,112,101,110,100,32,118,97,108,117, + 101,32,116,111,32,116,104,101,32,101,110,100,32,111,102,32, + 116,104,101,32,115,101,113,117,101,110,99,101,78,41,2,114, + 170,1,0,0,114,179,0,0,0,114,86,0,0,0,115,2, + 0,0,0,32,32,114,9,0,0,0,218,6,97,112,112,101, + 110,100,122,22,77,117,116,97,98,108,101,83,101,113,117,101, + 110,99,101,46,97,112,112,101,110,100,104,4,0,0,115,20, + 0,0,0,128,0,224,8,12,143,11,137,11,148,67,152,4, + 147,73,152,117,213,8,37,114,8,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0, + 0,243,70,0,0,0,151,0,9,0,9,0,124,0,106,1, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,1,0,140,17,35,0, + 116,2,0,0,0,0,0,0,0,0,36,0,114,3,1,0, + 89,0,121,1,119,0,120,3,89,0,119,1,41,2,122,44, + 83,46,99,108,101,97,114,40,41,32,45,62,32,78,111,110, + 101,32,45,45,32,114,101,109,111,118,101,32,97,108,108,32, + 105,116,101,109,115,32,102,114,111,109,32,83,78,41,2,114, + 49,1,0,0,114,129,1,0,0,114,60,0,0,0,115,1, + 0,0,0,32,114,9,0,0,0,114,51,1,0,0,122,21, + 77,117,116,97,98,108,101,83,101,113,117,101,110,99,101,46, + 99,108,101,97,114,108,4,0,0,115,42,0,0,0,128,0, + 240,4,4,9,17,216,18,22,216,16,20,151,8,145,8,148, + 10,240,3,0,19,23,248,228,15,25,242,0,1,9,17,217, + 12,16,240,3,1,9,17,250,114,52,1,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,5,0,0,0,3,0, + 0,0,243,122,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,125,1,116, + 3,0,0,0,0,0,0,0,0,124,1,100,1,122,2,0, + 0,171,1,0,0,0,0,0,0,68,0,93,31,0,0,125, + 2,124,0,124,1,124,2,122,10,0,0,100,2,122,10,0, + 0,25,0,0,0,124,0,124,2,25,0,0,0,99,2,124, + 0,124,2,60,0,0,0,124,0,124,1,124,2,122,10,0, + 0,100,2,122,10,0,0,60,0,0,0,140,33,4,0,121, + 3,41,4,122,33,83,46,114,101,118,101,114,115,101,40,41, + 32,45,45,32,114,101,118,101,114,115,101,32,42,73,78,32, + 80,76,65,67,69,42,114,176,0,0,0,114,37,0,0,0, + 78,41,2,114,179,0,0,0,114,138,1,0,0,41,3,114, + 61,0,0,0,114,29,1,0,0,114,134,1,0,0,115,3, + 0,0,0,32,32,32,114,9,0,0,0,218,7,114,101,118, + 101,114,115,101,122,23,77,117,116,97,98,108,101,83,101,113, + 117,101,110,99,101,46,114,101,118,101,114,115,101,116,4,0, + 0,115,78,0,0,0,128,0,228,12,15,144,4,139,73,136, + 1,220,17,22,144,113,152,33,145,116,147,27,242,0,1,9, + 56,136,65,216,35,39,168,1,168,33,169,3,168,65,169,5, + 161,59,176,4,176,81,177,7,208,12,32,136,68,144,17,137, + 71,144,84,152,33,152,65,153,35,152,97,153,37,146,91,241, + 3,1,9,56,114,8,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,82, + 0,0,0,151,0,124,1,124,0,117,0,114,11,116,1,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,125,1,124,1,68,0,93,19,0,0,125,2,124,0,106, + 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,2,171,1,0,0,0,0,0,0,1,0,140, + 21,4,0,121,1,41,2,122,77,83,46,101,120,116,101,110, + 100,40,105,116,101,114,97,98,108,101,41,32,45,45,32,101, + 120,116,101,110,100,32,115,101,113,117,101,110,99,101,32,98, + 121,32,97,112,112,101,110,100,105,110,103,32,101,108,101,109, + 101,110,116,115,32,102,114,111,109,32,116,104,101,32,105,116, + 101,114,97,98,108,101,78,41,2,114,181,0,0,0,114,172, + 1,0,0,41,3,114,61,0,0,0,114,79,1,0,0,114, + 103,1,0,0,115,3,0,0,0,32,32,32,114,9,0,0, + 0,218,6,101,120,116,101,110,100,122,22,77,117,116,97,98, + 108,101,83,101,113,117,101,110,99,101,46,101,120,116,101,110, + 100,122,4,0,0,115,44,0,0,0,128,0,224,11,17,144, + 84,137,62,220,21,25,152,38,147,92,136,70,216,17,23,242, + 0,1,9,27,136,65,216,12,16,143,75,137,75,152,1,141, + 78,241,3,1,9,27,114,8,0,0,0,99,2,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, + 243,22,0,0,0,151,0,124,0,124,1,25,0,0,0,125, + 2,124,0,124,1,61,0,124,2,83,0,41,1,122,153,83, + 46,112,111,112,40,91,105,110,100,101,120,93,41,32,45,62, + 32,105,116,101,109,32,45,45,32,114,101,109,111,118,101,32, + 97,110,100,32,114,101,116,117,114,110,32,105,116,101,109,32, + 97,116,32,105,110,100,101,120,32,40,100,101,102,97,117,108, + 116,32,108,97,115,116,41,46,10,32,32,32,32,32,32,32, + 32,32,32,32,82,97,105,115,101,32,73,110,100,101,120,69, + 114,114,111,114,32,105,102,32,108,105,115,116,32,105,115,32, + 101,109,112,116,121,32,111,114,32,105,110,100,101,120,32,105, + 115,32,111,117,116,32,111,102,32,114,97,110,103,101,46,10, + 32,32,32,32,32,32,32,32,114,7,0,0,0,41,3,114, + 61,0,0,0,114,131,1,0,0,114,103,1,0,0,115,3, + 0,0,0,32,32,32,114,9,0,0,0,114,49,1,0,0, + 122,19,77,117,116,97,98,108,101,83,101,113,117,101,110,99, + 101,46,112,111,112,129,4,0,0,115,25,0,0,0,128,0, + 240,8,0,13,17,144,21,137,75,136,1,216,12,16,144,21, + 136,75,216,15,16,136,8,114,8,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0, + 0,243,40,0,0,0,151,0,124,0,124,0,106,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,61,0,121,1,41,2, + 122,118,83,46,114,101,109,111,118,101,40,118,97,108,117,101, + 41,32,45,45,32,114,101,109,111,118,101,32,102,105,114,115, + 116,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32, + 118,97,108,117,101,46,10,32,32,32,32,32,32,32,32,32, + 32,32,82,97,105,115,101,32,86,97,108,117,101,69,114,114, + 111,114,32,105,102,32,116,104,101,32,118,97,108,117,101,32, + 105,115,32,110,111,116,32,112,114,101,115,101,110,116,46,10, + 32,32,32,32,32,32,32,32,78,41,1,114,131,1,0,0, + 114,86,0,0,0,115,2,0,0,0,32,32,114,9,0,0, + 0,114,44,1,0,0,122,22,77,117,116,97,98,108,101,83, + 101,113,117,101,110,99,101,46,114,101,109,111,118,101,137,4, + 0,0,115,21,0,0,0,128,0,240,8,0,13,17,144,20, + 151,26,145,26,152,69,211,17,34,209,12,35,114,8,0,0, + 0,99,2,0,0,0,0,0,0,0,0,0,0,0,3,0, + 0,0,3,0,0,0,243,40,0,0,0,151,0,124,0,106, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,171,1,0,0,0,0,0,0,1,0,124, + 0,83,0,114,6,0,0,0,41,1,114,177,1,0,0,41, + 2,114,61,0,0,0,114,79,1,0,0,115,2,0,0,0, + 32,32,114,9,0,0,0,218,8,95,95,105,97,100,100,95, + 95,122,24,77,117,116,97,98,108,101,83,101,113,117,101,110, + 99,101,46,95,95,105,97,100,100,95,95,143,4,0,0,115, + 19,0,0,0,128,0,216,8,12,143,11,137,11,144,70,212, + 8,27,216,15,19,136,11,114,8,0,0,0,78,41,1,114, + 191,0,0,0,41,16,114,69,0,0,0,114,70,0,0,0, + 114,71,0,0,0,114,204,0,0,0,114,72,0,0,0,114, + 4,0,0,0,114,111,1,0,0,114,113,1,0,0,114,170, + 1,0,0,114,172,1,0,0,114,51,1,0,0,114,175,1, + 0,0,114,177,1,0,0,114,49,1,0,0,114,44,1,0, + 0,114,181,1,0,0,114,7,0,0,0,114,8,0,0,0, + 114,9,0,0,0,114,34,0,0,0,114,34,0,0,0,82, + 4,0,0,115,107,0,0,0,132,0,241,2,4,5,8,240, + 12,0,17,19,128,73,224,5,19,241,2,1,5,25,243,3, + 0,6,20,240,2,1,5,25,240,6,0,6,20,241,2,1, + 5,25,243,3,0,6,20,240,2,1,5,25,240,6,0,6, + 20,241,2,2,5,25,243,3,0,6,20,240,2,2,5,25, + 242,8,2,5,38,242,8,6,5,17,242,16,4,5,56,242, + 12,5,5,27,243,14,6,5,17,242,16,4,5,36,243,12, + 2,5,20,114,8,0,0,0,114,34,0,0,0,41,85,114, + 204,0,0,0,218,3,97,98,99,114,3,0,0,0,114,4, + 0,0,0,114,24,1,0,0,114,217,0,0,0,114,181,0, + 0,0,114,171,0,0,0,114,80,0,0,0,218,12,69,108, + 108,105,112,115,105,115,84,121,112,101,114,10,0,0,0,114, + 223,0,0,0,218,7,95,95,97,108,108,95,95,114,69,0, + 0,0,114,46,1,0,0,218,14,98,121,116,101,115,95,105, + 116,101,114,97,116,111,114,218,9,98,121,116,101,97,114,114, + 97,121,218,18,98,121,116,101,97,114,114,97,121,95,105,116, + 101,114,97,116,111,114,114,75,1,0,0,218,16,100,105,99, + 116,95,107,101,121,105,116,101,114,97,116,111,114,114,79,1, + 0,0,218,18,100,105,99,116,95,118,97,108,117,101,105,116, + 101,114,97,116,111,114,114,77,1,0,0,218,17,100,105,99, + 116,95,105,116,101,109,105,116,101,114,97,116,111,114,218,13, + 108,105,115,116,95,105,116,101,114,97,116,111,114,114,137,1, + 0,0,218,20,108,105,115,116,95,114,101,118,101,114,115,101, + 105,116,101,114,97,116,111,114,114,138,1,0,0,218,14,114, + 97,110,103,101,95,105,116,101,114,97,116,111,114,218,18,108, + 111,110,103,114,97,110,103,101,95,105,116,101,114,97,116,111, + 114,114,95,1,0,0,218,12,115,101,116,95,105,116,101,114, + 97,116,111,114,218,12,115,116,114,95,105,116,101,114,97,116, + 111,114,218,14,116,117,112,108,101,95,105,116,101,114,97,116, + 111,114,218,3,122,105,112,218,12,122,105,112,95,105,116,101, + 114,97,116,111,114,218,9,100,105,99,116,95,107,101,121,115, + 218,11,100,105,99,116,95,118,97,108,117,101,115,218,10,100, + 105,99,116,95,105,116,101,109,115,114,49,0,0,0,218,12, + 109,97,112,112,105,110,103,112,114,111,120,121,218,9,103,101, + 110,101,114,97,116,111,114,114,42,0,0,0,218,9,99,111, + 114,111,117,116,105,110,101,114,104,0,0,0,114,45,0,0, + 0,218,15,97,115,121,110,99,95,103,101,110,101,114,97,116, + 111,114,114,56,0,0,0,114,16,0,0,0,114,11,0,0, + 0,114,12,0,0,0,218,8,114,101,103,105,115,116,101,114, + 114,13,0,0,0,114,14,0,0,0,114,15,0,0,0,114, + 17,0,0,0,114,18,0,0,0,114,20,0,0,0,114,19, + 0,0,0,114,21,0,0,0,114,22,0,0,0,114,24,0, + 0,0,114,36,0,0,0,114,174,0,0,0,114,182,0,0, + 0,114,196,0,0,0,114,23,0,0,0,114,25,0,0,0, + 218,9,102,114,111,122,101,110,115,101,116,114,26,0,0,0, + 114,27,0,0,0,114,29,0,0,0,114,30,0,0,0,114, + 31,0,0,0,114,32,0,0,0,114,28,0,0,0,114,81, + 1,0,0,114,33,0,0,0,114,178,0,0,0,218,3,115, + 116,114,114,172,0,0,0,114,149,1,0,0,114,35,0,0, + 0,218,5,98,121,116,101,115,114,34,0,0,0,114,7,0, + 0,0,114,8,0,0,0,114,9,0,0,0,250,8,60,109, + 111,100,117,108,101,62,114,211,1,0,0,1,0,0,0,115, + 1,5,0,0,240,3,1,1,1,241,8,3,1,4,247,62, + 0,1,40,219,0,10,225,15,19,144,68,152,19,145,73,139, + 127,128,12,217,15,19,144,67,139,121,128,12,218,0,14,217, + 15,19,144,66,139,120,128,12,216,4,6,242,4,9,11,13, + 128,7,240,30,0,12,29,128,8,241,18,0,18,22,145,100, + 152,51,147,105,147,31,128,14,217,21,25,153,36,153,121,155, + 123,211,26,43,211,21,44,208,0,18,225,19,23,153,4,152, + 82,159,87,153,87,155,89,155,15,211,19,40,208,0,16,217, + 21,25,153,36,152,114,159,121,153,121,155,123,211,26,43,211, + 21,44,208,0,18,217,20,24,153,20,152,98,159,104,153,104, + 155,106,211,25,41,211,20,42,208,0,17,217,16,20,145,84, + 152,34,147,88,147,14,128,13,217,23,27,153,68,161,24,168, + 34,163,28,211,28,46,211,23,47,208,0,20,217,17,21,145, + 100,153,53,160,17,155,56,147,110,211,17,37,128,14,217,21, + 25,153,36,153,117,160,81,168,36,161,89,211,31,47,211,26, + 48,211,21,49,208,0,18,217,15,19,145,68,153,19,155,21, + 147,75,211,15,32,128,12,217,15,19,145,68,152,18,147,72, + 139,126,128,12,217,17,21,145,100,152,50,147,104,147,30,128, + 14,217,15,19,145,68,153,19,155,21,147,75,211,15,32,128, + 12,225,12,16,144,18,151,23,145,23,147,25,139,79,128,9, + 217,14,18,144,50,151,57,145,57,147,59,211,14,31,128,11, + 217,13,17,144,34,151,40,145,40,147,42,211,13,29,128,10, + 225,15,19,144,68,151,77,145,77,211,15,34,128,12,217,12, + 16,146,47,211,17,36,211,12,37,128,9,226,0,23,217,8, + 13,139,7,128,5,217,12,16,144,21,139,75,128,9,216,0, + 5,135,11,129,11,132,13,216,4,9,226,0,22,217,6,9, + 131,101,128,3,217,18,22,144,115,147,41,128,15,216,4,7, + 242,10,10,1,16,244,24,12,1,30,152,23,245,0,12,1, + 30,244,30,14,1,50,152,39,245,0,14,1,50,244,34,38, + 1,30,144,9,244,0,38,1,30,240,82,1,0,1,10,215, + 0,18,209,0,18,144,57,212,0,29,244,6,14,1,50,152, + 103,245,0,14,1,50,244,34,16,1,30,144,77,244,0,16, + 1,30,244,38,45,1,30,144,93,244,0,45,1,30,240,96, + 1,0,1,15,215,0,23,209,0,23,152,15,212,0,40,244, + 6,15,1,50,152,23,245,0,15,1,50,244,36,16,1,30, + 136,120,244,0,16,1,30,240,38,0,1,9,215,0,17,209, + 0,17,144,46,212,0,33,216,0,8,215,0,17,209,0,17, + 208,18,36,212,0,37,224,0,8,215,0,17,209,0,17,208, + 18,34,212,0,35,216,0,8,215,0,17,209,0,17,208,18, + 36,212,0,37,216,0,8,215,0,17,209,0,17,208,18,35, + 212,0,36,216,0,8,215,0,17,209,0,17,144,45,212,0, + 32,216,0,8,215,0,17,209,0,17,208,18,38,212,0,39, + 216,0,8,215,0,17,209,0,17,144,46,212,0,33,216,0, + 8,215,0,17,209,0,17,208,18,36,212,0,37,216,0,8, + 215,0,17,209,0,17,144,44,212,0,31,216,0,8,215,0, + 17,209,0,17,144,44,212,0,31,216,0,8,215,0,17,209, + 0,17,144,46,212,0,33,216,0,8,215,0,17,209,0,17, + 144,44,212,0,31,244,6,13,1,30,144,24,244,0,13,1, + 30,244,32,45,1,30,144,8,244,0,45,1,30,240,96,1, + 0,1,10,215,0,18,209,0,18,144,57,212,0,29,244,6, + 12,1,30,144,103,245,0,12,1,30,244,30,14,1,50,152, + 39,245,0,14,1,50,244,34,8,1,30,144,21,152,8,160, + 41,244,0,8,1,30,244,22,12,1,30,144,119,245,0,12, + 1,30,244,30,52,1,64,1,152,76,244,0,52,1,64,1, + 242,108,1,10,1,86,1,242,24,15,1,21,244,36,14,1, + 59,152,23,245,0,14,1,59,244,40,71,2,1,17,136,42, + 244,0,71,2,1,17,240,84,4,0,1,4,135,12,129,12, + 136,89,212,0,23,244,6,77,1,1,20,144,19,244,0,77, + 1,1,20,240,96,2,0,1,11,215,0,19,209,0,19,144, + 67,212,0,24,244,10,49,1,24,136,106,244,0,49,1,24, + 240,102,1,0,1,8,215,0,16,209,0,16,144,28,212,0, + 30,244,6,13,1,50,144,37,244,0,13,1,50,244,32,12, + 1,33,136,123,152,67,244,0,12,1,33,240,30,0,1,9, + 215,0,17,209,0,17,144,41,212,0,28,244,6,19,1,44, + 144,11,152,83,244,0,19,1,44,240,44,0,1,10,215,0, + 18,209,0,18,144,58,212,0,30,244,6,13,1,37,144,27, + 152,106,244,0,13,1,37,240,32,0,1,11,215,0,19,209, + 0,19,144,75,212,0,32,244,6,79,1,1,23,144,87,244, + 0,79,1,1,23,240,100,2,0,1,15,215,0,23,209,0, + 23,152,4,212,0,29,244,10,61,1,64,1,136,122,152,58, + 244,0,61,1,64,1,240,126,1,0,1,9,215,0,17,209, + 0,17,144,37,212,0,24,216,0,8,215,0,17,209,0,17, + 144,35,212,0,22,216,0,8,215,0,17,209,0,17,144,37, + 212,0,24,216,0,8,215,0,17,209,0,17,144,42,212,0, + 29,244,4,18,1,51,152,119,244,0,18,1,51,244,40,6, + 1,19,144,24,208,37,61,245,0,6,1,19,240,16,0,1, + 11,215,0,19,209,0,19,144,69,212,0,26,216,0,10,215, + 0,19,209,0,19,144,73,212,0,30,244,6,63,1,20,144, + 104,244,0,63,1,20,240,68,2,0,1,16,215,0,24,209, + 0,24,152,20,212,0,30,216,0,15,215,0,24,209,0,24, + 152,25,213,0,35,114,8,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/_sitebuiltins.h b/contrib/tools/python3/src/Python/frozen_modules/_sitebuiltins.h new file mode 100644 index 00000000000..7569a3ac216 --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/_sitebuiltins.h @@ -0,0 +1,299 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M___sitebuiltins[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,0,0,0,0,243,82,0,0,0,151,0,100,0,90,0, + 100,1,100,2,108,1,90,1,2,0,71,0,100,3,132,0, + 100,4,101,2,171,3,0,0,0,0,0,0,90,3,2,0, + 71,0,100,5,132,0,100,6,101,2,171,3,0,0,0,0, + 0,0,90,4,2,0,71,0,100,7,132,0,100,8,101,2, + 171,3,0,0,0,0,0,0,90,5,121,2,41,9,122,61, + 10,84,104,101,32,111,98,106,101,99,116,115,32,117,115,101, + 100,32,98,121,32,116,104,101,32,115,105,116,101,32,109,111, + 100,117,108,101,32,116,111,32,97,100,100,32,99,117,115,116, + 111,109,32,98,117,105,108,116,105,110,115,46,10,233,0,0, + 0,0,78,99,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,0,0,0,0,243,32,0,0,0,151,0,101, + 0,90,1,100,0,90,2,100,1,132,0,90,3,100,2,132, + 0,90,4,100,5,100,4,132,1,90,5,121,3,41,6,218, + 7,81,117,105,116,116,101,114,99,3,0,0,0,0,0,0, + 0,0,0,0,0,2,0,0,0,3,0,0,0,243,32,0, + 0,0,151,0,124,1,124,0,95,0,0,0,0,0,0,0, + 0,0,124,2,124,0,95,1,0,0,0,0,0,0,0,0, + 121,0,169,1,78,169,2,218,4,110,97,109,101,218,3,101, + 111,102,41,3,218,4,115,101,108,102,114,8,0,0,0,114, + 9,0,0,0,115,3,0,0,0,32,32,32,250,22,60,102, + 114,111,122,101,110,32,95,115,105,116,101,98,117,105,108,116, + 105,110,115,62,218,8,95,95,105,110,105,116,95,95,122,16, + 81,117,105,116,116,101,114,46,95,95,105,110,105,116,95,95, + 14,0,0,0,115,16,0,0,0,128,0,216,20,24,136,4, + 140,9,216,19,22,136,4,141,8,243,0,0,0,0,99,1, + 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, + 0,0,0,243,60,0,0,0,151,0,100,1,124,0,106,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,155,1,100,2,124,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,155,1,100,3, + 157,5,83,0,41,4,78,122,4,85,115,101,32,122,6,40, + 41,32,111,114,32,122,8,32,116,111,32,101,120,105,116,114, + 7,0,0,0,169,1,114,10,0,0,0,115,1,0,0,0, + 32,114,11,0,0,0,218,8,95,95,114,101,112,114,95,95, + 122,16,81,117,105,116,116,101,114,46,95,95,114,101,112,114, + 95,95,17,0,0,0,115,21,0,0,0,129,0,216,43,47, + 175,57,171,57,176,100,183,104,179,104,208,15,63,208,8,63, + 114,13,0,0,0,78,99,2,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,3,0,0,0,243,120,0,0,0, + 151,0,9,0,116,0,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,5,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,1,0, + 116,7,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,130,1,35,0,1,0,89,0,116,7,0,0, + 0,0,0,0,0,0,124,1,171,1,0,0,0,0,0,0, + 130,1,120,3,89,0,119,1,114,6,0,0,0,41,4,218, + 3,115,121,115,218,5,115,116,100,105,110,218,5,99,108,111, + 115,101,218,10,83,121,115,116,101,109,69,120,105,116,41,2, + 114,10,0,0,0,218,4,99,111,100,101,115,2,0,0,0, + 32,32,114,11,0,0,0,218,8,95,95,99,97,108,108,95, + 95,122,16,81,117,105,116,116,101,114,46,95,95,99,97,108, + 108,95,95,19,0,0,0,115,55,0,0,0,128,0,240,6, + 3,9,17,220,12,15,143,73,137,73,143,79,137,79,212,12, + 29,244,6,0,15,25,152,20,211,14,30,208,8,30,248,240, + 5,1,9,17,216,12,16,220,14,24,152,20,211,14,30,208, + 8,30,250,115,8,0,0,0,130,30,43,0,171,2,57,3, + 114,6,0,0,0,41,6,218,8,95,95,110,97,109,101,95, + 95,218,10,95,95,109,111,100,117,108,101,95,95,218,12,95, + 95,113,117,97,108,110,97,109,101,95,95,114,12,0,0,0, + 114,16,0,0,0,114,23,0,0,0,169,0,114,13,0,0, + 0,114,11,0,0,0,114,4,0,0,0,114,4,0,0,0, + 13,0,0,0,115,18,0,0,0,132,0,242,2,2,5,23, + 242,6,1,5,64,1,244,4,7,5,31,114,13,0,0,0, + 114,4,0,0,0,99,0,0,0,0,0,0,0,0,0,0, + 0,0,2,0,0,0,0,0,0,0,243,46,0,0,0,151, + 0,101,0,90,1,100,0,90,2,100,1,90,3,100,2,90, + 4,100,8,100,3,132,1,90,5,100,4,132,0,90,6,100, + 5,132,0,90,7,100,6,132,0,90,8,121,7,41,9,218, + 8,95,80,114,105,110,116,101,114,122,110,105,110,116,101,114, + 97,99,116,105,118,101,32,112,114,111,109,112,116,32,111,98, + 106,101,99,116,115,32,102,111,114,32,112,114,105,110,116,105, + 110,103,32,116,104,101,32,108,105,99,101,110,115,101,32,116, + 101,120,116,44,32,97,32,108,105,115,116,32,111,102,10,32, + 32,32,32,99,111,110,116,114,105,98,117,116,111,114,115,32, + 97,110,100,32,116,104,101,32,99,111,112,121,114,105,103,104, + 116,32,110,111,116,105,99,101,46,233,23,0,0,0,99,5, + 0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,3, + 0,0,0,243,178,0,0,0,151,0,100,1,100,0,108,0, + 125,5,124,1,124,0,95,1,0,0,0,0,0,0,0,0, + 124,2,124,0,95,2,0,0,0,0,0,0,0,0,100,0, + 124,0,95,3,0,0,0,0,0,0,0,0,124,4,68,0, + 143,6,143,7,99,3,103,0,99,2,93,37,0,0,125,6, + 124,3,68,0,93,30,0,0,125,7,124,5,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,6,124,7,171,2,0,0,0,0,0,0, + 145,3,140,32,4,0,140,39,4,0,99,3,125,7,125,6, + 124,0,95,6,0,0,0,0,0,0,0,0,121,0,99,2, + 1,0,99,3,125,7,125,6,119,0,169,2,78,114,2,0, + 0,0,41,7,218,2,111,115,218,14,95,80,114,105,110,116, + 101,114,95,95,110,97,109,101,218,14,95,80,114,105,110,116, + 101,114,95,95,100,97,116,97,218,15,95,80,114,105,110,116, + 101,114,95,95,108,105,110,101,115,218,4,112,97,116,104,218, + 4,106,111,105,110,218,19,95,80,114,105,110,116,101,114,95, + 95,102,105,108,101,110,97,109,101,115,41,8,114,10,0,0, + 0,114,8,0,0,0,218,4,100,97,116,97,218,5,102,105, + 108,101,115,218,4,100,105,114,115,114,33,0,0,0,218,3, + 100,105,114,218,8,102,105,108,101,110,97,109,101,115,8,0, + 0,0,32,32,32,32,32,32,32,32,114,11,0,0,0,114, + 12,0,0,0,122,17,95,80,114,105,110,116,101,114,46,95, + 95,105,110,105,116,95,95,35,0,0,0,115,92,0,0,0, + 128,0,219,8,17,216,22,26,136,4,140,11,216,22,26,136, + 4,140,11,216,23,27,136,4,140,12,224,39,43,247,3,2, + 28,51,216,32,35,216,44,49,242,5,2,28,51,224,32,40, + 240,5,0,29,31,159,71,153,71,159,76,153,76,168,19,168, + 104,213,28,55,240,0,2,28,51,208,28,55,243,0,2,28, + 51,136,4,213,8,24,249,243,0,2,28,51,115,5,0,0, + 0,159,42,65,19,6,99,1,0,0,0,0,0,0,0,0, + 0,0,0,7,0,0,0,3,0,0,0,243,70,1,0,0, + 151,0,124,0,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,114,1,121,0,100,0,125,1, + 124,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,68,0,93,42,0,0,125,2,9,0, + 116,5,0,0,0,0,0,0,0,0,124,2,100,1,172,2, + 171,2,0,0,0,0,0,0,53,0,125,3,124,3,106,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,125,1,100,0,100,0, + 100,0,171,2,0,0,0,0,0,0,1,0,1,0,110,1, + 4,0,124,1,115,12,124,0,106,10,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,125,1,124,1, + 106,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,3,171,1,0,0,0,0,0,0,124,0, + 95,0,0,0,0,0,0,0,0,0,116,15,0,0,0,0, + 0,0,0,0,124,0,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,124,0,95,8,0,0,0,0,0,0,0,0,121,0, + 35,0,49,0,115,1,119,2,1,0,89,0,1,0,1,0, + 140,75,120,3,89,0,119,1,35,0,116,8,0,0,0,0, + 0,0,0,0,36,0,114,3,1,0,89,0,140,131,119,0, + 120,3,89,0,119,1,41,4,78,122,5,117,116,102,45,56, + 41,1,218,8,101,110,99,111,100,105,110,103,250,1,10,41, + 9,114,36,0,0,0,114,39,0,0,0,218,4,111,112,101, + 110,218,4,114,101,97,100,218,7,79,83,69,114,114,111,114, + 114,35,0,0,0,218,5,115,112,108,105,116,218,3,108,101, + 110,218,17,95,80,114,105,110,116,101,114,95,95,108,105,110, + 101,99,110,116,41,4,114,10,0,0,0,114,40,0,0,0, + 114,44,0,0,0,218,2,102,112,115,4,0,0,0,32,32, + 32,32,114,11,0,0,0,218,7,95,95,115,101,116,117,112, + 122,16,95,80,114,105,110,116,101,114,46,95,95,115,101,116, + 117,112,44,0,0,0,115,155,0,0,0,128,0,216,11,15, + 143,60,138,60,216,12,18,216,15,19,136,4,216,24,28,215, + 24,40,209,24,40,242,0,6,9,21,136,72,240,2,5,13, + 21,220,21,25,152,40,168,87,212,21,53,240,0,1,17,37, + 184,18,216,27,29,159,55,153,55,155,57,144,68,247,3,1, + 17,37,225,16,21,240,9,6,9,21,241,14,0,16,20,216, + 19,23,151,59,145,59,136,68,216,23,27,151,122,145,122,160, + 36,211,23,39,136,4,140,12,220,25,28,152,84,159,92,153, + 92,211,25,42,136,4,141,14,247,17,1,17,37,240,0,1, + 17,37,251,244,6,0,20,27,242,0,1,13,21,217,16,20, + 240,3,1,13,21,250,115,39,0,0,0,160,13,66,20,2, + 173,17,66,8,5,190,8,66,20,2,194,8,5,66,17,9, + 194,13,7,66,20,2,194,20,9,66,32,5,194,31,1,66, + 32,5,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,194,0,0,0,151,0,124,0, + 106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,1,0,116,3, + 0,0,0,0,0,0,0,0,124,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,124,0,106,6,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,107,26,0,0, + 114,27,100,1,106,9,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,83,0,100,2,124,0,106,10,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 102,1,100,3,122,5,0,0,122,6,0,0,83,0,41,4, + 78,114,47,0,0,0,122,33,84,121,112,101,32,37,115,40, + 41,32,116,111,32,115,101,101,32,116,104,101,32,102,117,108, + 108,32,37,115,32,116,101,120,116,233,2,0,0,0,41,6, + 218,15,95,80,114,105,110,116,101,114,95,95,115,101,116,117, + 112,114,52,0,0,0,114,36,0,0,0,218,8,77,65,88, + 76,73,78,69,83,114,38,0,0,0,114,34,0,0,0,114, + 15,0,0,0,115,1,0,0,0,32,114,11,0,0,0,114, + 16,0,0,0,122,17,95,80,114,105,110,116,101,114,46,95, + 95,114,101,112,114,95,95,60,0,0,0,115,73,0,0,0, + 128,0,216,8,12,143,12,137,12,140,14,220,11,14,136,116, + 143,124,137,124,211,11,28,160,4,167,13,161,13,210,11,45, + 216,19,23,151,57,145,57,152,84,159,92,153,92,211,19,42, + 208,12,42,224,19,54,184,52,191,59,185,59,184,46,200,17, + 209,58,74,209,19,75,208,12,75,114,13,0,0,0,99,1, + 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, + 0,0,0,243,22,1,0,0,151,0,124,0,106,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,1,0,100,1,125,1,100,2, + 125,2,9,0,9,0,116,3,0,0,0,0,0,0,0,0, + 124,2,124,2,124,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,122,0,0,0,171,2, + 0,0,0,0,0,0,68,0,93,26,0,0,125,3,116,7, + 0,0,0,0,0,0,0,0,124,0,106,8,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,3, + 25,0,0,0,171,1,0,0,0,0,0,0,1,0,140,28, + 4,0,9,0,124,2,124,0,106,4,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,122,13,0,0, + 125,2,100,0,125,4,124,4,128,20,116,11,0,0,0,0, + 0,0,0,0,124,1,171,1,0,0,0,0,0,0,125,4, + 124,4,100,3,118,1,114,2,100,0,125,4,124,4,128,1, + 140,20,124,4,100,4,107,40,0,0,114,1,121,0,140,102, + 35,0,116,12,0,0,0,0,0,0,0,0,36,0,114,3, + 1,0,89,0,121,0,119,0,120,3,89,0,119,1,41,5, + 78,122,48,72,105,116,32,82,101,116,117,114,110,32,102,111, + 114,32,109,111,114,101,44,32,111,114,32,113,32,40,97,110, + 100,32,82,101,116,117,114,110,41,32,116,111,32,113,117,105, + 116,58,32,114,2,0,0,0,41,2,218,0,218,1,113,114, + 62,0,0,0,41,7,114,58,0,0,0,218,5,114,97,110, + 103,101,114,59,0,0,0,218,5,112,114,105,110,116,114,36, + 0,0,0,218,5,105,110,112,117,116,218,10,73,110,100,101, + 120,69,114,114,111,114,41,5,114,10,0,0,0,218,6,112, + 114,111,109,112,116,218,6,108,105,110,101,110,111,218,1,105, + 218,3,107,101,121,115,5,0,0,0,32,32,32,32,32,114, + 11,0,0,0,114,23,0,0,0,122,17,95,80,114,105,110, + 116,101,114,46,95,95,99,97,108,108,95,95,67,0,0,0, + 115,168,0,0,0,128,0,216,8,12,143,12,137,12,140,14, + 216,17,67,136,6,216,17,18,136,6,216,14,15,240,2,13, + 13,26,220,25,30,152,118,160,118,176,4,183,13,177,13,209, + 39,61,211,25,62,242,0,1,17,43,144,65,220,20,25,152, + 36,159,44,153,44,160,113,153,47,213,20,42,241,3,1,17, + 43,240,10,0,17,23,152,36,159,45,153,45,209,16,39,144, + 6,216,22,26,144,3,216,22,25,144,107,220,26,31,160,6, + 155,45,144,67,216,23,26,160,41,209,23,43,216,30,34,152, + 3,240,7,0,23,26,145,107,240,8,0,20,23,152,35,146, + 58,216,20,25,240,29,0,15,16,248,244,8,0,20,30,242, + 0,1,13,22,217,16,21,240,3,1,13,22,250,115,17,0, + 0,0,151,54,65,60,0,193,60,9,66,8,3,194,7,1, + 66,8,3,78,41,2,114,27,0,0,0,114,27,0,0,0, + 41,9,114,24,0,0,0,114,25,0,0,0,114,26,0,0, + 0,218,7,95,95,100,111,99,95,95,114,59,0,0,0,114, + 12,0,0,0,114,58,0,0,0,114,16,0,0,0,114,23, + 0,0,0,114,27,0,0,0,114,13,0,0,0,114,11,0, + 0,0,114,29,0,0,0,114,29,0,0,0,29,0,0,0, + 115,35,0,0,0,132,0,241,2,1,5,46,240,6,0,16, + 18,128,72,243,4,7,5,51,242,18,14,5,43,242,32,5, + 5,76,1,243,14,18,5,26,114,13,0,0,0,114,29,0, + 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,1, + 0,0,0,0,0,0,0,243,28,0,0,0,151,0,101,0, + 90,1,100,0,90,2,100,1,90,3,100,2,132,0,90,4, + 100,3,132,0,90,5,121,4,41,5,218,7,95,72,101,108, + 112,101,114,97,51,1,0,0,68,101,102,105,110,101,32,116, + 104,101,32,98,117,105,108,116,105,110,32,39,104,101,108,112, + 39,46,10,10,32,32,32,32,84,104,105,115,32,105,115,32, + 97,32,119,114,97,112,112,101,114,32,97,114,111,117,110,100, + 32,112,121,100,111,99,46,104,101,108,112,32,116,104,97,116, + 32,112,114,111,118,105,100,101,115,32,97,32,104,101,108,112, + 102,117,108,32,109,101,115,115,97,103,101,10,32,32,32,32, + 119,104,101,110,32,39,104,101,108,112,39,32,105,115,32,116, + 121,112,101,100,32,97,116,32,116,104,101,32,80,121,116,104, + 111,110,32,105,110,116,101,114,97,99,116,105,118,101,32,112, + 114,111,109,112,116,46,10,10,32,32,32,32,67,97,108,108, + 105,110,103,32,104,101,108,112,40,41,32,97,116,32,116,104, + 101,32,80,121,116,104,111,110,32,112,114,111,109,112,116,32, + 115,116,97,114,116,115,32,97,110,32,105,110,116,101,114,97, + 99,116,105,118,101,32,104,101,108,112,32,115,101,115,115,105, + 111,110,46,10,32,32,32,32,67,97,108,108,105,110,103,32, + 104,101,108,112,40,116,104,105,110,103,41,32,112,114,105,110, + 116,115,32,104,101,108,112,32,102,111,114,32,116,104,101,32, + 112,121,116,104,111,110,32,111,98,106,101,99,116,32,39,116, + 104,105,110,103,39,46,10,32,32,32,32,99,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 243,4,0,0,0,151,0,121,1,41,2,78,122,72,84,121, + 112,101,32,104,101,108,112,40,41,32,102,111,114,32,105,110, + 116,101,114,97,99,116,105,118,101,32,104,101,108,112,44,32, + 111,114,32,104,101,108,112,40,111,98,106,101,99,116,41,32, + 102,111,114,32,104,101,108,112,32,97,98,111,117,116,32,111, + 98,106,101,99,116,46,114,27,0,0,0,114,15,0,0,0, + 115,1,0,0,0,32,114,11,0,0,0,114,16,0,0,0, + 122,16,95,72,101,108,112,101,114,46,95,95,114,101,112,114, + 95,95,98,0,0,0,115,7,0,0,0,128,0,240,2,1, + 16,56,114,13,0,0,0,99,1,0,0,0,0,0,0,0, + 0,0,0,0,5,0,0,0,15,0,0,0,243,46,0,0, + 0,151,0,100,1,100,0,108,0,125,3,2,0,124,3,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,105,0,124,2,164,1,142,1,83,0,114, + 32,0,0,0,41,2,218,5,112,121,100,111,99,218,4,104, + 101,108,112,41,4,114,10,0,0,0,218,4,97,114,103,115, + 218,4,107,119,100,115,114,76,0,0,0,115,4,0,0,0, + 32,32,32,32,114,11,0,0,0,114,23,0,0,0,122,16, + 95,72,101,108,112,101,114,46,95,95,99,97,108,108,95,95, + 101,0,0,0,115,27,0,0,0,128,0,219,8,20,216,15, + 25,136,117,143,122,137,122,152,52,208,15,40,160,52,209,15, + 40,208,8,40,114,13,0,0,0,78,41,6,114,24,0,0, + 0,114,25,0,0,0,114,26,0,0,0,114,71,0,0,0, + 114,16,0,0,0,114,23,0,0,0,114,27,0,0,0,114, + 13,0,0,0,114,11,0,0,0,114,73,0,0,0,114,73, + 0,0,0,88,0,0,0,115,17,0,0,0,132,0,241,2, + 7,5,8,242,18,2,5,56,243,6,2,5,41,114,13,0, + 0,0,114,73,0,0,0,41,6,114,71,0,0,0,114,18, + 0,0,0,218,6,111,98,106,101,99,116,114,4,0,0,0, + 114,29,0,0,0,114,73,0,0,0,114,27,0,0,0,114, + 13,0,0,0,114,11,0,0,0,250,8,60,109,111,100,117, + 108,101,62,114,81,0,0,0,1,0,0,0,115,52,0,0, + 0,240,3,1,1,1,241,2,2,1,4,243,20,0,1,11, + 244,4,13,1,31,136,102,244,0,13,1,31,244,32,56,1, + 26,136,118,244,0,56,1,26,244,118,1,15,1,41,136,102, + 245,0,15,1,41,114,13,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/abc.h b/contrib/tools/python3/src/Python/frozen_modules/abc.h new file mode 100644 index 00000000000..ba88c8d67da --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/abc.h @@ -0,0 +1,505 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__abc[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,0,0,0,0,243,226,0,0,0,151,0,100,0,90,0, + 100,1,132,0,90,1,2,0,71,0,100,2,132,0,100,3, + 101,2,171,3,0,0,0,0,0,0,90,3,2,0,71,0, + 100,4,132,0,100,5,101,4,171,3,0,0,0,0,0,0, + 90,5,2,0,71,0,100,6,132,0,100,7,101,6,171,3, + 0,0,0,0,0,0,90,7,9,0,100,8,100,9,108,8, + 109,9,90,9,109,10,90,10,109,11,90,11,109,12,90,12, + 109,13,90,13,109,14,90,14,109,15,90,15,109,16,90,16, + 1,0,2,0,71,0,100,10,132,0,100,11,101,17,171,3, + 0,0,0,0,0,0,90,18,100,14,132,0,90,22,2,0, + 71,0,100,15,132,0,100,16,101,18,172,17,171,3,0,0, + 0,0,0,0,90,23,121,18,35,0,101,19,36,0,114,18, + 1,0,100,8,100,12,108,20,109,18,90,18,109,9,90,9, + 1,0,100,13,101,18,95,21,0,0,0,0,0,0,0,0, + 89,0,140,38,119,0,120,3,89,0,119,1,41,19,122,51, + 65,98,115,116,114,97,99,116,32,66,97,115,101,32,67,108, + 97,115,115,101,115,32,40,65,66,67,115,41,32,97,99,99, + 111,114,100,105,110,103,32,116,111,32,80,69,80,32,51,49, + 49,57,46,99,1,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,3,0,0,0,243,20,0,0,0,151,0,100, + 1,124,0,95,0,0,0,0,0,0,0,0,0,124,0,83, + 0,41,2,97,73,2,0,0,65,32,100,101,99,111,114,97, + 116,111,114,32,105,110,100,105,99,97,116,105,110,103,32,97, + 98,115,116,114,97,99,116,32,109,101,116,104,111,100,115,46, + 10,10,32,32,32,32,82,101,113,117,105,114,101,115,32,116, + 104,97,116,32,116,104,101,32,109,101,116,97,99,108,97,115, + 115,32,105,115,32,65,66,67,77,101,116,97,32,111,114,32, + 100,101,114,105,118,101,100,32,102,114,111,109,32,105,116,46, + 32,32,65,10,32,32,32,32,99,108,97,115,115,32,116,104, + 97,116,32,104,97,115,32,97,32,109,101,116,97,99,108,97, + 115,115,32,100,101,114,105,118,101,100,32,102,114,111,109,32, + 65,66,67,77,101,116,97,32,99,97,110,110,111,116,32,98, + 101,10,32,32,32,32,105,110,115,116,97,110,116,105,97,116, + 101,100,32,117,110,108,101,115,115,32,97,108,108,32,111,102, + 32,105,116,115,32,97,98,115,116,114,97,99,116,32,109,101, + 116,104,111,100,115,32,97,114,101,32,111,118,101,114,114,105, + 100,100,101,110,46,10,32,32,32,32,84,104,101,32,97,98, + 115,116,114,97,99,116,32,109,101,116,104,111,100,115,32,99, + 97,110,32,98,101,32,99,97,108,108,101,100,32,117,115,105, + 110,103,32,97,110,121,32,111,102,32,116,104,101,32,110,111, + 114,109,97,108,10,32,32,32,32,39,115,117,112,101,114,39, + 32,99,97,108,108,32,109,101,99,104,97,110,105,115,109,115, + 46,32,32,97,98,115,116,114,97,99,116,109,101,116,104,111, + 100,40,41,32,109,97,121,32,98,101,32,117,115,101,100,32, + 116,111,32,100,101,99,108,97,114,101,10,32,32,32,32,97, + 98,115,116,114,97,99,116,32,109,101,116,104,111,100,115,32, + 102,111,114,32,112,114,111,112,101,114,116,105,101,115,32,97, + 110,100,32,100,101,115,99,114,105,112,116,111,114,115,46,10, + 10,32,32,32,32,85,115,97,103,101,58,10,10,32,32,32, + 32,32,32,32,32,99,108,97,115,115,32,67,40,109,101,116, + 97,99,108,97,115,115,61,65,66,67,77,101,116,97,41,58, + 10,32,32,32,32,32,32,32,32,32,32,32,32,64,97,98, + 115,116,114,97,99,116,109,101,116,104,111,100,10,32,32,32, + 32,32,32,32,32,32,32,32,32,100,101,102,32,109,121,95, + 97,98,115,116,114,97,99,116,95,109,101,116,104,111,100,40, + 115,101,108,102,44,32,97,114,103,49,44,32,97,114,103,50, + 44,32,97,114,103,78,41,58,10,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,46,46,46,10,32,32,32, + 32,84,41,1,218,20,95,95,105,115,97,98,115,116,114,97, + 99,116,109,101,116,104,111,100,95,95,41,1,218,7,102,117, + 110,99,111,98,106,115,1,0,0,0,32,250,12,60,102,114, + 111,122,101,110,32,97,98,99,62,218,14,97,98,115,116,114, + 97,99,116,109,101,116,104,111,100,114,6,0,0,0,7,0, + 0,0,115,17,0,0,0,128,0,240,34,0,36,40,128,71, + 212,4,32,216,11,18,128,78,243,0,0,0,0,99,0,0, + 0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, + 0,0,243,38,0,0,0,135,0,151,0,101,0,90,1,100, + 0,90,2,100,1,90,3,100,2,90,4,136,0,102,1,100, + 3,132,8,90,5,136,0,120,1,90,6,83,0,41,4,218, + 19,97,98,115,116,114,97,99,116,99,108,97,115,115,109,101, + 116,104,111,100,97,8,1,0,0,65,32,100,101,99,111,114, + 97,116,111,114,32,105,110,100,105,99,97,116,105,110,103,32, + 97,98,115,116,114,97,99,116,32,99,108,97,115,115,109,101, + 116,104,111,100,115,46,10,10,32,32,32,32,68,101,112,114, + 101,99,97,116,101,100,44,32,117,115,101,32,39,99,108,97, + 115,115,109,101,116,104,111,100,39,32,119,105,116,104,32,39, + 97,98,115,116,114,97,99,116,109,101,116,104,111,100,39,32, + 105,110,115,116,101,97,100,58,10,10,32,32,32,32,32,32, + 32,32,99,108,97,115,115,32,67,40,65,66,67,41,58,10, + 32,32,32,32,32,32,32,32,32,32,32,32,64,99,108,97, + 115,115,109,101,116,104,111,100,10,32,32,32,32,32,32,32, + 32,32,32,32,32,64,97,98,115,116,114,97,99,116,109,101, + 116,104,111,100,10,32,32,32,32,32,32,32,32,32,32,32, + 32,100,101,102,32,109,121,95,97,98,115,116,114,97,99,116, + 95,99,108,97,115,115,109,101,116,104,111,100,40,99,108,115, + 44,32,46,46,46,41,58,10,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,46,46,46,10,10,32,32,32, + 32,84,99,2,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,50,0,0,0,149,1,151,0, + 100,1,124,1,95,0,0,0,0,0,0,0,0,0,116,2, + 0,0,0,0,0,0,0,0,137,2,124,0,141,9,0,0, + 124,1,171,1,0,0,0,0,0,0,1,0,121,0,169,2, + 78,84,169,3,114,3,0,0,0,218,5,115,117,112,101,114, + 218,8,95,95,105,110,105,116,95,95,169,3,218,4,115,101, + 108,102,218,8,99,97,108,108,97,98,108,101,218,9,95,95, + 99,108,97,115,115,95,95,115,3,0,0,0,32,32,128,114, + 5,0,0,0,114,14,0,0,0,122,28,97,98,115,116,114, + 97,99,116,99,108,97,115,115,109,101,116,104,111,100,46,95, + 95,105,110,105,116,95,95,43,0,0,0,243,24,0,0,0, + 248,128,0,216,40,44,136,8,212,8,37,220,8,13,137,7, + 209,8,24,152,24,213,8,34,114,7,0,0,0,169,7,218, + 8,95,95,110,97,109,101,95,95,218,10,95,95,109,111,100, + 117,108,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,114,3,0,0, + 0,114,14,0,0,0,218,13,95,95,99,108,97,115,115,99, + 101,108,108,95,95,169,1,114,18,0,0,0,115,1,0,0, + 0,64,114,5,0,0,0,114,9,0,0,0,114,9,0,0, + 0,28,0,0,0,243,26,0,0,0,248,132,0,241,2,10, + 5,8,240,24,0,28,32,208,4,24,247,4,2,5,35,240, + 0,2,5,35,114,7,0,0,0,114,9,0,0,0,99,0, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0, + 0,0,0,243,38,0,0,0,135,0,151,0,101,0,90,1, + 100,0,90,2,100,1,90,3,100,2,90,4,136,0,102,1, + 100,3,132,8,90,5,136,0,120,1,90,6,83,0,41,4, + 218,20,97,98,115,116,114,97,99,116,115,116,97,116,105,99, + 109,101,116,104,111,100,97,7,1,0,0,65,32,100,101,99, + 111,114,97,116,111,114,32,105,110,100,105,99,97,116,105,110, + 103,32,97,98,115,116,114,97,99,116,32,115,116,97,116,105, + 99,109,101,116,104,111,100,115,46,10,10,32,32,32,32,68, + 101,112,114,101,99,97,116,101,100,44,32,117,115,101,32,39, + 115,116,97,116,105,99,109,101,116,104,111,100,39,32,119,105, + 116,104,32,39,97,98,115,116,114,97,99,116,109,101,116,104, + 111,100,39,32,105,110,115,116,101,97,100,58,10,10,32,32, + 32,32,32,32,32,32,99,108,97,115,115,32,67,40,65,66, + 67,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32, + 64,115,116,97,116,105,99,109,101,116,104,111,100,10,32,32, + 32,32,32,32,32,32,32,32,32,32,64,97,98,115,116,114, + 97,99,116,109,101,116,104,111,100,10,32,32,32,32,32,32, + 32,32,32,32,32,32,100,101,102,32,109,121,95,97,98,115, + 116,114,97,99,116,95,115,116,97,116,105,99,109,101,116,104, + 111,100,40,46,46,46,41,58,10,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,46,46,46,10,10,32,32, + 32,32,84,99,2,0,0,0,0,0,0,0,0,0,0,0, + 3,0,0,0,3,0,0,0,243,50,0,0,0,149,1,151, + 0,100,1,124,1,95,0,0,0,0,0,0,0,0,0,116, + 2,0,0,0,0,0,0,0,0,137,2,124,0,141,9,0, + 0,124,1,171,1,0,0,0,0,0,0,1,0,121,0,114, + 11,0,0,0,114,12,0,0,0,114,15,0,0,0,115,3, + 0,0,0,32,32,128,114,5,0,0,0,114,14,0,0,0, + 122,29,97,98,115,116,114,97,99,116,115,116,97,116,105,99, + 109,101,116,104,111,100,46,95,95,105,110,105,116,95,95,63, + 0,0,0,114,19,0,0,0,114,7,0,0,0,114,20,0, + 0,0,114,26,0,0,0,115,1,0,0,0,64,114,5,0, + 0,0,114,29,0,0,0,114,29,0,0,0,48,0,0,0, + 114,27,0,0,0,114,7,0,0,0,114,29,0,0,0,99, + 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 0,0,0,0,243,20,0,0,0,151,0,101,0,90,1,100, + 0,90,2,100,1,90,3,100,2,90,4,121,3,41,4,218, + 16,97,98,115,116,114,97,99,116,112,114,111,112,101,114,116, + 121,122,249,65,32,100,101,99,111,114,97,116,111,114,32,105, + 110,100,105,99,97,116,105,110,103,32,97,98,115,116,114,97, + 99,116,32,112,114,111,112,101,114,116,105,101,115,46,10,10, + 32,32,32,32,68,101,112,114,101,99,97,116,101,100,44,32, + 117,115,101,32,39,112,114,111,112,101,114,116,121,39,32,119, + 105,116,104,32,39,97,98,115,116,114,97,99,116,109,101,116, + 104,111,100,39,32,105,110,115,116,101,97,100,58,10,10,32, + 32,32,32,32,32,32,32,99,108,97,115,115,32,67,40,65, + 66,67,41,58,10,32,32,32,32,32,32,32,32,32,32,32, + 32,64,112,114,111,112,101,114,116,121,10,32,32,32,32,32, + 32,32,32,32,32,32,32,64,97,98,115,116,114,97,99,116, + 109,101,116,104,111,100,10,32,32,32,32,32,32,32,32,32, + 32,32,32,100,101,102,32,109,121,95,97,98,115,116,114,97, + 99,116,95,112,114,111,112,101,114,116,121,40,115,101,108,102, + 41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,46,46,46,10,10,32,32,32,32,84,78,41,5, + 114,21,0,0,0,114,22,0,0,0,114,23,0,0,0,114, + 24,0,0,0,114,3,0,0,0,169,0,114,7,0,0,0, + 114,5,0,0,0,114,32,0,0,0,114,32,0,0,0,68, + 0,0,0,115,15,0,0,0,132,0,241,2,10,5,8,240, + 24,0,28,32,209,4,24,114,7,0,0,0,114,32,0,0, + 0,233,0,0,0,0,41,8,218,15,103,101,116,95,99,97, + 99,104,101,95,116,111,107,101,110,218,9,95,97,98,99,95, + 105,110,105,116,218,13,95,97,98,99,95,114,101,103,105,115, + 116,101,114,218,18,95,97,98,99,95,105,110,115,116,97,110, + 99,101,99,104,101,99,107,218,18,95,97,98,99,95,115,117, + 98,99,108,97,115,115,99,104,101,99,107,218,9,95,103,101, + 116,95,100,117,109,112,218,15,95,114,101,115,101,116,95,114, + 101,103,105,115,116,114,121,218,13,95,114,101,115,101,116,95, + 99,97,99,104,101,115,99,0,0,0,0,0,0,0,0,0, + 0,0,0,2,0,0,0,0,0,0,0,243,72,0,0,0, + 135,0,151,0,101,0,90,1,100,0,90,2,100,1,90,3, + 136,0,102,1,100,2,132,8,90,4,100,3,132,0,90,5, + 100,4,132,0,90,6,100,5,132,0,90,7,100,9,100,6, + 132,1,90,8,100,7,132,0,90,9,100,8,132,0,90,10, + 136,0,120,1,90,11,83,0,41,10,218,7,65,66,67,77, + 101,116,97,97,144,2,0,0,77,101,116,97,99,108,97,115, + 115,32,102,111,114,32,100,101,102,105,110,105,110,103,32,65, + 98,115,116,114,97,99,116,32,66,97,115,101,32,67,108,97, + 115,115,101,115,32,40,65,66,67,115,41,46,10,10,32,32, + 32,32,32,32,32,32,85,115,101,32,116,104,105,115,32,109, + 101,116,97,99,108,97,115,115,32,116,111,32,99,114,101,97, + 116,101,32,97,110,32,65,66,67,46,32,32,65,110,32,65, + 66,67,32,99,97,110,32,98,101,32,115,117,98,99,108,97, + 115,115,101,100,10,32,32,32,32,32,32,32,32,100,105,114, + 101,99,116,108,121,44,32,97,110,100,32,116,104,101,110,32, + 97,99,116,115,32,97,115,32,97,32,109,105,120,45,105,110, + 32,99,108,97,115,115,46,32,32,89,111,117,32,99,97,110, + 32,97,108,115,111,32,114,101,103,105,115,116,101,114,10,32, + 32,32,32,32,32,32,32,117,110,114,101,108,97,116,101,100, + 32,99,111,110,99,114,101,116,101,32,99,108,97,115,115,101, + 115,32,40,101,118,101,110,32,98,117,105,108,116,45,105,110, + 32,99,108,97,115,115,101,115,41,32,97,110,100,32,117,110, + 114,101,108,97,116,101,100,10,32,32,32,32,32,32,32,32, + 65,66,67,115,32,97,115,32,39,118,105,114,116,117,97,108, + 32,115,117,98,99,108,97,115,115,101,115,39,32,45,45,32, + 116,104,101,115,101,32,97,110,100,32,116,104,101,105,114,32, + 100,101,115,99,101,110,100,97,110,116,115,32,119,105,108,108, + 10,32,32,32,32,32,32,32,32,98,101,32,99,111,110,115, + 105,100,101,114,101,100,32,115,117,98,99,108,97,115,115,101, + 115,32,111,102,32,116,104,101,32,114,101,103,105,115,116,101, + 114,105,110,103,32,65,66,67,32,98,121,32,116,104,101,32, + 98,117,105,108,116,45,105,110,10,32,32,32,32,32,32,32, + 32,105,115,115,117,98,99,108,97,115,115,40,41,32,102,117, + 110,99,116,105,111,110,44,32,98,117,116,32,116,104,101,32, + 114,101,103,105,115,116,101,114,105,110,103,32,65,66,67,32, + 119,111,110,39,116,32,115,104,111,119,32,117,112,32,105,110, + 10,32,32,32,32,32,32,32,32,116,104,101,105,114,32,77, + 82,79,32,40,77,101,116,104,111,100,32,82,101,115,111,108, + 117,116,105,111,110,32,79,114,100,101,114,41,32,110,111,114, + 32,119,105,108,108,32,109,101,116,104,111,100,10,32,32,32, + 32,32,32,32,32,105,109,112,108,101,109,101,110,116,97,116, + 105,111,110,115,32,100,101,102,105,110,101,100,32,98,121,32, + 116,104,101,32,114,101,103,105,115,116,101,114,105,110,103,32, + 65,66,67,32,98,101,32,99,97,108,108,97,98,108,101,32, + 40,110,111,116,10,32,32,32,32,32,32,32,32,101,118,101, + 110,32,118,105,97,32,115,117,112,101,114,40,41,41,46,10, + 32,32,32,32,32,32,32,32,99,4,0,0,0,4,0,0, + 0,0,0,0,0,6,0,0,0,11,0,0,0,243,68,0, + 0,0,149,1,151,0,116,1,0,0,0,0,0,0,0,0, + 137,6,124,0,141,4,0,0,124,0,124,1,124,2,124,3, + 102,4,105,0,124,4,164,1,142,1,125,5,116,5,0,0, + 0,0,0,0,0,0,124,5,171,1,0,0,0,0,0,0, + 1,0,124,5,83,0,169,1,78,41,3,114,13,0,0,0, + 218,7,95,95,110,101,119,95,95,114,36,0,0,0,41,7, + 218,4,109,99,108,115,218,4,110,97,109,101,218,5,98,97, + 115,101,115,218,9,110,97,109,101,115,112,97,99,101,218,6, + 107,119,97,114,103,115,218,3,99,108,115,114,18,0,0,0, + 115,7,0,0,0,32,32,32,32,32,32,128,114,5,0,0, + 0,114,47,0,0,0,122,15,65,66,67,77,101,116,97,46, + 95,95,110,101,119,95,95,105,0,0,0,115,40,0,0,0, + 248,128,0,220,18,23,145,39,145,47,160,36,168,4,168,101, + 176,89,209,18,73,192,38,209,18,73,136,67,220,12,21,144, + 99,140,78,216,19,22,136,74,114,7,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0, + 0,0,243,26,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,124,1,171,2,0,0,0,0,0,0,83, + 0,41,1,122,123,82,101,103,105,115,116,101,114,32,97,32, + 118,105,114,116,117,97,108,32,115,117,98,99,108,97,115,115, + 32,111,102,32,97,110,32,65,66,67,46,10,10,32,32,32, + 32,32,32,32,32,32,32,32,32,82,101,116,117,114,110,115, + 32,116,104,101,32,115,117,98,99,108,97,115,115,44,32,116, + 111,32,97,108,108,111,119,32,117,115,97,103,101,32,97,115, + 32,97,32,99,108,97,115,115,32,100,101,99,111,114,97,116, + 111,114,46,10,32,32,32,32,32,32,32,32,32,32,32,32, + 41,1,114,37,0,0,0,169,2,114,53,0,0,0,218,8, + 115,117,98,99,108,97,115,115,115,2,0,0,0,32,32,114, + 5,0,0,0,218,8,114,101,103,105,115,116,101,114,122,16, + 65,66,67,77,101,116,97,46,114,101,103,105,115,116,101,114, + 110,0,0,0,115,17,0,0,0,128,0,244,10,0,20,33, + 160,19,160,104,211,19,47,208,12,47,114,7,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,26,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,0,124,1,171,2,0,0,0,0,0, + 0,83,0,41,1,122,39,79,118,101,114,114,105,100,101,32, + 102,111,114,32,105,115,105,110,115,116,97,110,99,101,40,105, + 110,115,116,97,110,99,101,44,32,99,108,115,41,46,41,1, + 114,38,0,0,0,41,2,114,53,0,0,0,218,8,105,110, + 115,116,97,110,99,101,115,2,0,0,0,32,32,114,5,0, + 0,0,218,17,95,95,105,110,115,116,97,110,99,101,99,104, + 101,99,107,95,95,122,25,65,66,67,77,101,116,97,46,95, + 95,105,110,115,116,97,110,99,101,99,104,101,99,107,95,95, + 117,0,0,0,243,15,0,0,0,128,0,228,19,37,160,99, + 168,56,211,19,52,208,12,52,114,7,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0, + 0,0,243,26,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,124,1,171,2,0,0,0,0,0,0,83, + 0,41,1,122,39,79,118,101,114,114,105,100,101,32,102,111, + 114,32,105,115,115,117,98,99,108,97,115,115,40,115,117,98, + 99,108,97,115,115,44,32,99,108,115,41,46,41,1,114,39, + 0,0,0,114,55,0,0,0,115,2,0,0,0,32,32,114, + 5,0,0,0,218,17,95,95,115,117,98,99,108,97,115,115, + 99,104,101,99,107,95,95,122,25,65,66,67,77,101,116,97, + 46,95,95,115,117,98,99,108,97,115,115,99,104,101,99,107, + 95,95,121,0,0,0,114,61,0,0,0,114,7,0,0,0, + 99,2,0,0,0,0,0,0,0,0,0,0,0,6,0,0, + 0,3,0,0,0,243,34,1,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,100,1,124,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,0, + 100,2,124,0,106,4,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,155,0,157,4,124,1,172,3, + 171,2,0,0,0,0,0,0,1,0,116,1,0,0,0,0, + 0,0,0,0,100,4,116,7,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,155,0,157,2,124,1,172,3, + 171,2,0,0,0,0,0,0,1,0,116,9,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,92,4, + 0,0,125,2,125,3,125,4,125,5,116,1,0,0,0,0, + 0,0,0,0,100,5,124,2,155,2,157,2,124,1,172,3, + 171,2,0,0,0,0,0,0,1,0,116,1,0,0,0,0, + 0,0,0,0,100,6,124,3,155,2,157,2,124,1,172,3, + 171,2,0,0,0,0,0,0,1,0,116,1,0,0,0,0, + 0,0,0,0,100,7,124,4,155,2,157,2,124,1,172,3, + 171,2,0,0,0,0,0,0,1,0,116,1,0,0,0,0, + 0,0,0,0,100,8,124,5,155,2,157,2,124,1,172,3, + 171,2,0,0,0,0,0,0,1,0,121,9,41,10,122,39, + 68,101,98,117,103,32,104,101,108,112,101,114,32,116,111,32, + 112,114,105,110,116,32,116,104,101,32,65,66,67,32,114,101, + 103,105,115,116,114,121,46,122,7,67,108,97,115,115,58,32, + 250,1,46,41,1,218,4,102,105,108,101,122,14,73,110,118, + 46,32,99,111,117,110,116,101,114,58,32,122,15,95,97,98, + 99,95,114,101,103,105,115,116,114,121,58,32,122,12,95,97, + 98,99,95,99,97,99,104,101,58,32,122,21,95,97,98,99, + 95,110,101,103,97,116,105,118,101,95,99,97,99,104,101,58, + 32,122,29,95,97,98,99,95,110,101,103,97,116,105,118,101, + 95,99,97,99,104,101,95,118,101,114,115,105,111,110,58,32, + 78,41,5,218,5,112,114,105,110,116,114,22,0,0,0,114, + 23,0,0,0,114,35,0,0,0,114,40,0,0,0,41,6, + 114,53,0,0,0,114,66,0,0,0,218,13,95,97,98,99, + 95,114,101,103,105,115,116,114,121,218,10,95,97,98,99,95, + 99,97,99,104,101,218,19,95,97,98,99,95,110,101,103,97, + 116,105,118,101,95,99,97,99,104,101,218,27,95,97,98,99, + 95,110,101,103,97,116,105,118,101,95,99,97,99,104,101,95, + 118,101,114,115,105,111,110,115,6,0,0,0,32,32,32,32, + 32,32,114,5,0,0,0,218,14,95,100,117,109,112,95,114, + 101,103,105,115,116,114,121,122,22,65,66,67,77,101,116,97, + 46,95,100,117,109,112,95,114,101,103,105,115,116,114,121,125, + 0,0,0,115,158,0,0,0,128,0,228,12,17,144,71,152, + 67,159,78,153,78,208,27,43,168,49,168,83,215,45,61,209, + 45,61,208,44,62,208,18,63,192,100,213,12,75,220,12,17, + 144,78,164,63,211,35,52,208,34,53,208,18,54,184,84,213, + 12,66,228,44,53,176,99,171,78,241,3,1,13,42,136,93, + 152,74,208,40,59,216,13,40,220,12,17,144,79,160,77,208, + 35,52,208,18,53,184,68,213,12,65,220,12,17,144,76,160, + 26,160,14,208,18,47,176,100,213,12,59,220,12,17,208,20, + 41,208,42,61,208,41,64,208,18,65,200,4,213,12,77,220, + 12,17,208,20,49,208,50,77,208,49,80,208,18,81,216,23, + 27,246,3,1,13,29,114,7,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, + 243,26,0,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,1,0,121,1,41, + 2,122,46,67,108,101,97,114,32,116,104,101,32,114,101,103, + 105,115,116,114,121,32,40,102,111,114,32,100,101,98,117,103, + 103,105,110,103,32,111,114,32,116,101,115,116,105,110,103,41, + 46,78,41,1,114,41,0,0,0,169,1,114,53,0,0,0, + 115,1,0,0,0,32,114,5,0,0,0,218,19,95,97,98, + 99,95,114,101,103,105,115,116,114,121,95,99,108,101,97,114, + 122,27,65,66,67,77,101,116,97,46,95,97,98,99,95,114, + 101,103,105,115,116,114,121,95,99,108,101,97,114,137,0,0, + 0,115,10,0,0,0,128,0,228,12,27,152,67,213,12,32, + 114,7,0,0,0,99,1,0,0,0,0,0,0,0,0,0, + 0,0,3,0,0,0,3,0,0,0,243,26,0,0,0,151, + 0,116,1,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,1,0,121,1,41,2,122,44,67,108,101, + 97,114,32,116,104,101,32,99,97,99,104,101,115,32,40,102, + 111,114,32,100,101,98,117,103,103,105,110,103,32,111,114,32, + 116,101,115,116,105,110,103,41,46,78,41,1,114,42,0,0, + 0,114,74,0,0,0,115,1,0,0,0,32,114,5,0,0, + 0,218,17,95,97,98,99,95,99,97,99,104,101,115,95,99, + 108,101,97,114,122,25,65,66,67,77,101,116,97,46,95,97, + 98,99,95,99,97,99,104,101,115,95,99,108,101,97,114,141, + 0,0,0,115,10,0,0,0,128,0,228,12,25,152,35,213, + 12,30,114,7,0,0,0,114,46,0,0,0,41,12,114,21, + 0,0,0,114,22,0,0,0,114,23,0,0,0,114,24,0, + 0,0,114,47,0,0,0,114,57,0,0,0,114,60,0,0, + 0,114,63,0,0,0,114,72,0,0,0,114,75,0,0,0, + 114,77,0,0,0,114,25,0,0,0,114,26,0,0,0,115, + 1,0,0,0,64,114,5,0,0,0,114,44,0,0,0,114, + 44,0,0,0,92,0,0,0,115,43,0,0,0,248,132,0, + 241,2,11,9,12,244,24,3,9,23,242,10,5,9,48,242, + 14,2,9,53,242,8,2,9,53,243,8,10,9,29,242,24, + 2,9,33,246,8,2,9,31,114,7,0,0,0,114,44,0, + 0,0,41,2,114,44,0,0,0,114,35,0,0,0,218,3, + 97,98,99,99,1,0,0,0,0,0,0,0,0,0,0,0, + 7,0,0,0,3,0,0,0,243,118,1,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,124,0,100,1,171,2,0, + 0,0,0,0,0,115,2,124,0,83,0,116,3,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,125,1,124, + 0,106,4,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,68,0,93,64,0,0,125,2,116,7,0, + 0,0,0,0,0,0,0,124,2,100,1,100,2,171,3,0, + 0,0,0,0,0,68,0,93,46,0,0,125,3,116,7,0, + 0,0,0,0,0,0,0,124,0,124,3,100,3,171,3,0, + 0,0,0,0,0,125,4,116,7,0,0,0,0,0,0,0, + 0,124,4,100,4,100,5,171,3,0,0,0,0,0,0,115, + 1,140,30,124,1,106,9,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,3,171,1,0,0,0, + 0,0,0,1,0,140,48,4,0,140,66,4,0,124,0,106, + 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,13,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,68, + 0,93,36,0,0,92,2,0,0,125,3,125,4,116,7,0, + 0,0,0,0,0,0,0,124,4,100,4,100,5,171,3,0, + 0,0,0,0,0,115,1,140,20,124,1,106,9,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 3,171,1,0,0,0,0,0,0,1,0,140,38,4,0,116, + 15,0,0,0,0,0,0,0,0,124,1,171,1,0,0,0, + 0,0,0,124,0,95,8,0,0,0,0,0,0,0,0,124, + 0,83,0,41,6,97,155,2,0,0,82,101,99,97,108,99, + 117,108,97,116,101,32,116,104,101,32,115,101,116,32,111,102, + 32,97,98,115,116,114,97,99,116,32,109,101,116,104,111,100, + 115,32,111,102,32,97,110,32,97,98,115,116,114,97,99,116, + 32,99,108,97,115,115,46,10,10,32,32,32,32,73,102,32, + 97,32,99,108,97,115,115,32,104,97,115,32,104,97,100,32, + 111,110,101,32,111,102,32,105,116,115,32,97,98,115,116,114, + 97,99,116,32,109,101,116,104,111,100,115,32,105,109,112,108, + 101,109,101,110,116,101,100,32,97,102,116,101,114,32,116,104, + 101,10,32,32,32,32,99,108,97,115,115,32,119,97,115,32, + 99,114,101,97,116,101,100,44,32,116,104,101,32,109,101,116, + 104,111,100,32,119,105,108,108,32,110,111,116,32,98,101,32, + 99,111,110,115,105,100,101,114,101,100,32,105,109,112,108,101, + 109,101,110,116,101,100,32,117,110,116,105,108,10,32,32,32, + 32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105, + 115,32,99,97,108,108,101,100,46,32,65,108,116,101,114,110, + 97,116,105,118,101,108,121,44,32,105,102,32,97,32,110,101, + 119,32,97,98,115,116,114,97,99,116,32,109,101,116,104,111, + 100,32,104,97,115,32,98,101,101,110,10,32,32,32,32,97, + 100,100,101,100,32,116,111,32,116,104,101,32,99,108,97,115, + 115,44,32,105,116,32,119,105,108,108,32,111,110,108,121,32, + 98,101,32,99,111,110,115,105,100,101,114,101,100,32,97,110, + 32,97,98,115,116,114,97,99,116,32,109,101,116,104,111,100, + 32,111,102,32,116,104,101,10,32,32,32,32,99,108,97,115, + 115,32,97,102,116,101,114,32,116,104,105,115,32,102,117,110, + 99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,46, + 10,10,32,32,32,32,84,104,105,115,32,102,117,110,99,116, + 105,111,110,32,115,104,111,117,108,100,32,98,101,32,99,97, + 108,108,101,100,32,98,101,102,111,114,101,32,97,110,121,32, + 117,115,101,32,105,115,32,109,97,100,101,32,111,102,32,116, + 104,101,32,99,108,97,115,115,44,10,32,32,32,32,117,115, + 117,97,108,108,121,32,105,110,32,99,108,97,115,115,32,100, + 101,99,111,114,97,116,111,114,115,32,116,104,97,116,32,97, + 100,100,32,109,101,116,104,111,100,115,32,116,111,32,116,104, + 101,32,115,117,98,106,101,99,116,32,99,108,97,115,115,46, + 10,10,32,32,32,32,82,101,116,117,114,110,115,32,99,108, + 115,44,32,116,111,32,97,108,108,111,119,32,117,115,97,103, + 101,32,97,115,32,97,32,99,108,97,115,115,32,100,101,99, + 111,114,97,116,111,114,46,10,10,32,32,32,32,73,102,32, + 99,108,115,32,105,115,32,110,111,116,32,97,110,32,105,110, + 115,116,97,110,99,101,32,111,102,32,65,66,67,77,101,116, + 97,44,32,100,111,101,115,32,110,111,116,104,105,110,103,46, + 10,32,32,32,32,218,19,95,95,97,98,115,116,114,97,99, + 116,109,101,116,104,111,100,115,95,95,114,33,0,0,0,78, + 114,3,0,0,0,70,41,9,218,7,104,97,115,97,116,116, + 114,218,3,115,101,116,218,9,95,95,98,97,115,101,115,95, + 95,218,7,103,101,116,97,116,116,114,218,3,97,100,100,218, + 8,95,95,100,105,99,116,95,95,218,5,105,116,101,109,115, + 218,9,102,114,111,122,101,110,115,101,116,114,80,0,0,0, + 41,5,114,53,0,0,0,218,9,97,98,115,116,114,97,99, + 116,115,218,4,115,99,108,115,114,49,0,0,0,218,5,118, + 97,108,117,101,115,5,0,0,0,32,32,32,32,32,114,5, + 0,0,0,218,22,117,112,100,97,116,101,95,97,98,115,116, + 114,97,99,116,109,101,116,104,111,100,115,114,92,0,0,0, + 146,0,0,0,115,193,0,0,0,128,0,244,32,0,12,19, + 144,51,208,24,45,212,11,46,240,8,0,16,19,136,10,228, + 16,19,147,5,128,73,240,6,0,17,20,151,13,145,13,242, + 0,4,5,36,136,4,220,20,27,152,68,208,34,55,184,18, + 211,20,60,242,0,3,9,36,136,68,220,20,27,152,67,160, + 20,160,116,211,20,44,136,69,220,15,22,144,117,208,30,52, + 176,101,213,15,60,216,16,25,151,13,145,13,152,100,213,16, + 35,241,7,3,9,36,240,3,4,5,36,240,12,0,24,27, + 151,124,145,124,215,23,41,209,23,41,211,23,43,242,0,2, + 5,32,137,11,136,4,136,101,220,11,18,144,53,208,26,48, + 176,37,213,11,56,216,12,21,143,77,137,77,152,36,213,12, + 31,240,5,2,5,32,244,6,0,31,40,168,9,211,30,50, + 128,67,212,4,27,216,11,14,128,74,114,7,0,0,0,99, + 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 0,0,0,0,243,20,0,0,0,151,0,101,0,90,1,100, + 0,90,2,100,1,90,3,100,2,90,4,121,3,41,4,218, + 3,65,66,67,122,86,72,101,108,112,101,114,32,99,108,97, + 115,115,32,116,104,97,116,32,112,114,111,118,105,100,101,115, + 32,97,32,115,116,97,110,100,97,114,100,32,119,97,121,32, + 116,111,32,99,114,101,97,116,101,32,97,110,32,65,66,67, + 32,117,115,105,110,103,10,32,32,32,32,105,110,104,101,114, + 105,116,97,110,99,101,46,10,32,32,32,32,114,33,0,0, + 0,78,41,5,114,21,0,0,0,114,22,0,0,0,114,23, + 0,0,0,114,24,0,0,0,218,9,95,95,115,108,111,116, + 115,95,95,114,33,0,0,0,114,7,0,0,0,114,5,0, + 0,0,114,94,0,0,0,114,94,0,0,0,184,0,0,0, + 115,14,0,0,0,132,0,241,2,2,5,8,240,6,0,17, + 19,129,73,114,7,0,0,0,114,94,0,0,0,41,1,218, + 9,109,101,116,97,99,108,97,115,115,78,41,24,114,24,0, + 0,0,114,6,0,0,0,218,11,99,108,97,115,115,109,101, + 116,104,111,100,114,9,0,0,0,218,12,115,116,97,116,105, + 99,109,101,116,104,111,100,114,29,0,0,0,218,8,112,114, + 111,112,101,114,116,121,114,32,0,0,0,218,4,95,97,98, + 99,114,35,0,0,0,114,36,0,0,0,114,37,0,0,0, + 114,38,0,0,0,114,39,0,0,0,114,40,0,0,0,114, + 41,0,0,0,114,42,0,0,0,218,4,116,121,112,101,114, + 44,0,0,0,218,11,73,109,112,111,114,116,69,114,114,111, + 114,218,7,95,112,121,95,97,98,99,114,22,0,0,0,114, + 92,0,0,0,114,94,0,0,0,114,33,0,0,0,114,7, + 0,0,0,114,5,0,0,0,250,8,60,109,111,100,117,108, + 101,62,114,104,0,0,0,1,0,0,0,115,131,0,0,0, + 240,3,1,1,1,241,8,0,1,58,242,6,18,1,19,244, + 42,17,1,35,152,43,244,0,17,1,35,244,40,17,1,35, + 152,60,244,0,17,1,35,244,40,13,1,32,144,120,244,0, + 13,1,32,240,32,59,1,31,247,2,2,5,54,247,0,2, + 5,54,243,0,2,5,54,244,14,51,5,31,144,36,244,0, + 51,5,31,242,108,1,35,1,15,244,76,1,4,1,19,144, + 71,246,0,4,1,19,248,240,65,3,0,8,19,242,0,2, + 1,31,223,4,48,216,25,30,128,71,214,4,22,240,5,2, + 1,31,250,115,17,0,0,0,168,20,65,23,0,193,23,20, + 65,46,3,193,45,1,65,46,3, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/codecs.h b/contrib/tools/python3/src/Python/frozen_modules/codecs.h new file mode 100644 index 00000000000..ad126ebe86f --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/codecs.h @@ -0,0 +1,2644 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__codecs[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,0,0,0,0,243,136,2,0,0,151,0,100,0,90,0, + 100,1,100,2,108,1,90,1,100,1,100,2,108,2,90,2, + 9,0,100,1,100,3,108,3,173,2,1,0,103,0,100,5, + 162,1,90,7,100,6,90,8,100,7,120,1,90,9,90,10, + 100,8,120,1,90,11,90,12,100,9,90,13,100,10,90,14, + 101,2,106,30,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,11,107,40,0,0,114,7,101,10, + 120,1,90,16,90,17,101,13,90,18,110,6,101,12,120,1, + 90,16,90,17,101,14,90,18,101,10,90,19,101,12,90,20, + 101,13,90,21,101,14,90,22,2,0,71,0,100,12,132,0, + 100,13,101,23,171,3,0,0,0,0,0,0,90,24,2,0, + 71,0,100,14,132,0,100,15,171,2,0,0,0,0,0,0, + 90,25,2,0,71,0,100,16,132,0,100,17,101,26,171,3, + 0,0,0,0,0,0,90,27,2,0,71,0,100,18,132,0, + 100,19,101,27,171,3,0,0,0,0,0,0,90,28,2,0, + 71,0,100,20,132,0,100,21,101,26,171,3,0,0,0,0, + 0,0,90,29,2,0,71,0,100,22,132,0,100,23,101,29, + 171,3,0,0,0,0,0,0,90,30,2,0,71,0,100,24, + 132,0,100,25,101,25,171,3,0,0,0,0,0,0,90,31, + 2,0,71,0,100,26,132,0,100,27,101,25,171,3,0,0, + 0,0,0,0,90,32,2,0,71,0,100,28,132,0,100,29, + 171,2,0,0,0,0,0,0,90,33,2,0,71,0,100,30, + 132,0,100,31,171,2,0,0,0,0,0,0,90,34,100,50, + 100,33,132,1,90,35,100,51,100,34,132,1,90,36,100,35, + 132,0,90,37,100,36,132,0,90,38,100,37,132,0,90,39, + 100,38,132,0,90,40,100,39,132,0,90,41,100,40,132,0, + 90,42,100,52,100,41,132,1,90,43,100,52,100,42,132,1, + 90,44,100,43,132,0,90,45,100,44,132,0,90,46,9,0, + 2,0,101,47,100,32,171,1,0,0,0,0,0,0,90,48, + 2,0,101,47,100,45,171,1,0,0,0,0,0,0,90,49, + 2,0,101,47,100,46,171,1,0,0,0,0,0,0,90,50, + 2,0,101,47,100,47,171,1,0,0,0,0,0,0,90,51, + 2,0,101,47,100,48,171,1,0,0,0,0,0,0,90,52, + 2,0,101,47,100,49,171,1,0,0,0,0,0,0,90,53, + 100,1,90,55,101,55,114,5,100,1,100,2,108,56,90,56, + 121,2,121,2,35,0,101,4,36,0,114,16,90,5,2,0, + 101,6,100,4,101,5,122,6,0,0,171,1,0,0,0,0, + 0,0,130,1,100,2,90,5,91,5,119,1,119,0,120,3, + 89,0,119,1,35,0,101,54,36,0,114,15,1,0,100,2, + 90,48,100,2,90,49,100,2,90,50,100,2,90,51,100,2, + 90,52,100,2,90,53,89,0,140,53,119,0,120,3,89,0, + 119,1,41,53,122,158,32,99,111,100,101,99,115,32,45,45, + 32,80,121,116,104,111,110,32,67,111,100,101,99,32,82,101, + 103,105,115,116,114,121,44,32,65,80,73,32,97,110,100,32, + 104,101,108,112,101,114,115,46,10,10,10,87,114,105,116,116, + 101,110,32,98,121,32,77,97,114,99,45,65,110,100,114,101, + 32,76,101,109,98,117,114,103,32,40,109,97,108,64,108,101, + 109,98,117,114,103,46,99,111,109,41,46,10,10,40,99,41, + 32,67,111,112,121,114,105,103,104,116,32,67,78,82,73,44, + 32,65,108,108,32,82,105,103,104,116,115,32,82,101,115,101, + 114,118,101,100,46,32,78,79,32,87,65,82,82,65,78,84, + 89,46,10,10,233,0,0,0,0,78,41,1,218,1,42,122, + 37,70,97,105,108,101,100,32,116,111,32,108,111,97,100,32, + 116,104,101,32,98,117,105,108,116,105,110,32,99,111,100,101, + 99,115,58,32,37,115,41,44,218,8,114,101,103,105,115,116, + 101,114,218,6,108,111,111,107,117,112,218,4,111,112,101,110, + 218,11,69,110,99,111,100,101,100,70,105,108,101,218,3,66, + 79,77,218,6,66,79,77,95,66,69,218,6,66,79,77,95, + 76,69,218,8,66,79,77,51,50,95,66,69,218,8,66,79, + 77,51,50,95,76,69,218,8,66,79,77,54,52,95,66,69, + 218,8,66,79,77,54,52,95,76,69,218,8,66,79,77,95, + 85,84,70,56,218,9,66,79,77,95,85,84,70,49,54,218, + 12,66,79,77,95,85,84,70,49,54,95,76,69,218,12,66, + 79,77,95,85,84,70,49,54,95,66,69,218,9,66,79,77, + 95,85,84,70,51,50,218,12,66,79,77,95,85,84,70,51, + 50,95,76,69,218,12,66,79,77,95,85,84,70,51,50,95, + 66,69,218,9,67,111,100,101,99,73,110,102,111,218,5,67, + 111,100,101,99,218,18,73,110,99,114,101,109,101,110,116,97, + 108,69,110,99,111,100,101,114,218,18,73,110,99,114,101,109, + 101,110,116,97,108,68,101,99,111,100,101,114,218,12,83,116, + 114,101,97,109,82,101,97,100,101,114,218,12,83,116,114,101, + 97,109,87,114,105,116,101,114,218,18,83,116,114,101,97,109, + 82,101,97,100,101,114,87,114,105,116,101,114,218,13,83,116, + 114,101,97,109,82,101,99,111,100,101,114,218,10,103,101,116, + 101,110,99,111,100,101,114,218,10,103,101,116,100,101,99,111, + 100,101,114,218,21,103,101,116,105,110,99,114,101,109,101,110, + 116,97,108,101,110,99,111,100,101,114,218,21,103,101,116,105, + 110,99,114,101,109,101,110,116,97,108,100,101,99,111,100,101, + 114,218,9,103,101,116,114,101,97,100,101,114,218,9,103,101, + 116,119,114,105,116,101,114,218,6,101,110,99,111,100,101,218, + 6,100,101,99,111,100,101,218,10,105,116,101,114,101,110,99, + 111,100,101,218,10,105,116,101,114,100,101,99,111,100,101,218, + 13,115,116,114,105,99,116,95,101,114,114,111,114,115,218,13, + 105,103,110,111,114,101,95,101,114,114,111,114,115,218,14,114, + 101,112,108,97,99,101,95,101,114,114,111,114,115,218,24,120, + 109,108,99,104,97,114,114,101,102,114,101,112,108,97,99,101, + 95,101,114,114,111,114,115,218,23,98,97,99,107,115,108,97, + 115,104,114,101,112,108,97,99,101,95,101,114,114,111,114,115, + 218,18,110,97,109,101,114,101,112,108,97,99,101,95,101,114, + 114,111,114,115,218,14,114,101,103,105,115,116,101,114,95,101, + 114,114,111,114,218,12,108,111,111,107,117,112,95,101,114,114, + 111,114,115,3,0,0,0,239,187,191,115,2,0,0,0,255, + 254,115,2,0,0,0,254,255,115,4,0,0,0,255,254,0, + 0,115,4,0,0,0,0,0,254,255,218,6,108,105,116,116, + 108,101,99,0,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,0,0,0,0,243,44,0,0,0,151,0,101,0, + 90,1,100,0,90,2,100,1,90,3,100,2,90,4,9,0, + 9,0,100,7,100,3,100,4,156,1,100,5,132,3,90,5, + 100,6,132,0,90,6,121,3,41,8,114,22,0,0,0,122, + 48,67,111,100,101,99,32,100,101,116,97,105,108,115,32,119, + 104,101,110,32,108,111,111,107,105,110,103,32,117,112,32,116, + 104,101,32,99,111,100,101,99,32,114,101,103,105,115,116,114, + 121,84,78,41,1,218,17,95,105,115,95,116,101,120,116,95, + 101,110,99,111,100,105,110,103,99,8,0,0,0,0,0,0, + 0,1,0,0,0,7,0,0,0,3,0,0,0,243,174,0, + 0,0,151,0,116,0,0,0,0,0,0,0,0,0,106,3, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,124,1,124,2,124,3,124,4,102,4,171,2, + 0,0,0,0,0,0,125,9,124,7,124,9,95,2,0,0, + 0,0,0,0,0,0,124,1,124,9,95,3,0,0,0,0, + 0,0,0,0,124,2,124,9,95,4,0,0,0,0,0,0, + 0,0,124,5,124,9,95,5,0,0,0,0,0,0,0,0, + 124,6,124,9,95,6,0,0,0,0,0,0,0,0,124,4, + 124,9,95,7,0,0,0,0,0,0,0,0,124,3,124,9, + 95,8,0,0,0,0,0,0,0,0,124,8,129,7,124,8, + 124,9,95,9,0,0,0,0,0,0,0,0,124,9,83,0, + 169,1,78,41,10,218,5,116,117,112,108,101,218,7,95,95, + 110,101,119,95,95,218,4,110,97,109,101,114,36,0,0,0, + 114,37,0,0,0,218,18,105,110,99,114,101,109,101,110,116, + 97,108,101,110,99,111,100,101,114,218,18,105,110,99,114,101, + 109,101,110,116,97,108,100,101,99,111,100,101,114,218,12,115, + 116,114,101,97,109,119,114,105,116,101,114,218,12,115,116,114, + 101,97,109,114,101,97,100,101,114,114,50,0,0,0,41,10, + 218,3,99,108,115,114,36,0,0,0,114,37,0,0,0,114, + 59,0,0,0,114,58,0,0,0,114,56,0,0,0,114,57, + 0,0,0,114,55,0,0,0,114,50,0,0,0,218,4,115, + 101,108,102,115,10,0,0,0,32,32,32,32,32,32,32,32, + 32,32,250,15,60,102,114,111,122,101,110,32,99,111,100,101, + 99,115,62,114,54,0,0,0,122,17,67,111,100,101,99,73, + 110,102,111,46,95,95,110,101,119,95,95,94,0,0,0,115, + 101,0,0,0,128,0,244,6,0,16,21,143,125,137,125,152, + 83,160,54,168,54,176,60,192,28,208,34,78,211,15,79,136, + 4,216,20,24,136,4,140,9,216,22,28,136,4,140,11,216, + 22,28,136,4,140,11,216,34,52,136,4,212,8,31,216,34, + 52,136,4,212,8,31,216,28,40,136,4,212,8,25,216,28, + 40,136,4,212,8,25,216,11,28,208,11,40,216,37,54,136, + 68,212,12,34,216,15,19,136,11,243,0,0,0,0,99,1, + 0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,3, + 0,0,0,243,138,0,0,0,151,0,100,1,124,0,106,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,0,106,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,4,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,106,6,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,116,9,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,102,4,122,6,0,0, + 83,0,41,2,78,122,37,60,37,115,46,37,115,32,111,98, + 106,101,99,116,32,102,111,114,32,101,110,99,111,100,105,110, + 103,32,37,115,32,97,116,32,37,35,120,62,41,5,218,9, + 95,95,99,108,97,115,115,95,95,218,10,95,95,109,111,100, + 117,108,101,95,95,218,12,95,95,113,117,97,108,110,97,109, + 101,95,95,114,55,0,0,0,218,2,105,100,169,1,114,61, + 0,0,0,115,1,0,0,0,32,114,62,0,0,0,218,8, + 95,95,114,101,112,114,95,95,122,18,67,111,100,101,99,73, + 110,102,111,46,95,95,114,101,112,114,95,95,109,0,0,0, + 115,58,0,0,0,128,0,216,15,54,216,17,21,151,30,145, + 30,215,17,42,209,17,42,168,68,175,78,169,78,215,44,71, + 209,44,71,216,17,21,151,25,145,25,156,66,152,116,155,72, + 240,3,1,17,38,241,3,2,16,38,240,0,2,9,38,114, + 63,0,0,0,41,5,78,78,78,78,78,41,7,218,8,95, + 95,110,97,109,101,95,95,114,66,0,0,0,114,67,0,0, + 0,218,7,95,95,100,111,99,95,95,114,50,0,0,0,114, + 54,0,0,0,114,70,0,0,0,169,0,114,63,0,0,0, + 114,62,0,0,0,114,22,0,0,0,114,22,0,0,0,83, + 0,0,0,115,37,0,0,0,132,0,217,4,58,240,16,0, + 25,29,208,4,21,224,69,73,216,63,67,240,3,13,5,20, + 224,29,33,244,5,13,5,20,243,30,3,5,38,114,63,0, + 0,0,114,22,0,0,0,99,0,0,0,0,0,0,0,0, + 0,0,0,0,2,0,0,0,0,0,0,0,243,32,0,0, + 0,151,0,101,0,90,1,100,0,90,2,100,1,90,3,100, + 5,100,2,132,1,90,4,100,5,100,3,132,1,90,5,121, + 4,41,6,114,23,0,0,0,97,57,4,0,0,32,68,101, + 102,105,110,101,115,32,116,104,101,32,105,110,116,101,114,102, + 97,99,101,32,102,111,114,32,115,116,97,116,101,108,101,115, + 115,32,101,110,99,111,100,101,114,115,47,100,101,99,111,100, + 101,114,115,46,10,10,32,32,32,32,32,32,32,32,84,104, + 101,32,46,101,110,99,111,100,101,40,41,47,46,100,101,99, + 111,100,101,40,41,32,109,101,116,104,111,100,115,32,109,97, + 121,32,117,115,101,32,100,105,102,102,101,114,101,110,116,32, + 101,114,114,111,114,10,32,32,32,32,32,32,32,32,104,97, + 110,100,108,105,110,103,32,115,99,104,101,109,101,115,32,98, + 121,32,112,114,111,118,105,100,105,110,103,32,116,104,101,32, + 101,114,114,111,114,115,32,97,114,103,117,109,101,110,116,46, + 32,84,104,101,115,101,10,32,32,32,32,32,32,32,32,115, + 116,114,105,110,103,32,118,97,108,117,101,115,32,97,114,101, + 32,112,114,101,100,101,102,105,110,101,100,58,10,10,32,32, + 32,32,32,32,32,32,32,39,115,116,114,105,99,116,39,32, + 45,32,114,97,105,115,101,32,97,32,86,97,108,117,101,69, + 114,114,111,114,32,101,114,114,111,114,32,40,111,114,32,97, + 32,115,117,98,99,108,97,115,115,41,10,32,32,32,32,32, + 32,32,32,32,39,105,103,110,111,114,101,39,32,45,32,105, + 103,110,111,114,101,32,116,104,101,32,99,104,97,114,97,99, + 116,101,114,32,97,110,100,32,99,111,110,116,105,110,117,101, + 32,119,105,116,104,32,116,104,101,32,110,101,120,116,10,32, + 32,32,32,32,32,32,32,32,39,114,101,112,108,97,99,101, + 39,32,45,32,114,101,112,108,97,99,101,32,119,105,116,104, + 32,97,32,115,117,105,116,97,98,108,101,32,114,101,112,108, + 97,99,101,109,101,110,116,32,99,104,97,114,97,99,116,101, + 114,59,10,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,80,121,116,104,111,110,32,119,105, + 108,108,32,117,115,101,32,116,104,101,32,111,102,102,105,99, + 105,97,108,32,85,43,70,70,70,68,32,82,69,80,76,65, + 67,69,77,69,78,84,10,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,67,72,65,82,65, + 67,84,69,82,32,102,111,114,32,116,104,101,32,98,117,105, + 108,116,105,110,32,85,110,105,99,111,100,101,32,99,111,100, + 101,99,115,32,111,110,10,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,100,101,99,111,100, + 105,110,103,32,97,110,100,32,39,63,39,32,111,110,32,101, + 110,99,111,100,105,110,103,46,10,32,32,32,32,32,32,32, + 32,32,39,115,117,114,114,111,103,97,116,101,101,115,99,97, + 112,101,39,32,45,32,114,101,112,108,97,99,101,32,119,105, + 116,104,32,112,114,105,118,97,116,101,32,99,111,100,101,32, + 112,111,105,110,116,115,32,85,43,68,67,110,110,46,10,32, + 32,32,32,32,32,32,32,32,39,120,109,108,99,104,97,114, + 114,101,102,114,101,112,108,97,99,101,39,32,45,32,82,101, + 112,108,97,99,101,32,119,105,116,104,32,116,104,101,32,97, + 112,112,114,111,112,114,105,97,116,101,32,88,77,76,10,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,99,104, + 97,114,97,99,116,101,114,32,114,101,102,101,114,101,110,99, + 101,32,40,111,110,108,121,32,102,111,114,32,101,110,99,111, + 100,105,110,103,41,46,10,32,32,32,32,32,32,32,32,32, + 39,98,97,99,107,115,108,97,115,104,114,101,112,108,97,99, + 101,39,32,32,45,32,82,101,112,108,97,99,101,32,119,105, + 116,104,32,98,97,99,107,115,108,97,115,104,101,100,32,101, + 115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,46, + 10,32,32,32,32,32,32,32,32,32,39,110,97,109,101,114, + 101,112,108,97,99,101,39,32,32,32,32,32,32,32,45,32, + 82,101,112,108,97,99,101,32,119,105,116,104,32,92,78,123, + 46,46,46,125,32,101,115,99,97,112,101,32,115,101,113,117, + 101,110,99,101,115,10,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,40,111,110,108,121,32,102,111,114,32,101, + 110,99,111,100,105,110,103,41,46,10,10,32,32,32,32,32, + 32,32,32,84,104,101,32,115,101,116,32,111,102,32,97,108, + 108,111,119,101,100,32,118,97,108,117,101,115,32,99,97,110, + 32,98,101,32,101,120,116,101,110,100,101,100,32,118,105,97, + 32,114,101,103,105,115,116,101,114,95,101,114,114,111,114,46, + 10,10,32,32,32,32,99,3,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,3,0,0,0,243,14,0,0,0, + 151,0,116,0,0,0,0,0,0,0,0,0,130,1,41,1, + 97,35,2,0,0,32,69,110,99,111,100,101,115,32,116,104, + 101,32,111,98,106,101,99,116,32,105,110,112,117,116,32,97, + 110,100,32,114,101,116,117,114,110,115,32,97,32,116,117,112, + 108,101,32,40,111,117,116,112,117,116,10,32,32,32,32,32, + 32,32,32,32,32,32,32,111,98,106,101,99,116,44,32,108, + 101,110,103,116,104,32,99,111,110,115,117,109,101,100,41,46, + 10,10,32,32,32,32,32,32,32,32,32,32,32,32,101,114, + 114,111,114,115,32,100,101,102,105,110,101,115,32,116,104,101, + 32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,32, + 116,111,32,97,112,112,108,121,46,32,73,116,32,100,101,102, + 97,117,108,116,115,32,116,111,10,32,32,32,32,32,32,32, + 32,32,32,32,32,39,115,116,114,105,99,116,39,32,104,97, + 110,100,108,105,110,103,46,10,10,32,32,32,32,32,32,32, + 32,32,32,32,32,84,104,101,32,109,101,116,104,111,100,32, + 109,97,121,32,110,111,116,32,115,116,111,114,101,32,115,116, + 97,116,101,32,105,110,32,116,104,101,32,67,111,100,101,99, + 32,105,110,115,116,97,110,99,101,46,32,85,115,101,10,32, + 32,32,32,32,32,32,32,32,32,32,32,83,116,114,101,97, + 109,87,114,105,116,101,114,32,102,111,114,32,99,111,100,101, + 99,115,32,119,104,105,99,104,32,104,97,118,101,32,116,111, + 32,107,101,101,112,32,115,116,97,116,101,32,105,110,32,111, + 114,100,101,114,32,116,111,10,32,32,32,32,32,32,32,32, + 32,32,32,32,109,97,107,101,32,101,110,99,111,100,105,110, + 103,32,101,102,102,105,99,105,101,110,116,46,10,10,32,32, + 32,32,32,32,32,32,32,32,32,32,84,104,101,32,101,110, + 99,111,100,101,114,32,109,117,115,116,32,98,101,32,97,98, + 108,101,32,116,111,32,104,97,110,100,108,101,32,122,101,114, + 111,32,108,101,110,103,116,104,32,105,110,112,117,116,32,97, + 110,100,10,32,32,32,32,32,32,32,32,32,32,32,32,114, + 101,116,117,114,110,32,97,110,32,101,109,112,116,121,32,111, + 98,106,101,99,116,32,111,102,32,116,104,101,32,111,117,116, + 112,117,116,32,111,98,106,101,99,116,32,116,121,112,101,32, + 105,110,32,116,104,105,115,10,32,32,32,32,32,32,32,32, + 32,32,32,32,115,105,116,117,97,116,105,111,110,46,10,10, + 32,32,32,32,32,32,32,32,169,1,218,19,78,111,116,73, + 109,112,108,101,109,101,110,116,101,100,69,114,114,111,114,169, + 3,114,61,0,0,0,218,5,105,110,112,117,116,218,6,101, + 114,114,111,114,115,115,3,0,0,0,32,32,32,114,62,0, + 0,0,114,36,0,0,0,122,12,67,111,100,101,99,46,101, + 110,99,111,100,101,138,0,0,0,115,10,0,0,0,128,0, + 244,34,0,15,34,208,8,33,114,63,0,0,0,99,3,0, + 0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0, + 0,0,243,14,0,0,0,151,0,116,0,0,0,0,0,0, + 0,0,0,130,1,41,1,97,242,2,0,0,32,68,101,99, + 111,100,101,115,32,116,104,101,32,111,98,106,101,99,116,32, + 105,110,112,117,116,32,97,110,100,32,114,101,116,117,114,110, + 115,32,97,32,116,117,112,108,101,32,40,111,117,116,112,117, + 116,10,32,32,32,32,32,32,32,32,32,32,32,32,111,98, + 106,101,99,116,44,32,108,101,110,103,116,104,32,99,111,110, + 115,117,109,101,100,41,46,10,10,32,32,32,32,32,32,32, + 32,32,32,32,32,105,110,112,117,116,32,109,117,115,116,32, + 98,101,32,97,110,32,111,98,106,101,99,116,32,119,104,105, + 99,104,32,112,114,111,118,105,100,101,115,32,116,104,101,32, + 98,102,95,103,101,116,114,101,97,100,98,117,102,10,32,32, + 32,32,32,32,32,32,32,32,32,32,98,117,102,102,101,114, + 32,115,108,111,116,46,32,80,121,116,104,111,110,32,115,116, + 114,105,110,103,115,44,32,98,117,102,102,101,114,32,111,98, + 106,101,99,116,115,32,97,110,100,32,109,101,109,111,114,121, + 10,32,32,32,32,32,32,32,32,32,32,32,32,109,97,112, + 112,101,100,32,102,105,108,101,115,32,97,114,101,32,101,120, + 97,109,112,108,101,115,32,111,102,32,111,98,106,101,99,116, + 115,32,112,114,111,118,105,100,105,110,103,32,116,104,105,115, + 32,115,108,111,116,46,10,10,32,32,32,32,32,32,32,32, + 32,32,32,32,101,114,114,111,114,115,32,100,101,102,105,110, + 101,115,32,116,104,101,32,101,114,114,111,114,32,104,97,110, + 100,108,105,110,103,32,116,111,32,97,112,112,108,121,46,32, + 73,116,32,100,101,102,97,117,108,116,115,32,116,111,10,32, + 32,32,32,32,32,32,32,32,32,32,32,39,115,116,114,105, + 99,116,39,32,104,97,110,100,108,105,110,103,46,10,10,32, + 32,32,32,32,32,32,32,32,32,32,32,84,104,101,32,109, + 101,116,104,111,100,32,109,97,121,32,110,111,116,32,115,116, + 111,114,101,32,115,116,97,116,101,32,105,110,32,116,104,101, + 32,67,111,100,101,99,32,105,110,115,116,97,110,99,101,46, + 32,85,115,101,10,32,32,32,32,32,32,32,32,32,32,32, + 32,83,116,114,101,97,109,82,101,97,100,101,114,32,102,111, + 114,32,99,111,100,101,99,115,32,119,104,105,99,104,32,104, + 97,118,101,32,116,111,32,107,101,101,112,32,115,116,97,116, + 101,32,105,110,32,111,114,100,101,114,32,116,111,10,32,32, + 32,32,32,32,32,32,32,32,32,32,109,97,107,101,32,100, + 101,99,111,100,105,110,103,32,101,102,102,105,99,105,101,110, + 116,46,10,10,32,32,32,32,32,32,32,32,32,32,32,32, + 84,104,101,32,100,101,99,111,100,101,114,32,109,117,115,116, + 32,98,101,32,97,98,108,101,32,116,111,32,104,97,110,100, + 108,101,32,122,101,114,111,32,108,101,110,103,116,104,32,105, + 110,112,117,116,32,97,110,100,10,32,32,32,32,32,32,32, + 32,32,32,32,32,114,101,116,117,114,110,32,97,110,32,101, + 109,112,116,121,32,111,98,106,101,99,116,32,111,102,32,116, + 104,101,32,111,117,116,112,117,116,32,111,98,106,101,99,116, + 32,116,121,112,101,32,105,110,32,116,104,105,115,10,32,32, + 32,32,32,32,32,32,32,32,32,32,115,105,116,117,97,116, + 105,111,110,46,10,10,32,32,32,32,32,32,32,32,114,76, + 0,0,0,114,78,0,0,0,115,3,0,0,0,32,32,32, + 114,62,0,0,0,114,37,0,0,0,122,12,67,111,100,101, + 99,46,100,101,99,111,100,101,157,0,0,0,115,10,0,0, + 0,128,0,244,42,0,15,34,208,8,33,114,63,0,0,0, + 78,169,1,218,6,115,116,114,105,99,116,41,6,114,71,0, + 0,0,114,66,0,0,0,114,67,0,0,0,114,72,0,0, + 0,114,36,0,0,0,114,37,0,0,0,114,73,0,0,0, + 114,63,0,0,0,114,62,0,0,0,114,23,0,0,0,114, + 23,0,0,0,114,0,0,0,115,17,0,0,0,132,0,241, + 4,21,5,8,243,44,17,5,34,244,38,21,5,34,114,63, + 0,0,0,114,23,0,0,0,99,0,0,0,0,0,0,0, + 0,0,0,0,0,2,0,0,0,0,0,0,0,243,50,0, + 0,0,151,0,101,0,90,1,100,0,90,2,100,1,90,3, + 100,8,100,2,132,1,90,4,100,9,100,3,132,1,90,5, + 100,4,132,0,90,6,100,5,132,0,90,7,100,6,132,0, + 90,8,121,7,41,10,114,24,0,0,0,122,232,10,32,32, + 32,32,65,110,32,73,110,99,114,101,109,101,110,116,97,108, + 69,110,99,111,100,101,114,32,101,110,99,111,100,101,115,32, + 97,110,32,105,110,112,117,116,32,105,110,32,109,117,108,116, + 105,112,108,101,32,115,116,101,112,115,46,32,84,104,101,32, + 105,110,112,117,116,32,99,97,110,10,32,32,32,32,98,101, + 32,112,97,115,115,101,100,32,112,105,101,99,101,32,98,121, + 32,112,105,101,99,101,32,116,111,32,116,104,101,32,101,110, + 99,111,100,101,40,41,32,109,101,116,104,111,100,46,32,84, + 104,101,32,73,110,99,114,101,109,101,110,116,97,108,69,110, + 99,111,100,101,114,10,32,32,32,32,114,101,109,101,109,98, + 101,114,115,32,116,104,101,32,115,116,97,116,101,32,111,102, + 32,116,104,101,32,101,110,99,111,100,105,110,103,32,112,114, + 111,99,101,115,115,32,98,101,116,119,101,101,110,32,99,97, + 108,108,115,32,116,111,32,101,110,99,111,100,101,40,41,46, + 10,32,32,32,32,99,2,0,0,0,0,0,0,0,0,0, + 0,0,2,0,0,0,3,0,0,0,243,32,0,0,0,151, + 0,124,1,124,0,95,0,0,0,0,0,0,0,0,0,100, + 1,124,0,95,1,0,0,0,0,0,0,0,0,121,2,41, + 3,122,244,10,32,32,32,32,32,32,32,32,67,114,101,97, + 116,101,115,32,97,110,32,73,110,99,114,101,109,101,110,116, + 97,108,69,110,99,111,100,101,114,32,105,110,115,116,97,110, + 99,101,46,10,10,32,32,32,32,32,32,32,32,84,104,101, + 32,73,110,99,114,101,109,101,110,116,97,108,69,110,99,111, + 100,101,114,32,109,97,121,32,117,115,101,32,100,105,102,102, + 101,114,101,110,116,32,101,114,114,111,114,32,104,97,110,100, + 108,105,110,103,32,115,99,104,101,109,101,115,32,98,121,10, + 32,32,32,32,32,32,32,32,112,114,111,118,105,100,105,110, + 103,32,116,104,101,32,101,114,114,111,114,115,32,107,101,121, + 119,111,114,100,32,97,114,103,117,109,101,110,116,46,32,83, + 101,101,32,116,104,101,32,109,111,100,117,108,101,32,100,111, + 99,115,116,114,105,110,103,10,32,32,32,32,32,32,32,32, + 102,111,114,32,97,32,108,105,115,116,32,111,102,32,112,111, + 115,115,105,98,108,101,32,118,97,108,117,101,115,46,10,32, + 32,32,32,32,32,32,32,218,0,78,41,2,114,80,0,0, + 0,218,6,98,117,102,102,101,114,169,2,114,61,0,0,0, + 114,80,0,0,0,115,2,0,0,0,32,32,114,62,0,0, + 0,218,8,95,95,105,110,105,116,95,95,122,27,73,110,99, + 114,101,109,101,110,116,97,108,69,110,99,111,100,101,114,46, + 95,95,105,110,105,116,95,95,186,0,0,0,115,18,0,0, + 0,128,0,240,16,0,23,29,136,4,140,11,216,22,24,136, + 4,141,11,114,63,0,0,0,99,3,0,0,0,0,0,0, + 0,0,0,0,0,1,0,0,0,3,0,0,0,243,14,0, + 0,0,151,0,116,0,0,0,0,0,0,0,0,0,130,1, + 41,1,122,65,10,32,32,32,32,32,32,32,32,69,110,99, + 111,100,101,115,32,105,110,112,117,116,32,97,110,100,32,114, + 101,116,117,114,110,115,32,116,104,101,32,114,101,115,117,108, + 116,105,110,103,32,111,98,106,101,99,116,46,10,32,32,32, + 32,32,32,32,32,114,76,0,0,0,169,3,114,61,0,0, + 0,114,79,0,0,0,218,5,102,105,110,97,108,115,3,0, + 0,0,32,32,32,114,62,0,0,0,114,36,0,0,0,122, + 25,73,110,99,114,101,109,101,110,116,97,108,69,110,99,111, + 100,101,114,46,101,110,99,111,100,101,197,0,0,0,243,10, + 0,0,0,128,0,244,8,0,15,34,208,8,33,114,63,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,3,0,0,0,243,4,0,0,0,151,0,121,1, + 41,2,122,58,10,32,32,32,32,32,32,32,32,82,101,115, + 101,116,115,32,116,104,101,32,101,110,99,111,100,101,114,32, + 116,111,32,116,104,101,32,105,110,105,116,105,97,108,32,115, + 116,97,116,101,46,10,32,32,32,32,32,32,32,32,78,114, + 73,0,0,0,114,69,0,0,0,115,1,0,0,0,32,114, + 62,0,0,0,218,5,114,101,115,101,116,122,24,73,110,99, + 114,101,109,101,110,116,97,108,69,110,99,111,100,101,114,46, + 114,101,115,101,116,203,0,0,0,243,2,0,0,0,129,0, + 114,63,0,0,0,99,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,3,0,0,0,243,4,0,0,0,151, + 0,121,1,41,2,122,58,10,32,32,32,32,32,32,32,32, + 82,101,116,117,114,110,32,116,104,101,32,99,117,114,114,101, + 110,116,32,115,116,97,116,101,32,111,102,32,116,104,101,32, + 101,110,99,111,100,101,114,46,10,32,32,32,32,32,32,32, + 32,114,2,0,0,0,114,73,0,0,0,114,69,0,0,0, + 115,1,0,0,0,32,114,62,0,0,0,218,8,103,101,116, + 115,116,97,116,101,122,27,73,110,99,114,101,109,101,110,116, + 97,108,69,110,99,111,100,101,114,46,103,101,116,115,116,97, + 116,101,208,0,0,0,115,7,0,0,0,128,0,240,8,0, + 16,17,114,63,0,0,0,99,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,243,4,0,0, + 0,151,0,121,1,41,2,122,108,10,32,32,32,32,32,32, + 32,32,83,101,116,32,116,104,101,32,99,117,114,114,101,110, + 116,32,115,116,97,116,101,32,111,102,32,116,104,101,32,101, + 110,99,111,100,101,114,46,32,115,116,97,116,101,32,109,117, + 115,116,32,104,97,118,101,32,98,101,101,110,10,32,32,32, + 32,32,32,32,32,114,101,116,117,114,110,101,100,32,98,121, + 32,103,101,116,115,116,97,116,101,40,41,46,10,32,32,32, + 32,32,32,32,32,78,114,73,0,0,0,169,2,114,61,0, + 0,0,218,5,115,116,97,116,101,115,2,0,0,0,32,32, + 114,62,0,0,0,218,8,115,101,116,115,116,97,116,101,122, + 27,73,110,99,114,101,109,101,110,116,97,108,69,110,99,111, + 100,101,114,46,115,101,116,115,116,97,116,101,214,0,0,0, + 114,96,0,0,0,114,63,0,0,0,78,114,82,0,0,0, + 169,1,70,41,9,114,71,0,0,0,114,66,0,0,0,114, + 67,0,0,0,114,72,0,0,0,114,89,0,0,0,114,36, + 0,0,0,114,95,0,0,0,114,98,0,0,0,114,102,0, + 0,0,114,73,0,0,0,114,63,0,0,0,114,62,0,0, + 0,114,24,0,0,0,114,24,0,0,0,180,0,0,0,115, + 32,0,0,0,132,0,241,2,4,5,8,243,10,9,5,25, + 243,22,4,5,34,242,12,3,5,12,242,10,4,5,17,243, + 12,4,5,12,114,63,0,0,0,114,24,0,0,0,99,0, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0, + 0,0,0,243,56,0,0,0,151,0,101,0,90,1,100,0, + 90,2,100,1,90,3,100,9,100,2,132,1,90,4,100,3, + 132,0,90,5,100,10,100,4,132,1,90,6,100,5,132,0, + 90,7,100,6,132,0,90,8,100,7,132,0,90,9,121,8, + 41,11,218,26,66,117,102,102,101,114,101,100,73,110,99,114, + 101,109,101,110,116,97,108,69,110,99,111,100,101,114,122,192, + 10,32,32,32,32,84,104,105,115,32,115,117,98,99,108,97, + 115,115,32,111,102,32,73,110,99,114,101,109,101,110,116,97, + 108,69,110,99,111,100,101,114,32,99,97,110,32,98,101,32, + 117,115,101,100,32,97,115,32,116,104,101,32,98,97,115,101, + 99,108,97,115,115,32,102,111,114,32,97,110,10,32,32,32, + 32,105,110,99,114,101,109,101,110,116,97,108,32,101,110,99, + 111,100,101,114,32,105,102,32,116,104,101,32,101,110,99,111, + 100,101,114,32,109,117,115,116,32,107,101,101,112,32,115,111, + 109,101,32,111,102,32,116,104,101,32,111,117,116,112,117,116, + 32,105,110,32,97,10,32,32,32,32,98,117,102,102,101,114, + 32,98,101,116,119,101,101,110,32,99,97,108,108,115,32,116, + 111,32,101,110,99,111,100,101,40,41,46,10,32,32,32,32, + 99,2,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,62,0,0,0,151,0,116,0,0,0, + 0,0,0,0,0,0,106,3,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,124,1,171,2, + 0,0,0,0,0,0,1,0,100,1,124,0,95,2,0,0, + 0,0,0,0,0,0,121,0,169,2,78,114,86,0,0,0, + 41,3,114,24,0,0,0,114,89,0,0,0,114,87,0,0, + 0,114,88,0,0,0,115,2,0,0,0,32,32,114,62,0, + 0,0,114,89,0,0,0,122,35,66,117,102,102,101,114,101, + 100,73,110,99,114,101,109,101,110,116,97,108,69,110,99,111, + 100,101,114,46,95,95,105,110,105,116,95,95,226,0,0,0, + 115,25,0,0,0,128,0,220,8,26,215,8,35,209,8,35, + 160,68,168,38,212,8,49,224,22,24,136,4,141,11,114,63, + 0,0,0,99,4,0,0,0,0,0,0,0,0,0,0,0, + 1,0,0,0,3,0,0,0,243,14,0,0,0,151,0,116, + 0,0,0,0,0,0,0,0,0,130,1,114,52,0,0,0, + 114,76,0,0,0,169,4,114,61,0,0,0,114,79,0,0, + 0,114,80,0,0,0,114,92,0,0,0,115,4,0,0,0, + 32,32,32,32,114,62,0,0,0,218,14,95,98,117,102,102, + 101,114,95,101,110,99,111,100,101,122,41,66,117,102,102,101, + 114,101,100,73,110,99,114,101,109,101,110,116,97,108,69,110, + 99,111,100,101,114,46,95,98,117,102,102,101,114,95,101,110, + 99,111,100,101,231,0,0,0,243,10,0,0,0,128,0,244, + 6,0,15,34,208,8,33,114,63,0,0,0,99,3,0,0, + 0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0, + 0,243,120,0,0,0,151,0,124,0,106,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 122,0,0,0,125,3,124,0,106,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,3,124,0, + 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,2,171,3,0,0,0,0,0,0,92,2, + 0,0,125,4,125,5,124,3,124,5,100,0,26,0,124,0, + 95,0,0,0,0,0,0,0,0,0,124,4,83,0,114,52, + 0,0,0,41,3,114,87,0,0,0,114,110,0,0,0,114, + 80,0,0,0,169,6,114,61,0,0,0,114,79,0,0,0, + 114,92,0,0,0,218,4,100,97,116,97,218,6,114,101,115, + 117,108,116,218,8,99,111,110,115,117,109,101,100,115,6,0, + 0,0,32,32,32,32,32,32,114,62,0,0,0,114,36,0, + 0,0,122,33,66,117,102,102,101,114,101,100,73,110,99,114, + 101,109,101,110,116,97,108,69,110,99,111,100,101,114,46,101, + 110,99,111,100,101,236,0,0,0,243,63,0,0,0,128,0, + 224,15,19,143,123,137,123,152,85,209,15,34,136,4,216,29, + 33,215,29,48,209,29,48,176,20,176,116,183,123,177,123,192, + 69,211,29,74,209,8,26,136,22,144,24,224,22,26,152,56, + 152,57,144,111,136,4,140,11,216,15,21,136,13,114,63,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,60,0,0,0,151,0,116,0, + 0,0,0,0,0,0,0,0,106,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,1,0,100,1,124,0,95,2,0,0, + 0,0,0,0,0,0,121,0,114,107,0,0,0,41,3,114, + 24,0,0,0,114,95,0,0,0,114,87,0,0,0,114,69, + 0,0,0,115,1,0,0,0,32,114,62,0,0,0,114,95, + 0,0,0,122,32,66,117,102,102,101,114,101,100,73,110,99, + 114,101,109,101,110,116,97,108,69,110,99,111,100,101,114,46, + 114,101,115,101,116,244,0,0,0,115,23,0,0,0,128,0, + 220,8,26,215,8,32,209,8,32,160,20,212,8,38,216,22, + 24,136,4,141,11,114,63,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,243, + 34,0,0,0,151,0,124,0,106,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,120,1,115,2, + 1,0,100,1,83,0,169,2,78,114,2,0,0,0,169,1, + 114,87,0,0,0,114,69,0,0,0,115,1,0,0,0,32, + 114,62,0,0,0,114,98,0,0,0,122,35,66,117,102,102, + 101,114,101,100,73,110,99,114,101,109,101,110,116,97,108,69, + 110,99,111,100,101,114,46,103,101,116,115,116,97,116,101,248, + 0,0,0,115,17,0,0,0,128,0,216,15,19,143,123,137, + 123,210,15,31,152,97,208,8,31,114,63,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3, + 0,0,0,243,26,0,0,0,151,0,124,1,120,1,115,2, + 1,0,100,1,124,0,95,0,0,0,0,0,0,0,0,0, + 121,0,114,107,0,0,0,114,121,0,0,0,114,100,0,0, + 0,115,2,0,0,0,32,32,114,62,0,0,0,114,102,0, + 0,0,122,35,66,117,102,102,101,114,101,100,73,110,99,114, + 101,109,101,110,116,97,108,69,110,99,111,100,101,114,46,115, + 101,116,115,116,97,116,101,251,0,0,0,115,13,0,0,0, + 128,0,216,22,27,146,107,152,114,136,4,141,11,114,63,0, + 0,0,78,114,82,0,0,0,114,103,0,0,0,41,10,114, + 71,0,0,0,114,66,0,0,0,114,67,0,0,0,114,72, + 0,0,0,114,89,0,0,0,114,110,0,0,0,114,36,0, + 0,0,114,95,0,0,0,114,98,0,0,0,114,102,0,0, + 0,114,73,0,0,0,114,63,0,0,0,114,62,0,0,0, + 114,105,0,0,0,114,105,0,0,0,220,0,0,0,115,37, + 0,0,0,132,0,241,2,4,5,8,243,10,3,5,25,242, + 10,3,5,34,243,10,6,5,22,242,16,2,5,25,242,8, + 1,5,32,243,6,1,5,34,114,63,0,0,0,114,105,0, + 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,2, + 0,0,0,0,0,0,0,243,50,0,0,0,151,0,101,0, + 90,1,100,0,90,2,100,1,90,3,100,8,100,2,132,1, + 90,4,100,9,100,3,132,1,90,5,100,4,132,0,90,6, + 100,5,132,0,90,7,100,6,132,0,90,8,121,7,41,10, + 114,25,0,0,0,122,232,10,32,32,32,32,65,110,32,73, + 110,99,114,101,109,101,110,116,97,108,68,101,99,111,100,101, + 114,32,100,101,99,111,100,101,115,32,97,110,32,105,110,112, + 117,116,32,105,110,32,109,117,108,116,105,112,108,101,32,115, + 116,101,112,115,46,32,84,104,101,32,105,110,112,117,116,32, + 99,97,110,10,32,32,32,32,98,101,32,112,97,115,115,101, + 100,32,112,105,101,99,101,32,98,121,32,112,105,101,99,101, + 32,116,111,32,116,104,101,32,100,101,99,111,100,101,40,41, + 32,109,101,116,104,111,100,46,32,84,104,101,32,73,110,99, + 114,101,109,101,110,116,97,108,68,101,99,111,100,101,114,10, + 32,32,32,32,114,101,109,101,109,98,101,114,115,32,116,104, + 101,32,115,116,97,116,101,32,111,102,32,116,104,101,32,100, + 101,99,111,100,105,110,103,32,112,114,111,99,101,115,115,32, + 98,101,116,119,101,101,110,32,99,97,108,108,115,32,116,111, + 32,100,101,99,111,100,101,40,41,46,10,32,32,32,32,99, + 2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, + 3,0,0,0,243,18,0,0,0,151,0,124,1,124,0,95, + 0,0,0,0,0,0,0,0,0,121,1,41,2,122,243,10, + 32,32,32,32,32,32,32,32,67,114,101,97,116,101,32,97, + 110,32,73,110,99,114,101,109,101,110,116,97,108,68,101,99, + 111,100,101,114,32,105,110,115,116,97,110,99,101,46,10,10, + 32,32,32,32,32,32,32,32,84,104,101,32,73,110,99,114, + 101,109,101,110,116,97,108,68,101,99,111,100,101,114,32,109, + 97,121,32,117,115,101,32,100,105,102,102,101,114,101,110,116, + 32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,32, + 115,99,104,101,109,101,115,32,98,121,10,32,32,32,32,32, + 32,32,32,112,114,111,118,105,100,105,110,103,32,116,104,101, + 32,101,114,114,111,114,115,32,107,101,121,119,111,114,100,32, + 97,114,103,117,109,101,110,116,46,32,83,101,101,32,116,104, + 101,32,109,111,100,117,108,101,32,100,111,99,115,116,114,105, + 110,103,10,32,32,32,32,32,32,32,32,102,111,114,32,97, + 32,108,105,115,116,32,111,102,32,112,111,115,115,105,98,108, + 101,32,118,97,108,117,101,115,46,10,32,32,32,32,32,32, + 32,32,78,41,1,114,80,0,0,0,114,88,0,0,0,115, + 2,0,0,0,32,32,114,62,0,0,0,114,89,0,0,0, + 122,27,73,110,99,114,101,109,101,110,116,97,108,68,101,99, + 111,100,101,114,46,95,95,105,110,105,116,95,95,4,1,0, + 0,115,11,0,0,0,128,0,240,16,0,23,29,136,4,141, + 11,114,63,0,0,0,99,3,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,3,0,0,0,243,14,0,0,0, + 151,0,116,0,0,0,0,0,0,0,0,0,130,1,41,1, + 122,64,10,32,32,32,32,32,32,32,32,68,101,99,111,100, + 101,32,105,110,112,117,116,32,97,110,100,32,114,101,116,117, + 114,110,115,32,116,104,101,32,114,101,115,117,108,116,105,110, + 103,32,111,98,106,101,99,116,46,10,32,32,32,32,32,32, + 32,32,114,76,0,0,0,114,91,0,0,0,115,3,0,0, + 0,32,32,32,114,62,0,0,0,114,37,0,0,0,122,25, + 73,110,99,114,101,109,101,110,116,97,108,68,101,99,111,100, + 101,114,46,100,101,99,111,100,101,14,1,0,0,114,93,0, + 0,0,114,63,0,0,0,99,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,243,4,0,0, + 0,151,0,121,1,41,2,122,57,10,32,32,32,32,32,32, + 32,32,82,101,115,101,116,32,116,104,101,32,100,101,99,111, + 100,101,114,32,116,111,32,116,104,101,32,105,110,105,116,105, + 97,108,32,115,116,97,116,101,46,10,32,32,32,32,32,32, + 32,32,78,114,73,0,0,0,114,69,0,0,0,115,1,0, + 0,0,32,114,62,0,0,0,114,95,0,0,0,122,24,73, + 110,99,114,101,109,101,110,116,97,108,68,101,99,111,100,101, + 114,46,114,101,115,101,116,20,1,0,0,114,96,0,0,0, + 114,63,0,0,0,99,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,3,0,0,0,243,4,0,0,0,151, + 0,121,1,41,2,97,9,2,0,0,10,32,32,32,32,32, + 32,32,32,82,101,116,117,114,110,32,116,104,101,32,99,117, + 114,114,101,110,116,32,115,116,97,116,101,32,111,102,32,116, + 104,101,32,100,101,99,111,100,101,114,46,10,10,32,32,32, + 32,32,32,32,32,84,104,105,115,32,109,117,115,116,32,98, + 101,32,97,32,40,98,117,102,102,101,114,101,100,95,105,110, + 112,117,116,44,32,97,100,100,105,116,105,111,110,97,108,95, + 115,116,97,116,101,95,105,110,102,111,41,32,116,117,112,108, + 101,46,10,32,32,32,32,32,32,32,32,98,117,102,102,101, + 114,101,100,95,105,110,112,117,116,32,109,117,115,116,32,98, + 101,32,97,32,98,121,116,101,115,32,111,98,106,101,99,116, + 32,99,111,110,116,97,105,110,105,110,103,32,98,121,116,101, + 115,32,116,104,97,116,10,32,32,32,32,32,32,32,32,119, + 101,114,101,32,112,97,115,115,101,100,32,116,111,32,100,101, + 99,111,100,101,40,41,32,116,104,97,116,32,104,97,118,101, + 32,110,111,116,32,121,101,116,32,98,101,101,110,32,99,111, + 110,118,101,114,116,101,100,46,10,32,32,32,32,32,32,32, + 32,97,100,100,105,116,105,111,110,97,108,95,115,116,97,116, + 101,95,105,110,102,111,32,109,117,115,116,32,98,101,32,97, + 32,110,111,110,45,110,101,103,97,116,105,118,101,32,105,110, + 116,101,103,101,114,10,32,32,32,32,32,32,32,32,114,101, + 112,114,101,115,101,110,116,105,110,103,32,116,104,101,32,115, + 116,97,116,101,32,111,102,32,116,104,101,32,100,101,99,111, + 100,101,114,32,87,73,84,72,79,85,84,32,121,101,116,32, + 104,97,118,105,110,103,10,32,32,32,32,32,32,32,32,112, + 114,111,99,101,115,115,101,100,32,116,104,101,32,99,111,110, + 116,101,110,116,115,32,111,102,32,98,117,102,102,101,114,101, + 100,95,105,110,112,117,116,46,32,32,73,110,32,116,104,101, + 32,105,110,105,116,105,97,108,32,115,116,97,116,101,10,32, + 32,32,32,32,32,32,32,97,110,100,32,97,102,116,101,114, + 32,114,101,115,101,116,40,41,44,32,103,101,116,115,116,97, + 116,101,40,41,32,109,117,115,116,32,114,101,116,117,114,110, + 32,40,98,34,34,44,32,48,41,46,10,32,32,32,32,32, + 32,32,32,41,2,114,63,0,0,0,114,2,0,0,0,114, + 73,0,0,0,114,69,0,0,0,115,1,0,0,0,32,114, + 62,0,0,0,114,98,0,0,0,122,27,73,110,99,114,101, + 109,101,110,116,97,108,68,101,99,111,100,101,114,46,103,101, + 116,115,116,97,116,101,25,1,0,0,115,7,0,0,0,128, + 0,240,24,0,16,24,114,63,0,0,0,99,2,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 243,4,0,0,0,151,0,121,1,41,2,122,182,10,32,32, + 32,32,32,32,32,32,83,101,116,32,116,104,101,32,99,117, + 114,114,101,110,116,32,115,116,97,116,101,32,111,102,32,116, + 104,101,32,100,101,99,111,100,101,114,46,10,10,32,32,32, + 32,32,32,32,32,115,116,97,116,101,32,109,117,115,116,32, + 104,97,118,101,32,98,101,101,110,32,114,101,116,117,114,110, + 101,100,32,98,121,32,103,101,116,115,116,97,116,101,40,41, + 46,32,32,84,104,101,32,101,102,102,101,99,116,32,111,102, + 10,32,32,32,32,32,32,32,32,115,101,116,115,116,97,116, + 101,40,40,98,34,34,44,32,48,41,41,32,109,117,115,116, + 32,98,101,32,101,113,117,105,118,97,108,101,110,116,32,116, + 111,32,114,101,115,101,116,40,41,46,10,32,32,32,32,32, + 32,32,32,78,114,73,0,0,0,114,100,0,0,0,115,2, + 0,0,0,32,32,114,62,0,0,0,114,102,0,0,0,122, + 27,73,110,99,114,101,109,101,110,116,97,108,68,101,99,111, + 100,101,114,46,115,101,116,115,116,97,116,101,39,1,0,0, + 114,96,0,0,0,114,63,0,0,0,78,114,82,0,0,0, + 114,103,0,0,0,41,9,114,71,0,0,0,114,66,0,0, + 0,114,67,0,0,0,114,72,0,0,0,114,89,0,0,0, + 114,37,0,0,0,114,95,0,0,0,114,98,0,0,0,114, + 102,0,0,0,114,73,0,0,0,114,63,0,0,0,114,62, + 0,0,0,114,25,0,0,0,114,25,0,0,0,254,0,0, + 0,115,32,0,0,0,132,0,241,2,4,5,8,243,10,8, + 5,29,243,20,4,5,34,242,12,3,5,12,242,10,12,5, + 24,243,28,6,5,12,114,63,0,0,0,114,25,0,0,0, + 99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, + 0,0,0,0,0,243,56,0,0,0,151,0,101,0,90,1, + 100,0,90,2,100,1,90,3,100,9,100,2,132,1,90,4, + 100,3,132,0,90,5,100,10,100,4,132,1,90,6,100,5, + 132,0,90,7,100,6,132,0,90,8,100,7,132,0,90,9, + 121,8,41,11,218,26,66,117,102,102,101,114,101,100,73,110, + 99,114,101,109,101,110,116,97,108,68,101,99,111,100,101,114, + 122,174,10,32,32,32,32,84,104,105,115,32,115,117,98,99, + 108,97,115,115,32,111,102,32,73,110,99,114,101,109,101,110, + 116,97,108,68,101,99,111,100,101,114,32,99,97,110,32,98, + 101,32,117,115,101,100,32,97,115,32,116,104,101,32,98,97, + 115,101,99,108,97,115,115,32,102,111,114,32,97,110,10,32, + 32,32,32,105,110,99,114,101,109,101,110,116,97,108,32,100, + 101,99,111,100,101,114,32,105,102,32,116,104,101,32,100,101, + 99,111,100,101,114,32,109,117,115,116,32,98,101,32,97,98, + 108,101,32,116,111,32,104,97,110,100,108,101,32,105,110,99, + 111,109,112,108,101,116,101,10,32,32,32,32,98,121,116,101, + 32,115,101,113,117,101,110,99,101,115,46,10,32,32,32,32, + 99,2,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,62,0,0,0,151,0,116,0,0,0, + 0,0,0,0,0,0,106,3,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,124,1,171,2, + 0,0,0,0,0,0,1,0,100,1,124,0,95,2,0,0, + 0,0,0,0,0,0,121,0,169,2,78,114,63,0,0,0, + 41,3,114,25,0,0,0,114,89,0,0,0,114,87,0,0, + 0,114,88,0,0,0,115,2,0,0,0,32,32,114,62,0, + 0,0,114,89,0,0,0,122,35,66,117,102,102,101,114,101, + 100,73,110,99,114,101,109,101,110,116,97,108,68,101,99,111, + 100,101,114,46,95,95,105,110,105,116,95,95,53,1,0,0, + 115,25,0,0,0,128,0,220,8,26,215,8,35,209,8,35, + 160,68,168,38,212,8,49,224,22,25,136,4,141,11,114,63, + 0,0,0,99,4,0,0,0,0,0,0,0,0,0,0,0, + 1,0,0,0,3,0,0,0,243,14,0,0,0,151,0,116, + 0,0,0,0,0,0,0,0,0,130,1,114,52,0,0,0, + 114,76,0,0,0,114,109,0,0,0,115,4,0,0,0,32, + 32,32,32,114,62,0,0,0,218,14,95,98,117,102,102,101, + 114,95,100,101,99,111,100,101,122,41,66,117,102,102,101,114, + 101,100,73,110,99,114,101,109,101,110,116,97,108,68,101,99, + 111,100,101,114,46,95,98,117,102,102,101,114,95,100,101,99, + 111,100,101,58,1,0,0,114,111,0,0,0,114,63,0,0, + 0,99,3,0,0,0,0,0,0,0,0,0,0,0,5,0, + 0,0,3,0,0,0,243,120,0,0,0,151,0,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,122,0,0,0,125,3,124,0,106,3,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,3,124,0,106,4,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,2,171,3,0,0,0, + 0,0,0,92,2,0,0,125,4,125,5,124,3,124,5,100, + 0,26,0,124,0,95,0,0,0,0,0,0,0,0,0,124, + 4,83,0,114,52,0,0,0,41,3,114,87,0,0,0,114, + 134,0,0,0,114,80,0,0,0,114,113,0,0,0,115,6, + 0,0,0,32,32,32,32,32,32,114,62,0,0,0,114,37, + 0,0,0,122,33,66,117,102,102,101,114,101,100,73,110,99, + 114,101,109,101,110,116,97,108,68,101,99,111,100,101,114,46, + 100,101,99,111,100,101,63,1,0,0,114,117,0,0,0,114, + 63,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0, + 0,3,0,0,0,3,0,0,0,243,60,0,0,0,151,0, + 116,0,0,0,0,0,0,0,0,0,106,3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,1,0,100,1,124,0,95,2, + 0,0,0,0,0,0,0,0,121,0,114,132,0,0,0,41, + 3,114,25,0,0,0,114,95,0,0,0,114,87,0,0,0, + 114,69,0,0,0,115,1,0,0,0,32,114,62,0,0,0, + 114,95,0,0,0,122,32,66,117,102,102,101,114,101,100,73, + 110,99,114,101,109,101,110,116,97,108,68,101,99,111,100,101, + 114,46,114,101,115,101,116,71,1,0,0,115,23,0,0,0, + 128,0,220,8,26,215,8,32,209,8,32,160,20,212,8,38, + 216,22,25,136,4,141,11,114,63,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0, + 0,243,30,0,0,0,151,0,124,0,106,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,1, + 102,2,83,0,114,120,0,0,0,114,121,0,0,0,114,69, + 0,0,0,115,1,0,0,0,32,114,62,0,0,0,114,98, + 0,0,0,122,35,66,117,102,102,101,114,101,100,73,110,99, + 114,101,109,101,110,116,97,108,68,101,99,111,100,101,114,46, + 103,101,116,115,116,97,116,101,75,1,0,0,115,17,0,0, + 0,128,0,224,16,20,151,11,145,11,152,81,208,15,31,208, + 8,31,114,63,0,0,0,99,2,0,0,0,0,0,0,0, + 0,0,0,0,2,0,0,0,3,0,0,0,243,24,0,0, + 0,151,0,124,1,100,1,25,0,0,0,124,0,95,0,0, + 0,0,0,0,0,0,0,121,0,114,120,0,0,0,114,121, + 0,0,0,114,100,0,0,0,115,2,0,0,0,32,32,114, + 62,0,0,0,114,102,0,0,0,122,35,66,117,102,102,101, + 114,101,100,73,110,99,114,101,109,101,110,116,97,108,68,101, + 99,111,100,101,114,46,115,101,116,115,116,97,116,101,79,1, + 0,0,115,13,0,0,0,128,0,224,22,27,152,65,145,104, + 136,4,141,11,114,63,0,0,0,78,114,82,0,0,0,114, + 103,0,0,0,41,10,114,71,0,0,0,114,66,0,0,0, + 114,67,0,0,0,114,72,0,0,0,114,89,0,0,0,114, + 134,0,0,0,114,37,0,0,0,114,95,0,0,0,114,98, + 0,0,0,114,102,0,0,0,114,73,0,0,0,114,63,0, + 0,0,114,62,0,0,0,114,130,0,0,0,114,130,0,0, + 0,47,1,0,0,115,37,0,0,0,132,0,241,2,4,5, + 8,243,10,3,5,26,242,10,3,5,34,243,10,6,5,22, + 242,16,2,5,26,242,8,2,5,32,243,8,2,5,31,114, + 63,0,0,0,114,130,0,0,0,99,0,0,0,0,0,0, + 0,0,0,0,0,0,2,0,0,0,0,0,0,0,243,74, + 0,0,0,151,0,101,0,90,1,100,0,90,2,100,11,100, + 1,132,1,90,3,100,2,132,0,90,4,100,3,132,0,90, + 5,100,4,132,0,90,6,100,12,100,5,132,1,90,7,101, + 8,102,1,100,6,132,1,90,9,100,7,132,0,90,10,100, + 8,132,0,90,11,100,9,132,0,90,12,121,10,41,13,114, + 27,0,0,0,99,3,0,0,0,0,0,0,0,0,0,0, + 0,2,0,0,0,3,0,0,0,243,32,0,0,0,151,0, + 124,1,124,0,95,0,0,0,0,0,0,0,0,0,124,2, + 124,0,95,1,0,0,0,0,0,0,0,0,121,1,41,2, + 97,119,3,0,0,32,67,114,101,97,116,101,115,32,97,32, + 83,116,114,101,97,109,87,114,105,116,101,114,32,105,110,115, + 116,97,110,99,101,46,10,10,32,32,32,32,32,32,32,32, + 32,32,32,32,115,116,114,101,97,109,32,109,117,115,116,32, + 98,101,32,97,32,102,105,108,101,45,108,105,107,101,32,111, + 98,106,101,99,116,32,111,112,101,110,32,102,111,114,32,119, + 114,105,116,105,110,103,46,10,10,32,32,32,32,32,32,32, + 32,32,32,32,32,84,104,101,32,83,116,114,101,97,109,87, + 114,105,116,101,114,32,109,97,121,32,117,115,101,32,100,105, + 102,102,101,114,101,110,116,32,101,114,114,111,114,32,104,97, + 110,100,108,105,110,103,10,32,32,32,32,32,32,32,32,32, + 32,32,32,115,99,104,101,109,101,115,32,98,121,32,112,114, + 111,118,105,100,105,110,103,32,116,104,101,32,101,114,114,111, + 114,115,32,107,101,121,119,111,114,100,32,97,114,103,117,109, + 101,110,116,46,32,84,104,101,115,101,10,32,32,32,32,32, + 32,32,32,32,32,32,32,112,97,114,97,109,101,116,101,114, + 115,32,97,114,101,32,112,114,101,100,101,102,105,110,101,100, + 58,10,10,32,32,32,32,32,32,32,32,32,32,32,32,32, + 39,115,116,114,105,99,116,39,32,45,32,114,97,105,115,101, + 32,97,32,86,97,108,117,101,69,114,114,111,114,32,40,111, + 114,32,97,32,115,117,98,99,108,97,115,115,41,10,32,32, + 32,32,32,32,32,32,32,32,32,32,32,39,105,103,110,111, + 114,101,39,32,45,32,105,103,110,111,114,101,32,116,104,101, + 32,99,104,97,114,97,99,116,101,114,32,97,110,100,32,99, + 111,110,116,105,110,117,101,32,119,105,116,104,32,116,104,101, + 32,110,101,120,116,10,32,32,32,32,32,32,32,32,32,32, + 32,32,32,39,114,101,112,108,97,99,101,39,45,32,114,101, + 112,108,97,99,101,32,119,105,116,104,32,97,32,115,117,105, + 116,97,98,108,101,32,114,101,112,108,97,99,101,109,101,110, + 116,32,99,104,97,114,97,99,116,101,114,10,32,32,32,32, + 32,32,32,32,32,32,32,32,32,39,120,109,108,99,104,97, + 114,114,101,102,114,101,112,108,97,99,101,39,32,45,32,82, + 101,112,108,97,99,101,32,119,105,116,104,32,116,104,101,32, + 97,112,112,114,111,112,114,105,97,116,101,32,88,77,76,10, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,99,104,97,114,97,99,116,101,114,32,114,101,102, + 101,114,101,110,99,101,46,10,32,32,32,32,32,32,32,32, + 32,32,32,32,32,39,98,97,99,107,115,108,97,115,104,114, + 101,112,108,97,99,101,39,32,32,45,32,82,101,112,108,97, + 99,101,32,119,105,116,104,32,98,97,99,107,115,108,97,115, + 104,101,100,32,101,115,99,97,112,101,10,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,101, + 113,117,101,110,99,101,115,46,10,32,32,32,32,32,32,32, + 32,32,32,32,32,32,39,110,97,109,101,114,101,112,108,97, + 99,101,39,32,32,32,32,32,32,32,45,32,82,101,112,108, + 97,99,101,32,119,105,116,104,32,92,78,123,46,46,46,125, + 32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101, + 115,46,10,10,32,32,32,32,32,32,32,32,32,32,32,32, + 84,104,101,32,115,101,116,32,111,102,32,97,108,108,111,119, + 101,100,32,112,97,114,97,109,101,116,101,114,32,118,97,108, + 117,101,115,32,99,97,110,32,98,101,32,101,120,116,101,110, + 100,101,100,32,118,105,97,10,32,32,32,32,32,32,32,32, + 32,32,32,32,114,101,103,105,115,116,101,114,95,101,114,114, + 111,114,46,10,32,32,32,32,32,32,32,32,78,41,2,218, + 6,115,116,114,101,97,109,114,80,0,0,0,169,3,114,61, + 0,0,0,114,141,0,0,0,114,80,0,0,0,115,3,0, + 0,0,32,32,32,114,62,0,0,0,114,89,0,0,0,122, + 21,83,116,114,101,97,109,87,114,105,116,101,114,46,95,95, + 105,110,105,116,95,95,92,1,0,0,115,18,0,0,0,128, + 0,240,44,0,23,29,136,4,140,11,216,22,28,136,4,141, + 11,114,63,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,3,0,0,0,243,120,0,0,0, + 151,0,124,0,106,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,1,124,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,2,0,0,0,0,0,0,92,2,0,0,125,2,125,3, + 124,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,106,7,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,2,171,1,0,0, + 0,0,0,0,1,0,121,1,41,2,122,62,32,87,114,105, + 116,101,115,32,116,104,101,32,111,98,106,101,99,116,39,115, + 32,99,111,110,116,101,110,116,115,32,101,110,99,111,100,101, + 100,32,116,111,32,115,101,108,102,46,115,116,114,101,97,109, + 46,10,32,32,32,32,32,32,32,32,78,41,4,114,36,0, + 0,0,114,80,0,0,0,114,141,0,0,0,218,5,119,114, + 105,116,101,41,4,114,61,0,0,0,218,6,111,98,106,101, + 99,116,114,114,0,0,0,114,116,0,0,0,115,4,0,0, + 0,32,32,32,32,114,62,0,0,0,114,144,0,0,0,122, + 18,83,116,114,101,97,109,87,114,105,116,101,114,46,119,114, + 105,116,101,117,1,0,0,115,46,0,0,0,128,0,240,8, + 0,26,30,159,27,153,27,160,86,168,84,175,91,169,91,211, + 25,57,137,14,136,4,136,104,216,8,12,143,11,137,11,215, + 8,25,209,8,25,152,36,213,8,31,114,63,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0, + 3,0,0,0,243,68,0,0,0,151,0,124,0,106,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,1,106,3,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,171,1,0,0,0,0,0,0,1,0,121,2,41,3,122, + 91,32,87,114,105,116,101,115,32,116,104,101,32,99,111,110, + 99,97,116,101,110,97,116,101,100,32,108,105,115,116,32,111, + 102,32,115,116,114,105,110,103,115,32,116,111,32,116,104,101, + 32,115,116,114,101,97,109,10,32,32,32,32,32,32,32,32, + 32,32,32,32,117,115,105,110,103,32,46,119,114,105,116,101, + 40,41,46,10,32,32,32,32,32,32,32,32,114,86,0,0, + 0,78,41,2,114,144,0,0,0,218,4,106,111,105,110,169, + 2,114,61,0,0,0,218,4,108,105,115,116,115,2,0,0, + 0,32,32,114,62,0,0,0,218,10,119,114,105,116,101,108, + 105,110,101,115,122,23,83,116,114,101,97,109,87,114,105,116, + 101,114,46,119,114,105,116,101,108,105,110,101,115,124,1,0, + 0,115,24,0,0,0,128,0,240,10,0,9,13,143,10,137, + 10,144,50,151,55,145,55,152,52,147,61,213,8,33,114,63, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,243,4,0,0,0,151,0,121, + 1,41,2,97,50,1,0,0,32,82,101,115,101,116,115,32, + 116,104,101,32,99,111,100,101,99,32,98,117,102,102,101,114, + 115,32,117,115,101,100,32,102,111,114,32,107,101,101,112,105, + 110,103,32,105,110,116,101,114,110,97,108,32,115,116,97,116, + 101,46,10,10,32,32,32,32,32,32,32,32,32,32,32,32, + 67,97,108,108,105,110,103,32,116,104,105,115,32,109,101,116, + 104,111,100,32,115,104,111,117,108,100,32,101,110,115,117,114, + 101,32,116,104,97,116,32,116,104,101,32,100,97,116,97,32, + 111,110,32,116,104,101,10,32,32,32,32,32,32,32,32,32, + 32,32,32,111,117,116,112,117,116,32,105,115,32,112,117,116, + 32,105,110,116,111,32,97,32,99,108,101,97,110,32,115,116, + 97,116,101,44,32,116,104,97,116,32,97,108,108,111,119,115, + 32,97,112,112,101,110,100,105,110,103,10,32,32,32,32,32, + 32,32,32,32,32,32,32,111,102,32,110,101,119,32,102,114, + 101,115,104,32,100,97,116,97,32,119,105,116,104,111,117,116, + 32,104,97,118,105,110,103,32,116,111,32,114,101,115,99,97, + 110,32,116,104,101,32,119,104,111,108,101,10,32,32,32,32, + 32,32,32,32,32,32,32,32,115,116,114,101,97,109,32,116, + 111,32,114,101,99,111,118,101,114,32,115,116,97,116,101,46, + 10,10,32,32,32,32,32,32,32,32,78,114,73,0,0,0, + 114,69,0,0,0,115,1,0,0,0,32,114,62,0,0,0, + 114,95,0,0,0,122,18,83,116,114,101,97,109,87,114,105, + 116,101,114,46,114,101,115,101,116,131,1,0,0,115,7,0, + 0,0,128,0,240,20,0,9,13,114,63,0,0,0,99,3, + 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3, + 0,0,0,243,116,0,0,0,151,0,124,0,106,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,124,2,171,2,0,0,0,0,0,0, + 1,0,124,2,100,1,107,40,0,0,114,23,124,1,100,1, + 107,40,0,0,114,17,124,0,106,5,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,1,0,121,0,121,0,121,0,114,120,0,0, + 0,169,3,114,141,0,0,0,218,4,115,101,101,107,114,95, + 0,0,0,169,3,114,61,0,0,0,218,6,111,102,102,115, + 101,116,218,6,119,104,101,110,99,101,115,3,0,0,0,32, + 32,32,114,62,0,0,0,114,154,0,0,0,122,17,83,116, + 114,101,97,109,87,114,105,116,101,114,46,115,101,101,107,143, + 1,0,0,115,51,0,0,0,128,0,216,8,12,143,11,137, + 11,215,8,24,209,8,24,152,22,160,22,212,8,40,216,11, + 17,144,81,138,59,152,54,160,81,154,59,216,12,16,143,74, + 137,74,141,76,240,3,0,28,39,136,59,114,63,0,0,0, + 99,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,40,0,0,0,151,0,2,0,124,2, + 124,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,171,2,0,0,0,0,0,0, + 83,0,169,1,122,63,32,73,110,104,101,114,105,116,32,97, + 108,108,32,111,116,104,101,114,32,109,101,116,104,111,100,115, + 32,102,114,111,109,32,116,104,101,32,117,110,100,101,114,108, + 121,105,110,103,32,115,116,114,101,97,109,46,10,32,32,32, + 32,32,32,32,32,169,1,114,141,0,0,0,169,3,114,61, + 0,0,0,114,55,0,0,0,218,7,103,101,116,97,116,116, + 114,115,3,0,0,0,32,32,32,114,62,0,0,0,218,11, + 95,95,103,101,116,97,116,116,114,95,95,122,24,83,116,114, + 101,97,109,87,114,105,116,101,114,46,95,95,103,101,116,97, + 116,116,114,95,95,148,1,0,0,243,21,0,0,0,128,0, + 241,10,0,16,23,144,116,151,123,145,123,160,68,211,15,41, + 208,8,41,114,63,0,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,1,0,0,0,3,0,0,0,243,6,0, + 0,0,151,0,124,0,83,0,114,52,0,0,0,114,73,0, + 0,0,114,69,0,0,0,115,1,0,0,0,32,114,62,0, + 0,0,218,9,95,95,101,110,116,101,114,95,95,122,22,83, + 116,114,101,97,109,87,114,105,116,101,114,46,95,95,101,110, + 116,101,114,95,95,155,1,0,0,243,7,0,0,0,128,0, + 216,15,19,136,11,114,63,0,0,0,99,4,0,0,0,0, + 0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,243, + 56,0,0,0,151,0,124,0,106,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,3,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,1,0,121,0,114,52,0,0, + 0,169,2,114,141,0,0,0,218,5,99,108,111,115,101,169, + 4,114,61,0,0,0,218,4,116,121,112,101,218,5,118,97, + 108,117,101,218,2,116,98,115,4,0,0,0,32,32,32,32, + 114,62,0,0,0,218,8,95,95,101,120,105,116,95,95,122, + 21,83,116,114,101,97,109,87,114,105,116,101,114,46,95,95, + 101,120,105,116,95,95,158,1,0,0,243,18,0,0,0,128, + 0,216,8,12,143,11,137,11,215,8,25,209,8,25,213,8, + 27,114,63,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,3,0,0,0,243,70,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,100,1,124,0, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,4,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,122,6,0,0,171,1,0,0, + 0,0,0,0,130,1,169,2,78,122,18,99,97,110,39,116, + 32,115,101,114,105,97,108,105,122,101,32,37,115,169,3,218, + 9,84,121,112,101,69,114,114,111,114,114,65,0,0,0,114, + 71,0,0,0,169,2,114,61,0,0,0,218,5,112,114,111, + 116,111,115,2,0,0,0,32,32,114,62,0,0,0,218,13, + 95,95,114,101,100,117,99,101,95,101,120,95,95,122,26,83, + 116,114,101,97,109,87,114,105,116,101,114,46,95,95,114,101, + 100,117,99,101,95,101,120,95,95,161,1,0,0,243,29,0, + 0,0,128,0,220,14,23,208,24,44,168,116,175,126,169,126, + 215,47,70,209,47,70,209,24,70,211,14,71,208,8,71,114, + 63,0,0,0,78,114,82,0,0,0,169,1,114,2,0,0, + 0,41,13,114,71,0,0,0,114,66,0,0,0,114,67,0, + 0,0,114,89,0,0,0,114,144,0,0,0,114,150,0,0, + 0,114,95,0,0,0,114,154,0,0,0,114,162,0,0,0, + 114,163,0,0,0,114,166,0,0,0,114,175,0,0,0,114, + 183,0,0,0,114,73,0,0,0,114,63,0,0,0,114,62, + 0,0,0,114,27,0,0,0,114,27,0,0,0,90,1,0, + 0,115,53,0,0,0,132,0,243,4,23,5,29,242,50,5, + 5,32,242,14,5,5,34,242,14,10,5,13,243,24,3,5, + 25,240,12,0,29,36,243,3,5,5,42,242,14,1,5,20, + 242,6,1,5,28,243,6,1,5,72,1,114,63,0,0,0, + 114,27,0,0,0,99,0,0,0,0,0,0,0,0,0,0, + 0,0,2,0,0,0,0,0,0,0,243,110,0,0,0,151, + 0,101,0,90,1,100,0,90,2,101,3,90,4,100,15,100, + 1,132,1,90,5,100,15,100,2,132,1,90,6,100,16,100, + 3,132,1,90,7,100,17,100,5,132,1,90,8,100,17,100, + 6,132,1,90,9,100,7,132,0,90,10,100,18,100,8,132, + 1,90,11,100,9,132,0,90,12,100,10,132,0,90,13,101, + 14,102,1,100,11,132,1,90,15,100,12,132,0,90,16,100, + 13,132,0,90,17,100,14,132,0,90,18,121,4,41,19,114, + 26,0,0,0,99,3,0,0,0,0,0,0,0,0,0,0, + 0,2,0,0,0,3,0,0,0,243,136,0,0,0,151,0, + 124,1,124,0,95,0,0,0,0,0,0,0,0,0,124,2, + 124,0,95,1,0,0,0,0,0,0,0,0,100,1,124,0, + 95,2,0,0,0,0,0,0,0,0,124,0,106,7,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,124,0,95,4,0,0,0,0, + 0,0,0,0,124,0,106,8,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,95,5,0,0, + 0,0,0,0,0,0,100,2,124,0,95,6,0,0,0,0, + 0,0,0,0,121,2,41,3,97,141,2,0,0,32,67,114, + 101,97,116,101,115,32,97,32,83,116,114,101,97,109,82,101, + 97,100,101,114,32,105,110,115,116,97,110,99,101,46,10,10, + 32,32,32,32,32,32,32,32,32,32,32,32,115,116,114,101, + 97,109,32,109,117,115,116,32,98,101,32,97,32,102,105,108, + 101,45,108,105,107,101,32,111,98,106,101,99,116,32,111,112, + 101,110,32,102,111,114,32,114,101,97,100,105,110,103,46,10, + 10,32,32,32,32,32,32,32,32,32,32,32,32,84,104,101, + 32,83,116,114,101,97,109,82,101,97,100,101,114,32,109,97, + 121,32,117,115,101,32,100,105,102,102,101,114,101,110,116,32, + 101,114,114,111,114,32,104,97,110,100,108,105,110,103,10,32, + 32,32,32,32,32,32,32,32,32,32,32,115,99,104,101,109, + 101,115,32,98,121,32,112,114,111,118,105,100,105,110,103,32, + 116,104,101,32,101,114,114,111,114,115,32,107,101,121,119,111, + 114,100,32,97,114,103,117,109,101,110,116,46,32,84,104,101, + 115,101,10,32,32,32,32,32,32,32,32,32,32,32,32,112, + 97,114,97,109,101,116,101,114,115,32,97,114,101,32,112,114, + 101,100,101,102,105,110,101,100,58,10,10,32,32,32,32,32, + 32,32,32,32,32,32,32,32,39,115,116,114,105,99,116,39, + 32,45,32,114,97,105,115,101,32,97,32,86,97,108,117,101, + 69,114,114,111,114,32,40,111,114,32,97,32,115,117,98,99, + 108,97,115,115,41,10,32,32,32,32,32,32,32,32,32,32, + 32,32,32,39,105,103,110,111,114,101,39,32,45,32,105,103, + 110,111,114,101,32,116,104,101,32,99,104,97,114,97,99,116, + 101,114,32,97,110,100,32,99,111,110,116,105,110,117,101,32, + 119,105,116,104,32,116,104,101,32,110,101,120,116,10,32,32, + 32,32,32,32,32,32,32,32,32,32,32,39,114,101,112,108, + 97,99,101,39,45,32,114,101,112,108,97,99,101,32,119,105, + 116,104,32,97,32,115,117,105,116,97,98,108,101,32,114,101, + 112,108,97,99,101,109,101,110,116,32,99,104,97,114,97,99, + 116,101,114,10,32,32,32,32,32,32,32,32,32,32,32,32, + 32,39,98,97,99,107,115,108,97,115,104,114,101,112,108,97, + 99,101,39,32,45,32,82,101,112,108,97,99,101,32,119,105, + 116,104,32,98,97,99,107,115,108,97,115,104,101,100,32,101, + 115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,59, + 10,10,32,32,32,32,32,32,32,32,32,32,32,32,84,104, + 101,32,115,101,116,32,111,102,32,97,108,108,111,119,101,100, + 32,112,97,114,97,109,101,116,101,114,32,118,97,108,117,101, + 115,32,99,97,110,32,98,101,32,101,120,116,101,110,100,101, + 100,32,118,105,97,10,32,32,32,32,32,32,32,32,32,32, + 32,32,114,101,103,105,115,116,101,114,95,101,114,114,111,114, + 46,10,32,32,32,32,32,32,32,32,114,63,0,0,0,78, + 41,7,114,141,0,0,0,114,80,0,0,0,218,10,98,121, + 116,101,98,117,102,102,101,114,218,14,99,104,97,114,98,117, + 102,102,101,114,116,121,112,101,218,17,95,101,109,112,116,121, + 95,99,104,97,114,98,117,102,102,101,114,218,10,99,104,97, + 114,98,117,102,102,101,114,218,10,108,105,110,101,98,117,102, + 102,101,114,114,142,0,0,0,115,3,0,0,0,32,32,32, + 114,62,0,0,0,114,89,0,0,0,122,21,83,116,114,101, + 97,109,82,101,97,100,101,114,46,95,95,105,110,105,116,95, + 95,170,1,0,0,115,62,0,0,0,128,0,240,36,0,23, + 29,136,4,140,11,216,22,28,136,4,140,11,216,26,29,136, + 4,140,15,216,33,37,215,33,52,209,33,52,211,33,54,136, + 4,212,8,30,216,26,30,215,26,48,209,26,48,136,4,140, + 15,216,26,30,136,4,141,15,114,63,0,0,0,99,3,0, + 0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0, + 0,0,243,14,0,0,0,151,0,116,0,0,0,0,0,0, + 0,0,0,130,1,114,52,0,0,0,114,76,0,0,0,114, + 78,0,0,0,115,3,0,0,0,32,32,32,114,62,0,0, + 0,114,37,0,0,0,122,19,83,116,114,101,97,109,82,101, + 97,100,101,114,46,100,101,99,111,100,101,195,1,0,0,115, + 8,0,0,0,128,0,220,14,33,208,8,33,114,63,0,0, + 0,99,4,0,0,0,0,0,0,0,0,0,0,0,6,0, + 0,0,3,0,0,0,243,70,3,0,0,151,0,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,114,49,124,0,106,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,106,5,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,124,0,95, + 3,0,0,0,0,0,0,0,0,100,1,124,0,95,0,0, + 0,0,0,0,0,0,0,124,2,100,2,107,2,0,0,114, + 2,124,1,125,2,9,0,124,2,100,2,107,92,0,0,114, + 25,116,9,0,0,0,0,0,0,0,0,124,0,106,6,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,1,0,0,0,0,0,0,124,2,107,92,0,0,114, + 1,110,144,124,1,100,2,107,2,0,0,114,27,124,0,106, + 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,13,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,125, + 4,110,27,124,0,106,10,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,13,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,125,4,124,0,106,14,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 4,122,0,0,0,125,5,124,5,115,1,110,67,9,0,124, + 0,106,17,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,5,124,0,106,18,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,2,0, + 0,0,0,0,0,92,2,0,0,125,6,125,7,124,5,124, + 7,100,1,26,0,124,0,95,7,0,0,0,0,0,0,0, + 0,124,0,120,1,106,6,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,6,122,13,0,0,99, + 2,95,3,0,0,0,0,0,0,0,0,124,4,115,1,110, + 1,140,174,124,2,100,2,107,2,0,0,114,31,124,0,106, + 6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,125,10,124,0,106,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,95,3,0, + 0,0,0,0,0,0,0,124,10,83,0,124,0,106,6,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,1,124,2,26,0,125,10,124,0,106,6,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 2,100,1,26,0,124,0,95,3,0,0,0,0,0,0,0, + 0,124,10,83,0,35,0,116,20,0,0,0,0,0,0,0, + 0,36,0,114,90,125,8,124,3,114,77,124,0,106,17,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,5,100,1,124,8,106,22,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,26,0,124,0,106, + 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,2,0,0,0,0,0,0,92,2,0,0,125, + 6,125,7,124,6,106,25,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,3,172,4,171,1,0, + 0,0,0,0,0,125,9,116,9,0,0,0,0,0,0,0, + 0,124,9,171,1,0,0,0,0,0,0,100,5,107,26,0, + 0,114,2,130,0,130,0,89,0,100,1,125,8,126,8,140, + 202,100,1,125,8,126,8,119,1,119,0,120,3,89,0,119, + 1,41,6,97,236,4,0,0,32,68,101,99,111,100,101,115, + 32,100,97,116,97,32,102,114,111,109,32,116,104,101,32,115, + 116,114,101,97,109,32,115,101,108,102,46,115,116,114,101,97, + 109,32,97,110,100,32,114,101,116,117,114,110,115,32,116,104, + 101,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101, + 115,117,108,116,105,110,103,32,111,98,106,101,99,116,46,10, + 10,32,32,32,32,32,32,32,32,32,32,32,32,99,104,97, + 114,115,32,105,110,100,105,99,97,116,101,115,32,116,104,101, + 32,110,117,109,98,101,114,32,111,102,32,100,101,99,111,100, + 101,100,32,99,111,100,101,32,112,111,105,110,116,115,32,111, + 114,32,98,121,116,101,115,32,116,111,10,32,32,32,32,32, + 32,32,32,32,32,32,32,114,101,116,117,114,110,46,32,114, + 101,97,100,40,41,32,119,105,108,108,32,110,101,118,101,114, + 32,114,101,116,117,114,110,32,109,111,114,101,32,100,97,116, + 97,32,116,104,97,110,32,114,101,113,117,101,115,116,101,100, + 44,10,32,32,32,32,32,32,32,32,32,32,32,32,98,117, + 116,32,105,116,32,109,105,103,104,116,32,114,101,116,117,114, + 110,32,108,101,115,115,44,32,105,102,32,116,104,101,114,101, + 32,105,115,32,110,111,116,32,101,110,111,117,103,104,32,97, + 118,97,105,108,97,98,108,101,46,10,10,32,32,32,32,32, + 32,32,32,32,32,32,32,115,105,122,101,32,105,110,100,105, + 99,97,116,101,115,32,116,104,101,32,97,112,112,114,111,120, + 105,109,97,116,101,32,109,97,120,105,109,117,109,32,110,117, + 109,98,101,114,32,111,102,32,100,101,99,111,100,101,100,10, + 32,32,32,32,32,32,32,32,32,32,32,32,98,121,116,101, + 115,32,111,114,32,99,111,100,101,32,112,111,105,110,116,115, + 32,116,111,32,114,101,97,100,32,102,111,114,32,100,101,99, + 111,100,105,110,103,46,32,84,104,101,32,100,101,99,111,100, + 101,114,10,32,32,32,32,32,32,32,32,32,32,32,32,99, + 97,110,32,109,111,100,105,102,121,32,116,104,105,115,32,115, + 101,116,116,105,110,103,32,97,115,32,97,112,112,114,111,112, + 114,105,97,116,101,46,32,84,104,101,32,100,101,102,97,117, + 108,116,32,118,97,108,117,101,10,32,32,32,32,32,32,32, + 32,32,32,32,32,45,49,32,105,110,100,105,99,97,116,101, + 115,32,116,111,32,114,101,97,100,32,97,110,100,32,100,101, + 99,111,100,101,32,97,115,32,109,117,99,104,32,97,115,32, + 112,111,115,115,105,98,108,101,46,32,32,115,105,122,101,10, + 32,32,32,32,32,32,32,32,32,32,32,32,105,115,32,105, + 110,116,101,110,100,101,100,32,116,111,32,112,114,101,118,101, + 110,116,32,104,97,118,105,110,103,32,116,111,32,100,101,99, + 111,100,101,32,104,117,103,101,32,102,105,108,101,115,32,105, + 110,32,111,110,101,10,32,32,32,32,32,32,32,32,32,32, + 32,32,115,116,101,112,46,10,10,32,32,32,32,32,32,32, + 32,32,32,32,32,73,102,32,102,105,114,115,116,108,105,110, + 101,32,105,115,32,116,114,117,101,44,32,97,110,100,32,97, + 32,85,110,105,99,111,100,101,68,101,99,111,100,101,69,114, + 114,111,114,32,104,97,112,112,101,110,115,10,32,32,32,32, + 32,32,32,32,32,32,32,32,97,102,116,101,114,32,116,104, + 101,32,102,105,114,115,116,32,108,105,110,101,32,116,101,114, + 109,105,110,97,116,111,114,32,105,110,32,116,104,101,32,105, + 110,112,117,116,32,111,110,108,121,32,116,104,101,32,102,105, + 114,115,116,32,108,105,110,101,10,32,32,32,32,32,32,32, + 32,32,32,32,32,119,105,108,108,32,98,101,32,114,101,116, + 117,114,110,101,100,44,32,116,104,101,32,114,101,115,116,32, + 111,102,32,116,104,101,32,105,110,112,117,116,32,119,105,108, + 108,32,98,101,32,107,101,112,116,32,117,110,116,105,108,32, + 116,104,101,10,32,32,32,32,32,32,32,32,32,32,32,32, + 110,101,120,116,32,99,97,108,108,32,116,111,32,114,101,97, + 100,40,41,46,10,10,32,32,32,32,32,32,32,32,32,32, + 32,32,84,104,101,32,109,101,116,104,111,100,32,115,104,111, + 117,108,100,32,117,115,101,32,97,32,103,114,101,101,100,121, + 32,114,101,97,100,32,115,116,114,97,116,101,103,121,44,32, + 109,101,97,110,105,110,103,32,116,104,97,116,10,32,32,32, + 32,32,32,32,32,32,32,32,32,105,116,32,115,104,111,117, + 108,100,32,114,101,97,100,32,97,115,32,109,117,99,104,32, + 100,97,116,97,32,97,115,32,105,115,32,97,108,108,111,119, + 101,100,32,119,105,116,104,105,110,32,116,104,101,10,32,32, + 32,32,32,32,32,32,32,32,32,32,100,101,102,105,110,105, + 116,105,111,110,32,111,102,32,116,104,101,32,101,110,99,111, + 100,105,110,103,32,97,110,100,32,116,104,101,32,103,105,118, + 101,110,32,115,105,122,101,44,32,101,46,103,46,32,32,105, + 102,10,32,32,32,32,32,32,32,32,32,32,32,32,111,112, + 116,105,111,110,97,108,32,101,110,99,111,100,105,110,103,32, + 101,110,100,105,110,103,115,32,111,114,32,115,116,97,116,101, + 32,109,97,114,107,101,114,115,32,97,114,101,32,97,118,97, + 105,108,97,98,108,101,10,32,32,32,32,32,32,32,32,32, + 32,32,32,111,110,32,116,104,101,32,115,116,114,101,97,109, + 44,32,116,104,101,115,101,32,115,104,111,117,108,100,32,98, + 101,32,114,101,97,100,32,116,111,111,46,10,32,32,32,32, + 32,32,32,32,78,114,2,0,0,0,84,169,1,218,8,107, + 101,101,112,101,110,100,115,233,1,0,0,0,41,13,114,192, + 0,0,0,114,190,0,0,0,114,147,0,0,0,114,191,0, + 0,0,218,3,108,101,110,114,141,0,0,0,218,4,114,101, + 97,100,114,188,0,0,0,114,37,0,0,0,114,80,0,0, + 0,218,18,85,110,105,99,111,100,101,68,101,99,111,100,101, + 69,114,114,111,114,218,5,115,116,97,114,116,218,10,115,112, + 108,105,116,108,105,110,101,115,41,11,114,61,0,0,0,218, + 4,115,105,122,101,218,5,99,104,97,114,115,218,9,102,105, + 114,115,116,108,105,110,101,218,7,110,101,119,100,97,116,97, + 114,114,0,0,0,218,8,110,101,119,99,104,97,114,115,218, + 12,100,101,99,111,100,101,100,98,121,116,101,115,218,3,101, + 120,99,218,5,108,105,110,101,115,114,115,0,0,0,115,11, + 0,0,0,32,32,32,32,32,32,32,32,32,32,32,114,62, + 0,0,0,114,199,0,0,0,122,17,83,116,114,101,97,109, + 82,101,97,100,101,114,46,114,101,97,100,198,1,0,0,115, + 152,1,0,0,128,0,240,56,0,12,16,143,63,138,63,216, + 30,34,215,30,52,209,30,52,215,30,57,209,30,57,184,36, + 191,47,185,47,211,30,74,136,68,140,79,216,30,34,136,68, + 140,79,224,11,16,144,49,138,57,240,6,0,21,25,136,69, + 240,6,0,15,19,224,15,20,152,1,138,122,220,19,22,144, + 116,151,127,145,127,211,19,39,168,53,210,19,48,216,20,25, + 224,15,19,144,97,138,120,216,26,30,159,43,153,43,215,26, + 42,209,26,42,211,26,44,145,7,224,26,30,159,43,153,43, + 215,26,42,209,26,42,168,52,211,26,48,144,7,224,19,23, + 151,63,145,63,160,87,209,19,44,136,68,217,19,23,216,16, + 21,240,2,10,13,26,216,41,45,175,27,169,27,176,84,184, + 52,191,59,185,59,211,41,71,209,16,38,144,8,152,44,240, + 22,0,31,35,160,60,160,61,208,30,49,136,68,140,79,224, + 12,16,143,79,138,79,152,120,209,12,39,141,79,225,19,26, + 216,16,21,240,63,0,15,19,240,64,1,0,12,17,144,49, + 138,57,224,21,25,151,95,145,95,136,70,216,30,34,215,30, + 52,209,30,52,136,68,140,79,240,10,0,16,22,136,13,240, + 5,0,22,26,151,95,145,95,160,86,160,101,208,21,44,136, + 70,216,30,34,159,111,153,111,168,101,168,102,208,30,53,136, + 68,140,79,216,15,21,136,13,248,244,49,0,20,38,242,0, + 8,13,26,217,19,28,224,24,28,159,11,153,11,160,68,168, + 26,168,35,175,41,169,41,208,36,52,176,100,183,107,177,107, + 211,24,66,241,3,0,21,43,144,72,152,108,224,28,36,215, + 28,47,209,28,47,184,20,208,28,47,211,28,62,144,69,220, + 23,26,152,53,147,122,160,49,146,125,216,24,29,224,20,25, + 244,7,0,24,37,251,240,11,8,13,26,250,115,25,0,0, + 0,194,50,31,68,61,0,196,61,9,70,32,3,197,6,65, + 16,70,27,3,198,27,5,70,32,3,78,99,3,0,0,0, + 0,0,0,0,0,0,0,0,5,0,0,0,3,0,0,0, + 243,38,4,0,0,151,0,124,0,106,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,114,104,124, + 0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,1,25,0,0,0,125,3,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,1,61,0,116,3,0,0,0,0,0,0,0, + 0,124,0,106,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,1,0,0,0,0,0,0,100, + 2,107,40,0,0,114,27,124,0,106,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,1,25, + 0,0,0,124,0,95,2,0,0,0,0,0,0,0,0,100, + 3,124,0,95,0,0,0,0,0,0,0,0,0,124,2,115, + 21,124,3,106,7,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,4,172,5,171,1,0,0,0, + 0,0,0,100,1,25,0,0,0,125,3,124,3,83,0,124, + 1,120,1,115,2,1,0,100,6,125,4,124,0,106,8,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,125,3,9,0,124,0,106,11,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,4,100,7,172, + 8,171,2,0,0,0,0,0,0,125,5,124,5,114,88,116, + 13,0,0,0,0,0,0,0,0,124,5,116,14,0,0,0, + 0,0,0,0,0,171,2,0,0,0,0,0,0,114,17,124, + 5,106,17,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,9,171,1,0,0,0,0,0,0,115, + 33,116,13,0,0,0,0,0,0,0,0,124,5,116,18,0, + 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,114, + 39,124,5,106,17,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,10,171,1,0,0,0,0,0, + 0,114,22,124,5,124,0,106,11,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,2,100,2,172, + 11,171,2,0,0,0,0,0,0,122,13,0,0,125,5,124, + 3,124,5,122,13,0,0,125,3,124,3,106,7,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 7,172,5,171,1,0,0,0,0,0,0,125,6,124,6,114, + 217,116,3,0,0,0,0,0,0,0,0,124,6,171,1,0, + 0,0,0,0,0,100,2,107,68,0,0,114,109,124,6,100, + 1,25,0,0,0,125,3,124,6,100,1,61,0,116,3,0, + 0,0,0,0,0,0,0,124,6,171,1,0,0,0,0,0, + 0,100,2,107,68,0,0,114,38,124,6,100,12,120,2,120, + 2,25,0,0,0,124,0,106,4,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,122,13,0,0,99, + 3,99,2,60,0,0,0,124,6,124,0,95,0,0,0,0, + 0,0,0,0,0,100,3,124,0,95,2,0,0,0,0,0, + 0,0,0,110,23,124,6,100,1,25,0,0,0,124,0,106, + 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,122,0,0,0,124,0,95,2,0,0,0,0,0, + 0,0,0,124,2,115,21,124,3,106,7,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,4,172, + 5,171,1,0,0,0,0,0,0,100,1,25,0,0,0,125, + 3,9,0,124,3,83,0,124,6,100,1,25,0,0,0,125, + 7,124,6,100,1,25,0,0,0,106,7,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,4,172, + 5,171,1,0,0,0,0,0,0,100,1,25,0,0,0,125, + 8,124,7,124,8,107,55,0,0,114,60,124,0,106,8,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,106,21,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,6,100,2,100,3,26,0,171,1,0, + 0,0,0,0,0,124,0,106,4,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,122,0,0,0,124, + 0,95,2,0,0,0,0,0,0,0,0,124,2,114,5,124, + 7,125,3,9,0,124,3,83,0,124,8,125,3,9,0,124, + 3,83,0,124,5,114,2,124,1,129,28,124,3,114,23,124, + 2,115,21,124,3,106,7,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,4,172,5,171,1,0, + 0,0,0,0,0,100,1,25,0,0,0,125,3,9,0,124, + 3,83,0,124,4,100,13,107,2,0,0,114,5,124,4,100, + 14,122,18,0,0,125,4,144,1,140,139,41,15,122,177,32, + 82,101,97,100,32,111,110,101,32,108,105,110,101,32,102,114, + 111,109,32,116,104,101,32,105,110,112,117,116,32,115,116,114, + 101,97,109,32,97,110,100,32,114,101,116,117,114,110,32,116, + 104,101,10,32,32,32,32,32,32,32,32,32,32,32,32,100, + 101,99,111,100,101,100,32,100,97,116,97,46,10,10,32,32, + 32,32,32,32,32,32,32,32,32,32,115,105,122,101,44,32, + 105,102,32,103,105,118,101,110,44,32,105,115,32,112,97,115, + 115,101,100,32,97,115,32,115,105,122,101,32,97,114,103,117, + 109,101,110,116,32,116,111,32,116,104,101,10,32,32,32,32, + 32,32,32,32,32,32,32,32,114,101,97,100,40,41,32,109, + 101,116,104,111,100,46,10,10,32,32,32,32,32,32,32,32, + 114,2,0,0,0,114,197,0,0,0,78,70,114,195,0,0, + 0,233,72,0,0,0,84,41,1,114,205,0,0,0,250,1, + 13,243,1,0,0,0,13,41,2,114,203,0,0,0,114,204, + 0,0,0,233,255,255,255,255,105,64,31,0,0,233,2,0, + 0,0,41,11,114,192,0,0,0,114,198,0,0,0,114,191, + 0,0,0,114,202,0,0,0,114,190,0,0,0,114,199,0, + 0,0,218,10,105,115,105,110,115,116,97,110,99,101,218,3, + 115,116,114,218,8,101,110,100,115,119,105,116,104,218,5,98, + 121,116,101,115,114,147,0,0,0,41,9,114,61,0,0,0, + 114,203,0,0,0,114,196,0,0,0,218,4,108,105,110,101, + 218,8,114,101,97,100,115,105,122,101,114,114,0,0,0,114, + 210,0,0,0,218,12,108,105,110,101,48,119,105,116,104,101, + 110,100,218,15,108,105,110,101,48,119,105,116,104,111,117,116, + 101,110,100,115,9,0,0,0,32,32,32,32,32,32,32,32, + 32,114,62,0,0,0,218,8,114,101,97,100,108,105,110,101, + 122,21,83,116,114,101,97,109,82,101,97,100,101,114,46,114, + 101,97,100,108,105,110,101,22,2,0,0,115,59,2,0,0, + 128,0,240,22,0,12,16,143,63,138,63,216,19,23,151,63, + 145,63,160,49,209,19,37,136,68,216,16,20,151,15,145,15, + 160,1,208,16,34,220,15,18,144,52,151,63,145,63,211,15, + 35,160,113,210,15,40,240,6,0,35,39,167,47,161,47,176, + 33,209,34,52,144,4,148,15,216,34,38,144,4,148,15,217, + 19,27,216,23,27,151,127,145,127,176,5,144,127,211,23,54, + 176,113,209,23,57,144,4,216,19,23,136,75,224,19,23,146, + 58,152,50,136,8,216,15,19,215,15,37,209,15,37,136,4, + 224,14,18,216,19,23,151,57,145,57,152,88,176,20,144,57, + 211,19,54,136,68,217,15,19,244,8,0,21,31,152,116,164, + 83,212,20,41,168,100,175,109,169,109,184,68,212,46,65,220, + 20,30,152,116,164,85,212,20,43,176,4,183,13,177,13,184, + 101,212,48,68,216,20,24,152,68,159,73,153,73,168,49,176, + 65,152,73,211,28,54,209,20,54,144,68,224,12,16,144,68, + 137,76,136,68,216,20,24,151,79,145,79,168,84,144,79,211, + 20,50,136,69,217,15,20,220,19,22,144,117,147,58,160,1, + 146,62,240,6,0,28,33,160,17,153,56,144,68,216,24,29, + 152,97,152,8,220,23,26,152,53,147,122,160,65,146,126,224, + 24,29,152,98,155,9,160,84,167,95,161,95,209,24,52,155, + 9,216,42,47,152,4,156,15,216,42,46,152,4,157,15,240, + 6,0,43,48,176,1,169,40,176,84,183,95,177,95,209,42, + 68,152,4,156,15,217,27,35,216,31,35,159,127,153,127,184, + 5,152,127,211,31,62,184,113,209,31,65,152,4,216,20,25, + 240,38,0,16,20,136,11,240,37,0,32,37,160,81,153,120, + 144,12,216,34,39,168,1,161,40,215,34,53,209,34,53,184, + 117,208,34,53,211,34,69,192,97,209,34,72,144,15,216,19, + 31,160,63,210,19,50,224,38,42,215,38,60,209,38,60,215, + 38,65,209,38,65,192,37,200,1,200,2,192,41,211,38,76, + 216,38,42,167,111,161,111,241,3,1,39,54,144,68,148,79, + 225,23,31,216,31,43,152,4,240,6,0,21,26,240,16,0, + 16,20,136,11,240,19,0,32,47,152,4,216,20,25,240,16, + 0,16,20,136,11,241,13,0,20,24,152,52,208,27,43,217, + 19,23,161,8,216,27,31,159,63,153,63,176,69,152,63,211, + 27,58,184,49,209,27,61,144,68,216,16,21,240,6,0,16, + 20,136,11,240,5,0,16,24,152,36,138,127,216,16,24,152, + 65,145,13,144,8,241,93,1,0,15,19,114,63,0,0,0, + 99,3,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,3,0,0,0,243,68,0,0,0,151,0,124,0,106,1, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,125,3,124,3,106,3, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,2,171,1,0,0,0,0,0,0,83,0,41,1, + 97,83,1,0,0,32,82,101,97,100,32,97,108,108,32,108, + 105,110,101,115,32,97,118,97,105,108,97,98,108,101,32,111, + 110,32,116,104,101,32,105,110,112,117,116,32,115,116,114,101, + 97,109,10,32,32,32,32,32,32,32,32,32,32,32,32,97, + 110,100,32,114,101,116,117,114,110,32,116,104,101,109,32,97, + 115,32,97,32,108,105,115,116,46,10,10,32,32,32,32,32, + 32,32,32,32,32,32,32,76,105,110,101,32,98,114,101,97, + 107,115,32,97,114,101,32,105,109,112,108,101,109,101,110,116, + 101,100,32,117,115,105,110,103,32,116,104,101,32,99,111,100, + 101,99,39,115,32,100,101,99,111,100,101,114,10,32,32,32, + 32,32,32,32,32,32,32,32,32,109,101,116,104,111,100,32, + 97,110,100,32,97,114,101,32,105,110,99,108,117,100,101,100, + 32,105,110,32,116,104,101,32,108,105,115,116,32,101,110,116, + 114,105,101,115,46,10,10,32,32,32,32,32,32,32,32,32, + 32,32,32,115,105,122,101,104,105,110,116,44,32,105,102,32, + 103,105,118,101,110,44,32,105,115,32,105,103,110,111,114,101, + 100,32,115,105,110,99,101,32,116,104,101,114,101,32,105,115, + 32,110,111,32,101,102,102,105,99,105,101,110,116,10,32,32, + 32,32,32,32,32,32,32,32,32,32,119,97,121,32,116,111, + 32,102,105,110,100,105,110,103,32,116,104,101,32,116,114,117, + 101,32,101,110,100,45,111,102,45,108,105,110,101,46,10,10, + 32,32,32,32,32,32,32,32,41,2,114,199,0,0,0,114, + 202,0,0,0,41,4,114,61,0,0,0,218,8,115,105,122, + 101,104,105,110,116,114,196,0,0,0,114,114,0,0,0,115, + 4,0,0,0,32,32,32,32,114,62,0,0,0,218,9,114, + 101,97,100,108,105,110,101,115,122,22,83,116,114,101,97,109, + 82,101,97,100,101,114,46,114,101,97,100,108,105,110,101,115, + 97,2,0,0,115,30,0,0,0,128,0,240,24,0,16,20, + 143,121,137,121,139,123,136,4,216,15,19,143,127,137,127,152, + 120,211,15,40,208,8,40,114,63,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0, + 0,243,66,0,0,0,151,0,100,1,124,0,95,0,0,0, + 0,0,0,0,0,0,124,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,95,2, + 0,0,0,0,0,0,0,0,100,2,124,0,95,3,0,0, + 0,0,0,0,0,0,121,2,41,3,122,236,32,82,101,115, + 101,116,115,32,116,104,101,32,99,111,100,101,99,32,98,117, + 102,102,101,114,115,32,117,115,101,100,32,102,111,114,32,107, + 101,101,112,105,110,103,32,105,110,116,101,114,110,97,108,32, + 115,116,97,116,101,46,10,10,32,32,32,32,32,32,32,32, + 32,32,32,32,78,111,116,101,32,116,104,97,116,32,110,111, + 32,115,116,114,101,97,109,32,114,101,112,111,115,105,116,105, + 111,110,105,110,103,32,115,104,111,117,108,100,32,116,97,107, + 101,32,112,108,97,99,101,46,10,32,32,32,32,32,32,32, + 32,32,32,32,32,84,104,105,115,32,109,101,116,104,111,100, + 32,105,115,32,112,114,105,109,97,114,105,108,121,32,105,110, + 116,101,110,100,101,100,32,116,111,32,98,101,32,97,98,108, + 101,32,116,111,32,114,101,99,111,118,101,114,10,32,32,32, + 32,32,32,32,32,32,32,32,32,102,114,111,109,32,100,101, + 99,111,100,105,110,103,32,101,114,114,111,114,115,46,10,10, + 32,32,32,32,32,32,32,32,114,63,0,0,0,78,41,4, + 114,188,0,0,0,114,190,0,0,0,114,191,0,0,0,114, + 192,0,0,0,114,69,0,0,0,115,1,0,0,0,32,114, + 62,0,0,0,114,95,0,0,0,122,18,83,116,114,101,97, + 109,82,101,97,100,101,114,46,114,101,115,101,116,112,2,0, + 0,115,31,0,0,0,128,0,240,18,0,27,30,136,4,140, + 15,216,26,30,215,26,48,209,26,48,136,4,140,15,216,26, + 30,136,4,141,15,114,63,0,0,0,99,3,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243, + 92,0,0,0,151,0,124,0,106,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,3,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,124,2,171,2,0,0,0,0,0,0,1,0,124,0, + 106,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,1,0,121,1, + 41,2,122,112,32,83,101,116,32,116,104,101,32,105,110,112, + 117,116,32,115,116,114,101,97,109,39,115,32,99,117,114,114, + 101,110,116,32,112,111,115,105,116,105,111,110,46,10,10,32, + 32,32,32,32,32,32,32,32,32,32,32,82,101,115,101,116, + 115,32,116,104,101,32,99,111,100,101,99,32,98,117,102,102, + 101,114,115,32,117,115,101,100,32,102,111,114,32,107,101,101, + 112,105,110,103,32,115,116,97,116,101,46,10,32,32,32,32, + 32,32,32,32,78,114,153,0,0,0,114,155,0,0,0,115, + 3,0,0,0,32,32,32,114,62,0,0,0,114,154,0,0, + 0,122,17,83,116,114,101,97,109,82,101,97,100,101,114,46, + 115,101,101,107,125,2,0,0,115,33,0,0,0,128,0,240, + 10,0,9,13,143,11,137,11,215,8,24,209,8,24,152,22, + 160,22,212,8,40,216,8,12,143,10,137,10,141,12,114,63, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,3,0,0,0,243,54,0,0,0,151,0,124, + 0,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,125,1,124, + 1,114,2,124,1,83,0,116,2,0,0,0,0,0,0,0, + 0,130,1,169,1,122,52,32,82,101,116,117,114,110,32,116, + 104,101,32,110,101,120,116,32,100,101,99,111,100,101,100,32, + 108,105,110,101,32,102,114,111,109,32,116,104,101,32,105,110, + 112,117,116,32,115,116,114,101,97,109,46,41,2,114,225,0, + 0,0,218,13,83,116,111,112,73,116,101,114,97,116,105,111, + 110,41,2,114,61,0,0,0,114,221,0,0,0,115,2,0, + 0,0,32,32,114,62,0,0,0,218,8,95,95,110,101,120, + 116,95,95,122,21,83,116,114,101,97,109,82,101,97,100,101, + 114,46,95,95,110,101,120,116,95,95,133,2,0,0,115,29, + 0,0,0,128,0,240,6,0,16,20,143,125,137,125,139,127, + 136,4,217,11,15,216,19,23,136,75,220,14,27,208,8,27, + 114,63,0,0,0,99,1,0,0,0,0,0,0,0,0,0, + 0,0,1,0,0,0,3,0,0,0,243,6,0,0,0,151, + 0,124,0,83,0,114,52,0,0,0,114,73,0,0,0,114, + 69,0,0,0,115,1,0,0,0,32,114,62,0,0,0,218, + 8,95,95,105,116,101,114,95,95,122,21,83,116,114,101,97, + 109,82,101,97,100,101,114,46,95,95,105,116,101,114,95,95, + 141,2,0,0,114,167,0,0,0,114,63,0,0,0,99,3, + 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3, + 0,0,0,243,40,0,0,0,151,0,2,0,124,2,124,0, + 106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,171,2,0,0,0,0,0,0,83,0, + 114,159,0,0,0,114,160,0,0,0,114,161,0,0,0,115, + 3,0,0,0,32,32,32,114,62,0,0,0,114,163,0,0, + 0,122,24,83,116,114,101,97,109,82,101,97,100,101,114,46, + 95,95,103,101,116,97,116,116,114,95,95,144,2,0,0,114, + 164,0,0,0,114,63,0,0,0,99,1,0,0,0,0,0, + 0,0,0,0,0,0,1,0,0,0,3,0,0,0,243,6, + 0,0,0,151,0,124,0,83,0,114,52,0,0,0,114,73, + 0,0,0,114,69,0,0,0,115,1,0,0,0,32,114,62, + 0,0,0,114,166,0,0,0,122,22,83,116,114,101,97,109, + 82,101,97,100,101,114,46,95,95,101,110,116,101,114,95,95, + 151,2,0,0,114,167,0,0,0,114,63,0,0,0,99,4, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3, + 0,0,0,243,56,0,0,0,151,0,124,0,106,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,1,0,121,0, + 114,52,0,0,0,114,169,0,0,0,114,171,0,0,0,115, + 4,0,0,0,32,32,32,32,114,62,0,0,0,114,175,0, + 0,0,122,21,83,116,114,101,97,109,82,101,97,100,101,114, + 46,95,95,101,120,105,116,95,95,154,2,0,0,114,176,0, + 0,0,114,63,0,0,0,99,2,0,0,0,0,0,0,0, + 0,0,0,0,4,0,0,0,3,0,0,0,243,70,0,0, + 0,151,0,116,1,0,0,0,0,0,0,0,0,100,1,124, + 0,106,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,106,4,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,122,6,0,0,171,1,0, + 0,0,0,0,0,130,1,114,178,0,0,0,114,179,0,0, + 0,114,181,0,0,0,115,2,0,0,0,32,32,114,62,0, + 0,0,114,183,0,0,0,122,26,83,116,114,101,97,109,82, + 101,97,100,101,114,46,95,95,114,101,100,117,99,101,95,101, + 120,95,95,157,2,0,0,114,184,0,0,0,114,63,0,0, + 0,114,82,0,0,0,41,3,114,215,0,0,0,114,215,0, + 0,0,70,41,2,78,84,114,185,0,0,0,41,19,114,71, + 0,0,0,114,66,0,0,0,114,67,0,0,0,114,218,0, + 0,0,114,189,0,0,0,114,89,0,0,0,114,37,0,0, + 0,114,199,0,0,0,114,225,0,0,0,114,228,0,0,0, + 114,95,0,0,0,114,154,0,0,0,114,234,0,0,0,114, + 236,0,0,0,114,162,0,0,0,114,163,0,0,0,114,166, + 0,0,0,114,175,0,0,0,114,183,0,0,0,114,73,0, + 0,0,114,63,0,0,0,114,62,0,0,0,114,26,0,0, + 0,114,26,0,0,0,166,1,0,0,115,82,0,0,0,132, + 0,224,21,24,128,78,243,4,23,5,31,243,50,1,5,34, + 243,6,78,1,5,22,243,96,2,73,1,5,20,243,86,2, + 13,5,41,242,30,11,5,31,243,26,6,5,21,242,16,6, + 5,28,242,16,1,5,20,240,8,0,29,36,243,3,5,5, + 42,242,14,1,5,20,242,6,1,5,28,243,6,1,5,72, + 1,114,63,0,0,0,114,26,0,0,0,99,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, + 243,118,0,0,0,151,0,101,0,90,1,100,0,90,2,100, + 1,90,3,100,2,90,4,100,18,100,3,132,1,90,5,100, + 19,100,4,132,1,90,6,100,20,100,6,132,1,90,7,100, + 20,100,7,132,1,90,8,100,8,132,0,90,9,100,9,132, + 0,90,10,100,10,132,0,90,11,100,11,132,0,90,12,100, + 12,132,0,90,13,100,21,100,13,132,1,90,14,101,15,102, + 1,100,14,132,1,90,16,100,15,132,0,90,17,100,16,132, + 0,90,18,100,17,132,0,90,19,121,5,41,22,114,28,0, + 0,0,97,1,1,0,0,32,83,116,114,101,97,109,82,101, + 97,100,101,114,87,114,105,116,101,114,32,105,110,115,116,97, + 110,99,101,115,32,97,108,108,111,119,32,119,114,97,112,112, + 105,110,103,32,115,116,114,101,97,109,115,32,119,104,105,99, + 104,10,32,32,32,32,32,32,32,32,119,111,114,107,32,105, + 110,32,98,111,116,104,32,114,101,97,100,32,97,110,100,32, + 119,114,105,116,101,32,109,111,100,101,115,46,10,10,32,32, + 32,32,32,32,32,32,84,104,101,32,100,101,115,105,103,110, + 32,105,115,32,115,117,99,104,32,116,104,97,116,32,111,110, + 101,32,99,97,110,32,117,115,101,32,116,104,101,32,102,97, + 99,116,111,114,121,32,102,117,110,99,116,105,111,110,115,10, + 32,32,32,32,32,32,32,32,114,101,116,117,114,110,101,100, + 32,98,121,32,116,104,101,32,99,111,100,101,99,46,108,111, + 111,107,117,112,40,41,32,102,117,110,99,116,105,111,110,32, + 116,111,32,99,111,110,115,116,114,117,99,116,32,116,104,101, + 10,32,32,32,32,32,32,32,32,105,110,115,116,97,110,99, + 101,46,10,10,32,32,32,32,218,7,117,110,107,110,111,119, + 110,99,5,0,0,0,0,0,0,0,0,0,0,0,4,0, + 0,0,3,0,0,0,243,88,0,0,0,151,0,124,1,124, + 0,95,0,0,0,0,0,0,0,0,0,2,0,124,2,124, + 1,124,4,171,2,0,0,0,0,0,0,124,0,95,1,0, + 0,0,0,0,0,0,0,2,0,124,3,124,1,124,4,171, + 2,0,0,0,0,0,0,124,0,95,2,0,0,0,0,0, + 0,0,0,124,4,124,0,95,3,0,0,0,0,0,0,0, + 0,121,1,41,2,97,82,1,0,0,32,67,114,101,97,116, + 101,115,32,97,32,83,116,114,101,97,109,82,101,97,100,101, + 114,87,114,105,116,101,114,32,105,110,115,116,97,110,99,101, + 46,10,10,32,32,32,32,32,32,32,32,32,32,32,32,115, + 116,114,101,97,109,32,109,117,115,116,32,98,101,32,97,32, + 83,116,114,101,97,109,45,108,105,107,101,32,111,98,106,101, + 99,116,46,10,10,32,32,32,32,32,32,32,32,32,32,32, + 32,82,101,97,100,101,114,44,32,87,114,105,116,101,114,32, + 109,117,115,116,32,98,101,32,102,97,99,116,111,114,121,32, + 102,117,110,99,116,105,111,110,115,32,111,114,32,99,108,97, + 115,115,101,115,10,32,32,32,32,32,32,32,32,32,32,32, + 32,112,114,111,118,105,100,105,110,103,32,116,104,101,32,83, + 116,114,101,97,109,82,101,97,100,101,114,44,32,83,116,114, + 101,97,109,87,114,105,116,101,114,32,105,110,116,101,114,102, + 97,99,101,32,114,101,115,112,46,10,10,32,32,32,32,32, + 32,32,32,32,32,32,32,69,114,114,111,114,32,104,97,110, + 100,108,105,110,103,32,105,115,32,100,111,110,101,32,105,110, + 32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115, + 32,100,101,102,105,110,101,100,32,102,111,114,32,116,104,101, + 10,32,32,32,32,32,32,32,32,32,32,32,32,83,116,114, + 101,97,109,87,114,105,116,101,114,47,82,101,97,100,101,114, + 115,46,10,10,32,32,32,32,32,32,32,32,78,41,4,114, + 141,0,0,0,218,6,114,101,97,100,101,114,218,6,119,114, + 105,116,101,114,114,80,0,0,0,41,5,114,61,0,0,0, + 114,141,0,0,0,218,6,82,101,97,100,101,114,218,6,87, + 114,105,116,101,114,114,80,0,0,0,115,5,0,0,0,32, + 32,32,32,32,114,62,0,0,0,114,89,0,0,0,122,27, + 83,116,114,101,97,109,82,101,97,100,101,114,87,114,105,116, + 101,114,46,95,95,105,110,105,116,95,95,175,2,0,0,115, + 46,0,0,0,128,0,240,26,0,23,29,136,4,140,11,217, + 22,28,152,86,160,86,211,22,44,136,4,140,11,217,22,28, + 152,86,160,86,211,22,44,136,4,140,11,216,22,28,136,4, + 141,11,114,63,0,0,0,99,2,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,3,0,0,0,243,56,0,0, + 0,151,0,124,0,106,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,3,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,83,0,114,52,0,0,0,41,2, + 114,244,0,0,0,114,199,0,0,0,169,2,114,61,0,0, + 0,114,203,0,0,0,115,2,0,0,0,32,32,114,62,0, + 0,0,114,199,0,0,0,122,23,83,116,114,101,97,109,82, + 101,97,100,101,114,87,114,105,116,101,114,46,114,101,97,100, + 193,2,0,0,115,23,0,0,0,128,0,224,15,19,143,123, + 137,123,215,15,31,209,15,31,160,4,211,15,37,208,8,37, + 114,63,0,0,0,78,99,2,0,0,0,0,0,0,0,0, + 0,0,0,3,0,0,0,3,0,0,0,243,56,0,0,0, + 151,0,124,0,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,106,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,1,171,1, + 0,0,0,0,0,0,83,0,114,52,0,0,0,41,2,114, + 244,0,0,0,114,225,0,0,0,114,249,0,0,0,115,2, + 0,0,0,32,32,114,62,0,0,0,114,225,0,0,0,122, + 27,83,116,114,101,97,109,82,101,97,100,101,114,87,114,105, + 116,101,114,46,114,101,97,100,108,105,110,101,197,2,0,0, + 115,23,0,0,0,128,0,224,15,19,143,123,137,123,215,15, + 35,209,15,35,160,68,211,15,41,208,8,41,114,63,0,0, + 0,99,2,0,0,0,0,0,0,0,0,0,0,0,3,0, + 0,0,3,0,0,0,243,56,0,0,0,151,0,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,3,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,83,0,114,52,0,0,0,41,2,114,244,0,0,0,114, + 228,0,0,0,41,2,114,61,0,0,0,114,227,0,0,0, + 115,2,0,0,0,32,32,114,62,0,0,0,114,228,0,0, + 0,122,28,83,116,114,101,97,109,82,101,97,100,101,114,87, + 114,105,116,101,114,46,114,101,97,100,108,105,110,101,115,201, + 2,0,0,115,23,0,0,0,128,0,224,15,19,143,123,137, + 123,215,15,36,209,15,36,160,88,211,15,46,208,8,46,114, + 63,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0, + 0,3,0,0,0,3,0,0,0,243,44,0,0,0,151,0, + 116,1,0,0,0,0,0,0,0,0,124,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,83,0,114,232,0,0,0,41, + 2,218,4,110,101,120,116,114,244,0,0,0,114,69,0,0, + 0,115,1,0,0,0,32,114,62,0,0,0,114,234,0,0, + 0,122,27,83,116,114,101,97,109,82,101,97,100,101,114,87, + 114,105,116,101,114,46,95,95,110,101,120,116,95,95,205,2, + 0,0,115,19,0,0,0,128,0,244,6,0,16,20,144,68, + 151,75,145,75,211,15,32,208,8,32,114,63,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 3,0,0,0,243,6,0,0,0,151,0,124,0,83,0,114, + 52,0,0,0,114,73,0,0,0,114,69,0,0,0,115,1, + 0,0,0,32,114,62,0,0,0,114,236,0,0,0,122,27, + 83,116,114,101,97,109,82,101,97,100,101,114,87,114,105,116, + 101,114,46,95,95,105,116,101,114,95,95,210,2,0,0,114, + 167,0,0,0,114,63,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,3,0,0,0,3,0,0,0,243,56, + 0,0,0,151,0,124,0,106,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,106,3,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 1,171,1,0,0,0,0,0,0,83,0,114,52,0,0,0, + 41,2,114,245,0,0,0,114,144,0,0,0,41,2,114,61, + 0,0,0,114,114,0,0,0,115,2,0,0,0,32,32,114, + 62,0,0,0,114,144,0,0,0,122,24,83,116,114,101,97, + 109,82,101,97,100,101,114,87,114,105,116,101,114,46,119,114, + 105,116,101,213,2,0,0,115,23,0,0,0,128,0,224,15, + 19,143,123,137,123,215,15,32,209,15,32,160,20,211,15,38, + 208,8,38,114,63,0,0,0,99,2,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,3,0,0,0,243,56,0, + 0,0,151,0,124,0,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,106,3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 171,1,0,0,0,0,0,0,83,0,114,52,0,0,0,41, + 2,114,245,0,0,0,114,150,0,0,0,114,148,0,0,0, + 115,2,0,0,0,32,32,114,62,0,0,0,114,150,0,0, + 0,122,29,83,116,114,101,97,109,82,101,97,100,101,114,87, + 114,105,116,101,114,46,119,114,105,116,101,108,105,110,101,115, + 217,2,0,0,115,23,0,0,0,128,0,224,15,19,143,123, + 137,123,215,15,37,209,15,37,160,100,211,15,43,208,8,43, + 114,63,0,0,0,99,1,0,0,0,0,0,0,0,0,0, + 0,0,2,0,0,0,3,0,0,0,243,108,0,0,0,151, + 0,124,0,106,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,3,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,171,0,0,0,0, + 0,0,0,1,0,124,0,106,4,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,106,3,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 0,0,0,0,0,0,0,1,0,121,0,114,52,0,0,0, + 169,3,114,244,0,0,0,114,95,0,0,0,114,245,0,0, + 0,114,69,0,0,0,115,1,0,0,0,32,114,62,0,0, + 0,114,95,0,0,0,122,24,83,116,114,101,97,109,82,101, + 97,100,101,114,87,114,105,116,101,114,46,114,101,115,101,116, + 221,2,0,0,243,34,0,0,0,128,0,224,8,12,143,11, + 137,11,215,8,25,209,8,25,212,8,27,216,8,12,143,11, + 137,11,215,8,25,209,8,25,213,8,27,114,63,0,0,0, + 99,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,188,0,0,0,151,0,124,0,106,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,124,2,171,2,0,0,0,0, + 0,0,1,0,124,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,106,7,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,1,0,124,2,100,1,107,40,0,0, + 114,33,124,1,100,1,107,40,0,0,114,27,124,0,106,8, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,7,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,1,0, + 121,0,121,0,121,0,114,120,0,0,0,41,5,114,141,0, + 0,0,114,154,0,0,0,114,244,0,0,0,114,95,0,0, + 0,114,245,0,0,0,114,155,0,0,0,115,3,0,0,0, + 32,32,32,114,62,0,0,0,114,154,0,0,0,122,23,83, + 116,114,101,97,109,82,101,97,100,101,114,87,114,105,116,101, + 114,46,115,101,101,107,226,2,0,0,115,74,0,0,0,128, + 0,216,8,12,143,11,137,11,215,8,24,209,8,24,152,22, + 160,22,212,8,40,216,8,12,143,11,137,11,215,8,25,209, + 8,25,212,8,27,216,11,17,144,81,138,59,152,54,160,81, + 154,59,216,12,16,143,75,137,75,215,12,29,209,12,29,213, + 12,31,240,3,0,28,39,136,59,114,63,0,0,0,99,3, + 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3, + 0,0,0,243,40,0,0,0,151,0,2,0,124,2,124,0, + 106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,171,2,0,0,0,0,0,0,83,0, + 114,159,0,0,0,114,160,0,0,0,114,161,0,0,0,115, + 3,0,0,0,32,32,32,114,62,0,0,0,114,163,0,0, + 0,122,30,83,116,114,101,97,109,82,101,97,100,101,114,87, + 114,105,116,101,114,46,95,95,103,101,116,97,116,116,114,95, + 95,232,2,0,0,114,164,0,0,0,114,63,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 3,0,0,0,243,6,0,0,0,151,0,124,0,83,0,114, + 52,0,0,0,114,73,0,0,0,114,69,0,0,0,115,1, + 0,0,0,32,114,62,0,0,0,114,166,0,0,0,122,28, + 83,116,114,101,97,109,82,101,97,100,101,114,87,114,105,116, + 101,114,46,95,95,101,110,116,101,114,95,95,241,2,0,0, + 114,167,0,0,0,114,63,0,0,0,99,4,0,0,0,0, + 0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,243, + 56,0,0,0,151,0,124,0,106,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,3,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,1,0,121,0,114,52,0,0, + 0,114,169,0,0,0,114,171,0,0,0,115,4,0,0,0, + 32,32,32,32,114,62,0,0,0,114,175,0,0,0,122,27, + 83,116,114,101,97,109,82,101,97,100,101,114,87,114,105,116, + 101,114,46,95,95,101,120,105,116,95,95,244,2,0,0,114, + 176,0,0,0,114,63,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,70, + 0,0,0,151,0,116,1,0,0,0,0,0,0,0,0,100, + 1,124,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,4,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,122,6,0,0,171, + 1,0,0,0,0,0,0,130,1,114,178,0,0,0,114,179, + 0,0,0,114,181,0,0,0,115,2,0,0,0,32,32,114, + 62,0,0,0,114,183,0,0,0,122,32,83,116,114,101,97, + 109,82,101,97,100,101,114,87,114,105,116,101,114,46,95,95, + 114,101,100,117,99,101,95,101,120,95,95,247,2,0,0,114, + 184,0,0,0,114,63,0,0,0,114,82,0,0,0,169,1, + 114,215,0,0,0,114,52,0,0,0,114,185,0,0,0,41, + 20,114,71,0,0,0,114,66,0,0,0,114,67,0,0,0, + 114,72,0,0,0,218,8,101,110,99,111,100,105,110,103,114, + 89,0,0,0,114,199,0,0,0,114,225,0,0,0,114,228, + 0,0,0,114,234,0,0,0,114,236,0,0,0,114,144,0, + 0,0,114,150,0,0,0,114,95,0,0,0,114,154,0,0, + 0,114,162,0,0,0,114,163,0,0,0,114,166,0,0,0, + 114,175,0,0,0,114,183,0,0,0,114,73,0,0,0,114, + 63,0,0,0,114,62,0,0,0,114,28,0,0,0,114,28, + 0,0,0,162,2,0,0,115,90,0,0,0,132,0,241,4, + 7,5,8,240,18,0,16,25,128,72,243,4,16,5,29,243, + 36,2,5,38,243,8,2,5,42,243,8,2,5,47,242,8, + 3,5,33,242,10,1,5,20,242,6,2,5,39,242,8,2, + 5,44,242,8,3,5,28,243,10,4,5,32,240,14,0,29, + 36,243,3,5,5,42,242,18,1,5,20,242,6,1,5,28, + 243,6,1,5,72,1,114,63,0,0,0,114,28,0,0,0, + 99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, + 0,0,0,0,0,243,124,0,0,0,151,0,101,0,90,1, + 100,0,90,2,100,1,90,3,100,2,90,4,100,2,90,5, + 9,0,100,18,100,3,132,1,90,6,100,19,100,4,132,1, + 90,7,100,20,100,6,132,1,90,8,100,20,100,7,132,1, + 90,9,100,8,132,0,90,10,100,9,132,0,90,11,100,10, + 132,0,90,12,100,11,132,0,90,13,100,12,132,0,90,14, + 100,21,100,13,132,1,90,15,101,16,102,1,100,14,132,1, + 90,17,100,15,132,0,90,18,100,16,132,0,90,19,100,17, + 132,0,90,20,121,5,41,22,114,29,0,0,0,97,66,2, + 0,0,32,83,116,114,101,97,109,82,101,99,111,100,101,114, + 32,105,110,115,116,97,110,99,101,115,32,116,114,97,110,115, + 108,97,116,101,32,100,97,116,97,32,102,114,111,109,32,111, + 110,101,32,101,110,99,111,100,105,110,103,32,116,111,32,97, + 110,111,116,104,101,114,46,10,10,32,32,32,32,32,32,32, + 32,84,104,101,121,32,117,115,101,32,116,104,101,32,99,111, + 109,112,108,101,116,101,32,115,101,116,32,111,102,32,65,80, + 73,115,32,114,101,116,117,114,110,101,100,32,98,121,32,116, + 104,101,10,32,32,32,32,32,32,32,32,99,111,100,101,99, + 115,46,108,111,111,107,117,112,40,41,32,102,117,110,99,116, + 105,111,110,32,116,111,32,105,109,112,108,101,109,101,110,116, + 32,116,104,101,105,114,32,116,97,115,107,46,10,10,32,32, + 32,32,32,32,32,32,68,97,116,97,32,119,114,105,116,116, + 101,110,32,116,111,32,116,104,101,32,83,116,114,101,97,109, + 82,101,99,111,100,101,114,32,105,115,32,102,105,114,115,116, + 32,100,101,99,111,100,101,100,32,105,110,116,111,32,97,110, + 10,32,32,32,32,32,32,32,32,105,110,116,101,114,109,101, + 100,105,97,116,101,32,102,111,114,109,97,116,32,40,100,101, + 112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,34, + 100,101,99,111,100,101,34,32,99,111,100,101,99,41,32,97, + 110,100,32,116,104,101,110,10,32,32,32,32,32,32,32,32, + 119,114,105,116,116,101,110,32,116,111,32,116,104,101,32,117, + 110,100,101,114,108,121,105,110,103,32,115,116,114,101,97,109, + 32,117,115,105,110,103,32,97,110,32,105,110,115,116,97,110, + 99,101,32,111,102,32,116,104,101,32,112,114,111,118,105,100, + 101,100,10,32,32,32,32,32,32,32,32,87,114,105,116,101, + 114,32,99,108,97,115,115,46,10,10,32,32,32,32,32,32, + 32,32,73,110,32,116,104,101,32,111,116,104,101,114,32,100, + 105,114,101,99,116,105,111,110,44,32,100,97,116,97,32,105, + 115,32,114,101,97,100,32,102,114,111,109,32,116,104,101,32, + 117,110,100,101,114,108,121,105,110,103,32,115,116,114,101,97, + 109,32,117,115,105,110,103,10,32,32,32,32,32,32,32,32, + 97,32,82,101,97,100,101,114,32,105,110,115,116,97,110,99, + 101,32,97,110,100,32,116,104,101,110,32,101,110,99,111,100, + 101,100,32,97,110,100,32,114,101,116,117,114,110,101,100,32, + 116,111,32,116,104,101,32,99,97,108,108,101,114,46,10,10, + 32,32,32,32,114,242,0,0,0,99,7,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,116, + 0,0,0,151,0,124,1,124,0,95,0,0,0,0,0,0, + 0,0,0,124,2,124,0,95,1,0,0,0,0,0,0,0, + 0,124,3,124,0,95,2,0,0,0,0,0,0,0,0,2, + 0,124,4,124,1,124,6,171,2,0,0,0,0,0,0,124, + 0,95,3,0,0,0,0,0,0,0,0,2,0,124,5,124, + 1,124,6,171,2,0,0,0,0,0,0,124,0,95,4,0, + 0,0,0,0,0,0,0,124,6,124,0,95,5,0,0,0, + 0,0,0,0,0,121,1,41,2,97,233,2,0,0,32,67, + 114,101,97,116,101,115,32,97,32,83,116,114,101,97,109,82, + 101,99,111,100,101,114,32,105,110,115,116,97,110,99,101,32, + 119,104,105,99,104,32,105,109,112,108,101,109,101,110,116,115, + 32,97,32,116,119,111,45,119,97,121,10,32,32,32,32,32, + 32,32,32,32,32,32,32,99,111,110,118,101,114,115,105,111, + 110,58,32,101,110,99,111,100,101,32,97,110,100,32,100,101, + 99,111,100,101,32,119,111,114,107,32,111,110,32,116,104,101, + 32,102,114,111,110,116,101,110,100,32,40,116,104,101,10,32, + 32,32,32,32,32,32,32,32,32,32,32,100,97,116,97,32, + 118,105,115,105,98,108,101,32,116,111,32,46,114,101,97,100, + 40,41,32,97,110,100,32,46,119,114,105,116,101,40,41,41, + 32,119,104,105,108,101,32,82,101,97,100,101,114,32,97,110, + 100,32,87,114,105,116,101,114,10,32,32,32,32,32,32,32, + 32,32,32,32,32,119,111,114,107,32,111,110,32,116,104,101, + 32,98,97,99,107,101,110,100,32,40,116,104,101,32,100,97, + 116,97,32,105,110,32,115,116,114,101,97,109,41,46,10,10, + 32,32,32,32,32,32,32,32,32,32,32,32,89,111,117,32, + 99,97,110,32,117,115,101,32,116,104,101,115,101,32,111,98, + 106,101,99,116,115,32,116,111,32,100,111,32,116,114,97,110, + 115,112,97,114,101,110,116,10,32,32,32,32,32,32,32,32, + 32,32,32,32,116,114,97,110,115,99,111,100,105,110,103,115, + 32,102,114,111,109,32,101,46,103,46,32,108,97,116,105,110, + 45,49,32,116,111,32,117,116,102,45,56,32,97,110,100,32, + 98,97,99,107,46,10,10,32,32,32,32,32,32,32,32,32, + 32,32,32,115,116,114,101,97,109,32,109,117,115,116,32,98, + 101,32,97,32,102,105,108,101,45,108,105,107,101,32,111,98, + 106,101,99,116,46,10,10,32,32,32,32,32,32,32,32,32, + 32,32,32,101,110,99,111,100,101,32,97,110,100,32,100,101, + 99,111,100,101,32,109,117,115,116,32,97,100,104,101,114,101, + 32,116,111,32,116,104,101,32,67,111,100,101,99,32,105,110, + 116,101,114,102,97,99,101,59,32,82,101,97,100,101,114,32, + 97,110,100,10,32,32,32,32,32,32,32,32,32,32,32,32, + 87,114,105,116,101,114,32,109,117,115,116,32,98,101,32,102, + 97,99,116,111,114,121,32,102,117,110,99,116,105,111,110,115, + 32,111,114,32,99,108,97,115,115,101,115,32,112,114,111,118, + 105,100,105,110,103,32,116,104,101,10,32,32,32,32,32,32, + 32,32,32,32,32,32,83,116,114,101,97,109,82,101,97,100, + 101,114,32,97,110,100,32,83,116,114,101,97,109,87,114,105, + 116,101,114,32,105,110,116,101,114,102,97,99,101,115,32,114, + 101,115,112,46,10,10,32,32,32,32,32,32,32,32,32,32, + 32,32,69,114,114,111,114,32,104,97,110,100,108,105,110,103, + 32,105,115,32,100,111,110,101,32,105,110,32,116,104,101,32, + 115,97,109,101,32,119,97,121,32,97,115,32,100,101,102,105, + 110,101,100,32,102,111,114,32,116,104,101,10,32,32,32,32, + 32,32,32,32,32,32,32,32,83,116,114,101,97,109,87,114, + 105,116,101,114,47,82,101,97,100,101,114,115,46,10,10,32, + 32,32,32,32,32,32,32,78,41,6,114,141,0,0,0,114, + 36,0,0,0,114,37,0,0,0,114,244,0,0,0,114,245, + 0,0,0,114,80,0,0,0,41,7,114,61,0,0,0,114, + 141,0,0,0,114,36,0,0,0,114,37,0,0,0,114,246, + 0,0,0,114,247,0,0,0,114,80,0,0,0,115,7,0, + 0,0,32,32,32,32,32,32,32,114,62,0,0,0,114,89, + 0,0,0,122,22,83,116,114,101,97,109,82,101,99,111,100, + 101,114,46,95,95,105,110,105,116,95,95,16,3,0,0,115, + 60,0,0,0,128,0,240,42,0,23,29,136,4,140,11,216, + 22,28,136,4,140,11,216,22,28,136,4,140,11,217,22,28, + 152,86,160,86,211,22,44,136,4,140,11,217,22,28,152,86, + 160,86,211,22,44,136,4,140,11,216,22,28,136,4,141,11, + 114,63,0,0,0,99,2,0,0,0,0,0,0,0,0,0, + 0,0,4,0,0,0,3,0,0,0,243,122,0,0,0,151, + 0,124,0,106,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,3,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,171,1,0, + 0,0,0,0,0,125,2,124,0,106,5,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,2,124, + 0,106,6,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,2,0,0,0,0,0,0,92,2,0, + 0,125,2,125,3,124,2,83,0,114,52,0,0,0,41,4, + 114,244,0,0,0,114,199,0,0,0,114,36,0,0,0,114, + 80,0,0,0,169,4,114,61,0,0,0,114,203,0,0,0, + 114,114,0,0,0,218,12,98,121,116,101,115,101,110,99,111, + 100,101,100,115,4,0,0,0,32,32,32,32,114,62,0,0, + 0,114,199,0,0,0,122,18,83,116,114,101,97,109,82,101, + 99,111,100,101,114,46,114,101,97,100,44,3,0,0,115,52, + 0,0,0,128,0,224,15,19,143,123,137,123,215,15,31,209, + 15,31,160,4,211,15,37,136,4,216,29,33,159,91,153,91, + 168,20,168,116,175,123,169,123,211,29,59,209,8,26,136,4, + 136,108,216,15,19,136,11,114,63,0,0,0,78,99,2,0, + 0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0, + 0,0,243,180,0,0,0,151,0,124,1,128,27,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,3,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,125, + 2,110,27,124,0,106,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,3,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,125,2,124,0,106,5,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 2,124,0,106,6,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,92, + 2,0,0,125,2,125,3,124,2,83,0,114,52,0,0,0, + 41,4,114,244,0,0,0,114,225,0,0,0,114,36,0,0, + 0,114,80,0,0,0,114,14,1,0,0,115,4,0,0,0, + 32,32,32,32,114,62,0,0,0,114,225,0,0,0,122,22, + 83,116,114,101,97,109,82,101,99,111,100,101,114,46,114,101, + 97,100,108,105,110,101,50,3,0,0,115,75,0,0,0,128, + 0,224,11,15,136,60,216,19,23,151,59,145,59,215,19,39, + 209,19,39,211,19,41,137,68,224,19,23,151,59,145,59,215, + 19,39,209,19,39,168,4,211,19,45,136,68,216,29,33,159, + 91,153,91,168,20,168,116,175,123,169,123,211,29,59,209,8, + 26,136,4,136,108,216,15,19,136,11,114,63,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,152,0,0,0,151,0,124,0,106,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,106,3,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,125,2,124, + 0,106,5,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,2,124,0,106,6,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,2,0, + 0,0,0,0,0,92,2,0,0,125,2,125,3,124,2,106, + 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,1,172,2,171,1,0,0,0,0,0,0,83, + 0,41,3,78,84,114,195,0,0,0,41,5,114,244,0,0, + 0,114,199,0,0,0,114,36,0,0,0,114,80,0,0,0, + 114,202,0,0,0,41,4,114,61,0,0,0,114,227,0,0, + 0,114,114,0,0,0,114,15,1,0,0,115,4,0,0,0, + 32,32,32,32,114,62,0,0,0,114,228,0,0,0,122,23, + 83,116,114,101,97,109,82,101,99,111,100,101,114,46,114,101, + 97,100,108,105,110,101,115,59,3,0,0,115,62,0,0,0, + 128,0,224,15,19,143,123,137,123,215,15,31,209,15,31,211, + 15,33,136,4,216,29,33,159,91,153,91,168,20,168,116,175, + 123,169,123,211,29,59,209,8,26,136,4,136,108,216,15,19, + 143,127,137,127,168,4,136,127,211,15,45,208,8,45,114,63, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,110,0,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,124,0,106,2,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 1,0,0,0,0,0,0,125,1,124,0,106,5,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 1,124,0,106,6,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,92, + 2,0,0,125,1,125,2,124,1,83,0,114,232,0,0,0, + 41,4,114,253,0,0,0,114,244,0,0,0,114,36,0,0, + 0,114,80,0,0,0,41,3,114,61,0,0,0,114,114,0, + 0,0,114,15,1,0,0,115,3,0,0,0,32,32,32,114, + 62,0,0,0,114,234,0,0,0,122,22,83,116,114,101,97, + 109,82,101,99,111,100,101,114,46,95,95,110,101,120,116,95, + 95,65,3,0,0,115,48,0,0,0,128,0,244,6,0,16, + 20,144,68,151,75,145,75,211,15,32,136,4,216,29,33,159, + 91,153,91,168,20,168,116,175,123,169,123,211,29,59,209,8, + 26,136,4,136,108,216,15,19,136,11,114,63,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 3,0,0,0,243,6,0,0,0,151,0,124,0,83,0,114, + 52,0,0,0,114,73,0,0,0,114,69,0,0,0,115,1, + 0,0,0,32,114,62,0,0,0,114,236,0,0,0,122,22, + 83,116,114,101,97,109,82,101,99,111,100,101,114,46,95,95, + 105,116,101,114,95,95,72,3,0,0,114,167,0,0,0,114, + 63,0,0,0,99,2,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,3,0,0,0,243,118,0,0,0,151,0, + 124,0,106,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,124,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,92,2,0,0,125,1,125,2,124,0, + 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,7,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,1,171,1,0,0,0,0, + 0,0,83,0,114,52,0,0,0,41,4,114,37,0,0,0, + 114,80,0,0,0,114,245,0,0,0,114,144,0,0,0,41, + 3,114,61,0,0,0,114,114,0,0,0,218,12,98,121,116, + 101,115,100,101,99,111,100,101,100,115,3,0,0,0,32,32, + 32,114,62,0,0,0,114,144,0,0,0,122,19,83,116,114, + 101,97,109,82,101,99,111,100,101,114,46,119,114,105,116,101, + 75,3,0,0,115,48,0,0,0,128,0,224,29,33,159,91, + 153,91,168,20,168,116,175,123,169,123,211,29,59,209,8,26, + 136,4,136,108,216,15,19,143,123,137,123,215,15,32,209,15, + 32,160,20,211,15,38,208,8,38,114,63,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3, + 0,0,0,243,152,0,0,0,151,0,100,1,106,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,125,2,124,0,106,3, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,2,124,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,92,2,0,0,125,2,125,3,124,0,106,6,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,2,171,1,0,0,0,0,0,0,83,0, + 114,132,0,0,0,41,5,114,147,0,0,0,114,37,0,0, + 0,114,80,0,0,0,114,245,0,0,0,114,144,0,0,0, + 41,4,114,61,0,0,0,114,149,0,0,0,114,114,0,0, + 0,114,21,1,0,0,115,4,0,0,0,32,32,32,32,114, + 62,0,0,0,114,150,0,0,0,122,24,83,116,114,101,97, + 109,82,101,99,111,100,101,114,46,119,114,105,116,101,108,105, + 110,101,115,80,3,0,0,115,61,0,0,0,128,0,224,15, + 18,143,120,137,120,152,4,139,126,136,4,216,29,33,159,91, + 153,91,168,20,168,116,175,123,169,123,211,29,59,209,8,26, + 136,4,136,108,216,15,19,143,123,137,123,215,15,32,209,15, + 32,160,20,211,15,38,208,8,38,114,63,0,0,0,99,1, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3, + 0,0,0,243,108,0,0,0,151,0,124,0,106,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,1,0,124,0, + 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,3,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0, + 1,0,121,0,114,52,0,0,0,114,2,1,0,0,114,69, + 0,0,0,115,1,0,0,0,32,114,62,0,0,0,114,95, + 0,0,0,122,19,83,116,114,101,97,109,82,101,99,111,100, + 101,114,46,114,101,115,101,116,86,3,0,0,114,3,1,0, + 0,114,63,0,0,0,99,3,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,3,0,0,0,243,116,0,0,0, + 151,0,124,0,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,106,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,1,124,2, + 171,2,0,0,0,0,0,0,1,0,124,0,106,4,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,124,2,171,2,0,0,0,0,0,0, + 1,0,121,0,114,52,0,0,0,41,3,114,244,0,0,0, + 114,154,0,0,0,114,245,0,0,0,114,155,0,0,0,115, + 3,0,0,0,32,32,32,114,62,0,0,0,114,154,0,0, + 0,122,18,83,116,114,101,97,109,82,101,99,111,100,101,114, + 46,115,101,101,107,91,3,0,0,115,44,0,0,0,128,0, + 240,6,0,9,13,143,11,137,11,215,8,24,209,8,24,152, + 22,160,22,212,8,40,216,8,12,143,11,137,11,215,8,24, + 209,8,24,152,22,160,22,213,8,40,114,63,0,0,0,99, + 3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,40,0,0,0,151,0,2,0,124,2,124, + 0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,1,171,2,0,0,0,0,0,0,83, + 0,114,159,0,0,0,114,160,0,0,0,114,161,0,0,0, + 115,3,0,0,0,32,32,32,114,62,0,0,0,114,163,0, + 0,0,122,25,83,116,114,101,97,109,82,101,99,111,100,101, + 114,46,95,95,103,101,116,97,116,116,114,95,95,97,3,0, + 0,114,164,0,0,0,114,63,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0, + 243,6,0,0,0,151,0,124,0,83,0,114,52,0,0,0, + 114,73,0,0,0,114,69,0,0,0,115,1,0,0,0,32, + 114,62,0,0,0,114,166,0,0,0,122,23,83,116,114,101, + 97,109,82,101,99,111,100,101,114,46,95,95,101,110,116,101, + 114,95,95,104,3,0,0,114,167,0,0,0,114,63,0,0, + 0,99,4,0,0,0,0,0,0,0,0,0,0,0,2,0, + 0,0,3,0,0,0,243,56,0,0,0,151,0,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,3,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,1, + 0,121,0,114,52,0,0,0,114,169,0,0,0,114,171,0, + 0,0,115,4,0,0,0,32,32,32,32,114,62,0,0,0, + 114,175,0,0,0,122,22,83,116,114,101,97,109,82,101,99, + 111,100,101,114,46,95,95,101,120,105,116,95,95,107,3,0, + 0,114,176,0,0,0,114,63,0,0,0,99,2,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, + 243,70,0,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,100,1,124,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,122,6,0, + 0,171,1,0,0,0,0,0,0,130,1,114,178,0,0,0, + 114,179,0,0,0,114,181,0,0,0,115,2,0,0,0,32, + 32,114,62,0,0,0,114,183,0,0,0,122,27,83,116,114, + 101,97,109,82,101,99,111,100,101,114,46,95,95,114,101,100, + 117,99,101,95,101,120,95,95,110,3,0,0,114,184,0,0, + 0,114,63,0,0,0,114,82,0,0,0,114,9,1,0,0, + 114,52,0,0,0,114,185,0,0,0,41,21,114,71,0,0, + 0,114,66,0,0,0,114,67,0,0,0,114,72,0,0,0, + 218,13,100,97,116,97,95,101,110,99,111,100,105,110,103,218, + 13,102,105,108,101,95,101,110,99,111,100,105,110,103,114,89, + 0,0,0,114,199,0,0,0,114,225,0,0,0,114,228,0, + 0,0,114,234,0,0,0,114,236,0,0,0,114,144,0,0, + 0,114,150,0,0,0,114,95,0,0,0,114,154,0,0,0, + 114,162,0,0,0,114,163,0,0,0,114,166,0,0,0,114, + 175,0,0,0,114,183,0,0,0,114,73,0,0,0,114,63, + 0,0,0,114,62,0,0,0,114,29,0,0,0,114,29,0, + 0,0,252,2,0,0,115,100,0,0,0,132,0,241,4,13, + 5,8,240,30,0,21,30,128,77,216,20,29,128,77,240,6, + 0,25,33,243,3,26,5,29,243,56,4,5,20,243,12,7, + 5,20,243,18,4,5,46,242,12,5,5,20,242,14,1,5, + 20,242,6,3,5,39,242,10,4,5,39,242,12,3,5,28, + 243,10,4,5,41,240,14,0,29,36,243,3,5,5,42,242, + 14,1,5,20,242,6,1,5,28,243,6,1,5,72,1,114, + 63,0,0,0,114,29,0,0,0,114,83,0,0,0,99,5, + 0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3, + 0,0,0,243,232,0,0,0,151,0,124,2,129,9,100,1, + 124,1,118,1,114,5,124,1,100,1,122,0,0,0,125,1, + 116,1,0,0,0,0,0,0,0,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, + 124,1,124,4,171,3,0,0,0,0,0,0,125,5,124,2, + 128,2,124,5,83,0,9,0,116,5,0,0,0,0,0,0, + 0,0,124,2,171,1,0,0,0,0,0,0,125,6,116,7, + 0,0,0,0,0,0,0,0,124,5,124,6,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,6,106,10,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,3,171,4,0,0,0,0,0,0, + 125,7,124,2,124,7,95,6,0,0,0,0,0,0,0,0, + 124,7,83,0,35,0,1,0,124,5,106,15,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,1,0,130,0,120,3,89,0,119,1, + 41,2,97,155,4,0,0,32,79,112,101,110,32,97,110,32, + 101,110,99,111,100,101,100,32,102,105,108,101,32,117,115,105, + 110,103,32,116,104,101,32,103,105,118,101,110,32,109,111,100, + 101,32,97,110,100,32,114,101,116,117,114,110,10,32,32,32, + 32,32,32,32,32,97,32,119,114,97,112,112,101,100,32,118, + 101,114,115,105,111,110,32,112,114,111,118,105,100,105,110,103, + 32,116,114,97,110,115,112,97,114,101,110,116,32,101,110,99, + 111,100,105,110,103,47,100,101,99,111,100,105,110,103,46,10, + 10,32,32,32,32,32,32,32,32,78,111,116,101,58,32,84, + 104,101,32,119,114,97,112,112,101,100,32,118,101,114,115,105, + 111,110,32,119,105,108,108,32,111,110,108,121,32,97,99,99, + 101,112,116,32,116,104,101,32,111,98,106,101,99,116,32,102, + 111,114,109,97,116,10,32,32,32,32,32,32,32,32,100,101, + 102,105,110,101,100,32,98,121,32,116,104,101,32,99,111,100, + 101,99,115,44,32,105,46,101,46,32,85,110,105,99,111,100, + 101,32,111,98,106,101,99,116,115,32,102,111,114,32,109,111, + 115,116,32,98,117,105,108,116,105,110,10,32,32,32,32,32, + 32,32,32,99,111,100,101,99,115,46,32,79,117,116,112,117, + 116,32,105,115,32,97,108,115,111,32,99,111,100,101,99,32, + 100,101,112,101,110,100,101,110,116,32,97,110,100,32,119,105, + 108,108,32,117,115,117,97,108,108,121,32,98,101,10,32,32, + 32,32,32,32,32,32,85,110,105,99,111,100,101,32,97,115, + 32,119,101,108,108,46,10,10,32,32,32,32,32,32,32,32, + 73,102,32,101,110,99,111,100,105,110,103,32,105,115,32,110, + 111,116,32,78,111,110,101,44,32,116,104,101,110,32,116,104, + 101,10,32,32,32,32,32,32,32,32,117,110,100,101,114,108, + 121,105,110,103,32,101,110,99,111,100,101,100,32,102,105,108, + 101,115,32,97,114,101,32,97,108,119,97,121,115,32,111,112, + 101,110,101,100,32,105,110,32,98,105,110,97,114,121,32,109, + 111,100,101,46,10,32,32,32,32,32,32,32,32,84,104,101, + 32,100,101,102,97,117,108,116,32,102,105,108,101,32,109,111, + 100,101,32,105,115,32,39,114,39,44,32,109,101,97,110,105, + 110,103,32,116,111,32,111,112,101,110,32,116,104,101,32,102, + 105,108,101,32,105,110,32,114,101,97,100,32,109,111,100,101, + 46,10,10,32,32,32,32,32,32,32,32,101,110,99,111,100, + 105,110,103,32,115,112,101,99,105,102,105,101,115,32,116,104, + 101,32,101,110,99,111,100,105,110,103,32,119,104,105,99,104, + 32,105,115,32,116,111,32,98,101,32,117,115,101,100,32,102, + 111,114,32,116,104,101,10,32,32,32,32,32,32,32,32,102, + 105,108,101,46,10,10,32,32,32,32,32,32,32,32,101,114, + 114,111,114,115,32,109,97,121,32,98,101,32,103,105,118,101, + 110,32,116,111,32,100,101,102,105,110,101,32,116,104,101,32, + 101,114,114,111,114,32,104,97,110,100,108,105,110,103,46,32, + 73,116,32,100,101,102,97,117,108,116,115,10,32,32,32,32, + 32,32,32,32,116,111,32,39,115,116,114,105,99,116,39,32, + 119,104,105,99,104,32,99,97,117,115,101,115,32,86,97,108, + 117,101,69,114,114,111,114,115,32,116,111,32,98,101,32,114, + 97,105,115,101,100,32,105,110,32,99,97,115,101,32,97,110, + 10,32,32,32,32,32,32,32,32,101,110,99,111,100,105,110, + 103,32,101,114,114,111,114,32,111,99,99,117,114,115,46,10, + 10,32,32,32,32,32,32,32,32,98,117,102,102,101,114,105, + 110,103,32,104,97,115,32,116,104,101,32,115,97,109,101,32, + 109,101,97,110,105,110,103,32,97,115,32,102,111,114,32,116, + 104,101,32,98,117,105,108,116,105,110,32,111,112,101,110,40, + 41,32,65,80,73,46,10,32,32,32,32,32,32,32,32,73, + 116,32,100,101,102,97,117,108,116,115,32,116,111,32,45,49, + 32,119,104,105,99,104,32,109,101,97,110,115,32,116,104,97, + 116,32,116,104,101,32,100,101,102,97,117,108,116,32,98,117, + 102,102,101,114,32,115,105,122,101,32,119,105,108,108,10,32, + 32,32,32,32,32,32,32,98,101,32,117,115,101,100,46,10, + 10,32,32,32,32,32,32,32,32,84,104,101,32,114,101,116, + 117,114,110,101,100,32,119,114,97,112,112,101,100,32,102,105, + 108,101,32,111,98,106,101,99,116,32,112,114,111,118,105,100, + 101,115,32,97,110,32,101,120,116,114,97,32,97,116,116,114, + 105,98,117,116,101,10,32,32,32,32,32,32,32,32,46,101, + 110,99,111,100,105,110,103,32,119,104,105,99,104,32,97,108, + 108,111,119,115,32,113,117,101,114,121,105,110,103,32,116,104, + 101,32,117,115,101,100,32,101,110,99,111,100,105,110,103,46, + 32,84,104,105,115,10,32,32,32,32,32,32,32,32,97,116, + 116,114,105,98,117,116,101,32,105,115,32,111,110,108,121,32, + 97,118,97,105,108,97,98,108,101,32,105,102,32,97,110,32, + 101,110,99,111,100,105,110,103,32,119,97,115,32,115,112,101, + 99,105,102,105,101,100,32,97,115,10,32,32,32,32,32,32, + 32,32,112,97,114,97,109,101,116,101,114,46,10,10,32,32, + 32,32,218,1,98,41,8,218,8,98,117,105,108,116,105,110, + 115,114,6,0,0,0,114,5,0,0,0,114,28,0,0,0, + 114,59,0,0,0,114,58,0,0,0,114,10,1,0,0,114, + 170,0,0,0,41,8,218,8,102,105,108,101,110,97,109,101, + 218,4,109,111,100,101,114,10,1,0,0,114,80,0,0,0, + 218,9,98,117,102,102,101,114,105,110,103,218,4,102,105,108, + 101,218,4,105,110,102,111,218,3,115,114,119,115,8,0,0, + 0,32,32,32,32,32,32,32,32,114,62,0,0,0,114,6, + 0,0,0,114,6,0,0,0,115,3,0,0,115,129,0,0, + 0,128,0,240,62,0,8,16,208,7,27,216,7,10,144,36, + 129,127,224,15,19,144,99,137,122,136,4,220,11,19,143,61, + 137,61,152,24,160,52,168,25,211,11,51,128,68,216,7,15, + 208,7,23,216,15,19,136,11,240,4,8,5,14,220,15,21, + 144,104,211,15,31,136,4,220,14,32,160,20,160,116,215,39, + 56,209,39,56,184,36,215,58,75,209,58,75,200,86,211,14, + 84,136,3,224,23,31,136,3,140,12,216,15,18,136,10,248, + 240,2,2,5,14,216,8,12,143,10,137,10,140,12,216,8, + 13,250,115,11,0,0,0,168,53,65,30,0,193,30,19,65, + 49,3,99,4,0,0,0,0,0,0,0,0,0,0,0,8, + 0,0,0,3,0,0,0,243,198,0,0,0,151,0,124,2, + 128,2,124,1,125,2,116,1,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,125,4,116,1,0,0, + 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0, + 125,5,116,3,0,0,0,0,0,0,0,0,124,0,124,4, + 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,4,106,6,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,5,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,5,106,10,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,3,171,6,0,0,0,0,0,0, + 125,6,124,1,124,6,95,6,0,0,0,0,0,0,0,0, + 124,2,124,6,95,7,0,0,0,0,0,0,0,0,124,6, + 83,0,41,1,97,218,3,0,0,32,82,101,116,117,114,110, + 32,97,32,119,114,97,112,112,101,100,32,118,101,114,115,105, + 111,110,32,111,102,32,102,105,108,101,32,119,104,105,99,104, + 32,112,114,111,118,105,100,101,115,32,116,114,97,110,115,112, + 97,114,101,110,116,10,32,32,32,32,32,32,32,32,101,110, + 99,111,100,105,110,103,32,116,114,97,110,115,108,97,116,105, + 111,110,46,10,10,32,32,32,32,32,32,32,32,68,97,116, + 97,32,119,114,105,116,116,101,110,32,116,111,32,116,104,101, + 32,119,114,97,112,112,101,100,32,102,105,108,101,32,105,115, + 32,100,101,99,111,100,101,100,32,97,99,99,111,114,100,105, + 110,103,10,32,32,32,32,32,32,32,32,116,111,32,116,104, + 101,32,103,105,118,101,110,32,100,97,116,97,95,101,110,99, + 111,100,105,110,103,32,97,110,100,32,116,104,101,110,32,101, + 110,99,111,100,101,100,32,116,111,32,116,104,101,32,117,110, + 100,101,114,108,121,105,110,103,10,32,32,32,32,32,32,32, + 32,102,105,108,101,32,117,115,105,110,103,32,102,105,108,101, + 95,101,110,99,111,100,105,110,103,46,32,84,104,101,32,105, + 110,116,101,114,109,101,100,105,97,116,101,32,100,97,116,97, + 32,116,121,112,101,10,32,32,32,32,32,32,32,32,119,105, + 108,108,32,117,115,117,97,108,108,121,32,98,101,32,85,110, + 105,99,111,100,101,32,98,117,116,32,100,101,112,101,110,100, + 115,32,111,110,32,116,104,101,32,115,112,101,99,105,102,105, + 101,100,32,99,111,100,101,99,115,46,10,10,32,32,32,32, + 32,32,32,32,66,121,116,101,115,32,114,101,97,100,32,102, + 114,111,109,32,116,104,101,32,102,105,108,101,32,97,114,101, + 32,100,101,99,111,100,101,100,32,117,115,105,110,103,32,102, + 105,108,101,95,101,110,99,111,100,105,110,103,32,97,110,100, + 32,116,104,101,110,10,32,32,32,32,32,32,32,32,112,97, + 115,115,101,100,32,98,97,99,107,32,116,111,32,116,104,101, + 32,99,97,108,108,101,114,32,101,110,99,111,100,101,100,32, + 117,115,105,110,103,32,100,97,116,97,95,101,110,99,111,100, + 105,110,103,46,10,10,32,32,32,32,32,32,32,32,73,102, + 32,102,105,108,101,95,101,110,99,111,100,105,110,103,32,105, + 115,32,110,111,116,32,103,105,118,101,110,44,32,105,116,32, + 100,101,102,97,117,108,116,115,32,116,111,32,100,97,116,97, + 95,101,110,99,111,100,105,110,103,46,10,10,32,32,32,32, + 32,32,32,32,101,114,114,111,114,115,32,109,97,121,32,98, + 101,32,103,105,118,101,110,32,116,111,32,100,101,102,105,110, + 101,32,116,104,101,32,101,114,114,111,114,32,104,97,110,100, + 108,105,110,103,46,32,73,116,32,100,101,102,97,117,108,116, + 115,10,32,32,32,32,32,32,32,32,116,111,32,39,115,116, + 114,105,99,116,39,32,119,104,105,99,104,32,99,97,117,115, + 101,115,32,86,97,108,117,101,69,114,114,111,114,115,32,116, + 111,32,98,101,32,114,97,105,115,101,100,32,105,110,32,99, + 97,115,101,32,97,110,10,32,32,32,32,32,32,32,32,101, + 110,99,111,100,105,110,103,32,101,114,114,111,114,32,111,99, + 99,117,114,115,46,10,10,32,32,32,32,32,32,32,32,84, + 104,101,32,114,101,116,117,114,110,101,100,32,119,114,97,112, + 112,101,100,32,102,105,108,101,32,111,98,106,101,99,116,32, + 112,114,111,118,105,100,101,115,32,116,119,111,32,101,120,116, + 114,97,32,97,116,116,114,105,98,117,116,101,115,10,32,32, + 32,32,32,32,32,32,46,100,97,116,97,95,101,110,99,111, + 100,105,110,103,32,97,110,100,32,46,102,105,108,101,95,101, + 110,99,111,100,105,110,103,32,119,104,105,99,104,32,114,101, + 102,108,101,99,116,32,116,104,101,32,103,105,118,101,110,10, + 32,32,32,32,32,32,32,32,112,97,114,97,109,101,116,101, + 114,115,32,111,102,32,116,104,101,32,115,97,109,101,32,110, + 97,109,101,46,32,84,104,101,32,97,116,116,114,105,98,117, + 116,101,115,32,99,97,110,32,98,101,32,117,115,101,100,32, + 102,111,114,10,32,32,32,32,32,32,32,32,105,110,116,114, + 111,115,112,101,99,116,105,111,110,32,98,121,32,80,121,116, + 104,111,110,32,112,114,111,103,114,97,109,115,46,10,10,32, + 32,32,32,41,8,114,5,0,0,0,114,29,0,0,0,114, + 36,0,0,0,114,37,0,0,0,114,59,0,0,0,114,58, + 0,0,0,114,29,1,0,0,114,30,1,0,0,41,7,114, + 37,1,0,0,114,29,1,0,0,114,30,1,0,0,114,80, + 0,0,0,218,9,100,97,116,97,95,105,110,102,111,218,9, + 102,105,108,101,95,105,110,102,111,218,2,115,114,115,7,0, + 0,0,32,32,32,32,32,32,32,114,62,0,0,0,114,7, + 0,0,0,114,7,0,0,0,164,3,0,0,115,106,0,0, + 0,128,0,240,50,0,8,21,208,7,28,216,24,37,136,13, + 220,16,22,144,125,211,16,37,128,73,220,16,22,144,125,211, + 16,37,128,73,220,9,22,144,116,152,89,215,29,45,209,29, + 45,168,121,215,47,63,209,47,63,216,23,32,215,23,45,209, + 23,45,168,121,215,47,69,209,47,69,192,118,243,3,1,10, + 79,1,128,66,240,6,0,24,37,128,66,212,4,20,216,23, + 36,128,66,212,4,20,216,11,13,128,73,114,63,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,3,0,0,0,243,44,0,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,83,0,41,1,122,158,32,76,111,111,107,117, + 112,32,117,112,32,116,104,101,32,99,111,100,101,99,32,102, + 111,114,32,116,104,101,32,103,105,118,101,110,32,101,110,99, + 111,100,105,110,103,32,97,110,100,32,114,101,116,117,114,110, + 10,32,32,32,32,32,32,32,32,105,116,115,32,101,110,99, + 111,100,101,114,32,102,117,110,99,116,105,111,110,46,10,10, + 32,32,32,32,32,32,32,32,82,97,105,115,101,115,32,97, + 32,76,111,111,107,117,112,69,114,114,111,114,32,105,110,32, + 99,97,115,101,32,116,104,101,32,101,110,99,111,100,105,110, + 103,32,99,97,110,110,111,116,32,98,101,32,102,111,117,110, + 100,46,10,10,32,32,32,32,41,2,114,5,0,0,0,114, + 36,0,0,0,169,1,114,10,1,0,0,115,1,0,0,0, + 32,114,62,0,0,0,114,30,0,0,0,114,30,0,0,0, + 202,3,0,0,243,21,0,0,0,128,0,244,16,0,12,18, + 144,40,211,11,27,215,11,34,209,11,34,208,4,34,114,63, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 3,0,0,0,3,0,0,0,243,44,0,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,83,0,41,1,122,158,32,76,111, + 111,107,117,112,32,117,112,32,116,104,101,32,99,111,100,101, + 99,32,102,111,114,32,116,104,101,32,103,105,118,101,110,32, + 101,110,99,111,100,105,110,103,32,97,110,100,32,114,101,116, + 117,114,110,10,32,32,32,32,32,32,32,32,105,116,115,32, + 100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110, + 46,10,10,32,32,32,32,32,32,32,32,82,97,105,115,101, + 115,32,97,32,76,111,111,107,117,112,69,114,114,111,114,32, + 105,110,32,99,97,115,101,32,116,104,101,32,101,110,99,111, + 100,105,110,103,32,99,97,110,110,111,116,32,98,101,32,102, + 111,117,110,100,46,10,10,32,32,32,32,41,2,114,5,0, + 0,0,114,37,0,0,0,114,45,1,0,0,115,1,0,0, + 0,32,114,62,0,0,0,114,31,0,0,0,114,31,0,0, + 0,212,3,0,0,114,46,1,0,0,114,63,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,74,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,125,1,124,1,128,11,116,5,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,130,1,124, + 1,83,0,41,1,122,247,32,76,111,111,107,117,112,32,117, + 112,32,116,104,101,32,99,111,100,101,99,32,102,111,114,32, + 116,104,101,32,103,105,118,101,110,32,101,110,99,111,100,105, + 110,103,32,97,110,100,32,114,101,116,117,114,110,10,32,32, + 32,32,32,32,32,32,105,116,115,32,73,110,99,114,101,109, + 101,110,116,97,108,69,110,99,111,100,101,114,32,99,108,97, + 115,115,32,111,114,32,102,97,99,116,111,114,121,32,102,117, + 110,99,116,105,111,110,46,10,10,32,32,32,32,32,32,32, + 32,82,97,105,115,101,115,32,97,32,76,111,111,107,117,112, + 69,114,114,111,114,32,105,110,32,99,97,115,101,32,116,104, + 101,32,101,110,99,111,100,105,110,103,32,99,97,110,110,111, + 116,32,98,101,32,102,111,117,110,100,10,32,32,32,32,32, + 32,32,32,111,114,32,116,104,101,32,99,111,100,101,99,115, + 32,100,111,101,115,110,39,116,32,112,114,111,118,105,100,101, + 32,97,110,32,105,110,99,114,101,109,101,110,116,97,108,32, + 101,110,99,111,100,101,114,46,10,10,32,32,32,32,41,3, + 114,5,0,0,0,114,56,0,0,0,218,11,76,111,111,107, + 117,112,69,114,114,111,114,41,2,114,10,1,0,0,218,7, + 101,110,99,111,100,101,114,115,2,0,0,0,32,32,114,62, + 0,0,0,114,32,0,0,0,114,32,0,0,0,222,3,0, + 0,243,41,0,0,0,128,0,244,18,0,15,21,144,88,211, + 14,30,215,14,49,209,14,49,128,71,216,7,14,128,127,220, + 14,25,152,40,211,14,35,208,8,35,216,11,18,128,78,114, + 63,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0, + 0,3,0,0,0,3,0,0,0,243,74,0,0,0,151,0, + 116,1,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,106,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,125,1,124,1,128,11,116,5, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,130,1,124,1,83,0,41,1,122,247,32,76,111,111, + 107,117,112,32,117,112,32,116,104,101,32,99,111,100,101,99, + 32,102,111,114,32,116,104,101,32,103,105,118,101,110,32,101, + 110,99,111,100,105,110,103,32,97,110,100,32,114,101,116,117, + 114,110,10,32,32,32,32,32,32,32,32,105,116,115,32,73, + 110,99,114,101,109,101,110,116,97,108,68,101,99,111,100,101, + 114,32,99,108,97,115,115,32,111,114,32,102,97,99,116,111, + 114,121,32,102,117,110,99,116,105,111,110,46,10,10,32,32, + 32,32,32,32,32,32,82,97,105,115,101,115,32,97,32,76, + 111,111,107,117,112,69,114,114,111,114,32,105,110,32,99,97, + 115,101,32,116,104,101,32,101,110,99,111,100,105,110,103,32, + 99,97,110,110,111,116,32,98,101,32,102,111,117,110,100,10, + 32,32,32,32,32,32,32,32,111,114,32,116,104,101,32,99, + 111,100,101,99,115,32,100,111,101,115,110,39,116,32,112,114, + 111,118,105,100,101,32,97,110,32,105,110,99,114,101,109,101, + 110,116,97,108,32,100,101,99,111,100,101,114,46,10,10,32, + 32,32,32,41,3,114,5,0,0,0,114,57,0,0,0,114, + 49,1,0,0,41,2,114,10,1,0,0,218,7,100,101,99, + 111,100,101,114,115,2,0,0,0,32,32,114,62,0,0,0, + 114,33,0,0,0,114,33,0,0,0,236,3,0,0,114,51, + 1,0,0,114,63,0,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,3,0,0,0,243,44,0, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,83,0,41,1, + 122,180,32,76,111,111,107,117,112,32,117,112,32,116,104,101, + 32,99,111,100,101,99,32,102,111,114,32,116,104,101,32,103, + 105,118,101,110,32,101,110,99,111,100,105,110,103,32,97,110, + 100,32,114,101,116,117,114,110,10,32,32,32,32,32,32,32, + 32,105,116,115,32,83,116,114,101,97,109,82,101,97,100,101, + 114,32,99,108,97,115,115,32,111,114,32,102,97,99,116,111, + 114,121,32,102,117,110,99,116,105,111,110,46,10,10,32,32, + 32,32,32,32,32,32,82,97,105,115,101,115,32,97,32,76, + 111,111,107,117,112,69,114,114,111,114,32,105,110,32,99,97, + 115,101,32,116,104,101,32,101,110,99,111,100,105,110,103,32, + 99,97,110,110,111,116,32,98,101,32,102,111,117,110,100,46, + 10,10,32,32,32,32,41,2,114,5,0,0,0,114,59,0, + 0,0,114,45,1,0,0,115,1,0,0,0,32,114,62,0, + 0,0,114,34,0,0,0,114,34,0,0,0,250,3,0,0, + 243,21,0,0,0,128,0,244,16,0,12,18,144,40,211,11, + 27,215,11,40,209,11,40,208,4,40,114,63,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,44,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,83,0,41,1,122,180,32,76,111,111,107,117,112, + 32,117,112,32,116,104,101,32,99,111,100,101,99,32,102,111, + 114,32,116,104,101,32,103,105,118,101,110,32,101,110,99,111, + 100,105,110,103,32,97,110,100,32,114,101,116,117,114,110,10, + 32,32,32,32,32,32,32,32,105,116,115,32,83,116,114,101, + 97,109,87,114,105,116,101,114,32,99,108,97,115,115,32,111, + 114,32,102,97,99,116,111,114,121,32,102,117,110,99,116,105, + 111,110,46,10,10,32,32,32,32,32,32,32,32,82,97,105, + 115,101,115,32,97,32,76,111,111,107,117,112,69,114,114,111, + 114,32,105,110,32,99,97,115,101,32,116,104,101,32,101,110, + 99,111,100,105,110,103,32,99,97,110,110,111,116,32,98,101, + 32,102,111,117,110,100,46,10,10,32,32,32,32,41,2,114, + 5,0,0,0,114,58,0,0,0,114,45,1,0,0,115,1, + 0,0,0,32,114,62,0,0,0,114,35,0,0,0,114,35, + 0,0,0,4,4,0,0,114,55,1,0,0,114,63,0,0, + 0,99,3,0,0,0,0,0,0,0,0,0,0,0,5,0, + 0,0,43,0,0,0,243,160,0,0,0,75,0,1,0,151, + 0,2,0,116,1,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,124,2,102,1,105,0,124,3,164, + 1,142,1,125,4,124,0,68,0,93,26,0,0,125,5,124, + 4,106,3,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,5,171,1,0,0,0,0,0,0,125, + 6,124,6,115,1,140,23,124,6,150,1,151,1,1,0,140, + 28,4,0,124,4,106,3,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,1,100,2,171,2,0, + 0,0,0,0,0,125,6,124,6,114,5,124,6,150,1,151, + 1,1,0,121,3,121,3,173,3,119,1,41,4,122,191,10, + 32,32,32,32,69,110,99,111,100,105,110,103,32,105,116,101, + 114,97,116,111,114,46,10,10,32,32,32,32,69,110,99,111, + 100,101,115,32,116,104,101,32,105,110,112,117,116,32,115,116, + 114,105,110,103,115,32,102,114,111,109,32,116,104,101,32,105, + 116,101,114,97,116,111,114,32,117,115,105,110,103,32,97,110, + 32,73,110,99,114,101,109,101,110,116,97,108,69,110,99,111, + 100,101,114,46,10,10,32,32,32,32,101,114,114,111,114,115, + 32,97,110,100,32,107,119,97,114,103,115,32,97,114,101,32, + 112,97,115,115,101,100,32,116,104,114,111,117,103,104,32,116, + 111,32,116,104,101,32,73,110,99,114,101,109,101,110,116,97, + 108,69,110,99,111,100,101,114,10,32,32,32,32,99,111,110, + 115,116,114,117,99,116,111,114,46,10,32,32,32,32,114,86, + 0,0,0,84,78,41,2,114,32,0,0,0,114,36,0,0, + 0,41,7,218,8,105,116,101,114,97,116,111,114,114,10,1, + 0,0,114,80,0,0,0,218,6,107,119,97,114,103,115,114, + 50,1,0,0,114,79,0,0,0,218,6,111,117,116,112,117, + 116,115,7,0,0,0,32,32,32,32,32,32,32,114,62,0, + 0,0,114,38,0,0,0,114,38,0,0,0,14,4,0,0, + 115,99,0,0,0,232,0,248,128,0,240,18,0,15,46,212, + 14,35,160,72,211,14,45,168,102,209,14,63,184,6,209,14, + 63,128,71,216,17,25,242,0,3,5,25,136,5,216,17,24, + 151,30,145,30,160,5,211,17,38,136,6,218,11,17,216,18, + 24,139,76,240,7,3,5,25,240,8,0,14,21,143,94,137, + 94,152,66,160,4,211,13,37,128,70,217,7,13,216,14,20, + 139,12,240,3,0,8,14,249,243,10,0,0,0,130,43,65, + 14,1,174,32,65,14,1,99,3,0,0,0,0,0,0,0, + 0,0,0,0,5,0,0,0,43,0,0,0,243,160,0,0, + 0,75,0,1,0,151,0,2,0,116,1,0,0,0,0,0, + 0,0,0,124,1,171,1,0,0,0,0,0,0,124,2,102, + 1,105,0,124,3,164,1,142,1,125,4,124,0,68,0,93, + 26,0,0,125,5,124,4,106,3,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,5,171,1,0, + 0,0,0,0,0,125,6,124,6,115,1,140,23,124,6,150, + 1,151,1,1,0,140,28,4,0,124,4,106,3,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 1,100,2,171,2,0,0,0,0,0,0,125,6,124,6,114, + 5,124,6,150,1,151,1,1,0,121,3,121,3,173,3,119, + 1,41,4,122,191,10,32,32,32,32,68,101,99,111,100,105, + 110,103,32,105,116,101,114,97,116,111,114,46,10,10,32,32, + 32,32,68,101,99,111,100,101,115,32,116,104,101,32,105,110, + 112,117,116,32,115,116,114,105,110,103,115,32,102,114,111,109, + 32,116,104,101,32,105,116,101,114,97,116,111,114,32,117,115, + 105,110,103,32,97,110,32,73,110,99,114,101,109,101,110,116, + 97,108,68,101,99,111,100,101,114,46,10,10,32,32,32,32, + 101,114,114,111,114,115,32,97,110,100,32,107,119,97,114,103, + 115,32,97,114,101,32,112,97,115,115,101,100,32,116,104,114, + 111,117,103,104,32,116,111,32,116,104,101,32,73,110,99,114, + 101,109,101,110,116,97,108,68,101,99,111,100,101,114,10,32, + 32,32,32,99,111,110,115,116,114,117,99,116,111,114,46,10, + 32,32,32,32,114,63,0,0,0,84,78,41,2,114,33,0, + 0,0,114,37,0,0,0,41,7,114,58,1,0,0,114,10, + 1,0,0,114,80,0,0,0,114,59,1,0,0,114,53,1, + 0,0,114,79,0,0,0,114,60,1,0,0,115,7,0,0, + 0,32,32,32,32,32,32,32,114,62,0,0,0,114,39,0, + 0,0,114,39,0,0,0,32,4,0,0,115,99,0,0,0, + 232,0,248,128,0,240,18,0,15,46,212,14,35,160,72,211, + 14,45,168,102,209,14,63,184,6,209,14,63,128,71,216,17, + 25,242,0,3,5,25,136,5,216,17,24,151,30,145,30,160, + 5,211,17,38,136,6,218,11,17,216,18,24,139,76,240,7, + 3,5,25,240,8,0,14,21,143,94,137,94,152,67,160,20, + 211,13,38,128,70,217,7,13,216,14,20,139,12,240,3,0, + 8,14,249,114,61,1,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,5,0,0,0,3,0,0,0,243,46,0, + 0,0,151,0,124,0,68,0,143,1,99,2,105,0,99,2, + 93,5,0,0,125,1,124,1,124,1,147,2,140,7,4,0, + 99,2,125,1,83,0,99,2,1,0,99,2,125,1,119,0, + 41,1,122,136,32,109,97,107,101,95,105,100,101,110,116,105, + 116,121,95,100,105,99,116,40,114,110,103,41,32,45,62,32, + 100,105,99,116,10,10,32,32,32,32,32,32,32,32,82,101, + 116,117,114,110,32,97,32,100,105,99,116,105,111,110,97,114, + 121,32,119,104,101,114,101,32,101,108,101,109,101,110,116,115, + 32,111,102,32,116,104,101,32,114,110,103,32,115,101,113,117, + 101,110,99,101,32,97,114,101,10,32,32,32,32,32,32,32, + 32,109,97,112,112,101,100,32,116,111,32,116,104,101,109,115, + 101,108,118,101,115,46,10,10,32,32,32,32,114,73,0,0, + 0,41,2,218,3,114,110,103,218,1,105,115,2,0,0,0, + 32,32,114,62,0,0,0,218,18,109,97,107,101,95,105,100, + 101,110,116,105,116,121,95,100,105,99,116,114,66,1,0,0, + 52,4,0,0,115,28,0,0,0,128,0,240,16,0,26,29, + 214,11,29,144,65,136,65,136,97,137,67,210,11,29,208,4, + 29,249,210,11,29,115,4,0,0,0,133,10,18,4,99,1, + 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3, + 0,0,0,243,88,0,0,0,151,0,105,0,125,1,124,0, + 106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,68,0,93,20, + 0,0,92,2,0,0,125,2,125,3,124,3,124,1,118,1, + 114,6,124,2,124,1,124,3,60,0,0,0,140,16,100,1, + 124,1,124,3,60,0,0,0,140,22,4,0,124,1,83,0, + 41,2,97,130,1,0,0,32,67,114,101,97,116,101,115,32, + 97,110,32,101,110,99,111,100,105,110,103,32,109,97,112,32, + 102,114,111,109,32,97,32,100,101,99,111,100,105,110,103,32, + 109,97,112,46,10,10,32,32,32,32,32,32,32,32,73,102, + 32,97,32,116,97,114,103,101,116,32,109,97,112,112,105,110, + 103,32,105,110,32,116,104,101,32,100,101,99,111,100,105,110, + 103,32,109,97,112,32,111,99,99,117,114,115,32,109,117,108, + 116,105,112,108,101,10,32,32,32,32,32,32,32,32,116,105, + 109,101,115,44,32,116,104,101,110,32,116,104,97,116,32,116, + 97,114,103,101,116,32,105,115,32,109,97,112,112,101,100,32, + 116,111,32,78,111,110,101,32,40,117,110,100,101,102,105,110, + 101,100,32,109,97,112,112,105,110,103,41,44,10,32,32,32, + 32,32,32,32,32,99,97,117,115,105,110,103,32,97,110,32, + 101,120,99,101,112,116,105,111,110,32,119,104,101,110,32,101, + 110,99,111,117,110,116,101,114,101,100,32,98,121,32,116,104, + 101,32,99,104,97,114,109,97,112,32,99,111,100,101,99,10, + 32,32,32,32,32,32,32,32,100,117,114,105,110,103,32,116, + 114,97,110,115,108,97,116,105,111,110,46,10,10,32,32,32, + 32,32,32,32,32,79,110,101,32,101,120,97,109,112,108,101, + 32,119,104,101,114,101,32,116,104,105,115,32,104,97,112,112, + 101,110,115,32,105,115,32,99,112,56,55,53,46,112,121,32, + 119,104,105,99,104,32,100,101,99,111,100,101,115,10,32,32, + 32,32,32,32,32,32,109,117,108,116,105,112,108,101,32,99, + 104,97,114,97,99,116,101,114,32,116,111,32,92,117,48,48, + 49,97,46,10,10,32,32,32,32,78,41,1,218,5,105,116, + 101,109,115,41,4,218,12,100,101,99,111,100,105,110,103,95, + 109,97,112,218,1,109,218,1,107,218,1,118,115,4,0,0, + 0,32,32,32,32,114,62,0,0,0,218,17,109,97,107,101, + 95,101,110,99,111,100,105,110,103,95,109,97,112,114,73,1, + 0,0,62,4,0,0,115,69,0,0,0,128,0,240,26,0, + 9,11,128,65,216,15,27,215,15,33,209,15,33,211,15,35, + 242,0,4,5,24,137,3,136,1,136,33,216,15,16,144,65, + 137,118,216,19,20,136,65,136,97,138,68,224,19,23,136,65, + 136,97,138,68,240,9,4,5,24,240,10,0,12,13,128,72, + 114,63,0,0,0,218,6,105,103,110,111,114,101,218,7,114, + 101,112,108,97,99,101,218,17,120,109,108,99,104,97,114,114, + 101,102,114,101,112,108,97,99,101,218,16,98,97,99,107,115, + 108,97,115,104,114,101,112,108,97,99,101,218,11,110,97,109, + 101,114,101,112,108,97,99,101,41,4,218,1,114,78,114,83, + 0,0,0,114,215,0,0,0,41,2,78,114,83,0,0,0, + 114,82,0,0,0,41,57,114,72,0,0,0,114,33,1,0, + 0,218,3,115,121,115,218,7,95,99,111,100,101,99,115,218, + 11,73,109,112,111,114,116,69,114,114,111,114,218,3,119,104, + 121,218,11,83,121,115,116,101,109,69,114,114,111,114,218,7, + 95,95,97,108,108,95,95,114,15,0,0,0,114,10,0,0, + 0,114,17,0,0,0,114,9,0,0,0,114,18,0,0,0, + 114,20,0,0,0,114,21,0,0,0,218,9,98,121,116,101, + 111,114,100,101,114,114,8,0,0,0,114,16,0,0,0,114, + 19,0,0,0,114,12,0,0,0,114,11,0,0,0,114,14, + 0,0,0,114,13,0,0,0,114,53,0,0,0,114,22,0, + 0,0,114,23,0,0,0,114,145,0,0,0,114,24,0,0, + 0,114,105,0,0,0,114,25,0,0,0,114,130,0,0,0, + 114,27,0,0,0,114,26,0,0,0,114,28,0,0,0,114, + 29,0,0,0,114,6,0,0,0,114,7,0,0,0,114,30, + 0,0,0,114,31,0,0,0,114,32,0,0,0,114,33,0, + 0,0,114,34,0,0,0,114,35,0,0,0,114,38,0,0, + 0,114,39,0,0,0,114,66,1,0,0,114,73,1,0,0, + 114,47,0,0,0,114,40,0,0,0,114,41,0,0,0,114, + 42,0,0,0,114,43,0,0,0,114,44,0,0,0,114,45, + 0,0,0,114,49,1,0,0,218,6,95,102,97,108,115,101, + 218,9,101,110,99,111,100,105,110,103,115,114,73,0,0,0, + 114,63,0,0,0,114,62,0,0,0,250,8,60,109,111,100, + 117,108,101,62,114,89,1,0,0,1,0,0,0,115,20,2, + 0,0,240,3,1,1,1,241,2,7,1,4,243,18,0,1, + 16,219,0,10,240,8,3,1,69,1,220,4,25,242,8,13, + 11,45,128,7,240,48,0,12,27,128,8,240,6,0,25,36, + 208,0,35,128,6,136,28,240,6,0,25,36,208,0,35,128, + 6,136,28,240,6,0,16,35,128,12,240,6,0,16,35,128, + 12,224,3,6,135,61,129,61,144,72,210,3,28,240,6,0, + 23,35,208,4,34,128,67,136,41,240,6,0,17,29,129,73, + 240,10,0,23,35,208,4,34,128,67,136,41,240,6,0,17, + 29,128,73,240,6,0,12,24,128,8,216,11,23,128,8,216, + 11,23,128,8,216,11,23,128,8,244,10,29,1,38,144,5, + 244,0,29,1,38,247,62,64,1,1,34,241,0,64,1,1, + 34,244,68,2,38,1,12,152,22,244,0,38,1,12,244,80, + 1,32,1,34,208,33,51,244,0,32,1,34,244,68,1,47, + 1,12,152,22,244,0,47,1,12,244,98,1,34,1,31,208, + 33,51,244,0,34,1,31,244,86,1,72,1,1,72,1,144, + 53,244,0,72,1,1,72,1,244,88,2,120,3,1,72,1, + 144,53,244,0,120,3,1,72,1,247,120,7,86,1,1,72, + 1,241,0,86,1,1,72,1,247,116,2,115,1,1,72,1, + 241,0,115,1,1,72,1,243,110,3,47,1,14,243,98,1, + 34,1,14,242,76,1,8,1,35,242,20,8,1,35,242,20, + 12,1,19,242,28,12,1,19,242,28,8,1,41,242,20,8, + 1,41,243,20,16,1,21,243,36,16,1,21,242,40,8,1, + 30,242,20,19,1,13,240,46,14,1,30,217,20,32,160,24, + 211,20,42,128,77,217,20,32,160,24,211,20,42,128,77,217, + 21,33,160,41,211,21,44,128,78,217,31,43,208,44,63,211, + 31,64,208,4,28,217,30,42,208,43,61,211,30,62,208,4, + 27,217,25,37,160,109,211,25,52,208,4,22,240,24,0,10, + 11,128,6,217,3,9,220,4,20,240,3,0,4,10,248,240, + 111,34,0,8,19,242,0,1,1,69,1,217,10,21,208,22, + 61,192,3,209,22,67,211,10,68,208,4,68,251,240,3,1, + 1,69,1,251,240,86,34,0,8,19,242,0,7,1,30,224, + 20,24,128,77,216,20,24,128,77,216,21,25,128,78,216,31, + 35,208,4,28,216,30,34,208,4,27,216,25,29,210,4,22, + 240,15,7,1,30,250,115,41,0,0,0,140,5,68,21,0, + 195,27,48,68,45,0,196,21,5,68,42,3,196,26,11,68, + 37,3,196,37,5,68,42,3,196,45,17,69,1,3,197,0, + 1,69,1,3, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/frozen_only.h b/contrib/tools/python3/src/Python/frozen_modules/frozen_only.h new file mode 100644 index 00000000000..0fca6de55cc --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/frozen_only.h @@ -0,0 +1,14 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__frozen_only[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,0,0,0,0,243,24,0,0,0,151,0,100,0,90,0, + 2,0,101,1,100,1,171,1,0,0,0,0,0,0,1,0, + 121,2,41,3,84,122,12,72,101,108,108,111,32,119,111,114, + 108,100,33,78,41,2,218,11,105,110,105,116,105,97,108,105, + 122,101,100,218,5,112,114,105,110,116,169,0,243,0,0,0, + 0,250,20,60,102,114,111,122,101,110,32,102,114,111,122,101, + 110,95,111,110,108,121,62,250,8,60,109,111,100,117,108,101, + 62,114,7,0,0,0,1,0,0,0,115,18,0,0,0,240, + 3,1,1,1,216,14,18,128,11,217,0,5,128,110,213,0, + 21,114,5,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/genericpath.h b/contrib/tools/python3/src/Python/frozen_modules/genericpath.h new file mode 100644 index 00000000000..cdbd57a934a --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/genericpath.h @@ -0,0 +1,389 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__genericpath[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, + 0,0,0,0,0,243,116,0,0,0,151,0,100,0,90,0, + 100,1,100,2,108,1,90,1,100,1,100,2,108,2,90,2, + 103,0,100,3,162,1,90,3,100,4,132,0,90,4,100,5, + 132,0,90,5,100,6,132,0,90,6,100,7,132,0,90,7, + 100,8,132,0,90,8,100,9,132,0,90,9,100,10,132,0, + 90,10,100,11,132,0,90,11,100,12,132,0,90,12,100,13, + 132,0,90,13,100,14,132,0,90,14,100,15,132,0,90,15, + 100,16,132,0,90,16,100,17,132,0,90,17,121,2,41,18, + 122,152,10,80,97,116,104,32,111,112,101,114,97,116,105,111, + 110,115,32,99,111,109,109,111,110,32,116,111,32,109,111,114, + 101,32,116,104,97,110,32,111,110,101,32,79,83,10,68,111, + 32,110,111,116,32,117,115,101,32,100,105,114,101,99,116,108, + 121,46,32,32,84,104,101,32,79,83,32,115,112,101,99,105, + 102,105,99,32,109,111,100,117,108,101,115,32,105,109,112,111, + 114,116,32,116,104,101,32,97,112,112,114,111,112,114,105,97, + 116,101,10,102,117,110,99,116,105,111,110,115,32,102,114,111, + 109,32,116,104,105,115,32,109,111,100,117,108,101,32,116,104, + 101,109,115,101,108,118,101,115,46,10,233,0,0,0,0,78, + 41,12,218,12,99,111,109,109,111,110,112,114,101,102,105,120, + 218,6,101,120,105,115,116,115,218,8,103,101,116,97,116,105, + 109,101,218,8,103,101,116,99,116,105,109,101,218,8,103,101, + 116,109,116,105,109,101,218,7,103,101,116,115,105,122,101,218, + 5,105,115,100,105,114,218,6,105,115,102,105,108,101,218,6, + 105,115,108,105,110,107,218,8,115,97,109,101,102,105,108,101, + 218,12,115,97,109,101,111,112,101,110,102,105,108,101,218,8, + 115,97,109,101,115,116,97,116,99,1,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,90,0, + 0,0,151,0,9,0,116,1,0,0,0,0,0,0,0,0, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,1,0, + 121,2,35,0,116,4,0,0,0,0,0,0,0,0,116,6, + 0,0,0,0,0,0,0,0,102,2,36,0,114,3,1,0, + 89,0,121,1,119,0,120,3,89,0,119,1,41,3,122,68, + 84,101,115,116,32,119,104,101,116,104,101,114,32,97,32,112, + 97,116,104,32,101,120,105,115,116,115,46,32,32,82,101,116, + 117,114,110,115,32,70,97,108,115,101,32,102,111,114,32,98, + 114,111,107,101,110,32,115,121,109,98,111,108,105,99,32,108, + 105,110,107,115,70,84,41,4,218,2,111,115,218,4,115,116, + 97,116,218,7,79,83,69,114,114,111,114,218,10,86,97,108, + 117,101,69,114,114,111,114,41,1,218,4,112,97,116,104,115, + 1,0,0,0,32,250,20,60,102,114,111,122,101,110,32,103, + 101,110,101,114,105,99,112,97,116,104,62,114,4,0,0,0, + 114,4,0,0,0,16,0,0,0,115,48,0,0,0,128,0, + 240,4,3,5,21,220,8,10,143,7,137,7,144,4,140,13, + 240,6,0,12,16,248,244,5,0,13,20,148,90,208,11,32, + 242,0,1,5,21,217,15,20,240,3,1,5,21,250,115,12, + 0,0,0,130,21,24,0,152,15,42,3,169,1,42,3,99, + 1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,150,0,0,0,151,0,9,0,116,1,0, + 0,0,0,0,0,0,0,106,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,125,1,116,3,0,0,0,0,0,0,0, + 0,106,8,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,1,106,10,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,171,1,0,0,0, + 0,0,0,83,0,35,0,116,4,0,0,0,0,0,0,0, + 0,116,6,0,0,0,0,0,0,0,0,102,2,36,0,114, + 3,1,0,89,0,121,1,119,0,120,3,89,0,119,1,41, + 2,122,37,84,101,115,116,32,119,104,101,116,104,101,114,32, + 97,32,112,97,116,104,32,105,115,32,97,32,114,101,103,117, + 108,97,114,32,102,105,108,101,70,41,6,114,16,0,0,0, + 114,17,0,0,0,114,18,0,0,0,114,19,0,0,0,218, + 7,83,95,73,83,82,69,71,218,7,115,116,95,109,111,100, + 101,169,2,114,20,0,0,0,218,2,115,116,115,2,0,0, + 0,32,32,114,21,0,0,0,114,10,0,0,0,114,10,0, + 0,0,27,0,0,0,115,66,0,0,0,128,0,240,4,3, + 5,21,220,13,15,143,87,137,87,144,84,139,93,136,2,244, + 6,0,12,16,143,60,137,60,152,2,159,10,153,10,211,11, + 35,208,4,35,248,244,5,0,13,20,148,90,208,11,32,242, + 0,1,5,21,217,15,20,240,3,1,5,21,250,243,15,0, + 0,0,130,21,54,0,182,15,65,8,3,193,7,1,65,8, + 3,99,1,0,0,0,0,0,0,0,0,0,0,0,4,0, + 0,0,3,0,0,0,243,150,0,0,0,151,0,9,0,116, + 1,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,1,116,3,0,0,0,0,0, + 0,0,0,106,8,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,106,10,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,1,0, + 0,0,0,0,0,83,0,35,0,116,4,0,0,0,0,0, + 0,0,0,116,6,0,0,0,0,0,0,0,0,102,2,36, + 0,114,3,1,0,89,0,121,1,119,0,120,3,89,0,119, + 1,41,2,122,60,82,101,116,117,114,110,32,116,114,117,101, + 32,105,102,32,116,104,101,32,112,97,116,104,110,97,109,101, + 32,114,101,102,101,114,115,32,116,111,32,97,110,32,101,120, + 105,115,116,105,110,103,32,100,105,114,101,99,116,111,114,121, + 46,70,41,6,114,16,0,0,0,114,17,0,0,0,114,18, + 0,0,0,114,19,0,0,0,218,7,83,95,73,83,68,73, + 82,114,24,0,0,0,41,2,218,1,115,114,26,0,0,0, + 115,2,0,0,0,32,32,114,21,0,0,0,114,9,0,0, + 0,114,9,0,0,0,39,0,0,0,115,66,0,0,0,128, + 0,240,4,3,5,21,220,13,15,143,87,137,87,144,81,139, + 90,136,2,244,6,0,12,16,143,60,137,60,152,2,159,10, + 153,10,211,11,35,208,4,35,248,244,5,0,13,20,148,90, + 208,11,32,242,0,1,5,21,217,15,20,240,3,1,5,21, + 250,114,27,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,5,0,0,0,3,0,0,0,243,160,0,0,0, + 151,0,9,0,116,1,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,125,1,116,11, + 0,0,0,0,0,0,0,0,106,12,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,1,106,14, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,83,0,35,0,116,4, + 0,0,0,0,0,0,0,0,116,6,0,0,0,0,0,0, + 0,0,116,8,0,0,0,0,0,0,0,0,102,3,36,0, + 114,3,1,0,89,0,121,1,119,0,120,3,89,0,119,1, + 41,2,122,38,84,101,115,116,32,119,104,101,116,104,101,114, + 32,97,32,112,97,116,104,32,105,115,32,97,32,115,121,109, + 98,111,108,105,99,32,108,105,110,107,70,41,8,114,16,0, + 0,0,218,5,108,115,116,97,116,114,18,0,0,0,114,19, + 0,0,0,218,14,65,116,116,114,105,98,117,116,101,69,114, + 114,111,114,114,17,0,0,0,218,7,83,95,73,83,76,78, + 75,114,24,0,0,0,114,25,0,0,0,115,2,0,0,0, + 32,32,114,21,0,0,0,114,11,0,0,0,114,11,0,0, + 0,51,0,0,0,115,68,0,0,0,128,0,240,4,3,5, + 21,220,13,15,143,88,137,88,144,100,139,94,136,2,244,6, + 0,12,16,143,60,137,60,152,2,159,10,153,10,211,11,35, + 208,4,35,248,244,5,0,13,20,148,90,164,30,208,11,48, + 242,0,1,5,21,217,15,20,240,3,1,5,21,250,115,15, + 0,0,0,130,21,54,0,182,20,65,13,3,193,12,1,65, + 13,3,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,64,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,83,0,41,1,122,49, + 82,101,116,117,114,110,32,116,104,101,32,115,105,122,101,32, + 111,102,32,97,32,102,105,108,101,44,32,114,101,112,111,114, + 116,101,100,32,98,121,32,111,115,46,115,116,97,116,40,41, + 46,41,3,114,16,0,0,0,114,17,0,0,0,218,7,115, + 116,95,115,105,122,101,169,1,218,8,102,105,108,101,110,97, + 109,101,115,1,0,0,0,32,114,21,0,0,0,114,8,0, + 0,0,114,8,0,0,0,60,0,0,0,115,23,0,0,0, + 128,0,228,11,13,143,55,137,55,144,56,211,11,28,215,11, + 36,209,11,36,208,4,36,243,0,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0, + 0,243,64,0,0,0,151,0,116,1,0,0,0,0,0,0, + 0,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,83,0,41,1,122,67,82,101,116,117,114,110, + 32,116,104,101,32,108,97,115,116,32,109,111,100,105,102,105, + 99,97,116,105,111,110,32,116,105,109,101,32,111,102,32,97, + 32,102,105,108,101,44,32,114,101,112,111,114,116,101,100,32, + 98,121,32,111,115,46,115,116,97,116,40,41,46,41,3,114, + 16,0,0,0,114,17,0,0,0,218,8,115,116,95,109,116, + 105,109,101,114,37,0,0,0,115,1,0,0,0,32,114,21, + 0,0,0,114,7,0,0,0,114,7,0,0,0,65,0,0, + 0,243,23,0,0,0,128,0,228,11,13,143,55,137,55,144, + 56,211,11,28,215,11,37,209,11,37,208,4,37,114,39,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,64,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,83,0,41,1,122,61, + 82,101,116,117,114,110,32,116,104,101,32,108,97,115,116,32, + 97,99,99,101,115,115,32,116,105,109,101,32,111,102,32,97, + 32,102,105,108,101,44,32,114,101,112,111,114,116,101,100,32, + 98,121,32,111,115,46,115,116,97,116,40,41,46,41,3,114, + 16,0,0,0,114,17,0,0,0,218,8,115,116,95,97,116, + 105,109,101,114,37,0,0,0,115,1,0,0,0,32,114,21, + 0,0,0,114,5,0,0,0,114,5,0,0,0,70,0,0, + 0,114,42,0,0,0,114,39,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, + 243,64,0,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,106,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,106, + 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,83,0,41,1,122,65,82,101,116,117,114,110,32, + 116,104,101,32,109,101,116,97,100,97,116,97,32,99,104,97, + 110,103,101,32,116,105,109,101,32,111,102,32,97,32,102,105, + 108,101,44,32,114,101,112,111,114,116,101,100,32,98,121,32, + 111,115,46,115,116,97,116,40,41,46,41,3,114,16,0,0, + 0,114,17,0,0,0,218,8,115,116,95,99,116,105,109,101, + 114,37,0,0,0,115,1,0,0,0,32,114,21,0,0,0, + 114,6,0,0,0,114,6,0,0,0,75,0,0,0,114,42, + 0,0,0,114,39,0,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,6,0,0,0,3,0,0,0,243,244,0, + 0,0,151,0,124,0,115,1,121,1,116,1,0,0,0,0, + 0,0,0,0,124,0,100,2,25,0,0,0,116,2,0,0, + 0,0,0,0,0,0,116,4,0,0,0,0,0,0,0,0, + 102,2,171,2,0,0,0,0,0,0,115,35,116,5,0,0, + 0,0,0,0,0,0,116,7,0,0,0,0,0,0,0,0, + 116,8,0,0,0,0,0,0,0,0,106,10,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, + 171,2,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 125,0,116,13,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,125,1,116,15,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,125,2,116,17, + 0,0,0,0,0,0,0,0,124,1,171,1,0,0,0,0, + 0,0,68,0,93,20,0,0,92,2,0,0,125,3,125,4, + 124,4,124,2,124,3,25,0,0,0,107,55,0,0,115,1, + 140,15,124,1,100,3,124,3,26,0,99,2,1,0,83,0, + 4,0,124,1,83,0,41,4,122,71,71,105,118,101,110,32, + 97,32,108,105,115,116,32,111,102,32,112,97,116,104,110,97, + 109,101,115,44,32,114,101,116,117,114,110,115,32,116,104,101, + 32,108,111,110,103,101,115,116,32,99,111,109,109,111,110,32, + 108,101,97,100,105,110,103,32,99,111,109,112,111,110,101,110, + 116,218,0,114,2,0,0,0,78,41,9,218,10,105,115,105, + 110,115,116,97,110,99,101,218,4,108,105,115,116,218,5,116, + 117,112,108,101,218,3,109,97,112,114,16,0,0,0,218,6, + 102,115,112,97,116,104,218,3,109,105,110,218,3,109,97,120, + 218,9,101,110,117,109,101,114,97,116,101,41,5,218,1,109, + 218,2,115,49,218,2,115,50,218,1,105,218,1,99,115,5, + 0,0,0,32,32,32,32,32,114,21,0,0,0,114,3,0, + 0,0,114,3,0,0,0,81,0,0,0,115,118,0,0,0, + 128,0,225,11,12,144,82,244,10,0,12,22,144,97,152,1, + 145,100,156,84,164,53,152,77,212,11,42,220,12,17,148,35, + 148,98,151,105,145,105,160,17,211,18,35,211,12,36,136,1, + 220,9,12,136,81,139,22,128,66,220,9,12,136,81,139,22, + 128,66,220,16,25,152,34,147,13,242,0,2,5,26,137,4, + 136,1,136,49,216,11,12,144,2,144,49,145,5,139,58,216, + 19,21,144,98,144,113,144,54,138,77,240,5,2,5,26,240, + 6,0,12,14,128,73,114,39,0,0,0,99,2,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, + 243,106,0,0,0,151,0,124,0,106,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,107,40,0,0,120,1,114,25,1,0,124,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,107,40,0,0,83,0,41, + 1,122,53,84,101,115,116,32,119,104,101,116,104,101,114,32, + 116,119,111,32,115,116,97,116,32,98,117,102,102,101,114,115, + 32,114,101,102,101,114,101,110,99,101,32,116,104,101,32,115, + 97,109,101,32,102,105,108,101,41,2,218,6,115,116,95,105, + 110,111,218,6,115,116,95,100,101,118,41,2,114,58,0,0, + 0,114,59,0,0,0,115,2,0,0,0,32,32,114,21,0, + 0,0,114,14,0,0,0,114,14,0,0,0,99,0,0,0, + 115,44,0,0,0,128,0,224,12,14,143,73,137,73,152,18, + 159,25,153,25,209,12,34,242,0,1,13,35,216,12,14,143, + 73,137,73,152,18,159,25,153,25,209,12,34,240,3,1,5, + 36,114,39,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,3,0,0,0,243,110,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,2,116,1,0,0, + 0,0,0,0,0,0,106,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,125,3,116,5,0,0,0,0,0,0,0,0, + 124,2,124,3,171,2,0,0,0,0,0,0,83,0,41,1, + 122,213,84,101,115,116,32,119,104,101,116,104,101,114,32,116, + 119,111,32,112,97,116,104,110,97,109,101,115,32,114,101,102, + 101,114,101,110,99,101,32,116,104,101,32,115,97,109,101,32, + 97,99,116,117,97,108,32,102,105,108,101,32,111,114,32,100, + 105,114,101,99,116,111,114,121,10,10,32,32,32,32,84,104, + 105,115,32,105,115,32,100,101,116,101,114,109,105,110,101,100, + 32,98,121,32,116,104,101,32,100,101,118,105,99,101,32,110, + 117,109,98,101,114,32,97,110,100,32,105,45,110,111,100,101, + 32,110,117,109,98,101,114,32,97,110,100,10,32,32,32,32, + 114,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116, + 105,111,110,32,105,102,32,97,110,32,111,115,46,115,116,97, + 116,40,41,32,99,97,108,108,32,111,110,32,101,105,116,104, + 101,114,32,112,97,116,104,110,97,109,101,32,102,97,105,108, + 115,46,10,32,32,32,32,41,3,114,16,0,0,0,114,17, + 0,0,0,114,14,0,0,0,41,4,218,2,102,49,218,2, + 102,50,114,58,0,0,0,114,59,0,0,0,115,4,0,0, + 0,32,32,32,32,114,21,0,0,0,114,12,0,0,0,114, + 12,0,0,0,106,0,0,0,115,43,0,0,0,128,0,244, + 12,0,10,12,143,23,137,23,144,18,139,27,128,66,220,9, + 11,143,23,137,23,144,18,139,27,128,66,220,11,19,144,66, + 152,2,211,11,27,208,4,27,114,39,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0, + 0,0,243,110,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0, + 0,125,2,116,1,0,0,0,0,0,0,0,0,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,1,171,1,0,0,0,0,0,0,125,3,116,5,0, + 0,0,0,0,0,0,0,124,2,124,3,171,2,0,0,0, + 0,0,0,83,0,41,1,122,58,84,101,115,116,32,119,104, + 101,116,104,101,114,32,116,119,111,32,111,112,101,110,32,102, + 105,108,101,32,111,98,106,101,99,116,115,32,114,101,102,101, + 114,101,110,99,101,32,116,104,101,32,115,97,109,101,32,102, + 105,108,101,41,3,114,16,0,0,0,218,5,102,115,116,97, + 116,114,14,0,0,0,41,4,218,3,102,112,49,218,3,102, + 112,50,114,58,0,0,0,114,59,0,0,0,115,4,0,0, + 0,32,32,32,32,114,21,0,0,0,114,13,0,0,0,114, + 13,0,0,0,119,0,0,0,115,41,0,0,0,128,0,228, + 9,11,143,24,137,24,144,35,139,29,128,66,220,9,11,143, + 24,137,24,144,35,139,29,128,66,220,11,19,144,66,152,2, + 211,11,27,208,4,27,114,39,0,0,0,99,4,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, + 243,240,0,0,0,151,0,124,0,106,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,125,4,124,2,114,29,124,0,106, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,2,171,1,0,0,0,0,0,0,125,5,116, + 3,0,0,0,0,0,0,0,0,124,4,124,5,171,2,0, + 0,0,0,0,0,125,4,124,0,106,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,3,171, + 1,0,0,0,0,0,0,125,6,124,6,124,4,107,68,0, + 0,114,42,124,4,100,1,122,0,0,0,125,7,124,7,124, + 6,107,2,0,0,114,32,124,0,124,7,124,7,100,1,122, + 0,0,0,26,0,124,3,107,55,0,0,114,10,124,0,100, + 2,124,6,26,0,124,0,124,6,100,2,26,0,102,2,83, + 0,124,7,100,1,122,13,0,0,125,7,124,7,124,6,107, + 2,0,0,114,1,140,32,124,0,124,0,100,2,100,3,26, + 0,102,2,83,0,41,4,122,164,83,112,108,105,116,32,116, + 104,101,32,101,120,116,101,110,115,105,111,110,32,102,114,111, + 109,32,97,32,112,97,116,104,110,97,109,101,46,10,10,32, + 32,32,32,69,120,116,101,110,115,105,111,110,32,105,115,32, + 101,118,101,114,121,116,104,105,110,103,32,102,114,111,109,32, + 116,104,101,32,108,97,115,116,32,100,111,116,32,116,111,32, + 116,104,101,32,101,110,100,44,32,105,103,110,111,114,105,110, + 103,10,32,32,32,32,108,101,97,100,105,110,103,32,100,111, + 116,115,46,32,32,82,101,116,117,114,110,115,32,34,40,114, + 111,111,116,44,32,101,120,116,41,34,59,32,101,120,116,32, + 109,97,121,32,98,101,32,101,109,112,116,121,46,233,1,0, + 0,0,78,114,2,0,0,0,41,2,218,5,114,102,105,110, + 100,114,55,0,0,0,41,8,218,1,112,218,3,115,101,112, + 218,6,97,108,116,115,101,112,218,6,101,120,116,115,101,112, + 218,8,115,101,112,73,110,100,101,120,218,11,97,108,116,115, + 101,112,73,110,100,101,120,218,8,100,111,116,73,110,100,101, + 120,218,13,102,105,108,101,110,97,109,101,73,110,100,101,120, + 115,8,0,0,0,32,32,32,32,32,32,32,32,114,21,0, + 0,0,218,9,95,115,112,108,105,116,101,120,116,114,83,0, + 0,0,133,0,0,0,115,162,0,0,0,128,0,240,14,0, + 16,17,143,119,137,119,144,115,139,124,128,72,217,7,13,216, + 22,23,151,103,145,103,152,102,147,111,136,11,220,19,22,144, + 120,160,27,211,19,45,136,8,224,15,16,143,119,137,119,144, + 118,139,127,128,72,216,7,15,144,40,210,7,26,224,24,32, + 160,49,153,12,136,13,216,14,27,152,104,210,14,38,216,15, + 16,144,29,152,125,168,81,153,127,208,15,47,176,54,210,15, + 57,216,23,24,152,25,152,40,144,124,160,81,160,120,160,121, + 160,92,208,23,49,208,16,49,216,12,25,152,81,209,12,30, + 136,77,240,7,0,15,28,152,104,211,14,38,240,10,0,12, + 13,136,97,144,2,144,17,136,101,136,56,128,79,114,39,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,7,0,0,0,243,208,0,0,0,151,0,100,1, + 120,1,125,2,125,3,124,1,68,0,93,76,0,0,125,4, + 116,1,0,0,0,0,0,0,0,0,124,4,116,2,0,0, + 0,0,0,0,0,0,171,2,0,0,0,0,0,0,114,3, + 100,2,125,2,140,22,116,1,0,0,0,0,0,0,0,0, + 124,4,116,4,0,0,0,0,0,0,0,0,171,2,0,0, + 0,0,0,0,114,3,100,2,125,3,140,41,116,7,0,0, + 0,0,0,0,0,0,124,0,155,0,100,3,124,4,106,8, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,10,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,155,2,157,3,171,1,0,0,0,0, + 0,0,100,0,130,2,4,0,124,2,114,15,124,3,114,12, + 116,7,0,0,0,0,0,0,0,0,100,4,171,1,0,0, + 0,0,0,0,100,0,130,2,121,0,121,0,41,5,78,70, + 84,122,59,40,41,32,97,114,103,117,109,101,110,116,32,109, + 117,115,116,32,98,101,32,115,116,114,44,32,98,121,116,101, + 115,44,32,111,114,32,111,115,46,80,97,116,104,76,105,107, + 101,32,111,98,106,101,99,116,44,32,110,111,116,32,122,46, + 67,97,110,39,116,32,109,105,120,32,115,116,114,105,110,103, + 115,32,97,110,100,32,98,121,116,101,115,32,105,110,32,112, + 97,116,104,32,99,111,109,112,111,110,101,110,116,115,41,6, + 114,49,0,0,0,218,3,115,116,114,218,5,98,121,116,101, + 115,218,9,84,121,112,101,69,114,114,111,114,218,9,95,95, + 99,108,97,115,115,95,95,218,8,95,95,110,97,109,101,95, + 95,41,5,218,8,102,117,110,99,110,97,109,101,218,4,97, + 114,103,115,218,6,104,97,115,115,116,114,218,8,104,97,115, + 98,121,116,101,115,114,30,0,0,0,115,5,0,0,0,32, + 32,32,32,32,114,21,0,0,0,218,16,95,99,104,101,99, + 107,95,97,114,103,95,116,121,112,101,115,114,94,0,0,0, + 156,0,0,0,115,136,0,0,0,128,0,216,24,29,208,4, + 29,128,70,136,88,216,13,17,242,0,7,5,91,1,136,1, + 220,11,21,144,97,156,19,212,11,29,216,21,25,137,70,220, + 13,23,152,1,156,53,212,13,33,216,23,27,137,72,228,18, + 27,152,120,152,106,240,0,1,41,55,216,55,56,183,123,177, + 123,215,55,75,209,55,75,208,54,78,240,3,1,29,80,1, + 243,0,1,19,81,1,216,86,90,240,3,1,13,91,1,240, + 13,7,5,91,1,241,16,0,8,14,145,40,220,14,23,208, + 24,72,211,14,73,200,116,208,8,83,240,3,0,19,27,128, + 118,114,39,0,0,0,41,18,218,7,95,95,100,111,99,95, + 95,114,16,0,0,0,114,17,0,0,0,218,7,95,95,97, + 108,108,95,95,114,4,0,0,0,114,10,0,0,0,114,9, + 0,0,0,114,11,0,0,0,114,8,0,0,0,114,7,0, + 0,0,114,5,0,0,0,114,6,0,0,0,114,3,0,0, + 0,114,14,0,0,0,114,12,0,0,0,114,13,0,0,0, + 114,83,0,0,0,114,94,0,0,0,169,0,114,39,0,0, + 0,114,21,0,0,0,250,8,60,109,111,100,117,108,101,62, + 114,98,0,0,0,1,0,0,0,115,96,0,0,0,240,3, + 1,1,1,241,2,4,1,4,243,10,0,1,10,219,0,11, + 242,4,2,11,23,128,7,242,14,6,1,16,242,22,6,1, + 36,242,24,6,1,36,242,24,6,1,36,242,18,2,1,37, + 242,10,2,1,38,242,10,2,1,38,242,10,2,1,38,242, + 12,14,1,14,242,36,3,1,36,242,14,8,1,28,242,26, + 4,1,28,242,28,21,1,20,243,46,11,1,84,1,114,39, + 0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/getpath.h b/contrib/tools/python3/src/Python/frozen_modules/getpath.h index 841921466ae..1bc2a38dc05 100644 --- a/contrib/tools/python3/src/Python/frozen_modules/getpath.h +++ b/contrib/tools/python3/src/Python/frozen_modules/getpath.h @@ -1,912 +1,747 @@ /* Auto-generated by Programs/_freeze_module.c */ const unsigned char _Py_M__getpath[] = { 99,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0, - 0,0,0,0,0,243,40,23,0,0,151,0,101,0,160,1, + 0,0,0,0,0,243,202,19,0,0,151,0,101,0,106,3, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,100,0,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,112,1,101,2,90,3,101,4,100,1,107,2, - 0,0,0,0,115,6,101,4,100,2,107,2,0,0,0,0, - 114,60,100,3,90,5,100,4,90,6,100,5,101,7,155,0, - 157,2,90,8,101,3,155,0,100,6,101,7,155,0,100,7, - 101,9,155,0,157,5,90,10,101,10,155,0,100,8,157,2, - 101,10,155,0,100,9,157,2,103,2,90,11,101,3,155,0, - 100,6,101,7,155,0,100,7,101,9,155,0,100,10,157,6, - 90,12,100,11,103,1,90,13,100,12,90,14,101,3,155,0, - 100,6,101,7,155,0,101,9,155,0,100,13,157,5,90,15, - 100,14,90,16,100,15,90,17,110,57,101,4,100,16,107,2, - 0,0,0,0,114,51,100,3,90,5,101,18,155,0,100,17, - 157,2,90,6,100,5,90,8,100,18,90,10,101,10,155,0, - 100,19,157,2,101,10,155,0,100,20,157,2,103,2,90,11, - 101,3,155,0,90,12,100,21,103,1,90,13,100,12,90,14, - 100,5,101,7,155,0,101,9,155,0,101,19,112,1,100,22, - 155,0,100,13,157,5,90,15,100,23,101,20,155,0,100,24, - 157,3,90,21,100,25,90,16,100,26,90,17,101,22,100,27, - 156,1,100,28,132,2,90,23,101,0,160,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 100,29,166,1,0,0,171,1,0,0,0,0,0,0,0,0, - 90,24,101,0,160,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,100,30,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,90,25,101,0,160,1, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,100,31,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,90,26,101,0,160,1,0,0,0,0,0,0, + 0,0,100,0,171,1,0,0,0,0,0,0,120,1,115,2, + 1,0,101,2,90,3,101,4,100,1,107,40,0,0,115,5, + 101,4,100,2,107,40,0,0,114,60,100,3,90,5,100,4, + 90,6,100,5,101,7,155,0,157,2,90,8,101,3,155,0, + 100,6,101,7,155,0,100,7,101,9,155,0,157,5,90,10, + 101,10,155,0,100,8,157,2,101,10,155,0,100,9,157,2, + 103,2,90,11,101,3,155,0,100,6,101,7,155,0,100,7, + 101,9,155,0,100,10,157,6,90,12,100,11,103,1,90,13, + 100,12,90,14,101,3,155,0,100,6,101,7,155,0,101,9, + 155,0,100,13,157,5,90,15,100,14,90,16,100,15,90,17, + 110,58,101,4,100,16,107,40,0,0,114,53,100,3,90,5, + 101,18,155,0,100,17,157,2,90,6,100,5,90,8,100,18, + 90,10,101,10,155,0,100,19,157,2,101,10,155,0,100,20, + 157,2,103,2,90,11,101,3,155,0,90,12,100,21,103,1, + 90,13,100,12,90,14,100,5,101,7,155,0,101,9,155,0, + 101,19,120,1,115,2,1,0,100,22,155,0,100,13,157,5, + 90,15,100,23,101,20,155,0,100,24,157,3,90,21,100,25, + 90,16,100,26,90,17,101,22,100,27,156,1,100,28,132,2, + 90,23,101,0,106,3,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,29,171,1,0,0,0,0, + 0,0,90,24,101,0,106,3,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,30,171,1,0,0, + 0,0,0,0,90,25,101,0,106,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,31,171,1, + 0,0,0,0,0,0,90,26,101,0,106,3,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,32, - 166,1,0,0,171,1,0,0,0,0,0,0,0,0,90,27, - 101,0,160,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,100,33,166,1,0,0,171,1, - 0,0,0,0,0,0,0,0,90,28,101,0,160,1,0,0, + 171,1,0,0,0,0,0,0,90,27,101,0,106,3,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,100,34,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,90,29,101,0,160,1,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,100,35,166,1, - 0,0,171,1,0,0,0,0,0,0,0,0,90,30,101,0, - 160,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,100,36,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,90,31,101,0,100,37,25,0,0,0, - 0,0,0,0,0,0,90,32,101,0,160,1,0,0,0,0, + 100,33,171,1,0,0,0,0,0,0,90,28,101,0,106,3, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 100,38,100,39,166,2,0,0,171,2,0,0,0,0,0,0, - 0,0,90,33,101,0,160,1,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,100,40,166,1, - 0,0,171,1,0,0,0,0,0,0,0,0,90,34,101,0, - 160,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,100,41,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,90,35,100,42,90,36,100,42,90,37, - 100,42,90,38,2,0,101,39,101,24,166,1,0,0,171,1, - 0,0,0,0,0,0,0,0,90,40,101,24,115,41,9,0, - 101,0,160,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,100,43,103,0,166,2,0,0, - 171,2,0,0,0,0,0,0,0,0,100,44,25,0,0,0, - 0,0,0,0,0,0,90,24,110,11,35,0,101,41,36,0, - 114,3,1,0,89,0,110,4,119,0,120,3,89,0,119,1, - 101,24,115,2,101,8,90,24,101,42,114,31,2,0,101,43, - 101,24,101,42,166,2,0,0,171,2,0,0,0,0,0,0, - 0,0,115,19,2,0,101,44,101,24,101,42,122,0,0,0, - 166,1,0,0,171,1,0,0,0,0,0,0,0,0,114,5, - 101,24,101,42,122,0,0,0,90,24,101,45,114,4,101,26, - 115,2,101,46,90,26,101,26,115,15,101,17,101,24,118,0, - 114,11,2,0,101,47,101,24,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,90,26,101,26,115,3,101,46,90,26, - 110,8,101,4,100,2,107,2,0,0,0,0,114,2,101,26, - 90,46,101,26,115,55,101,24,114,53,101,48,114,51,101,48, - 160,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,101,16,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,68,0,93,29,90,50,2,0,101,51, - 101,50,101,24,166,2,0,0,171,2,0,0,0,0,0,0, - 0,0,90,50,2,0,101,44,101,50,166,1,0,0,171,1, - 0,0,0,0,0,0,0,0,114,4,101,50,90,26,1,0, - 110,1,140,30,101,26,115,15,100,22,90,26,2,0,101,47, - 100,7,166,1,0,0,171,1,0,0,0,0,0,0,0,0, - 90,52,101,52,90,36,101,53,115,2,101,54,114,49,101,4, - 100,2,107,2,0,0,0,0,114,22,101,55,114,20,2,0, - 101,56,101,57,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,155,0,100,45,101,7,155,0,100,7,101,9,155,0, - 157,5,90,27,110,2,101,26,90,27,101,46,115,2,101,27, - 90,46,101,53,112,1,101,54,90,26,2,0,101,56,101,26, - 166,1,0,0,171,1,0,0,0,0,0,0,0,0,90,52, - 100,46,90,58,101,25,114,3,100,47,90,58,110,8,101,33, - 114,6,101,59,114,4,101,45,115,2,101,59,90,25,100,42, - 90,60,101,25,144,1,115,90,101,45,144,1,115,87,9,0, - 101,52,112,10,2,0,101,56,101,26,166,1,0,0,171,1, - 0,0,0,0,0,0,0,0,90,61,2,0,101,56,101,61, - 166,1,0,0,171,1,0,0,0,0,0,0,0,0,90,60, - 9,0,2,0,101,62,2,0,101,51,101,60,101,14,166,2, - 0,0,171,2,0,0,0,0,0,0,0,0,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,90,63,110,36,35,0, - 101,64,101,65,102,2,36,0,114,26,1,0,2,0,101,62, - 2,0,101,51,101,61,101,14,166,2,0,0,171,2,0,0, - 0,0,0,0,0,0,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,90,63,101,61,90,60,89,0,110,4,119,0, - 120,3,89,0,119,1,110,17,35,0,101,64,101,65,102,2, - 36,0,114,7,1,0,100,42,90,60,103,0,90,63,89,0, - 110,4,119,0,120,3,89,0,119,1,101,63,68,0,93,236, - 90,66,101,66,160,67,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,100,48,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,92,3,0,0,90,68, - 90,69,90,70,101,69,114,207,101,68,160,71,0,0,0,0, + 0,0,100,34,171,1,0,0,0,0,0,0,90,29,101,0, + 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,35,171,1,0,0,0,0,0,0,90,30, + 101,0,106,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,36,171,1,0,0,0,0,0,0, + 90,31,101,0,100,37,25,0,0,0,90,32,101,0,106,3, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 166,0,0,0,171,0,0,0,0,0,0,0,0,0,160,72, + 0,0,100,38,100,39,171,2,0,0,0,0,0,0,90,33, + 101,0,106,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,40,171,1,0,0,0,0,0,0, + 90,34,101,0,106,3,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,41,171,1,0,0,0,0, + 0,0,90,35,100,42,90,36,100,42,90,37,100,42,90,38, + 2,0,101,39,101,24,171,1,0,0,0,0,0,0,90,40, + 101,24,115,22,9,0,101,0,106,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,43,103,0, + 171,2,0,0,0,0,0,0,100,44,25,0,0,0,90,24, + 101,24,115,2,101,8,90,24,101,42,114,25,2,0,101,43, + 101,24,101,42,171,2,0,0,0,0,0,0,115,16,2,0, + 101,44,101,24,101,42,122,0,0,0,171,1,0,0,0,0, + 0,0,114,5,101,24,101,42,122,0,0,0,90,24,101,45, + 114,4,101,26,115,2,101,46,90,26,101,26,115,12,101,17, + 101,24,118,0,114,8,2,0,101,47,101,24,171,1,0,0, + 0,0,0,0,90,26,101,26,115,3,101,46,90,26,110,7, + 101,4,100,2,107,40,0,0,114,2,101,26,90,46,101,26, + 115,47,101,24,114,45,101,48,114,43,101,48,106,99,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,166,0,0,0,171,0,0,0,0,0,0,0, - 0,0,100,30,107,2,0,0,0,0,114,165,101,70,160,71, + 101,16,171,1,0,0,0,0,0,0,68,0,93,23,0,0, + 90,50,2,0,101,51,101,50,101,24,171,2,0,0,0,0, + 0,0,90,50,2,0,101,44,101,50,171,1,0,0,0,0, + 0,0,115,1,140,21,101,50,90,26,1,0,110,1,4,0, + 101,26,115,12,100,22,90,26,2,0,101,47,100,7,171,1, + 0,0,0,0,0,0,90,52,101,52,90,36,101,53,115,2, + 101,54,114,44,101,4,100,2,107,40,0,0,114,19,101,55, + 114,17,2,0,101,56,101,57,171,1,0,0,0,0,0,0, + 155,0,100,45,101,7,155,0,100,7,101,9,155,0,157,5, + 90,27,110,2,101,26,90,27,101,46,115,2,101,27,90,46, + 101,53,120,1,115,2,1,0,101,54,90,26,2,0,101,56, + 101,26,171,1,0,0,0,0,0,0,90,52,100,46,90,58, + 101,25,114,3,100,47,90,58,110,8,101,33,114,6,101,59, + 114,4,101,45,115,2,101,59,90,25,100,42,90,60,101,25, + 115,232,101,45,115,230,9,0,101,52,120,1,115,8,1,0, + 2,0,101,56,101,26,171,1,0,0,0,0,0,0,90,61, + 2,0,101,56,101,61,171,1,0,0,0,0,0,0,90,60, + 9,0,2,0,101,62,2,0,101,51,101,60,101,14,171,2, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,90,63, + 101,63,68,0,93,186,0,0,90,66,101,66,106,135,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,166,0,0,0,171,0,0,0,0,0,0,0, - 0,0,120,1,90,52,90,36,101,27,115,139,9,0,2,0, - 101,73,101,26,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,90,27,101,27,101,26,107,2,0,0,0,0,114,2, - 100,22,90,27,110,11,35,0,101,74,36,0,114,3,1,0, - 89,0,110,4,119,0,120,3,89,0,119,1,101,27,115,105, - 2,0,101,51,101,52,2,0,101,75,101,26,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,166,2,0,0,171,2, - 0,0,0,0,0,0,0,0,90,27,101,4,100,16,107,3, - 0,0,0,0,114,78,2,0,101,22,101,27,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,115,67,2,0,101,75, - 101,26,166,1,0,0,171,1,0,0,0,0,0,0,0,0, - 90,76,101,8,100,5,101,7,155,0,100,7,101,9,155,0, - 157,4,102,2,68,0,93,45,90,77,101,77,101,42,114,2, - 101,42,110,1,100,22,122,13,0,0,90,77,101,76,101,77, - 107,2,0,0,0,0,114,1,140,18,2,0,101,51,101,52, - 101,77,166,2,0,0,171,2,0,0,0,0,0,0,0,0, - 90,77,2,0,101,22,101,77,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,114,4,101,77,90,27,1,0,110,1, - 140,46,1,0,110,3,140,237,100,42,90,60,101,27,115,6, - 101,26,112,3,101,46,112,1,100,22,90,27,101,46,115,2, - 101,27,90,46,9,0,2,0,101,73,101,46,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,90,46,110,43,35,0, - 101,74,36,0,114,35,90,78,2,0,101,22,101,46,166,1, - 0,0,171,1,0,0,0,0,0,0,0,0,114,14,2,0, - 101,79,100,49,101,27,155,0,157,2,166,1,0,0,171,1, - 0,0,0,0,0,0,0,0,1,0,89,0,100,42,90,78, - 91,78,110,8,100,42,90,78,91,78,119,1,119,0,120,3, - 89,0,119,1,101,52,115,53,101,4,100,2,107,2,0,0, - 0,0,114,47,101,57,114,45,2,0,101,56,101,57,166,1, - 0,0,171,1,0,0,0,0,0,0,0,0,90,80,2,0, - 101,81,100,50,132,0,101,11,68,0,166,0,0,0,171,0, - 0,0,0,0,0,0,0,0,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,114,13,2,0,101,73,101,80,166,1, - 0,0,171,1,0,0,0,0,0,0,0,0,90,52,101,52, - 90,36,101,52,115,13,2,0,101,56,101,46,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,120,1,90,52,90,36, - 101,36,115,11,2,0,101,56,101,46,166,1,0,0,171,1, - 0,0,0,0,0,0,0,0,90,36,100,42,90,82,100,42, - 90,83,101,45,115,118,101,58,115,116,101,57,101,26,101,46, - 102,3,68,0,93,102,90,50,101,50,114,98,101,4,100,16, - 107,2,0,0,0,0,114,51,2,0,101,43,101,50,100,51, - 166,2,0,0,171,2,0,0,0,0,0,0,0,0,115,12, - 2,0,101,43,101,50,100,52,166,2,0,0,171,2,0,0, - 0,0,0,0,0,0,114,27,101,50,160,84,0,0,0,0, + 100,48,171,1,0,0,0,0,0,0,92,3,0,0,90,68, + 90,69,90,70,101,69,115,1,140,27,101,68,106,143,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 100,7,166,1,0,0,171,1,0,0,0,0,0,0,0,0, - 100,44,25,0,0,0,0,0,0,0,0,0,90,50,101,50, - 100,53,122,13,0,0,90,50,9,0,2,0,101,62,101,50, - 166,1,0,0,171,1,0,0,0,0,0,0,0,0,90,82, - 2,0,101,56,101,50,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,90,83,1,0,110,12,35,0,101,74,36,0, - 114,3,1,0,89,0,140,98,119,0,120,3,89,0,119,1, - 140,103,101,83,114,6,100,44,90,33,101,83,90,25,103,0, + 171,0,0,0,0,0,0,0,106,145,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,100,30,107,40,0,0,115,1,140,61,101,70, + 106,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,120,1,90,52, + 90,36,101,27,115,105,9,0,2,0,101,73,101,26,171,1, + 0,0,0,0,0,0,90,27,101,27,101,26,107,40,0,0, + 114,2,100,22,90,27,101,27,115,87,2,0,101,51,101,52, + 2,0,101,75,101,26,171,1,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,90,27,101,4,100,16,107,55,0,0, + 114,67,2,0,101,22,101,27,171,1,0,0,0,0,0,0, + 115,59,2,0,101,75,101,26,171,1,0,0,0,0,0,0, + 90,76,101,8,100,5,101,7,155,0,100,7,101,9,155,0, + 157,4,102,2,68,0,93,38,0,0,90,77,101,77,101,42, + 114,2,101,42,110,1,100,22,122,13,0,0,90,77,101,76, + 101,77,107,40,0,0,114,1,140,18,2,0,101,51,101,52, + 101,77,171,2,0,0,0,0,0,0,90,77,2,0,101,22, + 101,77,171,1,0,0,0,0,0,0,115,1,140,36,101,77, + 90,27,1,0,110,1,4,0,1,0,110,3,4,0,100,42, + 90,60,101,27,115,10,101,26,120,1,115,6,1,0,101,46, + 120,1,115,2,1,0,100,22,90,27,101,46,115,2,101,27, + 90,46,9,0,2,0,101,73,101,46,171,1,0,0,0,0, + 0,0,90,46,101,52,115,40,101,4,100,2,107,40,0,0, + 114,35,101,57,114,33,2,0,101,56,101,57,171,1,0,0, + 0,0,0,0,90,80,2,0,101,81,100,50,132,0,101,11, + 68,0,171,0,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,114,10,2,0,101,73,101,80,171,1,0,0,0,0, + 0,0,90,52,101,52,90,36,101,52,115,10,2,0,101,56, + 101,46,171,1,0,0,0,0,0,0,120,1,90,52,90,36, + 101,36,115,8,2,0,101,56,101,46,171,1,0,0,0,0, + 0,0,90,36,100,42,90,82,100,42,90,83,101,45,115,89, + 101,58,115,87,101,57,101,26,101,46,102,3,68,0,93,71, + 0,0,90,50,101,50,115,1,140,6,101,4,100,16,107,40, + 0,0,114,38,2,0,101,43,101,50,100,51,171,2,0,0, + 0,0,0,0,115,9,2,0,101,43,101,50,100,52,171,2, + 0,0,0,0,0,0,114,20,101,50,106,169,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,7, + 171,1,0,0,0,0,0,0,100,44,25,0,0,0,90,50, + 101,50,100,53,122,13,0,0,90,50,9,0,2,0,101,62, + 101,50,171,1,0,0,0,0,0,0,90,82,2,0,101,56, + 101,50,171,1,0,0,0,0,0,0,90,83,1,0,110,1, + 4,0,101,83,114,6,100,44,90,33,101,83,90,25,103,0, 90,34,100,42,90,85,101,58,115,4,101,36,114,2,101,45, - 114,26,101,0,160,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,100,54,100,44,166,2, - 0,0,171,2,0,0,0,0,0,0,0,0,100,44,107,4, - 0,0,0,0,114,185,9,0,2,0,101,51,101,36,2,0, - 101,62,2,0,101,51,101,36,101,5,166,2,0,0,171,2, - 0,0,0,0,0,0,0,0,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,100,44,25,0,0,0,0,0,0,0, - 0,0,166,2,0,0,171,2,0,0,0,0,0,0,0,0, - 90,38,2,0,101,51,101,36,101,18,166,2,0,0,171,2, - 0,0,0,0,0,0,0,0,90,85,110,74,35,0,101,41, - 36,0,114,17,1,0,101,36,90,38,2,0,101,51,101,36, - 101,18,166,2,0,0,171,2,0,0,0,0,0,0,0,0, - 90,85,89,0,110,53,101,64,101,65,102,2,36,0,114,44, - 1,0,2,0,101,22,2,0,101,51,101,36,101,6,166,2, - 0,0,171,2,0,0,0,0,0,0,0,0,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,114,20,2,0,101,51, - 101,36,101,18,166,2,0,0,171,2,0,0,0,0,0,0, - 0,0,90,85,101,4,100,16,107,2,0,0,0,0,114,2, - 101,36,90,38,89,0,110,4,119,0,120,3,89,0,119,1, - 101,85,114,58,101,4,100,16,107,2,0,0,0,0,114,3, + 114,21,101,0,106,3,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,54,100,44,171,2,0,0, + 0,0,0,0,100,44,107,68,0,0,114,88,9,0,2,0, + 101,51,101,36,2,0,101,62,2,0,101,51,101,36,101,5, + 171,2,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 100,44,25,0,0,0,171,2,0,0,0,0,0,0,90,38, + 2,0,101,51,101,36,101,18,171,2,0,0,0,0,0,0, + 90,85,101,85,114,51,101,4,100,16,107,40,0,0,114,3, 101,85,90,86,110,9,2,0,101,23,101,85,103,1,101,13, - 162,1,82,0,142,0,90,86,101,86,114,13,2,0,101,51, - 101,86,100,18,166,2,0,0,171,2,0,0,0,0,0,0, - 0,0,90,37,110,12,2,0,101,51,101,85,100,18,166,2, - 0,0,171,2,0,0,0,0,0,0,0,0,90,37,101,28, - 115,2,101,86,90,28,101,29,115,2,101,85,90,29,100,39, - 101,0,100,54,60,0,0,0,101,45,114,6,100,22,120,1, - 90,28,90,29,144,1,110,147,101,25,114,31,101,25,160,67, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,101,16,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,92,3,0,0,90,28,90,87,90,29,101,87, - 115,2,101,28,90,29,100,42,90,37,101,57,114,98,101,28, - 115,96,2,0,101,56,101,57,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,90,80,101,15,114,42,101,4,100,16, - 107,2,0,0,0,0,114,24,2,0,101,22,2,0,101,51, - 101,80,101,15,166,2,0,0,171,2,0,0,0,0,0,0, - 0,0,166,1,0,0,171,1,0,0,0,0,0,0,0,0, - 114,2,101,80,90,28,110,12,2,0,101,23,101,80,101,15, - 166,2,0,0,171,2,0,0,0,0,0,0,0,0,90,28, - 101,10,114,39,101,11,114,37,101,28,115,35,2,0,101,81, - 100,55,132,0,101,11,68,0,166,0,0,0,171,0,0,0, - 0,0,0,0,0,0,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,114,14,101,80,90,28,2,0,101,51,101,28, - 101,10,166,2,0,0,171,2,0,0,0,0,0,0,0,0, - 90,37,101,15,114,73,101,52,114,71,101,28,115,69,101,4, - 100,16,107,2,0,0,0,0,114,24,2,0,101,22,2,0, - 101,51,101,52,101,15,166,2,0,0,171,2,0,0,0,0, - 0,0,0,0,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,114,2,101,52,90,28,110,12,2,0,101,23,101,52, - 101,15,166,2,0,0,171,2,0,0,0,0,0,0,0,0, - 90,28,101,28,114,25,2,0,101,51,101,28,101,10,166,2, - 0,0,171,2,0,0,0,0,0,0,0,0,90,37,2,0, - 101,88,101,37,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,115,2,100,42,90,37,101,10,114,31,101,11,114,29, - 101,52,114,27,101,28,115,25,2,0,101,23,101,52,103,1, - 101,11,162,1,82,0,142,0,90,28,101,28,114,14,101,37, - 115,12,2,0,101,51,101,28,101,10,166,2,0,0,171,2, - 0,0,0,0,0,0,0,0,90,37,101,89,114,36,101,28, - 115,34,101,89,90,28,2,0,101,81,100,56,132,0,101,11, - 68,0,166,0,0,0,171,0,0,0,0,0,0,0,0,0, - 166,1,0,0,171,1,0,0,0,0,0,0,0,0,115,11, - 2,0,101,79,100,57,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,1,0,101,28,115,22,2,0,101,47,100,22, - 166,1,0,0,171,1,0,0,0,0,0,0,0,0,90,28, - 2,0,101,79,100,57,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,1,0,101,12,114,79,101,29,115,77,101,4, - 100,16,107,2,0,0,0,0,114,2,101,28,90,29,101,29, - 115,16,101,52,114,14,2,0,101,23,101,52,101,12,101,88, - 172,27,166,3,0,0,171,3,0,0,0,0,0,0,0,0, - 90,29,101,29,115,4,101,90,114,2,101,90,90,29,101,29, - 114,21,2,0,101,88,2,0,101,51,101,29,101,12,166,2, - 0,0,171,2,0,0,0,0,0,0,0,0,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,115,22,101,4,100,16, - 107,2,0,0,0,0,114,5,101,38,115,2,101,29,90,38, - 110,11,2,0,101,79,100,58,166,1,0,0,171,1,0,0, + 162,1,173,6,142,0,90,86,101,86,114,10,2,0,101,51, + 101,86,100,18,171,2,0,0,0,0,0,0,90,37,110,9, + 2,0,101,51,101,85,100,18,171,2,0,0,0,0,0,0, + 90,37,101,28,115,2,101,86,90,28,101,29,115,2,101,85, + 90,29,100,39,101,0,100,54,60,0,0,0,101,45,114,6, + 100,22,120,1,90,28,90,29,144,1,110,70,101,25,114,27, + 101,25,106,135,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,101,16,171,1,0,0,0,0,0,0, + 92,3,0,0,90,28,90,87,90,29,101,87,115,2,101,28, + 90,29,100,42,90,37,101,57,114,76,101,28,115,74,2,0, + 101,56,101,57,171,1,0,0,0,0,0,0,90,80,101,15, + 114,32,101,4,100,16,107,40,0,0,114,18,2,0,101,22, + 2,0,101,51,101,80,101,15,171,2,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,114,12,101,80,90,28,110,9, + 2,0,101,23,101,80,101,15,171,2,0,0,0,0,0,0, + 90,28,101,10,114,30,101,11,114,28,101,28,115,26,2,0, + 101,81,100,55,132,0,101,11,68,0,171,0,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,114,11,101,80,90,28, + 2,0,101,51,101,28,101,10,171,2,0,0,0,0,0,0, + 90,37,101,15,114,57,101,52,114,55,101,28,115,53,101,4, + 100,16,107,40,0,0,114,18,2,0,101,22,2,0,101,51, + 101,52,101,15,171,2,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,114,12,101,52,90,28,110,9,2,0,101,23, + 101,52,101,15,171,2,0,0,0,0,0,0,90,28,101,28, + 114,19,2,0,101,51,101,28,101,10,171,2,0,0,0,0, + 0,0,90,37,2,0,101,88,101,37,171,1,0,0,0,0, + 0,0,115,2,100,42,90,37,101,10,114,28,101,11,114,26, + 101,52,114,24,101,28,115,22,2,0,101,23,101,52,103,1, + 101,11,162,1,173,6,142,0,90,28,101,28,114,11,101,37, + 115,9,2,0,101,51,101,28,101,10,171,2,0,0,0,0, + 0,0,90,37,101,89,114,27,101,28,115,25,101,89,90,28, + 2,0,101,81,100,56,132,0,101,11,68,0,171,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,115,8,2,0, + 101,79,100,57,171,1,0,0,0,0,0,0,1,0,101,28, + 115,16,2,0,101,47,100,22,171,1,0,0,0,0,0,0, + 90,28,2,0,101,79,100,57,171,1,0,0,0,0,0,0, + 1,0,101,12,114,65,101,29,115,63,101,4,100,16,107,40, + 0,0,114,2,101,28,90,29,101,29,115,13,101,52,114,11, + 2,0,101,23,101,52,101,12,101,88,172,27,171,3,0,0, + 0,0,0,0,90,29,101,29,115,4,101,90,114,2,101,90, + 90,29,101,29,114,15,2,0,101,88,2,0,101,51,101,29, + 101,12,171,2,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,115,18,101,4,100,16,107,40,0,0,114,5,101,38, + 115,11,101,29,90,38,110,8,2,0,101,79,100,58,171,1, 0,0,0,0,0,0,1,0,101,29,115,2,101,28,90,29, - 101,28,114,2,101,29,115,11,2,0,101,79,100,59,166,1, - 0,0,171,1,0,0,0,0,0,0,0,0,1,0,101,45, - 114,31,101,45,160,49,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,101,16,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,101,0,100,40,60,0, - 0,0,100,39,101,0,100,41,60,0,0,0,144,2,110,205, - 101,35,144,2,115,202,103,0,90,34,101,33,114,56,101,32, - 114,54,101,32,160,49,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,101,16,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,68,0,93,32,90,50, - 101,34,160,91,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,2,0,101,47,101,50,166,1, - 0,0,171,1,0,0,0,0,0,0,0,0,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,1,0,140,33,101,4, - 100,16,107,2,0,0,0,0,114,48,101,57,114,12,2,0, - 101,56,101,57,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,90,80,110,2,101,52,90,80,101,34,160,91,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,2,0,101,51,101,80,101,15,166,2,0,0,171,2, - 0,0,0,0,0,0,0,0,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,1,0,110,65,101,85,114,32,101,34, - 160,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,2,0,101,51,101,89,101,15,166,2, - 0,0,171,2,0,0,0,0,0,0,0,0,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,1,0,110,31,101,34, - 160,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,2,0,101,51,101,28,101,15,166,2, - 0,0,171,2,0,0,0,0,0,0,0,0,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,1,0,101,4,100,16, - 107,2,0,0,0,0,144,1,114,47,101,33,144,1,114,44, - 101,92,144,1,114,41,101,92,106,93,0,0,0,0,0,0, - 0,0,101,92,106,94,0,0,0,0,0,0,0,0,102,2, - 68,0,144,1,93,25,90,95,9,0,101,92,160,96,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,101,95,101,21,166,2,0,0,171,2,0,0,0,0, - 0,0,0,0,90,68,9,0,100,44,90,97,9,0,9,0, - 101,92,160,98,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,101,68,101,92,160,99,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,101,68,101,97,166,2,0,0,171,2,0,0,0,0, - 0,0,0,0,166,2,0,0,171,2,0,0,0,0,0,0, - 0,0,90,100,110,11,35,0,101,74,36,0,114,3,1,0, - 89,0,110,62,119,0,120,3,89,0,119,1,2,0,101,101, - 101,100,101,102,166,2,0,0,171,2,0,0,0,0,0,0, - 0,0,114,40,101,34,160,103,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,101,100,160,49, + 101,28,114,2,101,29,115,8,2,0,101,79,100,59,171,1, + 0,0,0,0,0,0,1,0,101,45,114,27,101,45,106,99, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,101,16,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,1,0,101,97,100,39,122,13,0,0,90,97,140,113, - 101,25,115,76,101,37,115,74,101,92,160,98,0,0,0,0, + 0,0,101,16,171,1,0,0,0,0,0,0,101,0,100,40, + 60,0,0,0,100,39,101,0,100,41,60,0,0,0,144,1, + 110,223,101,35,144,1,115,220,103,0,90,34,101,33,114,47, + 101,32,114,45,101,32,106,99,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,101,16,171,1,0,0, + 0,0,0,0,68,0,93,25,0,0,90,50,101,34,106,183, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 101,68,100,42,166,2,0,0,171,2,0,0,0,0,0,0, - 0,0,90,100,2,0,101,101,101,100,101,102,166,2,0,0, - 171,2,0,0,0,0,0,0,0,0,114,40,101,34,160,103, + 0,0,2,0,101,47,101,50,171,1,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,1,0,140,27,4,0,101,4, + 100,16,107,40,0,0,114,38,101,57,114,9,2,0,101,56, + 101,57,171,1,0,0,0,0,0,0,90,80,110,2,101,52, + 90,80,101,34,106,183,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,101,51,101,80,101,15, + 171,2,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 1,0,110,51,101,85,114,25,101,34,106,183,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, + 101,51,101,89,101,15,171,2,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,1,0,110,24,101,34,106,183,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,101,100,160,49,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,101,16,166,1, - 0,0,171,1,0,0,0,0,0,0,0,0,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,1,0,101,92,160,104, + 2,0,101,51,101,28,101,15,171,2,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,1,0,101,4,100,16,107,40, + 0,0,114,137,101,33,114,135,101,92,114,133,101,92,106,186, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,101,68,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,1,0,110,26,35,0,101,92,160,104,0,0, + 0,0,101,92,106,188,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,102,2,68,0,93,106,0,0, + 90,95,9,0,101,92,106,193,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,101,95,101,21,171,2, + 0,0,0,0,0,0,90,68,9,0,100,44,90,97,9,0, + 9,0,101,92,106,197,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,101,68,101,92,106,199,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,101,68,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,1,0,119,0,120,3,89,0,119,1,144,1,140,15, - 35,0,101,74,36,0,114,4,1,0,89,0,144,1,140,23, - 119,0,120,3,89,0,119,1,101,105,114,55,101,105,160,49, + 101,68,101,97,171,2,0,0,0,0,0,0,171,2,0,0, + 0,0,0,0,90,100,2,0,101,101,101,100,101,102,171,2, + 0,0,0,0,0,0,114,32,101,34,106,207,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,100, + 106,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,101,16,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,1,0,101,97,100,39,122,13,0,0, + 90,97,140,82,4,0,101,105,114,46,101,105,106,99,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,101,16,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,68,0,93,33,90,50,101,34,160,91,0,0, + 101,16,171,1,0,0,0,0,0,0,68,0,93,26,0,0, + 90,50,101,34,106,183,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,101,51,101,28,101,50, + 171,2,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 1,0,140,28,4,0,101,37,115,11,101,28,114,9,2,0, + 101,51,101,28,101,10,171,2,0,0,0,0,0,0,90,37, + 101,38,115,11,101,29,114,9,2,0,101,51,101,29,101,12, + 171,2,0,0,0,0,0,0,90,38,101,4,100,16,107,40, + 0,0,114,62,101,38,114,17,101,34,106,183,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,38, + 171,1,0,0,0,0,0,0,1,0,101,37,114,17,101,34, + 106,183,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,101,37,171,1,0,0,0,0,0,0,1,0, + 101,52,114,60,101,52,101,34,118,1,114,56,101,34,106,183, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,2,0,101,51,101,28,101,50,166,2,0,0,171,2, - 0,0,0,0,0,0,0,0,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,1,0,140,34,101,37,115,14,101,28, - 114,12,2,0,101,51,101,28,101,10,166,2,0,0,171,2, - 0,0,0,0,0,0,0,0,90,37,101,38,115,14,101,29, - 114,12,2,0,101,51,101,29,101,12,166,2,0,0,171,2, - 0,0,0,0,0,0,0,0,90,38,101,4,100,16,107,2, - 0,0,0,0,114,74,101,38,114,21,101,34,160,91,0,0, + 0,0,101,52,171,1,0,0,0,0,0,0,1,0,110,38, + 101,37,114,17,101,34,106,183,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,101,37,171,1,0,0, + 0,0,0,0,1,0,101,38,114,17,101,34,106,183,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,101,38,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,1,0,101,37,114,21,101,34,160,91,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 101,37,166,1,0,0,171,1,0,0,0,0,0,0,0,0, - 1,0,101,52,114,25,101,52,101,34,118,1,114,21,101,34, - 160,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,101,52,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,1,0,110,46,101,37,114,21,101,34, - 160,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,101,37,166,1,0,0,171,1,0,0, - 0,0,0,0,0,0,1,0,101,38,114,21,101,34,160,91, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,101,38,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,1,0,101,34,101,0,100,40,60,0,0,0, - 100,39,101,0,100,41,60,0,0,0,101,4,100,16,107,3, - 0,0,0,0,114,50,101,85,114,48,101,0,160,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,100,33,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,112,1,101,89,90,28,101,0,160,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 100,34,166,1,0,0,171,1,0,0,0,0,0,0,0,0, - 112,3,101,90,112,1,101,28,90,29,101,82,114,161,100,39, + 101,38,171,1,0,0,0,0,0,0,1,0,101,34,101,0, + 100,40,60,0,0,0,100,39,101,0,100,41,60,0,0,0, + 101,4,100,16,107,55,0,0,114,48,101,85,114,46,101,0, + 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,33,171,1,0,0,0,0,0,0,120,1, + 115,2,1,0,101,89,90,28,101,0,106,3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,34, + 171,1,0,0,0,0,0,0,120,1,115,6,1,0,101,90, + 120,1,115,2,1,0,101,28,90,29,101,82,114,137,100,39, 101,0,100,60,60,0,0,0,100,44,101,0,100,38,60,0, 0,0,100,44,101,0,100,61,60,0,0,0,100,39,101,0, - 100,62,60,0,0,0,103,0,90,34,101,82,68,0,93,126, - 90,66,101,66,160,67,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,100,63,166,1,0,0, - 171,1,0,0,0,0,0,0,0,0,100,44,25,0,0,0, - 0,0,0,0,0,0,160,71,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,166,0,0,0, - 171,0,0,0,0,0,0,0,0,0,90,66,101,66,115,1, - 140,50,101,66,100,64,107,2,0,0,0,0,114,6,100,39, - 101,0,100,61,60,0,0,0,140,62,101,66,160,106,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,100,65,166,1,0,0,171,1,0,0,0,0,0,0, - 0,0,114,12,2,0,101,79,100,66,166,1,0,0,171,1, - 0,0,0,0,0,0,0,0,1,0,140,95,101,34,160,91, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,2,0,101,51,101,83,101,66,166,2,0,0, - 171,2,0,0,0,0,0,0,0,0,166,1,0,0,171,1, - 0,0,0,0,0,0,0,0,1,0,140,127,101,34,101,0, + 100,62,60,0,0,0,103,0,90,34,101,82,68,0,93,100, + 0,0,90,66,101,66,106,135,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,63,171,1,0,0, + 0,0,0,0,100,44,25,0,0,0,106,143,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,90,66,101,66,115,1,140,40,101,66, + 100,64,107,40,0,0,114,6,100,39,101,0,100,61,60,0, + 0,0,140,51,101,66,106,213,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,65,171,1,0,0, + 0,0,0,0,114,9,2,0,101,79,100,66,171,1,0,0, + 0,0,0,0,1,0,140,77,101,34,106,183,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, + 101,51,101,83,101,66,171,2,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,1,0,140,102,4,0,101,34,101,0, 100,40,60,0,0,0,100,39,101,0,100,41,60,0,0,0, 101,24,101,0,100,29,60,0,0,0,101,25,101,0,100,30, 60,0,0,0,101,26,101,0,100,31,60,0,0,0,101,27, 101,0,100,32,60,0,0,0,101,28,101,0,100,33,60,0, - 0,0,101,29,101,0,100,34,60,0,0,0,101,30,112,1, - 101,28,101,0,100,35,60,0,0,0,101,31,112,1,101,29, - 101,0,100,36,60,0,0,0,101,3,101,0,100,0,60,0, - 0,0,101,37,112,1,100,22,101,0,100,67,60,0,0,0, - 101,38,112,1,100,22,101,0,100,68,60,0,0,0,100,42, - 83,0,41,69,218,10,112,108,97,116,108,105,98,100,105,114, - 218,5,112,111,115,105,120,218,6,100,97,114,119,105,110,122, - 14,112,121,98,117,105,108,100,100,105,114,46,116,120,116,122, - 19,77,111,100,117,108,101,115,47,83,101,116,117,112,46,108, - 111,99,97,108,218,6,112,121,116,104,111,110,122,7,47,112, - 121,116,104,111,110,250,1,46,122,6,47,111,115,46,112,121, - 122,7,47,111,115,46,112,121,99,122,12,47,108,105,98,45, - 100,121,110,108,111,97,100,122,9,76,105,98,47,111,115,46, - 112,121,122,10,112,121,118,101,110,118,46,99,102,103,122,4, - 46,122,105,112,250,1,58,250,1,47,218,2,110,116,122,20, - 92,77,111,100,117,108,101,115,92,83,101,116,117,112,46,108, - 111,99,97,108,218,3,76,105,98,122,6,92,111,115,46,112, - 121,122,7,92,111,115,46,112,121,99,122,9,76,105,98,92, - 111,115,46,112,121,218,0,122,27,83,79,70,84,87,65,82, - 69,92,80,121,116,104,111,110,92,80,121,116,104,111,110,67, - 111,114,101,92,122,11,92,80,121,116,104,111,110,80,97,116, - 104,250,1,59,250,1,92,41,1,218,4,116,101,115,116,99, - 1,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0, - 7,0,0,0,243,112,0,0,0,135,0,135,1,151,0,137, - 0,114,49,116,1,0,0,0,0,0,0,0,0,0,0,136, - 0,136,1,102,2,100,1,132,8,124,2,68,0,166,0,0, - 0,171,0,0,0,0,0,0,0,0,0,166,1,0,0,171, - 1,0,0,0,0,0,0,0,0,114,2,137,0,83,0,116, - 3,0,0,0,0,0,0,0,0,0,0,137,0,166,1,0, - 0,171,1,0,0,0,0,0,0,0,0,138,0,137,0,176, - 47,100,0,83,0,100,0,83,0,41,2,78,99,1,0,0, - 0,0,0,0,0,0,0,0,0,7,0,0,0,51,0,0, - 0,243,74,0,0,0,149,2,75,0,1,0,151,0,124,0, - 93,29,125,1,2,0,137,3,116,1,0,0,0,0,0,0, - 0,0,0,0,137,2,124,1,166,2,0,0,171,2,0,0, - 0,0,0,0,0,0,166,1,0,0,171,1,0,0,0,0, - 0,0,0,0,86,0,151,1,1,0,140,30,100,0,83,0, - 169,1,78,41,1,218,8,106,111,105,110,112,97,116,104,41, - 4,218,2,46,48,218,1,102,218,6,112,114,101,102,105,120, - 114,13,0,0,0,115,4,0,0,0,32,32,128,128,250,16, - 60,102,114,111,122,101,110,32,103,101,116,112,97,116,104,62, - 250,9,60,103,101,110,101,120,112,114,62,122,28,115,101,97, - 114,99,104,95,117,112,46,60,108,111,99,97,108,115,62,46, - 60,103,101,110,101,120,112,114,62,210,0,0,0,115,55,0, - 0,0,248,232,0,232,0,128,0,208,14,60,208,14,60,168, - 81,136,116,136,116,149,72,152,86,160,81,209,20,39,212,20, - 39,209,15,40,212,15,40,208,14,60,208,14,60,208,14,60, - 208,14,60,208,14,60,208,14,60,243,0,0,0,0,41,2, - 218,3,97,110,121,218,7,100,105,114,110,97,109,101,41,3, - 114,20,0,0,0,114,13,0,0,0,218,9,108,97,110,100, - 109,97,114,107,115,115,3,0,0,0,96,96,32,114,21,0, - 0,0,218,9,115,101,97,114,99,104,95,117,112,114,27,0, - 0,0,208,0,0,0,115,98,0,0,0,248,248,128,0,216, - 10,16,240,0,3,5,33,221,11,14,208,14,60,208,14,60, - 208,14,60,208,14,60,208,14,60,176,41,208,14,60,209,14, - 60,212,14,60,209,11,60,212,11,60,240,0,1,9,26,216, - 19,25,136,77,221,17,24,152,22,145,31,148,31,136,6,240, - 7,0,11,17,240,0,3,5,33,240,0,3,5,33,240,0, - 3,5,33,240,0,3,5,33,240,0,3,5,33,114,23,0, - 0,0,218,12,112,114,111,103,114,97,109,95,110,97,109,101, - 218,4,104,111,109,101,218,10,101,120,101,99,117,116,97,98, - 108,101,218,15,98,97,115,101,95,101,120,101,99,117,116,97, - 98,108,101,114,20,0,0,0,218,11,101,120,101,99,95,112, - 114,101,102,105,120,218,11,98,97,115,101,95,112,114,101,102, - 105,120,218,16,98,97,115,101,95,101,120,101,99,95,112,114, - 101,102,105,120,218,14,112,121,116,104,111,110,112,97,116,104, - 95,101,110,118,218,15,117,115,101,95,101,110,118,105,114,111, - 110,109,101,110,116,233,1,0,0,0,218,19,109,111,100,117, - 108,101,95,115,101,97,114,99,104,95,112,97,116,104,115,218, - 23,109,111,100,117,108,101,95,115,101,97,114,99,104,95,112, - 97,116,104,115,95,115,101,116,78,218,9,111,114,105,103,95, - 97,114,103,118,233,0,0,0,0,122,11,47,98,105,110,47, - 112,121,116,104,111,110,70,84,250,1,61,122,32,70,97,105, - 108,101,100,32,116,111,32,102,105,110,100,32,114,101,97,108, - 32,108,111,99,97,116,105,111,110,32,111,102,32,99,1,0, - 0,0,0,0,0,0,0,0,0,0,7,0,0,0,35,0, - 0,0,243,90,0,0,0,75,0,1,0,151,0,124,0,93, - 38,125,1,116,1,0,0,0,0,0,0,0,0,0,0,116, - 3,0,0,0,0,0,0,0,0,0,0,116,4,0,0,0, - 0,0,0,0,0,0,0,124,1,166,2,0,0,171,2,0, - 0,0,0,0,0,0,0,166,1,0,0,171,1,0,0,0, - 0,0,0,0,0,86,0,151,1,1,0,140,39,100,0,83, - 0,114,16,0,0,0,169,3,218,6,105,115,102,105,108,101, - 114,17,0,0,0,218,11,108,105,98,114,97,114,121,95,100, - 105,114,41,2,114,18,0,0,0,218,1,112,115,2,0,0, - 0,32,32,114,21,0,0,0,114,22,0,0,0,114,22,0, - 0,0,167,1,0,0,115,52,0,0,0,232,0,232,0,128, - 0,208,10,70,208,10,70,176,1,141,54,149,40,157,59,168, - 1,209,18,42,212,18,42,209,11,43,212,11,43,208,10,70, - 208,10,70,208,10,70,208,10,70,208,10,70,208,10,70,114, - 23,0,0,0,218,3,101,120,101,218,3,100,108,108,122,5, - 46,95,112,116,104,218,16,95,105,115,95,112,121,116,104,111, - 110,95,98,117,105,108,100,99,1,0,0,0,0,0,0,0, - 0,0,0,0,7,0,0,0,35,0,0,0,243,90,0,0, - 0,75,0,1,0,151,0,124,0,93,38,125,1,116,1,0, - 0,0,0,0,0,0,0,0,0,116,3,0,0,0,0,0, - 0,0,0,0,0,116,4,0,0,0,0,0,0,0,0,0, - 0,124,1,166,2,0,0,171,2,0,0,0,0,0,0,0, - 0,166,1,0,0,171,1,0,0,0,0,0,0,0,0,86, - 0,151,1,1,0,140,39,100,0,83,0,114,16,0,0,0, - 114,44,0,0,0,169,2,114,18,0,0,0,114,19,0,0, - 0,115,2,0,0,0,32,32,114,21,0,0,0,114,22,0, - 0,0,114,22,0,0,0,51,2,0,0,115,52,0,0,0, - 232,0,232,0,128,0,208,18,78,208,18,78,184,1,149,54, - 157,40,165,59,176,1,209,26,50,212,26,50,209,19,51,212, - 19,51,208,18,78,208,18,78,208,18,78,208,18,78,208,18, - 78,208,18,78,114,23,0,0,0,99,1,0,0,0,0,0, - 0,0,0,0,0,0,7,0,0,0,35,0,0,0,243,90, - 0,0,0,75,0,1,0,151,0,124,0,93,38,125,1,116, - 1,0,0,0,0,0,0,0,0,0,0,116,3,0,0,0, - 0,0,0,0,0,0,0,116,4,0,0,0,0,0,0,0, - 0,0,0,124,1,166,2,0,0,171,2,0,0,0,0,0, - 0,0,0,166,1,0,0,171,1,0,0,0,0,0,0,0, - 0,86,0,151,1,1,0,140,39,100,0,83,0,114,16,0, - 0,0,41,3,114,45,0,0,0,114,17,0,0,0,114,20, - 0,0,0,114,52,0,0,0,115,2,0,0,0,32,32,114, - 21,0,0,0,114,22,0,0,0,114,22,0,0,0,78,2, - 0,0,115,52,0,0,0,232,0,232,0,128,0,208,18,73, - 208,18,73,176,49,149,54,157,40,165,54,168,49,209,26,45, - 212,26,45,209,19,46,212,19,46,208,18,73,208,18,73,208, - 18,73,208,18,73,208,18,73,208,18,73,114,23,0,0,0, - 122,54,67,111,117,108,100,32,110,111,116,32,102,105,110,100, - 32,112,108,97,116,102,111,114,109,32,105,110,100,101,112,101, - 110,100,101,110,116,32,108,105,98,114,97,114,105,101,115,32, - 60,112,114,101,102,105,120,62,122,57,67,111,117,108,100,32, - 110,111,116,32,102,105,110,100,32,112,108,97,116,102,111,114, - 109,32,100,101,112,101,110,100,101,110,116,32,108,105,98,114, - 97,114,105,101,115,32,60,101,120,101,99,95,112,114,101,102, - 105,120,62,122,56,67,111,110,115,105,100,101,114,32,115,101, - 116,116,105,110,103,32,36,80,89,84,72,79,78,72,79,77, - 69,32,116,111,32,60,112,114,101,102,105,120,62,91,58,60, - 101,120,101,99,95,112,114,101,102,105,120,62,93,218,8,105, - 115,111,108,97,116,101,100,218,11,115,105,116,101,95,105,109, - 112,111,114,116,218,9,115,97,102,101,95,112,97,116,104,250, - 1,35,122,11,105,109,112,111,114,116,32,115,105,116,101,122, - 7,105,109,112,111,114,116,32,122,39,117,110,115,117,112,112, - 111,114,116,101,100,32,39,105,109,112,111,114,116,39,32,108, - 105,110,101,32,105,110,32,46,95,112,116,104,32,102,105,108, - 101,218,10,115,116,100,108,105,98,95,100,105,114,218,14,112, - 108,97,116,115,116,100,108,105,98,95,100,105,114,41,107,218, - 6,99,111,110,102,105,103,218,3,103,101,116,218,10,80,76, - 65,84,76,73,66,68,73,82,114,1,0,0,0,218,7,111, - 115,95,110,97,109,101,218,12,66,85,73,76,68,68,73,82, - 95,84,88,84,218,14,66,85,73,76,68,95,76,65,78,68, - 77,65,82,75,218,13,86,69,82,83,73,79,78,95,77,65, - 74,79,82,218,20,68,69,70,65,85,76,84,95,80,82,79, - 71,82,65,77,95,78,65,77,69,218,13,86,69,82,83,73, - 79,78,95,77,73,78,79,82,218,13,83,84,68,76,73,66, - 95,83,85,66,68,73,82,218,16,83,84,68,76,73,66,95, - 76,65,78,68,77,65,82,75,83,218,19,80,76,65,84,83, - 84,68,76,73,66,95,76,65,78,68,77,65,82,75,218,21, - 66,85,73,76,68,83,84,68,76,73,66,95,76,65,78,68, - 77,65,82,75,83,218,13,86,69,78,86,95,76,65,78,68, - 77,65,82,75,218,12,90,73,80,95,76,65,78,68,77,65, - 82,75,218,5,68,69,76,73,77,218,3,83,69,80,218,5, - 86,80,65,84,72,218,10,80,89,68,69,66,85,71,69,88, - 84,218,8,80,89,87,73,78,86,69,82,218,10,87,73,78, - 82,69,71,95,75,69,89,114,45,0,0,0,114,27,0,0, - 0,114,28,0,0,0,114,29,0,0,0,114,30,0,0,0, - 114,31,0,0,0,114,20,0,0,0,114,32,0,0,0,114, - 33,0,0,0,114,34,0,0,0,218,14,69,78,86,95,80, - 89,84,72,79,78,80,65,84,72,114,36,0,0,0,218,10, - 112,121,116,104,111,110,112,97,116,104,218,18,112,121,116,104, - 111,110,112,97,116,104,95,119,97,115,95,115,101,116,218,19, - 114,101,97,108,95,101,120,101,99,117,116,97,98,108,101,95, - 100,105,114,114,58,0,0,0,114,59,0,0,0,218,4,98, - 111,111,108,218,20,112,114,111,103,114,97,109,95,110,97,109, - 101,95,119,97,115,95,115,101,116,218,10,73,110,100,101,120, - 69,114,114,111,114,218,10,69,88,69,95,83,85,70,70,73, - 88,218,9,104,97,115,115,117,102,102,105,120,218,7,105,115, - 120,102,105,108,101,218,10,112,121,95,115,101,116,112,97,116, - 104,218,15,114,101,97,108,95,101,120,101,99,117,116,97,98, - 108,101,218,7,97,98,115,112,97,116,104,218,8,69,78,86, - 95,80,65,84,72,218,5,115,112,108,105,116,114,47,0,0, - 0,114,17,0,0,0,218,14,101,120,101,99,117,116,97,98, - 108,101,95,100,105,114,218,20,69,78,86,95,80,89,84,72, - 79,78,69,88,69,67,85,84,65,66,76,69,218,23,69,78, - 86,95,95,95,80,89,86,69,78,86,95,76,65,85,78,67, - 72,69,82,95,95,218,19,87,73,84,72,95,78,69,88,84, - 95,70,82,65,77,69,87,79,82,75,114,25,0,0,0,218, - 7,108,105,98,114,97,114,121,218,12,104,111,109,101,95,119, - 97,115,95,115,101,116,218,14,69,78,86,95,80,89,84,72, - 79,78,72,79,77,69,218,11,118,101,110,118,95,112,114,101, - 102,105,120,218,12,118,101,110,118,95,112,114,101,102,105,120, - 50,218,9,114,101,97,100,108,105,110,101,115,218,9,112,121, - 118,101,110,118,99,102,103,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,4,108,105,110, - 101,218,9,112,97,114,116,105,116,105,111,110,218,3,107,101, - 121,218,7,104,97,100,95,101,113,117,218,5,118,97,108,117, - 101,218,5,115,116,114,105,112,218,5,108,111,119,101,114,218, - 8,114,101,97,108,112,97,116,104,218,7,79,83,69,114,114, - 111,114,218,8,98,97,115,101,110,97,109,101,218,8,98,97, - 115,101,95,101,120,101,218,9,99,97,110,100,105,100,97,116, - 101,218,2,101,120,218,4,119,97,114,110,114,46,0,0,0, - 114,24,0,0,0,218,3,112,116,104,218,7,112,116,104,95, - 100,105,114,218,10,114,112,97,114,116,105,116,105,111,110,218, - 12,98,117,105,108,100,95,112,114,101,102,105,120,218,19,98, - 117,105,108,100,95,115,116,100,108,105,98,95,112,114,101,102, - 105,120,218,9,104,97,100,95,100,101,108,105,109,218,5,105, - 115,100,105,114,218,6,80,82,69,70,73,88,218,11,69,88, - 69,67,95,80,82,69,70,73,88,218,6,97,112,112,101,110, - 100,218,6,119,105,110,114,101,103,218,17,72,75,69,89,95, - 67,85,82,82,69,78,84,95,85,83,69,82,218,18,72,75, - 69,89,95,76,79,67,65,76,95,77,65,67,72,73,78,69, - 218,2,104,107,218,9,79,112,101,110,75,101,121,69,120,218, - 1,105,218,10,81,117,101,114,121,86,97,108,117,101,218,7, - 69,110,117,109,75,101,121,218,1,118,218,10,105,115,105,110, - 115,116,97,110,99,101,218,3,115,116,114,218,6,101,120,116, - 101,110,100,218,8,67,108,111,115,101,75,101,121,218,10,80, - 89,84,72,79,78,80,65,84,72,218,10,115,116,97,114,116, - 115,119,105,116,104,169,0,114,23,0,0,0,114,21,0,0, - 0,250,8,60,109,111,100,117,108,101,62,114,149,0,0,0, - 1,0,0,0,115,147,19,0,0,240,3,1,1,1,240,92, - 5,0,14,20,143,90,138,90,152,12,209,13,37,212,13,37, - 208,13,51,168,26,128,10,224,3,10,136,103,210,3,21,208, - 3,21,152,23,160,72,210,25,44,208,25,44,216,19,35,128, - 76,216,21,42,128,78,216,27,51,160,77,208,27,51,208,27, - 51,208,4,24,216,23,33,208,20,73,208,20,73,168,45,208, - 20,73,208,20,73,184,45,208,20,73,208,20,73,128,77,216, - 27,40,208,24,48,208,24,48,208,24,48,176,93,208,50,75, - 208,50,75,208,50,75,208,23,76,208,4,20,216,29,39,208, - 26,91,208,26,91,176,13,208,26,91,208,26,91,192,13,208, - 26,91,208,26,91,208,26,91,208,4,23,216,29,40,152,77, - 208,4,25,216,20,32,128,77,216,22,32,208,19,75,208,19, - 75,168,29,208,19,75,184,13,208,19,75,208,19,75,208,19, - 75,128,76,216,12,15,128,69,216,10,13,128,67,128,67,224, - 5,12,144,4,130,95,128,95,216,19,35,128,76,216,24,29, - 208,21,53,208,21,53,208,21,53,128,78,216,27,36,208,4, - 24,216,20,25,128,77,216,27,40,208,24,49,208,24,49,208, - 24,49,176,109,208,51,77,208,51,77,208,51,77,208,23,78, - 208,4,20,216,29,39,152,47,208,4,23,216,29,41,152,78, - 208,4,25,216,20,32,128,77,216,19,80,152,77,208,19,80, - 168,61,208,19,80,184,42,208,58,74,200,2,208,19,80,208, - 19,80,208,19,80,128,76,216,17,72,176,40,208,17,72,208, - 17,72,208,17,72,128,74,216,12,15,128,69,216,10,14,128, - 67,240,14,0,40,46,240,0,4,1,33,240,0,4,1,33, - 240,0,4,1,33,240,0,4,1,33,240,0,4,1,33,240, - 22,0,16,22,143,122,138,122,152,46,209,15,41,212,15,41, - 128,12,216,7,13,135,122,130,122,144,38,209,7,25,212,7, - 25,128,4,216,13,19,143,90,138,90,152,12,209,13,37,212, - 13,37,128,10,216,18,24,151,42,146,42,208,29,46,209,18, - 47,212,18,47,128,15,216,9,15,143,26,138,26,144,72,209, - 9,29,212,9,29,128,6,216,14,20,143,106,138,106,152,29, - 209,14,39,212,14,39,128,11,216,14,20,143,106,138,106,152, - 29,209,14,39,212,14,39,128,11,216,19,25,151,58,146,58, - 208,30,48,209,19,49,212,19,49,208,0,16,216,17,23,208, - 24,40,212,17,41,128,14,216,18,24,151,42,146,42,208,29, - 46,176,1,209,18,50,212,18,50,128,15,224,13,19,143,90, - 138,90,208,24,45,209,13,46,212,13,46,128,10,216,21,27, - 151,90,146,90,208,32,57,209,21,58,212,21,58,208,0,18, - 224,22,26,208,0,19,216,13,17,128,10,216,17,21,128,14, - 240,12,0,24,28,144,116,152,76,209,23,41,212,23,41,208, - 0,20,224,7,19,240,0,4,1,13,240,2,3,5,13,216, - 23,29,151,122,146,122,160,43,168,114,209,23,50,212,23,50, - 176,49,212,23,53,136,12,136,12,248,216,11,21,240,0,1, - 5,13,240,0,1,5,13,240,0,1,5,13,216,8,12,136, - 4,240,3,1,5,13,248,248,248,240,6,0,8,20,240,0, - 1,1,40,216,19,39,128,76,224,3,13,240,0,1,1,45, - 144,105,144,105,160,12,168,106,209,22,57,212,22,57,240,0, - 1,1,45,184,103,184,103,192,108,208,85,95,209,70,95,209, - 62,96,212,62,96,240,0,1,1,45,216,19,31,160,42,209, - 19,44,128,76,240,14,0,4,14,240,0,4,1,37,240,6, - 0,12,22,240,0,1,5,37,216,21,36,136,10,224,7,17, - 240,0,2,1,39,144,99,152,92,208,22,41,208,22,41,224, - 17,24,144,23,152,28,209,17,38,212,17,38,128,74,224,7, - 17,240,0,10,1,33,240,6,0,18,33,128,74,128,74,216, - 5,12,144,8,210,5,24,208,5,24,240,12,0,23,33,128, - 79,224,7,17,240,0,8,1,18,144,108,240,0,8,1,18, - 160,120,240,0,8,1,18,240,8,0,14,22,143,94,138,94, - 152,69,209,13,34,212,13,34,240,0,4,5,18,240,0,4, - 5,18,136,1,216,12,20,136,72,144,81,152,12,209,12,37, - 212,12,37,136,1,216,11,18,136,55,144,49,137,58,140,58, - 240,0,2,9,18,216,25,26,136,74,216,12,17,136,69,240, - 5,2,9,18,240,8,0,8,18,240,0,8,1,41,216,17, - 19,128,74,240,8,0,22,29,144,87,152,83,145,92,148,92, - 128,78,240,6,0,27,41,208,4,23,224,3,23,240,0,18, - 1,41,208,27,50,240,0,18,1,41,240,10,0,8,15,144, - 40,210,7,26,208,7,26,208,31,50,208,7,26,240,10,0, - 30,37,152,87,160,87,209,29,45,212,29,45,208,26,89,208, - 26,89,184,45,208,26,89,208,26,89,200,45,208,26,89,208, - 26,89,136,15,136,15,224,26,36,136,15,224,11,26,240,0, - 1,5,42,216,26,41,136,15,224,17,37,208,17,64,208,41, - 64,128,74,216,21,28,144,87,152,90,209,21,40,212,21,40, - 128,78,240,18,0,16,21,128,12,224,3,7,240,0,3,1, - 26,216,19,23,128,76,128,76,216,5,20,240,0,1,1,26, - 152,30,240,0,1,1,26,176,10,240,0,1,1,26,216,11, - 25,128,68,240,14,0,15,19,128,11,240,8,0,8,12,241, - 0,54,1,27,144,74,241,0,54,1,27,240,2,14,5,23, - 240,6,0,24,38,208,23,60,168,23,168,23,176,26,209,41, - 60,212,41,60,136,12,216,22,29,144,103,152,108,209,22,43, - 212,22,43,136,11,240,2,6,9,39,224,24,33,152,9,160, - 40,160,40,168,59,184,13,209,34,70,212,34,70,209,24,71, - 212,24,71,136,73,136,73,248,216,16,33,160,63,208,15,51, - 240,0,3,9,39,240,0,3,9,39,240,0,3,9,39,224, - 24,33,152,9,160,40,160,40,168,60,184,29,209,34,71,212, - 34,71,209,24,72,212,24,72,136,73,216,26,38,136,75,136, - 75,136,75,240,7,3,9,39,248,248,248,248,248,240,8,0, - 13,30,152,127,208,11,47,240,0,2,5,23,240,0,2,5, - 23,240,0,2,5,23,216,22,26,136,11,216,20,22,136,9, - 136,9,136,9,240,5,2,5,23,248,248,248,240,8,0,17, - 26,240,0,37,5,27,240,0,37,5,27,136,4,216,30,34, - 159,110,154,110,168,83,209,30,49,212,30,49,209,8,27,136, - 3,136,87,144,101,216,11,18,240,0,33,9,18,144,115,151, - 121,146,121,145,123,148,123,215,23,40,210,23,40,209,23,42, - 212,23,42,168,102,210,23,52,208,23,52,216,51,56,183,59, - 178,59,177,61,180,61,208,12,64,136,78,208,29,48,216,19, - 34,240,0,30,13,38,240,6,6,17,25,216,38,46,160,104, - 168,122,209,38,58,212,38,58,144,79,216,23,38,168,42,210, - 23,52,208,23,52,224,42,44,152,15,248,248,216,23,30,240, - 0,1,17,25,240,0,1,17,25,240,0,1,17,25,216,20, - 24,144,68,240,3,1,17,25,248,248,248,224,23,38,240,0, - 20,17,38,216,38,46,160,104,168,126,184,120,184,120,200,10, - 209,63,83,212,63,83,209,38,84,212,38,84,144,79,240,12, - 0,24,31,160,36,146,127,144,127,168,118,168,118,176,111,209, - 47,70,212,47,70,144,127,216,35,43,160,56,168,74,209,35, - 55,212,35,55,152,8,216,42,62,208,64,104,200,29,208,64, - 104,208,64,104,208,89,102,208,64,104,208,64,104,208,41,105, - 240,0,11,25,38,240,0,11,25,38,152,73,216,28,37,176, - 122,208,41,73,168,26,168,26,192,114,209,28,73,152,73,216, - 31,39,168,57,210,31,52,208,31,52,216,32,40,216,40,48, - 168,8,176,30,192,25,209,40,75,212,40,75,152,73,240,10, - 0,32,38,152,118,160,105,209,31,48,212,31,48,240,0,2, - 29,38,216,50,59,160,15,216,32,37,160,5,240,5,2,29, - 38,240,6,0,13,18,136,69,248,224,22,26,136,11,240,14, - 0,8,23,240,0,1,1,58,216,22,32,208,22,57,160,79, - 208,22,57,176,114,128,79,224,7,22,240,0,1,1,38,216, - 22,37,128,79,240,4,6,1,67,1,216,22,30,144,104,152, - 127,209,22,47,212,22,47,128,79,128,79,248,216,7,14,240, - 0,4,1,67,1,240,0,4,1,67,1,240,0,4,1,67, - 1,240,6,0,8,14,128,118,136,111,209,7,30,212,7,30, - 240,0,1,5,67,1,216,8,12,136,4,208,13,65,176,15, - 208,13,65,208,13,65,209,8,66,212,8,66,208,8,66,248, - 248,248,248,248,248,248,248,248,240,9,4,1,67,1,248,248, - 248,240,12,0,8,22,240,0,7,1,45,152,39,160,88,210, - 26,45,208,26,45,176,39,208,26,45,224,18,25,144,39,152, - 39,209,18,34,212,18,34,128,75,216,7,10,128,115,208,10, - 70,208,10,70,208,53,69,208,10,70,209,10,70,212,10,70, - 209,7,70,212,7,70,240,0,4,5,45,240,6,0,26,34, - 152,24,160,43,209,25,46,212,25,46,136,14,216,30,44,208, - 8,27,240,8,0,8,22,240,0,1,1,68,1,216,43,50, - 168,55,176,63,209,43,67,212,43,67,208,4,67,128,78,208, - 21,40,240,8,0,8,27,240,0,1,1,51,216,26,33,152, - 39,160,47,209,26,50,212,26,50,208,4,23,240,18,0,7, - 11,128,3,216,10,14,128,7,240,8,0,8,18,240,0,23, - 1,24,152,44,240,0,23,1,24,240,12,0,15,22,144,122, - 160,63,208,13,51,240,0,10,5,21,240,0,10,5,21,136, - 1,216,11,12,240,0,9,9,21,216,15,22,152,36,138,127, - 136,127,160,73,160,73,168,97,176,21,209,36,55,212,36,55, - 136,127,184,57,184,57,192,81,200,5,209,59,78,212,59,78, - 136,127,216,20,21,151,76,146,76,160,19,209,20,37,212,20, - 37,160,97,212,20,40,144,1,216,12,13,144,23,137,76,136, - 65,240,2,5,13,21,216,22,31,144,105,160,1,145,108,148, - 108,144,3,216,26,33,152,39,160,33,153,42,156,42,144,7, - 216,16,21,144,5,248,216,19,26,240,0,1,13,21,240,0, - 1,13,21,240,0,1,13,21,216,16,20,144,4,240,3,1, - 13,21,248,248,248,240,17,9,9,21,240,26,0,8,15,240, - 0,3,5,24,216,26,27,136,15,216,15,22,136,4,216,21, - 23,136,10,240,14,0,16,20,128,12,224,9,21,240,0,45, - 1,39,208,26,45,240,0,45,1,39,176,106,240,0,45,1, - 39,216,11,17,143,58,138,58,208,22,40,168,33,209,11,44, - 212,11,44,168,113,210,11,48,208,11,48,240,6,17,5,53, - 216,25,33,152,24,216,12,31,216,12,21,136,73,144,104,144, - 104,208,31,50,176,76,209,22,65,212,22,65,209,12,66,212, - 12,66,192,49,212,12,69,241,5,3,26,10,244,0,3,26, - 10,136,14,240,8,0,24,32,144,120,208,32,51,176,85,209, - 23,59,212,23,59,136,12,136,12,248,216,11,21,240,0,3, - 5,60,240,0,3,5,60,240,0,3,5,60,224,25,44,136, - 14,216,23,31,144,120,208,32,51,176,85,209,23,59,212,23, - 59,136,12,136,12,136,12,216,12,29,152,127,208,11,47,240, - 0,7,5,53,240,0,7,5,53,240,0,7,5,53,216,11, - 17,136,54,144,40,144,40,208,27,46,176,14,209,18,63,212, - 18,63,209,11,64,212,11,64,240,0,6,9,53,216,27,35, - 152,56,208,36,55,184,21,209,27,63,212,27,63,136,76,216, - 15,22,152,36,138,127,136,127,240,8,0,34,53,144,14,248, - 248,240,15,7,5,53,248,248,248,240,18,0,8,20,240,0, - 22,5,39,216,11,18,144,100,138,63,136,63,224,34,46,208, - 12,31,208,12,31,224,34,43,160,41,168,76,208,34,81,208, - 59,80,208,34,81,208,34,81,208,34,81,208,12,31,224,11, - 30,240,0,3,9,55,216,25,33,152,24,208,34,53,176,117, - 209,25,61,212,25,61,136,74,136,74,224,25,33,152,24,160, - 44,176,5,209,25,54,212,25,54,136,74,224,15,21,240,0, - 1,9,41,216,21,40,136,70,240,8,0,16,27,240,0,1, - 9,39,216,26,38,136,75,240,8,0,38,39,136,6,208,15, - 33,209,8,34,240,14,0,4,14,240,0,96,1,1,73,1, - 240,6,0,28,30,208,4,29,128,70,136,91,137,91,240,8, - 0,8,12,240,0,7,5,26,240,6,0,42,46,175,30,170, - 30,184,5,209,41,62,212,41,62,209,8,38,136,6,144,9, - 152,59,216,15,24,240,0,1,9,33,216,26,32,136,75,224, - 21,25,136,10,240,8,0,8,15,240,0,12,5,61,144,118, - 240,0,12,5,61,216,22,29,144,103,152,103,209,22,38,212, - 22,38,136,11,216,11,23,240,0,6,9,62,216,15,22,152, - 36,138,127,136,127,224,19,25,144,54,152,40,152,40,160,59, - 176,12,209,26,61,212,26,61,209,19,62,212,19,62,240,0, - 1,17,41,216,29,40,144,70,248,224,25,34,152,25,160,59, - 176,12,209,25,61,212,25,61,144,6,216,11,24,240,0,3, - 9,61,208,29,45,240,0,3,9,61,176,102,240,0,3,9, - 61,216,15,18,136,115,208,18,78,208,18,78,208,61,77,208, - 18,78,209,18,78,212,18,78,209,15,78,212,15,78,240,0, - 2,13,61,216,25,36,144,6,216,29,37,152,88,160,102,168, - 109,209,29,60,212,29,60,144,10,240,8,0,8,20,240,0, - 10,5,34,152,14,240,0,10,5,34,168,118,240,0,10,5, - 34,216,11,18,144,100,138,63,136,63,224,15,21,136,118,144, - 104,144,104,152,126,168,124,209,22,60,212,22,60,209,15,61, - 212,15,61,240,0,1,13,40,216,25,39,144,6,248,224,21, - 30,144,89,152,126,168,124,209,21,60,212,21,60,136,70,216, - 11,17,240,0,3,9,34,216,25,33,152,24,160,38,168,45, - 209,25,56,212,25,56,136,74,216,19,24,144,53,152,26,209, - 19,36,212,19,36,240,0,1,13,34,216,29,33,144,10,240, - 8,0,8,21,240,0,3,5,57,208,25,41,240,0,3,5, - 57,168,110,240,0,3,5,57,192,86,240,0,3,5,57,216, - 17,26,144,25,152,62,208,17,61,208,44,60,208,17,61,208, - 17,61,208,17,61,136,6,216,11,17,240,0,1,9,57,152, - 42,240,0,1,9,57,216,25,33,152,24,160,38,168,45,209, - 25,56,212,25,56,136,74,224,7,13,240,0,3,5,75,1, - 144,102,240,0,3,5,75,1,216,17,23,136,6,216,15,18, - 136,115,208,18,73,208,18,73,208,56,72,208,18,73,209,18, - 73,212,18,73,209,15,73,212,15,73,240,0,1,9,75,1, - 216,12,16,136,68,208,17,73,209,12,74,212,12,74,208,12, - 74,224,11,17,240,0,2,5,71,1,216,17,24,144,23,152, - 18,145,27,148,27,136,6,216,8,12,136,4,208,13,69,209, - 8,70,212,8,70,208,8,70,240,8,0,8,27,240,0,23, - 5,82,1,160,59,240,0,23,5,82,1,216,11,18,144,100, - 138,63,136,63,240,8,0,27,33,136,75,216,15,26,240,0, - 1,9,85,1,152,126,240,0,1,9,85,1,216,26,35,152, - 41,160,78,208,52,71,200,101,208,26,84,209,26,84,212,26, - 84,136,75,216,15,26,240,0,1,9,38,152,123,240,0,1, - 9,38,216,26,37,136,75,216,15,26,240,0,13,9,82,1, - 160,37,160,37,168,8,168,8,176,27,208,62,81,209,40,82, - 212,40,82,209,34,83,212,34,83,240,0,13,9,82,1,216, - 15,22,152,36,138,127,136,127,240,6,0,24,38,240,0,7, - 17,49,240,14,0,38,49,144,78,248,224,16,20,144,4,208, - 21,80,209,16,81,212,16,81,208,16,81,240,8,0,12,23, - 240,0,1,5,29,216,22,28,136,11,240,6,0,12,18,240, - 0,1,5,73,1,152,27,240,0,1,5,73,1,216,8,12, - 136,4,208,13,71,209,8,72,212,8,72,208,8,72,240,30, - 0,4,14,240,0,90,1,1,42,224,36,46,215,36,52,210, - 36,52,176,85,209,36,59,212,36,59,128,70,208,11,32,209, - 4,33,216,40,41,128,70,208,11,36,209,4,37,209,4,37, - 224,9,27,241,0,85,1,1,42,240,8,0,18,20,128,74, - 240,6,0,8,23,240,0,2,5,42,152,62,240,0,2,5, - 42,216,17,31,215,17,37,210,17,37,160,101,209,17,44,212, - 17,44,240,0,1,9,42,240,0,1,9,42,136,65,216,12, - 22,215,12,29,210,12,29,152,103,152,103,160,97,153,106,156, - 106,209,12,41,212,12,41,208,12,41,208,12,41,240,6,0, - 8,15,144,36,130,127,128,127,224,11,18,240,0,3,9,41, - 216,26,33,152,39,160,39,209,26,42,212,26,42,136,75,136, - 75,224,26,40,136,75,216,8,18,215,8,25,210,8,25,152, - 40,152,40,160,59,176,12,209,26,61,212,26,61,209,8,62, - 212,8,62,208,8,62,208,8,62,216,9,21,240,0,4,5, - 58,224,8,18,215,8,25,210,8,25,152,40,152,40,160,54, - 168,60,209,26,56,212,26,56,209,8,57,212,8,57,208,8, - 57,208,8,57,224,8,18,215,8,25,210,8,25,152,40,152, - 40,160,54,168,60,209,26,56,212,26,56,209,8,57,212,8, - 57,208,8,57,224,7,14,144,36,130,127,129,127,152,63,129, - 127,168,118,129,127,240,10,0,20,26,212,19,43,168,86,212, - 45,70,208,18,71,240,0,23,9,21,241,0,23,9,21,136, - 66,240,2,22,13,21,216,22,28,215,22,38,210,22,38,160, - 114,168,58,209,22,54,212,22,54,144,3,240,2,18,17,41, - 216,24,25,144,65,240,2,7,21,31,240,2,3,25,34,216, - 32,38,215,32,49,210,32,49,176,35,176,118,183,126,178,126, - 192,99,200,49,209,55,77,212,55,77,209,32,78,212,32,78, - 152,65,152,65,248,216,31,38,240,0,1,25,34,240,0,1, - 25,34,240,0,1,25,34,216,28,33,152,69,240,3,1,25, - 34,248,248,248,224,27,37,152,58,160,97,168,19,209,27,45, - 212,27,45,240,0,1,25,62,216,28,38,215,28,45,210,28, - 45,168,97,175,103,170,103,176,101,169,110,172,110,209,28,61, - 212,28,61,208,28,61,216,24,25,152,81,153,6,152,1,240, - 15,7,21,31,240,22,0,28,32,240,0,3,21,62,168,10, - 240,0,3,21,62,216,28,34,215,28,45,210,28,45,168,99, - 176,52,209,28,56,212,28,56,152,1,216,27,37,152,58,160, - 97,168,19,209,27,45,212,27,45,240,0,1,25,62,216,28, - 38,215,28,45,210,28,45,168,97,175,103,170,103,176,101,169, - 110,172,110,209,28,61,212,28,61,208,28,61,224,20,26,151, - 79,146,79,160,67,209,20,40,212,20,40,208,20,40,208,20, - 40,248,144,70,151,79,146,79,160,67,209,20,40,212,20,40, - 208,20,40,208,20,40,248,248,248,209,20,40,248,216,19,26, - 240,0,1,13,21,240,0,1,13,21,240,0,1,13,21,216, - 16,20,145,4,240,3,1,13,21,248,248,248,240,8,0,8, - 18,240,0,2,5,51,216,17,27,215,17,33,210,17,33,160, - 37,209,17,40,212,17,40,240,0,1,9,51,240,0,1,9, - 51,136,65,216,12,22,215,12,29,210,12,29,152,104,152,104, - 160,118,168,113,209,30,49,212,30,49,209,12,50,212,12,50, - 208,12,50,208,12,50,240,6,0,12,22,240,0,1,5,53, - 152,38,240,0,1,5,53,216,21,29,144,88,152,102,160,109, - 209,21,52,212,21,52,136,10,216,11,25,240,0,1,5,68, - 1,152,107,240,0,1,5,68,1,216,25,33,152,24,160,43, - 208,47,66,209,25,67,212,25,67,136,14,224,7,14,144,36, - 130,127,128,127,224,11,25,240,0,1,9,46,216,12,22,215, - 12,29,210,12,29,152,110,209,12,45,212,12,45,208,12,45, - 216,11,21,240,0,1,9,42,216,12,22,215,12,29,210,12, - 29,152,106,209,12,41,212,12,41,208,12,41,216,11,25,240, - 0,5,9,46,152,110,176,74,208,30,62,208,30,62,240,10, - 0,13,23,215,12,29,210,12,29,152,110,209,12,45,212,12, - 45,208,12,45,248,224,11,21,240,0,1,9,42,216,12,22, - 215,12,29,210,12,29,152,106,209,12,41,212,12,41,208,12, - 41,216,11,25,240,0,1,9,46,216,12,22,215,12,29,210, - 12,29,152,110,209,12,45,212,12,45,208,12,45,224,36,46, - 128,70,208,11,32,209,4,33,216,40,41,128,70,208,11,36, - 209,4,37,240,18,0,4,11,136,100,130,63,128,63,144,124, - 128,63,216,13,19,143,90,138,90,152,8,209,13,33,212,13, - 33,208,13,43,160,86,128,70,216,18,24,151,42,146,42,152, - 93,209,18,43,212,18,43,208,18,68,168,123,208,18,68,184, - 102,128,75,240,14,0,4,7,240,0,17,1,42,216,25,26, - 128,70,136,58,209,4,22,216,32,33,128,70,208,11,28,209, - 4,29,216,28,29,128,70,136,61,209,4,25,216,26,27,128, - 70,136,59,209,4,23,216,17,19,128,74,216,16,19,240,0, - 9,5,55,240,0,9,5,55,136,4,216,15,19,143,126,138, - 126,152,99,209,15,34,212,15,34,160,49,212,15,37,215,15, - 43,210,15,43,209,15,45,212,15,45,136,4,216,15,19,240, - 0,7,9,55,216,12,16,216,13,17,144,93,210,13,34,208, - 13,34,216,36,37,136,70,144,61,209,12,33,208,12,33,216, - 13,17,143,95,138,95,152,89,209,13,39,212,13,39,240,0, - 3,9,55,216,12,16,136,68,208,17,58,209,12,59,212,12, - 59,208,12,59,208,12,59,224,12,22,215,12,29,210,12,29, - 152,104,152,104,160,119,176,4,209,30,53,212,30,53,209,12, - 54,212,12,54,208,12,54,208,12,54,216,36,46,128,70,208, - 11,32,209,4,33,216,40,41,128,70,208,11,36,209,4,37, - 240,12,0,26,38,128,6,128,126,209,0,22,216,17,21,128, - 6,128,118,129,14,216,23,33,128,6,128,124,209,0,20,216, - 28,43,128,6,208,7,24,209,0,25,216,19,25,128,6,128, - 120,209,0,16,216,24,35,128,6,128,125,209,0,21,216,24, - 35,208,24,45,160,118,128,6,128,125,209,0,21,216,29,45, - 208,29,60,176,27,128,6,208,7,25,209,0,26,224,23,33, - 128,6,128,124,209,0,20,224,23,33,208,23,39,160,82,128, - 6,128,124,209,0,20,216,27,41,208,27,47,168,82,128,6, - 208,7,23,209,0,24,208,0,24,208,0,24,115,235,0,0, - 0,198,35,28,71,0,0,199,0,5,71,8,3,199,7,1, - 71,8,3,202,43,24,75,63,0,203,4,21,75,26,0,203, - 25,1,75,63,0,203,26,30,75,59,3,203,56,2,75,63, - 0,203,58,1,75,59,3,203,59,3,75,63,0,203,63,11, - 76,13,3,204,12,1,76,13,3,205,50,19,78,6,2,206, - 6,5,78,14,5,206,13,1,78,14,5,208,14,11,80,26, - 0,208,26,5,81,2,3,208,31,25,80,61,3,208,61,5, - 81,2,3,211,40,22,84,0,2,212,0,5,84,8,5,212, - 7,1,84,8,5,212,55,49,85,41,0,213,41,19,86,48, - 3,213,62,47,86,48,3,214,47,1,86,48,3,226,0,22, - 102,11,2,226,23,3,101,47,2,226,27,42,99,6,2,227, - 5,1,101,47,2,227,6,5,99,14,5,227,11,2,101,47, - 2,227,13,1,99,14,5,227,14,66,11,101,47,2,229,25, - 22,102,11,2,229,47,23,102,6,5,230,6,3,102,11,2, - 230,11,5,102,20,5,230,19,1,102,20,5, + 0,0,101,29,101,0,100,34,60,0,0,0,101,30,120,1, + 115,2,1,0,101,28,101,0,100,35,60,0,0,0,101,31, + 120,1,115,2,1,0,101,29,101,0,100,36,60,0,0,0, + 101,3,101,0,100,0,60,0,0,0,101,37,120,1,115,2, + 1,0,100,22,101,0,100,67,60,0,0,0,101,38,120,1, + 115,2,1,0,100,22,101,0,100,68,60,0,0,0,121,42, + 35,0,101,41,36,0,114,4,1,0,89,0,144,7,140,48, + 119,0,120,3,89,0,119,1,35,0,101,64,101,65,102,2, + 36,0,114,21,1,0,2,0,101,62,2,0,101,51,101,61, + 101,14,171,2,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,90,63,101,61,90,60,89,0,144,6,140,103,119,0, + 120,3,89,0,119,1,35,0,101,64,101,65,102,2,36,0, + 114,8,1,0,100,42,90,60,103,0,90,63,89,0,144,6, + 140,121,119,0,120,3,89,0,119,1,35,0,101,74,36,0, + 114,4,1,0,89,0,144,6,140,34,119,0,120,3,89,0, + 119,1,35,0,101,74,36,0,114,30,90,78,2,0,101,22, + 101,46,171,1,0,0,0,0,0,0,114,11,2,0,101,79, + 100,49,101,27,155,0,157,2,171,1,0,0,0,0,0,0, + 1,0,89,0,100,42,90,78,91,78,144,5,140,205,100,42, + 90,78,91,78,119,1,119,0,120,3,89,0,119,1,35,0, + 101,74,36,0,114,4,1,0,89,0,144,5,140,144,119,0, + 120,3,89,0,119,1,35,0,101,41,36,0,114,15,1,0, + 101,36,90,38,2,0,101,51,101,36,101,18,171,2,0,0, + 0,0,0,0,90,85,89,0,144,5,140,21,101,64,101,65, + 102,2,36,0,114,35,1,0,2,0,101,22,2,0,101,51, + 101,36,101,6,171,2,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,114,16,2,0,101,51,101,36,101,18,171,2, + 0,0,0,0,0,0,90,85,101,4,100,16,107,40,0,0, + 114,2,101,36,90,38,89,0,144,5,140,61,119,0,120,3, + 89,0,119,1,35,0,101,74,36,0,114,3,1,0,89,0, + 110,4,119,0,120,3,89,0,119,1,101,25,115,61,101,37, + 115,59,101,92,106,197,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,101,68,100,42,171,2,0,0, + 0,0,0,0,90,100,2,0,101,101,101,100,101,102,171,2, + 0,0,0,0,0,0,114,32,101,34,106,207,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,100, + 106,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,101,16,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,1,0,101,92,106,209,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,68, + 171,1,0,0,0,0,0,0,1,0,110,22,35,0,101,92, + 106,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,101,68,171,1,0,0,0,0,0,0,1,0, + 119,0,120,3,89,0,119,1,144,3,140,96,35,0,101,74, + 36,0,114,4,1,0,89,0,144,3,140,104,119,0,120,3, + 89,0,119,1,41,69,218,10,112,108,97,116,108,105,98,100, + 105,114,218,5,112,111,115,105,120,218,6,100,97,114,119,105, + 110,122,14,112,121,98,117,105,108,100,100,105,114,46,116,120, + 116,122,19,77,111,100,117,108,101,115,47,83,101,116,117,112, + 46,108,111,99,97,108,218,6,112,121,116,104,111,110,122,7, + 47,112,121,116,104,111,110,250,1,46,122,6,47,111,115,46, + 112,121,122,7,47,111,115,46,112,121,99,122,12,47,108,105, + 98,45,100,121,110,108,111,97,100,122,9,76,105,98,47,111, + 115,46,112,121,122,10,112,121,118,101,110,118,46,99,102,103, + 122,4,46,122,105,112,250,1,58,250,1,47,218,2,110,116, + 122,20,92,77,111,100,117,108,101,115,92,83,101,116,117,112, + 46,108,111,99,97,108,218,3,76,105,98,122,6,92,111,115, + 46,112,121,122,7,92,111,115,46,112,121,99,122,9,76,105, + 98,92,111,115,46,112,121,218,0,122,27,83,79,70,84,87, + 65,82,69,92,80,121,116,104,111,110,92,80,121,116,104,111, + 110,67,111,114,101,92,122,11,92,80,121,116,104,111,110,80, + 97,116,104,250,1,59,250,1,92,41,1,218,4,116,101,115, + 116,99,1,0,0,0,0,0,0,0,1,0,0,0,4,0, + 0,0,7,0,0,0,243,88,0,0,0,135,0,135,1,151, + 0,137,0,114,38,116,1,0,0,0,0,0,0,0,0,136, + 0,136,1,102,2,100,1,132,8,124,2,68,0,171,0,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,114,2,137, + 0,83,0,116,3,0,0,0,0,0,0,0,0,137,0,171, + 1,0,0,0,0,0,0,138,0,137,0,114,1,140,37,121, + 0,121,0,41,2,78,99,1,0,0,0,0,0,0,0,0, + 0,0,0,7,0,0,0,51,0,0,0,243,66,0,0,0, + 149,2,75,0,1,0,151,0,124,0,93,22,0,0,125,1, + 2,0,137,3,116,1,0,0,0,0,0,0,0,0,137,2, + 124,1,171,2,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,150,1,151,1,1,0,140,24,4,0,121,0,173,3, + 119,1,169,1,78,41,1,218,8,106,111,105,110,112,97,116, + 104,41,4,218,2,46,48,218,1,102,218,6,112,114,101,102, + 105,120,114,13,0,0,0,115,4,0,0,0,32,32,128,128, + 250,16,60,102,114,111,122,101,110,32,103,101,116,112,97,116, + 104,62,250,9,60,103,101,110,101,120,112,114,62,122,28,115, + 101,97,114,99,104,95,117,112,46,60,108,111,99,97,108,115, + 62,46,60,103,101,110,101,120,112,114,62,210,0,0,0,115, + 29,0,0,0,248,232,0,248,128,0,210,14,60,168,81,137, + 116,148,72,152,86,160,81,211,20,39,215,15,40,209,14,60, + 249,115,4,0,0,0,131,28,31,1,41,2,218,3,97,110, + 121,218,7,100,105,114,110,97,109,101,41,3,114,20,0,0, + 0,114,13,0,0,0,218,9,108,97,110,100,109,97,114,107, + 115,115,3,0,0,0,96,96,32,114,21,0,0,0,218,9, + 115,101,97,114,99,104,95,117,112,114,26,0,0,0,208,0, + 0,0,115,39,0,0,0,249,128,0,217,10,16,220,11,14, + 212,14,60,176,41,212,14,60,212,11,60,216,19,25,136,77, + 220,17,24,152,22,147,31,136,6,244,7,0,11,17,243,0, + 0,0,0,218,12,112,114,111,103,114,97,109,95,110,97,109, + 101,218,4,104,111,109,101,218,10,101,120,101,99,117,116,97, + 98,108,101,218,15,98,97,115,101,95,101,120,101,99,117,116, + 97,98,108,101,114,20,0,0,0,218,11,101,120,101,99,95, + 112,114,101,102,105,120,218,11,98,97,115,101,95,112,114,101, + 102,105,120,218,16,98,97,115,101,95,101,120,101,99,95,112, + 114,101,102,105,120,218,14,112,121,116,104,111,110,112,97,116, + 104,95,101,110,118,218,15,117,115,101,95,101,110,118,105,114, + 111,110,109,101,110,116,233,1,0,0,0,218,19,109,111,100, + 117,108,101,95,115,101,97,114,99,104,95,112,97,116,104,115, + 218,23,109,111,100,117,108,101,95,115,101,97,114,99,104,95, + 112,97,116,104,115,95,115,101,116,78,218,9,111,114,105,103, + 95,97,114,103,118,233,0,0,0,0,122,11,47,98,105,110, + 47,112,121,116,104,111,110,70,84,250,1,61,122,32,70,97, + 105,108,101,100,32,116,111,32,102,105,110,100,32,114,101,97, + 108,32,108,111,99,97,116,105,111,110,32,111,102,32,99,1, + 0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,35, + 0,0,0,243,78,0,0,0,75,0,1,0,151,0,124,0, + 93,29,0,0,125,1,116,1,0,0,0,0,0,0,0,0, + 116,3,0,0,0,0,0,0,0,0,116,4,0,0,0,0, + 0,0,0,0,124,1,171,2,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,150,1,151,1,1,0,140,31,4,0, + 121,0,173,3,119,1,114,16,0,0,0,169,3,218,6,105, + 115,102,105,108,101,114,17,0,0,0,218,11,108,105,98,114, + 97,114,121,95,100,105,114,41,2,114,18,0,0,0,218,1, + 112,115,2,0,0,0,32,32,114,21,0,0,0,114,22,0, + 0,0,114,22,0,0,0,167,1,0,0,115,28,0,0,0, + 232,0,248,128,0,210,10,70,176,1,140,54,148,40,156,59, + 168,1,211,18,42,215,11,43,209,10,70,249,243,4,0,0, + 0,130,35,37,1,218,3,101,120,101,218,3,100,108,108,122, + 5,46,95,112,116,104,218,16,95,105,115,95,112,121,116,104, + 111,110,95,98,117,105,108,100,99,1,0,0,0,0,0,0, + 0,0,0,0,0,7,0,0,0,35,0,0,0,243,78,0, + 0,0,75,0,1,0,151,0,124,0,93,29,0,0,125,1, + 116,1,0,0,0,0,0,0,0,0,116,3,0,0,0,0, + 0,0,0,0,116,4,0,0,0,0,0,0,0,0,124,1, + 171,2,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 150,1,151,1,1,0,140,31,4,0,121,0,173,3,119,1, + 114,16,0,0,0,114,44,0,0,0,169,2,114,18,0,0, + 0,114,19,0,0,0,115,2,0,0,0,32,32,114,21,0, + 0,0,114,22,0,0,0,114,22,0,0,0,51,2,0,0, + 115,28,0,0,0,232,0,248,128,0,210,18,78,184,1,148, + 54,156,40,164,59,176,1,211,26,50,215,19,51,209,18,78, + 249,114,48,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,7,0,0,0,35,0,0,0,243,78,0,0,0, + 75,0,1,0,151,0,124,0,93,29,0,0,125,1,116,1, + 0,0,0,0,0,0,0,0,116,3,0,0,0,0,0,0, + 0,0,116,4,0,0,0,0,0,0,0,0,124,1,171,2, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,150,1, + 151,1,1,0,140,31,4,0,121,0,173,3,119,1,114,16, + 0,0,0,41,3,114,45,0,0,0,114,17,0,0,0,114, + 20,0,0,0,114,53,0,0,0,115,2,0,0,0,32,32, + 114,21,0,0,0,114,22,0,0,0,114,22,0,0,0,78, + 2,0,0,115,28,0,0,0,232,0,248,128,0,210,18,73, + 176,49,148,54,156,40,164,54,168,49,211,26,45,215,19,46, + 209,18,73,249,114,48,0,0,0,122,54,67,111,117,108,100, + 32,110,111,116,32,102,105,110,100,32,112,108,97,116,102,111, + 114,109,32,105,110,100,101,112,101,110,100,101,110,116,32,108, + 105,98,114,97,114,105,101,115,32,60,112,114,101,102,105,120, + 62,122,57,67,111,117,108,100,32,110,111,116,32,102,105,110, + 100,32,112,108,97,116,102,111,114,109,32,100,101,112,101,110, + 100,101,110,116,32,108,105,98,114,97,114,105,101,115,32,60, + 101,120,101,99,95,112,114,101,102,105,120,62,122,56,67,111, + 110,115,105,100,101,114,32,115,101,116,116,105,110,103,32,36, + 80,89,84,72,79,78,72,79,77,69,32,116,111,32,60,112, + 114,101,102,105,120,62,91,58,60,101,120,101,99,95,112,114, + 101,102,105,120,62,93,218,8,105,115,111,108,97,116,101,100, + 218,11,115,105,116,101,95,105,109,112,111,114,116,218,9,115, + 97,102,101,95,112,97,116,104,250,1,35,122,11,105,109,112, + 111,114,116,32,115,105,116,101,122,7,105,109,112,111,114,116, + 32,122,39,117,110,115,117,112,112,111,114,116,101,100,32,39, + 105,109,112,111,114,116,39,32,108,105,110,101,32,105,110,32, + 46,95,112,116,104,32,102,105,108,101,218,10,115,116,100,108, + 105,98,95,100,105,114,218,14,112,108,97,116,115,116,100,108, + 105,98,95,100,105,114,41,107,218,6,99,111,110,102,105,103, + 218,3,103,101,116,218,10,80,76,65,84,76,73,66,68,73, + 82,114,1,0,0,0,218,7,111,115,95,110,97,109,101,218, + 12,66,85,73,76,68,68,73,82,95,84,88,84,218,14,66, + 85,73,76,68,95,76,65,78,68,77,65,82,75,218,13,86, + 69,82,83,73,79,78,95,77,65,74,79,82,218,20,68,69, + 70,65,85,76,84,95,80,82,79,71,82,65,77,95,78,65, + 77,69,218,13,86,69,82,83,73,79,78,95,77,73,78,79, + 82,218,13,83,84,68,76,73,66,95,83,85,66,68,73,82, + 218,16,83,84,68,76,73,66,95,76,65,78,68,77,65,82, + 75,83,218,19,80,76,65,84,83,84,68,76,73,66,95,76, + 65,78,68,77,65,82,75,218,21,66,85,73,76,68,83,84, + 68,76,73,66,95,76,65,78,68,77,65,82,75,83,218,13, + 86,69,78,86,95,76,65,78,68,77,65,82,75,218,12,90, + 73,80,95,76,65,78,68,77,65,82,75,218,5,68,69,76, + 73,77,218,3,83,69,80,218,5,86,80,65,84,72,218,10, + 80,89,68,69,66,85,71,69,88,84,218,8,80,89,87,73, + 78,86,69,82,218,10,87,73,78,82,69,71,95,75,69,89, + 114,45,0,0,0,114,26,0,0,0,114,28,0,0,0,114, + 29,0,0,0,114,30,0,0,0,114,31,0,0,0,114,20, + 0,0,0,114,32,0,0,0,114,33,0,0,0,114,34,0, + 0,0,218,14,69,78,86,95,80,89,84,72,79,78,80,65, + 84,72,114,36,0,0,0,218,10,112,121,116,104,111,110,112, + 97,116,104,218,18,112,121,116,104,111,110,112,97,116,104,95, + 119,97,115,95,115,101,116,218,19,114,101,97,108,95,101,120, + 101,99,117,116,97,98,108,101,95,100,105,114,114,59,0,0, + 0,114,60,0,0,0,218,4,98,111,111,108,218,20,112,114, + 111,103,114,97,109,95,110,97,109,101,95,119,97,115,95,115, + 101,116,218,10,73,110,100,101,120,69,114,114,111,114,218,10, + 69,88,69,95,83,85,70,70,73,88,218,9,104,97,115,115, + 117,102,102,105,120,218,7,105,115,120,102,105,108,101,218,10, + 112,121,95,115,101,116,112,97,116,104,218,15,114,101,97,108, + 95,101,120,101,99,117,116,97,98,108,101,218,7,97,98,115, + 112,97,116,104,218,8,69,78,86,95,80,65,84,72,218,5, + 115,112,108,105,116,114,47,0,0,0,114,17,0,0,0,218, + 14,101,120,101,99,117,116,97,98,108,101,95,100,105,114,218, + 20,69,78,86,95,80,89,84,72,79,78,69,88,69,67,85, + 84,65,66,76,69,218,23,69,78,86,95,95,95,80,89,86, + 69,78,86,95,76,65,85,78,67,72,69,82,95,95,218,19, + 87,73,84,72,95,78,69,88,84,95,70,82,65,77,69,87, + 79,82,75,114,24,0,0,0,218,7,108,105,98,114,97,114, + 121,218,12,104,111,109,101,95,119,97,115,95,115,101,116,218, + 14,69,78,86,95,80,89,84,72,79,78,72,79,77,69,218, + 11,118,101,110,118,95,112,114,101,102,105,120,218,12,118,101, + 110,118,95,112,114,101,102,105,120,50,218,9,114,101,97,100, + 108,105,110,101,115,218,9,112,121,118,101,110,118,99,102,103, + 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,4,108,105,110,101,218,9,112,97,114,116, + 105,116,105,111,110,218,3,107,101,121,218,7,104,97,100,95, + 101,113,117,218,5,118,97,108,117,101,218,5,115,116,114,105, + 112,218,5,108,111,119,101,114,218,8,114,101,97,108,112,97, + 116,104,218,7,79,83,69,114,114,111,114,218,8,98,97,115, + 101,110,97,109,101,218,8,98,97,115,101,95,101,120,101,218, + 9,99,97,110,100,105,100,97,116,101,218,2,101,120,218,4, + 119,97,114,110,114,46,0,0,0,114,23,0,0,0,218,3, + 112,116,104,218,7,112,116,104,95,100,105,114,218,10,114,112, + 97,114,116,105,116,105,111,110,218,12,98,117,105,108,100,95, + 112,114,101,102,105,120,218,19,98,117,105,108,100,95,115,116, + 100,108,105,98,95,112,114,101,102,105,120,218,9,104,97,100, + 95,100,101,108,105,109,218,5,105,115,100,105,114,218,6,80, + 82,69,70,73,88,218,11,69,88,69,67,95,80,82,69,70, + 73,88,218,6,97,112,112,101,110,100,218,6,119,105,110,114, + 101,103,218,17,72,75,69,89,95,67,85,82,82,69,78,84, + 95,85,83,69,82,218,18,72,75,69,89,95,76,79,67,65, + 76,95,77,65,67,72,73,78,69,218,2,104,107,218,9,79, + 112,101,110,75,101,121,69,120,218,1,105,218,10,81,117,101, + 114,121,86,97,108,117,101,218,7,69,110,117,109,75,101,121, + 218,1,118,218,10,105,115,105,110,115,116,97,110,99,101,218, + 3,115,116,114,218,6,101,120,116,101,110,100,218,8,67,108, + 111,115,101,75,101,121,218,10,80,89,84,72,79,78,80,65, + 84,72,218,10,115,116,97,114,116,115,119,105,116,104,169,0, + 114,27,0,0,0,114,21,0,0,0,250,8,60,109,111,100, + 117,108,101,62,114,150,0,0,0,1,0,0,0,115,126,13, + 0,0,240,3,1,1,1,240,92,5,0,14,20,143,90,137, + 90,152,12,211,13,37,210,13,51,168,26,128,10,224,3,10, + 136,103,210,3,21,152,23,160,72,210,25,44,216,19,35,128, + 76,216,21,42,128,78,216,29,35,160,77,160,63,208,27,51, + 208,4,24,216,23,33,144,108,160,39,168,45,168,31,184,1, + 184,45,184,31,208,20,73,128,77,216,27,40,152,47,168,22, + 208,24,48,176,93,176,79,192,55,208,50,75,208,23,76,208, + 4,20,216,29,39,152,76,168,7,176,13,168,127,184,97,192, + 13,184,127,200,108,208,26,91,208,4,23,216,29,40,152,77, + 208,4,25,216,20,32,128,77,216,22,32,144,92,160,23,168, + 29,168,15,184,13,176,127,192,100,208,19,75,128,76,216,12, + 15,128,69,216,10,13,129,67,224,5,12,144,4,130,95,216, + 19,35,128,76,216,24,29,144,119,208,30,52,208,21,53,128, + 78,216,29,35,208,4,24,216,20,25,128,77,216,27,40,152, + 47,168,23,208,24,49,176,109,176,95,192,72,208,51,77,208, + 23,78,208,4,20,216,29,39,152,76,208,4,23,216,29,41, + 152,78,208,4,25,216,20,32,128,77,216,21,27,152,77,152, + 63,168,61,168,47,184,42,210,58,74,200,2,208,57,75,200, + 52,208,19,80,128,76,216,19,49,176,40,176,26,184,60,208, + 17,72,128,74,216,12,15,128,69,216,10,14,128,67,240,14, + 0,40,46,244,0,4,1,33,240,22,0,16,22,143,122,137, + 122,152,46,211,15,41,128,12,216,7,13,135,122,129,122,144, + 38,211,7,25,128,4,216,13,19,143,90,137,90,152,12,211, + 13,37,128,10,216,18,24,151,42,145,42,208,29,46,211,18, + 47,128,15,216,9,15,143,26,137,26,144,72,211,9,29,128, + 6,216,14,20,143,106,137,106,152,29,211,14,39,128,11,216, + 14,20,143,106,137,106,152,29,211,14,39,128,11,216,19,25, + 151,58,145,58,208,30,48,211,19,49,208,0,16,216,17,23, + 208,24,40,209,17,41,128,14,216,18,24,151,42,145,42,208, + 29,46,176,1,211,18,50,128,15,224,13,19,143,90,137,90, + 208,24,45,211,13,46,128,10,216,21,27,151,90,145,90,208, + 32,57,211,21,58,208,0,18,224,22,26,208,0,19,216,13, + 17,128,10,216,17,21,128,14,241,12,0,24,28,152,76,211, + 23,41,208,0,20,225,7,19,240,2,3,5,13,216,23,29, + 151,122,145,122,160,43,168,114,211,23,50,176,49,209,23,53, + 136,12,241,8,0,8,20,216,19,39,128,76,225,3,13,145, + 105,160,12,168,106,212,22,57,185,103,192,108,208,85,95,209, + 70,95,212,62,96,216,19,31,160,42,209,19,44,128,76,241, + 14,0,4,14,241,6,0,12,22,216,21,36,136,10,225,7, + 17,144,99,152,92,209,22,41,225,17,24,152,28,211,17,38, + 128,74,225,7,17,240,6,0,18,33,129,74,216,5,12,144, + 8,210,5,24,240,12,0,23,33,128,79,225,7,17,145,108, + 161,120,240,8,0,14,22,143,94,137,94,152,69,211,13,34, + 242,0,4,5,18,136,1,217,12,20,144,81,152,12,211,12, + 37,136,1,217,11,18,144,49,141,58,216,25,26,136,74,217, + 12,17,240,9,4,5,18,241,12,0,8,18,216,17,19,128, + 74,241,8,0,22,29,152,83,147,92,128,78,240,6,0,27, + 41,208,4,23,225,3,23,209,27,50,240,10,0,8,15,144, + 40,210,7,26,209,31,50,241,10,0,30,37,160,87,211,29, + 45,208,28,46,168,107,184,45,184,31,200,1,200,45,200,31, + 208,26,89,137,15,224,26,36,136,15,225,11,26,216,26,41, + 136,15,224,17,37,210,17,64,208,41,64,128,74,217,21,28, + 152,90,211,21,40,128,78,240,18,0,16,21,128,12,225,3, + 7,216,19,23,129,76,217,5,20,153,30,177,10,216,11,25, + 128,68,240,14,0,15,19,128,11,241,8,0,8,12,145,74, + 240,2,14,5,23,240,6,0,24,38,210,23,60,169,23,176, + 26,211,41,60,136,12,217,22,29,152,108,211,22,43,136,11, + 240,2,6,9,39,225,24,33,161,40,168,59,184,13,211,34, + 70,211,24,71,136,73,240,18,0,17,26,242,0,37,5,27, + 136,4,216,30,34,159,110,153,110,168,83,211,30,49,209,8, + 27,136,3,136,87,144,101,218,11,18,144,115,151,121,145,121, + 147,123,215,23,40,209,23,40,211,23,42,168,102,211,23,52, + 216,51,56,183,59,177,59,179,61,208,12,64,136,78,208,29, + 48,217,19,34,240,6,6,17,25,217,38,46,168,122,211,38, + 58,144,79,216,23,38,168,42,210,23,52,224,42,44,152,15, + 241,6,0,24,39,217,38,46,168,126,185,120,200,10,211,63, + 83,211,38,84,144,79,240,12,0,24,31,160,36,146,127,169, + 118,176,111,212,47,70,217,35,43,168,74,211,35,55,152,8, + 216,42,62,192,38,200,29,200,15,208,87,88,208,89,102,208, + 88,103,208,64,104,208,41,105,242,0,11,25,38,152,73,216, + 28,37,177,122,169,26,192,114,209,28,73,152,73,216,31,39, + 168,57,210,31,52,216,32,40,217,40,48,176,30,192,25,211, + 40,75,152,73,241,10,0,32,38,160,105,213,31,48,216,50, + 59,160,15,217,32,37,240,23,11,25,38,241,24,0,13,18, + 240,71,1,37,5,27,240,74,1,0,23,27,136,11,241,14, + 0,8,23,216,22,32,210,22,57,160,79,210,22,57,176,114, + 128,79,225,7,22,216,22,37,128,79,240,4,6,1,67,1, + 217,22,30,152,127,211,22,47,128,79,241,14,0,8,22,152, + 39,160,88,210,26,45,177,39,225,18,25,152,39,211,18,34, + 128,75,217,7,10,209,10,70,208,53,69,212,10,70,212,7, + 70,241,6,0,26,34,160,43,211,25,46,136,14,216,30,44, + 208,8,27,241,8,0,8,22,217,43,50,176,63,211,43,67, + 208,4,67,128,78,208,21,40,241,8,0,8,27,217,26,33, + 160,47,211,26,50,208,4,23,240,18,0,7,11,128,3,216, + 10,14,128,7,241,8,0,8,18,153,44,240,12,0,15,22, + 144,122,160,63,208,13,51,242,0,10,5,21,136,1,218,11, + 12,216,15,22,152,36,138,127,161,73,168,97,176,21,212,36, + 55,185,57,192,81,200,5,212,59,78,216,20,21,151,76,145, + 76,160,19,211,20,37,160,97,209,20,40,144,1,216,12,13, + 144,23,137,76,136,65,240,2,5,13,21,217,22,31,160,1, + 147,108,144,3,217,26,33,160,33,155,42,144,7,217,16,21, + 240,17,10,5,21,241,28,0,8,15,216,26,27,136,15,216, + 15,22,136,4,216,21,23,136,10,240,14,0,16,20,128,12, + 225,9,21,209,26,45,177,106,216,11,17,143,58,137,58,208, + 22,40,168,33,211,11,44,168,113,210,11,48,240,6,17,5, + 53,217,25,33,216,12,31,217,12,21,145,104,208,31,50,176, + 76,211,22,65,211,12,66,192,49,209,12,69,243,5,3,26, + 10,136,14,241,8,0,24,32,208,32,51,176,85,211,23,59, + 136,12,241,28,0,8,20,216,11,18,144,100,138,63,224,34, + 46,209,12,31,225,34,43,168,76,208,34,81,208,59,80,210, + 34,81,208,12,31,225,11,30,217,25,33,208,34,53,176,117, + 211,25,61,137,74,225,25,33,160,44,176,5,211,25,54,136, + 74,225,15,21,216,21,40,136,70,241,8,0,16,27,216,26, + 38,136,75,240,8,0,38,39,136,6,208,15,33,209,8,34, + 241,14,0,4,14,240,6,0,28,30,208,4,29,128,70,138, + 91,241,8,0,8,12,240,6,0,42,46,175,30,169,30,184, + 5,211,41,62,209,8,38,136,6,144,9,152,59,217,15,24, + 216,26,32,136,75,224,21,25,136,10,241,8,0,8,15,145, + 118,217,22,29,152,103,211,22,38,136,11,217,11,23,216,15, + 22,152,36,138,127,225,19,25,153,40,160,59,176,12,211,26, + 61,212,19,62,216,29,40,145,70,225,25,34,160,59,176,12, + 211,25,61,144,6,217,11,24,209,29,45,177,102,217,15,18, + 209,18,78,208,61,77,212,18,78,212,15,78,216,25,36,144, + 6,217,29,37,160,102,168,109,211,29,60,144,10,241,8,0, + 8,20,153,14,169,118,216,11,18,144,100,138,63,225,15,21, + 145,104,152,126,168,124,211,22,60,212,15,61,216,25,39,145, + 6,225,21,30,152,126,168,124,211,21,60,136,70,217,11,17, + 217,25,33,160,38,168,45,211,25,56,136,74,217,19,24,152, + 26,212,19,36,216,29,33,144,10,241,8,0,8,21,209,25, + 41,169,110,193,86,217,17,26,152,62,208,17,61,208,44,60, + 210,17,61,136,6,217,11,17,153,42,217,25,33,160,38,168, + 45,211,25,56,136,74,225,7,13,145,102,216,17,23,136,6, + 217,15,18,209,18,73,208,56,72,212,18,73,212,15,73,217, + 12,16,208,17,73,212,12,74,225,11,17,217,17,24,152,18, + 147,27,136,6,217,8,12,208,13,69,212,8,70,241,8,0, + 8,27,161,59,216,11,18,144,100,138,63,240,8,0,27,33, + 136,75,217,15,26,153,126,217,26,35,160,78,208,52,71,200, + 101,212,26,84,136,75,217,15,26,153,123,216,26,37,136,75, + 217,15,26,161,37,169,8,176,27,208,62,81,211,40,82,212, + 34,83,216,15,22,152,36,138,127,241,6,0,24,38,240,14, + 0,38,49,145,78,225,16,20,208,21,80,212,16,81,241,8, + 0,12,23,216,22,28,136,11,241,6,0,12,18,153,27,217, + 8,12,208,13,71,212,8,72,241,30,0,4,14,224,36,46, + 215,36,52,209,36,52,176,85,211,36,59,128,70,208,11,32, + 209,4,33,216,40,41,128,70,208,11,36,211,4,37,226,9, + 27,240,8,0,18,20,128,74,241,6,0,8,23,153,62,216, + 17,31,215,17,37,209,17,37,160,101,211,17,44,242,0,1, + 9,42,136,65,216,12,22,215,12,29,209,12,29,153,103,160, + 97,155,106,213,12,41,240,3,1,9,42,240,8,0,8,15, + 144,36,130,127,225,11,18,217,26,33,160,39,211,26,42,137, + 75,224,26,40,136,75,216,8,18,215,8,25,209,8,25,153, + 40,160,59,176,12,211,26,61,213,8,62,217,9,21,224,8, + 18,215,8,25,209,8,25,153,40,160,54,168,60,211,26,56, + 213,8,57,224,8,18,215,8,25,209,8,25,153,40,160,54, + 168,60,211,26,56,212,8,57,224,7,14,144,36,130,127,153, + 63,169,118,240,10,0,20,26,215,19,43,209,19,43,168,86, + 215,45,70,209,45,70,208,18,71,242,0,23,9,21,136,66, + 240,2,22,13,21,216,22,28,215,22,38,209,22,38,160,114, + 168,58,211,22,54,144,3,240,2,18,17,41,216,24,25,144, + 65,216,26,30,240,2,3,25,34,216,32,38,215,32,49,209, + 32,49,176,35,176,118,183,126,177,126,192,99,200,49,211,55, + 77,211,32,78,152,65,241,6,0,28,38,160,97,168,19,212, + 27,45,216,28,38,215,28,45,209,28,45,168,97,175,103,169, + 103,176,101,171,110,212,28,61,216,24,25,152,81,153,6,152, + 1,240,15,0,27,31,240,11,23,9,21,241,52,0,8,18, + 216,17,27,215,17,33,209,17,33,160,37,211,17,40,242,0, + 1,9,51,136,65,216,12,22,215,12,29,209,12,29,153,104, + 160,118,168,113,211,30,49,213,12,50,240,3,1,9,51,241, + 8,0,12,22,153,38,217,21,29,152,102,160,109,211,21,52, + 136,10,217,11,25,153,107,217,25,33,160,43,208,47,66,211, + 25,67,136,14,224,7,14,144,36,130,127,225,11,25,216,12, + 22,215,12,29,209,12,29,152,110,212,12,45,217,11,21,216, + 12,22,215,12,29,209,12,29,152,106,212,12,41,217,11,25, + 152,110,176,74,209,30,62,240,10,0,13,23,215,12,29,209, + 12,29,152,110,213,12,45,225,11,21,216,12,22,215,12,29, + 209,12,29,152,106,212,12,41,217,11,25,216,12,22,215,12, + 29,209,12,29,152,110,212,12,45,224,36,46,128,70,208,11, + 32,209,4,33,216,40,41,128,70,208,11,36,209,4,37,240, + 18,0,4,11,136,100,130,63,145,124,216,13,19,143,90,137, + 90,152,8,211,13,33,210,13,43,160,86,128,70,216,18,24, + 151,42,145,42,152,93,211,18,43,210,18,68,168,123,210,18, + 68,184,102,128,75,241,14,0,4,7,216,25,26,128,70,136, + 58,209,4,22,216,32,33,128,70,208,11,28,209,4,29,216, + 28,29,128,70,136,61,209,4,25,216,26,27,128,70,136,59, + 209,4,23,216,17,19,128,74,216,16,19,242,0,9,5,55, + 136,4,216,15,19,143,126,137,126,152,99,211,15,34,160,49, + 209,15,37,215,15,43,209,15,43,211,15,45,136,4,217,15, + 19,216,12,16,216,13,17,144,93,210,13,34,216,36,37,136, + 70,144,61,210,12,33,216,13,17,143,95,137,95,152,89,212, + 13,39,217,12,16,208,17,58,213,12,59,224,12,22,215,12, + 29,209,12,29,153,104,160,119,176,4,211,30,53,213,12,54, + 240,19,9,5,55,240,20,0,37,47,128,70,208,11,32,209, + 4,33,216,40,41,128,70,208,11,36,209,4,37,240,12,0, + 26,38,128,6,128,126,209,0,22,216,17,21,128,6,128,118, + 129,14,216,23,33,128,6,128,124,209,0,20,216,28,43,128, + 6,208,7,24,209,0,25,216,19,25,128,6,128,120,209,0, + 16,216,24,35,128,6,128,125,209,0,21,216,24,35,210,24, + 45,160,118,128,6,128,125,209,0,21,216,29,45,210,29,60, + 176,27,128,6,208,7,25,209,0,26,224,23,33,128,6,128, + 124,209,0,20,224,23,33,210,23,39,160,82,128,6,128,124, + 209,0,20,216,27,41,210,27,47,168,82,128,6,208,7,23, + 210,0,24,248,240,127,16,0,12,22,242,0,1,5,13,218, + 8,12,240,3,1,5,13,251,240,88,3,0,17,34,160,63, + 208,15,51,242,0,3,9,39,225,24,33,161,40,168,60,184, + 29,211,34,71,211,24,72,136,73,216,26,38,139,75,240,7, + 3,9,39,251,240,8,0,13,30,152,127,208,11,47,242,0, + 2,5,23,216,22,26,136,11,216,20,22,139,9,240,5,2, + 5,23,251,240,32,0,24,31,242,0,1,17,25,218,20,24, + 240,3,1,17,25,251,240,80,1,0,8,15,242,0,4,1, + 67,1,241,6,0,8,14,136,111,212,7,30,217,8,12,208, + 15,47,176,15,208,47,64,208,13,65,212,8,66,255,249,240, + 9,4,1,67,1,251,240,104,1,0,20,27,242,0,1,13, + 21,218,16,20,240,3,1,13,21,251,240,54,0,12,22,242, + 0,3,5,60,224,25,44,136,14,217,23,31,208,32,51,176, + 85,211,23,59,139,12,216,12,29,152,127,208,11,47,242,0, + 7,5,53,217,11,17,145,40,208,27,46,176,14,211,18,63, + 212,11,64,217,27,35,208,36,55,184,21,211,27,63,136,76, + 216,15,22,152,36,138,127,240,8,0,34,53,144,14,250,240, + 15,7,5,53,251,240,64,6,0,32,39,242,0,1,25,34, + 217,28,33,240,3,1,25,34,250,241,16,0,28,32,169,10, + 216,28,34,215,28,45,209,28,45,168,99,176,52,211,28,56, + 152,1,217,27,37,160,97,168,19,212,27,45,216,28,38,215, + 28,45,209,28,45,168,97,175,103,169,103,176,101,171,110,212, + 28,61,224,20,26,151,79,145,79,160,67,213,20,40,248,144, + 70,151,79,145,79,160,67,213,20,40,250,209,20,40,248,216, + 19,26,242,0,1,13,21,218,16,20,240,3,1,13,21,250, + 115,229,0,0,0,197,46,21,98,43,0,201,7,20,99,22, + 0,201,28,15,98,55,0,202,63,15,99,40,2,204,61,8, + 99,52,0,207,9,16,100,26,2,208,2,34,100,38,0,217, + 61,18,103,25,2,218,16,3,103,1,2,218,20,34,101,37, + 2,218,54,47,103,1,2,226,43,5,98,52,3,226,51,1, + 98,52,3,226,55,24,99,19,3,227,15,3,99,22,0,227, + 18,1,99,19,3,227,19,3,99,22,0,227,22,11,99,37, + 3,227,36,1,99,37,3,227,40,5,99,49,5,227,48,1, + 99,49,5,227,52,5,100,23,3,227,57,19,100,18,3,228, + 18,5,100,23,3,228,26,5,100,35,5,228,34,1,100,35, + 5,228,38,16,101,34,3,228,57,37,101,34,3,229,33,1, + 101,34,3,229,37,5,101,45,5,229,42,2,103,1,2,229, + 44,1,101,45,5,229,45,65,2,103,1,2,230,47,18,103, + 25,2,231,1,19,103,20,5,231,20,3,103,25,2,231,25, + 5,103,34,5,231,33,1,103,34,5, }; diff --git a/contrib/tools/python3/src/Python/frozen_modules/importlib._bootstrap.h b/contrib/tools/python3/src/Python/frozen_modules/importlib._bootstrap.h new file mode 100644 index 00000000000..20e6d2d6189 --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/importlib._bootstrap.h @@ -0,0 +1,3488 @@ +/* Auto-generated by Programs/_freeze_module.c */ +const unsigned char _Py_M__importlib__bootstrap[] = { + 99,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,0,0,0,0,243,10,2,0,0,151,0,100,0,90,0, + 100,1,132,0,90,1,100,2,90,2,100,2,90,3,100,2, + 90,4,100,2,97,5,100,3,132,0,90,6,100,4,132,0, + 90,7,2,0,71,0,100,5,132,0,100,6,101,8,171,3, + 0,0,0,0,0,0,90,9,2,0,71,0,100,7,132,0, + 100,8,171,2,0,0,0,0,0,0,90,10,105,0,90,11, + 100,2,97,12,2,0,71,0,100,9,132,0,100,10,171,2, + 0,0,0,0,0,0,90,13,2,0,71,0,100,11,132,0, + 100,12,101,14,171,3,0,0,0,0,0,0,90,15,100,13, + 132,0,90,16,2,0,71,0,100,14,132,0,100,15,171,2, + 0,0,0,0,0,0,90,17,2,0,71,0,100,16,132,0, + 100,17,171,2,0,0,0,0,0,0,90,18,2,0,71,0, + 100,18,132,0,100,19,171,2,0,0,0,0,0,0,90,19, + 100,20,132,0,90,20,100,21,132,0,90,21,100,22,132,0, + 90,22,100,23,100,24,156,1,100,25,132,2,90,23,100,26, + 132,0,90,24,100,27,132,0,90,25,100,28,132,0,90,26, + 100,29,132,0,90,27,2,0,71,0,100,30,132,0,100,31, + 171,2,0,0,0,0,0,0,90,28,100,2,100,2,100,32, + 156,2,100,33,132,2,90,29,100,66,100,34,132,1,90,30, + 100,35,100,36,156,1,100,37,132,2,90,31,100,38,132,0, + 90,32,100,39,132,0,90,33,100,40,132,0,90,34,100,41, + 132,0,90,35,100,42,132,0,90,36,100,43,132,0,90,37, + 2,0,71,0,100,44,132,0,100,45,171,2,0,0,0,0, + 0,0,90,38,2,0,71,0,100,46,132,0,100,47,171,2, + 0,0,0,0,0,0,90,39,2,0,71,0,100,48,132,0, + 100,49,171,2,0,0,0,0,0,0,90,40,100,50,132,0, + 90,41,100,67,100,51,132,1,90,42,100,52,132,0,90,43, + 100,53,90,44,101,44,100,54,122,0,0,0,90,45,100,55, + 132,0,90,46,2,0,101,47,171,0,0,0,0,0,0,0, + 90,48,100,56,132,0,90,49,100,68,100,57,132,1,90,50, + 100,35,100,58,156,1,100,59,132,2,90,51,100,60,132,0, + 90,52,100,69,100,61,132,1,90,53,100,62,132,0,90,54, + 100,63,132,0,90,55,100,64,132,0,90,56,100,65,132,0, + 90,57,121,2,41,70,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,99,1, + 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3, + 0,0,0,243,100,0,0,0,151,0,9,0,124,0,106,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,83,0,35,0,116,2,0,0,0,0,0,0,0,0, + 36,0,114,24,1,0,116,5,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,106,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,2, + 89,0,83,0,119,0,120,3,89,0,119,1,169,1,78,41, + 3,218,12,95,95,113,117,97,108,110,97,109,101,95,95,218, + 14,65,116,116,114,105,98,117,116,101,69,114,114,111,114,218, + 4,116,121,112,101,41,1,218,3,111,98,106,115,1,0,0, + 0,32,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,12,95,111,98,106,101,99,116,95,110,97,109,101,114, + 8,0,0,0,23,0,0,0,115,50,0,0,0,128,0,240, + 2,3,5,38,216,15,18,215,15,31,209,15,31,208,8,31, + 248,220,11,25,242,0,1,5,38,220,15,19,144,67,139,121, + 215,15,37,209,15,37,210,8,37,240,3,1,5,38,250,115, + 12,0,0,0,130,11,14,0,142,30,47,3,174,1,47,3, + 78,99,2,0,0,0,0,0,0,0,0,0,0,0,9,0, + 0,0,3,0,0,0,243,164,0,0,0,151,0,100,1,68, + 0,93,38,0,0,125,2,116,1,0,0,0,0,0,0,0, + 0,124,1,124,2,171,2,0,0,0,0,0,0,115,1,140, + 16,116,3,0,0,0,0,0,0,0,0,124,0,124,2,116, + 5,0,0,0,0,0,0,0,0,124,1,124,2,171,2,0, + 0,0,0,0,0,171,3,0,0,0,0,0,0,1,0,140, + 40,4,0,124,0,106,6,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,9,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,106, + 6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,1,0,0,0,0,0,0,1,0,121,2,41, + 3,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,41,4,218,10,95,95,109,111,100,117,108,101,95,95, + 218,8,95,95,110,97,109,101,95,95,114,3,0,0,0,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,218,3,110,101,119,218, + 3,111,108,100,218,7,114,101,112,108,97,99,101,115,3,0, + 0,0,32,32,32,114,7,0,0,0,218,5,95,119,114,97, + 112,114,21,0,0,0,40,0,0,0,115,70,0,0,0,128, + 0,224,19,72,242,0,2,5,57,136,7,220,11,18,144,51, + 152,7,213,11,32,220,12,19,144,67,152,23,164,39,168,35, + 168,119,211,34,55,213,12,56,240,5,2,5,57,240,6,0, + 5,8,135,76,129,76,215,4,23,209,4,23,152,3,159,12, + 153,12,213,4,37,243,0,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243, + 44,0,0,0,151,0,2,0,116,1,0,0,0,0,0,0, + 0,0,116,2,0,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,83,0, + 114,2,0,0,0,41,2,114,5,0,0,0,218,3,115,121, + 115,169,1,218,4,110,97,109,101,115,1,0,0,0,32,114, + 7,0,0,0,218,11,95,110,101,119,95,109,111,100,117,108, + 101,114,27,0,0,0,48,0,0,0,115,18,0,0,0,128, + 0,216,11,20,140,52,148,3,139,57,144,84,139,63,208,4, + 26,114,22,0,0,0,99,0,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,0,0,0,0,243,12,0,0,0, + 151,0,101,0,90,1,100,0,90,2,121,1,41,2,218,5, + 95,76,105,115,116,78,169,3,114,11,0,0,0,114,10,0, + 0,0,114,3,0,0,0,169,0,114,22,0,0,0,114,7, + 0,0,0,114,29,0,0,0,114,29,0,0,0,55,0,0, + 0,243,5,0,0,0,132,0,216,4,8,114,22,0,0,0, + 114,29,0,0,0,99,0,0,0,0,0,0,0,0,0,0, + 0,0,2,0,0,0,0,0,0,0,243,46,0,0,0,151, + 0,101,0,90,1,100,0,90,2,100,1,132,0,90,3,100, + 2,132,0,90,4,100,3,132,0,90,5,100,7,100,5,132, + 1,90,6,100,7,100,6,132,1,90,7,121,4,41,8,218, + 20,95,87,101,97,107,86,97,108,117,101,68,105,99,116,105, + 111,110,97,114,121,99,1,0,0,0,0,0,0,0,0,0, + 0,0,5,0,0,0,3,0,0,0,243,148,0,0,0,135, + 2,151,0,116,0,0,0,0,0,0,0,0,0,106,3,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,138,2,2,0,71, + 0,136,2,102,1,100,1,132,8,100,2,116,0,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,3,0,0,0,0,0, + 0,125,1,124,1,124,0,95,2,0,0,0,0,0,0,0, + 0,124,0,106,7,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,1, + 0,121,0,41,3,78,99,0,0,0,0,0,0,0,0,0, + 0,0,0,3,0,0,0,0,0,0,0,243,66,0,0,0, + 149,1,135,0,151,0,101,0,90,1,100,0,90,2,100,1, + 90,3,136,0,102,1,100,2,132,8,90,4,136,0,102,1, + 100,3,132,8,90,5,101,6,136,1,102,1,100,4,132,8, + 171,0,0,0,0,0,0,0,90,7,136,0,120,1,90,8, + 83,0,41,5,250,47,95,87,101,97,107,86,97,108,117,101, + 68,105,99,116,105,111,110,97,114,121,46,95,95,105,110,105, + 116,95,95,46,60,108,111,99,97,108,115,62,46,75,101,121, + 101,100,82,101,102,41,1,218,3,107,101,121,99,3,0,0, + 0,0,0,0,0,0,0,0,0,5,0,0,0,19,0,0, + 0,243,76,0,0,0,149,1,151,0,116,0,0,0,0,0, + 0,0,0,0,137,4,124,0,141,5,0,0,124,0,124,1, + 124,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,3,0,0,0,0,0,0,125,3, + 124,2,124,3,95,3,0,0,0,0,0,0,0,0,124,3, + 83,0,114,2,0,0,0,41,4,218,5,115,117,112,101,114, + 218,7,95,95,110,101,119,95,95,218,6,114,101,109,111,118, + 101,114,38,0,0,0,41,5,114,5,0,0,0,218,2,111, + 98,114,38,0,0,0,218,4,115,101,108,102,218,9,95,95, + 99,108,97,115,115,95,95,115,5,0,0,0,32,32,32,32, + 128,114,7,0,0,0,114,41,0,0,0,122,55,95,87,101, + 97,107,86,97,108,117,101,68,105,99,116,105,111,110,97,114, + 121,46,95,95,105,110,105,116,95,95,46,60,108,111,99,97, + 108,115,62,46,75,101,121,101,100,82,101,102,46,95,95,110, + 101,119,95,95,74,0,0,0,115,37,0,0,0,248,128,0, + 220,23,28,145,119,145,127,160,116,168,82,176,20,183,27,177, + 27,211,23,61,144,4,216,27,30,144,4,148,8,216,23,27, + 144,11,114,22,0,0,0,99,3,0,0,0,0,0,0,0, + 0,0,0,0,4,0,0,0,19,0,0,0,243,58,0,0, + 0,149,1,151,0,116,0,0,0,0,0,0,0,0,0,137, + 3,124,0,141,5,0,0,124,1,124,0,106,4,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,1,0,121,0,114,2,0,0,0, + 41,3,114,40,0,0,0,218,8,95,95,105,110,105,116,95, + 95,114,42,0,0,0,41,4,114,44,0,0,0,114,43,0, + 0,0,114,38,0,0,0,114,45,0,0,0,115,4,0,0, + 0,32,32,32,128,114,7,0,0,0,114,47,0,0,0,122, + 56,95,87,101,97,107,86,97,108,117,101,68,105,99,116,105, + 111,110,97,114,121,46,95,95,105,110,105,116,95,95,46,60, + 108,111,99,97,108,115,62,46,75,101,121,101,100,82,101,102, + 46,95,95,105,110,105,116,95,95,79,0,0,0,115,22,0, + 0,0,248,128,0,220,16,21,145,7,209,16,32,160,18,160, + 84,167,91,161,91,213,16,49,114,22,0,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,4,0,0,0,19,0, + 0,0,243,210,0,0,0,149,1,151,0,2,0,137,2,171, + 0,0,0,0,0,0,0,125,1,124,1,129,93,124,1,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,114,38,124,1,106,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,106,5,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 0,106,6,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,1,0,121, + 0,116,8,0,0,0,0,0,0,0,0,106,11,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 1,106,12,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,0,106,6,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,171,2,0,0,0, + 0,0,0,1,0,121,0,121,0,114,2,0,0,0,41,7, + 218,10,95,105,116,101,114,97,116,105,110,103,218,17,95,112, + 101,110,100,105,110,103,95,114,101,109,111,118,97,108,115,218, + 6,97,112,112,101,110,100,114,38,0,0,0,218,8,95,119, + 101,97,107,114,101,102,218,20,95,114,101,109,111,118,101,95, + 100,101,97,100,95,119,101,97,107,114,101,102,218,4,100,97, + 116,97,41,3,218,2,119,114,114,44,0,0,0,218,12,115, + 101,108,102,95,119,101,97,107,114,101,102,115,3,0,0,0, + 32,32,128,114,7,0,0,0,114,42,0,0,0,122,54,95, + 87,101,97,107,86,97,108,117,101,68,105,99,116,105,111,110, + 97,114,121,46,95,95,105,110,105,116,95,95,46,60,108,111, + 99,97,108,115,62,46,75,101,121,101,100,82,101,102,46,114, + 101,109,111,118,101,82,0,0,0,115,78,0,0,0,248,128, + 0,241,8,0,24,36,147,126,144,4,216,19,23,208,19,35, + 216,23,27,151,127,146,127,216,24,28,215,24,46,209,24,46, + 215,24,53,209,24,53,176,98,183,102,177,102,213,24,61,228, + 24,32,215,24,53,209,24,53,176,100,183,105,177,105,192,18, + 199,22,193,22,213,24,72,240,9,0,20,36,114,22,0,0, + 0,41,9,114,11,0,0,0,114,10,0,0,0,114,3,0, + 0,0,218,9,95,95,115,108,111,116,115,95,95,114,41,0, + 0,0,114,47,0,0,0,218,12,115,116,97,116,105,99,109, + 101,116,104,111,100,114,42,0,0,0,218,13,95,95,99,108, + 97,115,115,99,101,108,108,95,95,41,2,114,45,0,0,0, + 114,56,0,0,0,115,2,0,0,0,64,128,114,7,0,0, + 0,218,8,75,101,121,101,100,82,101,102,114,37,0,0,0, + 70,0,0,0,115,40,0,0,0,249,132,0,224,24,30,136, + 73,244,4,3,13,28,244,10,1,13,50,240,6,0,14,26, + 243,2,8,13,73,1,243,3,0,14,26,244,2,8,13,73, + 1,114,22,0,0,0,114,60,0,0,0,41,4,114,52,0, + 0,0,218,3,114,101,102,218,9,95,75,101,121,101,100,82, + 101,102,218,5,99,108,101,97,114,41,3,114,44,0,0,0, + 114,60,0,0,0,114,56,0,0,0,115,3,0,0,0,32, + 32,64,114,7,0,0,0,114,47,0,0,0,122,29,95,87, + 101,97,107,86,97,108,117,101,68,105,99,116,105,111,110,97, + 114,121,46,95,95,105,110,105,116,95,95,64,0,0,0,115, + 53,0,0,0,248,128,0,220,23,31,151,124,145,124,160,68, + 211,23,41,136,12,246,10,21,9,73,1,148,120,151,124,145, + 124,244,0,21,9,73,1,240,46,0,26,34,136,4,140,14, + 216,8,12,143,10,137,10,141,12,114,22,0,0,0,99,1, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3, + 0,0,0,243,62,0,0,0,151,0,103,0,124,0,95,0, + 0,0,0,0,0,0,0,0,116,3,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,124,0,95,2,0,0, + 0,0,0,0,0,0,105,0,124,0,95,3,0,0,0,0, + 0,0,0,0,121,0,114,2,0,0,0,41,4,114,50,0, + 0,0,218,3,115,101,116,114,49,0,0,0,114,54,0,0, + 0,169,1,114,44,0,0,0,115,1,0,0,0,32,114,7, + 0,0,0,114,63,0,0,0,122,26,95,87,101,97,107,86, + 97,108,117,101,68,105,99,116,105,111,110,97,114,121,46,99, + 108,101,97,114,96,0,0,0,115,26,0,0,0,128,0,216, + 33,35,136,4,212,8,30,220,26,29,155,37,136,4,140,15, + 216,20,22,136,4,141,9,114,22,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0, + 0,243,164,0,0,0,151,0,124,0,106,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,125,1,124,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,2,9,0,9,0, + 2,0,124,1,171,0,0,0,0,0,0,0,125,3,116,8, + 0,0,0,0,0,0,0,0,106,11,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,2,124,3, + 171,2,0,0,0,0,0,0,1,0,140,31,35,0,116,6, + 0,0,0,0,0,0,0,0,36,0,114,3,1,0,89,0, + 121,0,119,0,120,3,89,0,119,1,114,2,0,0,0,41, + 6,114,50,0,0,0,218,3,112,111,112,114,54,0,0,0, + 218,10,73,110,100,101,120,69,114,114,111,114,114,52,0,0, + 0,114,53,0,0,0,41,4,114,44,0,0,0,114,68,0, + 0,0,218,1,100,114,38,0,0,0,115,4,0,0,0,32, + 32,32,32,114,7,0,0,0,218,16,95,99,111,109,109,105, + 116,95,114,101,109,111,118,97,108,115,122,37,95,87,101,97, + 107,86,97,108,117,101,68,105,99,116,105,111,110,97,114,121, + 46,95,99,111,109,109,105,116,95,114,101,109,111,118,97,108, + 115,101,0,0,0,115,86,0,0,0,128,0,216,14,18,215, + 14,36,209,14,36,215,14,40,209,14,40,136,3,216,12,16, + 143,73,137,73,136,1,216,14,18,240,2,3,13,23,217,22, + 25,147,101,144,3,244,6,0,13,21,215,12,41,209,12,41, + 168,33,168,83,212,12,49,240,11,0,15,19,248,244,6,0, + 20,30,242,0,1,13,23,217,16,22,240,3,1,13,23,250, + 115,17,0,0,0,165,7,65,3,0,193,3,9,65,15,3, + 193,14,1,65,15,3,78,99,3,0,0,0,0,0,0,0, + 0,0,0,0,4,0,0,0,3,0,0,0,243,150,0,0, + 0,151,0,124,0,106,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,114,16,124,0,106,3,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,1,0,9,0,124,0,106, + 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,25,0,0,0,125,3,2,0,124,3,171, + 0,0,0,0,0,0,0,120,1,125,4,128,2,124,2,83, + 0,124,4,83,0,35,0,116,6,0,0,0,0,0,0,0, + 0,36,0,114,5,1,0,124,2,99,2,89,0,83,0,119, + 0,120,3,89,0,119,1,114,2,0,0,0,41,4,114,50, + 0,0,0,114,71,0,0,0,114,54,0,0,0,218,8,75, + 101,121,69,114,114,111,114,41,5,114,44,0,0,0,114,38, + 0,0,0,218,7,100,101,102,97,117,108,116,114,55,0,0, + 0,218,1,111,115,5,0,0,0,32,32,32,32,32,114,7, + 0,0,0,218,3,103,101,116,122,24,95,87,101,97,107,86, + 97,108,117,101,68,105,99,116,105,111,110,97,114,121,46,103, + 101,116,111,0,0,0,115,87,0,0,0,128,0,216,11,15, + 215,11,33,210,11,33,216,12,16,215,12,33,209,12,33,212, + 12,35,240,2,8,9,25,216,17,21,151,25,145,25,152,51, + 145,30,136,66,241,8,0,22,24,147,84,144,9,144,1,208, + 15,34,216,23,30,144,14,224,23,24,144,8,248,244,13,0, + 16,24,242,0,1,9,27,216,19,26,138,78,240,3,1,9, + 27,250,115,15,0,0,0,158,15,58,0,186,11,65,8,3, + 193,7,1,65,8,3,99,3,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,3,0,0,0,243,208,0,0,0, + 151,0,9,0,2,0,124,0,106,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,1,25,0, + 0,0,171,0,0,0,0,0,0,0,125,3,124,3,128,61, + 124,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,114,16,124,0,106,7,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,1,0,124,0,106,9,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,2, + 124,1,171,2,0,0,0,0,0,0,124,0,106,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,60,0,0,0,124,2,83,0,124,3,83,0,35,0, + 116,2,0,0,0,0,0,0,0,0,36,0,114,5,1,0, + 100,0,125,3,89,0,140,78,119,0,120,3,89,0,119,1, + 114,2,0,0,0,41,5,114,54,0,0,0,114,73,0,0, + 0,114,50,0,0,0,114,71,0,0,0,114,62,0,0,0, + 41,4,114,44,0,0,0,114,38,0,0,0,114,74,0,0, + 0,114,75,0,0,0,115,4,0,0,0,32,32,32,32,114, + 7,0,0,0,218,10,115,101,116,100,101,102,97,117,108,116, + 122,31,95,87,101,97,107,86,97,108,117,101,68,105,99,116, + 105,111,110,97,114,121,46,115,101,116,100,101,102,97,117,108, + 116,124,0,0,0,115,109,0,0,0,128,0,240,2,3,9, + 21,216,16,30,144,4,151,9,145,9,152,35,145,14,211,16, + 32,136,65,240,6,0,12,13,136,57,216,15,19,215,15,37, + 210,15,37,216,16,20,215,16,37,209,16,37,212,16,39,216, + 29,33,159,94,153,94,168,71,176,83,211,29,57,136,68,143, + 73,137,73,144,99,137,78,216,19,26,136,78,224,19,20,136, + 72,248,244,17,0,16,24,242,0,1,9,21,216,16,20,138, + 65,240,3,1,9,21,250,115,17,0,0,0,130,20,65,23, + 0,193,23,11,65,37,3,193,36,1,65,37,3,114,2,0, + 0,0,41,8,114,11,0,0,0,114,10,0,0,0,114,3, + 0,0,0,114,47,0,0,0,114,63,0,0,0,114,71,0, + 0,0,114,76,0,0,0,114,78,0,0,0,114,31,0,0, + 0,114,22,0,0,0,114,7,0,0,0,114,34,0,0,0, + 114,34,0,0,0,62,0,0,0,115,28,0,0,0,132,0, + 242,4,30,5,21,242,64,1,3,5,23,242,10,8,5,50, + 243,20,11,5,25,244,26,11,5,21,114,22,0,0,0,114, + 34,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0, + 0,1,0,0,0,0,0,0,0,243,34,0,0,0,151,0, + 101,0,90,1,100,0,90,2,100,1,90,3,100,2,132,0, + 90,4,100,3,132,0,90,5,100,4,132,0,90,6,121,5, + 41,6,218,18,95,66,108,111,99,107,105,110,103,79,110,77, + 97,110,97,103,101,114,122,59,65,32,99,111,110,116,101,120, + 116,32,109,97,110,97,103,101,114,32,114,101,115,112,111,110, + 115,105,98,108,101,32,116,111,32,117,112,100,97,116,105,110, + 103,32,96,96,95,98,108,111,99,107,105,110,103,95,111,110, + 96,96,46,99,3,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,3,0,0,0,243,32,0,0,0,151,0,124, + 1,124,0,95,0,0,0,0,0,0,0,0,0,124,2,124, + 0,95,1,0,0,0,0,0,0,0,0,121,0,114,2,0, + 0,0,41,2,218,9,116,104,114,101,97,100,95,105,100,218, + 4,108,111,99,107,41,3,114,44,0,0,0,114,82,0,0, + 0,114,83,0,0,0,115,3,0,0,0,32,32,32,114,7, + 0,0,0,114,47,0,0,0,122,27,95,66,108,111,99,107, + 105,110,103,79,110,77,97,110,97,103,101,114,46,95,95,105, + 110,105,116,95,95,158,0,0,0,115,16,0,0,0,128,0, + 216,25,34,136,4,140,14,216,20,24,136,4,141,9,114,22, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 5,0,0,0,3,0,0,0,243,168,0,0,0,151,0,116, + 0,0,0,0,0,0,0,0,0,106,3,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,106, + 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,116,7,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,171,2,0,0,0,0,0,0,124,0,95, + 4,0,0,0,0,0,0,0,0,124,0,106,8,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,0,106,12,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,1,0,0,0,0,0, + 0,1,0,121,1,41,2,122,67,77,97,114,107,32,116,104, + 101,32,114,117,110,110,105,110,103,32,116,104,114,101,97,100, + 32,97,115,32,119,97,105,116,105,110,103,32,102,111,114,32, + 115,101,108,102,46,108,111,99,107,46,32,118,105,97,32,95, + 98,108,111,99,107,105,110,103,95,111,110,46,78,41,7,218, + 12,95,98,108,111,99,107,105,110,103,95,111,110,114,78,0, + 0,0,114,82,0,0,0,114,29,0,0,0,218,10,98,108, + 111,99,107,101,100,95,111,110,114,51,0,0,0,114,83,0, + 0,0,114,66,0,0,0,115,1,0,0,0,32,114,7,0, + 0,0,218,9,95,95,101,110,116,101,114,95,95,122,28,95, + 66,108,111,99,107,105,110,103,79,110,77,97,110,97,103,101, + 114,46,95,95,101,110,116,101,114,95,95,162,0,0,0,115, + 52,0,0,0,128,0,244,16,0,27,39,215,26,49,209,26, + 49,176,36,183,46,177,46,196,37,195,39,211,26,74,136,4, + 140,15,216,8,12,143,15,137,15,215,8,30,209,8,30,152, + 116,159,121,153,121,213,8,41,114,22,0,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,15,0, + 0,0,243,78,0,0,0,151,0,124,0,106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,0,106,4,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,1,0,0,0,0,0, + 0,1,0,121,1,41,2,122,54,82,101,109,111,118,101,32, + 115,101,108,102,46,108,111,99,107,32,102,114,111,109,32,116, + 104,105,115,32,116,104,114,101,97,100,39,115,32,95,98,108, + 111,99,107,105,110,103,95,111,110,32,108,105,115,116,46,78, + 41,3,114,86,0,0,0,114,42,0,0,0,114,83,0,0, + 0,169,3,114,44,0,0,0,218,4,97,114,103,115,218,6, + 107,119,97,114,103,115,115,3,0,0,0,32,32,32,114,7, + 0,0,0,218,8,95,95,101,120,105,116,95,95,122,27,95, + 66,108,111,99,107,105,110,103,79,110,77,97,110,97,103,101, + 114,46,95,95,101,120,105,116,95,95,173,0,0,0,115,24, + 0,0,0,128,0,224,8,12,143,15,137,15,215,8,30,209, + 8,30,152,116,159,121,153,121,213,8,41,114,22,0,0,0, + 78,41,7,114,11,0,0,0,114,10,0,0,0,114,3,0, + 0,0,114,12,0,0,0,114,47,0,0,0,114,87,0,0, + 0,114,92,0,0,0,114,31,0,0,0,114,22,0,0,0, + 114,7,0,0,0,114,80,0,0,0,114,80,0,0,0,156, + 0,0,0,115,20,0,0,0,132,0,217,4,69,242,2,2, + 5,25,242,8,9,5,42,243,22,2,5,42,114,22,0,0, + 0,114,80,0,0,0,99,0,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,0,0,0,0,243,12,0,0,0, + 151,0,101,0,90,1,100,0,90,2,121,1,41,2,218,14, + 95,68,101,97,100,108,111,99,107,69,114,114,111,114,78,114, + 30,0,0,0,114,31,0,0,0,114,22,0,0,0,114,7, + 0,0,0,114,94,0,0,0,114,94,0,0,0,178,0,0, + 0,114,32,0,0,0,114,22,0,0,0,114,94,0,0,0, + 99,1,0,0,0,0,0,0,0,3,0,0,0,7,0,0, + 0,3,0,0,0,243,208,0,0,0,151,0,124,0,124,2, + 118,0,114,1,121,1,124,2,68,0,93,87,0,0,125,4, + 124,3,106,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,4,171,1,0,0,0,0,0,0, + 120,1,125,5,115,1,140,23,124,4,124,1,118,0,114,2, + 1,0,121,2,124,1,106,3,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,4,171,1,0,0, + 0,0,0,0,1,0,124,5,68,0,143,6,99,2,103,0, + 99,2,93,14,0,0,125,6,124,6,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,2, + 140,16,4,0,125,7,125,6,116,7,0,0,0,0,0,0, + 0,0,124,0,124,1,124,7,124,3,172,3,171,4,0,0, + 0,0,0,0,115,1,140,87,1,0,121,1,4,0,121,2, + 99,2,1,0,99,2,125,6,119,0,41,4,97,242,2,0, + 0,67,104,101,99,107,32,105,102,32,39,116,97,114,103,101, + 116,95,105,100,39,32,105,115,32,104,111,108,100,105,110,103, + 32,116,104,101,32,115,97,109,101,32,108,111,99,107,32,97, + 115,32,97,110,111,116,104,101,114,32,116,104,114,101,97,100, + 40,115,41,46,10,10,32,32,32,32,84,104,101,32,115,101, + 97,114,99,104,32,119,105,116,104,105,110,32,39,98,108,111, + 99,107,105,110,103,95,111,110,39,32,115,116,97,114,116,115, + 32,119,105,116,104,32,116,104,101,32,116,104,114,101,97,100, + 115,32,108,105,115,116,101,100,32,105,110,10,32,32,32,32, + 39,99,97,110,100,105,100,97,116,101,95,105,100,115,39,46, + 32,32,39,115,101,101,110,95,105,100,115,39,32,99,111,110, + 116,97,105,110,115,32,97,110,121,32,116,104,114,101,97,100, + 115,32,116,104,97,116,32,97,114,101,32,99,111,110,115,105, + 100,101,114,101,100,10,32,32,32,32,97,108,114,101,97,100, + 121,32,116,114,97,118,101,114,115,101,100,32,105,110,32,116, + 104,101,32,115,101,97,114,99,104,46,10,10,32,32,32,32, + 75,101,121,119,111,114,100,32,97,114,103,117,109,101,110,116, + 115,58,10,32,32,32,32,116,97,114,103,101,116,95,105,100, + 32,32,32,32,32,45,45,32,84,104,101,32,116,104,114,101, + 97,100,32,105,100,32,116,111,32,116,114,121,32,116,111,32, + 114,101,97,99,104,46,10,32,32,32,32,115,101,101,110,95, + 105,100,115,32,32,32,32,32,32,45,45,32,65,32,115,101, + 116,32,111,102,32,116,104,114,101,97,100,115,32,116,104,97, + 116,32,104,97,118,101,32,97,108,114,101,97,100,121,32,98, + 101,101,110,32,118,105,115,105,116,101,100,46,10,32,32,32, + 32,99,97,110,100,105,100,97,116,101,95,105,100,115,32,45, + 45,32,84,104,101,32,116,104,114,101,97,100,32,105,100,115, + 32,102,114,111,109,32,119,104,105,99,104,32,116,111,32,98, + 101,103,105,110,46,10,32,32,32,32,98,108,111,99,107,105, + 110,103,95,111,110,32,32,32,45,45,32,65,32,100,105,99, + 116,32,114,101,112,114,101,115,101,110,116,105,110,103,32,116, + 104,101,32,116,104,114,101,97,100,47,98,108,111,99,107,105, + 110,103,45,111,110,32,103,114,97,112,104,46,32,32,84,104, + 105,115,32,109,97,121,10,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,98,101,32,116, + 104,101,32,115,97,109,101,32,111,98,106,101,99,116,32,97, + 115,32,116,104,101,32,103,108,111,98,97,108,32,39,95,98, + 108,111,99,107,105,110,103,95,111,110,39,32,98,117,116,32, + 105,116,32,105,115,10,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,97,32,112,97,114, + 97,109,101,116,101,114,32,116,111,32,114,101,100,117,99,101, + 32,116,104,101,32,105,109,112,97,99,116,32,116,104,97,116, + 32,103,108,111,98,97,108,32,109,117,116,97,98,108,101,10, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,115,116,97,116,101,32,104,97,115,32,111, + 110,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32, + 116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,32, + 32,32,32,84,70,41,3,218,8,115,101,101,110,95,105,100, + 115,218,13,99,97,110,100,105,100,97,116,101,95,105,100,115, + 218,11,98,108,111,99,107,105,110,103,95,111,110,41,4,114, + 76,0,0,0,218,3,97,100,100,218,5,111,119,110,101,114, + 218,15,95,104,97,115,95,100,101,97,100,108,111,99,107,101, + 100,41,8,218,9,116,97,114,103,101,116,95,105,100,114,96, + 0,0,0,114,97,0,0,0,114,98,0,0,0,218,3,116, + 105,100,218,21,99,97,110,100,105,100,97,116,101,95,98,108, + 111,99,107,105,110,103,95,111,110,114,83,0,0,0,218,5, + 101,100,103,101,115,115,8,0,0,0,32,32,32,32,32,32, + 32,32,114,7,0,0,0,114,101,0,0,0,114,101,0,0, + 0,183,0,0,0,115,137,0,0,0,128,0,240,32,0,8, + 17,144,77,209,7,33,240,6,0,16,20,240,6,0,16,29, + 242,0,16,5,24,136,3,216,41,52,175,31,169,31,184,19, + 211,41,61,208,16,61,208,16,37,208,16,61,224,12,20,216, + 13,16,144,72,137,95,241,10,0,20,25,216,8,16,143,12, + 137,12,144,83,212,8,25,240,6,0,41,62,214,16,62,160, + 4,144,20,151,26,147,26,208,16,62,136,5,208,16,62,220, + 11,26,152,57,168,120,192,117,216,28,39,246,3,1,12,41, + 225,19,23,240,33,16,5,24,240,36,0,12,17,249,242,11, + 0,17,63,115,5,0,0,0,186,19,65,35,6,99,0,0, + 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, + 0,0,243,46,0,0,0,151,0,101,0,90,1,100,0,90, + 2,100,1,90,3,100,2,132,0,90,4,100,3,132,0,90, + 5,100,4,132,0,90,6,100,5,132,0,90,7,100,6,132, + 0,90,8,121,7,41,8,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,0,0,0,0,2,0,0,0, + 3,0,0,0,243,160,0,0,0,151,0,116,0,0,0,0, + 0,0,0,0,0,106,3,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,124,0,95,2,0,0,0,0,0,0,0,0,116,0,0, + 0,0,0,0,0,0,0,106,7,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,171,0,0,0,0, + 0,0,0,124,0,95,4,0,0,0,0,0,0,0,0,124, + 1,124,0,95,5,0,0,0,0,0,0,0,0,100,0,124, + 0,95,6,0,0,0,0,0,0,0,0,103,0,124,0,95, + 7,0,0,0,0,0,0,0,0,103,0,124,0,95,8,0, + 0,0,0,0,0,0,0,121,0,114,2,0,0,0,41,9, + 218,7,95,116,104,114,101,97,100,218,5,82,76,111,99,107, + 114,83,0,0,0,218,13,97,108,108,111,99,97,116,101,95, + 108,111,99,107,218,6,119,97,107,101,117,112,114,26,0,0, + 0,114,100,0,0,0,218,5,99,111,117,110,116,218,7,119, + 97,105,116,101,114,115,169,2,114,44,0,0,0,114,26,0, + 0,0,115,2,0,0,0,32,32,114,7,0,0,0,114,47, + 0,0,0,122,20,95,77,111,100,117,108,101,76,111,99,107, + 46,95,95,105,110,105,116,95,95,232,0,0,0,115,69,0, + 0,0,128,0,244,42,0,21,28,151,77,145,77,147,79,136, + 4,140,9,220,22,29,215,22,43,209,22,43,211,22,45,136, + 4,140,11,240,6,0,21,25,136,4,140,9,240,8,0,22, + 26,136,4,140,10,240,22,0,22,24,136,4,140,10,240,28, + 0,24,26,136,4,141,12,114,22,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,6,0,0,0,3,0,0, + 0,243,114,0,0,0,151,0,116,1,0,0,0,0,0,0, + 0,0,116,2,0,0,0,0,0,0,0,0,106,5,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,116,7,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,124,0,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 103,1,116,10,0,0,0,0,0,0,0,0,172,1,171,4, + 0,0,0,0,0,0,83,0,41,2,78,41,4,114,102,0, + 0,0,114,96,0,0,0,114,97,0,0,0,114,98,0,0, + 0,41,6,114,101,0,0,0,114,109,0,0,0,218,9,103, + 101,116,95,105,100,101,110,116,114,65,0,0,0,114,100,0, + 0,0,114,85,0,0,0,114,66,0,0,0,115,1,0,0, + 0,32,114,7,0,0,0,218,12,104,97,115,95,100,101,97, + 100,108,111,99,107,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,32, + 1,0,0,115,48,0,0,0,128,0,244,10,0,16,31,228, + 22,29,215,22,39,209,22,39,211,22,41,220,21,24,147,85, + 240,6,0,28,32,159,58,153,58,152,44,228,24,36,244,17, + 9,16,10,240,0,9,9,10,114,22,0,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,7,0,0,0,3,0, + 0,0,243,86,2,0,0,151,0,116,0,0,0,0,0,0, + 0,0,0,106,3,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,125, + 1,116,5,0,0,0,0,0,0,0,0,124,1,124,0,171, + 2,0,0,0,0,0,0,53,0,1,0,9,0,124,0,106, + 6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,53,0,1,0,124,0,106,8,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,107, + 40,0,0,115,15,124,0,106,10,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,107,40,0, + 0,114,52,124,1,124,0,95,5,0,0,0,0,0,0,0, + 0,124,0,106,8,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,13,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,1,171,1,0, + 0,0,0,0,0,1,0,9,0,100,2,100,2,100,2,171, + 2,0,0,0,0,0,0,1,0,100,2,100,2,100,2,171, + 2,0,0,0,0,0,0,1,0,121,1,124,0,106,15,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,114,14,116,17,0,0,0, + 0,0,0,0,0,100,3,124,0,155,2,157,2,171,1,0, + 0,0,0,0,0,130,1,124,0,106,18,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,106,21,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,4,171,1,0,0,0,0,0,0,114,27,124,0,106, + 22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,13,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,2,171,1,0,0,0,0,0, + 0,1,0,100,2,100,2,100,2,171,2,0,0,0,0,0, + 0,1,0,124,0,106,18,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,21,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,1,0,124,0,106,18,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,106,25,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,1,0,140,240,35,0,49, + 0,115,1,119,2,1,0,89,0,1,0,1,0,140,62,120, + 3,89,0,119,1,35,0,49,0,115,1,119,2,1,0,89, + 0,1,0,1,0,121,2,120,3,89,0,119,1,41,5,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,84,78,122,21,100,101, + 97,100,108,111,99,107,32,100,101,116,101,99,116,101,100,32, + 98,121,32,70,41,13,114,109,0,0,0,114,117,0,0,0, + 114,80,0,0,0,114,83,0,0,0,114,113,0,0,0,114, + 100,0,0,0,114,51,0,0,0,114,118,0,0,0,114,94, + 0,0,0,114,112,0,0,0,218,7,97,99,113,117,105,114, + 101,114,114,0,0,0,218,7,114,101,108,101,97,115,101,169, + 2,114,44,0,0,0,114,103,0,0,0,115,2,0,0,0, + 32,32,114,7,0,0,0,114,120,0,0,0,122,19,95,77, + 111,100,117,108,101,76,111,99,107,46,97,99,113,117,105,114, + 101,48,1,0,0,115,5,1,0,0,128,0,244,12,0,15, + 22,215,14,31,209,14,31,211,14,33,136,3,220,13,31,160, + 3,160,84,211,13,42,241,0,59,9,38,216,18,22,240,8, + 0,22,26,151,89,145,89,241,0,44,17,50,216,23,27,151, + 122,145,122,160,82,210,23,39,168,52,175,58,169,58,184,19, + 210,43,60,240,14,0,38,41,152,4,156,10,216,24,28,159, + 10,153,10,215,24,41,209,24,41,168,36,212,24,47,216,31, + 35,247,21,44,17,50,247,11,59,9,38,240,0,59,9,38, + 240,68,1,0,24,28,215,23,40,209,23,40,212,23,42,220, + 30,44,208,47,68,192,84,192,72,208,45,77,211,30,78,208, + 24,78,240,26,0,24,28,151,123,145,123,215,23,42,209,23, + 42,168,53,212,23,49,216,24,28,159,12,153,12,215,24,43, + 209,24,43,168,68,212,24,49,247,89,1,44,17,50,240,98, + 1,0,17,21,151,11,145,11,215,16,35,209,16,35,212,16, + 37,240,10,0,17,21,151,11,145,11,215,16,35,209,16,35, + 212,16,37,240,117,1,0,19,23,247,8,44,17,50,240,0, + 44,17,50,250,247,11,59,9,38,240,0,59,9,38,250,115, + 48,0,0,0,161,14,68,31,3,175,65,2,68,19,5,193, + 49,8,68,31,3,194,2,65,20,68,19,5,195,22,61,68, + 31,3,196,19,5,68,28,9,196,24,7,68,31,3,196,31, + 5,68,40,7,99,1,0,0,0,0,0,0,0,0,0,0, + 0,6,0,0,0,3,0,0,0,243,218,1,0,0,151,0, + 116,0,0,0,0,0,0,0,0,0,106,3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,125,1,124,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0, + 1,0,124,0,106,6,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,1,107,55,0,0,114,11, + 116,9,0,0,0,0,0,0,0,0,100,1,171,1,0,0, + 0,0,0,0,130,1,116,11,0,0,0,0,0,0,0,0, + 124,0,106,12,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,100,2, + 107,68,0,0,115,2,74,0,130,1,124,0,106,12,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,1,0,116,11, + 0,0,0,0,0,0,0,0,124,0,106,12,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,115,83,100,0,124,0,95,3,0,0, + 0,0,0,0,0,0,116,11,0,0,0,0,0,0,0,0, + 124,0,106,16,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,100,2, + 107,68,0,0,114,52,124,0,106,16,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,15,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,1,0,124,0,106,18,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,1,0,100,0, + 100,0,100,0,171,2,0,0,0,0,0,0,1,0,121,0, + 35,0,49,0,115,1,119,2,1,0,89,0,1,0,1,0, + 121,0,120,3,89,0,119,1,41,3,78,250,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,233,0,0,0, + 0,41,11,114,109,0,0,0,114,117,0,0,0,114,83,0, + 0,0,114,100,0,0,0,218,12,82,117,110,116,105,109,101, + 69,114,114,111,114,218,3,108,101,110,114,113,0,0,0,114, + 68,0,0,0,114,114,0,0,0,114,112,0,0,0,114,121, + 0,0,0,114,122,0,0,0,115,2,0,0,0,32,32,114, + 7,0,0,0,114,121,0,0,0,122,19,95,77,111,100,117, + 108,101,76,111,99,107,46,114,101,108,101,97,115,101,116,1, + 0,0,115,168,0,0,0,128,0,220,14,21,215,14,31,209, + 14,31,211,14,33,136,3,216,13,17,143,89,137,89,241,0, + 9,9,42,216,15,19,143,122,137,122,152,83,210,15,32,220, + 22,34,208,35,68,211,22,69,208,16,69,220,19,22,144,116, + 151,122,145,122,147,63,160,81,210,19,38,209,12,38,216,12, + 16,143,74,137,74,143,78,137,78,212,12,28,220,19,22,144, + 116,151,122,145,122,148,63,216,29,33,144,4,148,10,220,19, + 22,144,116,151,124,145,124,211,19,36,160,113,210,19,40,216, + 20,24,151,76,145,76,215,20,36,209,20,36,212,20,38,216, + 20,24,151,75,145,75,215,20,39,209,20,39,212,20,41,247, + 19,9,9,42,247,0,9,9,42,241,0,9,9,42,250,115, + 12,0,0,0,161,66,55,67,33,3,195,33,5,67,42,7, + 99,1,0,0,0,0,0,0,0,0,0,0,0,6,0,0, + 0,3,0,0,0,243,56,0,0,0,151,0,100,1,124,0, + 106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,155,2,100,2,116,3,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,155,0,157,4, + 83,0,41,3,78,122,12,95,77,111,100,117,108,101,76,111, + 99,107,40,250,5,41,32,97,116,32,169,2,114,26,0,0, + 0,218,2,105,100,114,66,0,0,0,115,1,0,0,0,32, + 114,7,0,0,0,218,8,95,95,114,101,112,114,95,95,122, + 20,95,77,111,100,117,108,101,76,111,99,107,46,95,95,114, + 101,112,114,95,95,129,1,0,0,115,29,0,0,0,128,0, + 216,17,29,152,100,159,105,153,105,152,93,168,37,180,2,176, + 52,179,8,168,122,208,15,58,208,8,58,114,22,0,0,0, + 78,41,9,114,11,0,0,0,114,10,0,0,0,114,3,0, + 0,0,114,12,0,0,0,114,47,0,0,0,114,118,0,0, + 0,114,120,0,0,0,114,121,0,0,0,114,132,0,0,0, + 114,31,0,0,0,114,22,0,0,0,114,7,0,0,0,114, + 107,0,0,0,114,107,0,0,0,226,0,0,0,115,35,0, + 0,0,132,0,241,2,3,5,8,242,10,54,5,26,242,112, + 1,14,5,10,242,32,66,1,5,38,242,72,2,11,5,42, + 243,26,1,5,59,114,22,0,0,0,114,107,0,0,0,99, + 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 0,0,0,0,243,40,0,0,0,151,0,101,0,90,1,100, + 0,90,2,100,1,90,3,100,2,132,0,90,4,100,3,132, + 0,90,5,100,4,132,0,90,6,100,5,132,0,90,7,121, + 6,41,7,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,0,0,0,0,2,0,0,0,3,0, + 0,0,243,32,0,0,0,151,0,124,1,124,0,95,0,0, + 0,0,0,0,0,0,0,100,1,124,0,95,1,0,0,0, + 0,0,0,0,0,121,0,169,2,78,114,125,0,0,0,41, + 2,114,26,0,0,0,114,113,0,0,0,114,115,0,0,0, + 115,2,0,0,0,32,32,114,7,0,0,0,114,47,0,0, + 0,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,137,1,0,0, + 115,16,0,0,0,128,0,216,20,24,136,4,140,9,216,21, + 22,136,4,141,10,114,22,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,243, + 46,0,0,0,151,0,124,0,120,1,106,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,1, + 122,13,0,0,99,2,95,0,0,0,0,0,0,0,0,0, + 121,2,41,3,78,233,1,0,0,0,84,41,1,114,113,0, + 0,0,114,66,0,0,0,115,1,0,0,0,32,114,7,0, + 0,0,114,120,0,0,0,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,141,1,0,0,115,18,0,0,0,128,0,216,8,12,143, + 10,138,10,144,97,137,15,141,10,216,15,19,114,22,0,0, + 0,99,1,0,0,0,0,0,0,0,0,0,0,0,3,0, + 0,0,3,0,0,0,243,98,0,0,0,151,0,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,1,107,40,0,0,114,11,116,3,0,0,0, + 0,0,0,0,0,100,2,171,1,0,0,0,0,0,0,130, + 1,124,0,120,1,106,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,3,122,23,0,0,99, + 2,95,0,0,0,0,0,0,0,0,0,121,0,41,4,78, + 114,125,0,0,0,114,124,0,0,0,114,138,0,0,0,41, + 2,114,113,0,0,0,114,126,0,0,0,114,66,0,0,0, + 115,1,0,0,0,32,114,7,0,0,0,114,121,0,0,0, + 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,145,1,0,0,115,38, + 0,0,0,128,0,216,11,15,143,58,137,58,152,17,138,63, + 220,18,30,208,31,64,211,18,65,208,12,65,216,8,12,143, + 10,138,10,144,97,137,15,142,10,114,22,0,0,0,99,1, + 0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3, + 0,0,0,243,56,0,0,0,151,0,100,1,124,0,106,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,155,2,100,2,116,3,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,155,0,157,4,83,0, + 41,3,78,122,17,95,68,117,109,109,121,77,111,100,117,108, + 101,76,111,99,107,40,114,129,0,0,0,114,130,0,0,0, + 114,66,0,0,0,115,1,0,0,0,32,114,7,0,0,0, + 114,132,0,0,0,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, + 150,1,0,0,115,29,0,0,0,128,0,216,17,34,160,52, + 167,57,161,57,160,45,168,117,180,82,184,4,179,88,176,74, + 208,15,63,208,8,63,114,22,0,0,0,78,41,8,114,11, + 0,0,0,114,10,0,0,0,114,3,0,0,0,114,12,0, + 0,0,114,47,0,0,0,114,120,0,0,0,114,121,0,0, + 0,114,132,0,0,0,114,31,0,0,0,114,22,0,0,0, + 114,7,0,0,0,114,134,0,0,0,114,134,0,0,0,133, + 1,0,0,115,28,0,0,0,132,0,241,2,1,5,32,242, + 6,2,5,23,242,8,2,5,20,242,8,3,5,24,243,10, + 1,5,64,1,114,22,0,0,0,114,134,0,0,0,99,0, + 0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, + 0,0,0,243,30,0,0,0,151,0,101,0,90,1,100,0, + 90,2,100,1,132,0,90,3,100,2,132,0,90,4,100,3, + 132,0,90,5,121,4,41,5,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,0,0,0,0,2,0,0,0,3,0,0, + 0,243,32,0,0,0,151,0,124,1,124,0,95,0,0,0, + 0,0,0,0,0,0,100,0,124,0,95,1,0,0,0,0, + 0,0,0,0,121,0,114,2,0,0,0,41,2,218,5,95, + 110,97,109,101,218,5,95,108,111,99,107,114,115,0,0,0, + 115,2,0,0,0,32,32,114,7,0,0,0,114,47,0,0, + 0,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,156,1, + 0,0,115,16,0,0,0,128,0,216,21,25,136,4,140,10, + 216,21,25,136,4,141,10,114,22,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0, + 0,243,108,0,0,0,151,0,116,1,0,0,0,0,0,0, + 0,0,124,0,106,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 124,0,95,2,0,0,0,0,0,0,0,0,124,0,106,4, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,7,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,1,0, + 121,0,114,2,0,0,0,41,4,218,16,95,103,101,116,95, + 109,111,100,117,108,101,95,108,111,99,107,114,144,0,0,0, + 114,145,0,0,0,114,120,0,0,0,114,66,0,0,0,115, + 1,0,0,0,32,114,7,0,0,0,114,87,0,0,0,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,160,1,0, + 0,115,34,0,0,0,128,0,220,21,37,160,100,167,106,161, + 106,211,21,49,136,4,140,10,216,8,12,143,10,137,10,215, + 8,26,209,8,26,213,8,28,114,22,0,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,2,0,0,0,15,0, + 0,0,243,56,0,0,0,151,0,124,0,106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,1,0,121,0,114, + 2,0,0,0,41,2,114,145,0,0,0,114,121,0,0,0, + 114,89,0,0,0,115,3,0,0,0,32,32,32,114,7,0, + 0,0,114,92,0,0,0,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,164,1,0,0,115,18,0,0,0,128,0,216, + 8,12,143,10,137,10,215,8,26,209,8,26,213,8,28,114, + 22,0,0,0,78,41,6,114,11,0,0,0,114,10,0,0, + 0,114,3,0,0,0,114,47,0,0,0,114,87,0,0,0, + 114,92,0,0,0,114,31,0,0,0,114,22,0,0,0,114, + 7,0,0,0,114,142,0,0,0,114,142,0,0,0,154,1, + 0,0,115,17,0,0,0,132,0,242,4,2,5,26,242,8, + 2,5,29,243,8,1,5,29,114,22,0,0,0,114,142,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,3,0,0,0,243,74,1,0,0,151,0,116,0, + 0,0,0,0,0,0,0,0,106,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,1,0,9,0,9,0,116,5,0,0,0,0, + 0,0,0,0,124,0,25,0,0,0,171,0,0,0,0,0, + 0,0,125,1,124,1,128,63,116,8,0,0,0,0,0,0, + 0,0,128,12,116,11,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,125,1,110,11,116,13,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 125,1,124,0,102,1,100,2,132,1,125,2,116,14,0,0, + 0,0,0,0,0,0,106,17,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,124,2,171,2, + 0,0,0,0,0,0,116,4,0,0,0,0,0,0,0,0, + 124,0,60,0,0,0,116,0,0,0,0,0,0,0,0,0, + 106,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,1,0,124,1, + 83,0,35,0,116,6,0,0,0,0,0,0,0,0,36,0, + 114,5,1,0,100,1,125,1,89,0,140,100,119,0,120,3, + 89,0,119,1,35,0,116,0,0,0,0,0,0,0,0,0, + 106,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,1,0,119,0, + 120,3,89,0,119,1,41,3,122,139,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,65,99,113,117,105,114,101,47,114,101, + 108,101,97,115,101,32,105,110,116,101,114,110,97,108,108,121, + 32,116,104,101,32,103,108,111,98,97,108,32,105,109,112,111, + 114,116,32,108,111,99,107,32,116,111,32,112,114,111,116,101, + 99,116,10,32,32,32,32,95,109,111,100,117,108,101,95,108, + 111,99,107,115,46,78,99,2,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,19,0,0,0,243,196,0,0,0, + 151,0,116,0,0,0,0,0,0,0,0,0,106,3,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,1,0,9,0,116,4,0,0, + 0,0,0,0,0,0,106,7,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,124,0,117,0,114,7,116,4,0,0,0,0, + 0,0,0,0,124,1,61,0,116,0,0,0,0,0,0,0, + 0,0,106,9,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,1,0, + 121,0,35,0,116,0,0,0,0,0,0,0,0,0,106,9, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,1,0,119,0,120,3, + 89,0,119,1,114,2,0,0,0,41,5,218,4,95,105,109, + 112,218,12,97,99,113,117,105,114,101,95,108,111,99,107,218, + 13,95,109,111,100,117,108,101,95,108,111,99,107,115,114,76, + 0,0,0,218,12,114,101,108,101,97,115,101,95,108,111,99, + 107,41,2,114,61,0,0,0,114,26,0,0,0,115,2,0, + 0,0,32,32,114,7,0,0,0,218,2,99,98,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,189,1,0,0,115, + 73,0,0,0,128,0,220,16,20,215,16,33,209,16,33,212, + 16,35,240,2,7,17,40,244,8,0,24,37,215,23,40,209, + 23,40,168,20,211,23,46,176,35,209,23,53,220,28,41,168, + 36,208,28,47,228,20,24,215,20,37,209,20,37,213,20,39, + 248,148,68,215,20,37,209,20,37,213,20,39,250,115,11,0, + 0,0,150,30,65,9,0,193,9,22,65,31,3,41,10,114, + 151,0,0,0,114,152,0,0,0,114,153,0,0,0,114,73, + 0,0,0,114,109,0,0,0,114,134,0,0,0,114,107,0, + 0,0,114,52,0,0,0,114,61,0,0,0,114,154,0,0, + 0,41,3,114,26,0,0,0,114,83,0,0,0,114,155,0, + 0,0,115,3,0,0,0,32,32,32,114,7,0,0,0,114, + 147,0,0,0,114,147,0,0,0,170,1,0,0,115,156,0, + 0,0,128,0,244,12,0,5,9,215,4,21,209,4,21,212, + 4,23,240,2,25,5,28,240,2,3,9,24,220,19,32,160, + 20,209,19,38,211,19,40,136,68,240,8,0,12,16,136,60, + 220,15,22,136,127,220,23,39,168,4,211,23,45,145,4,228, + 23,34,160,52,211,23,40,144,4,224,29,33,243,0,9,13, + 40,244,22,0,35,43,167,44,161,44,168,116,176,82,211,34, + 56,140,77,152,36,209,12,31,228,8,12,215,8,25,209,8, + 25,212,8,27,224,11,15,128,75,248,244,49,0,16,24,242, + 0,1,9,24,216,19,23,138,68,240,3,1,9,24,251,244, + 44,0,9,13,215,8,25,209,8,25,213,8,27,250,115,41, + 0,0,0,151,13,65,59,0,164,65,1,66,12,0,193,59, + 11,66,9,3,194,6,2,66,12,0,194,8,1,66,9,3, + 194,9,3,66,12,0,194,12,22,66,34,3,99,1,0,0, + 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0, + 0,243,122,0,0,0,151,0,116,1,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,125,1,9,0, + 124,1,106,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,1,0, + 124,1,106,5,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,1,0, + 121,1,35,0,116,6,0,0,0,0,0,0,0,0,36,0, + 114,3,1,0,89,0,121,1,119,0,120,3,89,0,119,1, + 41,2,122,189,65,99,113,117,105,114,101,115,32,116,104,101, + 110,32,114,101,108,101,97,115,101,115,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,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,32,32,32, + 32,78,41,4,114,147,0,0,0,114,120,0,0,0,114,121, + 0,0,0,114,94,0,0,0,41,2,114,26,0,0,0,114, + 83,0,0,0,115,2,0,0,0,32,32,114,7,0,0,0, + 218,19,95,108,111,99,107,95,117,110,108,111,99,107,95,109, + 111,100,117,108,101,114,157,0,0,0,207,1,0,0,115,61, + 0,0,0,128,0,244,12,0,12,28,152,68,211,11,33,128, + 68,240,2,7,5,23,216,8,12,143,12,137,12,140,14,240, + 12,0,9,13,143,12,137,12,141,14,248,244,11,0,12,26, + 242,0,3,5,13,241,6,0,9,13,240,7,3,5,13,250, + 115,12,0,0,0,141,16,46,0,174,9,58,3,185,1,58, + 3,99,1,0,0,0,0,0,0,0,0,0,0,0,5,0, + 0,0,15,0,0,0,243,18,0,0,0,151,0,2,0,124, + 0,124,1,105,0,124,2,164,1,142,1,83,0,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,31,0,0,0,41,3,218,1,102,114,90,0,0, + 0,218,4,107,119,100,115,115,3,0,0,0,32,32,32,114, + 7,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,114, + 161,0,0,0,224,1,0,0,115,20,0,0,0,128,0,241, + 16,0,12,13,136,100,208,11,27,144,100,209,11,27,208,4, + 27,114,22,0,0,0,114,138,0,0,0,41,1,218,9,118, + 101,114,98,111,115,105,116,121,99,1,0,0,0,0,0,0, + 0,1,0,0,0,5,0,0,0,7,0,0,0,243,188,0, + 0,0,151,0,116,0,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,107,92,0,0,114,63,124,0, + 106,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,1,171,1,0,0,0,0,0,0,115,5, + 100,2,124,0,122,0,0,0,125,0,116,9,0,0,0,0, + 0,0,0,0,2,0,124,0,106,10,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,2,142,0, + 116,0,0,0,0,0,0,0,0,0,106,12,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,3, + 171,2,0,0,0,0,0,0,1,0,121,4,121,4,41,5, + 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,41, + 2,250,1,35,122,7,105,109,112,111,114,116,32,122,2,35, + 32,41,1,218,4,102,105,108,101,78,41,7,114,24,0,0, + 0,218,5,102,108,97,103,115,218,7,118,101,114,98,111,115, + 101,218,10,115,116,97,114,116,115,119,105,116,104,218,5,112, + 114,105,110,116,218,6,102,111,114,109,97,116,218,6,115,116, + 100,101,114,114,41,3,218,7,109,101,115,115,97,103,101,114, + 162,0,0,0,114,90,0,0,0,115,3,0,0,0,32,32, + 32,114,7,0,0,0,218,16,95,118,101,114,98,111,115,101, + 95,109,101,115,115,97,103,101,114,173,0,0,0,235,1,0, + 0,115,74,0,0,0,128,0,228,7,10,135,121,129,121,215, + 7,24,209,7,24,152,73,210,7,37,216,15,22,215,15,33, + 209,15,33,208,34,50,212,15,51,216,22,26,152,87,145,110, + 136,71,220,8,13,136,110,136,103,143,110,137,110,152,100,208, + 14,35,172,35,175,42,169,42,214,8,53,240,7,0,8,38, + 114,22,0,0,0,99,1,0,0,0,0,0,0,0,0,0, + 0,0,4,0,0,0,3,0,0,0,243,42,0,0,0,135, + 0,151,0,136,0,102,1,100,1,132,8,125,1,116,1,0, + 0,0,0,0,0,0,0,124,1,137,0,171,2,0,0,0, + 0,0,0,1,0,124,1,83,0,41,2,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,0,0,0,0,4,0,0,0,19, + 0,0,0,243,90,0,0,0,149,1,151,0,124,1,116,0, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,118,1,114,16, + 116,5,0,0,0,0,0,0,0,0,124,1,155,2,100,1, + 157,2,124,1,172,2,171,2,0,0,0,0,0,0,130,1, + 2,0,137,2,124,0,124,1,171,2,0,0,0,0,0,0, + 83,0,41,3,78,250,25,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,25,0,0,0,41,3,114,24,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,218,11,73,109,112,111,114,116,69,114,114,111,114,169, + 3,114,44,0,0,0,218,8,102,117,108,108,110,97,109,101, + 218,3,102,120,110,115,3,0,0,0,32,32,128,114,7,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,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,245,1,0,0,115,56,0,0,0,248,128,0,216, + 11,19,156,51,215,27,51,209,27,51,209,11,51,220,18,29, + 160,24,160,12,208,44,69,208,30,70,216,35,43,244,3,1, + 19,45,240,0,1,13,45,225,15,18,144,52,152,24,211,15, + 34,208,8,34,114,22,0,0,0,169,1,114,21,0,0,0, + 41,2,114,181,0,0,0,114,182,0,0,0,115,2,0,0, + 0,96,32,114,7,0,0,0,218,17,95,114,101,113,117,105, + 114,101,115,95,98,117,105,108,116,105,110,114,184,0,0,0, + 243,1,0,0,115,27,0,0,0,248,128,0,244,4,4,5, + 35,244,10,0,5,10,208,10,35,160,83,212,4,41,216,11, + 36,208,4,36,114,22,0,0,0,99,1,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,42, + 0,0,0,135,0,151,0,136,0,102,1,100,1,132,8,125, + 1,116,1,0,0,0,0,0,0,0,0,124,1,137,0,171, + 2,0,0,0,0,0,0,1,0,124,1,83,0,41,2,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,0,0,0,0,4,0,0, + 0,19,0,0,0,243,96,0,0,0,149,1,151,0,116,0, + 0,0,0,0,0,0,0,0,106,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,1,171,1, + 0,0,0,0,0,0,115,16,116,5,0,0,0,0,0,0, + 0,0,124,1,155,2,100,1,157,2,124,1,172,2,171,2, + 0,0,0,0,0,0,130,1,2,0,137,2,124,0,124,1, + 171,2,0,0,0,0,0,0,83,0,41,3,78,122,23,32, + 105,115,32,110,111,116,32,97,32,102,114,111,122,101,110,32, + 109,111,100,117,108,101,114,25,0,0,0,41,3,114,151,0, + 0,0,218,9,105,115,95,102,114,111,122,101,110,114,178,0, + 0,0,114,179,0,0,0,115,3,0,0,0,32,32,128,114, + 7,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,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,0,2,0,0,115,54,0,0,0,248,128,0,220,15, + 19,143,126,137,126,152,104,212,15,39,220,18,29,160,24,160, + 12,208,44,67,208,30,68,216,35,43,244,3,1,19,45,240, + 0,1,13,45,225,15,18,144,52,152,24,211,15,34,208,8, + 34,114,22,0,0,0,114,183,0,0,0,41,2,114,181,0, + 0,0,114,188,0,0,0,115,2,0,0,0,96,32,114,7, + 0,0,0,218,16,95,114,101,113,117,105,114,101,115,95,102, + 114,111,122,101,110,114,189,0,0,0,254,1,0,0,115,27, + 0,0,0,248,128,0,244,4,4,5,35,244,10,0,5,10, + 208,10,34,160,67,212,4,40,216,11,35,208,4,35,114,22, + 0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,240,0,0,0,151,0,100, + 1,125,2,116,0,0,0,0,0,0,0,0,0,106,3,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,2,116,4,0,0,0,0,0,0,0,0,171,2,0, + 0,0,0,0,0,1,0,116,7,0,0,0,0,0,0,0, + 0,124,1,124,0,171,2,0,0,0,0,0,0,125,3,124, + 1,116,8,0,0,0,0,0,0,0,0,106,10,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118, + 0,114,50,116,8,0,0,0,0,0,0,0,0,106,10,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,1,25,0,0,0,125,4,116,13,0,0,0,0,0, + 0,0,0,124,3,124,4,171,2,0,0,0,0,0,0,1, + 0,116,8,0,0,0,0,0,0,0,0,106,10,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 1,25,0,0,0,83,0,116,15,0,0,0,0,0,0,0, + 0,124,3,171,1,0,0,0,0,0,0,83,0,41,2,122, + 130,76,111,97,100,32,116,104,101,32,115,112,101,99,105,102, + 105,101,100,32,109,111,100,117,108,101,32,105,110,116,111,32, + 115,121,115,46,109,111,100,117,108,101,115,32,97,110,100,32, + 114,101,116,117,114,110,32,105,116,46,10,10,32,32,32,32, + 84,104,105,115,32,109,101,116,104,111,100,32,105,115,32,100, + 101,112,114,101,99,97,116,101,100,46,32,32,85,115,101,32, + 108,111,97,100,101,114,46,101,120,101,99,95,109,111,100,117, + 108,101,40,41,32,105,110,115,116,101,97,100,46,10,10,32, + 32,32,32,122,103,116,104,101,32,108,111,97,100,95,109,111, + 100,117,108,101,40,41,32,109,101,116,104,111,100,32,105,115, + 32,100,101,112,114,101,99,97,116,101,100,32,97,110,100,32, + 115,108,97,116,101,100,32,102,111,114,32,114,101,109,111,118, + 97,108,32,105,110,32,80,121,116,104,111,110,32,51,46,49, + 50,59,32,117,115,101,32,101,120,101,99,95,109,111,100,117, + 108,101,40,41,32,105,110,115,116,101,97,100,41,8,218,9, + 95,119,97,114,110,105,110,103,115,218,4,119,97,114,110,218, + 18,68,101,112,114,101,99,97,116,105,111,110,87,97,114,110, + 105,110,103,218,16,115,112,101,99,95,102,114,111,109,95,108, + 111,97,100,101,114,114,24,0,0,0,218,7,109,111,100,117, + 108,101,115,218,5,95,101,120,101,99,218,5,95,108,111,97, + 100,41,5,114,44,0,0,0,114,180,0,0,0,218,3,109, + 115,103,218,4,115,112,101,99,218,6,109,111,100,117,108,101, + 115,5,0,0,0,32,32,32,32,32,114,7,0,0,0,218, + 17,95,108,111,97,100,95,109,111,100,117,108,101,95,115,104, + 105,109,114,201,0,0,0,10,2,0,0,115,97,0,0,0, + 128,0,240,12,1,12,51,128,67,228,4,13,135,78,129,78, + 144,51,212,24,42,212,4,43,220,11,27,152,72,160,100,211, + 11,43,128,68,216,7,15,148,51,151,59,145,59,209,7,30, + 220,17,20,151,27,145,27,152,88,209,17,38,136,6,220,8, + 13,136,100,144,70,212,8,27,220,15,18,143,123,137,123,152, + 56,209,15,36,208,8,36,228,15,20,144,84,139,123,208,8, + 26,114,22,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,6,0,0,0,3,0,0,0,243,252,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,124,0,100,1, + 100,2,171,3,0,0,0,0,0,0,125,1,116,1,0,0, + 0,0,0,0,0,0,124,0,100,3,100,2,171,3,0,0, + 0,0,0,0,120,1,125,2,114,11,116,3,0,0,0,0, + 0,0,0,0,124,2,171,1,0,0,0,0,0,0,83,0, + 9,0,124,0,106,4,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,125,3,9,0,124,0,106,8, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,125,4,100,5,124,3,155,2,100,6,124,4,155,2, + 100,7,157,5,83,0,35,0,116,6,0,0,0,0,0,0, + 0,0,36,0,114,5,1,0,100,4,125,3,89,0,140,35, + 119,0,120,3,89,0,119,1,35,0,116,6,0,0,0,0, + 0,0,0,0,36,0,114,22,1,0,124,1,128,8,100,5, + 124,3,155,2,100,7,157,3,99,2,89,0,83,0,100,5, + 124,3,155,2,100,8,124,1,155,2,100,9,157,5,99,2, + 89,0,83,0,119,0,120,3,89,0,119,1,41,10,122,44, + 84,104,101,32,105,109,112,108,101,109,101,110,116,97,116,105, + 111,110,32,111,102,32,77,111,100,117,108,101,84,121,112,101, + 46,95,95,114,101,112,114,95,95,40,41,46,218,10,95,95, + 108,111,97,100,101,114,95,95,78,218,8,95,95,115,112,101, + 99,95,95,250,1,63,250,8,60,109,111,100,117,108,101,32, + 250,6,32,102,114,111,109,32,250,1,62,250,2,32,40,250, + 2,41,62,41,5,114,15,0,0,0,218,22,95,109,111,100, + 117,108,101,95,114,101,112,114,95,102,114,111,109,95,115,112, + 101,99,114,11,0,0,0,114,4,0,0,0,218,8,95,95, + 102,105,108,101,95,95,41,5,114,200,0,0,0,218,6,108, + 111,97,100,101,114,114,199,0,0,0,114,26,0,0,0,218, + 8,102,105,108,101,110,97,109,101,115,5,0,0,0,32,32, + 32,32,32,114,7,0,0,0,218,12,95,109,111,100,117,108, + 101,95,114,101,112,114,114,215,0,0,0,29,2,0,0,115, + 177,0,0,0,128,0,228,13,20,144,86,152,92,168,52,211, + 13,48,128,70,220,15,22,144,118,152,122,168,52,211,15,48, + 208,7,48,128,116,208,7,48,220,15,37,160,100,211,15,43, + 208,8,43,240,4,3,5,19,216,15,21,143,127,137,127,136, + 4,240,6,8,5,54,216,19,25,151,63,145,63,136,8,240, + 14,0,18,26,152,36,152,24,160,22,168,8,160,124,176,49, + 208,15,53,208,8,53,248,244,21,0,12,26,242,0,1,5, + 19,216,15,18,138,4,240,3,1,5,19,251,244,8,0,12, + 26,242,0,4,5,53,216,11,17,136,62,216,21,29,152,100, + 152,88,160,81,208,19,39,210,12,39,224,21,29,152,100,152, + 88,160,82,168,6,160,122,176,18,208,19,52,210,12,52,240, + 9,4,5,53,250,115,40,0,0,0,169,12,65,11,0,182, + 12,65,28,0,193,11,11,65,25,3,193,24,1,65,25,3, + 193,28,17,65,59,3,193,47,9,65,59,3,193,58,1,65, + 59,3,99,0,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,0,0,0,0,243,164,0,0,0,151,0,101,0, + 90,1,100,0,90,2,100,1,90,3,100,2,100,2,100,2, + 100,3,156,3,100,4,132,2,90,4,100,5,132,0,90,5, + 100,6,132,0,90,6,101,7,100,7,132,0,171,0,0,0, + 0,0,0,0,90,8,101,8,106,18,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,8,132,0, + 171,0,0,0,0,0,0,0,90,8,101,7,100,9,132,0, + 171,0,0,0,0,0,0,0,90,10,101,7,100,10,132,0, + 171,0,0,0,0,0,0,0,90,11,101,11,106,18,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,11,132,0,171,0,0,0,0,0,0,0,90,11,121,2, + 41,12,218,10,77,111,100,117,108,101,83,112,101,99,97,208, + 5,0,0,84,104,101,32,115,112,101,99,105,102,105,99,97, + 116,105,111,110,32,102,111,114,32,97,32,109,111,100,117,108, + 101,44,32,117,115,101,100,32,102,111,114,32,108,111,97,100, + 105,110,103,46,10,10,32,32,32,32,65,32,109,111,100,117, + 108,101,39,115,32,115,112,101,99,32,105,115,32,116,104,101, + 32,115,111,117,114,99,101,32,102,111,114,32,105,110,102,111, + 114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104, + 101,32,109,111,100,117,108,101,46,32,32,70,111,114,10,32, + 32,32,32,100,97,116,97,32,97,115,115,111,99,105,97,116, + 101,100,32,119,105,116,104,32,116,104,101,32,109,111,100,117, + 108,101,44,32,105,110,99,108,117,100,105,110,103,32,115,111, + 117,114,99,101,44,32,117,115,101,32,116,104,101,32,115,112, + 101,99,39,115,10,32,32,32,32,108,111,97,100,101,114,46, + 10,10,32,32,32,32,96,110,97,109,101,96,32,105,115,32, + 116,104,101,32,97,98,115,111,108,117,116,101,32,110,97,109, + 101,32,111,102,32,116,104,101,32,109,111,100,117,108,101,46, + 32,32,96,108,111,97,100,101,114,96,32,105,115,32,116,104, + 101,32,108,111,97,100,101,114,10,32,32,32,32,116,111,32, + 117,115,101,32,119,104,101,110,32,108,111,97,100,105,110,103, + 32,116,104,101,32,109,111,100,117,108,101,46,32,32,96,112, + 97,114,101,110,116,96,32,105,115,32,116,104,101,32,110,97, + 109,101,32,111,102,32,116,104,101,10,32,32,32,32,112,97, + 99,107,97,103,101,32,116,104,101,32,109,111,100,117,108,101, + 32,105,115,32,105,110,46,32,32,84,104,101,32,112,97,114, + 101,110,116,32,105,115,32,100,101,114,105,118,101,100,32,102, + 114,111,109,32,116,104,101,32,110,97,109,101,46,10,10,32, + 32,32,32,96,105,115,95,112,97,99,107,97,103,101,96,32, + 100,101,116,101,114,109,105,110,101,115,32,105,102,32,116,104, + 101,32,109,111,100,117,108,101,32,105,115,32,99,111,110,115, + 105,100,101,114,101,100,32,97,32,112,97,99,107,97,103,101, + 32,111,114,10,32,32,32,32,110,111,116,46,32,32,79,110, + 32,109,111,100,117,108,101,115,32,116,104,105,115,32,105,115, + 32,114,101,102,108,101,99,116,101,100,32,98,121,32,116,104, + 101,32,96,95,95,112,97,116,104,95,95,96,32,97,116,116, + 114,105,98,117,116,101,46,10,10,32,32,32,32,96,111,114, + 105,103,105,110,96,32,105,115,32,116,104,101,32,115,112,101, + 99,105,102,105,99,32,108,111,99,97,116,105,111,110,32,117, + 115,101,100,32,98,121,32,116,104,101,32,108,111,97,100,101, + 114,32,102,114,111,109,32,119,104,105,99,104,32,116,111,10, + 32,32,32,32,108,111,97,100,32,116,104,101,32,109,111,100, + 117,108,101,44,32,105,102,32,116,104,97,116,32,105,110,102, + 111,114,109,97,116,105,111,110,32,105,115,32,97,118,97,105, + 108,97,98,108,101,46,32,32,87,104,101,110,32,102,105,108, + 101,110,97,109,101,32,105,115,10,32,32,32,32,115,101,116, + 44,32,111,114,105,103,105,110,32,119,105,108,108,32,109,97, + 116,99,104,46,10,10,32,32,32,32,96,104,97,115,95,108, + 111,99,97,116,105,111,110,96,32,105,110,100,105,99,97,116, + 101,115,32,116,104,97,116,32,97,32,115,112,101,99,39,115, + 32,34,111,114,105,103,105,110,34,32,114,101,102,108,101,99, + 116,115,32,97,32,108,111,99,97,116,105,111,110,46,10,32, + 32,32,32,87,104,101,110,32,116,104,105,115,32,105,115,32, + 84,114,117,101,44,32,96,95,95,102,105,108,101,95,95,96, + 32,97,116,116,114,105,98,117,116,101,32,111,102,32,116,104, + 101,32,109,111,100,117,108,101,32,105,115,32,115,101,116,46, + 10,10,32,32,32,32,96,99,97,99,104,101,100,96,32,105, + 115,32,116,104,101,32,108,111,99,97,116,105,111,110,32,111, + 102,32,116,104,101,32,99,97,99,104,101,100,32,98,121,116, + 101,99,111,100,101,32,102,105,108,101,44,32,105,102,32,97, + 110,121,46,32,32,73,116,10,32,32,32,32,99,111,114,114, + 101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,96, + 95,95,99,97,99,104,101,100,95,95,96,32,97,116,116,114, + 105,98,117,116,101,46,10,10,32,32,32,32,96,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,96,32,105,115,32,116,104,101,32, + 115,101,113,117,101,110,99,101,32,111,102,32,112,97,116,104, + 32,101,110,116,114,105,101,115,32,116,111,10,32,32,32,32, + 115,101,97,114,99,104,32,119,104,101,110,32,105,109,112,111, + 114,116,105,110,103,32,115,117,98,109,111,100,117,108,101,115, + 46,32,32,73,102,32,115,101,116,44,32,105,115,95,112,97, + 99,107,97,103,101,32,115,104,111,117,108,100,32,98,101,10, + 32,32,32,32,84,114,117,101,45,45,97,110,100,32,70,97, + 108,115,101,32,111,116,104,101,114,119,105,115,101,46,10,10, + 32,32,32,32,80,97,99,107,97,103,101,115,32,97,114,101, + 32,115,105,109,112,108,121,32,109,111,100,117,108,101,115,32, + 116,104,97,116,32,40,109,97,121,41,32,104,97,118,101,32, + 115,117,98,109,111,100,117,108,101,115,46,32,32,73,102,32, + 97,32,115,112,101,99,10,32,32,32,32,104,97,115,32,97, + 32,110,111,110,45,78,111,110,101,32,118,97,108,117,101,32, + 105,110,32,96,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,96,44, + 32,116,104,101,32,105,109,112,111,114,116,10,32,32,32,32, + 115,121,115,116,101,109,32,119,105,108,108,32,99,111,110,115, + 105,100,101,114,32,109,111,100,117,108,101,115,32,108,111,97, + 100,101,100,32,102,114,111,109,32,116,104,101,32,115,112,101, + 99,32,97,115,32,112,97,99,107,97,103,101,115,46,10,10, + 32,32,32,32,79,110,108,121,32,102,105,110,100,101,114,115, + 32,40,115,101,101,32,105,109,112,111,114,116,108,105,98,46, + 97,98,99,46,77,101,116,97,80,97,116,104,70,105,110,100, + 101,114,32,97,110,100,10,32,32,32,32,105,109,112,111,114, + 116,108,105,98,46,97,98,99,46,80,97,116,104,69,110,116, + 114,121,70,105,110,100,101,114,41,32,115,104,111,117,108,100, + 32,109,111,100,105,102,121,32,77,111,100,117,108,101,83,112, + 101,99,32,105,110,115,116,97,110,99,101,115,46,10,10,32, + 32,32,32,78,41,3,218,6,111,114,105,103,105,110,218,12, + 108,111,97,100,101,114,95,115,116,97,116,101,218,10,105,115, + 95,112,97,99,107,97,103,101,99,3,0,0,0,0,0,0, + 0,3,0,0,0,2,0,0,0,3,0,0,0,243,124,0, + 0,0,151,0,124,1,124,0,95,0,0,0,0,0,0,0, + 0,0,124,2,124,0,95,1,0,0,0,0,0,0,0,0, + 124,3,124,0,95,2,0,0,0,0,0,0,0,0,124,4, + 124,0,95,3,0,0,0,0,0,0,0,0,124,5,114,2, + 103,0,110,1,100,0,124,0,95,4,0,0,0,0,0,0, + 0,0,103,0,124,0,95,5,0,0,0,0,0,0,0,0, + 100,1,124,0,95,6,0,0,0,0,0,0,0,0,100,0, + 124,0,95,7,0,0,0,0,0,0,0,0,121,0,169,2, + 78,70,41,8,114,26,0,0,0,114,213,0,0,0,114,218, + 0,0,0,114,219,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,25,95,117,110,105,110,105,116,105,97,108, + 105,122,101,100,95,115,117,98,109,111,100,117,108,101,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,44,0,0,0,114,26, + 0,0,0,114,213,0,0,0,114,218,0,0,0,114,219,0, + 0,0,114,220,0,0,0,115,6,0,0,0,32,32,32,32, + 32,32,114,7,0,0,0,114,47,0,0,0,122,19,77,111, + 100,117,108,101,83,112,101,99,46,95,95,105,110,105,116,95, + 95,87,2,0,0,115,68,0,0,0,128,0,224,20,24,136, + 4,140,9,216,22,28,136,4,140,11,216,22,28,136,4,140, + 11,216,28,40,136,4,212,8,25,217,48,58,169,34,192,4, + 136,4,212,8,39,216,41,43,136,4,212,8,38,240,6,0, + 30,35,136,4,212,8,26,216,23,27,136,4,141,12,114,22, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 5,0,0,0,3,0,0,0,243,60,1,0,0,151,0,100, + 1,124,0,106,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,155,2,157,2,100,2,124,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,155,2,157,2,103,2,125,1,124,0,106,4,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,129,30,124,1,106,7,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,3,124,0,106,4,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,155,2,157,2,171,1,0,0,0,0,0,0,1,0,124, + 0,106,8,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,129,30,124,1,106,7,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,4,124, + 0,106,8,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,155,0,157,2,171,1,0,0,0,0,0, + 0,1,0,124,0,106,10,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,12,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,155,0,100, + 5,100,6,106,15,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,155,0,100,7,157,4,83,0,41,8,78,122,5,110,97, + 109,101,61,122,7,108,111,97,100,101,114,61,122,7,111,114, + 105,103,105,110,61,122,27,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,250,1,40,122,2,44,32,250,1,41,41,8,114,26, + 0,0,0,114,213,0,0,0,114,218,0,0,0,114,51,0, + 0,0,114,223,0,0,0,114,45,0,0,0,114,11,0,0, + 0,218,4,106,111,105,110,41,2,114,44,0,0,0,114,90, + 0,0,0,115,2,0,0,0,32,32,114,7,0,0,0,114, + 132,0,0,0,122,19,77,111,100,117,108,101,83,112,101,99, + 46,95,95,114,101,112,114,95,95,100,2,0,0,115,145,0, + 0,0,128,0,216,18,23,152,4,159,9,153,9,144,125,208, + 16,37,168,23,176,20,183,27,177,27,176,15,208,39,64,208, + 15,65,136,4,216,11,15,143,59,137,59,208,11,34,216,12, + 16,143,75,137,75,152,39,160,36,167,43,161,43,160,31,208, + 24,49,212,12,50,216,11,15,215,11,42,209,11,42,208,11, + 54,216,12,16,143,75,137,75,208,26,53,176,100,215,54,85, + 209,54,85,208,53,86,208,24,87,212,12,88,216,18,22,151, + 46,145,46,215,18,41,209,18,41,208,17,42,168,33,168,68, + 175,73,169,73,176,100,171,79,208,43,60,184,65,208,15,62, + 208,8,62,114,22,0,0,0,99,2,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,114,1, + 0,0,151,0,124,0,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,2,9,0,124,0, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,106,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,107,40,0,0,120,1, + 114,123,1,0,124,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,106,4,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 107,40,0,0,120,1,114,96,1,0,124,0,106,6,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,106,6,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,107,40,0,0,120,1,114,69,1,0, + 124,2,124,1,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,107,40,0,0,120,1,114,52, + 1,0,124,0,106,8,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,1,106,8,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,40, + 0,0,120,1,114,25,1,0,124,0,106,10,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 106,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,107,40,0,0,83,0,35,0,116,12,0,0, + 0,0,0,0,0,0,36,0,114,9,1,0,116,14,0,0, + 0,0,0,0,0,0,99,2,89,0,83,0,119,0,120,3, + 89,0,119,1,114,2,0,0,0,41,8,114,223,0,0,0, + 114,26,0,0,0,114,213,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,4,0,0,0,218,14,78,111,116,73, + 109,112,108,101,109,101,110,116,101,100,41,3,114,44,0,0, + 0,218,5,111,116,104,101,114,218,4,115,109,115,108,115,3, + 0,0,0,32,32,32,114,7,0,0,0,218,6,95,95,101, + 113,95,95,122,17,77,111,100,117,108,101,83,112,101,99,46, + 95,95,101,113,95,95,108,2,0,0,115,175,0,0,0,128, + 0,216,15,19,215,15,46,209,15,46,136,4,240,2,8,9, + 34,216,20,24,151,73,145,73,160,21,167,26,161,26,209,20, + 43,242,0,5,21,60,216,20,24,151,75,145,75,160,53,167, + 60,161,60,209,20,47,242,3,5,21,60,224,20,24,151,75, + 145,75,160,53,167,60,161,60,209,20,47,242,5,5,21,60, + 240,6,0,21,25,152,69,215,28,60,209,28,60,209,20,60, + 242,7,5,21,60,240,8,0,21,25,151,75,145,75,160,53, + 167,60,161,60,209,20,47,242,9,5,21,60,240,10,0,21, + 25,215,20,37,209,20,37,168,21,215,41,59,209,41,59,209, + 20,59,240,11,5,13,61,248,244,12,0,16,30,242,0,1, + 9,34,220,19,33,210,12,33,240,3,1,9,34,250,115,18, + 0,0,0,142,66,21,66,36,0,194,36,15,66,54,3,194, + 53,1,66,54,3,99,1,0,0,0,0,0,0,0,0,0, + 0,0,3,0,0,0,3,0,0,0,243,194,0,0,0,151, + 0,124,0,106,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,128,72,124,0,106,2,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129, + 60,124,0,106,4,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,114,48,116,6,0,0,0,0,0, + 0,0,0,128,6,116,8,0,0,0,0,0,0,0,0,130, + 1,116,6,0,0,0,0,0,0,0,0,106,11,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 0,106,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,124,0,95, + 0,0,0,0,0,0,0,0,0,124,0,106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83, + 0,114,2,0,0,0,41,6,114,226,0,0,0,114,218,0, + 0,0,114,225,0,0,0,218,19,95,98,111,111,116,115,116, + 114,97,112,95,101,120,116,101,114,110,97,108,218,19,78,111, + 116,73,109,112,108,101,109,101,110,116,101,100,69,114,114,111, + 114,218,11,95,103,101,116,95,99,97,99,104,101,100,114,66, + 0,0,0,115,1,0,0,0,32,114,7,0,0,0,114,232, + 0,0,0,122,17,77,111,100,117,108,101,83,112,101,99,46, + 99,97,99,104,101,100,120,2,0,0,115,74,0,0,0,128, + 0,224,11,15,143,60,137,60,208,11,31,216,15,19,143,123, + 137,123,208,15,38,168,52,215,43,61,210,43,61,220,19,38, + 208,19,46,220,26,45,208,20,45,220,31,50,215,31,62,209, + 31,62,184,116,191,123,185,123,211,31,75,144,4,148,12,216, + 15,19,143,124,137,124,208,8,27,114,22,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3, + 0,0,0,243,18,0,0,0,151,0,124,1,124,0,95,0, + 0,0,0,0,0,0,0,0,121,0,114,2,0,0,0,41, + 1,114,226,0,0,0,41,2,114,44,0,0,0,114,232,0, + 0,0,115,2,0,0,0,32,32,114,7,0,0,0,114,232, + 0,0,0,122,17,77,111,100,117,108,101,83,112,101,99,46, + 99,97,99,104,101,100,129,2,0,0,115,9,0,0,0,128, + 0,224,23,29,136,4,141,12,114,22,0,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0, + 0,0,243,110,0,0,0,151,0,124,0,106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128, + 30,124,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,5,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,1,171,1,0, + 0,0,0,0,0,100,2,25,0,0,0,83,0,124,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,83,0,41,3,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,250,1,46,114,125,0,0, + 0,41,3,114,223,0,0,0,114,26,0,0,0,218,10,114, + 112,97,114,116,105,116,105,111,110,114,66,0,0,0,115,1, + 0,0,0,32,114,7,0,0,0,218,6,112,97,114,101,110, + 116,122,17,77,111,100,117,108,101,83,112,101,99,46,112,97, + 114,101,110,116,133,2,0,0,115,52,0,0,0,128,0,240, + 6,0,12,16,215,11,42,209,11,42,208,11,50,216,19,23, + 151,57,145,57,215,19,39,209,19,39,168,3,211,19,44,168, + 81,209,19,47,208,12,47,224,19,23,151,57,145,57,208,12, + 28,114,22,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,3,0,0,0,243,26,0,0,0, + 151,0,124,0,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,83,0,114,2,0,0,0,41, + 1,114,225,0,0,0,114,66,0,0,0,115,1,0,0,0, + 32,114,7,0,0,0,114,233,0,0,0,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,141,2,0,0,115,14,0,0,0,128,0,224, + 15,19,215,15,33,209,15,33,208,8,33,114,22,0,0,0, + 99,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,3,0,0,0,243,36,0,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,124,1,171,1,0,0,0,0,0,0, + 124,0,95,1,0,0,0,0,0,0,0,0,121,0,114,2, + 0,0,0,41,2,218,4,98,111,111,108,114,225,0,0,0, + 41,2,114,44,0,0,0,218,5,118,97,108,117,101,115,2, + 0,0,0,32,32,114,7,0,0,0,114,233,0,0,0,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,145,2,0,0,115,14,0,0, + 0,128,0,228,29,33,160,37,155,91,136,4,213,8,26,114, + 22,0,0,0,41,12,114,11,0,0,0,114,10,0,0,0, + 114,3,0,0,0,114,12,0,0,0,114,47,0,0,0,114, + 132,0,0,0,114,237,0,0,0,218,8,112,114,111,112,101, + 114,116,121,114,232,0,0,0,218,6,115,101,116,116,101,114, + 114,246,0,0,0,114,233,0,0,0,114,31,0,0,0,114, + 22,0,0,0,114,7,0,0,0,114,217,0,0,0,114,217, + 0,0,0,50,2,0,0,115,143,0,0,0,132,0,241,2, + 34,5,8,240,72,1,0,48,52,192,36,216,28,32,244,3, + 11,5,28,242,26,6,5,63,242,16,10,5,34,240,24,0, + 6,14,241,2,6,5,28,243,3,0,6,14,240,2,6,5, + 28,240,16,0,6,12,135,93,129,93,241,2,1,5,30,243, + 3,0,6,19,240,2,1,5,30,240,6,0,6,14,241,2, + 5,5,29,243,3,0,6,14,240,2,5,5,29,240,14,0, + 6,14,241,2,1,5,34,243,3,0,6,14,240,2,1,5, + 34,240,6,0,6,18,215,5,24,209,5,24,241,2,1,5, + 41,243,3,0,6,25,241,2,1,5,41,114,22,0,0,0, + 114,217,0,0,0,169,2,114,218,0,0,0,114,220,0,0, + 0,99,2,0,0,0,0,0,0,0,2,0,0,0,6,0, + 0,0,3,0,0,0,243,52,1,0,0,151,0,124,2,128, + 13,116,1,0,0,0,0,0,0,0,0,124,1,100,2,100, + 1,171,3,0,0,0,0,0,0,125,2,124,2,115,69,116, + 3,0,0,0,0,0,0,0,0,124,1,100,3,171,2,0, + 0,0,0,0,0,114,57,116,4,0,0,0,0,0,0,0, + 0,128,6,116,6,0,0,0,0,0,0,0,0,130,1,116, + 4,0,0,0,0,0,0,0,0,106,8,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,125,4,124, + 3,128,10,2,0,124,4,124,0,124,1,172,4,171,2,0, + 0,0,0,0,0,83,0,124,3,114,2,103,0,110,1,100, + 1,125,5,2,0,124,4,124,0,124,1,124,5,172,5,171, + 3,0,0,0,0,0,0,83,0,124,3,128,33,116,3,0, + 0,0,0,0,0,0,0,124,1,100,6,171,2,0,0,0, + 0,0,0,114,19,9,0,124,1,106,11,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,3,110,2,100,7,125,3,116, + 15,0,0,0,0,0,0,0,0,124,0,124,1,124,2,124, + 3,172,8,171,4,0,0,0,0,0,0,83,0,35,0,116, + 12,0,0,0,0,0,0,0,0,36,0,114,5,1,0,100, + 1,125,3,89,0,140,28,119,0,120,3,89,0,119,1,41, + 9,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,78,218,7,95,79,82,73,71, + 73,78,218,12,103,101,116,95,102,105,108,101,110,97,109,101, + 41,1,114,213,0,0,0,41,2,114,213,0,0,0,114,223, + 0,0,0,114,220,0,0,0,70,114,253,0,0,0,41,8, + 114,15,0,0,0,114,13,0,0,0,114,239,0,0,0,114, + 240,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,178,0,0,0,114,217,0,0,0,41,6,114,26, + 0,0,0,114,213,0,0,0,114,218,0,0,0,114,220,0, + 0,0,114,1,1,0,0,218,6,115,101,97,114,99,104,115, + 6,0,0,0,32,32,32,32,32,32,114,7,0,0,0,114, + 194,0,0,0,114,194,0,0,0,150,2,0,0,115,192,0, + 0,0,128,0,224,7,13,128,126,220,17,24,152,22,160,25, + 168,68,211,17,49,136,6,225,11,17,148,103,152,102,160,110, + 212,22,53,220,11,30,208,11,38,220,18,37,208,12,37,220, + 34,53,215,34,77,209,34,77,208,8,31,224,11,21,208,11, + 29,217,19,42,168,52,184,6,212,19,63,208,12,63,217,23, + 33,145,18,160,116,136,6,217,15,38,160,116,176,70,216,66, + 72,244,3,1,16,74,1,240,0,1,9,74,1,240,6,0, + 8,18,208,7,25,220,11,18,144,54,152,60,212,11,40,240, + 2,3,13,34,216,29,35,215,29,46,209,29,46,168,116,211, + 29,52,145,10,240,10,0,26,31,136,74,228,11,21,144,100, + 152,70,168,54,184,106,212,11,73,208,4,73,248,244,13,0, + 20,31,242,0,1,13,34,216,29,33,146,10,240,3,1,13, + 34,250,115,18,0,0,0,193,38,17,66,9,0,194,9,11, + 66,23,3,194,22,1,66,23,3,99,3,0,0,0,0,0, + 0,0,0,0,0,0,5,0,0,0,3,0,0,0,243,226, + 1,0,0,151,0,9,0,124,0,106,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,125,3,124, + 3,129,2,124,3,83,0,124,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,125,4,124, + 1,128,13,9,0,124,0,106,6,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,125,1,9,0,124, + 0,106,8,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,125,5,124,2,128,21,124,1,129,13,116, + 11,0,0,0,0,0,0,0,0,124,1,100,1,100,0,171, + 3,0,0,0,0,0,0,125,2,124,2,115,4,124,5,129, + 2,124,5,125,2,9,0,124,0,106,12,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,125,6,9, + 0,116,15,0,0,0,0,0,0,0,0,124,0,106,16,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,1,0,0,0,0,0,0,125,7,116,19,0,0,0, + 0,0,0,0,0,124,4,124,1,124,2,172,2,171,3,0, + 0,0,0,0,0,125,3,124,5,128,2,100,3,110,4,124, + 2,124,5,107,40,0,0,124,3,95,10,0,0,0,0,0, + 0,0,0,124,6,124,3,95,11,0,0,0,0,0,0,0, + 0,124,7,124,3,95,12,0,0,0,0,0,0,0,0,124, + 3,83,0,35,0,116,2,0,0,0,0,0,0,0,0,36, + 0,114,3,1,0,89,0,140,153,119,0,120,3,89,0,119, + 1,35,0,116,2,0,0,0,0,0,0,0,0,36,0,114, + 3,1,0,89,0,140,141,119,0,120,3,89,0,119,1,35, + 0,116,2,0,0,0,0,0,0,0,0,36,0,114,5,1, + 0,100,0,125,5,89,0,140,145,119,0,120,3,89,0,119, + 1,35,0,116,2,0,0,0,0,0,0,0,0,36,0,114, + 5,1,0,100,0,125,6,89,0,140,126,119,0,120,3,89, + 0,119,1,35,0,116,2,0,0,0,0,0,0,0,0,36, + 0,114,5,1,0,100,0,125,7,89,0,140,121,119,0,120, + 3,89,0,119,1,41,4,78,114,255,0,0,0,169,1,114, + 218,0,0,0,70,41,13,114,204,0,0,0,114,4,0,0, + 0,114,11,0,0,0,114,203,0,0,0,114,212,0,0,0, + 114,15,0,0,0,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,225,0,0,0,114,232,0,0,0, + 114,223,0,0,0,41,8,114,200,0,0,0,114,213,0,0, + 0,114,218,0,0,0,114,199,0,0,0,114,26,0,0,0, + 218,8,108,111,99,97,116,105,111,110,114,232,0,0,0,114, + 223,0,0,0,115,8,0,0,0,32,32,32,32,32,32,32, + 32,114,7,0,0,0,218,17,95,115,112,101,99,95,102,114, + 111,109,95,109,111,100,117,108,101,114,9,1,0,0,179,2, + 0,0,115,53,1,0,0,128,0,240,4,6,5,24,216,15, + 21,143,127,137,127,136,4,240,8,0,12,16,208,11,27,216, + 19,23,136,75,224,11,17,143,63,137,63,128,68,216,7,13, + 128,126,240,2,4,9,17,216,21,27,215,21,38,209,21,38, + 136,70,240,8,3,5,24,216,19,25,151,63,145,63,136,8, + 240,6,0,8,14,128,126,216,11,17,208,11,29,220,21,28, + 152,86,160,89,176,4,211,21,53,136,70,217,15,21,152,40, + 208,26,46,216,21,29,136,70,240,2,3,5,22,216,17,23, + 215,17,34,209,17,34,136,6,240,6,3,5,42,220,37,41, + 168,38,175,47,169,47,211,37,58,208,8,34,244,8,0,12, + 22,144,100,152,70,168,54,212,11,50,128,68,216,34,42,208, + 34,50,153,21,184,22,192,56,209,57,75,128,68,212,4,22, + 216,18,24,128,68,132,75,216,38,64,128,68,212,4,35,216, + 11,15,128,75,248,244,71,1,0,12,26,242,0,1,5,13, + 217,8,12,240,3,1,5,13,251,244,20,0,16,30,242,0, + 2,9,17,225,12,16,240,5,2,9,17,251,244,10,0,12, + 26,242,0,1,5,24,216,19,23,138,8,240,3,1,5,24, + 251,244,18,0,12,26,242,0,1,5,22,216,17,21,138,6, + 240,3,1,5,22,251,244,8,0,12,26,242,0,1,5,42, + 216,37,41,210,8,34,240,3,1,5,42,250,115,87,0,0, + 0,130,12,66,32,0,161,12,66,47,0,174,12,66,62,0, + 193,18,12,67,15,0,193,31,21,67,32,0,194,32,9,66, + 44,3,194,43,1,66,44,3,194,47,9,66,59,3,194,58, + 1,66,59,3,194,62,11,67,12,3,195,11,1,67,12,3, + 195,15,11,67,29,3,195,28,1,67,29,3,195,32,11,67, + 46,3,195,45,1,67,46,3,70,169,1,218,8,111,118,101, + 114,114,105,100,101,99,2,0,0,0,0,0,0,0,1,0, + 0,0,5,0,0,0,3,0,0,0,243,124,3,0,0,151, + 0,124,2,115,13,116,1,0,0,0,0,0,0,0,0,124, + 1,100,1,100,0,171,3,0,0,0,0,0,0,128,18,9, + 0,124,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,95,2,0,0,0,0,0, + 0,0,0,124,2,115,13,116,1,0,0,0,0,0,0,0, + 0,124,1,100,2,100,0,171,3,0,0,0,0,0,0,128, + 110,124,0,106,8,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,125,3,124,3,128,88,124,0,106, + 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,129,76,116,12,0,0,0,0,0,0,0,0,128, + 6,116,14,0,0,0,0,0,0,0,0,130,1,116,12,0, + 0,0,0,0,0,0,0,106,16,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,125,4,124,4,106, + 19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,4,171,1,0,0,0,0,0,0,125,3,124, + 0,106,10,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,3,95,10,0,0,0,0,0,0,0, + 0,124,3,124,0,95,4,0,0,0,0,0,0,0,0,100, + 0,124,1,95,11,0,0,0,0,0,0,0,0,9,0,124, + 3,124,1,95,12,0,0,0,0,0,0,0,0,124,2,115, + 13,116,1,0,0,0,0,0,0,0,0,124,1,100,3,100, + 0,171,3,0,0,0,0,0,0,128,18,9,0,124,0,106, + 26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,95,14,0,0,0,0,0,0,0,0,9, + 0,124,0,124,1,95,15,0,0,0,0,0,0,0,0,124, + 2,115,13,116,1,0,0,0,0,0,0,0,0,124,1,100, + 4,100,0,171,3,0,0,0,0,0,0,128,30,124,0,106, + 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,129,18,9,0,124,0,106,10,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,95, + 16,0,0,0,0,0,0,0,0,124,0,106,34,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114, + 80,124,2,115,13,116,1,0,0,0,0,0,0,0,0,124, + 1,100,5,100,0,171,3,0,0,0,0,0,0,128,18,9, + 0,124,0,106,36,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,95,11,0,0,0,0,0, + 0,0,0,124,2,115,13,116,1,0,0,0,0,0,0,0, + 0,124,1,100,6,100,0,171,3,0,0,0,0,0,0,128, + 32,124,0,106,38,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,129,20,9,0,124,0,106,38,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,1,95,20,0,0,0,0,0,0,0,0,124,1,83, + 0,124,1,83,0,35,0,116,6,0,0,0,0,0,0,0, + 0,36,0,114,4,1,0,89,0,144,1,140,61,119,0,120, + 3,89,0,119,1,35,0,116,6,0,0,0,0,0,0,0, + 0,36,0,114,3,1,0,89,0,140,207,119,0,120,3,89, + 0,119,1,35,0,116,6,0,0,0,0,0,0,0,0,36, + 0,114,3,1,0,89,0,140,189,119,0,120,3,89,0,119, + 1,35,0,116,6,0,0,0,0,0,0,0,0,36,0,114, + 3,1,0,89,0,140,196,119,0,120,3,89,0,119,1,35, + 0,116,6,0,0,0,0,0,0,0,0,36,0,114,3,1, + 0,89,0,140,166,119,0,120,3,89,0,119,1,35,0,116, + 6,0,0,0,0,0,0,0,0,36,0,114,3,1,0,89, + 0,140,136,119,0,120,3,89,0,119,1,35,0,116,6,0, + 0,0,0,0,0,0,0,36,0,114,4,1,0,89,0,124, + 1,83,0,119,0,120,3,89,0,119,1,41,7,78,114,11, + 0,0,0,114,203,0,0,0,218,11,95,95,112,97,99,107, + 97,103,101,95,95,114,7,1,0,0,114,212,0,0,0,114, + 5,1,0,0,41,21,114,15,0,0,0,114,26,0,0,0, + 114,11,0,0,0,114,4,0,0,0,114,213,0,0,0,114, + 223,0,0,0,114,239,0,0,0,114,240,0,0,0,218,15, + 78,97,109,101,115,112,97,99,101,76,111,97,100,101,114,114, + 41,0,0,0,218,5,95,112,97,116,104,114,212,0,0,0, + 114,203,0,0,0,114,246,0,0,0,114,13,1,0,0,114, + 204,0,0,0,114,7,1,0,0,114,233,0,0,0,114,218, + 0,0,0,114,232,0,0,0,114,5,1,0,0,41,5,114, + 199,0,0,0,114,200,0,0,0,114,11,1,0,0,114,213, + 0,0,0,114,14,1,0,0,115,5,0,0,0,32,32,32, + 32,32,114,7,0,0,0,218,18,95,105,110,105,116,95,109, + 111,100,117,108,101,95,97,116,116,114,115,114,16,1,0,0, + 221,2,0,0,115,245,1,0,0,128,0,241,8,0,9,17, + 148,71,152,70,160,74,176,4,211,20,53,208,20,61,240,2, + 3,9,17,216,30,34,159,105,153,105,136,70,140,79,241,8, + 0,8,16,148,55,152,54,160,60,176,20,211,19,54,208,19, + 62,216,17,21,151,27,145,27,136,6,216,11,17,136,62,224, + 15,19,215,15,46,209,15,46,208,15,58,220,19,38,208,19, + 46,220,26,45,208,20,45,220,34,53,215,34,69,209,34,69, + 144,15,224,25,40,215,25,48,209,25,48,176,31,211,25,65, + 144,6,216,31,35,215,31,62,209,31,62,144,6,148,12,216, + 30,36,144,4,148,11,240,22,0,35,39,144,6,148,15,240, + 2,3,9,17,216,32,38,136,70,212,12,29,241,8,0,8, + 16,148,55,152,54,160,61,176,36,211,19,55,208,19,63,240, + 2,3,9,17,216,33,37,167,27,161,27,136,70,212,12,30, + 240,8,3,5,13,216,26,30,136,6,140,15,241,8,0,8, + 16,148,55,152,54,160,58,168,116,211,19,52,208,19,60,216, + 11,15,215,11,42,209,11,42,208,11,54,240,4,3,13,21, + 216,34,38,215,34,65,209,34,65,144,6,148,15,240,8,0, + 8,12,215,7,24,210,7,24,217,11,19,148,119,152,118,160, + 122,176,52,211,23,56,208,23,64,240,2,3,13,21,216,34, + 38,167,43,161,43,144,6,148,15,241,8,0,12,20,148,119, + 152,118,160,124,176,84,211,23,58,208,23,66,216,15,19,143, + 123,137,123,208,15,38,240,2,3,17,25,216,40,44,175,11, + 169,11,144,70,212,20,37,240,6,0,12,18,128,77,136,54, + 128,77,248,244,127,1,0,16,30,242,0,1,9,17,218,12, + 16,240,3,1,9,17,251,244,56,0,16,30,242,0,1,9, + 17,217,12,16,240,3,1,9,17,251,244,12,0,16,30,242, + 0,1,9,17,217,12,16,240,3,1,9,17,251,244,10,0, + 12,26,242,0,1,5,13,217,8,12,240,3,1,5,13,251, + 244,16,0,20,34,242,0,1,13,21,217,16,20,240,3,1, + 13,21,251,244,14,0,20,34,242,0,1,13,21,217,16,20, + 240,3,1,13,21,251,244,14,0,24,38,242,0,1,17,25, + 216,20,24,216,11,17,128,77,240,5,1,17,25,250,115,125, + 0,0,0,145,17,69,19,0,194,24,7,69,35,0,194,47, + 17,69,50,0,195,1,7,70,1,0,195,36,17,70,16,0, + 196,17,17,70,31,0,196,62,17,70,46,0,197,19,9,69, + 32,3,197,31,1,69,32,3,197,35,9,69,47,3,197,46, + 1,69,47,3,197,50,9,69,62,3,197,61,1,69,62,3, + 198,1,9,70,13,3,198,12,1,70,13,3,198,16,9,70, + 28,3,198,27,1,70,28,3,198,31,9,70,43,3,198,42, + 1,70,43,3,198,46,9,70,59,3,198,58,1,70,59,3, + 99,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,246,0,0,0,151,0,100,1,125,1, + 116,1,0,0,0,0,0,0,0,0,124,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,2,171,2,0,0,0,0,0,0,114,28,124,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,5,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 125,1,110,33,116,1,0,0,0,0,0,0,0,0,124,0, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,3,171,2,0,0,0,0,0,0,114,11, + 116,7,0,0,0,0,0,0,0,0,100,4,171,1,0,0, + 0,0,0,0,130,1,124,1,128,21,116,9,0,0,0,0, + 0,0,0,0,124,0,106,10,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,125,1,116,13,0,0,0,0,0,0,0,0,124,0, + 124,1,171,2,0,0,0,0,0,0,1,0,124,1,83,0, + 41,5,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,66,108,111, + 97,100,101,114,115,32,116,104,97,116,32,100,101,102,105,110, + 101,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, + 41,7,114,13,0,0,0,114,213,0,0,0,114,18,1,0, + 0,114,178,0,0,0,114,27,0,0,0,114,26,0,0,0, + 114,16,1,0,0,169,2,114,199,0,0,0,114,200,0,0, + 0,115,2,0,0,0,32,32,114,7,0,0,0,218,16,109, + 111,100,117,108,101,95,102,114,111,109,95,115,112,101,99,114, + 21,1,0,0,38,3,0,0,115,111,0,0,0,128,0,240, + 6,0,14,18,128,70,220,7,14,136,116,143,123,137,123,152, + 79,212,7,44,240,6,0,18,22,151,27,145,27,215,17,42, + 209,17,42,168,52,211,17,48,137,6,220,9,16,144,20,151, + 27,145,27,152,109,212,9,44,220,14,25,240,0,1,27,61, + 243,0,1,15,62,240,0,1,9,62,224,7,13,128,126,220, + 17,28,152,84,159,89,153,89,211,17,39,136,6,220,4,22, + 144,116,152,86,212,4,36,216,11,17,128,77,114,22,0,0, + 0,99,1,0,0,0,0,0,0,0,0,0,0,0,6,0, + 0,0,3,0,0,0,243,120,1,0,0,151,0,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,128,2,100,1,110,11,124,0,106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125, + 1,124,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,128,89,124,0,106,4,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125, + 2,124,2,128,6,100,2,124,1,155,2,100,3,157,3,83, + 0,116,6,0,0,0,0,0,0,0,0,129,54,116,9,0, + 0,0,0,0,0,0,0,124,2,116,6,0,0,0,0,0, + 0,0,0,106,10,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,114, + 28,100,2,124,1,155,2,100,4,116,13,0,0,0,0,0, + 0,0,0,124,2,106,14,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,1,0,0,0,0,0, + 0,155,0,100,3,157,5,83,0,100,2,124,1,155,2,100, + 5,124,2,155,2,100,6,157,5,83,0,124,0,106,16,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,114,19,100,2,124,1,155,2,100,7,124,0,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,155,2,100,3,157,5,83,0,100,2,124,0,106,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,155,2,100,5,124,0,106,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,155,0,100,6,157, + 5,83,0,41,8,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,114,205,0, + 0,0,114,206,0,0,0,114,208,0,0,0,122,18,32,40, + 110,97,109,101,115,112,97,99,101,41,32,102,114,111,109,32, + 114,209,0,0,0,114,210,0,0,0,114,207,0,0,0,41, + 9,114,26,0,0,0,114,218,0,0,0,114,213,0,0,0, + 114,239,0,0,0,218,10,105,115,105,110,115,116,97,110,99, + 101,114,14,1,0,0,114,6,1,0,0,114,15,1,0,0, + 114,233,0,0,0,41,3,114,199,0,0,0,114,26,0,0, + 0,114,213,0,0,0,115,3,0,0,0,32,32,32,114,7, + 0,0,0,114,211,0,0,0,114,211,0,0,0,55,3,0, + 0,115,200,0,0,0,128,0,224,18,22,151,41,145,41,208, + 18,35,137,51,168,20,175,25,169,25,128,68,216,7,11,135, + 123,129,123,208,7,26,216,17,21,151,27,145,27,136,6,216, + 11,17,136,62,216,21,29,152,100,152,88,160,81,208,19,39, + 208,12,39,228,12,31,208,12,43,220,16,26,152,54,212,35, + 54,215,35,70,209,35,70,212,16,71,224,21,29,152,100,152, + 88,208,37,55,188,4,184,86,191,92,185,92,211,56,74,208, + 55,75,200,49,208,19,77,208,12,77,224,21,29,152,100,152, + 88,160,82,168,6,160,122,176,18,208,19,52,208,12,52,224, + 11,15,215,11,28,210,11,28,216,21,29,152,100,152,88,160, + 86,168,68,175,75,169,75,168,63,184,33,208,19,60,208,12, + 60,224,21,29,152,100,159,105,153,105,152,93,168,34,168,84, + 175,91,169,91,168,77,184,18,208,19,60,208,12,60,114,22, + 0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,0, + 6,0,0,0,3,0,0,0,243,132,3,0,0,151,0,124, + 0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,125,2,116,3,0,0,0,0,0,0,0, + 0,124,2,171,1,0,0,0,0,0,0,53,0,1,0,116, + 4,0,0,0,0,0,0,0,0,106,6,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,106,9,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,2,171,1,0,0,0,0,0,0,124,1,117,1,114, + 19,100,1,124,2,155,2,100,2,157,3,125,3,116,11,0, + 0,0,0,0,0,0,0,124,3,124,2,172,3,171,2,0, + 0,0,0,0,0,130,1,9,0,124,0,106,12,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128, + 50,124,0,106,14,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,128,23,116,11,0,0,0,0,0, + 0,0,0,100,5,124,0,106,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,172,3,171,2,0, + 0,0,0,0,0,130,1,116,17,0,0,0,0,0,0,0, + 0,124,0,124,1,100,6,172,7,171,3,0,0,0,0,0, + 0,1,0,110,141,116,17,0,0,0,0,0,0,0,0,124, + 0,124,1,100,6,172,7,171,3,0,0,0,0,0,0,1, + 0,116,19,0,0,0,0,0,0,0,0,124,0,106,12,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,8,171,2,0,0,0,0,0,0,115,78,116,21,0, + 0,0,0,0,0,0,0,124,0,106,12,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,1,0, + 0,0,0,0,0,155,0,100,9,157,2,125,3,116,22,0, + 0,0,0,0,0,0,0,106,25,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,3,116,26,0, + 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,1, + 0,124,0,106,12,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,29,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,2,171,1,0, + 0,0,0,0,0,1,0,110,27,124,0,106,12,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,171,1,0,0,0,0,0,0,1,0,116, + 4,0,0,0,0,0,0,0,0,106,6,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,106,33,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,106,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,1,0,0,0,0,0,0,125, + 1,124,1,116,4,0,0,0,0,0,0,0,0,106,6,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,106,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,60,0,0,0,9,0,100,4,100, + 4,100,4,171,2,0,0,0,0,0,0,1,0,124,1,83, + 0,35,0,116,4,0,0,0,0,0,0,0,0,106,6,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,106,33,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,0,106,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,171,1,0,0,0, + 0,0,0,125,1,124,1,116,4,0,0,0,0,0,0,0, + 0,106,6,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,0,106,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,60,0,0,0,119, + 0,120,3,89,0,119,1,35,0,49,0,115,1,119,2,1, + 0,89,0,1,0,1,0,124,1,83,0,120,3,89,0,119, + 1,41,10,122,70,69,120,101,99,117,116,101,32,116,104,101, + 32,115,112,101,99,39,115,32,115,112,101,99,105,102,105,101, + 100,32,109,111,100,117,108,101,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,7,109,111,100, + 117,108,101,32,122,19,32,110,111,116,32,105,110,32,115,121, + 115,46,109,111,100,117,108,101,115,114,25,0,0,0,78,250, + 14,109,105,115,115,105,110,103,32,108,111,97,100,101,114,84, + 114,10,1,0,0,114,19,1,0,0,250,55,46,101,120,101, + 99,95,109,111,100,117,108,101,40,41,32,110,111,116,32,102, + 111,117,110,100,59,32,102,97,108,108,105,110,103,32,98,97, + 99,107,32,116,111,32,108,111,97,100,95,109,111,100,117,108, + 101,40,41,41,17,114,26,0,0,0,114,142,0,0,0,114, + 24,0,0,0,114,195,0,0,0,114,76,0,0,0,114,178, + 0,0,0,114,213,0,0,0,114,223,0,0,0,114,16,1, + 0,0,114,13,0,0,0,114,8,0,0,0,114,191,0,0, + 0,114,192,0,0,0,218,13,73,109,112,111,114,116,87,97, + 114,110,105,110,103,218,11,108,111,97,100,95,109,111,100,117, + 108,101,114,19,1,0,0,114,68,0,0,0,41,4,114,199, + 0,0,0,114,200,0,0,0,114,26,0,0,0,114,198,0, + 0,0,115,4,0,0,0,32,32,32,32,114,7,0,0,0, + 114,196,0,0,0,114,196,0,0,0,77,3,0,0,115,88, + 1,0,0,128,0,224,11,15,143,57,137,57,128,68,220,9, + 27,152,68,211,9,33,241,0,23,5,44,220,11,14,143,59, + 137,59,143,63,137,63,152,52,211,11,32,168,6,209,11,46, + 216,20,27,152,68,152,56,208,35,54,208,18,55,136,67,220, + 18,29,152,99,168,4,212,18,45,208,12,45,240,2,19,9, + 44,216,15,19,143,123,137,123,208,15,34,216,19,23,215,19, + 50,209,19,50,208,19,58,220,26,37,208,38,54,184,84,191, + 89,185,89,212,26,71,208,20,71,228,16,34,160,52,168,22, + 184,36,214,16,63,228,16,34,160,52,168,22,184,36,213,16, + 63,220,23,30,152,116,159,123,153,123,168,77,212,23,58,220, + 30,42,168,52,175,59,169,59,211,30,55,208,29,56,240,0, + 1,57,59,240,0,1,28,59,144,67,228,20,29,151,78,145, + 78,160,51,172,13,212,20,54,216,20,24,151,75,145,75,215, + 20,43,209,20,43,168,68,213,20,49,224,20,24,151,75,145, + 75,215,20,43,209,20,43,168,70,212,20,51,244,8,0,22, + 25,151,91,145,91,151,95,145,95,160,84,167,89,161,89,211, + 21,47,136,70,216,37,43,140,67,143,75,137,75,152,4,159, + 9,153,9,210,12,34,247,47,23,5,44,240,48,0,12,18, + 128,77,248,244,5,0,22,25,151,91,145,91,151,95,145,95, + 160,84,167,89,161,89,211,21,47,136,70,216,37,43,140,67, + 143,75,137,75,152,4,159,9,153,9,210,12,34,250,247,47, + 23,5,44,240,48,0,12,18,128,77,250,115,38,0,0,0, + 152,53,70,53,3,193,14,67,11,69,42,2,196,25,65,6, + 70,53,3,197,42,65,8,70,50,5,198,50,3,70,53,3, + 198,53,5,70,63,7,99,1,0,0,0,0,0,0,0,0, + 0,0,0,5,0,0,0,3,0,0,0,243,18,3,0,0, + 151,0,9,0,124,0,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,106,3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, + 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,1,0,116,6, + 0,0,0,0,0,0,0,0,106,8,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,11,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,125,1, + 124,1,116,6,0,0,0,0,0,0,0,0,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,60,0,0,0,116,13,0,0,0,0, + 0,0,0,0,124,1,100,1,100,0,171,3,0,0,0,0, + 0,0,128,18,9,0,124,0,106,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,1,95,7, + 0,0,0,0,0,0,0,0,116,13,0,0,0,0,0,0, + 0,0,124,1,100,2,100,0,171,3,0,0,0,0,0,0, + 128,65,9,0,124,1,106,18,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,95,10,0,0, + 0,0,0,0,0,0,116,23,0,0,0,0,0,0,0,0, + 124,1,100,3,171,2,0,0,0,0,0,0,115,35,124,0, + 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,25,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,4,171,1,0,0,0,0, + 0,0,100,5,25,0,0,0,124,1,95,10,0,0,0,0, + 0,0,0,0,116,13,0,0,0,0,0,0,0,0,124,1, + 100,6,100,0,171,3,0,0,0,0,0,0,128,10,9,0, + 124,0,124,1,95,13,0,0,0,0,0,0,0,0,124,1, + 83,0,124,1,83,0,35,0,1,0,124,0,106,4,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 116,6,0,0,0,0,0,0,0,0,106,8,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,0, + 114,70,116,6,0,0,0,0,0,0,0,0,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,125,1,124,1,116,6,0,0,0,0,0,0,0,0, + 106,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,60,0,0,0,130,0, + 120,3,89,0,119,1,35,0,116,16,0,0,0,0,0,0, + 0,0,36,0,114,3,1,0,89,0,140,218,119,0,120,3, + 89,0,119,1,35,0,116,16,0,0,0,0,0,0,0,0, + 36,0,114,3,1,0,89,0,140,155,119,0,120,3,89,0, + 119,1,35,0,116,16,0,0,0,0,0,0,0,0,36,0, + 114,4,1,0,89,0,124,1,83,0,119,0,120,3,89,0, + 119,1,41,7,78,114,203,0,0,0,114,13,1,0,0,114, + 7,1,0,0,114,244,0,0,0,114,125,0,0,0,114,204, + 0,0,0,41,14,114,213,0,0,0,114,28,1,0,0,114, + 26,0,0,0,114,24,0,0,0,114,195,0,0,0,114,68, + 0,0,0,114,15,0,0,0,114,203,0,0,0,114,4,0, + 0,0,114,11,0,0,0,114,13,1,0,0,114,13,0,0, + 0,114,245,0,0,0,114,204,0,0,0,114,20,1,0,0, + 115,2,0,0,0,32,32,114,7,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,114,30,1,0,0,107,3,0,0, + 115,89,1,0,0,128,0,240,6,6,5,14,216,8,12,143, + 11,137,11,215,8,31,209,8,31,160,4,167,9,161,9,212, + 8,42,244,16,0,14,17,143,91,137,91,143,95,137,95,152, + 84,159,89,153,89,211,13,39,128,70,216,29,35,132,67,135, + 75,129,75,144,4,151,9,145,9,209,4,26,220,7,14,136, + 118,144,124,160,84,211,7,42,208,7,50,240,2,3,9,17, + 216,32,36,167,11,161,11,136,70,212,12,29,244,6,0,8, + 15,136,118,144,125,160,100,211,7,43,208,7,51,240,2,8, + 9,17,240,8,0,34,40,167,31,161,31,136,70,212,12,30, + 220,19,26,152,54,160,58,212,19,46,216,37,41,167,89,161, + 89,215,37,57,209,37,57,184,35,211,37,62,184,113,209,37, + 65,144,6,212,16,34,244,6,0,8,15,136,118,144,122,160, + 52,211,7,40,208,7,48,240,2,3,9,17,216,30,34,136, + 70,140,79,240,6,0,12,18,128,77,136,54,128,77,248,240, + 59,4,5,14,216,11,15,143,57,137,57,156,3,159,11,153, + 11,209,11,35,220,21,24,151,91,145,91,151,95,145,95,160, + 84,167,89,161,89,211,21,47,136,70,216,37,43,140,67,143, + 75,137,75,152,4,159,9,153,9,209,12,34,216,8,13,251, + 244,16,0,16,30,242,0,1,9,17,217,12,16,240,3,1, + 9,17,251,244,20,0,16,30,242,0,1,9,17,217,12,16, + 240,3,1,9,17,251,244,10,0,16,30,242,0,1,9,17, + 216,12,16,216,11,17,128,77,240,5,1,9,17,250,115,67, + 0,0,0,130,37,67,51,0,193,59,17,69,27,0,194,26, + 65,0,69,42,0,195,40,7,69,57,0,195,51,65,37,69, + 24,3,197,27,9,69,39,3,197,38,1,69,39,3,197,42, + 9,69,54,3,197,53,1,69,54,3,197,57,9,70,6,3, + 198,5,1,70,6,3,99,1,0,0,0,0,0,0,0,0, + 0,0,0,5,0,0,0,3,0,0,0,243,16,3,0,0, + 151,0,124,0,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,129,83,116,3,0,0,0,0, + 0,0,0,0,124,0,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,1,171,2,0,0, + 0,0,0,0,115,61,116,5,0,0,0,0,0,0,0,0, + 124,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,155,0, + 100,2,157,2,125,1,116,6,0,0,0,0,0,0,0,0, + 106,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,116,10,0,0,0,0,0,0,0,0, + 171,2,0,0,0,0,0,0,1,0,116,13,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,83,0, + 116,15,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,125,2,100,3,124,0,95,8,0,0,0,0, + 0,0,0,0,9,0,124,2,116,18,0,0,0,0,0,0, + 0,0,106,20,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,0,106,22,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,0, + 9,0,124,0,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,128,35,124,0,106,24,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 128,50,116,27,0,0,0,0,0,0,0,0,100,4,124,0, + 106,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,172,5,171,2,0,0,0,0,0,0,130,1, + 124,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,106,29,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,2,171,1,0,0, + 0,0,0,0,1,0,116,18,0,0,0,0,0,0,0,0, + 106,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,33,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,106,22,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,125,2,124,2,116,18,0,0,0,0, + 0,0,0,0,106,20,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,106,22,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0, + 0,0,116,35,0,0,0,0,0,0,0,0,100,6,124,0, + 106,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,3,0,0,0,0, + 0,0,1,0,100,7,124,0,95,8,0,0,0,0,0,0, + 0,0,124,2,83,0,35,0,1,0,9,0,116,18,0,0, + 0,0,0,0,0,0,106,20,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,106,22,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 61,0,130,0,35,0,116,30,0,0,0,0,0,0,0,0, + 36,0,114,3,1,0,89,0,130,0,119,0,120,3,89,0, + 119,1,120,3,89,0,119,1,35,0,100,7,124,0,95,8, + 0,0,0,0,0,0,0,0,119,0,120,3,89,0,119,1, + 41,8,78,114,19,1,0,0,114,26,1,0,0,84,114,25, + 1,0,0,114,25,0,0,0,122,18,105,109,112,111,114,116, + 32,123,33,114,125,32,35,32,123,33,114,125,70,41,18,114, + 213,0,0,0,114,13,0,0,0,114,8,0,0,0,114,191, + 0,0,0,114,192,0,0,0,114,27,1,0,0,114,30,1, + 0,0,114,21,1,0,0,218,13,95,105,110,105,116,105,97, + 108,105,122,105,110,103,114,24,0,0,0,114,195,0,0,0, + 114,26,0,0,0,114,223,0,0,0,114,178,0,0,0,114, + 19,1,0,0,114,73,0,0,0,114,68,0,0,0,114,173, + 0,0,0,41,3,114,199,0,0,0,114,198,0,0,0,114, + 200,0,0,0,115,3,0,0,0,32,32,32,114,7,0,0, + 0,218,14,95,108,111,97,100,95,117,110,108,111,99,107,101, + 100,114,33,1,0,0,143,3,0,0,115,72,1,0,0,128, + 0,224,7,11,135,123,129,123,208,7,30,228,15,22,144,116, + 151,123,145,123,160,77,212,15,50,220,22,34,160,52,167,59, + 161,59,211,22,47,208,21,48,240,0,1,49,52,240,0,1, + 20,52,136,67,228,12,21,143,78,137,78,152,51,164,13,212, + 12,46,220,19,44,168,84,211,19,50,208,12,50,228,13,29, + 152,100,211,13,35,128,70,240,10,0,26,30,128,68,212,4, + 22,240,2,23,5,35,216,33,39,140,3,143,11,137,11,144, + 68,151,73,145,73,209,8,30,240,2,12,9,18,216,15,19, + 143,123,137,123,208,15,34,216,19,23,215,19,50,209,19,50, + 208,19,58,220,26,37,208,38,54,184,84,191,89,185,89,212, + 26,71,208,20,71,240,6,0,17,21,151,11,145,11,215,16, + 39,209,16,39,168,6,212,16,47,244,22,0,18,21,151,27, + 145,27,151,31,145,31,160,20,167,25,161,25,211,17,43,136, + 6,216,33,39,140,3,143,11,137,11,144,68,151,73,145,73, + 209,8,30,220,8,24,208,25,45,168,116,175,121,169,121,184, + 36,191,43,185,43,212,8,70,224,29,34,136,4,212,8,26, + 224,11,17,128,77,248,240,33,5,9,18,240,2,3,13,21, + 220,20,23,151,75,145,75,160,4,167,9,161,9,208,20,42, + 240,6,0,13,18,248,244,5,0,20,28,242,0,1,13,21, + 216,16,20,216,12,17,240,5,1,13,21,254,240,22,0,30, + 35,136,4,213,8,26,250,115,74,0,0,0,193,51,29,69, + 60,0,194,17,65,10,69,11,0,195,27,65,39,69,60,0, + 197,11,2,69,57,3,197,14,27,69,42,2,197,41,1,69, + 57,3,197,42,9,69,54,5,197,51,2,69,57,3,197,53, + 1,69,54,5,197,54,3,69,57,3,197,57,3,69,60,0, + 197,60,9,70,5,3,99,1,0,0,0,0,0,0,0,0, + 0,0,0,6,0,0,0,3,0,0,0,243,110,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,124,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,53,0,1,0,116,5, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,99,2,100,1,100,1,100,1,171,2,0,0,0,0, + 0,0,1,0,83,0,35,0,49,0,115,1,119,2,1,0, + 89,0,1,0,1,0,121,1,120,3,89,0,119,1,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,3,114,142,0,0,0,114,26,0,0,0,114,33, + 1,0,0,169,1,114,199,0,0,0,115,1,0,0,0,32, + 114,7,0,0,0,114,197,0,0,0,114,197,0,0,0,188, + 3,0,0,115,45,0,0,0,128,0,244,18,0,10,28,152, + 68,159,73,153,73,211,9,38,241,0,1,5,36,220,15,29, + 152,100,211,15,35,247,3,1,5,36,247,0,1,5,36,242, + 0,1,5,36,250,115,8,0,0,0,150,11,43,3,171,5, + 52,7,99,0,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,0,0,0,0,243,164,0,0,0,151,0,101,0, + 90,1,100,0,90,2,100,1,90,3,100,2,90,4,101,5, + 100,10,100,4,132,1,171,0,0,0,0,0,0,0,90,6, + 101,7,100,5,132,0,171,0,0,0,0,0,0,0,90,8, + 101,7,100,6,132,0,171,0,0,0,0,0,0,0,90,9, + 101,5,101,10,100,7,132,0,171,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,90,11,101,5,101,10,100,8, + 132,0,171,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,90,12,101,5,101,10,100,9,132,0,171,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,90,13,2,0, + 101,5,101,14,171,1,0,0,0,0,0,0,90,15,121,3, + 41,11,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,122,8,98,117,105,108,116,45,105,110,78, + 99,4,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,3,0,0,0,243,94,0,0,0,151,0,116,0,0,0, + 0,0,0,0,0,0,106,3,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,114,24,116,5,0,0,0,0,0,0,0,0, + 124,1,124,0,124,0,106,6,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,172,1,171,3,0,0, + 0,0,0,0,83,0,121,0,41,2,78,114,4,1,0,0, + 41,4,114,151,0,0,0,218,10,105,115,95,98,117,105,108, + 116,105,110,114,194,0,0,0,114,255,0,0,0,41,4,218, + 3,99,108,115,114,180,0,0,0,218,4,112,97,116,104,218, + 6,116,97,114,103,101,116,115,4,0,0,0,32,32,32,32, + 114,7,0,0,0,218,9,102,105,110,100,95,115,112,101,99, + 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,214,3,0,0,115, + 36,0,0,0,128,0,228,11,15,143,63,137,63,152,56,212, + 11,36,220,19,35,160,72,168,99,184,35,191,43,185,43,212, + 19,70,208,12,70,224,19,23,114,22,0,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0, + 0,0,243,182,0,0,0,151,0,124,0,106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116, + 2,0,0,0,0,0,0,0,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,118,1,114, + 36,116,7,0,0,0,0,0,0,0,0,124,0,106,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,155,2,100,1,157,2,124,0,106,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,172,2,171, + 2,0,0,0,0,0,0,130,1,116,9,0,0,0,0,0, + 0,0,0,116,10,0,0,0,0,0,0,0,0,106,12,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,171,2,0,0,0,0,0,0,83,0,41,3,122, + 24,67,114,101,97,116,101,32,97,32,98,117,105,108,116,45, + 105,110,32,109,111,100,117,108,101,114,176,0,0,0,114,25, + 0,0,0,41,7,114,26,0,0,0,114,24,0,0,0,114, + 177,0,0,0,114,178,0,0,0,114,161,0,0,0,114,151, + 0,0,0,218,14,99,114,101,97,116,101,95,98,117,105,108, + 116,105,110,114,35,1,0,0,115,1,0,0,0,32,114,7, + 0,0,0,114,18,1,0,0,122,29,66,117,105,108,116,105, + 110,73,109,112,111,114,116,101,114,46,99,114,101,97,116,101, + 95,109,111,100,117,108,101,221,3,0,0,115,75,0,0,0, + 128,0,240,6,0,12,16,143,57,137,57,156,67,215,28,52, + 209,28,52,209,11,52,220,18,29,160,20,167,25,161,25,160, + 13,208,45,70,208,30,71,216,35,39,167,57,161,57,244,3, + 1,19,46,240,0,1,13,46,228,15,40,172,20,215,41,60, + 209,41,60,184,100,211,15,67,208,8,67,114,22,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,56,0,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,116,2,0,0,0,0,0,0,0,0, + 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,171,2,0,0,0,0,0,0,1,0, + 121,1,41,2,122,22,69,120,101,99,32,97,32,98,117,105, + 108,116,45,105,110,32,109,111,100,117,108,101,78,41,3,114, + 161,0,0,0,114,151,0,0,0,218,12,101,120,101,99,95, + 98,117,105,108,116,105,110,41,1,114,200,0,0,0,115,1, + 0,0,0,32,114,7,0,0,0,114,19,1,0,0,122,27, + 66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,46, + 101,120,101,99,95,109,111,100,117,108,101,229,3,0,0,115, + 20,0,0,0,128,0,244,6,0,9,34,164,36,215,34,51, + 209,34,51,176,86,213,8,60,114,22,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0, + 0,0,243,4,0,0,0,151,0,121,1,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,31,0,0,0,169,2, + 114,40,1,0,0,114,180,0,0,0,115,2,0,0,0,32, + 32,114,7,0,0,0,218,8,103,101,116,95,99,111,100,101, + 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,234,3,0,0,243,7, + 0,0,0,128,0,240,8,0,16,20,114,22,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 3,0,0,0,243,4,0,0,0,151,0,121,1,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,31,0,0,0,114, + 49,1,0,0,115,2,0,0,0,32,32,114,7,0,0,0, + 218,10,103,101,116,95,115,111,117,114,99,101,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,240,3,0,0,114,51,1,0, + 0,114,22,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,243,4,0,0,0, + 151,0,121,1,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,31,0, + 0,0,114,49,1,0,0,115,2,0,0,0,32,32,114,7, + 0,0,0,114,220,0,0,0,122,26,66,117,105,108,116,105, + 110,73,109,112,111,114,116,101,114,46,105,115,95,112,97,99, + 107,97,103,101,246,3,0,0,115,7,0,0,0,128,0,240, + 8,0,16,21,114,22,0,0,0,169,2,78,78,41,16,114, + 11,0,0,0,114,10,0,0,0,114,3,0,0,0,114,12, + 0,0,0,114,255,0,0,0,218,11,99,108,97,115,115,109, + 101,116,104,111,100,114,43,1,0,0,114,58,0,0,0,114, + 18,1,0,0,114,19,1,0,0,114,184,0,0,0,114,50, + 1,0,0,114,53,1,0,0,114,220,0,0,0,114,201,0, + 0,0,114,28,1,0,0,114,31,0,0,0,114,22,0,0, + 0,114,7,0,0,0,114,37,1,0,0,114,37,1,0,0, + 203,3,0,0,115,171,0,0,0,132,0,241,4,5,5,8, + 240,14,0,15,25,128,71,224,5,16,242,2,4,5,24,243, + 3,0,6,17,240,2,4,5,24,240,12,0,6,18,241,2, + 5,5,68,1,243,3,0,6,18,240,2,5,5,68,1,240, + 14,0,6,18,241,2,2,5,61,243,3,0,6,18,240,2, + 2,5,61,240,8,0,6,17,216,5,22,241,2,2,5,20, + 243,3,0,6,23,243,3,0,6,17,240,4,2,5,20,240, + 8,0,6,17,216,5,22,241,2,2,5,20,243,3,0,6, + 23,243,3,0,6,17,240,4,2,5,20,240,8,0,6,17, + 216,5,22,241,2,2,5,21,243,3,0,6,23,243,3,0, + 6,17,240,4,2,5,21,241,8,0,19,30,208,30,47,211, + 18,48,129,75,114,22,0,0,0,114,37,1,0,0,99,0, + 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0, + 0,0,0,243,198,0,0,0,151,0,101,0,90,1,100,0, + 90,2,100,1,90,3,100,2,90,4,101,5,100,3,132,0, + 171,0,0,0,0,0,0,0,90,6,101,5,100,13,100,5, + 132,1,171,0,0,0,0,0,0,0,90,7,101,5,100,14, + 100,6,132,1,171,0,0,0,0,0,0,0,90,8,101,9, + 100,7,132,0,171,0,0,0,0,0,0,0,90,10,101,9, + 100,8,132,0,171,0,0,0,0,0,0,0,90,11,101,5, + 100,9,132,0,171,0,0,0,0,0,0,0,90,12,101,5, + 101,13,100,10,132,0,171,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,90,14,101,5,101,13,100,11,132,0, + 171,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0, + 90,15,101,5,101,13,100,12,132,0,171,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,90,16,121,4,41,15, + 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, + 218,6,102,114,111,122,101,110,99,2,0,0,0,0,0,0, + 0,0,0,0,0,5,0,0,0,3,0,0,0,243,18,6, + 0,0,151,0,124,1,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,2,124,2,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,125,3,124,3,144,1,128,88,116,5,0,0,0,0, + 0,0,0,0,124,1,171,1,0,0,0,0,0,0,106,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,1,100,0,171,2,0,0,0,0,0,0,125,4, + 124,4,115,7,74,0,100,2,171,0,0,0,0,0,0,0, + 130,1,116,9,0,0,0,0,0,0,0,0,124,1,100,3, + 171,2,0,0,0,0,0,0,125,5,116,10,0,0,0,0, + 0,0,0,0,106,13,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,1,106,14,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,124,5,107,40,0,0,115,7,74,0, + 124,5,171,0,0,0,0,0,0,0,130,1,124,0,106,17, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,4,124,2,106,18,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,5,171,3,0,0, + 0,0,0,0,92,2,0,0,125,6,125,7,2,0,116,21, + 0,0,0,0,0,0,0,0,116,22,0,0,0,0,0,0, + 0,0,106,24,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,124,6, + 124,4,172,4,171,2,0,0,0,0,0,0,124,2,95,1, + 0,0,0,0,0,0,0,0,124,2,106,26,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,8, + 124,5,114,43,124,8,103,0,107,40,0,0,115,7,74,0, + 124,8,171,0,0,0,0,0,0,0,130,1,124,7,114,38, + 124,2,106,26,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,106,29,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,5,124,7,171,2, + 0,0,0,0,0,0,1,0,110,9,124,8,129,7,74,0, + 124,8,171,0,0,0,0,0,0,0,130,1,116,9,0,0, + 0,0,0,0,0,0,124,1,100,6,171,2,0,0,0,0, + 0,0,114,17,74,0,124,1,106,30,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,130,1,124,6,114,8,9,0,124,6,124,1, + 95,15,0,0,0,0,0,0,0,0,124,5,144,1,114,195, + 124,1,106,34,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,8,107,55,0,0,144,1,114,179, + 124,1,106,34,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,103,0,107,40,0,0,115,17,74,0, + 124,1,106,34,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,130,1, + 124,1,106,34,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,106,37,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,8,171,1,0,0, + 0,0,0,0,1,0,144,1,110,118,124,2,106,26,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 125,8,124,8,100,0,117,1,125,5,116,39,0,0,0,0, + 0,0,0,0,116,5,0,0,0,0,0,0,0,0,124,3, + 171,1,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 100,7,100,8,103,2,107,40,0,0,115,7,74,0,124,3, + 171,0,0,0,0,0,0,0,130,1,124,3,106,40,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 114,109,124,0,106,17,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,3,106,40,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,2, + 106,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,5,171,3,0,0,0,0,0,0,92,2, + 0,0,125,9,125,7,124,3,106,42,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,9,107,40, + 0,0,115,19,74,0,124,3,106,42,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,9,102,2, + 171,0,0,0,0,0,0,0,130,1,124,7,114,15,124,8, + 124,7,103,1,107,40,0,0,115,72,74,0,124,8,124,7, + 102,2,171,0,0,0,0,0,0,0,130,1,124,8,124,5, + 114,2,103,0,110,1,100,0,107,40,0,0,115,54,74,0, + 124,8,171,0,0,0,0,0,0,0,130,1,100,0,125,9, + 124,3,106,42,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,129,17,74,0,124,3,106,42,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,130,1,124,8,124,5,114,2, + 103,0,110,1,100,0,107,40,0,0,115,7,74,0,124,8, + 171,0,0,0,0,0,0,0,130,1,124,9,114,48,116,9, + 0,0,0,0,0,0,0,0,124,1,100,6,171,2,0,0, + 0,0,0,0,115,2,74,0,130,1,124,1,106,30,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,9,107,40,0,0,115,48,74,0,124,1,106,30,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,9,102,2,171,0,0,0,0,0,0,0,130,1,116,9, + 0,0,0,0,0,0,0,0,124,1,100,6,171,2,0,0, + 0,0,0,0,114,17,74,0,124,1,106,30,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,130,1,124,5,114,48,116,9,0,0, + 0,0,0,0,0,0,124,1,100,3,171,2,0,0,0,0, + 0,0,115,2,74,0,130,1,124,1,106,34,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,8, + 107,40,0,0,115,48,74,0,124,1,106,34,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,8, + 102,2,171,0,0,0,0,0,0,0,130,1,116,9,0,0, + 0,0,0,0,0,0,124,1,100,3,171,2,0,0,0,0, + 0,0,114,17,74,0,124,1,106,34,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,130,1,124,2,106,44,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,114,2,74,0, + 130,1,121,0,35,0,116,32,0,0,0,0,0,0,0,0, + 36,0,114,4,1,0,89,0,144,1,140,225,119,0,120,3, + 89,0,119,1,41,9,78,218,12,95,95,111,114,105,103,110, + 97,109,101,95,95,122,39,115,101,101,32,80,121,73,109,112, + 111,114,116,95,73,109,112,111,114,116,70,114,111,122,101,110, + 77,111,100,117,108,101,79,98,106,101,99,116,40,41,114,7, + 1,0,0,169,2,114,214,0,0,0,218,8,111,114,105,103, + 110,97,109,101,114,125,0,0,0,114,212,0,0,0,114,214, + 0,0,0,114,63,1,0,0,41,23,114,204,0,0,0,114, + 219,0,0,0,218,4,118,97,114,115,114,68,0,0,0,114, + 13,0,0,0,114,151,0,0,0,218,17,105,115,95,102,114, + 111,122,101,110,95,112,97,99,107,97,103,101,114,11,0,0, + 0,218,17,95,114,101,115,111,108,118,101,95,102,105,108,101, + 110,97,109,101,114,26,0,0,0,114,5,0,0,0,114,24, + 0,0,0,218,14,105,109,112,108,101,109,101,110,116,97,116, + 105,111,110,114,223,0,0,0,218,6,105,110,115,101,114,116, + 114,212,0,0,0,114,4,0,0,0,114,7,1,0,0,218, + 6,101,120,116,101,110,100,218,6,115,111,114,116,101,100,114, + 63,1,0,0,114,214,0,0,0,114,233,0,0,0,41,10, + 114,40,1,0,0,114,200,0,0,0,114,199,0,0,0,218, + 5,115,116,97,116,101,114,63,1,0,0,218,5,105,115,112, + 107,103,114,214,0,0,0,218,6,112,107,103,100,105,114,114, + 7,1,0,0,114,212,0,0,0,115,10,0,0,0,32,32, + 32,32,32,32,32,32,32,32,114,7,0,0,0,218,14,95, + 102,105,120,95,117,112,95,109,111,100,117,108,101,122,29,70, + 114,111,122,101,110,73,109,112,111,114,116,101,114,46,95,102, + 105,120,95,117,112,95,109,111,100,117,108,101,10,4,0,0, + 115,212,2,0,0,128,0,224,15,21,143,127,137,127,136,4, + 216,16,20,215,16,33,209,16,33,136,5,216,11,16,137,61, + 244,8,0,24,28,152,70,147,124,215,23,39,209,23,39,168, + 14,184,4,211,23,61,136,72,217,19,27,208,12,70,208,29, + 70,212,12,70,220,20,27,152,70,160,74,211,20,47,136,69, + 220,19,23,215,19,41,209,19,41,168,38,175,47,169,47,211, + 19,58,184,101,210,19,67,208,12,74,192,85,212,12,74,216, + 31,34,215,31,52,209,31,52,176,88,184,116,191,121,185,121, + 200,37,211,31,80,209,12,28,136,72,144,102,216,32,56,164, + 4,164,83,215,37,55,209,37,55,211,32,56,216,25,33,216, + 25,33,244,5,3,33,14,136,68,212,12,29,240,8,0,24, + 28,215,23,54,209,23,54,136,72,217,15,20,216,23,31,160, + 50,146,126,208,16,47,160,120,212,16,47,217,19,25,216,20, + 24,215,20,51,209,20,51,215,20,58,209,20,58,184,49,184, + 102,213,20,69,224,23,31,208,23,39,208,16,49,168,24,212, + 16,49,244,6,0,24,31,152,118,160,122,212,23,50,208,12, + 67,176,70,183,79,177,79,212,12,67,217,15,23,240,2,3, + 17,25,216,38,46,144,70,148,79,242,6,0,16,21,216,19, + 25,151,63,145,63,160,104,211,19,46,216,27,33,159,63,153, + 63,168,98,210,27,48,208,20,65,176,38,183,47,177,47,212, + 20,65,216,20,26,151,79,145,79,215,20,42,209,20,42,168, + 56,214,20,52,240,8,0,24,28,215,23,54,209,23,54,136, + 72,216,20,28,160,68,208,20,40,136,69,228,19,25,156,36, + 152,117,155,43,211,19,38,168,58,176,122,208,42,66,210,19, + 66,208,12,73,192,69,212,12,73,216,15,20,143,126,138,126, + 240,6,0,22,25,215,21,42,209,21,42,168,53,175,62,169, + 62,184,52,191,57,185,57,192,101,211,21,76,241,3,1,17, + 19,144,24,152,54,224,23,28,151,126,145,126,168,24,210,23, + 49,208,16,77,176,69,183,78,177,78,192,72,208,51,77,212, + 16,77,217,19,25,216,27,35,168,6,160,120,210,27,47,208, + 20,67,176,40,184,70,208,49,67,212,20,67,224,27,35,169, + 101,169,2,184,20,210,27,62,208,20,72,192,8,212,20,72, + 224,27,31,144,8,216,23,28,151,126,145,126,208,23,45,208, + 16,61,168,117,175,126,169,126,212,16,61,216,23,31,169,37, + 161,66,176,84,210,23,58,208,16,68,184,72,212,16,68,225, + 15,23,220,23,30,152,118,160,122,212,23,50,209,16,50,216, + 23,29,151,127,145,127,168,40,210,23,50,208,16,79,176,86, + 183,95,177,95,192,104,208,52,79,212,16,79,228,27,34,160, + 54,168,58,212,27,54,208,16,71,184,6,191,15,185,15,212, + 16,71,217,15,20,220,23,30,152,118,160,122,212,23,50,209, + 16,50,216,23,29,151,127,145,127,168,40,210,23,50,208,16, + 79,176,86,183,95,177,95,192,104,208,52,79,212,16,79,228, + 27,34,160,54,168,58,212,27,54,208,16,71,184,6,191,15, + 185,15,212,16,71,216,19,23,215,19,36,210,19,36,209,8, + 36,208,19,36,248,244,75,1,0,24,38,242,0,1,17,25, + 218,20,24,240,3,1,17,25,250,115,18,0,0,0,196,29, + 7,75,57,0,203,57,9,76,6,3,204,5,1,76,6,3, + 78,99,4,0,0,0,0,0,0,0,0,0,0,0,5,0, + 0,0,3,0,0,0,243,140,1,0,0,151,0,124,1,114, + 17,116,1,0,0,0,0,0,0,0,0,116,2,0,0,0, + 0,0,0,0,0,100,1,100,0,171,3,0,0,0,0,0, + 0,115,1,121,2,9,0,124,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,125,4,124, + 1,124,2,107,55,0,0,114,32,124,1,106,11,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 6,171,1,0,0,0,0,0,0,114,13,124,1,100,7,100, + 0,26,0,125,1,124,3,115,8,124,1,155,0,100,8,157, + 2,125,1,110,2,100,9,125,3,124,1,106,13,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 10,124,4,171,2,0,0,0,0,0,0,125,5,124,3,114, + 33,116,2,0,0,0,0,0,0,0,0,106,14,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155, + 0,124,4,155,0,124,5,155,0,157,3,125,6,124,6,155, + 0,124,4,155,0,100,11,157,3,125,7,124,7,124,6,102, + 2,83,0,100,0,125,6,116,2,0,0,0,0,0,0,0, + 0,106,14,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,155,0,124,4,155,0,124,5,155,0,100, + 12,157,4,125,7,124,7,124,6,102,2,83,0,35,0,116, + 6,0,0,0,0,0,0,0,0,36,0,114,33,1,0,116, + 2,0,0,0,0,0,0,0,0,106,8,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,3,107, + 40,0,0,114,2,100,4,110,1,100,5,120,1,125,4,124, + 0,95,2,0,0,0,0,0,0,0,0,89,0,140,160,119, + 0,120,3,89,0,119,1,41,13,78,218,11,95,115,116,100, + 108,105,98,95,100,105,114,114,55,1,0,0,218,5,119,105, + 110,51,50,250,1,92,250,1,47,250,1,60,114,138,0,0, + 0,122,9,46,95,95,105,110,105,116,95,95,70,114,244,0, + 0,0,122,11,95,95,105,110,105,116,95,95,46,112,121,122, + 3,46,112,121,41,8,114,15,0,0,0,114,24,0,0,0, + 218,4,95,83,69,80,114,4,0,0,0,218,8,112,108,97, + 116,102,111,114,109,114,168,0,0,0,114,20,0,0,0,114, + 76,1,0,0,41,8,114,40,1,0,0,114,180,0,0,0, + 218,5,97,108,105,97,115,114,72,1,0,0,218,3,115,101, + 112,218,7,114,101,108,102,105,108,101,114,73,1,0,0,114, + 214,0,0,0,115,8,0,0,0,32,32,32,32,32,32,32, + 32,114,7,0,0,0,114,66,1,0,0,122,32,70,114,111, + 122,101,110,73,109,112,111,114,116,101,114,46,95,114,101,115, + 111,108,118,101,95,102,105,108,101,110,97,109,101,79,4,0, + 0,115,249,0,0,0,128,0,225,15,23,156,119,164,115,168, + 77,184,52,212,31,64,216,19,29,240,2,3,9,70,1,216, + 18,21,151,40,145,40,136,67,240,8,0,12,20,144,117,210, + 11,28,216,15,23,215,15,34,209,15,34,160,51,212,15,39, + 216,27,35,160,65,160,66,152,60,144,8,217,23,28,216,34, + 42,160,26,168,57,208,31,53,145,72,224,24,29,144,5,216, + 18,26,215,18,34,209,18,34,160,51,168,3,211,18,44,136, + 7,217,11,16,220,24,27,159,15,153,15,208,23,40,168,19, + 168,5,168,103,168,89,208,21,55,136,70,216,26,32,152,24, + 160,35,160,21,160,107,208,23,50,136,72,240,8,0,16,24, + 152,22,208,15,31,208,8,31,240,5,0,22,26,136,70,220, + 26,29,159,47,153,47,208,25,42,168,51,168,37,176,7,168, + 121,184,3,208,23,60,136,72,216,15,23,152,22,208,15,31, + 208,8,31,248,244,35,0,16,30,242,0,1,9,70,1,220, + 37,40,167,92,161,92,176,87,210,37,60,153,84,192,35,208, + 12,69,136,67,144,35,150,40,240,3,1,9,70,1,250,115, + 17,0,0,0,150,12,66,25,0,194,25,39,67,3,3,195, + 2,1,67,3,3,99,4,0,0,0,0,0,0,0,0,0, + 0,0,6,0,0,0,3,0,0,0,243,50,1,0,0,151, + 0,116,1,0,0,0,0,0,0,0,0,116,2,0,0,0, + 0,0,0,0,0,106,4,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,1,171,2,0,0,0, + 0,0,0,125,4,124,4,128,1,121,0,124,4,92,3,0, + 0,125,5,125,6,125,7,116,7,0,0,0,0,0,0,0, + 0,124,1,124,0,124,0,106,8,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,6,172,1,171, + 4,0,0,0,0,0,0,125,8,124,0,106,11,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 7,124,1,124,6,171,3,0,0,0,0,0,0,92,2,0, + 0,125,9,125,10,2,0,116,13,0,0,0,0,0,0,0, + 0,116,14,0,0,0,0,0,0,0,0,106,16,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 1,0,0,0,0,0,0,124,9,124,7,172,2,171,2,0, + 0,0,0,0,0,124,8,95,9,0,0,0,0,0,0,0, + 0,124,10,114,28,124,8,106,20,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,106,23,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 3,124,10,171,2,0,0,0,0,0,0,1,0,124,8,83, + 0,41,4,78,114,253,0,0,0,114,62,1,0,0,114,125, + 0,0,0,41,12,114,161,0,0,0,114,151,0,0,0,218, + 11,102,105,110,100,95,102,114,111,122,101,110,114,194,0,0, + 0,114,255,0,0,0,114,66,1,0,0,114,5,0,0,0, + 114,24,0,0,0,114,67,1,0,0,114,219,0,0,0,114, + 223,0,0,0,114,68,1,0,0,41,11,114,40,1,0,0, + 114,180,0,0,0,114,41,1,0,0,114,42,1,0,0,218, + 4,105,110,102,111,218,1,95,114,72,1,0,0,114,63,1, + 0,0,114,199,0,0,0,114,214,0,0,0,114,73,1,0, + 0,115,11,0,0,0,32,32,32,32,32,32,32,32,32,32, + 32,114,7,0,0,0,114,43,1,0,0,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,104,4,0,0,115,157,0,0,0,128,0, + 228,15,40,172,20,215,41,57,209,41,57,184,56,211,15,68, + 136,4,216,11,15,136,60,216,19,23,240,26,0,30,34,209, + 8,26,136,1,136,53,144,40,220,15,31,160,8,168,35,216, + 39,42,167,123,161,123,216,43,48,244,5,2,16,50,136,4, + 240,6,0,28,31,215,27,48,209,27,48,176,24,184,56,192, + 85,211,27,75,209,8,24,136,8,144,38,216,28,52,156,68, + 164,19,215,33,51,209,33,51,211,28,52,216,21,29,216,21, + 29,244,5,3,29,10,136,4,212,8,25,241,8,0,12,18, + 216,12,16,215,12,43,209,12,43,215,12,50,209,12,50,176, + 49,176,102,212,12,61,216,15,19,136,11,114,22,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,144,0,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,124,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,125,1,9,0,124,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,125,2,124,2,114,7,124,2,124,1,95,4,0,0, + 0,0,0,0,0,0,124,1,83,0,35,0,116,10,0,0, + 0,0,0,0,0,0,36,0,114,4,1,0,89,0,124,1, + 83,0,119,0,120,3,89,0,119,1,41,1,122,22,83,101, + 116,32,95,95,102,105,108,101,95,95,44,32,105,102,32,97, + 98,108,101,46,41,6,114,27,0,0,0,114,26,0,0,0, + 114,219,0,0,0,114,214,0,0,0,114,212,0,0,0,114, + 4,0,0,0,41,3,114,199,0,0,0,114,200,0,0,0, + 114,214,0,0,0,115,3,0,0,0,32,32,32,114,7,0, + 0,0,114,18,1,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,134,4,0,0,115,84,0,0,0,128,0, + 244,6,0,18,29,152,84,159,89,153,89,211,17,39,136,6, + 240,2,6,9,43,216,23,27,215,23,40,209,23,40,215,23, + 49,209,23,49,136,72,241,8,0,16,24,216,34,42,144,6, + 148,15,216,15,21,136,13,248,244,11,0,16,30,242,0,1, + 9,17,216,12,16,240,8,0,16,22,136,13,240,11,1,9, + 17,250,115,15,0,0,0,151,22,56,0,184,9,65,5,3, + 193,4,1,65,5,3,99,1,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,3,0,0,0,243,148,0,0,0, + 151,0,124,0,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,125,1,124,1,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 125,2,116,5,0,0,0,0,0,0,0,0,116,6,0,0, + 0,0,0,0,0,0,106,8,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,2,171,2,0,0, + 0,0,0,0,125,3,116,11,0,0,0,0,0,0,0,0, + 124,3,124,0,106,12,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,2,0,0,0,0,0,0, + 1,0,121,0,114,2,0,0,0,41,7,114,204,0,0,0, + 114,26,0,0,0,114,161,0,0,0,114,151,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,16,0,0,0,41,4,114, + 200,0,0,0,114,199,0,0,0,114,26,0,0,0,218,4, + 99,111,100,101,115,4,0,0,0,32,32,32,32,114,7,0, + 0,0,114,19,1,0,0,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,147,4,0,0,115,52,0,0,0,128,0,224,15, + 21,143,127,137,127,136,4,216,15,19,143,121,137,121,136,4, + 220,15,40,172,20,215,41,63,209,41,63,192,20,211,15,70, + 136,4,220,8,12,136,84,144,54,151,63,145,63,213,8,35, + 114,22,0,0,0,99,2,0,0,0,0,0,0,0,0,0, + 0,0,4,0,0,0,3,0,0,0,243,212,0,0,0,151, + 0,116,1,0,0,0,0,0,0,0,0,124,0,124,1,171, + 2,0,0,0,0,0,0,125,2,116,2,0,0,0,0,0, + 0,0,0,106,5,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,125,3,124,3,128,2,74,0,130,1,124,3,92,3,0, + 0,125,4,125,5,125,6,124,6,124,2,95,3,0,0,0, + 0,0,0,0,0,116,9,0,0,0,0,0,0,0,0,124, + 2,171,1,0,0,0,0,0,0,106,11,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,2,100, + 1,171,2,0,0,0,0,0,0,1,0,124,5,114,7,103, + 0,124,2,95,6,0,0,0,0,0,0,0,0,124,0,106, + 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,2,171,1,0,0,0,0,0,0,1,0,124, + 2,83,0,41,3,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,78,114,212,0,0,0,41,8,114,201, + 0,0,0,114,151,0,0,0,114,87,1,0,0,114,61,1, + 0,0,114,64,1,0,0,114,68,0,0,0,114,7,1,0, + 0,114,74,1,0,0,41,7,114,40,1,0,0,114,180,0, + 0,0,114,200,0,0,0,114,88,1,0,0,114,89,1,0, + 0,114,72,1,0,0,114,63,1,0,0,115,7,0,0,0, + 32,32,32,32,32,32,32,114,7,0,0,0,114,28,1,0, + 0,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,154,4,0, + 0,115,110,0,0,0,128,0,244,16,0,18,35,160,51,168, + 8,211,17,49,136,6,220,15,19,215,15,31,209,15,31,160, + 8,211,15,41,136,4,216,15,19,208,15,31,209,8,31,216, + 29,33,209,8,26,136,1,136,53,144,40,216,30,38,136,6, + 212,8,27,220,8,12,136,86,139,12,215,8,24,209,8,24, + 152,26,160,84,212,8,42,217,11,16,216,30,32,136,70,140, + 79,216,8,11,215,8,26,209,8,26,152,54,212,8,34,216, + 15,21,136,13,114,22,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,3,0,0,0,3,0,0,0,243,44, + 0,0,0,151,0,116,0,0,0,0,0,0,0,0,0,106, + 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,171,1,0,0,0,0,0,0,83,0,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,151,0,0,0,114,92,1,0,0,114,49,1,0, + 0,115,2,0,0,0,32,32,114,7,0,0,0,114,50,1, + 0,0,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,173,4,0,0,243, + 21,0,0,0,128,0,244,8,0,16,20,215,15,37,209,15, + 37,160,104,211,15,47,208,8,47,114,22,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,243,4,0,0,0,151,0,121,1,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,31,0,0,0,114,49,1,0, + 0,115,2,0,0,0,32,32,114,7,0,0,0,114,53,1, + 0,0,122,25,70,114,111,122,101,110,73,109,112,111,114,116, + 101,114,46,103,101,116,95,115,111,117,114,99,101,179,4,0, + 0,114,51,1,0,0,114,22,0,0,0,99,2,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, + 243,44,0,0,0,151,0,116,0,0,0,0,0,0,0,0, + 0,106,3,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,83, + 0,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,151,0,0,0,114,65,1,0,0,114, + 49,1,0,0,115,2,0,0,0,32,32,114,7,0,0,0, + 114,220,0,0,0,122,25,70,114,111,122,101,110,73,109,112, + 111,114,116,101,114,46,105,115,95,112,97,99,107,97,103,101, + 185,4,0,0,114,97,1,0,0,114,22,0,0,0,114,222, + 0,0,0,114,55,1,0,0,41,17,114,11,0,0,0,114, + 10,0,0,0,114,3,0,0,0,114,12,0,0,0,114,255, + 0,0,0,114,56,1,0,0,114,74,1,0,0,114,66,1, + 0,0,114,43,1,0,0,114,58,0,0,0,114,18,1,0, + 0,114,19,1,0,0,114,28,1,0,0,114,189,0,0,0, + 114,50,1,0,0,114,53,1,0,0,114,220,0,0,0,114, + 31,0,0,0,114,22,0,0,0,114,7,0,0,0,114,58, + 1,0,0,114,58,1,0,0,255,3,0,0,115,219,0,0, + 0,132,0,241,4,5,5,8,240,14,0,15,23,128,71,224, + 5,16,241,2,66,1,5,37,243,3,0,6,17,240,2,66, + 1,5,37,240,72,2,0,6,17,242,2,22,5,32,243,3, + 0,6,17,240,2,22,5,32,240,48,0,6,17,242,2,27, + 5,20,243,3,0,6,17,240,2,27,5,20,240,58,0,6, + 18,241,2,10,5,22,243,3,0,6,18,240,2,10,5,22, + 240,24,0,6,18,241,2,4,5,36,243,3,0,6,18,240, + 2,4,5,36,240,12,0,6,17,241,2,16,5,22,243,3, + 0,6,17,240,2,16,5,22,240,36,0,6,17,216,5,21, + 241,2,2,5,48,243,3,0,6,22,243,3,0,6,17,240, + 4,2,5,48,240,8,0,6,17,216,5,21,241,2,2,5, + 20,243,3,0,6,22,243,3,0,6,17,240,4,2,5,20, + 240,8,0,6,17,216,5,21,241,2,2,5,48,243,3,0, + 6,22,243,3,0,6,17,241,4,2,5,48,114,22,0,0, + 0,114,58,1,0,0,99,0,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,0,0,0,0,243,28,0,0,0, + 151,0,101,0,90,1,100,0,90,2,100,1,90,3,100,2, + 132,0,90,4,100,3,132,0,90,5,121,4,41,5,218,18, + 95,73,109,112,111,114,116,76,111,99,107,67,111,110,116,101, + 120,116,122,36,67,111,110,116,101,120,116,32,109,97,110,97, + 103,101,114,32,102,111,114,32,116,104,101,32,105,109,112,111, + 114,116,32,108,111,99,107,46,99,1,0,0,0,0,0,0, + 0,0,0,0,0,2,0,0,0,3,0,0,0,243,44,0, + 0,0,151,0,116,0,0,0,0,0,0,0,0,0,106,3, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,1,0,121,1,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,151,0, + 0,0,114,152,0,0,0,114,66,0,0,0,115,1,0,0, + 0,32,114,7,0,0,0,114,87,0,0,0,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,198,4,0,0,243,14, + 0,0,0,128,0,228,8,12,215,8,25,209,8,25,213,8, + 27,114,22,0,0,0,99,4,0,0,0,0,0,0,0,0, + 0,0,0,2,0,0,0,3,0,0,0,243,44,0,0,0, + 151,0,116,0,0,0,0,0,0,0,0,0,106,3,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,1,0,121,1,41,2,122,60, + 82,101,108,101,97,115,101,32,116,104,101,32,105,109,112,111, + 114,116,32,108,111,99,107,32,114,101,103,97,114,100,108,101, + 115,115,32,111,102,32,97,110,121,32,114,97,105,115,101,100, + 32,101,120,99,101,112,116,105,111,110,115,46,78,41,2,114, + 151,0,0,0,114,154,0,0,0,41,4,114,44,0,0,0, + 218,8,101,120,99,95,116,121,112,101,218,9,101,120,99,95, + 118,97,108,117,101,218,13,101,120,99,95,116,114,97,99,101, + 98,97,99,107,115,4,0,0,0,32,32,32,32,114,7,0, + 0,0,114,92,0,0,0,122,27,95,73,109,112,111,114,116, + 76,111,99,107,67,111,110,116,101,120,116,46,95,95,101,120, + 105,116,95,95,202,4,0,0,114,103,1,0,0,114,22,0, + 0,0,78,41,6,114,11,0,0,0,114,10,0,0,0,114, + 3,0,0,0,114,12,0,0,0,114,87,0,0,0,114,92, + 0,0,0,114,31,0,0,0,114,22,0,0,0,114,7,0, + 0,0,114,101,1,0,0,114,101,1,0,0,194,4,0,0, + 115,15,0,0,0,132,0,225,4,46,242,4,2,5,28,243, + 8,2,5,28,114,22,0,0,0,114,101,1,0,0,99,3, + 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, + 0,0,0,243,126,0,0,0,151,0,124,1,106,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,1,124,2,100,2,122,10,0,0,171,2,0,0,0,0, + 0,0,125,3,116,3,0,0,0,0,0,0,0,0,124,3, + 171,1,0,0,0,0,0,0,124,2,107,2,0,0,114,11, + 116,5,0,0,0,0,0,0,0,0,100,3,171,1,0,0, + 0,0,0,0,130,1,124,3,100,4,25,0,0,0,125,4, + 124,0,114,7,124,4,155,0,100,1,124,0,155,0,157,3, + 83,0,124,4,83,0,41,5,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,244,0,0, + 0,114,138,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,125,0,0,0,41, + 3,218,6,114,115,112,108,105,116,114,127,0,0,0,114,178, + 0,0,0,41,5,114,26,0,0,0,218,7,112,97,99,107, + 97,103,101,218,5,108,101,118,101,108,218,4,98,105,116,115, + 218,4,98,97,115,101,115,5,0,0,0,32,32,32,32,32, + 114,7,0,0,0,218,13,95,114,101,115,111,108,118,101,95, + 110,97,109,101,114,114,1,0,0,207,4,0,0,115,79,0, + 0,0,128,0,224,11,18,143,62,137,62,152,35,152,117,160, + 113,153,121,211,11,41,128,68,220,7,10,136,52,131,121,144, + 53,210,7,24,220,14,25,208,26,78,211,14,79,208,8,79, + 216,11,15,144,1,137,55,128,68,217,31,35,136,100,136,86, + 144,49,144,84,144,70,208,11,27,208,4,45,168,20,208,4, + 45,114,22,0,0,0,99,3,0,0,0,0,0,0,0,0, + 0,0,0,7,0,0,0,3,0,0,0,243,242,1,0,0, + 151,0,116,0,0,0,0,0,0,0,0,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 125,3,124,3,128,11,116,5,0,0,0,0,0,0,0,0, + 100,2,171,1,0,0,0,0,0,0,130,1,124,3,115,26, + 116,6,0,0,0,0,0,0,0,0,106,9,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,3, + 116,10,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,1,0,124,0,116,0,0,0,0,0,0,0,0,0, + 106,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,118,0,125,4,124,3,68,0,93,113,0,0, + 125,5,116,15,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,53,0,1,0,9,0,124,5,106,16,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 125,6,2,0,124,6,124,0,124,1,124,2,171,3,0,0, + 0,0,0,0,125,7,9,0,100,1,100,1,100,1,171,2, + 0,0,0,0,0,0,1,0,127,7,128,1,140,49,124,4, + 115,60,124,0,116,0,0,0,0,0,0,0,0,0,106,12, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,118,0,114,42,116,0,0,0,0,0,0,0,0,0, + 106,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,25,0,0,0,125,8,9,0,124,8, + 106,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,125,9,124,9,128,4,124,7,99,2,1,0, + 83,0,124,9,99,2,1,0,83,0,124,7,99,2,1,0, + 83,0,4,0,121,1,35,0,116,18,0,0,0,0,0,0, + 0,0,36,0,114,11,1,0,89,0,100,1,100,1,100,1, + 171,2,0,0,0,0,0,0,1,0,140,136,119,0,120,3, + 89,0,119,1,35,0,49,0,115,1,119,2,1,0,89,0, + 1,0,1,0,140,103,120,3,89,0,119,1,35,0,116,18, + 0,0,0,0,0,0,0,0,36,0,114,7,1,0,124,7, + 99,2,89,0,99,2,1,0,83,0,119,0,120,3,89,0, + 119,1,41,4,122,21,70,105,110,100,32,97,32,109,111,100, + 117,108,101,39,115,32,115,112,101,99,46,78,122,53,115,121, + 115,46,109,101,116,97,95,112,97,116,104,32,105,115,32,78, + 111,110,101,44,32,80,121,116,104,111,110,32,105,115,32,108, + 105,107,101,108,121,32,115,104,117,116,116,105,110,103,32,100, + 111,119,110,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,24,0, + 0,0,218,9,109,101,116,97,95,112,97,116,104,114,178,0, + 0,0,114,191,0,0,0,114,192,0,0,0,114,27,1,0, + 0,114,195,0,0,0,114,101,1,0,0,114,43,1,0,0, + 114,4,0,0,0,114,204,0,0,0,41,10,114,26,0,0, + 0,114,41,1,0,0,114,42,1,0,0,114,116,1,0,0, + 218,9,105,115,95,114,101,108,111,97,100,218,6,102,105,110, + 100,101,114,114,43,1,0,0,114,199,0,0,0,114,200,0, + 0,0,114,204,0,0,0,115,10,0,0,0,32,32,32,32, + 32,32,32,32,32,32,114,7,0,0,0,218,10,95,102,105, + 110,100,95,115,112,101,99,114,119,1,0,0,216,4,0,0, + 115,20,1,0,0,128,0,228,16,19,151,13,145,13,128,73, + 216,7,16,208,7,24,228,14,25,240,0,1,27,42,243,0, + 1,15,43,240,0,1,9,43,241,6,0,12,21,220,8,17, + 143,14,137,14,208,23,47,180,29,212,8,63,240,10,0,17, + 21,156,3,159,11,153,11,208,16,35,128,73,216,18,27,242, + 0,27,5,20,136,6,220,13,31,211,13,33,241,0,6,9, + 53,240,2,5,13,53,216,28,34,215,28,44,209,28,44,144, + 9,241,8,0,24,33,160,20,160,116,168,86,211,23,52,145, + 4,247,13,6,9,53,240,14,0,12,16,209,11,27,225,19, + 28,160,20,172,19,175,27,169,27,209,33,52,220,25,28,159, + 27,153,27,160,84,209,25,42,144,6,240,2,11,17,40,216, + 31,37,159,127,153,127,144,72,240,14,0,24,32,208,23,39, + 216,31,35,154,11,224,31,39,154,15,224,23,27,146,11,240, + 51,27,5,20,240,54,0,16,20,248,244,47,0,20,34,242, + 0,1,13,25,216,16,24,247,9,6,9,53,240,0,6,9, + 53,240,6,1,13,25,250,247,7,6,9,53,240,0,6,9, + 53,251,244,26,0,24,38,242,0,4,17,32,240,8,0,28, + 32,148,75,240,9,4,17,32,250,115,66,0,0,0,193,27, + 1,67,26,5,193,29,12,67,3,4,193,41,10,67,26,5, + 194,39,12,67,38,2,195,3,9,67,23,7,195,12,1,67, + 26,5,195,22,1,67,23,7,195,23,3,67,26,5,195,26, + 5,67,35,9,195,38,11,67,54,5,195,53,1,67,54,5, + 99,3,0,0,0,0,0,0,0,0,0,0,0,6,0,0, + 0,3,0,0,0,243,242,0,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,124,0,116,2,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,115,23,116,5,0,0, + 0,0,0,0,0,0,100,1,116,7,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,155,0,157,2, + 171,1,0,0,0,0,0,0,130,1,124,2,100,2,107,2, + 0,0,114,11,116,9,0,0,0,0,0,0,0,0,100,3, + 171,1,0,0,0,0,0,0,130,1,124,2,100,2,107,68, + 0,0,114,40,116,1,0,0,0,0,0,0,0,0,124,1, + 116,2,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,115,11,116,5,0,0,0,0,0,0,0,0,100,4, + 171,1,0,0,0,0,0,0,130,1,124,1,115,11,116,11, + 0,0,0,0,0,0,0,0,100,5,171,1,0,0,0,0, + 0,0,130,1,124,0,115,17,124,2,100,2,107,40,0,0, + 114,11,116,9,0,0,0,0,0,0,0,0,100,6,171,1, + 0,0,0,0,0,0,130,1,121,7,121,7,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,29,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,114,125,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,54,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,119,105,116,104,32,110,111,32,107,110,111,119,110,32,112, + 97,114,101,110,116,32,112,97,99,107,97,103,101,122,17,69, + 109,112,116,121,32,109,111,100,117,108,101,32,110,97,109,101, + 78,41,6,114,23,1,0,0,218,3,115,116,114,218,9,84, + 121,112,101,69,114,114,111,114,114,5,0,0,0,218,10,86, + 97,108,117,101,69,114,114,111,114,114,178,0,0,0,169,3, + 114,26,0,0,0,114,110,1,0,0,114,111,1,0,0,115, + 3,0,0,0,32,32,32,114,7,0,0,0,218,13,95,115, + 97,110,105,116,121,95,99,104,101,99,107,114,125,1,0,0, + 5,5,0,0,115,132,0,0,0,128,0,228,11,21,144,100, + 156,67,212,11,32,220,14,23,208,26,55,188,4,184,84,187, + 10,176,124,208,24,68,211,14,69,208,8,69,216,7,12,136, + 113,130,121,220,14,24,208,25,45,211,14,46,208,8,46,216, + 7,12,136,113,130,121,220,15,25,152,39,164,51,212,15,39, + 220,18,27,208,28,61,211,18,62,208,12,62,217,17,24,220, + 18,29,240,0,1,31,40,243,0,1,19,41,240,0,1,13, + 41,225,11,15,144,69,152,81,146,74,220,14,24,208,25,44, + 211,14,45,208,8,45,240,3,0,21,31,136,52,114,22,0, + 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,0,0,0,0,6,0,0,0,3,0,0,0,243, + 86,3,0,0,151,0,100,0,125,2,124,0,106,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,1,171,1,0,0,0,0,0,0,100,2,25,0,0,0, + 125,3,100,0,125,4,124,3,114,131,124,3,116,2,0,0, + 0,0,0,0,0,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,118,1,114,12,116,7, + 0,0,0,0,0,0,0,0,124,1,124,3,171,2,0,0, + 0,0,0,0,1,0,124,0,116,2,0,0,0,0,0,0, + 0,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,118,0,114,19,116,2,0,0,0,0, + 0,0,0,0,106,4,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,25,0,0,0,83,0, + 116,2,0,0,0,0,0,0,0,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,3, + 25,0,0,0,125,5,9,0,124,5,106,8,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,2, + 124,5,106,16,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,125,4,124,0,106,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,1, + 171,1,0,0,0,0,0,0,100,6,25,0,0,0,125,7, + 116,19,0,0,0,0,0,0,0,0,124,0,124,2,171,2, + 0,0,0,0,0,0,125,8,124,8,128,21,116,15,0,0, + 0,0,0,0,0,0,116,12,0,0,0,0,0,0,0,0, + 155,0,124,0,155,2,157,2,124,0,172,5,171,2,0,0, + 0,0,0,0,130,1,124,4,114,27,124,4,106,20,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,127,7,171,1,0,0,0,0,0,0,1,0, + 9,0,116,25,0,0,0,0,0,0,0,0,124,8,171,1, + 0,0,0,0,0,0,125,9,124,4,114,27,124,4,106,20, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,27,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,1,0, + 9,0,124,3,114,35,116,2,0,0,0,0,0,0,0,0, + 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,3,25,0,0,0,125,5,9,0,116,29, + 0,0,0,0,0,0,0,0,124,5,127,7,124,9,171,3, + 0,0,0,0,0,0,1,0,124,9,83,0,124,9,83,0, + 35,0,116,10,0,0,0,0,0,0,0,0,36,0,114,29, + 1,0,116,12,0,0,0,0,0,0,0,0,155,0,124,0, + 155,2,100,3,124,3,155,2,100,4,157,5,125,6,116,15, + 0,0,0,0,0,0,0,0,124,6,124,0,172,5,171,2, + 0,0,0,0,0,0,100,0,130,2,119,0,120,3,89,0, + 119,1,35,0,124,4,114,27,124,4,106,20,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,27, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,1,0,119,0,119,0, + 120,3,89,0,119,1,35,0,116,10,0,0,0,0,0,0, + 0,0,36,0,114,38,1,0,100,7,124,3,155,2,100,8, + 127,7,155,2,157,4,125,6,116,30,0,0,0,0,0,0, + 0,0,106,33,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,6,116,34,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,1,0,89,0,124,9, + 83,0,119,0,120,3,89,0,119,1,41,9,78,114,244,0, + 0,0,114,125,0,0,0,122,2,59,32,122,17,32,105,115, + 32,110,111,116,32,97,32,112,97,99,107,97,103,101,114,25, + 0,0,0,233,2,0,0,0,122,27,67,97,110,110,111,116, + 32,115,101,116,32,97,110,32,97,116,116,114,105,98,117,116, + 101,32,111,110,32,122,18,32,102,111,114,32,99,104,105,108, + 100,32,109,111,100,117,108,101,32,41,18,114,245,0,0,0, + 114,24,0,0,0,114,195,0,0,0,114,161,0,0,0,114, + 7,1,0,0,114,4,0,0,0,218,15,95,69,82,82,95, + 77,83,71,95,80,82,69,70,73,88,218,19,77,111,100,117, + 108,101,78,111,116,70,111,117,110,100,69,114,114,111,114,114, + 204,0,0,0,114,119,1,0,0,114,224,0,0,0,114,51, + 0,0,0,114,33,1,0,0,114,68,0,0,0,114,14,0, + 0,0,114,191,0,0,0,114,192,0,0,0,114,27,1,0, + 0,41,10,114,26,0,0,0,218,7,105,109,112,111,114,116, + 95,114,41,1,0,0,114,246,0,0,0,218,11,112,97,114, + 101,110,116,95,115,112,101,99,218,13,112,97,114,101,110,116, + 95,109,111,100,117,108,101,114,198,0,0,0,218,5,99,104, + 105,108,100,114,199,0,0,0,114,200,0,0,0,115,10,0, + 0,0,32,32,32,32,32,32,32,32,32,32,114,7,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,114,134,1,0,0,24, + 5,0,0,115,177,1,0,0,128,0,216,11,15,128,68,216, + 13,17,143,95,137,95,152,83,211,13,33,160,33,209,13,36, + 128,70,216,18,22,128,75,217,7,13,216,11,17,156,19,159, + 27,153,27,209,11,36,220,12,37,160,103,168,118,212,12,54, + 224,11,15,148,51,151,59,145,59,209,11,30,220,19,22,151, + 59,145,59,152,116,209,19,36,208,12,36,220,24,27,159,11, + 153,11,160,70,209,24,43,136,13,240,2,4,9,64,1,216, + 19,32,215,19,41,209,19,41,136,68,240,8,0,23,36,215, + 22,44,209,22,44,136,11,216,16,20,151,15,145,15,160,3, + 211,16,36,160,81,209,16,39,136,5,220,11,21,144,100,152, + 68,211,11,33,128,68,216,7,11,128,124,220,14,33,164,95, + 208,36,53,176,100,176,88,208,34,62,192,84,212,14,74,208, + 8,74,225,11,22,240,6,0,13,24,215,12,49,209,12,49, + 215,12,56,209,12,56,184,21,212,12,63,240,2,4,9,60, + 220,21,35,160,68,211,21,41,136,70,225,15,26,216,16,27, + 215,16,53,209,16,53,215,16,57,209,16,57,213,16,59,217, + 7,13,228,24,27,159,11,153,11,160,70,209,24,43,136,13, + 240,2,4,9,47,220,12,19,144,77,160,53,168,38,212,12, + 49,240,8,0,12,18,128,77,136,54,128,77,248,244,53,0, + 16,30,242,0,2,9,64,1,220,21,36,208,20,37,160,100, + 160,88,168,82,176,6,168,122,208,57,74,208,18,75,136,67, + 220,18,37,160,99,176,4,212,18,53,184,52,208,12,63,240, + 5,2,9,64,1,251,241,32,0,16,27,216,16,27,215,16, + 53,209,16,53,215,16,57,209,16,57,213,16,59,240,3,0, + 16,27,251,244,14,0,16,30,242,0,2,9,47,216,20,47, + 176,6,168,122,208,57,75,200,69,200,57,208,18,85,136,67, + 220,12,21,143,78,137,78,152,51,164,13,213,12,46,216,11, + 17,128,77,240,7,2,9,47,250,115,42,0,0,0,193,50, + 12,68,46,0,195,31,11,69,23,0,196,29,13,69,57,0, + 196,46,38,69,20,3,197,23,31,69,54,3,197,57,43,70, + 40,3,198,39,1,70,40,3,99,2,0,0,0,0,0,0, + 0,0,0,0,0,7,0,0,0,3,0,0,0,243,146,1, + 0,0,151,0,116,0,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,5,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,0,116,6,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,125,2,124,2,116,6, + 0,0,0,0,0,0,0,0,117,0,115,24,116,9,0,0, + 0,0,0,0,0,0,116,9,0,0,0,0,0,0,0,0, + 124,2,100,1,100,2,171,3,0,0,0,0,0,0,100,3, + 100,4,171,3,0,0,0,0,0,0,114,97,116,11,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 53,0,1,0,116,0,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,5,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,0,116,6,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,125,2,124,2,116,6, + 0,0,0,0,0,0,0,0,117,0,114,21,116,13,0,0, + 0,0,0,0,0,0,124,0,124,1,171,2,0,0,0,0, + 0,0,99,2,100,2,100,2,100,2,171,2,0,0,0,0, + 0,0,1,0,83,0,9,0,100,2,100,2,100,2,171,2, + 0,0,0,0,0,0,1,0,116,15,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,1,0,124,2, + 128,19,100,5,124,0,155,0,100,6,157,3,125,3,116,17, + 0,0,0,0,0,0,0,0,124,3,124,0,172,7,171,2, + 0,0,0,0,0,0,130,1,124,2,83,0,35,0,49,0, + 115,1,119,2,1,0,89,0,1,0,1,0,140,43,120,3, + 89,0,119,1,41,8,122,25,70,105,110,100,32,97,110,100, + 32,108,111,97,100,32,116,104,101,32,109,111,100,117,108,101, + 46,114,204,0,0,0,78,114,32,1,0,0,70,122,10,105, + 109,112,111,114,116,32,111,102,32,122,28,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,25,0,0,0,41,9,114,24, + 0,0,0,114,195,0,0,0,114,76,0,0,0,218,14,95, + 78,69,69,68,83,95,76,79,65,68,73,78,71,114,15,0, + 0,0,114,142,0,0,0,114,134,1,0,0,114,157,0,0, + 0,114,129,1,0,0,41,4,114,26,0,0,0,114,130,1, + 0,0,114,200,0,0,0,114,172,0,0,0,115,4,0,0, + 0,32,32,32,32,114,7,0,0,0,218,14,95,102,105,110, + 100,95,97,110,100,95,108,111,97,100,114,137,1,0,0,69, + 5,0,0,115,181,0,0,0,128,0,244,10,0,14,17,143, + 91,137,91,143,95,137,95,152,84,164,62,211,13,50,128,70, + 216,8,14,148,46,209,8,32,220,8,15,148,7,152,6,160, + 10,168,68,211,16,49,176,63,192,69,212,8,74,220,13,31, + 160,4,211,13,37,241,0,3,9,62,220,21,24,151,91,145, + 91,151,95,145,95,160,84,172,62,211,21,58,136,70,216,15, + 21,156,30,209,15,39,220,23,46,168,116,176,87,211,23,61, + 247,7,3,9,62,241,0,3,9,62,224,15,39,247,5,3, + 9,62,244,18,0,9,28,152,68,212,8,33,224,7,13,128, + 126,216,20,30,152,116,152,102,208,36,64,208,18,65,136,7, + 220,14,33,160,39,176,4,212,14,53,208,8,53,224,11,17, + 128,77,247,31,3,9,62,240,0,3,9,62,250,115,12,0, + 0,0,193,16,56,66,61,3,194,61,5,67,6,7,99,3, + 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, + 0,0,0,243,96,0,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,124,0,124,1,124,2,171,3,0,0,0,0, + 0,0,1,0,124,2,100,1,107,68,0,0,114,13,116,3, + 0,0,0,0,0,0,0,0,124,0,124,1,124,2,171,3, + 0,0,0,0,0,0,125,0,116,5,0,0,0,0,0,0, + 0,0,124,0,116,6,0,0,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,83,0,41,2,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,125,0,0,0,41,4,114,125,1,0,0,114,114,1, + 0,0,114,137,1,0,0,218,11,95,103,99,100,95,105,109, + 112,111,114,116,114,124,1,0,0,115,3,0,0,0,32,32, + 32,114,7,0,0,0,114,139,1,0,0,114,139,1,0,0, + 95,5,0,0,115,50,0,0,0,128,0,244,18,0,5,18, + 144,36,152,7,160,21,212,4,39,216,7,12,136,113,130,121, + 220,15,28,152,84,160,55,168,69,211,15,50,136,4,220,11, + 25,152,36,164,11,211,11,44,208,4,44,114,22,0,0,0, + 169,1,218,9,114,101,99,117,114,115,105,118,101,99,3,0, + 0,0,0,0,0,0,1,0,0,0,9,0,0,0,3,0, + 0,0,243,236,1,0,0,151,0,124,1,68,0,93,164,0, + 0,125,4,116,1,0,0,0,0,0,0,0,0,124,4,116, + 2,0,0,0,0,0,0,0,0,171,2,0,0,0,0,0, + 0,115,56,124,3,114,16,124,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,1,122, + 0,0,0,125,5,110,2,100,2,125,5,116,7,0,0,0, + 0,0,0,0,0,100,3,124,5,155,0,100,4,116,9,0, + 0,0,0,0,0,0,0,124,4,171,1,0,0,0,0,0, + 0,106,4,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,155,0,157,4,171,1,0,0,0,0,0, + 0,130,1,124,4,100,5,107,40,0,0,114,42,124,3,114, + 1,140,83,116,11,0,0,0,0,0,0,0,0,124,0,100, + 6,171,2,0,0,0,0,0,0,115,1,140,96,116,13,0, + 0,0,0,0,0,0,0,124,0,124,0,106,14,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 2,100,7,172,8,171,4,0,0,0,0,0,0,1,0,140, + 122,116,11,0,0,0,0,0,0,0,0,124,0,124,4,171, + 2,0,0,0,0,0,0,114,1,140,135,124,0,106,4,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,155,0,100,9,124,4,155,0,157,3,125,6,9,0,116, + 17,0,0,0,0,0,0,0,0,124,2,124,6,171,2,0, + 0,0,0,0,0,1,0,140,166,4,0,124,0,83,0,35, + 0,116,18,0,0,0,0,0,0,0,0,36,0,114,62,125, + 7,124,7,106,20,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,6,107,40,0,0,114,41,116, + 22,0,0,0,0,0,0,0,0,106,24,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,106,27,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,6,116,28,0,0,0,0,0,0,0,0,171,2,0, + 0,0,0,0,0,129,5,89,0,100,10,125,7,126,7,140, + 234,130,0,100,10,125,7,126,7,119,1,119,0,120,3,89, + 0,119,1,41,11,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,122,8,46,95,95,97,108,108,95,95,122, + 13,96,96,102,114,111,109,32,108,105,115,116,39,39,122,8, + 73,116,101,109,32,105,110,32,122,18,32,109,117,115,116,32, + 98,101,32,115,116,114,44,32,110,111,116,32,250,1,42,218, + 7,95,95,97,108,108,95,95,84,114,140,1,0,0,114,244, + 0,0,0,78,41,15,114,23,1,0,0,114,121,1,0,0, + 114,11,0,0,0,114,122,1,0,0,114,5,0,0,0,114, + 13,0,0,0,218,16,95,104,97,110,100,108,101,95,102,114, + 111,109,108,105,115,116,114,144,1,0,0,114,161,0,0,0, + 114,129,1,0,0,114,26,0,0,0,114,24,0,0,0,114, + 195,0,0,0,114,76,0,0,0,114,136,1,0,0,41,8, + 114,200,0,0,0,218,8,102,114,111,109,108,105,115,116,114, + 130,1,0,0,114,141,1,0,0,218,1,120,218,5,119,104, + 101,114,101,218,9,102,114,111,109,95,110,97,109,101,218,3, + 101,120,99,115,8,0,0,0,32,32,32,32,32,32,32,32, + 114,7,0,0,0,114,145,1,0,0,114,145,1,0,0,110, + 5,0,0,115,248,0,0,0,128,0,240,20,0,14,22,242, + 0,23,5,22,136,1,220,15,25,152,33,156,83,212,15,33, + 217,15,24,216,24,30,159,15,153,15,168,42,209,24,52,145, + 5,224,24,39,144,5,220,18,27,152,104,160,117,160,103,240, + 0,1,46,35,220,35,39,168,1,163,55,215,35,51,209,35, + 51,208,34,52,240,3,1,29,54,243,0,1,19,55,240,0, + 1,13,55,224,13,14,144,35,138,88,218,19,28,164,23,168, + 22,176,25,213,33,59,220,16,32,160,22,168,22,175,30,169, + 30,184,23,216,43,47,246,3,1,17,49,228,17,24,152,22, + 160,17,213,17,35,216,27,33,159,63,153,63,208,26,43,168, + 49,168,81,168,67,208,24,48,136,73,240,2,9,13,22,220, + 16,41,168,39,176,57,213,16,61,240,31,23,5,22,240,48, + 0,12,18,128,77,248,244,17,0,20,39,242,0,7,13,22, + 240,8,0,21,24,151,72,145,72,160,9,210,20,41,220,20, + 23,151,75,145,75,151,79,145,79,160,73,172,126,211,20,62, + 208,20,74,220,20,28,216,16,21,251,240,15,7,13,22,250, + 115,30,0,0,0,194,28,12,66,44,2,194,44,9,67,51, + 5,194,53,51,67,46,5,195,45,1,67,46,5,195,46,5, + 67,51,5,99,1,0,0,0,0,0,0,0,0,0,0,0, + 7,0,0,0,3,0,0,0,243,92,1,0,0,151,0,124, + 0,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,1,171,1,0,0,0,0,0,0,125, + 1,124,0,106,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,2,171,1,0,0,0,0,0, + 0,125,2,124,1,129,64,124,2,129,60,124,1,124,2,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,107,55,0,0,114,45,116,4,0,0,0,0,0, + 0,0,0,106,7,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,3,124,1,155,2,100,4,124, + 2,106,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,155,2,100,5,157,5,116,8,0,0,0, + 0,0,0,0,0,100,6,172,7,171,3,0,0,0,0,0, + 0,1,0,124,1,83,0,124,2,129,12,124,2,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,83,0,116,4,0,0,0,0,0,0,0,0,106,7,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,8,116,10,0,0,0,0,0,0,0,0,100,6,172, + 7,171,3,0,0,0,0,0,0,1,0,124,0,100,9,25, + 0,0,0,125,1,100,10,124,0,118,1,114,20,124,1,106, + 13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,11,171,1,0,0,0,0,0,0,100,12,25, + 0,0,0,125,1,124,1,83,0,41,13,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,13,1,0,0,114,204,0,0,0,122,32, + 95,95,112,97,99,107,97,103,101,95,95,32,33,61,32,95, + 95,115,112,101,99,95,95,46,112,97,114,101,110,116,32,40, + 122,4,32,33,61,32,114,229,0,0,0,233,3,0,0,0, + 41,1,218,10,115,116,97,99,107,108,101,118,101,108,122,89, + 99,97,110,39,116,32,114,101,115,111,108,118,101,32,112,97, + 99,107,97,103,101,32,102,114,111,109,32,95,95,115,112,101, + 99,95,95,32,111,114,32,95,95,112,97,99,107,97,103,101, + 95,95,44,32,102,97,108,108,105,110,103,32,98,97,99,107, + 32,111,110,32,95,95,110,97,109,101,95,95,32,97,110,100, + 32,95,95,112,97,116,104,95,95,114,11,0,0,0,114,7, + 1,0,0,114,244,0,0,0,114,125,0,0,0,41,7,114, + 76,0,0,0,114,246,0,0,0,114,191,0,0,0,114,192, + 0,0,0,114,193,0,0,0,114,27,1,0,0,114,245,0, + 0,0,41,3,218,7,103,108,111,98,97,108,115,114,110,1, + 0,0,114,199,0,0,0,115,3,0,0,0,32,32,32,114, + 7,0,0,0,218,17,95,99,97,108,99,95,95,95,112,97, + 99,107,97,103,101,95,95,114,155,1,0,0,147,5,0,0, + 115,200,0,0,0,128,0,240,14,0,15,22,143,107,137,107, + 152,45,211,14,40,128,71,216,11,18,143,59,137,59,144,122, + 211,11,34,128,68,216,7,14,208,7,26,216,11,15,208,11, + 27,160,7,168,52,175,59,169,59,210,32,54,220,12,21,143, + 78,137,78,240,0,1,28,31,216,31,38,152,107,168,20,168, + 100,175,107,169,107,168,95,184,65,240,3,1,28,63,228,27, + 45,184,33,240,5,0,13,27,244,0,2,13,61,240,6,0, + 16,23,136,14,216,9,13,208,9,25,216,15,19,143,123,137, + 123,208,8,26,228,8,17,143,14,137,14,240,0,1,24,63, + 228,23,36,176,17,240,5,0,9,23,244,0,2,9,52,240, + 6,0,19,26,152,42,209,18,37,136,7,216,11,21,152,87, + 209,11,36,216,22,29,215,22,40,209,22,40,168,19,211,22, + 45,168,97,209,22,48,136,71,216,11,18,128,78,114,22,0, + 0,0,99,5,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,3,0,0,0,243,172,1,0,0,151,0,124,4, + 100,1,107,40,0,0,114,12,116,1,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,125,5,110,30, + 124,1,129,2,124,1,110,1,105,0,125,6,116,3,0,0, + 0,0,0,0,0,0,124,6,171,1,0,0,0,0,0,0, + 125,7,116,1,0,0,0,0,0,0,0,0,124,0,124,7, + 124,4,171,3,0,0,0,0,0,0,125,5,124,3,115,133, + 124,4,100,1,107,40,0,0,114,29,116,1,0,0,0,0, + 0,0,0,0,124,0,106,5,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,3,171,1,0,0, + 0,0,0,0,100,1,25,0,0,0,171,1,0,0,0,0, + 0,0,83,0,124,0,115,2,124,5,83,0,116,7,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 116,7,0,0,0,0,0,0,0,0,124,0,106,5,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,3,171,1,0,0,0,0,0,0,100,1,25,0,0,0, + 171,1,0,0,0,0,0,0,122,10,0,0,125,8,116,8, + 0,0,0,0,0,0,0,0,106,10,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,5,106,12, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,2,116,7,0,0,0,0,0,0,0,0,124,5, + 106,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,124,8,122,10, + 0,0,26,0,25,0,0,0,83,0,116,15,0,0,0,0, + 0,0,0,0,124,5,100,4,171,2,0,0,0,0,0,0, + 114,17,116,17,0,0,0,0,0,0,0,0,124,5,124,3, + 116,0,0,0,0,0,0,0,0,0,171,3,0,0,0,0, + 0,0,83,0,124,5,83,0,41,5,97,215,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,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,125,0,0,0,78,114,244,0,0, + 0,114,7,1,0,0,41,9,114,139,1,0,0,114,155,1, + 0,0,218,9,112,97,114,116,105,116,105,111,110,114,127,0, + 0,0,114,24,0,0,0,114,195,0,0,0,114,11,0,0, + 0,114,13,0,0,0,114,145,1,0,0,41,9,114,26,0, + 0,0,114,154,1,0,0,218,6,108,111,99,97,108,115,114, + 146,1,0,0,114,111,1,0,0,114,200,0,0,0,218,8, + 103,108,111,98,97,108,115,95,114,110,1,0,0,218,7,99, + 117,116,95,111,102,102,115,9,0,0,0,32,32,32,32,32, + 32,32,32,32,114,7,0,0,0,218,10,95,95,105,109,112, + 111,114,116,95,95,114,161,1,0,0,174,5,0,0,115,210, + 0,0,0,128,0,240,22,0,8,13,144,1,130,122,220,17, + 28,152,84,211,17,34,137,6,224,30,37,208,30,49,145,55, + 176,114,136,8,220,18,35,160,72,211,18,45,136,7,220,17, + 28,152,84,160,55,168,69,211,17,50,136,6,217,11,19,240, + 6,0,12,17,144,65,138,58,220,19,30,152,116,159,126,153, + 126,168,99,211,31,50,176,49,209,31,53,211,19,54,208,12, + 54,217,17,21,216,19,25,136,77,244,8,0,23,26,152,36, + 147,105,164,35,160,100,167,110,161,110,176,83,211,38,57,184, + 33,209,38,60,211,34,61,209,22,61,136,71,244,6,0,20, + 23,151,59,145,59,152,118,159,127,153,127,208,47,76,180,3, + 176,70,183,79,177,79,211,48,68,192,87,209,48,76,208,31, + 77,209,19,78,208,12,78,220,9,16,144,22,152,26,212,9, + 36,220,15,31,160,6,168,8,180,43,211,15,62,208,8,62, + 224,15,21,136,13,114,22,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243, + 98,0,0,0,151,0,116,0,0,0,0,0,0,0,0,0, + 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,125,1, + 124,1,128,14,116,5,0,0,0,0,0,0,0,0,100,1, + 124,0,122,0,0,0,171,1,0,0,0,0,0,0,130,1, + 116,7,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,83,0,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,37,1,0,0,114,43,1,0,0, + 114,178,0,0,0,114,33,1,0,0,41,2,114,26,0,0, + 0,114,199,0,0,0,115,2,0,0,0,32,32,114,7,0, + 0,0,218,18,95,98,117,105,108,116,105,110,95,102,114,111, + 109,95,110,97,109,101,114,163,1,0,0,211,5,0,0,115, + 51,0,0,0,128,0,220,11,26,215,11,36,209,11,36,160, + 84,211,11,42,128,68,216,7,11,128,124,220,14,25,208,26, + 53,184,4,209,26,60,211,14,61,208,8,61,220,11,25,152, + 36,211,11,31,208,4,31,114,22,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,6,0,0,0,3,0,0, + 0,243,44,2,0,0,151,0,124,1,97,0,124,0,97,1, + 116,5,0,0,0,0,0,0,0,0,116,2,0,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,125,2,116,2, + 0,0,0,0,0,0,0,0,106,6,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,9,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,68,0,93,122,0,0,92,2, + 0,0,125,3,125,4,116,11,0,0,0,0,0,0,0,0, + 124,4,124,2,171,2,0,0,0,0,0,0,115,1,140,19, + 124,3,116,2,0,0,0,0,0,0,0,0,106,12,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 118,0,114,7,116,14,0,0,0,0,0,0,0,0,125,5, + 110,29,116,0,0,0,0,0,0,0,0,0,106,17,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,3,171,1,0,0,0,0,0,0,114,7,116,18,0,0, + 0,0,0,0,0,0,125,5,110,1,140,73,116,21,0,0, + 0,0,0,0,0,0,124,4,124,5,171,2,0,0,0,0, + 0,0,125,6,116,23,0,0,0,0,0,0,0,0,124,6, + 124,4,171,2,0,0,0,0,0,0,1,0,124,5,116,18, + 0,0,0,0,0,0,0,0,117,0,115,1,140,106,124,5, + 106,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,4,171,1,0,0,0,0,0,0,1,0, + 140,124,4,0,116,2,0,0,0,0,0,0,0,0,106,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,26,0,0,0,0,0,0,0,0,25,0,0,0, + 125,7,100,1,68,0,93,64,0,0,125,8,124,8,116,2, + 0,0,0,0,0,0,0,0,106,6,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,118,1,114,12, + 116,29,0,0,0,0,0,0,0,0,124,8,171,1,0,0, + 0,0,0,0,125,9,110,19,116,2,0,0,0,0,0,0, + 0,0,106,6,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,8,25,0,0,0,125,9,116,31, + 0,0,0,0,0,0,0,0,124,7,124,8,124,9,171,3, + 0,0,0,0,0,0,1,0,140,66,4,0,116,33,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,97,17, + 121,2,41,3,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, + 41,3,114,109,0,0,0,114,191,0,0,0,114,52,0,0, + 0,78,41,18,114,151,0,0,0,114,24,0,0,0,114,5, + 0,0,0,114,195,0,0,0,218,5,105,116,101,109,115,114, + 23,1,0,0,114,177,0,0,0,114,37,1,0,0,114,187, + 0,0,0,114,58,1,0,0,114,9,1,0,0,114,16,1, + 0,0,114,74,1,0,0,114,11,0,0,0,114,163,1,0, + 0,114,14,0,0,0,114,34,0,0,0,114,85,0,0,0, + 41,10,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,218,11,109,111,100, + 117,108,101,95,116,121,112,101,114,26,0,0,0,114,200,0, + 0,0,114,213,0,0,0,114,199,0,0,0,218,11,115,101, + 108,102,95,109,111,100,117,108,101,218,12,98,117,105,108,116, + 105,110,95,110,97,109,101,218,14,98,117,105,108,116,105,110, + 95,109,111,100,117,108,101,115,10,0,0,0,32,32,32,32, + 32,32,32,32,32,32,114,7,0,0,0,218,6,95,115,101, + 116,117,112,114,172,1,0,0,218,5,0,0,115,239,0,0, + 0,128,0,240,18,0,12,23,128,68,216,10,20,128,67,244, + 6,0,19,23,148,115,147,41,128,75,220,24,27,159,11,153, + 11,215,24,41,209,24,41,211,24,43,242,0,11,5,46,137, + 12,136,4,136,102,220,11,21,144,102,152,107,213,11,42,216, + 15,19,148,115,215,23,47,209,23,47,209,15,47,220,25,40, + 145,6,220,17,21,151,30,145,30,160,4,212,17,37,220,25, + 39,145,6,224,16,24,220,19,36,160,86,168,86,211,19,52, + 136,68,220,12,30,152,116,160,86,212,12,44,216,15,21,156, + 30,210,15,39,216,16,22,215,16,37,209,16,37,160,102,213, + 16,45,240,23,11,5,46,244,28,0,19,22,151,43,145,43, + 156,104,209,18,39,128,75,216,24,60,242,0,5,5,59,136, + 12,216,11,23,156,115,159,123,153,123,209,11,42,220,29,47, + 176,12,211,29,61,137,78,228,29,32,159,91,153,91,168,28, + 209,29,54,136,78,220,8,15,144,11,152,92,168,62,213,8, + 58,240,11,5,5,59,244,16,0,20,40,211,19,41,129,76, + 114,22,0,0,0,99,2,0,0,0,0,0,0,0,0,0, + 0,0,4,0,0,0,3,0,0,0,243,168,0,0,0,151, + 0,116,1,0,0,0,0,0,0,0,0,124,0,124,1,171, + 2,0,0,0,0,0,0,1,0,116,2,0,0,0,0,0, + 0,0,0,106,4,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,7,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,116,8,0,0,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,1,0,116, + 2,0,0,0,0,0,0,0,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,106,7,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,116,10,0,0,0,0,0,0,0,0,171,1,0,0,0, + 0,0,0,1,0,121,1,41,2,122,48,73,110,115,116,97, + 108,108,32,105,109,112,111,114,116,101,114,115,32,102,111,114, + 32,98,117,105,108,116,105,110,32,97,110,100,32,102,114,111, + 122,101,110,32,109,111,100,117,108,101,115,78,41,6,114,172, + 1,0,0,114,24,0,0,0,114,116,1,0,0,114,51,0, + 0,0,114,37,1,0,0,114,58,1,0,0,41,2,114,166, + 1,0,0,114,167,1,0,0,115,2,0,0,0,32,32,114, + 7,0,0,0,218,8,95,105,110,115,116,97,108,108,114,174, + 1,0,0,2,6,0,0,115,48,0,0,0,128,0,228,4, + 10,136,58,144,123,212,4,35,228,4,7,135,77,129,77,215, + 4,24,209,4,24,156,31,212,4,41,220,4,7,135,77,129, + 77,215,4,24,209,4,24,156,30,213,4,40,114,22,0,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,4,0, + 0,0,3,0,0,0,243,92,0,0,0,151,0,100,1,100, + 2,108,0,125,0,124,0,97,1,124,0,106,5,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116, + 6,0,0,0,0,0,0,0,0,106,8,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,116,10,0, + 0,0,0,0,0,0,0,25,0,0,0,171,1,0,0,0, + 0,0,0,1,0,121,2,41,3,122,57,73,110,115,116,97, + 108,108,32,105,109,112,111,114,116,101,114,115,32,116,104,97, + 116,32,114,101,113,117,105,114,101,32,101,120,116,101,114,110, + 97,108,32,102,105,108,101,115,121,115,116,101,109,32,97,99, + 99,101,115,115,114,125,0,0,0,78,41,6,218,26,95,102, + 114,111,122,101,110,95,105,109,112,111,114,116,108,105,98,95, + 101,120,116,101,114,110,97,108,114,239,0,0,0,114,174,1, + 0,0,114,24,0,0,0,114,195,0,0,0,114,11,0,0, + 0,41,1,114,176,1,0,0,115,1,0,0,0,32,114,7, + 0,0,0,218,27,95,105,110,115,116,97,108,108,95,101,120, + 116,101,114,110,97,108,95,105,109,112,111,114,116,101,114,115, + 114,177,1,0,0,10,6,0,0,115,36,0,0,0,128,0, + 243,6,0,5,38,216,26,52,208,4,23,216,4,30,215,4, + 39,209,4,39,172,3,175,11,169,11,180,72,209,40,61,213, + 4,62,114,22,0,0,0,114,55,1,0,0,114,2,0,0, + 0,114,136,0,0,0,41,4,78,78,114,31,0,0,0,114, + 125,0,0,0,41,58,114,12,0,0,0,114,8,0,0,0, + 114,109,0,0,0,114,191,0,0,0,114,52,0,0,0,114, + 239,0,0,0,114,21,0,0,0,114,27,0,0,0,114,6, + 1,0,0,114,29,0,0,0,114,34,0,0,0,114,153,0, + 0,0,114,85,0,0,0,114,80,0,0,0,114,126,0,0, + 0,114,94,0,0,0,114,101,0,0,0,114,107,0,0,0, + 114,134,0,0,0,114,142,0,0,0,114,147,0,0,0,114, + 157,0,0,0,114,161,0,0,0,114,173,0,0,0,114,184, + 0,0,0,114,189,0,0,0,114,201,0,0,0,114,215,0, + 0,0,114,217,0,0,0,114,194,0,0,0,114,9,1,0, + 0,114,16,1,0,0,114,21,1,0,0,114,211,0,0,0, + 114,196,0,0,0,114,30,1,0,0,114,33,1,0,0,114, + 197,0,0,0,114,37,1,0,0,114,58,1,0,0,114,101, + 1,0,0,114,114,1,0,0,114,119,1,0,0,114,125,1, + 0,0,114,128,1,0,0,218,8,95,69,82,82,95,77,83, + 71,114,134,1,0,0,218,6,111,98,106,101,99,116,114,136, + 1,0,0,114,137,1,0,0,114,139,1,0,0,114,145,1, + 0,0,114,155,1,0,0,114,161,1,0,0,114,163,1,0, + 0,114,172,1,0,0,114,174,1,0,0,114,177,1,0,0, + 114,31,0,0,0,114,22,0,0,0,114,7,0,0,0,250, + 8,60,109,111,100,117,108,101,62,114,180,1,0,0,1,0, + 0,0,115,154,1,0,0,240,3,1,1,1,241,2,7,1, + 4,242,44,4,1,38,240,18,0,11,15,128,7,216,12,16, + 128,9,216,11,15,128,8,240,6,0,23,27,208,0,19,242, + 6,5,1,38,242,16,1,1,27,244,14,1,1,9,136,68, + 244,0,1,1,9,247,14,73,1,1,21,241,0,73,1,1, + 21,240,92,2,0,17,19,128,13,240,26,0,16,20,128,12, + 247,6,19,1,42,241,0,19,1,42,244,44,1,1,9,144, + 92,244,0,1,1,9,242,10,40,1,17,247,86,1,96,2, + 1,59,241,0,96,2,1,59,247,70,5,18,1,64,1,241, + 0,18,1,64,1,247,42,11,1,29,241,0,11,1,29,242, + 32,34,1,16,242,74,1,14,1,23,242,34,8,1,28,240, + 22,0,48,49,244,0,5,1,54,242,16,8,1,37,242,22, + 8,1,36,242,24,15,1,27,242,38,18,1,54,247,42,97, + 1,1,41,241,0,97,1,1,41,240,72,3,0,46,50,184, + 100,244,0,26,1,74,1,243,58,39,1,16,240,84,1,0, + 50,55,244,0,70,1,1,18,242,82,2,14,1,18,242,34, + 18,1,61,242,44,27,1,18,242,60,34,1,18,242,72,1, + 41,1,18,242,90,1,10,1,36,247,30,49,1,49,241,0, + 49,1,49,247,104,1,126,2,1,48,241,0,126,2,1,48, + 247,70,6,10,1,28,241,0,10,1,28,242,26,6,1,46, + 243,18,42,1,20,242,90,1,13,1,46,240,32,0,19,37, + 128,15,216,11,26,152,86,209,11,35,128,8,242,4,39,1, + 18,241,84,1,0,18,24,147,24,128,14,242,6,23,1,18, + 243,52,12,1,45,240,30,0,62,67,1,244,0,34,1,18, + 242,74,1,24,1,19,243,54,34,1,22,242,74,1,4,1, + 32,242,14,37,1,42,242,80,1,5,1,41,243,16,5,1, + 63,114,22,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/importlib._bootstrap_external.h b/contrib/tools/python3/src/Python/frozen_modules/importlib._bootstrap_external.h new file mode 100644 index 00000000000..0fa4dc9016e --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/importlib._bootstrap_external.h @@ -0,0 +1,3845 @@ +/* Auto-generated by Programs/_freeze_module.c */ +const unsigned char _Py_M__importlib__bootstrap_external[] = { + 99,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0, + 0,0,0,0,0,243,248,3,0,0,151,0,100,0,90,0, + 100,1,97,1,100,2,100,1,108,2,90,2,100,2,100,1, + 108,3,90,3,100,2,100,1,108,4,90,4,100,2,100,1, + 108,5,90,5,100,2,100,1,108,6,90,6,101,4,106,14, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,3,107,40,0,0,90,8,101,8,114,9,100,2, + 100,1,108,9,90,10,100,2,100,1,108,11,90,11,110,4, + 100,2,100,1,108,12,90,10,101,8,114,5,100,4,100,5, + 103,2,90,13,110,3,100,5,103,1,90,13,2,0,101,14, + 100,6,132,0,101,13,68,0,171,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,115,2,74,0,130,1,101,13, + 100,2,25,0,0,0,90,15,2,0,101,16,101,13,171,1, + 0,0,0,0,0,0,90,17,100,7,106,37,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,13, + 171,1,0,0,0,0,0,0,90,13,101,13,68,0,143,0, + 99,2,104,0,99,2,93,7,0,0,125,0,100,8,124,0, + 155,0,157,2,146,2,140,9,4,0,99,2,125,0,90,19, + 100,9,90,20,100,10,90,21,101,21,101,20,122,0,0,0, + 90,22,100,11,132,0,90,23,2,0,101,23,171,0,0,0, + 0,0,0,0,90,24,100,12,132,0,90,25,100,13,132,0, + 90,26,100,14,132,0,90,27,101,8,114,4,100,15,132,0, + 90,28,110,3,100,16,132,0,90,28,100,17,132,0,90,29, + 100,18,132,0,90,30,100,19,132,0,90,31,100,20,132,0, + 90,32,100,21,132,0,90,33,101,8,114,4,100,22,132,0, + 90,34,110,3,100,23,132,0,90,34,100,24,132,0,90,35, + 100,78,100,25,132,1,90,36,2,0,101,37,101,36,106,76, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,90,39,100,26,106,81, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,27,100,28,171,2,0,0,0,0,0,0,100,29, + 122,0,0,0,90,41,101,42,106,87,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,101,41,100,28, + 171,2,0,0,0,0,0,0,90,44,100,30,90,45,100,31, + 90,46,100,32,103,1,90,47,101,8,114,17,101,47,106,97, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,33,171,1,0,0,0,0,0,0,1,0,2,0, + 101,2,106,98,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,90,50, + 100,34,103,1,90,51,101,51,120,1,90,52,90,53,100,79, + 100,1,100,35,156,1,100,36,132,3,90,54,100,37,132,0, + 90,55,100,38,132,0,90,56,100,39,132,0,90,57,100,40, + 132,0,90,58,100,41,132,0,90,59,100,42,132,0,90,60, + 100,43,132,0,90,61,100,44,132,0,90,62,100,80,100,45, + 132,1,90,63,100,81,100,46,132,1,90,64,100,82,100,47, + 132,1,90,65,100,48,132,0,90,66,2,0,101,67,171,0, + 0,0,0,0,0,0,90,68,100,79,100,1,101,68,100,49, + 156,2,100,50,132,3,90,69,100,51,132,0,90,70,2,0, + 71,0,100,52,132,0,100,53,171,2,0,0,0,0,0,0, + 90,71,2,0,71,0,100,54,132,0,100,55,171,2,0,0, + 0,0,0,0,90,72,2,0,71,0,100,56,132,0,100,57, + 101,72,171,3,0,0,0,0,0,0,90,73,2,0,71,0, + 100,58,132,0,100,59,171,2,0,0,0,0,0,0,90,74, + 2,0,71,0,100,60,132,0,100,61,101,74,101,73,171,4, + 0,0,0,0,0,0,90,75,2,0,71,0,100,62,132,0, + 100,63,101,74,101,72,171,4,0,0,0,0,0,0,90,76, + 2,0,71,0,100,64,132,0,100,65,101,74,101,72,171,4, + 0,0,0,0,0,0,90,77,2,0,71,0,100,66,132,0, + 100,67,171,2,0,0,0,0,0,0,90,78,2,0,71,0, + 100,68,132,0,100,69,171,2,0,0,0,0,0,0,90,79, + 101,79,90,80,2,0,71,0,100,70,132,0,100,71,171,2, + 0,0,0,0,0,0,90,81,2,0,71,0,100,72,132,0, + 100,73,171,2,0,0,0,0,0,0,90,82,100,79,100,74, + 132,1,90,83,100,75,132,0,90,84,100,76,132,0,90,85, + 100,77,132,0,90,86,121,1,99,2,1,0,99,2,125,0, + 119,0,41,83,97,94,1,0,0,67,111,114,101,32,105,109, + 112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32, + 112,97,116,104,45,98,97,115,101,100,32,105,109,112,111,114, + 116,46,10,10,84,104,105,115,32,109,111,100,117,108,101,32, + 105,115,32,78,79,84,32,109,101,97,110,116,32,116,111,32, + 98,101,32,100,105,114,101,99,116,108,121,32,105,109,112,111, + 114,116,101,100,33,32,73,116,32,104,97,115,32,98,101,101, + 110,32,100,101,115,105,103,110,101,100,32,115,117,99,104,10, + 116,104,97,116,32,105,116,32,99,97,110,32,98,101,32,98, + 111,111,116,115,116,114,97,112,112,101,100,32,105,110,116,111, + 32,80,121,116,104,111,110,32,97,115,32,116,104,101,32,105, + 109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102, + 32,105,109,112,111,114,116,46,32,65,115,10,115,117,99,104, + 32,105,116,32,114,101,113,117,105,114,101,115,32,116,104,101, + 32,105,110,106,101,99,116,105,111,110,32,111,102,32,115,112, + 101,99,105,102,105,99,32,109,111,100,117,108,101,115,32,97, + 110,100,32,97,116,116,114,105,98,117,116,101,115,32,105,110, + 32,111,114,100,101,114,32,116,111,10,119,111,114,107,46,32, + 79,110,101,32,115,104,111,117,108,100,32,117,115,101,32,105, + 109,112,111,114,116,108,105,98,32,97,115,32,116,104,101,32, + 112,117,98,108,105,99,45,102,97,99,105,110,103,32,118,101, + 114,115,105,111,110,32,111,102,32,116,104,105,115,32,109,111, + 100,117,108,101,46,10,10,78,233,0,0,0,0,218,5,119, + 105,110,51,50,250,1,92,250,1,47,99,1,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,35,0,0,0,243, + 56,0,0,0,75,0,1,0,151,0,124,0,93,18,0,0, + 125,1,116,1,0,0,0,0,0,0,0,0,124,1,171,1, + 0,0,0,0,0,0,100,0,107,40,0,0,150,1,151,1, + 1,0,140,20,4,0,121,1,173,3,119,1,41,2,233,1, + 0,0,0,78,41,1,218,3,108,101,110,41,2,218,2,46, + 48,218,3,115,101,112,115,2,0,0,0,32,32,250,38,60, + 102,114,111,122,101,110,32,105,109,112,111,114,116,108,105,98, + 46,95,98,111,111,116,115,116,114,97,112,95,101,120,116,101, + 114,110,97,108,62,250,9,60,103,101,110,101,120,112,114,62, + 114,11,0,0,0,46,0,0,0,115,24,0,0,0,232,0, + 248,128,0,210,10,52,152,83,140,51,136,115,139,56,144,113, + 141,61,209,10,52,249,115,4,0,0,0,130,24,26,1,218, + 0,250,1,58,41,1,218,3,119,105,110,41,2,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,0,0,0,0,3,0,0,0,3,0, + 0,0,243,178,0,0,0,135,1,151,0,116,0,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,5,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,116,6,0, + 0,0,0,0,0,0,0,171,1,0,0,0,0,0,0,114, + 47,116,0,0,0,0,0,0,0,0,0,106,2,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,116,8,0,0,0,0,0,0,0,0,171,1,0, + 0,0,0,0,0,114,3,100,1,138,1,110,2,100,2,138, + 1,136,1,102,1,100,3,132,8,125,0,124,0,83,0,100, + 4,132,0,125,0,124,0,83,0,41,5,78,218,12,80,89, + 84,72,79,78,67,65,83,69,79,75,115,12,0,0,0,80, + 89,84,72,79,78,67,65,83,69,79,75,99,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,19,0,0,0, + 243,98,0,0,0,149,1,151,0,116,0,0,0,0,0,0, + 0,0,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,4,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,12,0,120,1,114, + 18,1,0,137,0,116,6,0,0,0,0,0,0,0,0,106, + 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,118,0,83,0,41,1,122,94,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,32, + 97,110,100,32,105,103,110,111,114,101,32,101,110,118,105,114, + 111,110,109,101,110,116,32,102,108,97,103,115,32,97,114,101, + 32,110,111,116,32,115,101,116,46,41,5,218,3,115,121,115, + 218,5,102,108,97,103,115,218,18,105,103,110,111,114,101,95, + 101,110,118,105,114,111,110,109,101,110,116,218,3,95,111,115, + 218,7,101,110,118,105,114,111,110,169,1,218,3,107,101,121, + 115,1,0,0,0,128,114,10,0,0,0,218,11,95,114,101, + 108,97,120,95,99,97,115,101,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,67, + 0,0,0,115,36,0,0,0,248,128,0,228,23,26,151,121, + 145,121,215,23,51,209,23,51,208,19,51,210,19,74,184,3, + 188,115,191,123,185,123,208,56,74,208,12,74,243,0,0,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,19,0,0,0,243,4,0,0,0,151,0,121,1,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,169,0,114,30,0,0,0, + 114,28,0,0,0,114,10,0,0,0,114,27,0,0,0,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,71,0,0,0,115,5,0,0,0,128, + 0,224,19,24,114,28,0,0,0,41,5,114,20,0,0,0, + 218,8,112,108,97,116,102,111,114,109,218,10,115,116,97,114, + 116,115,119,105,116,104,218,27,95,67,65,83,69,95,73,78, + 83,69,78,83,73,84,73,86,69,95,80,76,65,84,70,79, + 82,77,83,218,35,95,67,65,83,69,95,73,78,83,69,78, + 83,73,84,73,86,69,95,80,76,65,84,70,79,82,77,83, + 95,83,84,82,95,75,69,89,41,2,114,27,0,0,0,114, + 26,0,0,0,115,2,0,0,0,32,64,114,10,0,0,0, + 218,16,95,109,97,107,101,95,114,101,108,97,120,95,99,97, + 115,101,114,35,0,0,0,60,0,0,0,115,78,0,0,0, + 248,128,0,220,7,10,135,124,129,124,215,7,30,209,7,30, + 212,31,58,212,7,59,220,11,14,143,60,137,60,215,11,34, + 209,11,34,212,35,70,212,11,71,216,18,32,137,67,224,18, + 33,136,67,244,4,2,9,75,1,240,14,0,12,23,208,4, + 22,242,7,2,9,25,240,6,0,12,23,208,4,22,114,28, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,62,0,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,100,1,122,1,0,0,106,3,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,2,100, + 3,171,2,0,0,0,0,0,0,83,0,41,4,122,42,67, + 111,110,118,101,114,116,32,97,32,51,50,45,98,105,116,32, + 105,110,116,101,103,101,114,32,116,111,32,108,105,116,116,108, + 101,45,101,110,100,105,97,110,46,236,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,115,1,0,0,0,32,114,10,0, + 0,0,218,12,95,112,97,99,107,95,117,105,110,116,51,50, + 114,43,0,0,0,79,0,0,0,115,30,0,0,0,128,0, + 228,12,15,144,1,139,70,144,90,209,12,31,215,11,41,209, + 11,41,168,33,168,88,211,11,54,208,4,54,114,28,0,0, + 0,99,1,0,0,0,0,0,0,0,0,0,0,0,4,0, + 0,0,3,0,0,0,243,78,0,0,0,151,0,116,1,0, + 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0, + 0,100,1,107,40,0,0,115,2,74,0,130,1,116,2,0, + 0,0,0,0,0,0,0,106,5,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,100,2,171, + 2,0,0,0,0,0,0,83,0,41,3,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,38,0,0, + 0,114,39,0,0,0,169,3,114,7,0,0,0,114,40,0, + 0,0,218,10,102,114,111,109,95,98,121,116,101,115,169,1, + 218,4,100,97,116,97,115,1,0,0,0,32,114,10,0,0, + 0,218,14,95,117,110,112,97,99,107,95,117,105,110,116,51, + 50,114,49,0,0,0,84,0,0,0,243,33,0,0,0,128, + 0,228,11,14,136,116,139,57,152,1,138,62,209,4,25,220, + 11,14,143,62,137,62,152,36,160,8,211,11,41,208,4,41, + 114,28,0,0,0,99,1,0,0,0,0,0,0,0,0,0, + 0,0,4,0,0,0,3,0,0,0,243,78,0,0,0,151, + 0,116,1,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,100,1,107,40,0,0,115,2,74,0,130, + 1,116,2,0,0,0,0,0,0,0,0,106,5,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 0,100,2,171,2,0,0,0,0,0,0,83,0,41,3,122, + 47,67,111,110,118,101,114,116,32,50,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, + 233,2,0,0,0,114,39,0,0,0,114,45,0,0,0,114, + 47,0,0,0,115,1,0,0,0,32,114,10,0,0,0,218, + 14,95,117,110,112,97,99,107,95,117,105,110,116,49,54,114, + 53,0,0,0,89,0,0,0,114,50,0,0,0,114,28,0, + 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,7,0,0,0,243,148,2,0,0,151,0,124,0, + 115,1,121,1,116,1,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,100,2,107,40,0,0,114,5, + 124,0,100,3,25,0,0,0,83,0,100,1,125,1,103,0, + 125,2,116,3,0,0,0,0,0,0,0,0,116,4,0,0, + 0,0,0,0,0,0,106,6,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,171,2,0,0, + 0,0,0,0,68,0,93,180,0,0,92,2,0,0,125,3, + 125,4,124,3,106,9,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,10,0,0,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,115,21,124,3,106,13, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,10,0,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,114,36,124,3,106,15,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,116,16,0,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,120,1, + 115,2,1,0,124,1,125,1,116,18,0,0,0,0,0,0, + 0,0,124,4,122,0,0,0,103,1,125,2,140,84,124,3, + 106,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,4,171,1,0,0,0,0,0,0,114,57, + 124,1,106,21,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,124,3, + 106,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,107,55,0,0, + 114,6,124,3,125,1,124,4,103,1,125,2,140,140,124,2, + 106,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,4,171,1,0,0,0,0,0,0,1,0, + 140,158,124,3,120,1,115,2,1,0,124,1,125,1,124,2, + 106,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,4,171,1,0,0,0,0,0,0,1,0, + 140,182,4,0,124,2,68,0,143,5,99,2,103,0,99,2, + 93,26,0,0,125,5,124,5,115,1,140,6,124,5,106,15, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,16,0,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,145,2,140,28,4,0,125,2,125,5,116,1, + 0,0,0,0,0,0,0,0,124,2,171,1,0,0,0,0, + 0,0,100,2,107,40,0,0,114,14,124,2,100,3,25,0, + 0,0,115,9,124,1,116,18,0,0,0,0,0,0,0,0, + 122,0,0,0,83,0,124,1,116,18,0,0,0,0,0,0, + 0,0,106,25,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0, + 122,0,0,0,83,0,99,2,1,0,99,2,125,5,119,0, + 41,5,250,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,114,12,0,0,0,114,6,0,0,0,114,1,0, + 0,0,114,13,0,0,0,41,13,114,7,0,0,0,218,3, + 109,97,112,114,23,0,0,0,218,15,95,112,97,116,104,95, + 115,112,108,105,116,114,111,111,116,114,32,0,0,0,218,14, + 112,97,116,104,95,115,101,112,95,116,117,112,108,101,218,8, + 101,110,100,115,119,105,116,104,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,218,8,112,97,116,104,95,115,101,112,218,8,99,97,115, + 101,102,111,108,100,218,6,97,112,112,101,110,100,218,4,106, + 111,105,110,41,6,218,10,112,97,116,104,95,112,97,114,116, + 115,218,4,114,111,111,116,218,4,112,97,116,104,218,8,110, + 101,119,95,114,111,111,116,218,4,116,97,105,108,218,1,112, + 115,6,0,0,0,32,32,32,32,32,32,114,10,0,0,0, + 218,10,95,112,97,116,104,95,106,111,105,110,114,72,0,0, + 0,96,0,0,0,115,43,1,0,0,128,0,225,15,25,216, + 19,21,220,11,14,136,122,139,63,152,97,210,11,31,216,19, + 29,152,97,145,61,208,12,32,216,15,17,136,4,216,15,17, + 136,4,220,30,33,164,35,215,34,53,209,34,53,176,122,211, + 30,66,242,0,14,9,34,137,78,136,72,144,100,216,15,23, + 215,15,34,209,15,34,164,62,212,15,50,176,104,215,54,71, + 209,54,71,204,14,212,54,87,216,23,31,151,127,145,127,164, + 127,211,23,55,210,23,63,184,52,144,4,220,24,32,160,52, + 153,15,208,23,40,145,4,216,17,25,215,17,34,209,17,34, + 160,51,212,17,39,216,19,23,151,61,145,61,147,63,160,104, + 215,38,55,209,38,55,211,38,57,210,19,57,240,6,0,28, + 36,144,68,216,28,32,152,54,145,68,224,20,24,151,75,145, + 75,160,4,213,20,37,224,23,31,210,23,39,160,52,144,4, + 216,16,20,151,11,145,11,152,68,213,16,33,240,29,14,9, + 34,240,30,0,52,56,214,15,61,168,97,186,49,144,1,151, + 8,145,8,156,31,213,16,41,208,15,61,136,4,208,15,61, + 220,11,14,136,116,139,57,152,1,138,62,160,36,160,113,162, + 39,224,19,23,156,40,145,63,208,12,34,216,15,19,148,104, + 151,109,145,109,160,68,211,22,41,209,15,41,208,8,41,249, + 242,9,0,16,62,115,12,0,0,0,195,48,7,69,5,4, + 195,56,23,69,5,4,99,0,0,0,0,0,0,0,0,0, + 0,0,0,8,0,0,0,7,0,0,0,243,124,0,0,0, + 151,0,116,0,0,0,0,0,0,0,0,0,106,3,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,68,0,143,1,99,2,103,0,99,2,93,25,0,0, + 125,1,124,1,114,21,124,1,106,5,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,116,6,0,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,145,2, + 140,27,4,0,99,2,125,1,171,1,0,0,0,0,0,0, + 83,0,99,2,1,0,99,2,125,1,119,0,41,1,114,55, + 0,0,0,41,4,114,62,0,0,0,114,65,0,0,0,114, + 60,0,0,0,114,61,0,0,0,41,2,114,66,0,0,0, + 218,4,112,97,114,116,115,2,0,0,0,32,32,114,10,0, + 0,0,114,72,0,0,0,114,72,0,0,0,126,0,0,0, + 115,57,0,0,0,128,0,228,15,23,143,125,137,125,216,42, + 52,246,3,1,30,62,216,34,38,185,4,240,3,0,31,35, + 159,107,153,107,172,47,213,30,58,242,0,1,30,62,243,0, + 1,16,63,240,0,1,9,63,249,242,0,1,30,62,115,4, + 0,0,0,148,30,57,8,99,1,0,0,0,0,0,0,0, + 0,0,0,0,4,0,0,0,3,0,0,0,243,96,0,0, + 0,135,0,151,0,116,1,0,0,0,0,0,0,0,0,136, + 0,102,1,100,1,132,8,116,2,0,0,0,0,0,0,0, + 0,68,0,171,0,0,0,0,0,0,0,171,1,0,0,0, + 0,0,0,125,1,124,1,100,2,107,2,0,0,114,4,100, + 3,137,0,102,2,83,0,137,0,100,4,124,1,26,0,137, + 0,124,1,100,5,122,0,0,0,100,4,26,0,102,2,83, + 0,41,6,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,99,1,0,0,0,0,0,0,0,0,0, + 0,0,4,0,0,0,51,0,0,0,243,64,0,0,0,149, + 1,75,0,1,0,151,0,124,0,93,21,0,0,125,1,137, + 2,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,150, + 1,151,1,1,0,140,23,4,0,121,0,173,3,119,1,169, + 1,78,41,1,218,5,114,102,105,110,100,41,3,114,8,0, + 0,0,114,71,0,0,0,114,68,0,0,0,115,3,0,0, + 0,32,32,128,114,10,0,0,0,114,11,0,0,0,122,30, + 95,112,97,116,104,95,115,112,108,105,116,46,60,108,111,99, + 97,108,115,62,46,60,103,101,110,101,120,112,114,62,134,0, + 0,0,115,25,0,0,0,248,232,0,248,128,0,210,11,51, + 152,97,136,68,143,74,137,74,144,113,143,77,209,11,51,249, + 115,4,0,0,0,131,27,30,1,114,1,0,0,0,114,12, + 0,0,0,78,114,6,0,0,0,41,2,218,3,109,97,120, + 114,61,0,0,0,41,2,114,68,0,0,0,218,1,105,115, + 2,0,0,0,96,32,114,10,0,0,0,218,11,95,112,97, + 116,104,95,115,112,108,105,116,114,81,0,0,0,132,0,0, + 0,115,62,0,0,0,248,128,0,228,8,11,211,11,51,164, + 63,212,11,51,211,8,51,128,65,216,7,8,136,49,130,117, + 216,15,17,144,52,136,120,136,15,216,11,15,144,2,144,17, + 136,56,144,84,152,33,152,97,153,37,152,38,144,92,208,11, + 33,208,4,33,114,28,0,0,0,99,1,0,0,0,0,0, + 0,0,0,0,0,0,3,0,0,0,3,0,0,0,243,44, + 0,0,0,151,0,116,1,0,0,0,0,0,0,0,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,83,0,41, + 1,122,126,83,116,97,116,32,116,104,101,32,112,97,116,104, + 46,10,10,32,32,32,32,77,97,100,101,32,97,32,115,101, + 112,97,114,97,116,101,32,102,117,110,99,116,105,111,110,32, + 116,111,32,109,97,107,101,32,105,116,32,101,97,115,105,101, + 114,32,116,111,32,111,118,101,114,114,105,100,101,32,105,110, + 32,101,120,112,101,114,105,109,101,110,116,115,10,32,32,32, + 32,40,101,46,103,46,32,99,97,99,104,101,32,115,116,97, + 116,32,114,101,115,117,108,116,115,41,46,10,10,32,32,32, + 32,41,2,114,23,0,0,0,218,4,115,116,97,116,169,1, + 114,68,0,0,0,115,1,0,0,0,32,114,10,0,0,0, + 218,10,95,112,97,116,104,95,115,116,97,116,114,85,0,0, + 0,140,0,0,0,115,18,0,0,0,128,0,244,14,0,12, + 15,143,56,137,56,144,68,139,62,208,4,25,114,28,0,0, + 0,99,2,0,0,0,0,0,0,0,0,0,0,0,4,0, + 0,0,3,0,0,0,243,92,0,0,0,151,0,9,0,116, + 1,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,125,2,124,2,106,4,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,2,122,1,0, + 0,124,1,107,40,0,0,83,0,35,0,116,2,0,0,0, + 0,0,0,0,0,36,0,114,3,1,0,89,0,121,1,119, + 0,120,3,89,0,119,1,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,85,0,0,0,218,7,79,83,69,114,114, + 111,114,218,7,115,116,95,109,111,100,101,41,3,114,68,0, + 0,0,218,4,109,111,100,101,218,9,115,116,97,116,95,105, + 110,102,111,115,3,0,0,0,32,32,32,114,10,0,0,0, + 218,18,95,112,97,116,104,95,105,115,95,109,111,100,101,95, + 116,121,112,101,114,91,0,0,0,150,0,0,0,115,61,0, + 0,0,128,0,240,4,3,5,21,220,20,30,152,116,211,20, + 36,136,9,240,6,0,13,22,215,12,29,209,12,29,160,8, + 209,12,40,168,84,209,11,49,208,4,49,248,244,5,0,12, + 19,242,0,1,5,21,217,15,20,240,3,1,5,21,250,115, + 12,0,0,0,130,11,31,0,159,9,43,3,170,1,43,3, + 99,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,26,0,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,124,0,100,1,171,2,0,0,0,0, + 0,0,83,0,41,2,122,31,82,101,112,108,97,99,101,109, + 101,110,116,32,102,111,114,32,111,115,46,112,97,116,104,46, + 105,115,102,105,108,101,46,105,0,128,0,0,41,1,114,91, + 0,0,0,114,84,0,0,0,115,1,0,0,0,32,114,10, + 0,0,0,218,12,95,112,97,116,104,95,105,115,102,105,108, + 101,114,93,0,0,0,159,0,0,0,115,15,0,0,0,128, + 0,228,11,29,152,100,160,72,211,11,45,208,4,45,114,28, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,70,0,0,0,151,0,124, + 0,115,20,116,1,0,0,0,0,0,0,0,0,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,125,0,116,5,0,0,0, + 0,0,0,0,0,124,0,100,1,171,2,0,0,0,0,0, + 0,83,0,41,2,122,30,82,101,112,108,97,99,101,109,101, + 110,116,32,102,111,114,32,111,115,46,112,97,116,104,46,105, + 115,100,105,114,46,105,0,64,0,0,41,3,114,23,0,0, + 0,218,6,103,101,116,99,119,100,114,91,0,0,0,114,84, + 0,0,0,115,1,0,0,0,32,114,10,0,0,0,218,11, + 95,112,97,116,104,95,105,115,100,105,114,114,96,0,0,0, + 164,0,0,0,115,29,0,0,0,128,0,225,11,15,220,15, + 18,143,122,137,122,139,124,136,4,220,11,29,152,100,160,72, + 211,11,45,208,4,45,114,28,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, + 243,192,0,0,0,151,0,124,0,115,1,121,1,116,1,0, + 0,0,0,0,0,0,0,106,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,100,2,25,0,0,0,106,5,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 3,100,4,171,2,0,0,0,0,0,0,125,1,116,7,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,100,5,107,68,0,0,120,1,114,36,1,0,124,1,106, + 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,6,171,1,0,0,0,0,0,0,120,1,115, + 17,1,0,124,1,106,11,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,4,171,1,0,0,0, + 0,0,0,83,0,41,7,250,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,97,98,115,46,70,114,1,0,0,0,114,4,0, + 0,0,114,3,0,0,0,114,6,0,0,0,122,2,92,92, + 41,6,114,23,0,0,0,114,57,0,0,0,218,7,114,101, + 112,108,97,99,101,114,7,0,0,0,114,32,0,0,0,114, + 59,0,0,0,41,2,114,68,0,0,0,114,67,0,0,0, + 115,2,0,0,0,32,32,114,10,0,0,0,218,11,95,112, + 97,116,104,95,105,115,97,98,115,114,100,0,0,0,172,0, + 0,0,115,84,0,0,0,128,0,225,15,19,216,19,24,220, + 15,18,215,15,34,209,15,34,160,52,211,15,40,168,17,209, + 15,43,215,15,51,209,15,51,176,67,184,20,211,15,62,136, + 4,220,15,18,144,52,139,121,152,49,137,125,210,15,81,160, + 36,167,47,161,47,176,38,211,34,57,210,34,80,184,84,191, + 93,185,93,200,52,211,61,80,208,8,81,114,28,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,3,0,0,0,243,44,0,0,0,151,0,124,0,106,1, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,2,0,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,83,0,41,1,114,98,0,0,0,41,2,114, + 32,0,0,0,114,61,0,0,0,114,84,0,0,0,115,1, + 0,0,0,32,114,10,0,0,0,114,100,0,0,0,114,100, + 0,0,0,180,0,0,0,115,17,0,0,0,128,0,224,15, + 19,143,127,137,127,156,127,211,15,47,208,8,47,114,28,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,5, + 0,0,0,3,0,0,0,243,150,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,115,61,116,2,0,0,0,0,0,0,0,0,68,0, + 93,22,0,0,125,1,124,0,106,5,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,1,124,1, + 155,0,157,2,171,1,0,0,0,0,0,0,125,0,140,24, + 4,0,116,7,0,0,0,0,0,0,0,0,116,9,0,0, + 0,0,0,0,0,0,106,10,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,124,0,171,2,0,0,0,0,0,0,83,0,124,0, + 83,0,41,2,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,97,98, + 115,112,97,116,104,46,250,1,46,41,6,114,100,0,0,0, + 114,61,0,0,0,218,12,114,101,109,111,118,101,112,114,101, + 102,105,120,114,72,0,0,0,114,23,0,0,0,114,95,0, + 0,0,41,2,114,68,0,0,0,114,9,0,0,0,115,2, + 0,0,0,32,32,114,10,0,0,0,218,13,95,112,97,116, + 104,95,97,98,115,112,97,116,104,114,105,0,0,0,185,0, + 0,0,115,71,0,0,0,128,0,228,11,22,144,116,212,11, + 28,220,19,34,242,0,1,9,48,136,67,216,19,23,215,19, + 36,209,19,36,160,113,168,19,168,5,160,89,211,19,47,137, + 68,240,3,1,9,48,228,15,25,156,35,159,42,153,42,155, + 44,168,4,211,15,45,208,8,45,224,15,19,136,11,114,28, + 0,0,0,99,3,0,0,0,0,0,0,0,0,0,0,0, + 6,0,0,0,3,0,0,0,243,196,1,0,0,151,0,124, + 0,155,0,100,1,116,1,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,155,0,157,3,125,3,116, + 3,0,0,0,0,0,0,0,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,3,116, + 2,0,0,0,0,0,0,0,0,106,6,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,116,2,0, + 0,0,0,0,0,0,0,106,8,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,122,7,0,0,116, + 2,0,0,0,0,0,0,0,0,106,10,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,122,7,0, + 0,124,2,100,2,122,1,0,0,171,3,0,0,0,0,0, + 0,125,4,9,0,116,13,0,0,0,0,0,0,0,0,106, + 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,4,100,3,171,2,0,0,0,0,0,0,53, + 0,125,5,124,5,106,17,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,1,171,1,0,0,0, + 0,0,0,1,0,100,4,100,4,100,4,171,2,0,0,0, + 0,0,0,1,0,116,3,0,0,0,0,0,0,0,0,106, + 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,3,124,0,171,2,0,0,0,0,0,0,1, + 0,121,4,35,0,49,0,115,1,119,2,1,0,89,0,1, + 0,1,0,140,32,120,3,89,0,119,1,35,0,116,20,0, + 0,0,0,0,0,0,0,36,0,114,39,1,0,9,0,116, + 3,0,0,0,0,0,0,0,0,106,22,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,3,171, + 1,0,0,0,0,0,0,1,0,130,0,35,0,116,20,0, + 0,0,0,0,0,0,0,36,0,114,3,1,0,89,0,130, + 0,119,0,120,3,89,0,119,1,119,0,120,3,89,0,119, + 1,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,114,103,0,0,0,233,182,1,0, + 0,218,2,119,98,78,41,12,218,2,105,100,114,23,0,0, + 0,218,4,111,112,101,110,218,6,79,95,69,88,67,76,218, + 7,79,95,67,82,69,65,84,218,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,114,99,0,0,0,114,87,0,0,0, + 218,6,117,110,108,105,110,107,41,6,114,68,0,0,0,114, + 48,0,0,0,114,89,0,0,0,218,8,112,97,116,104,95, + 116,109,112,218,2,102,100,218,4,102,105,108,101,115,6,0, + 0,0,32,32,32,32,32,32,114,10,0,0,0,218,13,95, + 119,114,105,116,101,95,97,116,111,109,105,99,114,121,0,0, + 0,195,0,0,0,115,203,0,0,0,128,0,240,10,0,19, + 23,144,22,144,113,156,18,152,68,155,24,152,10,208,15,35, + 128,72,220,9,12,143,24,137,24,144,40,220,18,21,151,42, + 145,42,156,115,159,123,153,123,209,18,42,172,83,175,92,169, + 92,209,18,57,184,52,192,37,185,60,243,3,1,10,73,1, + 128,66,240,4,11,5,14,244,6,0,14,17,143,90,137,90, + 152,2,152,68,211,13,33,240,0,1,9,29,160,84,216,12, + 16,143,74,137,74,144,116,212,12,28,247,3,1,9,29,228, + 8,11,143,11,137,11,144,72,152,100,213,8,35,247,5,1, + 9,29,240,0,1,9,29,251,244,6,0,12,19,242,0,5, + 5,14,240,2,3,9,17,220,12,15,143,74,137,74,144,120, + 212,12,32,240,6,0,9,14,248,244,5,0,16,23,242,0, + 1,9,17,216,12,16,216,8,13,240,5,1,9,17,250,240, + 7,5,5,14,250,115,72,0,0,0,193,28,22,66,47,0, + 193,50,18,66,35,3,194,4,30,66,47,0,194,35,5,66, + 44,7,194,40,7,66,47,0,194,47,9,67,31,3,194,57, + 21,67,15,2,195,14,1,67,31,3,195,15,9,67,27,5, + 195,24,2,67,31,3,195,26,1,67,27,5,195,27,4,67, + 31,3,105,203,13,0,0,114,52,0,0,0,114,39,0,0, + 0,115,2,0,0,0,13,10,218,11,95,95,112,121,99,97, + 99,104,101,95,95,122,4,111,112,116,45,122,3,46,112,121, + 122,4,46,112,121,119,122,4,46,112,121,99,41,1,218,12, + 111,112,116,105,109,105,122,97,116,105,111,110,99,2,0,0, + 0,0,0,0,0,1,0,0,0,6,0,0,0,3,0,0, + 0,243,60,3,0,0,151,0,124,1,129,47,116,1,0,0, + 0,0,0,0,0,0,106,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,2,116,4,0,0, + 0,0,0,0,0,0,171,2,0,0,0,0,0,0,1,0, + 124,2,129,13,100,3,125,3,116,7,0,0,0,0,0,0, + 0,0,124,3,171,1,0,0,0,0,0,0,130,1,124,1, + 114,2,100,4,110,1,100,5,125,2,116,9,0,0,0,0, + 0,0,0,0,106,10,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,125,0,116,13,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,92,2,0,0,125,4,125,5, + 124,5,106,15,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,6,171,1,0,0,0,0,0,0, + 92,3,0,0,125,6,125,7,125,8,116,16,0,0,0,0, + 0,0,0,0,106,18,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,106,20,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,125,9,124,9, + 128,11,116,23,0,0,0,0,0,0,0,0,100,7,171,1, + 0,0,0,0,0,0,130,1,100,4,106,25,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,6, + 114,2,124,6,110,1,124,8,124,7,124,9,103,3,171,1, + 0,0,0,0,0,0,125,10,124,2,128,58,116,16,0,0, + 0,0,0,0,0,0,106,26,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,106,28,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,8, + 107,40,0,0,114,3,100,4,125,2,110,26,116,16,0,0, + 0,0,0,0,0,0,106,26,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,106,28,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,2, + 116,31,0,0,0,0,0,0,0,0,124,2,171,1,0,0, + 0,0,0,0,125,2,124,2,100,4,107,55,0,0,114,43, + 124,2,106,33,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,115,14, + 116,35,0,0,0,0,0,0,0,0,124,2,155,2,100,9, + 157,2,171,1,0,0,0,0,0,0,130,1,124,10,155,0, + 100,6,116,36,0,0,0,0,0,0,0,0,155,0,124,2, + 155,0,157,4,125,10,124,10,116,38,0,0,0,0,0,0, + 0,0,100,8,25,0,0,0,122,0,0,0,125,11,116,16, + 0,0,0,0,0,0,0,0,106,40,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,129,81,116,43, + 0,0,0,0,0,0,0,0,124,4,171,1,0,0,0,0, + 0,0,125,4,124,4,100,5,25,0,0,0,100,10,107,40, + 0,0,114,16,124,4,100,8,25,0,0,0,116,44,0,0, + 0,0,0,0,0,0,118,1,114,5,124,4,100,11,100,1, + 26,0,125,4,116,47,0,0,0,0,0,0,0,0,116,16, + 0,0,0,0,0,0,0,0,106,40,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,4,106,49, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,44,0,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,124,11,171,3,0,0,0,0,0,0,83,0, + 116,47,0,0,0,0,0,0,0,0,124,4,116,50,0,0, + 0,0,0,0,0,0,124,11,171,3,0,0,0,0,0,0, + 83,0,41,12,97,254,2,0,0,71,105,118,101,110,32,116, + 104,101,32,112,97,116,104,32,116,111,32,97,32,46,112,121, + 32,102,105,108,101,44,32,114,101,116,117,114,110,32,116,104, + 101,32,112,97,116,104,32,116,111,32,105,116,115,32,46,112, + 121,99,32,102,105,108,101,46,10,10,32,32,32,32,84,104, + 101,32,46,112,121,32,102,105,108,101,32,100,111,101,115,32, + 110,111,116,32,110,101,101,100,32,116,111,32,101,120,105,115, + 116,59,32,116,104,105,115,32,115,105,109,112,108,121,32,114, + 101,116,117,114,110,115,32,116,104,101,32,112,97,116,104,32, + 116,111,32,116,104,101,10,32,32,32,32,46,112,121,99,32, + 102,105,108,101,32,99,97,108,99,117,108,97,116,101,100,32, + 97,115,32,105,102,32,116,104,101,32,46,112,121,32,102,105, + 108,101,32,119,101,114,101,32,105,109,112,111,114,116,101,100, + 46,10,10,32,32,32,32,84,104,101,32,39,111,112,116,105, + 109,105,122,97,116,105,111,110,39,32,112,97,114,97,109,101, + 116,101,114,32,99,111,110,116,114,111,108,115,32,116,104,101, + 32,112,114,101,115,117,109,101,100,32,111,112,116,105,109,105, + 122,97,116,105,111,110,32,108,101,118,101,108,32,111,102,10, + 32,32,32,32,116,104,101,32,98,121,116,101,99,111,100,101, + 32,102,105,108,101,46,32,73,102,32,39,111,112,116,105,109, + 105,122,97,116,105,111,110,39,32,105,115,32,110,111,116,32, + 78,111,110,101,44,32,116,104,101,32,115,116,114,105,110,103, + 32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,10, + 32,32,32,32,111,102,32,116,104,101,32,97,114,103,117,109, + 101,110,116,32,105,115,32,116,97,107,101,110,32,97,110,100, + 32,118,101,114,105,102,105,101,100,32,116,111,32,98,101,32, + 97,108,112,104,97,110,117,109,101,114,105,99,32,40,101,108, + 115,101,32,86,97,108,117,101,69,114,114,111,114,10,32,32, + 32,32,105,115,32,114,97,105,115,101,100,41,46,10,10,32, + 32,32,32,84,104,101,32,100,101,98,117,103,95,111,118,101, + 114,114,105,100,101,32,112,97,114,97,109,101,116,101,114,32, + 105,115,32,100,101,112,114,101,99,97,116,101,100,46,32,73, + 102,32,100,101,98,117,103,95,111,118,101,114,114,105,100,101, + 32,105,115,32,110,111,116,32,78,111,110,101,44,10,32,32, + 32,32,97,32,84,114,117,101,32,118,97,108,117,101,32,105, + 115,32,116,104,101,32,115,97,109,101,32,97,115,32,115,101, + 116,116,105,110,103,32,39,111,112,116,105,109,105,122,97,116, + 105,111,110,39,32,116,111,32,116,104,101,32,101,109,112,116, + 121,32,115,116,114,105,110,103,10,32,32,32,32,119,104,105, + 108,101,32,97,32,70,97,108,115,101,32,118,97,108,117,101, + 32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116, + 111,32,115,101,116,116,105,110,103,32,39,111,112,116,105,109, + 105,122,97,116,105,111,110,39,32,116,111,32,39,49,39,46, + 10,10,32,32,32,32,73,102,32,115,121,115,46,105,109,112, + 108,101,109,101,110,116,97,116,105,111,110,46,99,97,99,104, + 101,95,116,97,103,32,105,115,32,78,111,110,101,32,116,104, + 101,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101, + 100,69,114,114,111,114,32,105,115,32,114,97,105,115,101,100, + 46,10,10,32,32,32,32,78,122,70,116,104,101,32,100,101, + 98,117,103,95,111,118,101,114,114,105,100,101,32,112,97,114, + 97,109,101,116,101,114,32,105,115,32,100,101,112,114,101,99, + 97,116,101,100,59,32,117,115,101,32,39,111,112,116,105,109, + 105,122,97,116,105,111,110,39,32,105,110,115,116,101,97,100, + 122,50,100,101,98,117,103,95,111,118,101,114,114,105,100,101, + 32,111,114,32,111,112,116,105,109,105,122,97,116,105,111,110, + 32,109,117,115,116,32,98,101,32,115,101,116,32,116,111,32, + 78,111,110,101,114,12,0,0,0,114,6,0,0,0,114,103, + 0,0,0,250,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,1,0,0,0,122,20, + 32,105,115,32,110,111,116,32,97,108,112,104,97,110,117,109, + 101,114,105,99,114,13,0,0,0,114,52,0,0,0,41,26, + 218,9,95,119,97,114,110,105,110,103,115,218,4,119,97,114, + 110,218,18,68,101,112,114,101,99,97,116,105,111,110,87,97, + 114,110,105,110,103,218,9,84,121,112,101,69,114,114,111,114, + 114,23,0,0,0,218,6,102,115,112,97,116,104,114,81,0, + 0,0,218,10,114,112,97,114,116,105,116,105,111,110,114,20, + 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,65,0,0,0,114,21,0,0,0,218,8,111, + 112,116,105,109,105,122,101,218,3,115,116,114,218,7,105,115, + 97,108,110,117,109,218,10,86,97,108,117,101,69,114,114,111, + 114,218,4,95,79,80,84,218,17,66,89,84,69,67,79,68, + 69,95,83,85,70,70,73,88,69,83,218,14,112,121,99,97, + 99,104,101,95,112,114,101,102,105,120,114,105,0,0,0,114, + 61,0,0,0,114,72,0,0,0,218,6,108,115,116,114,105, + 112,218,8,95,80,89,67,65,67,72,69,41,12,114,68,0, + 0,0,218,14,100,101,98,117,103,95,111,118,101,114,114,105, + 100,101,114,123,0,0,0,218,7,109,101,115,115,97,103,101, + 218,4,104,101,97,100,114,70,0,0,0,218,4,98,97,115, + 101,114,9,0,0,0,218,4,114,101,115,116,218,3,116,97, + 103,218,15,97,108,109,111,115,116,95,102,105,108,101,110,97, + 109,101,218,8,102,105,108,101,110,97,109,101,115,12,0,0, + 0,32,32,32,32,32,32,32,32,32,32,32,32,114,10,0, + 0,0,218,17,99,97,99,104,101,95,102,114,111,109,95,115, + 111,117,114,99,101,114,152,0,0,0,226,1,0,0,115,159, + 1,0,0,128,0,240,36,0,8,22,208,7,33,220,8,17, + 143,14,137,14,240,0,1,24,48,220,49,67,244,3,1,9, + 69,1,224,11,23,208,11,35,216,22,74,136,71,220,18,27, + 152,71,211,18,36,208,12,36,217,29,43,145,114,176,17,136, + 12,220,11,14,143,58,137,58,144,100,211,11,27,128,68,220, + 17,28,152,84,211,17,34,129,74,128,68,136,36,216,22,26, + 151,111,145,111,160,99,211,22,42,129,79,128,68,136,35,136, + 116,220,10,13,215,10,28,209,10,28,215,10,38,209,10,38, + 128,67,216,7,10,128,123,220,14,33,208,34,72,211,14,73, + 208,8,73,216,22,24,151,103,145,103,169,4,161,4,176,36, + 184,19,184,99,208,30,66,211,22,67,128,79,216,7,19,208, + 7,27,220,11,14,143,57,137,57,215,11,29,209,11,29,160, + 17,210,11,34,216,27,29,137,76,228,27,30,159,57,153,57, + 215,27,45,209,27,45,136,76,220,19,22,144,124,211,19,36, + 128,76,216,7,19,144,114,210,7,25,216,15,27,215,15,35, + 209,15,35,212,15,37,220,18,28,160,12,208,31,47,208,47, + 67,208,29,68,211,18,69,208,12,69,216,29,44,208,28,45, + 168,81,172,116,168,102,176,92,176,78,208,26,67,136,15,216, + 15,30,212,33,50,176,49,209,33,53,209,15,53,128,72,220, + 7,10,215,7,25,209,7,25,208,7,37,244,18,0,16,29, + 152,84,211,15,34,136,4,240,10,0,12,16,144,1,137,55, + 144,99,138,62,152,100,160,49,153,103,172,95,209,30,60,216, + 19,23,152,1,152,2,144,56,136,68,244,8,0,16,26,220, + 12,15,215,12,30,209,12,30,216,12,16,143,75,137,75,156, + 15,211,12,40,216,12,20,243,7,4,16,10,240,0,4,9, + 10,244,10,0,12,22,144,100,156,72,160,104,211,11,47,208, + 4,47,114,28,0,0,0,99,1,0,0,0,0,0,0,0, + 0,0,0,0,6,0,0,0,3,0,0,0,243,36,3,0, + 0,151,0,116,0,0,0,0,0,0,0,0,0,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,106,4,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,128,11,116,7,0,0,0,0,0,0,0, + 0,100,2,171,1,0,0,0,0,0,0,130,1,116,9,0, + 0,0,0,0,0,0,0,106,10,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,125,0,116,13,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,92,2,0,0,125, + 1,125,2,100,3,125,3,116,0,0,0,0,0,0,0,0, + 0,106,14,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,129,75,116,0,0,0,0,0,0,0,0, + 0,106,14,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,106,17,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,116,18,0,0,0,0,0, + 0,0,0,171,1,0,0,0,0,0,0,125,4,124,1,106, + 21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,4,116,22,0,0,0,0,0,0,0,0,122, + 0,0,0,171,1,0,0,0,0,0,0,114,16,124,1,116, + 25,0,0,0,0,0,0,0,0,124,4,171,1,0,0,0, + 0,0,0,100,1,26,0,125,1,100,4,125,3,124,3,115, + 43,116,13,0,0,0,0,0,0,0,0,124,1,171,1,0, + 0,0,0,0,0,92,2,0,0,125,1,125,5,124,5,116, + 26,0,0,0,0,0,0,0,0,107,55,0,0,114,20,116, + 29,0,0,0,0,0,0,0,0,116,26,0,0,0,0,0, + 0,0,0,155,0,100,5,124,0,155,2,157,3,171,1,0, + 0,0,0,0,0,130,1,124,2,106,31,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,6,171, + 1,0,0,0,0,0,0,125,6,124,6,100,7,118,1,114, + 14,116,29,0,0,0,0,0,0,0,0,100,8,124,2,155, + 2,157,2,171,1,0,0,0,0,0,0,130,1,124,6,100, + 9,107,40,0,0,114,109,124,2,106,33,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,6,100, + 10,171,2,0,0,0,0,0,0,100,11,25,0,0,0,125, + 7,124,7,106,21,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,116,34,0,0,0,0,0,0,0, + 0,171,1,0,0,0,0,0,0,115,18,116,29,0,0,0, + 0,0,0,0,0,100,12,116,34,0,0,0,0,0,0,0, + 0,155,2,157,2,171,1,0,0,0,0,0,0,130,1,124, + 7,116,25,0,0,0,0,0,0,0,0,116,34,0,0,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,100,1,26, + 0,125,8,124,8,106,37,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,115,15,116,29,0,0,0,0,0,0,0,0,100,13,124, + 7,155,2,100,14,157,3,171,1,0,0,0,0,0,0,130, + 1,124,2,106,39,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,6,171,1,0,0,0,0,0, + 0,100,15,25,0,0,0,125,9,116,41,0,0,0,0,0, + 0,0,0,124,1,124,9,116,42,0,0,0,0,0,0,0, + 0,100,15,25,0,0,0,122,0,0,0,171,2,0,0,0, + 0,0,0,83,0,41,16,97,110,1,0,0,71,105,118,101, + 110,32,116,104,101,32,112,97,116,104,32,116,111,32,97,32, + 46,112,121,99,46,32,102,105,108,101,44,32,114,101,116,117, + 114,110,32,116,104,101,32,112,97,116,104,32,116,111,32,105, + 116,115,32,46,112,121,32,102,105,108,101,46,10,10,32,32, + 32,32,84,104,101,32,46,112,121,99,32,102,105,108,101,32, + 100,111,101,115,32,110,111,116,32,110,101,101,100,32,116,111, + 32,101,120,105,115,116,59,32,116,104,105,115,32,115,105,109, + 112,108,121,32,114,101,116,117,114,110,115,32,116,104,101,32, + 112,97,116,104,32,116,111,10,32,32,32,32,116,104,101,32, + 46,112,121,32,102,105,108,101,32,99,97,108,99,117,108,97, + 116,101,100,32,116,111,32,99,111,114,114,101,115,112,111,110, + 100,32,116,111,32,116,104,101,32,46,112,121,99,32,102,105, + 108,101,46,32,32,73,102,32,112,97,116,104,32,100,111,101, + 115,10,32,32,32,32,110,111,116,32,99,111,110,102,111,114, + 109,32,116,111,32,80,69,80,32,51,49,52,55,47,52,56, + 56,32,102,111,114,109,97,116,44,32,86,97,108,117,101,69, + 114,114,111,114,32,119,105,108,108,32,98,101,32,114,97,105, + 115,101,100,46,32,73,102,10,32,32,32,32,115,121,115,46, + 105,109,112,108,101,109,101,110,116,97,116,105,111,110,46,99, + 97,99,104,101,95,116,97,103,32,105,115,32,78,111,110,101, + 32,116,104,101,110,32,78,111,116,73,109,112,108,101,109,101, + 110,116,101,100,69,114,114,111,114,32,105,115,32,114,97,105, + 115,101,100,46,10,10,32,32,32,32,78,114,125,0,0,0, + 70,84,122,31,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,114,103,0,0,0,62,2,0,0,0,114,52,0, + 0,0,233,3,0,0,0,122,29,101,120,112,101,99,116,101, + 100,32,111,110,108,121,32,50,32,111,114,32,51,32,100,111, + 116,115,32,105,110,32,114,154,0,0,0,114,52,0,0,0, + 233,254,255,255,255,122,53,111,112,116,105,109,105,122,97,116, + 105,111,110,32,112,111,114,116,105,111,110,32,111,102,32,102, + 105,108,101,110,97,109,101,32,100,111,101,115,32,110,111,116, + 32,115,116,97,114,116,32,119,105,116,104,32,122,19,111,112, + 116,105,109,105,122,97,116,105,111,110,32,108,101,118,101,108, + 32,122,29,32,105,115,32,110,111,116,32,97,110,32,97,108, + 112,104,97,110,117,109,101,114,105,99,32,118,97,108,117,101, + 114,1,0,0,0,41,22,114,20,0,0,0,114,132,0,0, + 0,114,133,0,0,0,114,134,0,0,0,114,23,0,0,0, + 114,130,0,0,0,114,81,0,0,0,114,141,0,0,0,114, + 60,0,0,0,114,61,0,0,0,114,32,0,0,0,114,62, + 0,0,0,114,7,0,0,0,114,143,0,0,0,114,138,0, + 0,0,218,5,99,111,117,110,116,218,6,114,115,112,108,105, + 116,114,139,0,0,0,114,137,0,0,0,218,9,112,97,114, + 116,105,116,105,111,110,114,72,0,0,0,218,15,83,79,85, + 82,67,69,95,83,85,70,70,73,88,69,83,41,10,114,68, + 0,0,0,114,146,0,0,0,218,16,112,121,99,97,99,104, + 101,95,102,105,108,101,110,97,109,101,218,23,102,111,117,110, + 100,95,105,110,95,112,121,99,97,99,104,101,95,112,114,101, + 102,105,120,218,13,115,116,114,105,112,112,101,100,95,112,97, + 116,104,218,7,112,121,99,97,99,104,101,218,9,100,111,116, + 95,99,111,117,110,116,114,123,0,0,0,218,9,111,112,116, + 95,108,101,118,101,108,218,13,98,97,115,101,95,102,105,108, + 101,110,97,109,101,115,10,0,0,0,32,32,32,32,32,32, + 32,32,32,32,114,10,0,0,0,218,17,115,111,117,114,99, + 101,95,102,114,111,109,95,99,97,99,104,101,114,167,0,0, + 0,40,2,0,0,115,165,1,0,0,128,0,244,18,0,8, + 11,215,7,25,209,7,25,215,7,35,209,7,35,208,7,43, + 220,14,33,208,34,72,211,14,73,208,8,73,220,11,14,143, + 58,137,58,144,100,211,11,27,128,68,220,29,40,168,20,211, + 29,46,209,4,26,128,68,208,10,26,216,30,35,208,4,27, + 220,7,10,215,7,25,209,7,25,208,7,37,220,24,27,215, + 24,42,209,24,42,215,24,49,209,24,49,180,47,211,24,66, + 136,13,216,11,15,143,63,137,63,152,61,172,56,209,27,51, + 212,11,52,216,19,23,156,3,152,77,211,24,42,208,24,43, + 208,19,44,136,68,216,38,42,208,12,35,217,11,34,220,24, + 35,160,68,211,24,41,137,13,136,4,136,103,216,11,18,148, + 104,210,11,30,220,18,28,164,8,152,122,208,41,72,216,32, + 36,152,120,240,3,1,30,41,243,0,1,19,42,240,0,1, + 13,42,224,16,32,215,16,38,209,16,38,160,115,211,16,43, + 128,73,216,7,16,152,6,209,7,30,220,14,24,208,27,56, + 208,57,73,208,56,76,208,25,77,211,14,78,208,8,78,216, + 9,18,144,97,138,30,216,23,39,215,23,46,209,23,46,168, + 115,176,65,211,23,54,176,114,209,23,58,136,12,216,15,27, + 215,15,38,209,15,38,164,116,212,15,44,220,18,28,240,0, + 1,30,37,220,37,41,160,72,240,3,1,30,46,243,0,1, + 19,47,240,0,1,13,47,224,20,32,164,19,164,84,163,25, + 160,26,208,20,44,136,9,216,15,24,215,15,32,209,15,32, + 212,15,34,220,18,28,208,31,50,176,60,208,50,66,240,0, + 1,67,1,50,240,0,1,30,50,243,0,1,19,51,240,0, + 1,13,51,224,20,36,215,20,46,209,20,46,168,115,211,20, + 51,176,65,209,20,54,128,77,220,11,21,144,100,152,77,172, + 79,184,65,209,44,62,209,28,62,211,11,63,208,4,63,114, + 28,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,3,0,0,0,243,232,0,0,0,151,0, + 116,1,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,100,1,107,40,0,0,114,1,121,2,124,0, + 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,3,171,1,0,0,0,0,0,0,92,3, + 0,0,125,1,125,2,125,3,124,1,114,22,124,3,106,5, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,100,4,100,5,26,0, + 100,6,107,55,0,0,114,2,124,0,83,0,9,0,116,7, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,125,4,116,13,0,0,0,0,0,0,0,0,124,4, + 171,1,0,0,0,0,0,0,114,2,124,4,83,0,124,0, + 83,0,35,0,116,8,0,0,0,0,0,0,0,0,116,10, + 0,0,0,0,0,0,0,0,102,2,36,0,114,8,1,0, + 124,0,100,2,100,5,26,0,125,4,89,0,140,37,119,0, + 120,3,89,0,119,1,41,7,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,1,0,0,0,78,114,103,0,0, + 0,233,253,255,255,255,233,255,255,255,255,218,2,112,121,41, + 7,114,7,0,0,0,114,131,0,0,0,218,5,108,111,119, + 101,114,114,167,0,0,0,114,134,0,0,0,114,138,0,0, + 0,114,93,0,0,0,41,5,218,13,98,121,116,101,99,111, + 100,101,95,112,97,116,104,114,148,0,0,0,218,1,95,218, + 9,101,120,116,101,110,115,105,111,110,218,11,115,111,117,114, + 99,101,95,112,97,116,104,115,5,0,0,0,32,32,32,32, + 32,114,10,0,0,0,218,15,95,103,101,116,95,115,111,117, + 114,99,101,102,105,108,101,114,177,0,0,0,80,2,0,0, + 115,142,0,0,0,128,0,244,14,0,8,11,136,61,211,7, + 25,152,81,210,7,30,216,15,19,216,25,38,215,25,49,209, + 25,49,176,35,211,25,54,209,4,22,128,68,136,33,136,89, + 217,11,15,144,57,151,63,145,63,211,19,36,160,82,168,2, + 208,19,43,168,116,210,19,51,216,15,28,208,8,28,240,2, + 3,5,41,220,22,39,168,13,211,22,54,136,11,244,6,0, + 27,39,160,123,212,26,51,136,59,208,4,70,184,29,208,4, + 70,248,244,5,0,13,32,164,26,208,11,44,242,0,1,5, + 41,216,22,35,160,67,160,82,208,22,40,138,11,240,3,1, + 5,41,250,115,18,0,0,0,193,0,11,65,26,0,193,26, + 20,65,49,3,193,48,1,65,49,3,99,1,0,0,0,0, + 0,0,0,0,0,0,0,5,0,0,0,3,0,0,0,243, + 182,0,0,0,151,0,124,0,106,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,116,3,0,0, + 0,0,0,0,0,0,116,4,0,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 114,12,9,0,116,7,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,83,0,124,0,106,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 116,3,0,0,0,0,0,0,0,0,116,10,0,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,114,2,124,0,83,0,121,0,35,0,116,8, + 0,0,0,0,0,0,0,0,36,0,114,3,1,0,89,0, + 121,0,119,0,120,3,89,0,119,1,114,77,0,0,0,41, + 6,114,59,0,0,0,218,5,116,117,112,108,101,114,159,0, + 0,0,114,152,0,0,0,114,134,0,0,0,114,140,0,0, + 0,41,1,114,151,0,0,0,115,1,0,0,0,32,114,10, + 0,0,0,218,11,95,103,101,116,95,99,97,99,104,101,100, + 114,180,0,0,0,99,2,0,0,115,87,0,0,0,128,0, + 216,7,15,215,7,24,209,7,24,156,21,156,127,211,25,47, + 212,7,48,240,2,3,9,17,220,19,36,160,88,211,19,46, + 208,12,46,240,6,0,10,18,215,9,26,209,9,26,156,53, + 212,33,50,211,27,51,212,9,52,216,15,23,136,15,224,15, + 19,248,244,11,0,16,35,242,0,1,9,17,217,12,16,240, + 3,1,9,17,250,115,17,0,0,0,160,10,65,12,0,193, + 12,9,65,24,3,193,23,1,65,24,3,99,1,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, + 243,94,0,0,0,151,0,9,0,116,1,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,125,1,124,1,100,2,122,20,0,0,125,1,124,1,83, + 0,35,0,116,4,0,0,0,0,0,0,0,0,36,0,114, + 5,1,0,100,1,125,1,89,0,140,20,119,0,120,3,89, + 0,119,1,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,114,107,0,0,0,233, + 128,0,0,0,41,3,114,85,0,0,0,114,88,0,0,0, + 114,87,0,0,0,41,2,114,68,0,0,0,114,89,0,0, + 0,115,2,0,0,0,32,32,114,10,0,0,0,218,10,95, + 99,97,108,99,95,109,111,100,101,114,183,0,0,0,111,2, + 0,0,115,61,0,0,0,128,0,240,4,3,5,21,220,15, + 25,152,36,211,15,31,215,15,39,209,15,39,136,4,240,10, + 0,5,9,136,69,129,77,128,68,216,11,15,128,75,248,244, + 11,0,12,19,242,0,1,5,21,216,15,20,138,4,240,3, + 1,5,21,250,115,12,0,0,0,130,21,30,0,158,11,44, + 3,171,1,44,3,99,1,0,0,0,0,0,0,0,0,0, + 0,0,4,0,0,0,3,0,0,0,243,90,0,0,0,135, + 0,151,0,100,3,136,0,102,1,100,1,132,9,125,1,116, + 0,0,0,0,0,0,0,0,0,129,17,116,0,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,125,2,110,3,100,2,132, + 0,125,2,2,0,124,2,124,1,137,0,171,2,0,0,0, + 0,0,0,1,0,124,1,83,0,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,99,2,0,0,0,0,0, + 0,0,0,0,0,0,6,0,0,0,31,0,0,0,243,148, + 0,0,0,149,1,151,0,124,1,128,13,124,0,106,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,125,1,110,44,124,0,106,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,107,55,0, + 0,114,29,116,3,0,0,0,0,0,0,0,0,100,1,124, + 0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,155,1,100,2,124,1,155,1,157,4,124, + 1,172,3,171,2,0,0,0,0,0,0,130,1,2,0,137, + 4,124,0,124,1,103,2,124,2,162,1,173,6,105,0,124, + 3,164,1,142,1,83,0,41,4,78,122,11,108,111,97,100, + 101,114,32,102,111,114,32,122,15,32,99,97,110,110,111,116, + 32,104,97,110,100,108,101,32,169,1,218,4,110,97,109,101, + 41,2,114,187,0,0,0,218,11,73,109,112,111,114,116,69, + 114,114,111,114,41,5,218,4,115,101,108,102,114,187,0,0, + 0,218,4,97,114,103,115,218,6,107,119,97,114,103,115,218, + 6,109,101,116,104,111,100,115,5,0,0,0,32,32,32,32, + 128,114,10,0,0,0,218,19,95,99,104,101,99,107,95,110, + 97,109,101,95,119,114,97,112,112,101,114,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,131,2,0,0,115,82,0,0,0,248,128, + 0,216,11,15,136,60,216,19,23,151,57,145,57,137,68,216, + 13,17,143,89,137,89,152,36,210,13,30,221,18,29,216,33, + 37,167,25,163,25,169,68,240,3,1,31,50,216,56,60,244, + 3,1,19,62,240,0,1,13,62,225,15,21,144,100,152,68, + 208,15,50,160,52,210,15,50,168,54,209,15,50,208,8,50, + 114,28,0,0,0,99,2,0,0,0,0,0,0,0,0,0, + 0,0,9,0,0,0,19,0,0,0,243,164,0,0,0,151, + 0,100,1,68,0,93,38,0,0,125,2,116,1,0,0,0, + 0,0,0,0,0,124,1,124,2,171,2,0,0,0,0,0, + 0,115,1,140,16,116,3,0,0,0,0,0,0,0,0,124, + 0,124,2,116,5,0,0,0,0,0,0,0,0,124,1,124, + 2,171,2,0,0,0,0,0,0,171,3,0,0,0,0,0, + 0,1,0,140,40,4,0,124,0,106,6,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,106,9,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,1,106,6,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,1,0,0,0,0,0,0,1, + 0,121,0,41,2,78,41,4,218,10,95,95,109,111,100,117, + 108,101,95,95,218,8,95,95,110,97,109,101,95,95,218,12, + 95,95,113,117,97,108,110,97,109,101,95,95,218,7,95,95, + 100,111,99,95,95,41,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,218,3,110,101,119,218,3,111,108,100, + 114,99,0,0,0,115,3,0,0,0,32,32,32,114,10,0, + 0,0,218,5,95,119,114,97,112,122,26,95,99,104,101,99, + 107,95,110,97,109,101,46,60,108,111,99,97,108,115,62,46, + 95,119,114,97,112,144,2,0,0,115,72,0,0,0,128,0, + 216,27,80,242,0,2,13,65,1,144,7,220,19,26,152,51, + 160,7,213,19,40,220,20,27,152,67,160,23,172,39,176,35, + 176,119,211,42,63,213,20,64,240,5,2,13,65,1,240,6, + 0,13,16,143,76,137,76,215,12,31,209,12,31,160,3,167, + 12,161,12,213,12,45,114,28,0,0,0,114,77,0,0,0, + 41,2,218,10,95,98,111,111,116,115,116,114,97,112,114,206, + 0,0,0,41,3,114,192,0,0,0,114,193,0,0,0,114, + 206,0,0,0,115,3,0,0,0,96,32,32,114,10,0,0, + 0,218,11,95,99,104,101,99,107,95,110,97,109,101,114,208, + 0,0,0,123,2,0,0,115,51,0,0,0,248,128,0,245, + 16,6,5,51,244,20,0,8,18,208,7,29,220,16,26,215, + 16,32,209,16,32,137,5,242,4,4,9,46,241,12,0,5, + 10,208,10,29,152,118,212,4,38,216,11,30,208,4,30,114, + 28,0,0,0,99,3,0,0,0,0,0,0,0,0,0,0, + 0,5,0,0,0,3,0,0,0,243,44,1,0,0,151,0, + 124,0,100,1,100,2,26,0,125,3,124,3,116,0,0,0, + 0,0,0,0,0,0,107,55,0,0,114,42,100,3,124,1, + 155,2,100,4,124,3,155,2,157,4,125,4,116,2,0,0, + 0,0,0,0,0,0,106,5,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,5,124,4,171,2, + 0,0,0,0,0,0,1,0,116,7,0,0,0,0,0,0, + 0,0,124,4,102,1,105,0,124,2,164,1,142,1,130,1, + 116,9,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,100,6,107,2,0,0,114,38,100,7,124,1, + 155,2,157,2,125,4,116,2,0,0,0,0,0,0,0,0, + 106,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,5,124,4,171,2,0,0,0,0,0,0, + 1,0,116,11,0,0,0,0,0,0,0,0,124,4,171,1, + 0,0,0,0,0,0,130,1,116,13,0,0,0,0,0,0, + 0,0,124,0,100,2,100,8,26,0,171,1,0,0,0,0, + 0,0,125,5,124,5,100,9,122,1,0,0,114,20,100,10, + 124,5,155,2,100,11,124,1,155,2,157,4,125,4,116,7, + 0,0,0,0,0,0,0,0,124,4,102,1,105,0,124,2, + 164,1,142,1,130,1,124,5,83,0,41,12,97,84,2,0, + 0,80,101,114,102,111,114,109,32,98,97,115,105,99,32,118, + 97,108,105,100,105,116,121,32,99,104,101,99,107,105,110,103, + 32,111,102,32,97,32,112,121,99,32,104,101,97,100,101,114, + 32,97,110,100,32,114,101,116,117,114,110,32,116,104,101,32, + 102,108,97,103,115,32,102,105,101,108,100,44,10,32,32,32, + 32,119,104,105,99,104,32,100,101,116,101,114,109,105,110,101, + 115,32,104,111,119,32,116,104,101,32,112,121,99,32,115,104, + 111,117,108,100,32,98,101,32,102,117,114,116,104,101,114,32, + 118,97,108,105,100,97,116,101,100,32,97,103,97,105,110,115, + 116,32,116,104,101,32,115,111,117,114,99,101,46,10,10,32, + 32,32,32,42,100,97,116,97,42,32,105,115,32,116,104,101, + 32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,101, + 32,112,121,99,32,102,105,108,101,46,32,40,79,110,108,121, + 32,116,104,101,32,102,105,114,115,116,32,49,54,32,98,121, + 116,101,115,32,97,114,101,10,32,32,32,32,114,101,113,117, + 105,114,101,100,44,32,116,104,111,117,103,104,46,41,10,10, + 32,32,32,32,42,110,97,109,101,42,32,105,115,32,116,104, + 101,32,110,97,109,101,32,111,102,32,116,104,101,32,109,111, + 100,117,108,101,32,98,101,105,110,103,32,105,109,112,111,114, + 116,101,100,46,32,73,116,32,105,115,32,117,115,101,100,32, + 102,111,114,32,108,111,103,103,105,110,103,46,10,10,32,32, + 32,32,42,101,120,99,95,100,101,116,97,105,108,115,42,32, + 105,115,32,97,32,100,105,99,116,105,111,110,97,114,121,32, + 112,97,115,115,101,100,32,116,111,32,73,109,112,111,114,116, + 69,114,114,111,114,32,105,102,32,105,116,32,114,97,105,115, + 101,100,32,102,111,114,10,32,32,32,32,105,109,112,114,111, + 118,101,100,32,100,101,98,117,103,103,105,110,103,46,10,10, + 32,32,32,32,73,109,112,111,114,116,69,114,114,111,114,32, + 105,115,32,114,97,105,115,101,100,32,119,104,101,110,32,116, + 104,101,32,109,97,103,105,99,32,110,117,109,98,101,114,32, + 105,115,32,105,110,99,111,114,114,101,99,116,32,111,114,32, + 119,104,101,110,32,116,104,101,32,102,108,97,103,115,10,32, + 32,32,32,102,105,101,108,100,32,105,115,32,105,110,118,97, + 108,105,100,46,32,69,79,70,69,114,114,111,114,32,105,115, + 32,114,97,105,115,101,100,32,119,104,101,110,32,116,104,101, + 32,100,97,116,97,32,105,115,32,102,111,117,110,100,32,116, + 111,32,98,101,32,116,114,117,110,99,97,116,101,100,46,10, + 10,32,32,32,32,78,114,38,0,0,0,122,20,98,97,100, + 32,109,97,103,105,99,32,110,117,109,98,101,114,32,105,110, + 32,122,2,58,32,250,2,123,125,233,16,0,0,0,122,40, + 114,101,97,99,104,101,100,32,69,79,70,32,119,104,105,108, + 101,32,114,101,97,100,105,110,103,32,112,121,99,32,104,101, + 97,100,101,114,32,111,102,32,233,8,0,0,0,233,252,255, + 255,255,122,14,105,110,118,97,108,105,100,32,102,108,97,103, + 115,32,122,4,32,105,110,32,41,7,218,12,77,65,71,73, + 67,95,78,85,77,66,69,82,114,207,0,0,0,218,16,95, + 118,101,114,98,111,115,101,95,109,101,115,115,97,103,101,114, + 188,0,0,0,114,7,0,0,0,218,8,69,79,70,69,114, + 114,111,114,114,49,0,0,0,41,6,114,48,0,0,0,114, + 187,0,0,0,218,11,101,120,99,95,100,101,116,97,105,108, + 115,218,5,109,97,103,105,99,114,145,0,0,0,114,21,0, + 0,0,115,6,0,0,0,32,32,32,32,32,32,114,10,0, + 0,0,218,13,95,99,108,97,115,115,105,102,121,95,112,121, + 99,114,219,0,0,0,154,2,0,0,115,185,0,0,0,128, + 0,240,32,0,13,17,144,18,144,33,136,72,128,69,216,7, + 12,148,12,210,7,28,216,20,40,168,20,168,8,176,2,176, + 53,176,41,208,18,60,136,7,220,8,18,215,8,35,209,8, + 35,160,68,168,39,212,8,50,220,14,25,152,39,209,14,49, + 160,91,209,14,49,208,8,49,220,7,10,136,52,131,121,144, + 50,130,126,216,20,60,184,84,184,72,208,18,69,136,7,220, + 8,18,215,8,35,209,8,35,160,68,168,39,212,8,50,220, + 14,22,144,119,211,14,31,208,8,31,220,12,26,152,52,160, + 1,160,33,152,57,211,12,37,128,69,224,7,12,136,117,130, + 125,216,20,34,160,53,160,41,168,52,176,4,168,120,208,18, + 56,136,7,220,14,25,152,39,209,14,49,160,91,209,14,49, + 208,8,49,216,11,16,128,76,114,28,0,0,0,99,5,0, + 0,0,0,0,0,0,0,0,0,0,5,0,0,0,3,0, + 0,0,243,198,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,100,1,100,2,26,0,171,1,0,0,0, + 0,0,0,124,1,100,3,122,1,0,0,107,55,0,0,114, + 39,100,4,124,3,155,2,157,2,125,5,116,2,0,0,0, + 0,0,0,0,0,106,5,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,5,124,5,171,2,0, + 0,0,0,0,0,1,0,116,7,0,0,0,0,0,0,0, + 0,124,5,102,1,105,0,124,4,164,1,142,1,130,1,124, + 2,129,36,116,1,0,0,0,0,0,0,0,0,124,0,100, + 2,100,7,26,0,171,1,0,0,0,0,0,0,124,2,100, + 3,122,1,0,0,107,55,0,0,114,15,116,7,0,0,0, + 0,0,0,0,0,100,4,124,3,155,2,157,2,102,1,105, + 0,124,4,164,1,142,1,130,1,121,6,121,6,41,8,97, + 7,2,0,0,86,97,108,105,100,97,116,101,32,97,32,112, + 121,99,32,97,103,97,105,110,115,116,32,116,104,101,32,115, + 111,117,114,99,101,32,108,97,115,116,45,109,111,100,105,102, + 105,101,100,32,116,105,109,101,46,10,10,32,32,32,32,42, + 100,97,116,97,42,32,105,115,32,116,104,101,32,99,111,110, + 116,101,110,116,115,32,111,102,32,116,104,101,32,112,121,99, + 32,102,105,108,101,46,32,40,79,110,108,121,32,116,104,101, + 32,102,105,114,115,116,32,49,54,32,98,121,116,101,115,32, + 97,114,101,10,32,32,32,32,114,101,113,117,105,114,101,100, + 46,41,10,10,32,32,32,32,42,115,111,117,114,99,101,95, + 109,116,105,109,101,42,32,105,115,32,116,104,101,32,108,97, + 115,116,32,109,111,100,105,102,105,101,100,32,116,105,109,101, + 115,116,97,109,112,32,111,102,32,116,104,101,32,115,111,117, + 114,99,101,32,102,105,108,101,46,10,10,32,32,32,32,42, + 115,111,117,114,99,101,95,115,105,122,101,42,32,105,115,32, + 78,111,110,101,32,111,114,32,116,104,101,32,115,105,122,101, + 32,111,102,32,116,104,101,32,115,111,117,114,99,101,32,102, + 105,108,101,32,105,110,32,98,121,116,101,115,46,10,10,32, + 32,32,32,42,110,97,109,101,42,32,105,115,32,116,104,101, + 32,110,97,109,101,32,111,102,32,116,104,101,32,109,111,100, + 117,108,101,32,98,101,105,110,103,32,105,109,112,111,114,116, + 101,100,46,32,73,116,32,105,115,32,117,115,101,100,32,102, + 111,114,32,108,111,103,103,105,110,103,46,10,10,32,32,32, + 32,42,101,120,99,95,100,101,116,97,105,108,115,42,32,105, + 115,32,97,32,100,105,99,116,105,111,110,97,114,121,32,112, + 97,115,115,101,100,32,116,111,32,73,109,112,111,114,116,69, + 114,114,111,114,32,105,102,32,105,116,32,114,97,105,115,101, + 100,32,102,111,114,10,32,32,32,32,105,109,112,114,111,118, + 101,100,32,100,101,98,117,103,103,105,110,103,46,10,10,32, + 32,32,32,65,110,32,73,109,112,111,114,116,69,114,114,111, + 114,32,105,115,32,114,97,105,115,101,100,32,105,102,32,116, + 104,101,32,98,121,116,101,99,111,100,101,32,105,115,32,115, + 116,97,108,101,46,10,10,32,32,32,32,114,212,0,0,0, + 233,12,0,0,0,114,37,0,0,0,122,22,98,121,116,101, + 99,111,100,101,32,105,115,32,115,116,97,108,101,32,102,111, + 114,32,114,210,0,0,0,78,114,211,0,0,0,41,4,114, + 49,0,0,0,114,207,0,0,0,114,215,0,0,0,114,188, + 0,0,0,41,6,114,48,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,187,0,0,0,114,217,0,0,0,114, + 145,0,0,0,115,6,0,0,0,32,32,32,32,32,32,114, + 10,0,0,0,218,23,95,118,97,108,105,100,97,116,101,95, + 116,105,109,101,115,116,97,109,112,95,112,121,99,114,224,0, + 0,0,187,2,0,0,115,137,0,0,0,128,0,244,38,0, + 8,22,144,100,152,49,152,82,144,106,211,7,33,160,108,176, + 90,209,38,63,210,7,64,216,20,42,168,52,168,40,208,18, + 51,136,7,220,8,18,215,8,35,209,8,35,160,68,168,39, + 212,8,50,220,14,25,152,39,209,14,49,160,91,209,14,49, + 208,8,49,216,8,19,208,8,31,220,8,22,144,116,152,66, + 152,114,144,123,211,8,35,168,11,176,106,209,40,64,210,8, + 65,220,14,25,208,28,50,176,52,176,40,208,26,59,209,14, + 75,184,123,209,14,75,208,8,75,240,3,0,9,66,1,240, + 3,0,9,32,114,28,0,0,0,99,4,0,0,0,0,0, + 0,0,0,0,0,0,5,0,0,0,3,0,0,0,243,50, + 0,0,0,151,0,124,0,100,1,100,2,26,0,124,1,107, + 55,0,0,114,15,116,1,0,0,0,0,0,0,0,0,100, + 3,124,2,155,2,157,2,102,1,105,0,124,3,164,1,142, + 1,130,1,121,4,41,5,97,243,1,0,0,86,97,108,105, + 100,97,116,101,32,97,32,104,97,115,104,45,98,97,115,101, + 100,32,112,121,99,32,98,121,32,99,104,101,99,107,105,110, + 103,32,116,104,101,32,114,101,97,108,32,115,111,117,114,99, + 101,32,104,97,115,104,32,97,103,97,105,110,115,116,32,116, + 104,101,32,111,110,101,32,105,110,10,32,32,32,32,116,104, + 101,32,112,121,99,32,104,101,97,100,101,114,46,10,10,32, + 32,32,32,42,100,97,116,97,42,32,105,115,32,116,104,101, + 32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,101, + 32,112,121,99,32,102,105,108,101,46,32,40,79,110,108,121, + 32,116,104,101,32,102,105,114,115,116,32,49,54,32,98,121, + 116,101,115,32,97,114,101,10,32,32,32,32,114,101,113,117, + 105,114,101,100,46,41,10,10,32,32,32,32,42,115,111,117, + 114,99,101,95,104,97,115,104,42,32,105,115,32,116,104,101, + 32,105,109,112,111,114,116,108,105,98,46,117,116,105,108,46, + 115,111,117,114,99,101,95,104,97,115,104,40,41,32,111,102, + 32,116,104,101,32,115,111,117,114,99,101,32,102,105,108,101, + 46,10,10,32,32,32,32,42,110,97,109,101,42,32,105,115, + 32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101, + 32,109,111,100,117,108,101,32,98,101,105,110,103,32,105,109, + 112,111,114,116,101,100,46,32,73,116,32,105,115,32,117,115, + 101,100,32,102,111,114,32,108,111,103,103,105,110,103,46,10, + 10,32,32,32,32,42,101,120,99,95,100,101,116,97,105,108, + 115,42,32,105,115,32,97,32,100,105,99,116,105,111,110,97, + 114,121,32,112,97,115,115,101,100,32,116,111,32,73,109,112, + 111,114,116,69,114,114,111,114,32,105,102,32,105,116,32,114, + 97,105,115,101,100,32,102,111,114,10,32,32,32,32,105,109, + 112,114,111,118,101,100,32,100,101,98,117,103,103,105,110,103, + 46,10,10,32,32,32,32,65,110,32,73,109,112,111,114,116, + 69,114,114,111,114,32,105,115,32,114,97,105,115,101,100,32, + 105,102,32,116,104,101,32,98,121,116,101,99,111,100,101,32, + 105,115,32,115,116,97,108,101,46,10,10,32,32,32,32,114, + 212,0,0,0,114,211,0,0,0,122,46,104,97,115,104,32, + 105,110,32,98,121,116,101,99,111,100,101,32,100,111,101,115, + 110,39,116,32,109,97,116,99,104,32,104,97,115,104,32,111, + 102,32,115,111,117,114,99,101,32,78,41,1,114,188,0,0, + 0,41,4,114,48,0,0,0,218,11,115,111,117,114,99,101, + 95,104,97,115,104,114,187,0,0,0,114,217,0,0,0,115, + 4,0,0,0,32,32,32,32,114,10,0,0,0,218,18,95, + 118,97,108,105,100,97,116,101,95,104,97,115,104,95,112,121, + 99,114,227,0,0,0,215,2,0,0,115,54,0,0,0,128, + 0,240,34,0,8,12,136,65,136,98,128,122,144,91,210,7, + 32,220,14,25,216,14,61,184,100,184,88,208,12,70,241,3, + 3,15,10,224,14,25,241,5,3,15,10,240,0,3,9,10, + 240,3,0,8,33,114,28,0,0,0,99,4,0,0,0,0, + 0,0,0,0,0,0,0,5,0,0,0,3,0,0,0,243, + 206,0,0,0,151,0,116,1,0,0,0,0,0,0,0,0, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,125,4, + 116,5,0,0,0,0,0,0,0,0,124,4,116,6,0,0, + 0,0,0,0,0,0,171,2,0,0,0,0,0,0,114,48, + 116,8,0,0,0,0,0,0,0,0,106,11,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,1, + 124,2,171,2,0,0,0,0,0,0,1,0,124,3,129,22, + 116,13,0,0,0,0,0,0,0,0,106,14,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,4, + 124,3,171,2,0,0,0,0,0,0,1,0,124,4,83,0, + 116,17,0,0,0,0,0,0,0,0,100,2,124,2,155,2, + 157,2,124,1,124,2,172,3,171,3,0,0,0,0,0,0, + 130,1,41,4,122,35,67,111,109,112,105,108,101,32,98,121, + 116,101,99,111,100,101,32,97,115,32,102,111,117,110,100,32, + 105,110,32,97,32,112,121,99,46,122,21,99,111,100,101,32, + 111,98,106,101,99,116,32,102,114,111,109,32,123,33,114,125, + 122,19,78,111,110,45,99,111,100,101,32,111,98,106,101,99, + 116,32,105,110,32,169,2,114,187,0,0,0,114,68,0,0, + 0,41,9,218,7,109,97,114,115,104,97,108,218,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,207,0,0,0, + 114,215,0,0,0,218,4,95,105,109,112,218,16,95,102,105, + 120,95,99,111,95,102,105,108,101,110,97,109,101,114,188,0, + 0,0,41,5,114,48,0,0,0,114,187,0,0,0,114,173, + 0,0,0,114,176,0,0,0,218,4,99,111,100,101,115,5, + 0,0,0,32,32,32,32,32,114,10,0,0,0,218,17,95, + 99,111,109,112,105,108,101,95,98,121,116,101,99,111,100,101, + 114,237,0,0,0,239,2,0,0,115,99,0,0,0,128,0, + 228,11,18,143,61,137,61,152,20,211,11,30,128,68,220,7, + 17,144,36,156,10,212,7,35,220,8,18,215,8,35,209,8, + 35,208,36,59,184,93,212,8,75,216,11,22,208,11,34,220, + 12,16,215,12,33,209,12,33,160,36,168,11,212,12,52,216, + 15,19,136,11,228,14,25,208,28,47,176,13,208,47,64,208, + 26,65,216,31,35,168,45,244,3,1,15,57,240,0,1,9, + 57,114,28,0,0,0,99,3,0,0,0,0,0,0,0,0, + 0,0,0,5,0,0,0,3,0,0,0,243,8,1,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,116,2,0,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,125,3, + 124,3,106,5,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,116,7,0,0,0,0,0,0,0,0, + 100,1,171,1,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,1,0,124,3,106,5,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,116,7,0,0,0,0, + 0,0,0,0,124,1,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,1,0,124,3,106,5,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,7, + 0,0,0,0,0,0,0,0,124,2,171,1,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,1,0,124,3,106,5, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,9,0,0,0,0,0,0,0,0,106,10,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,1,0,124,3,83,0,41,2,122,43,80,114,111,100, + 117,99,101,32,116,104,101,32,100,97,116,97,32,102,111,114, + 32,97,32,116,105,109,101,115,116,97,109,112,45,98,97,115, + 101,100,32,112,121,99,46,114,1,0,0,0,41,6,218,9, + 98,121,116,101,97,114,114,97,121,114,214,0,0,0,218,6, + 101,120,116,101,110,100,114,43,0,0,0,114,230,0,0,0, + 218,5,100,117,109,112,115,41,4,114,236,0,0,0,218,5, + 109,116,105,109,101,114,223,0,0,0,114,48,0,0,0,115, + 4,0,0,0,32,32,32,32,114,10,0,0,0,218,22,95, + 99,111,100,101,95,116,111,95,116,105,109,101,115,116,97,109, + 112,95,112,121,99,114,243,0,0,0,252,2,0,0,115,88, + 0,0,0,128,0,228,11,20,148,92,211,11,34,128,68,216, + 4,8,135,75,129,75,148,12,152,81,147,15,212,4,32,216, + 4,8,135,75,129,75,148,12,152,85,211,16,35,212,4,36, + 216,4,8,135,75,129,75,148,12,152,91,211,16,41,212,4, + 42,216,4,8,135,75,129,75,148,7,151,13,145,13,152,100, + 211,16,35,212,4,36,216,11,15,128,75,114,28,0,0,0, + 99,3,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,3,0,0,0,243,242,0,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,116,2,0,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,125,3,100,1,124,2,100,1, + 122,3,0,0,122,7,0,0,125,4,124,3,106,5,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 116,7,0,0,0,0,0,0,0,0,124,4,171,1,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,1,0,116,9, + 0,0,0,0,0,0,0,0,124,1,171,1,0,0,0,0, + 0,0,100,2,107,40,0,0,115,2,74,0,130,1,124,3, + 106,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,171,1,0,0,0,0,0,0,1,0, + 124,3,106,5,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,116,11,0,0,0,0,0,0,0,0, + 106,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,1,0,124,3,83,0,41,3,122,38, + 80,114,111,100,117,99,101,32,116,104,101,32,100,97,116,97, + 32,102,111,114,32,97,32,104,97,115,104,45,98,97,115,101, + 100,32,112,121,99,46,114,6,0,0,0,114,212,0,0,0, + 41,7,114,239,0,0,0,114,214,0,0,0,114,240,0,0, + 0,114,43,0,0,0,114,7,0,0,0,114,230,0,0,0, + 114,241,0,0,0,41,5,114,236,0,0,0,114,226,0,0, + 0,218,7,99,104,101,99,107,101,100,114,48,0,0,0,114, + 21,0,0,0,115,5,0,0,0,32,32,32,32,32,114,10, + 0,0,0,218,17,95,99,111,100,101,95,116,111,95,104,97, + 115,104,95,112,121,99,114,246,0,0,0,6,3,0,0,115, + 97,0,0,0,128,0,228,11,20,148,92,211,11,34,128,68, + 216,12,15,144,39,152,81,145,44,209,12,30,128,69,216,4, + 8,135,75,129,75,148,12,152,85,211,16,35,212,4,36,220, + 11,14,136,123,211,11,27,152,113,210,11,32,209,4,32,216, + 4,8,135,75,129,75,144,11,212,4,28,216,4,8,135,75, + 129,75,148,7,151,13,145,13,152,100,211,16,35,212,4,36, + 216,11,15,128,75,114,28,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,6,0,0,0,3,0,0,0,243, + 220,0,0,0,151,0,100,1,100,2,108,0,125,1,116,3, + 0,0,0,0,0,0,0,0,106,4,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,106,6,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,2,124,1,106,9, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,2,171,1,0,0,0,0,0,0,125,3,116,3, + 0,0,0,0,0,0,0,0,106,10,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,2,100,3, + 171,2,0,0,0,0,0,0,125,4,124,4,106,13,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,106,13,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,3,100,1,25,0,0,0,171,1, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,83,0, + 41,4,122,121,68,101,99,111,100,101,32,98,121,116,101,115, + 32,114,101,112,114,101,115,101,110,116,105,110,103,32,115,111, + 117,114,99,101,32,99,111,100,101,32,97,110,100,32,114,101, + 116,117,114,110,32,116,104,101,32,115,116,114,105,110,103,46, + 10,10,32,32,32,32,85,110,105,118,101,114,115,97,108,32, + 110,101,119,108,105,110,101,32,115,117,112,112,111,114,116,32, + 105,115,32,117,115,101,100,32,105,110,32,116,104,101,32,100, + 101,99,111,100,105,110,103,46,10,32,32,32,32,114,1,0, + 0,0,78,84,41,7,218,8,116,111,107,101,110,105,122,101, + 114,114,0,0,0,218,7,66,121,116,101,115,73,79,218,8, + 114,101,97,100,108,105,110,101,218,15,100,101,116,101,99,116, + 95,101,110,99,111,100,105,110,103,218,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,248,0,0, + 0,218,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,218,15,110,101,119,108,105,110,101,95,100,101,99,111, + 100,101,114,115,5,0,0,0,32,32,32,32,32,114,10,0, + 0,0,218,13,100,101,99,111,100,101,95,115,111,117,114,99, + 101,114,2,1,0,0,17,3,0,0,115,95,0,0,0,128, + 0,243,10,0,5,20,220,28,31,159,75,153,75,168,12,211, + 28,53,215,28,62,209,28,62,208,4,25,216,15,23,215,15, + 39,209,15,39,208,40,61,211,15,62,128,72,220,22,25,215, + 22,51,209,22,51,176,68,184,36,211,22,63,128,79,216,11, + 26,215,11,33,209,11,33,160,44,215,34,53,209,34,53,176, + 104,184,113,177,107,211,34,66,211,11,67,208,4,67,114,28, + 0,0,0,169,2,218,6,108,111,97,100,101,114,218,26,115, + 117,98,109,111,100,117,108,101,95,115,101,97,114,99,104,95, + 108,111,99,97,116,105,111,110,115,99,2,0,0,0,0,0, + 0,0,2,0,0,0,6,0,0,0,3,0,0,0,243,138, + 2,0,0,151,0,124,1,128,33,100,2,125,1,116,1,0, + 0,0,0,0,0,0,0,124,2,100,3,171,2,0,0,0, + 0,0,0,114,52,9,0,124,2,106,3,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,1,110,33,116,7,0,0,0, + 0,0,0,0,0,106,8,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,1,171,1,0,0,0, + 0,0,0,125,1,9,0,116,11,0,0,0,0,0,0,0, + 0,124,1,171,1,0,0,0,0,0,0,125,1,116,14,0, + 0,0,0,0,0,0,0,106,17,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,124,2,124, + 1,172,4,171,3,0,0,0,0,0,0,125,4,100,5,124, + 4,95,9,0,0,0,0,0,0,0,0,124,2,128,63,116, + 21,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,68,0,93,49,0,0,92,2,0,0,125,5,125,6,124, + 1,106,23,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,116,25,0,0,0,0,0,0,0,0,124, + 6,171,1,0,0,0,0,0,0,171,1,0,0,0,0,0, + 0,115,1,140,33,2,0,124,5,124,0,124,1,171,2,0, + 0,0,0,0,0,125,2,124,2,124,4,95,13,0,0,0, + 0,0,0,0,0,1,0,110,2,4,0,121,1,124,3,116, + 28,0,0,0,0,0,0,0,0,117,0,114,40,116,1,0, + 0,0,0,0,0,0,0,124,2,100,6,171,2,0,0,0, + 0,0,0,114,35,9,0,124,2,106,31,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,7,124,7,114,15,103,0,124, + 4,95,16,0,0,0,0,0,0,0,0,110,7,124,3,124, + 4,95,16,0,0,0,0,0,0,0,0,124,4,106,32,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,103,0,107,40,0,0,114,43,124,1,114,41,116,35,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,100,7,25,0,0,0,125,8,124,4,106,32,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,8,171,1,0,0,0,0,0,0,1,0,124, + 4,83,0,35,0,116,4,0,0,0,0,0,0,0,0,36, + 0,114,3,1,0,89,0,140,222,119,0,120,3,89,0,119, + 1,35,0,116,12,0,0,0,0,0,0,0,0,36,0,114, + 3,1,0,89,0,140,237,119,0,120,3,89,0,119,1,35, + 0,116,4,0,0,0,0,0,0,0,0,36,0,114,3,1, + 0,89,0,140,101,119,0,120,3,89,0,119,1,41,8,97, + 61,1,0,0,82,101,116,117,114,110,32,97,32,109,111,100, + 117,108,101,32,115,112,101,99,32,98,97,115,101,100,32,111, + 110,32,97,32,102,105,108,101,32,108,111,99,97,116,105,111, + 110,46,10,10,32,32,32,32,84,111,32,105,110,100,105,99, + 97,116,101,32,116,104,97,116,32,116,104,101,32,109,111,100, + 117,108,101,32,105,115,32,97,32,112,97,99,107,97,103,101, + 44,32,115,101,116,10,32,32,32,32,115,117,98,109,111,100, + 117,108,101,95,115,101,97,114,99,104,95,108,111,99,97,116, + 105,111,110,115,32,116,111,32,97,32,108,105,115,116,32,111, + 102,32,100,105,114,101,99,116,111,114,121,32,112,97,116,104, + 115,46,32,32,65,110,10,32,32,32,32,101,109,112,116,121, + 32,108,105,115,116,32,105,115,32,115,117,102,102,105,99,105, + 101,110,116,44,32,116,104,111,117,103,104,32,105,116,115,32, + 110,111,116,32,111,116,104,101,114,119,105,115,101,32,117,115, + 101,102,117,108,32,116,111,32,116,104,101,10,32,32,32,32, + 105,109,112,111,114,116,32,115,121,115,116,101,109,46,10,10, + 32,32,32,32,84,104,101,32,108,111,97,100,101,114,32,109, + 117,115,116,32,116,97,107,101,32,97,32,115,112,101,99,32, + 97,115,32,105,116,115,32,111,110,108,121,32,95,95,105,110, + 105,116,95,95,40,41,32,97,114,103,46,10,10,32,32,32, + 32,78,122,9,60,117,110,107,110,111,119,110,62,218,12,103, + 101,116,95,102,105,108,101,110,97,109,101,169,1,218,6,111, + 114,105,103,105,110,84,218,10,105,115,95,112,97,99,107,97, + 103,101,114,1,0,0,0,41,19,114,199,0,0,0,114,7, + 1,0,0,114,188,0,0,0,114,23,0,0,0,114,130,0, + 0,0,114,105,0,0,0,114,87,0,0,0,114,207,0,0, + 0,218,10,77,111,100,117,108,101,83,112,101,99,218,13,95, + 115,101,116,95,102,105,108,101,97,116,116,114,218,27,95,103, + 101,116,95,115,117,112,112,111,114,116,101,100,95,102,105,108, + 101,95,108,111,97,100,101,114,115,114,59,0,0,0,114,179, + 0,0,0,114,4,1,0,0,218,9,95,80,79,80,85,76, + 65,84,69,114,10,1,0,0,114,5,1,0,0,114,81,0, + 0,0,114,64,0,0,0,41,9,114,187,0,0,0,218,8, + 108,111,99,97,116,105,111,110,114,4,1,0,0,114,5,1, + 0,0,218,4,115,112,101,99,218,12,108,111,97,100,101,114, + 95,99,108,97,115,115,218,8,115,117,102,102,105,120,101,115, + 114,10,1,0,0,218,7,100,105,114,110,97,109,101,115,9, + 0,0,0,32,32,32,32,32,32,32,32,32,114,10,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,20,1,0,0,34, + 3,0,0,115,109,1,0,0,128,0,240,24,0,8,16,208, + 7,23,240,8,0,20,31,136,8,220,11,18,144,54,152,62, + 212,11,42,240,4,3,13,21,216,27,33,215,27,46,209,27, + 46,168,116,211,27,52,145,8,244,8,0,20,23,151,58,145, + 58,152,104,211,19,39,136,8,240,2,3,9,17,220,23,36, + 160,88,211,23,46,136,72,244,20,0,12,22,215,11,32,209, + 11,32,160,20,160,118,176,104,208,11,32,211,11,63,128,68, + 216,25,29,128,68,212,4,22,240,6,0,8,14,128,126,220, + 38,65,211,38,67,242,0,6,9,24,209,12,34,136,76,152, + 40,216,15,23,215,15,32,209,15,32,164,21,160,120,163,31, + 213,15,49,217,25,37,160,100,168,72,211,25,53,144,6,216, + 30,36,144,4,148,11,217,16,21,240,9,6,9,24,240,12, + 0,20,24,240,6,0,8,34,164,89,209,7,46,228,11,18, + 144,54,152,60,212,11,40,240,2,6,13,57,216,29,35,215, + 29,46,209,29,46,168,116,211,29,52,144,10,241,8,0,20, + 30,216,54,56,144,68,213,20,51,224,42,68,136,4,212,8, + 39,216,7,11,215,7,38,209,7,38,168,34,210,7,44,217, + 11,19,220,22,33,160,40,211,22,43,168,65,209,22,46,136, + 71,216,12,16,215,12,43,209,12,43,215,12,50,209,12,50, + 176,55,212,12,59,224,11,15,128,75,248,244,93,1,0,20, + 31,242,0,1,13,21,217,16,20,240,3,1,13,21,251,244, + 12,0,16,23,242,0,1,9,17,217,12,16,240,3,1,9, + 17,251,244,56,0,20,31,242,0,1,13,21,217,16,20,240, + 3,1,13,21,250,115,52,0,0,0,146,17,68,24,0,186, + 11,68,39,0,194,58,17,68,54,0,196,24,9,68,36,3, + 196,35,1,68,36,3,196,39,9,68,51,3,196,50,1,68, + 51,3,196,54,9,69,2,3,197,1,1,69,2,3,99,1, + 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, + 0,0,0,243,140,1,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,124,0,116,2,0,0,0,0,0,0,0,0, + 171,2,0,0,0,0,0,0,115,1,121,1,116,5,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,125,1, + 124,0,106,7,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,2,100,1,171,2,0,0,0,0, + 0,0,125,2,124,0,106,7,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,3,124,1,171,2, + 0,0,0,0,0,0,125,3,124,2,128,18,124,3,124,1, + 117,0,114,1,121,1,124,3,128,11,116,9,0,0,0,0, + 0,0,0,0,100,4,171,1,0,0,0,0,0,0,130,1, + 116,11,0,0,0,0,0,0,0,0,124,3,100,5,124,1, + 171,3,0,0,0,0,0,0,125,4,124,4,124,1,100,1, + 102,2,118,0,114,54,124,2,128,24,124,4,124,1,117,0, + 114,6,116,12,0,0,0,0,0,0,0,0,110,5,116,8, + 0,0,0,0,0,0,0,0,125,5,2,0,124,5,100,4, + 171,1,0,0,0,0,0,0,130,1,116,15,0,0,0,0, + 0,0,0,0,106,16,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,4,116,18,0,0,0,0, + 0,0,0,0,171,2,0,0,0,0,0,0,1,0,124,2, + 125,4,124,4,128,2,74,0,130,1,124,2,129,33,124,2, + 124,4,107,55,0,0,114,28,116,15,0,0,0,0,0,0, + 0,0,106,16,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,6,116,18,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,1,0,124,2,83,0, + 124,4,83,0,41,7,122,67,72,101,108,112,101,114,32,102, + 117,110,99,116,105,111,110,32,102,111,114,32,95,119,97,114, + 110,105,110,103,115,46,99,10,10,32,32,32,32,83,101,101, + 32,71,72,35,57,55,56,53,48,32,102,111,114,32,100,101, + 116,97,105,108,115,46,10,32,32,32,32,78,218,10,95,95, + 108,111,97,100,101,114,95,95,218,8,95,95,115,112,101,99, + 95,95,122,43,77,111,100,117,108,101,32,103,108,111,98,97, + 108,115,32,105,115,32,109,105,115,115,105,110,103,32,97,32, + 95,95,115,112,101,99,95,95,46,108,111,97,100,101,114,114, + 4,1,0,0,122,45,77,111,100,117,108,101,32,103,108,111, + 98,97,108,115,59,32,95,95,108,111,97,100,101,114,95,95, + 32,33,61,32,95,95,115,112,101,99,95,95,46,108,111,97, + 100,101,114,41,10,114,232,0,0,0,218,4,100,105,99,116, + 218,6,111,98,106,101,99,116,218,3,103,101,116,114,138,0, + 0,0,114,201,0,0,0,218,14,65,116,116,114,105,98,117, + 116,101,69,114,114,111,114,114,126,0,0,0,114,127,0,0, + 0,114,128,0,0,0,41,6,218,14,109,111,100,117,108,101, + 95,103,108,111,98,97,108,115,218,7,109,105,115,115,105,110, + 103,114,4,1,0,0,114,16,1,0,0,218,11,115,112,101, + 99,95,108,111,97,100,101,114,218,3,101,120,99,115,6,0, + 0,0,32,32,32,32,32,32,114,10,0,0,0,218,16,95, + 98,108,101,115,115,95,109,121,95,108,111,97,100,101,114,114, + 32,1,0,0,104,3,0,0,115,229,0,0,0,128,0,244, + 24,0,12,22,144,110,164,100,212,11,43,216,15,19,228,14, + 20,139,104,128,71,216,13,27,215,13,31,209,13,31,160,12, + 168,100,211,13,51,128,70,216,11,25,215,11,29,209,11,29, + 152,106,168,39,211,11,50,128,68,224,7,13,128,126,216,11, + 15,144,55,137,63,240,6,0,20,24,216,13,17,136,92,220, + 18,28,208,29,74,211,18,75,208,12,75,228,18,25,152,36, + 160,8,168,39,211,18,50,128,75,224,7,18,144,119,160,4, + 144,111,209,7,37,216,11,17,136,62,216,36,47,176,55,209, + 36,58,149,46,196,10,136,67,217,18,21,208,22,67,211,18, + 68,208,12,68,220,8,17,143,14,137,14,216,12,57,220,12, + 30,244,5,2,9,32,240,6,0,23,29,136,11,224,11,22, + 208,11,34,209,4,34,216,7,13,208,7,25,152,102,168,11, + 210,30,51,220,8,17,143,14,137,14,216,12,59,220,12,30, + 244,5,2,9,32,240,6,0,16,22,136,13,224,11,22,208, + 4,22,114,28,0,0,0,99,0,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,0,0,0,0,243,90,0,0, + 0,151,0,101,0,90,1,100,0,90,2,100,1,90,3,100, + 2,90,4,100,3,90,5,101,6,120,1,114,4,1,0,100, + 4,101,7,118,0,90,8,101,9,100,5,132,0,171,0,0, + 0,0,0,0,0,90,10,101,11,100,6,132,0,171,0,0, + 0,0,0,0,0,90,12,101,11,100,9,100,8,132,1,171, + 0,0,0,0,0,0,0,90,13,121,7,41,10,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,122,6,95,100,46,112,121,100,99,1,0,0, + 0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0, + 0,243,178,0,0,0,151,0,9,0,116,1,0,0,0,0, + 0,0,0,0,106,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,0,0,0,0,0,0,0, + 0,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,0,171,2,0,0,0,0,0,0, + 83,0,35,0,116,6,0,0,0,0,0,0,0,0,36,0, + 114,39,1,0,116,1,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,0,0,0,0,0,0,0,0,0,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,171,2,0,0,0,0,0,0,99,2,89,0,83,0, + 119,0,120,3,89,0,119,1,114,77,0,0,0,41,5,218, + 6,119,105,110,114,101,103,218,7,79,112,101,110,75,101,121, + 218,17,72,75,69,89,95,67,85,82,82,69,78,84,95,85, + 83,69,82,114,87,0,0,0,218,18,72,75,69,89,95,76, + 79,67,65,76,95,77,65,67,72,73,78,69,114,25,0,0, + 0,115,1,0,0,0,32,114,10,0,0,0,218,14,95,111, + 112,101,110,95,114,101,103,105,115,116,114,121,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,166,3,0,0,115,71,0,0,0,128,0,240,4,3, + 9,66,1,220,19,25,151,62,145,62,164,38,215,34,58,209, + 34,58,184,67,211,19,64,208,12,64,248,220,15,22,242,0, + 1,9,66,1,220,19,25,151,62,145,62,164,38,215,34,59, + 209,34,59,184,83,211,19,65,210,12,65,240,3,1,9,66, + 1,250,115,15,0,0,0,130,35,38,0,166,45,65,22,3, + 193,21,1,65,22,3,99,2,0,0,0,0,0,0,0,0, + 0,0,0,7,0,0,0,3,0,0,0,243,56,1,0,0, + 151,0,124,0,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,114,13,124,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 125,2,110,12,124,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,2,124,2,106,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,1,100,1,116,8,0,0,0,0,0,0,0,0, + 106,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,0,100,2,26,0,122,6,0,0,172,3, + 171,2,0,0,0,0,0,0,125,3,9,0,124,0,106,13, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,3,171,1,0,0,0,0,0,0,53,0,125,4, + 116,15,0,0,0,0,0,0,0,0,106,16,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,4, + 100,4,171,2,0,0,0,0,0,0,125,5,100,0,100,0, + 100,0,171,2,0,0,0,0,0,0,1,0,124,5,83,0, + 35,0,49,0,115,1,119,2,1,0,89,0,1,0,1,0, + 127,5,83,0,120,3,89,0,119,1,35,0,116,18,0,0, + 0,0,0,0,0,0,36,0,114,3,1,0,89,0,121,0, + 119,0,120,3,89,0,119,1,41,5,78,122,5,37,100,46, + 37,100,114,52,0,0,0,41,2,218,8,102,117,108,108,110, + 97,109,101,218,11,115,121,115,95,118,101,114,115,105,111,110, + 114,12,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,218,6,102,111,114,109,97,116,114,20, + 0,0,0,218,12,118,101,114,115,105,111,110,95,105,110,102, + 111,114,40,1,0,0,114,36,1,0,0,218,10,81,117,101, + 114,121,86,97,108,117,101,114,87,0,0,0,41,6,218,3, + 99,108,115,114,42,1,0,0,218,12,114,101,103,105,115,116, + 114,121,95,107,101,121,114,26,0,0,0,218,4,104,107,101, + 121,218,8,102,105,108,101,112,97,116,104,115,6,0,0,0, + 32,32,32,32,32,32,114,10,0,0,0,218,16,95,115,101, + 97,114,99,104,95,114,101,103,105,115,116,114,121,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,173,3,0,0,115,164,0,0,0,128,0, + 224,11,14,143,63,138,63,216,27,30,215,27,49,209,27,49, + 137,76,224,27,30,215,27,43,209,27,43,136,76,216,14,26, + 215,14,33,209,14,33,168,56,216,46,53,188,3,215,56,72, + 209,56,72,200,18,200,33,208,56,76,209,46,76,240,3,0, + 15,34,243,0,1,15,78,1,136,3,240,4,4,9,24,216, + 17,20,215,17,35,209,17,35,160,67,211,17,40,240,0,1, + 13,55,168,68,220,27,33,215,27,44,209,27,44,168,84,176, + 50,211,27,54,144,8,247,3,1,13,55,240,8,0,16,24, + 136,15,247,9,1,13,55,240,8,0,16,24,136,15,251,244, + 5,0,16,23,242,0,1,9,24,217,19,23,240,3,1,9, + 24,250,115,48,0,0,0,193,14,17,66,13,0,193,31,23, + 66,0,3,193,54,8,66,13,0,194,0,5,66,10,7,194, + 5,3,66,13,0,194,10,3,66,13,0,194,13,9,66,25, + 3,194,24,1,66,25,3,78,99,4,0,0,0,0,0,0, + 0,0,0,0,0,8,0,0,0,3,0,0,0,243,0,1, + 0,0,151,0,124,0,106,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,125,4,124,4,128,1,121,0,9,0,116,3, + 0,0,0,0,0,0,0,0,124,4,171,1,0,0,0,0, + 0,0,1,0,116,7,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,68,0,93,66,0,0,92,2,0,0, + 125,5,125,6,124,4,106,9,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,116,11,0,0,0,0, + 0,0,0,0,124,6,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,115,1,140,33,116,12,0,0,0,0, + 0,0,0,0,106,15,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,1,2,0,124,5,124,1, + 124,4,171,2,0,0,0,0,0,0,124,4,172,1,171,3, + 0,0,0,0,0,0,125,7,124,7,99,2,1,0,83,0, + 4,0,121,0,35,0,116,4,0,0,0,0,0,0,0,0, + 36,0,114,3,1,0,89,0,121,0,119,0,120,3,89,0, + 119,1,41,2,78,114,8,1,0,0,41,8,114,54,1,0, + 0,114,85,0,0,0,114,87,0,0,0,114,13,1,0,0, + 114,59,0,0,0,114,179,0,0,0,114,207,0,0,0,218, + 16,115,112,101,99,95,102,114,111,109,95,108,111,97,100,101, + 114,41,8,114,50,1,0,0,114,42,1,0,0,114,68,0, + 0,0,218,6,116,97,114,103,101,116,114,53,1,0,0,114, + 4,1,0,0,114,18,1,0,0,114,16,1,0,0,115,8, + 0,0,0,32,32,32,32,32,32,32,32,114,10,0,0,0, + 218,9,102,105,110,100,95,115,112,101,99,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,188,3,0,0, + 115,147,0,0,0,128,0,224,19,22,215,19,39,209,19,39, + 168,8,211,19,49,136,8,216,11,19,208,11,27,216,19,23, + 240,2,3,9,24,220,12,22,144,120,212,12,32,244,6,0, + 33,60,211,32,61,242,0,5,9,28,209,12,28,136,70,144, + 72,216,15,23,215,15,32,209,15,32,164,21,160,120,163,31, + 213,15,49,220,23,33,215,23,50,209,23,50,176,56,217,51, + 57,184,40,192,72,211,51,77,216,58,66,240,5,0,24,51, + 243,0,2,24,68,1,144,4,240,6,0,24,28,146,11,241, + 11,5,9,28,248,244,5,0,16,23,242,0,1,9,24,217, + 19,23,240,3,1,9,24,250,115,17,0,0,0,150,11,65, + 49,0,193,49,9,65,61,3,193,60,1,65,61,3,169,2, + 78,78,41,14,114,196,0,0,0,114,195,0,0,0,114,197, + 0,0,0,114,198,0,0,0,114,46,1,0,0,114,45,1, + 0,0,218,11,95,77,83,95,87,73,78,68,79,87,83,218, + 18,69,88,84,69,78,83,73,79,78,95,83,85,70,70,73, + 88,69,83,114,44,1,0,0,218,12,115,116,97,116,105,99, + 109,101,116,104,111,100,114,40,1,0,0,218,11,99,108,97, + 115,115,109,101,116,104,111,100,114,54,1,0,0,114,58,1, + 0,0,114,30,0,0,0,114,28,0,0,0,114,10,0,0, + 0,114,34,1,0,0,114,34,1,0,0,154,3,0,0,115, + 103,0,0,0,132,0,225,4,72,240,6,1,9,32,240,3, + 0,5,17,240,8,1,9,39,240,3,0,5,23,240,6,0, + 20,31,210,19,65,160,56,208,47,65,208,35,65,128,75,224, + 5,17,241,2,4,5,66,1,243,3,0,6,18,240,2,4, + 5,66,1,240,12,0,6,17,241,2,12,5,24,243,3,0, + 6,17,240,2,12,5,24,240,28,0,6,17,242,2,13,5, + 28,243,3,0,6,17,241,2,13,5,28,114,28,0,0,0, + 114,34,1,0,0,99,0,0,0,0,0,0,0,0,0,0, + 0,0,1,0,0,0,0,0,0,0,243,40,0,0,0,151, + 0,101,0,90,1,100,0,90,2,100,1,90,3,100,2,132, + 0,90,4,100,3,132,0,90,5,100,4,132,0,90,6,100, + 5,132,0,90,7,121,6,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,0,0,0,0,5,0,0,0,3,0, + 0,0,243,166,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,106,3,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,1,171,1,0,0,0, + 0,0,0,171,1,0,0,0,0,0,0,100,1,25,0,0, + 0,125,2,124,2,106,5,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,2,100,1,171,2,0, + 0,0,0,0,0,100,3,25,0,0,0,125,3,124,1,106, + 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,2,171,1,0,0,0,0,0,0,100,4,25, + 0,0,0,125,4,124,3,100,5,107,40,0,0,120,1,114, + 5,1,0,124,4,100,5,107,55,0,0,83,0,41,6,122, + 141,67,111,110,99,114,101,116,101,32,105,109,112,108,101,109, + 101,110,116,97,116,105,111,110,32,111,102,32,73,110,115,112, + 101,99,116,76,111,97,100,101,114,46,105,115,95,112,97,99, + 107,97,103,101,32,98,121,32,99,104,101,99,107,105,110,103, + 32,105,102,10,32,32,32,32,32,32,32,32,116,104,101,32, + 112,97,116,104,32,114,101,116,117,114,110,101,100,32,98,121, + 32,103,101,116,95,102,105,108,101,110,97,109,101,32,104,97, + 115,32,97,32,102,105,108,101,110,97,109,101,32,111,102,32, + 39,95,95,105,110,105,116,95,95,46,112,121,39,46,114,6, + 0,0,0,114,103,0,0,0,114,1,0,0,0,114,52,0, + 0,0,218,8,95,95,105,110,105,116,95,95,41,4,114,81, + 0,0,0,114,7,1,0,0,114,157,0,0,0,114,131,0, + 0,0,41,5,114,189,0,0,0,114,42,1,0,0,114,151, + 0,0,0,218,13,102,105,108,101,110,97,109,101,95,98,97, + 115,101,218,9,116,97,105,108,95,110,97,109,101,115,5,0, + 0,0,32,32,32,32,32,114,10,0,0,0,114,10,1,0, + 0,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,210,3,0,0,115, + 93,0,0,0,128,0,244,6,0,20,31,152,116,215,31,48, + 209,31,48,176,24,211,31,58,211,19,59,184,65,209,19,62, + 136,8,216,24,32,159,15,153,15,168,3,168,81,211,24,47, + 176,1,209,24,50,136,13,216,20,28,215,20,39,209,20,39, + 168,3,211,20,44,168,81,209,20,47,136,9,216,15,28,160, + 10,209,15,42,210,15,70,168,121,184,74,209,47,70,208,8, + 70,114,28,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,243,4,0,0,0, + 151,0,121,1,169,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,30,0,0,0,169,2,114,189,0,0,0,114, + 16,1,0,0,115,2,0,0,0,32,32,114,10,0,0,0, + 218,13,99,114,101,97,116,101,95,109,111,100,117,108,101,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,218,3,0,0, + 243,2,0,0,0,129,0,114,28,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0, + 0,243,186,0,0,0,151,0,124,0,106,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,125,2,124,2, + 128,25,116,5,0,0,0,0,0,0,0,0,100,2,124,1, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,155,2,100,3,157,3,171,1,0,0,0,0, + 0,0,130,1,116,6,0,0,0,0,0,0,0,0,106,9, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,10,0,0,0,0,0,0,0,0,124,2,124,1, + 106,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,3,0,0,0,0,0,0,1,0,121,1, + 41,4,122,19,69,120,101,99,117,116,101,32,116,104,101,32, + 109,111,100,117,108,101,46,78,122,19,99,97,110,110,111,116, + 32,108,111,97,100,32,109,111,100,117,108,101,32,122,29,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,218,8, + 103,101,116,95,99,111,100,101,114,196,0,0,0,114,188,0, + 0,0,114,207,0,0,0,218,25,95,99,97,108,108,95,119, + 105,116,104,95,102,114,97,109,101,115,95,114,101,109,111,118, + 101,100,218,4,101,120,101,99,114,202,0,0,0,41,3,114, + 189,0,0,0,218,6,109,111,100,117,108,101,114,236,0,0, + 0,115,3,0,0,0,32,32,32,114,10,0,0,0,218,11, + 101,120,101,99,95,109,111,100,117,108,101,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,221,3,0,0,115,83,0,0,0,128, + 0,224,15,19,143,125,137,125,152,86,159,95,153,95,211,15, + 45,136,4,216,11,15,136,60,220,18,29,208,32,51,176,70, + 183,79,177,79,208,51,70,240,0,1,71,1,56,240,0,1, + 31,56,243,0,1,19,57,240,0,1,13,57,228,8,18,215, + 8,44,209,8,44,172,84,176,52,184,22,191,31,185,31,213, + 8,73,114,28,0,0,0,99,2,0,0,0,0,0,0,0, + 0,0,0,0,4,0,0,0,3,0,0,0,243,46,0,0, + 0,151,0,116,0,0,0,0,0,0,0,0,0,106,3,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,124,1,171,2,0,0,0,0,0,0,83,0,41, + 1,122,26,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,41,2,114, + 207,0,0,0,218,17,95,108,111,97,100,95,109,111,100,117, + 108,101,95,115,104,105,109,169,2,114,189,0,0,0,114,42, + 1,0,0,115,2,0,0,0,32,32,114,10,0,0,0,218, + 11,108,111,97,100,95,109,111,100,117,108,101,122,25,95,76, + 111,97,100,101,114,66,97,115,105,99,115,46,108,111,97,100, + 95,109,111,100,117,108,101,229,3,0,0,115,23,0,0,0, + 128,0,244,6,0,16,26,215,15,43,209,15,43,168,68,176, + 40,211,15,59,208,8,59,114,28,0,0,0,78,41,8,114, + 196,0,0,0,114,195,0,0,0,114,197,0,0,0,114,198, + 0,0,0,114,10,1,0,0,114,73,1,0,0,114,80,1, + 0,0,114,84,1,0,0,114,30,0,0,0,114,28,0,0, + 0,114,10,0,0,0,114,65,1,0,0,114,65,1,0,0, + 205,3,0,0,115,29,0,0,0,132,0,241,4,1,5,29, + 242,6,6,5,71,1,242,16,1,5,57,242,6,6,5,74, + 1,243,16,3,5,60,114,28,0,0,0,114,65,1,0,0, + 99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, + 0,0,0,0,0,243,60,0,0,0,151,0,101,0,90,1, + 100,0,90,2,100,1,132,0,90,3,100,2,132,0,90,4, + 100,3,132,0,90,5,100,4,132,0,90,6,100,5,132,0, + 90,7,100,6,100,7,156,1,100,8,132,2,90,8,100,9, + 132,0,90,9,121,10,41,11,218,12,83,111,117,114,99,101, + 76,111,97,100,101,114,99,2,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,3,0,0,0,243,14,0,0,0, + 151,0,116,0,0,0,0,0,0,0,0,0,130,1,41,1, + 122,165,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,32,40,97,32, + 115,116,114,41,46,10,10,32,32,32,32,32,32,32,32,82, + 97,105,115,101,115,32,79,83,69,114,114,111,114,32,119,104, + 101,110,32,116,104,101,32,112,97,116,104,32,99,97,110,110, + 111,116,32,98,101,32,104,97,110,100,108,101,100,46,10,32, + 32,32,32,32,32,32,32,41,1,114,87,0,0,0,169,2, + 114,189,0,0,0,114,68,0,0,0,115,2,0,0,0,32, + 32,114,10,0,0,0,218,10,112,97,116,104,95,109,116,105, + 109,101,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,237,3,0,0,115, + 9,0,0,0,128,0,244,12,0,15,22,136,13,114,28,0, + 0,0,99,2,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,3,0,0,0,243,40,0,0,0,151,0,100,1, + 124,0,106,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,171,1,0,0,0,0,0,0, + 105,1,83,0,41,2,97,158,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,10,32,32,32,32,32,32,32,32,112, + 97,116,104,32,40,97,32,115,116,114,41,46,10,10,32,32, + 32,32,32,32,32,32,80,111,115,115,105,98,108,101,32,107, + 101,121,115,58,10,32,32,32,32,32,32,32,32,45,32,39, + 109,116,105,109,101,39,32,40,109,97,110,100,97,116,111,114, + 121,41,32,105,115,32,116,104,101,32,110,117,109,101,114,105, + 99,32,116,105,109,101,115,116,97,109,112,32,111,102,32,108, + 97,115,116,32,115,111,117,114,99,101,10,32,32,32,32,32, + 32,32,32,32,32,99,111,100,101,32,109,111,100,105,102,105, + 99,97,116,105,111,110,59,10,32,32,32,32,32,32,32,32, + 45,32,39,115,105,122,101,39,32,40,111,112,116,105,111,110, + 97,108,41,32,105,115,32,116,104,101,32,115,105,122,101,32, + 105,110,32,98,121,116,101,115,32,111,102,32,116,104,101,32, + 115,111,117,114,99,101,32,99,111,100,101,46,10,10,32,32, + 32,32,32,32,32,32,73,109,112,108,101,109,101,110,116,105, + 110,103,32,116,104,105,115,32,109,101,116,104,111,100,32,97, + 108,108,111,119,115,32,116,104,101,32,108,111,97,100,101,114, + 32,116,111,32,114,101,97,100,32,98,121,116,101,99,111,100, + 101,32,102,105,108,101,115,46,10,32,32,32,32,32,32,32, + 32,82,97,105,115,101,115,32,79,83,69,114,114,111,114,32, + 119,104,101,110,32,116,104,101,32,112,97,116,104,32,99,97, + 110,110,111,116,32,98,101,32,104,97,110,100,108,101,100,46, + 10,32,32,32,32,32,32,32,32,114,242,0,0,0,41,1, + 114,89,1,0,0,114,88,1,0,0,115,2,0,0,0,32, + 32,114,10,0,0,0,218,10,112,97,116,104,95,115,116,97, + 116,115,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,245,3,0,0,115, + 24,0,0,0,128,0,240,24,0,17,24,152,20,159,31,153, + 31,168,20,211,25,46,208,15,47,208,8,47,114,28,0,0, + 0,99,4,0,0,0,0,0,0,0,0,0,0,0,4,0, + 0,0,3,0,0,0,243,38,0,0,0,151,0,124,0,106, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,2,124,3,171,2,0,0,0,0,0,0,83, + 0,41,1,122,228,79,112,116,105,111,110,97,108,32,109,101, + 116,104,111,100,32,119,104,105,99,104,32,119,114,105,116,101, + 115,32,100,97,116,97,32,40,98,121,116,101,115,41,32,116, + 111,32,97,32,102,105,108,101,32,112,97,116,104,32,40,97, + 32,115,116,114,41,46,10,10,32,32,32,32,32,32,32,32, + 73,109,112,108,101,109,101,110,116,105,110,103,32,116,104,105, + 115,32,109,101,116,104,111,100,32,97,108,108,111,119,115,32, + 102,111,114,32,116,104,101,32,119,114,105,116,105,110,103,32, + 111,102,32,98,121,116,101,99,111,100,101,32,102,105,108,101, + 115,46,10,10,32,32,32,32,32,32,32,32,84,104,101,32, + 115,111,117,114,99,101,32,112,97,116,104,32,105,115,32,110, + 101,101,100,101,100,32,105,110,32,111,114,100,101,114,32,116, + 111,32,99,111,114,114,101,99,116,108,121,32,116,114,97,110, + 115,102,101,114,32,112,101,114,109,105,115,115,105,111,110,115, + 10,32,32,32,32,32,32,32,32,41,1,218,8,115,101,116, + 95,100,97,116,97,41,4,114,189,0,0,0,114,176,0,0, + 0,218,10,99,97,99,104,101,95,112,97,116,104,114,48,0, + 0,0,115,4,0,0,0,32,32,32,32,114,10,0,0,0, + 218,15,95,99,97,99,104,101,95,98,121,116,101,99,111,100, + 101,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,3, + 4,0,0,115,21,0,0,0,128,0,240,16,0,16,20,143, + 125,137,125,152,90,168,20,211,15,46,208,8,46,114,28,0, + 0,0,99,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,3,0,0,0,243,4,0,0,0,151,0,121,1, + 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,30,0,0,0, + 41,3,114,189,0,0,0,114,68,0,0,0,114,48,0,0, + 0,115,3,0,0,0,32,32,32,114,10,0,0,0,114,93, + 1,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,13,4,0,0,114,74, + 1,0,0,114,28,0,0,0,99,2,0,0,0,0,0,0, + 0,0,0,0,0,5,0,0,0,3,0,0,0,243,156,0, + 0,0,151,0,124,0,106,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,125,2,9,0,124,0,106,3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,2, + 171,1,0,0,0,0,0,0,125,3,116,9,0,0,0,0, + 0,0,0,0,124,3,171,1,0,0,0,0,0,0,83,0, + 35,0,116,4,0,0,0,0,0,0,0,0,36,0,114,19, + 125,4,116,7,0,0,0,0,0,0,0,0,100,1,124,1, + 172,2,171,2,0,0,0,0,0,0,124,4,130,2,100,3, + 125,4,126,4,119,1,119,0,120,3,89,0,119,1,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, + 186,0,0,0,78,41,5,114,7,1,0,0,218,8,103,101, + 116,95,100,97,116,97,114,87,0,0,0,114,188,0,0,0, + 114,2,1,0,0,41,5,114,189,0,0,0,114,42,1,0, + 0,114,68,0,0,0,114,254,0,0,0,114,31,1,0,0, + 115,5,0,0,0,32,32,32,32,32,114,10,0,0,0,218, + 10,103,101,116,95,115,111,117,114,99,101,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,20,4,0,0,115,90,0,0,0,128,0,224, + 15,19,215,15,32,209,15,32,160,24,211,15,42,136,4,240, + 2,4,9,54,216,27,31,159,61,153,61,168,20,211,27,46, + 136,76,244,8,0,16,29,152,92,211,15,42,208,8,42,248, + 244,7,0,16,23,242,0,2,9,54,220,18,29,208,30,71, + 216,35,43,244,3,1,19,45,216,50,53,240,3,1,13,54, + 251,240,3,2,9,54,250,115,20,0,0,0,147,17,47,0, + 175,9,65,11,3,184,14,65,6,3,193,6,5,65,11,3, + 114,170,0,0,0,41,1,218,9,95,111,112,116,105,109,105, + 122,101,99,3,0,0,0,0,0,0,0,1,0,0,0,8, + 0,0,0,3,0,0,0,243,64,0,0,0,151,0,116,0, + 0,0,0,0,0,0,0,0,106,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,116,4,0,0, + 0,0,0,0,0,0,124,1,124,2,100,1,100,2,124,3, + 172,3,171,6,0,0,0,0,0,0,83,0,41,4,122,130, + 82,101,116,117,114,110,32,116,104,101,32,99,111,100,101,32, + 111,98,106,101,99,116,32,99,111,109,112,105,108,101,100,32, + 102,114,111,109,32,115,111,117,114,99,101,46,10,10,32,32, + 32,32,32,32,32,32,84,104,101,32,39,100,97,116,97,39, + 32,97,114,103,117,109,101,110,116,32,99,97,110,32,98,101, + 32,97,110,121,32,111,98,106,101,99,116,32,116,121,112,101, + 32,116,104,97,116,32,99,111,109,112,105,108,101,40,41,32, + 115,117,112,112,111,114,116,115,46,10,32,32,32,32,32,32, + 32,32,114,78,1,0,0,84,41,2,218,12,100,111,110,116, + 95,105,110,104,101,114,105,116,114,135,0,0,0,41,3,114, + 207,0,0,0,114,77,1,0,0,218,7,99,111,109,112,105, + 108,101,41,4,114,189,0,0,0,114,48,0,0,0,114,68, + 0,0,0,114,100,1,0,0,115,4,0,0,0,32,32,32, + 32,114,10,0,0,0,218,14,115,111,117,114,99,101,95,116, + 111,95,99,111,100,101,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,30,4,0,0,115,43,0,0,0,128,0,244,10, + 0,16,26,215,15,51,209,15,51,180,71,184,84,192,52,200, + 22,216,53,57,192,73,240,3,0,16,52,243,0,1,16,79, + 1,240,0,1,9,79,1,114,28,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,7,0,0,0,3,0,0, + 0,243,72,4,0,0,151,0,124,0,106,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 171,1,0,0,0,0,0,0,125,2,100,1,125,3,100,1, + 125,4,100,1,125,5,100,2,125,6,100,3,125,7,9,0, + 116,3,0,0,0,0,0,0,0,0,124,2,171,1,0,0, + 0,0,0,0,125,8,9,0,124,0,106,5,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,2, + 171,1,0,0,0,0,0,0,125,9,116,7,0,0,0,0, + 0,0,0,0,124,9,100,4,25,0,0,0,171,1,0,0, + 0,0,0,0,125,3,9,0,124,0,106,9,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,8, + 171,1,0,0,0,0,0,0,125,10,124,1,124,8,100,5, + 156,2,125,11,9,0,116,11,0,0,0,0,0,0,0,0, + 124,10,124,1,124,11,171,3,0,0,0,0,0,0,125,12, + 116,13,0,0,0,0,0,0,0,0,124,10,171,1,0,0, + 0,0,0,0,100,6,100,1,26,0,125,13,124,12,100,7, + 122,1,0,0,100,8,107,55,0,0,125,6,124,6,114,106, + 124,12,100,9,122,1,0,0,100,8,107,55,0,0,125,7, + 116,14,0,0,0,0,0,0,0,0,106,16,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,10, + 107,55,0,0,114,97,124,7,115,19,116,14,0,0,0,0, + 0,0,0,0,106,16,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,11,107,40,0,0,114,76, + 124,0,106,9,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0, + 125,4,116,15,0,0,0,0,0,0,0,0,106,18,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 116,20,0,0,0,0,0,0,0,0,124,4,171,2,0,0, + 0,0,0,0,125,5,116,23,0,0,0,0,0,0,0,0, + 124,10,124,5,124,1,124,11,171,4,0,0,0,0,0,0, + 1,0,110,18,116,25,0,0,0,0,0,0,0,0,124,10, + 124,3,124,9,100,12,25,0,0,0,124,1,124,11,171,5, + 0,0,0,0,0,0,1,0,116,26,0,0,0,0,0,0, + 0,0,106,29,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,13,124,8,124,2,171,3,0,0, + 0,0,0,0,1,0,116,31,0,0,0,0,0,0,0,0, + 124,13,124,1,124,8,124,2,172,14,171,4,0,0,0,0, + 0,0,83,0,35,0,116,32,0,0,0,0,0,0,0,0, + 116,34,0,0,0,0,0,0,0,0,102,2,36,0,114,3, + 1,0,89,0,110,51,119,0,120,3,89,0,119,1,35,0, + 116,36,0,0,0,0,0,0,0,0,36,0,114,3,1,0, + 89,0,110,36,119,0,120,3,89,0,119,1,35,0,116,36, + 0,0,0,0,0,0,0,0,36,0,114,3,1,0,89,0, + 110,21,119,0,120,3,89,0,119,1,35,0,116,38,0,0, + 0,0,0,0,0,0,36,0,114,5,1,0,100,1,125,8, + 89,0,110,4,119,0,120,3,89,0,119,1,124,4,128,17, + 124,0,106,9,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0, + 125,4,124,0,106,41,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,4,124,2,171,2,0,0, + 0,0,0,0,125,14,116,26,0,0,0,0,0,0,0,0, + 106,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,15,124,2,171,2,0,0,0,0,0,0, + 1,0,116,42,0,0,0,0,0,0,0,0,106,44,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 115,108,124,8,129,106,124,3,129,104,124,6,114,42,124,5, + 128,26,116,15,0,0,0,0,0,0,0,0,106,18,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 116,20,0,0,0,0,0,0,0,0,124,4,171,2,0,0, + 0,0,0,0,125,5,116,47,0,0,0,0,0,0,0,0, + 124,14,124,5,124,7,171,3,0,0,0,0,0,0,125,10, + 110,22,116,49,0,0,0,0,0,0,0,0,124,14,124,3, + 116,51,0,0,0,0,0,0,0,0,124,4,171,1,0,0, + 0,0,0,0,171,3,0,0,0,0,0,0,125,10,9,0, + 124,0,106,53,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,124,8,124,10,171,3,0,0, + 0,0,0,0,1,0,124,14,83,0,35,0,116,38,0,0, + 0,0,0,0,0,0,36,0,114,4,1,0,89,0,124,14, + 83,0,119,0,120,3,89,0,119,1,124,14,83,0,41,16, + 122,190,67,111,110,99,114,101,116,101,32,105,109,112,108,101, + 109,101,110,116,97,116,105,111,110,32,111,102,32,73,110,115, + 112,101,99,116,76,111,97,100,101,114,46,103,101,116,95,99, + 111,100,101,46,10,10,32,32,32,32,32,32,32,32,82,101, + 97,100,105,110,103,32,111,102,32,98,121,116,101,99,111,100, + 101,32,114,101,113,117,105,114,101,115,32,112,97,116,104,95, + 115,116,97,116,115,32,116,111,32,98,101,32,105,109,112,108, + 101,109,101,110,116,101,100,46,32,84,111,32,119,114,105,116, + 101,10,32,32,32,32,32,32,32,32,98,121,116,101,99,111, + 100,101,44,32,115,101,116,95,100,97,116,97,32,109,117,115, + 116,32,97,108,115,111,32,98,101,32,105,109,112,108,101,109, + 101,110,116,101,100,46,10,10,32,32,32,32,32,32,32,32, + 78,70,84,114,242,0,0,0,114,229,0,0,0,114,211,0, + 0,0,114,6,0,0,0,114,1,0,0,0,114,52,0,0, + 0,218,5,110,101,118,101,114,218,6,97,108,119,97,121,115, + 218,4,115,105,122,101,122,13,123,125,32,109,97,116,99,104, + 101,115,32,123,125,41,3,114,187,0,0,0,114,173,0,0, + 0,114,176,0,0,0,122,19,99,111,100,101,32,111,98,106, + 101,99,116,32,102,114,111,109,32,123,125,41,27,114,7,1, + 0,0,114,152,0,0,0,114,91,1,0,0,114,40,0,0, + 0,114,98,1,0,0,114,219,0,0,0,218,10,109,101,109, + 111,114,121,118,105,101,119,114,234,0,0,0,218,21,99,104, + 101,99,107,95,104,97,115,104,95,98,97,115,101,100,95,112, + 121,99,115,114,226,0,0,0,218,17,95,82,65,87,95,77, + 65,71,73,67,95,78,85,77,66,69,82,114,227,0,0,0, + 114,224,0,0,0,114,207,0,0,0,114,215,0,0,0,114, + 237,0,0,0,114,188,0,0,0,114,216,0,0,0,114,87, + 0,0,0,114,134,0,0,0,114,104,1,0,0,114,20,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,246,0,0,0,114,243,0,0, + 0,114,7,0,0,0,114,95,1,0,0,41,15,114,189,0, + 0,0,114,42,1,0,0,114,176,0,0,0,114,222,0,0, + 0,114,254,0,0,0,114,226,0,0,0,218,10,104,97,115, + 104,95,98,97,115,101,100,218,12,99,104,101,99,107,95,115, + 111,117,114,99,101,114,173,0,0,0,218,2,115,116,114,48, + 0,0,0,114,217,0,0,0,114,21,0,0,0,218,10,98, + 121,116,101,115,95,100,97,116,97,218,11,99,111,100,101,95, + 111,98,106,101,99,116,115,15,0,0,0,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,114,10,0,0,0,114, + 76,1,0,0,122,21,83,111,117,114,99,101,76,111,97,100, + 101,114,46,103,101,116,95,99,111,100,101,38,4,0,0,115, + 147,2,0,0,128,0,240,14,0,23,27,215,22,39,209,22, + 39,168,8,211,22,49,136,11,216,23,27,136,12,216,23,27, + 136,12,216,22,26,136,11,216,21,26,136,10,216,23,27,136, + 12,240,2,51,9,74,1,220,28,45,168,107,211,28,58,136, + 77,240,8,46,13,74,1,216,21,25,151,95,145,95,160,91, + 211,21,49,144,2,244,8,0,32,35,160,50,160,103,161,59, + 211,31,47,144,12,240,2,40,17,74,1,216,27,31,159,61, + 153,61,168,29,211,27,55,144,68,240,10,0,33,41,216,32, + 45,241,5,3,35,22,144,75,240,8,31,21,74,1,220,32, + 45,168,100,176,72,184,107,211,32,74,152,5,220,37,47,176, + 4,211,37,53,176,98,176,99,208,37,58,152,10,216,37,42, + 168,83,161,91,176,65,209,37,53,152,10,217,27,37,216,43, + 48,176,52,169,60,184,49,209,43,60,152,76,220,32,36,215, + 32,58,209,32,58,184,103,210,32,69,217,33,45,220,33,37, + 215,33,59,209,33,59,184,120,210,33,71,216,47,51,175,125, + 169,125,184,91,211,47,73,160,12,220,46,50,215,46,62,209, + 46,62,220,36,53,216,36,48,243,5,3,47,34,160,11,244, + 8,0,33,51,176,52,184,27,192,104,216,51,62,245,3,1, + 33,64,1,244,6,0,29,52,216,32,36,216,32,44,216,32, + 34,160,54,161,10,216,32,40,216,32,43,244,11,6,29,30, + 244,20,0,25,35,215,24,51,209,24,51,176,79,192,93,216, + 52,63,244,3,1,25,65,1,228,31,48,176,26,192,40,216, + 63,76,216,61,72,244,5,2,32,74,1,240,0,2,25,74, + 1,248,244,11,0,29,40,172,24,208,27,50,242,0,1,21, + 29,217,24,28,240,3,1,21,29,251,244,63,0,24,31,242, + 0,1,17,25,217,20,24,240,3,1,17,25,251,244,13,0, + 20,27,242,0,1,13,21,217,16,20,240,3,1,13,21,251, + 244,11,0,16,35,242,0,1,9,33,216,28,32,138,77,240, + 3,1,9,33,250,240,100,1,0,12,24,208,11,31,216,27, + 31,159,61,153,61,168,27,211,27,53,136,76,216,22,26,215, + 22,41,209,22,41,168,44,184,11,211,22,68,136,11,220,8, + 18,215,8,35,209,8,35,208,36,57,184,59,212,8,71,220, + 16,19,215,16,39,210,16,39,168,77,208,44,69,216,16,28, + 208,16,40,217,15,25,216,19,30,208,19,38,220,34,38,215, + 34,50,209,34,50,212,51,68,216,51,63,243,3,1,35,65, + 1,144,75,228,23,40,168,27,176,107,192,60,211,23,80,145, + 4,228,23,45,168,107,184,60,220,46,49,176,44,211,46,63, + 243,3,1,24,65,1,144,4,240,4,3,13,21,216,16,20, + 215,16,36,209,16,36,160,91,176,45,192,20,212,16,70,240, + 6,0,16,27,208,8,26,248,244,5,0,20,39,242,0,1, + 13,21,216,16,20,216,15,26,208,8,26,240,5,1,13,21, + 250,224,15,26,208,8,26,115,89,0,0,0,157,11,69,26, + 0,169,17,69,11,0,193,9,17,68,60,0,193,32,66,33, + 68,39,0,196,39,15,68,57,3,196,56,1,68,57,3,196, + 60,9,69,8,3,197,7,1,69,8,3,197,11,9,69,23, + 3,197,22,1,69,23,3,197,26,11,69,40,3,197,39,1, + 69,40,3,199,61,19,72,18,0,200,18,9,72,31,3,200, + 30,1,72,31,3,78,41,10,114,196,0,0,0,114,195,0, + 0,0,114,197,0,0,0,114,89,1,0,0,114,91,1,0, + 0,114,95,1,0,0,114,93,1,0,0,114,99,1,0,0, + 114,104,1,0,0,114,76,1,0,0,114,30,0,0,0,114, + 28,0,0,0,114,10,0,0,0,114,86,1,0,0,114,86, + 1,0,0,235,3,0,0,115,44,0,0,0,132,0,242,4, + 6,5,22,242,16,12,5,48,242,28,8,5,47,242,20,4, + 5,12,242,14,8,5,43,240,20,0,55,57,244,0,6,5, + 79,1,243,16,83,1,5,27,114,28,0,0,0,114,86,1, + 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,0,0,0,0,243,100,0,0,0,135,0,151,0, + 101,0,90,1,100,0,90,2,100,1,90,3,100,2,132,0, + 90,4,100,3,132,0,90,5,100,4,132,0,90,6,101,7, + 136,0,102,1,100,5,132,8,171,0,0,0,0,0,0,0, + 90,8,101,7,100,6,132,0,171,0,0,0,0,0,0,0, + 90,9,100,7,132,0,90,10,101,7,100,8,132,0,171,0, + 0,0,0,0,0,0,90,11,136,0,120,1,90,12,83,0, + 41,9,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, + 0,0,0,0,2,0,0,0,3,0,0,0,243,32,0,0, + 0,151,0,124,1,124,0,95,0,0,0,0,0,0,0,0, + 0,124,2,124,0,95,1,0,0,0,0,0,0,0,0,121, + 1,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,114,229,0,0,0,41,3,114,189,0,0,0,114,42,1, + 0,0,114,68,0,0,0,115,3,0,0,0,32,32,32,114, + 10,0,0,0,114,67,1,0,0,122,19,70,105,108,101,76, + 111,97,100,101,114,46,95,95,105,110,105,116,95,95,129,4, + 0,0,115,18,0,0,0,128,0,240,6,0,21,29,136,4, + 140,9,216,20,24,136,4,141,9,114,28,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3, + 0,0,0,243,106,0,0,0,151,0,124,0,106,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,106,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,107,40,0,0,120,1,114,25,1,0, + 124,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,107,40,0,0, + 83,0,114,77,0,0,0,169,2,218,9,95,95,99,108,97, + 115,115,95,95,114,202,0,0,0,169,2,114,189,0,0,0, + 218,5,111,116,104,101,114,115,2,0,0,0,32,32,114,10, + 0,0,0,218,6,95,95,101,113,95,95,122,17,70,105,108, + 101,76,111,97,100,101,114,46,95,95,101,113,95,95,135,4, + 0,0,243,44,0,0,0,128,0,216,16,20,151,14,145,14, + 160,37,167,47,161,47,209,16,49,242,0,1,17,48,216,16, + 20,151,13,145,13,160,21,167,30,161,30,209,16,47,240,3, + 1,9,49,114,28,0,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,88,0, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,0, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,116,1,0,0, + 0,0,0,0,0,0,124,0,106,4,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,122,12,0,0,83,0,114,77,0,0,0,169, + 3,218,4,104,97,115,104,114,187,0,0,0,114,68,0,0, + 0,169,1,114,189,0,0,0,115,1,0,0,0,32,114,10, + 0,0,0,218,8,95,95,104,97,115,104,95,95,122,19,70, + 105,108,101,76,111,97,100,101,114,46,95,95,104,97,115,104, + 95,95,139,4,0,0,243,29,0,0,0,128,0,220,15,19, + 144,68,151,73,145,73,139,127,164,20,160,100,167,105,161,105, + 163,31,209,15,48,208,8,48,114,28,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0, + 0,0,243,42,0,0,0,149,1,151,0,116,0,0,0,0, + 0,0,0,0,0,116,2,0,0,0,0,0,0,0,0,124, + 0,141,11,0,0,124,1,171,1,0,0,0,0,0,0,83, + 0,41,1,122,100,76,111,97,100,32,97,32,109,111,100,117, + 108,101,32,102,114,111,109,32,97,32,102,105,108,101,46,10, + 10,32,32,32,32,32,32,32,32,84,104,105,115,32,109,101, + 116,104,111,100,32,105,115,32,100,101,112,114,101,99,97,116, + 101,100,46,32,32,85,115,101,32,101,120,101,99,95,109,111, + 100,117,108,101,40,41,32,105,110,115,116,101,97,100,46,10, + 10,32,32,32,32,32,32,32,32,41,3,218,5,115,117,112, + 101,114,114,119,1,0,0,114,84,1,0,0,41,3,114,189, + 0,0,0,114,42,1,0,0,114,123,1,0,0,115,3,0, + 0,0,32,32,128,114,10,0,0,0,114,84,1,0,0,122, + 22,70,105,108,101,76,111,97,100,101,114,46,108,111,97,100, + 95,109,111,100,117,108,101,142,4,0,0,115,23,0,0,0, + 248,128,0,244,20,0,16,21,148,90,160,20,209,15,50,176, + 56,211,15,60,208,8,60,114,28,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0, + 0,243,26,0,0,0,151,0,124,0,106,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0, + 169,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,114,84, + 0,0,0,114,83,1,0,0,115,2,0,0,0,32,32,114, + 10,0,0,0,114,7,1,0,0,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,154,4,0,0,243,14,0,0,0,128,0,240,6,0, + 16,20,143,121,137,121,208,8,24,114,28,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3, + 0,0,0,243,46,1,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,124,0,116,2,0,0,0,0,0,0,0,0, + 116,4,0,0,0,0,0,0,0,0,102,2,171,2,0,0, + 0,0,0,0,114,56,116,7,0,0,0,0,0,0,0,0, + 106,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,116,11,0,0,0,0,0,0,0,0,124,1, + 171,1,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 53,0,125,2,124,2,106,13,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,99,2,100,1,100,1,100,1,171,2,0,0,0,0, + 0,0,1,0,83,0,116,7,0,0,0,0,0,0,0,0, + 106,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,100,2,171,2,0,0,0,0,0,0, + 53,0,125,2,124,2,106,13,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,99,2,100,1,100,1,100,1,171,2,0,0,0,0, + 0,0,1,0,83,0,35,0,49,0,115,1,119,2,1,0, + 89,0,1,0,1,0,121,1,120,3,89,0,119,1,35,0, + 49,0,115,1,119,2,1,0,89,0,1,0,1,0,121,1, + 120,3,89,0,119,1,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,78,218,1,114,41,8,114,232,0,0,0,114,86,1,0, + 0,218,19,69,120,116,101,110,115,105,111,110,70,105,108,101, + 76,111,97,100,101,114,114,114,0,0,0,218,9,111,112,101, + 110,95,99,111,100,101,114,136,0,0,0,218,4,114,101,97, + 100,114,115,0,0,0,41,3,114,189,0,0,0,114,68,0, + 0,0,114,120,0,0,0,115,3,0,0,0,32,32,32,114, + 10,0,0,0,114,98,1,0,0,122,19,70,105,108,101,76, + 111,97,100,101,114,46,103,101,116,95,100,97,116,97,159,4, + 0,0,115,124,0,0,0,128,0,228,11,21,144,100,156,92, + 212,43,62,208,28,63,212,11,64,220,17,20,151,29,145,29, + 156,115,160,52,155,121,211,17,41,240,0,1,13,35,168,84, + 216,23,27,151,121,145,121,147,123,247,3,1,13,35,241,0, + 1,13,35,244,6,0,18,21,151,26,145,26,152,68,160,35, + 211,17,38,240,0,1,13,35,168,36,216,23,27,151,121,145, + 121,147,123,247,3,1,13,35,241,0,1,13,35,247,7,1, + 13,35,240,0,1,13,35,250,247,6,1,13,35,240,0,1, + 13,35,250,115,23,0,0,0,181,16,65,63,3,193,37,16, + 66,11,3,193,63,5,66,8,7,194,11,5,66,20,7,99, + 2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,30,0,0,0,151,0,100,1,100,2,108, + 0,109,1,125,2,1,0,2,0,124,2,124,0,171,1,0, + 0,0,0,0,0,83,0,41,3,78,114,1,0,0,0,41, + 1,218,10,70,105,108,101,82,101,97,100,101,114,41,2,218, + 17,105,109,112,111,114,116,108,105,98,46,114,101,97,100,101, + 114,115,114,145,1,0,0,41,3,114,189,0,0,0,114,79, + 1,0,0,114,145,1,0,0,115,3,0,0,0,32,32,32, + 114,10,0,0,0,218,19,103,101,116,95,114,101,115,111,117, + 114,99,101,95,114,101,97,100,101,114,122,30,70,105,108,101, + 76,111,97,100,101,114,46,103,101,116,95,114,101,115,111,117, + 114,99,101,95,114,101,97,100,101,114,168,4,0,0,115,16, + 0,0,0,128,0,229,8,48,217,15,25,152,36,211,15,31, + 208,8,31,114,28,0,0,0,41,13,114,196,0,0,0,114, + 195,0,0,0,114,197,0,0,0,114,198,0,0,0,114,67, + 1,0,0,114,126,1,0,0,114,132,1,0,0,114,208,0, + 0,0,114,84,1,0,0,114,7,1,0,0,114,98,1,0, + 0,114,147,1,0,0,218,13,95,95,99,108,97,115,115,99, + 101,108,108,95,95,41,1,114,123,1,0,0,115,1,0,0, + 0,64,114,10,0,0,0,114,119,1,0,0,114,119,1,0, + 0,124,4,0,0,115,88,0,0,0,248,132,0,241,4,1, + 5,34,242,6,4,5,25,242,12,2,5,49,242,8,1,5, + 49,240,6,0,6,17,243,2,9,5,61,243,3,0,6,17, + 240,2,9,5,61,240,22,0,6,17,241,2,2,5,25,243, + 3,0,6,17,240,2,2,5,25,242,8,7,5,35,240,18, + 0,6,17,241,2,2,5,32,243,3,0,6,17,244,2,2, + 5,32,114,28,0,0,0,114,119,1,0,0,99,0,0,0, + 0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, + 0,243,40,0,0,0,151,0,101,0,90,1,100,0,90,2, + 100,1,90,3,100,2,132,0,90,4,100,3,132,0,90,5, + 100,4,100,5,156,1,100,6,132,2,90,6,121,7,41,8, + 218,16,83,111,117,114,99,101,70,105,108,101,76,111,97,100, + 101,114,122,62,67,111,110,99,114,101,116,101,32,105,109,112, + 108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,83, + 111,117,114,99,101,76,111,97,100,101,114,32,117,115,105,110, + 103,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101, + 109,46,99,2,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,74,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,124,1,171,1,0,0,0,0, + 0,0,125,2,124,2,106,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,2,106,4,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,1,156,2,83,0,41,2,122,33,82,101,116,117,114,110, + 32,116,104,101,32,109,101,116,97,100,97,116,97,32,102,111, + 114,32,116,104,101,32,112,97,116,104,46,41,2,114,242,0, + 0,0,114,108,1,0,0,41,3,114,85,0,0,0,218,8, + 115,116,95,109,116,105,109,101,218,7,115,116,95,115,105,122, + 101,41,3,114,189,0,0,0,114,68,0,0,0,114,115,1, + 0,0,115,3,0,0,0,32,32,32,114,10,0,0,0,114, + 91,1,0,0,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,178,4,0,0,115,31,0,0,0,128,0,228,13,23,152, + 4,211,13,29,136,2,216,25,27,159,27,153,27,168,98,175, + 106,169,106,209,15,57,208,8,57,114,28,0,0,0,99,4, + 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, + 0,0,0,243,64,0,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,124,1,171,1,0,0,0,0,0,0,125,4, + 124,0,106,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,124,3,124,4,172,1,171,3, + 0,0,0,0,0,0,83,0,41,2,78,169,1,218,5,95, + 109,111,100,101,41,2,114,183,0,0,0,114,93,1,0,0, + 41,5,114,189,0,0,0,114,176,0,0,0,114,173,0,0, + 0,114,48,0,0,0,114,89,0,0,0,115,5,0,0,0, + 32,32,32,32,32,114,10,0,0,0,114,95,1,0,0,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,183,4,0,0,115,33,0,0,0,128,0,228,15,25,152, + 43,211,15,38,136,4,216,15,19,143,125,137,125,152,93,168, + 68,184,4,136,125,211,15,61,208,8,61,114,28,0,0,0, + 114,107,0,0,0,114,155,1,0,0,99,3,0,0,0,0, + 0,0,0,1,0,0,0,7,0,0,0,3,0,0,0,243, + 14,2,0,0,151,0,116,1,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,92,2,0,0,125,4, + 125,5,103,0,125,6,124,4,114,56,116,3,0,0,0,0, + 0,0,0,0,124,4,171,1,0,0,0,0,0,0,115,45, + 116,1,0,0,0,0,0,0,0,0,124,4,171,1,0,0, + 0,0,0,0,92,2,0,0,125,4,125,7,124,6,106,5, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,7,171,1,0,0,0,0,0,0,1,0,124,4, + 114,12,116,3,0,0,0,0,0,0,0,0,124,4,171,1, + 0,0,0,0,0,0,115,1,140,45,116,7,0,0,0,0, + 0,0,0,0,124,6,171,1,0,0,0,0,0,0,68,0, + 93,36,0,0,125,7,116,9,0,0,0,0,0,0,0,0, + 124,4,124,7,171,2,0,0,0,0,0,0,125,4,9,0, + 116,11,0,0,0,0,0,0,0,0,106,12,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,4, + 171,1,0,0,0,0,0,0,1,0,140,38,4,0,9,0, + 116,23,0,0,0,0,0,0,0,0,124,1,124,2,124,3, + 171,3,0,0,0,0,0,0,1,0,116,18,0,0,0,0, + 0,0,0,0,106,21,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,3,124,1,171,2,0,0, + 0,0,0,0,1,0,121,2,35,0,116,14,0,0,0,0, + 0,0,0,0,36,0,114,3,1,0,89,0,140,87,116,16, + 0,0,0,0,0,0,0,0,36,0,114,34,125,8,116,18, + 0,0,0,0,0,0,0,0,106,21,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,1,124,4, + 124,8,171,3,0,0,0,0,0,0,1,0,89,0,100,2, + 125,8,126,8,1,0,121,2,100,2,125,8,126,8,119,1, + 119,0,120,3,89,0,119,1,35,0,116,16,0,0,0,0, + 0,0,0,0,36,0,114,33,125,8,116,18,0,0,0,0, + 0,0,0,0,106,21,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,1,124,1,124,8,171,3, + 0,0,0,0,0,0,1,0,89,0,100,2,125,8,126,8, + 121,2,100,2,125,8,126,8,119,1,119,0,120,3,89,0, + 119,1,41,4,122,27,87,114,105,116,101,32,98,121,116,101, + 115,32,100,97,116,97,32,116,111,32,97,32,102,105,108,101, + 46,122,27,99,111,117,108,100,32,110,111,116,32,99,114,101, + 97,116,101,32,123,33,114,125,58,32,123,33,114,125,78,122, + 12,99,114,101,97,116,101,100,32,123,33,114,125,41,12,114, + 81,0,0,0,114,96,0,0,0,114,64,0,0,0,218,8, + 114,101,118,101,114,115,101,100,114,72,0,0,0,114,23,0, + 0,0,218,5,109,107,100,105,114,218,15,70,105,108,101,69, + 120,105,115,116,115,69,114,114,111,114,114,87,0,0,0,114, + 207,0,0,0,114,215,0,0,0,114,121,0,0,0,41,9, + 114,189,0,0,0,114,68,0,0,0,114,48,0,0,0,114, + 156,1,0,0,218,6,112,97,114,101,110,116,114,151,0,0, + 0,114,66,0,0,0,114,74,0,0,0,114,31,1,0,0, + 115,9,0,0,0,32,32,32,32,32,32,32,32,32,114,10, + 0,0,0,114,93,1,0,0,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,188,4,0,0,115,0,1,0,0,128,0,228,27, + 38,160,116,211,27,44,209,8,24,136,6,144,8,216,21,23, + 136,10,225,14,20,156,91,168,22,212,29,48,220,27,38,160, + 118,211,27,46,137,76,136,70,144,68,216,12,22,215,12,29, + 209,12,29,152,100,212,12,35,241,5,0,15,21,156,91,168, + 22,213,29,48,244,8,0,21,29,152,90,211,20,40,242,0, + 12,9,23,136,68,220,21,31,160,6,168,4,211,21,45,136, + 70,240,2,10,13,23,220,16,19,151,9,145,9,152,38,213, + 16,33,240,7,12,9,23,240,26,6,9,45,220,12,25,152, + 36,160,4,160,101,212,12,44,220,12,22,215,12,39,209,12, + 39,168,14,184,4,213,12,61,248,244,23,0,20,35,242,0, + 2,13,25,225,16,24,220,19,26,242,0,5,13,23,244,6, + 0,17,27,215,16,43,209,16,43,208,44,73,216,44,50,176, + 67,244,3,1,17,57,229,16,22,251,240,11,5,13,23,251, + 244,18,0,16,23,242,0,3,9,45,228,12,22,215,12,39, + 209,12,39,208,40,69,192,116,216,40,43,247,3,1,13,45, + 241,0,1,13,45,251,240,5,3,9,45,250,115,54,0,0, + 0,193,38,21,66,34,2,193,62,35,67,26,0,194,34,9, + 67,23,5,194,45,8,67,23,5,194,53,23,67,18,5,195, + 18,5,67,23,5,195,26,9,68,4,3,195,35,23,67,63, + 3,195,63,5,68,4,3,78,41,7,114,196,0,0,0,114, + 195,0,0,0,114,197,0,0,0,114,198,0,0,0,114,91, + 1,0,0,114,95,1,0,0,114,93,1,0,0,114,30,0, + 0,0,114,28,0,0,0,114,10,0,0,0,114,150,1,0, + 0,114,150,1,0,0,174,4,0,0,115,25,0,0,0,132, + 0,225,4,72,242,4,3,5,58,242,10,3,5,62,240,10, + 0,45,50,245,0,28,5,45,114,28,0,0,0,114,150,1, + 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,1, + 0,0,0,0,0,0,0,243,28,0,0,0,151,0,101,0, + 90,1,100,0,90,2,100,1,90,3,100,2,132,0,90,4, + 100,3,132,0,90,5,121,4,41,5,218,20,83,111,117,114, + 99,101,108,101,115,115,70,105,108,101,76,111,97,100,101,114, + 122,45,76,111,97,100,101,114,32,119,104,105,99,104,32,104, + 97,110,100,108,101,115,32,115,111,117,114,99,101,108,101,115, + 115,32,102,105,108,101,32,105,109,112,111,114,116,115,46,99, + 2,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0, + 3,0,0,0,243,158,0,0,0,151,0,124,0,106,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,1,171,1,0,0,0,0,0,0,125,2,124,0,106, + 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,2,171,1,0,0,0,0,0,0,125,3,124, + 1,124,2,100,1,156,2,125,4,116,5,0,0,0,0,0, + 0,0,0,124,3,124,1,124,4,171,3,0,0,0,0,0, + 0,1,0,116,7,0,0,0,0,0,0,0,0,116,9,0, + 0,0,0,0,0,0,0,124,3,171,1,0,0,0,0,0, + 0,100,2,100,0,26,0,124,1,124,2,172,3,171,3,0, + 0,0,0,0,0,83,0,41,4,78,114,229,0,0,0,114, + 211,0,0,0,41,2,114,187,0,0,0,114,173,0,0,0, + 41,5,114,7,1,0,0,114,98,1,0,0,114,219,0,0, + 0,114,237,0,0,0,114,109,1,0,0,41,5,114,189,0, + 0,0,114,42,1,0,0,114,68,0,0,0,114,48,0,0, + 0,114,217,0,0,0,115,5,0,0,0,32,32,32,32,32, + 114,10,0,0,0,114,76,1,0,0,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,223,4,0,0,115,95,0, + 0,0,128,0,216,15,19,215,15,32,209,15,32,160,24,211, + 15,42,136,4,216,15,19,143,125,137,125,152,84,211,15,34, + 136,4,240,8,0,21,29,216,20,24,241,5,3,23,10,136, + 11,244,8,0,9,22,144,100,152,72,160,107,212,8,50,220, + 15,32,220,12,22,144,116,211,12,28,152,82,152,83,208,12, + 33,216,17,25,216,26,30,244,7,4,16,10,240,0,4,9, + 10,114,28,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,243,4,0,0,0, + 151,0,121,1,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,30,0,0,0,114,83,1,0,0,115,2,0,0,0,32, + 32,114,10,0,0,0,114,99,1,0,0,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,239,4,0,0, + 243,5,0,0,0,128,0,224,15,19,114,28,0,0,0,78, + 41,6,114,196,0,0,0,114,195,0,0,0,114,197,0,0, + 0,114,198,0,0,0,114,76,1,0,0,114,99,1,0,0, + 114,30,0,0,0,114,28,0,0,0,114,10,0,0,0,114, + 163,1,0,0,114,163,1,0,0,219,4,0,0,115,15,0, + 0,0,132,0,225,4,55,242,4,14,5,10,243,32,2,5, + 20,114,28,0,0,0,114,163,1,0,0,99,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, + 243,80,0,0,0,151,0,101,0,90,1,100,0,90,2,100, + 1,90,3,100,2,132,0,90,4,100,3,132,0,90,5,100, + 4,132,0,90,6,100,5,132,0,90,7,100,6,132,0,90, + 8,100,7,132,0,90,9,100,8,132,0,90,10,100,9,132, + 0,90,11,101,12,100,10,132,0,171,0,0,0,0,0,0, + 0,90,13,121,11,41,12,114,141,1,0,0,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,0,0,0,0,2,0,0,0,3,0,0,0, + 243,32,0,0,0,151,0,124,1,124,0,95,0,0,0,0, + 0,0,0,0,0,124,2,124,0,95,1,0,0,0,0,0, + 0,0,0,121,0,114,77,0,0,0,114,229,0,0,0,41, + 3,114,189,0,0,0,114,187,0,0,0,114,68,0,0,0, + 115,3,0,0,0,32,32,32,114,10,0,0,0,114,67,1, + 0,0,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, + 252,4,0,0,115,16,0,0,0,128,0,216,20,24,136,4, + 140,9,216,20,24,136,4,141,9,114,28,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3, + 0,0,0,243,106,0,0,0,151,0,124,0,106,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,106,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,107,40,0,0,120,1,114,25,1,0, + 124,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,107,40,0,0, + 83,0,114,77,0,0,0,114,122,1,0,0,114,124,1,0, + 0,115,2,0,0,0,32,32,114,10,0,0,0,114,126,1, + 0,0,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,0,5, + 0,0,114,127,1,0,0,114,28,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0, + 0,243,88,0,0,0,151,0,116,1,0,0,0,0,0,0, + 0,0,124,0,106,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 116,1,0,0,0,0,0,0,0,0,124,0,106,4,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,122,12,0,0,83,0,114,77, + 0,0,0,114,129,1,0,0,114,131,1,0,0,115,1,0, + 0,0,32,114,10,0,0,0,114,132,1,0,0,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,4,5,0,0,114, + 133,1,0,0,114,28,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,5,0,0,0,3,0,0,0,243,164, + 0,0,0,151,0,116,0,0,0,0,0,0,0,0,0,106, + 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,116,4,0,0,0,0,0,0,0,0,106,6,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,1,171,2,0,0,0,0,0,0,125,2,116,0,0, + 0,0,0,0,0,0,0,106,9,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,1,124,1,106, + 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,0,106,12,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,3,0,0,0,0,0, + 0,1,0,124,2,83,0,41,2,122,40,67,114,101,97,116, + 101,32,97,110,32,117,110,105,110,105,116,105,97,108,105,122, + 101,100,32,101,120,116,101,110,115,105,111,110,32,109,111,100, + 117,108,101,122,38,101,120,116,101,110,115,105,111,110,32,109, + 111,100,117,108,101,32,123,33,114,125,32,108,111,97,100,101, + 100,32,102,114,111,109,32,123,33,114,125,41,7,114,207,0, + 0,0,114,77,1,0,0,114,234,0,0,0,218,14,99,114, + 101,97,116,101,95,100,121,110,97,109,105,99,114,215,0,0, + 0,114,187,0,0,0,114,68,0,0,0,41,3,114,189,0, + 0,0,114,16,1,0,0,114,79,1,0,0,115,3,0,0, + 0,32,32,32,114,10,0,0,0,114,73,1,0,0,122,33, + 69,120,116,101,110,115,105,111,110,70,105,108,101,76,111,97, + 100,101,114,46,99,114,101,97,116,101,95,109,111,100,117,108, + 101,7,5,0,0,115,64,0,0,0,128,0,228,17,27,215, + 17,53,209,17,53,220,12,16,215,12,31,209,12,31,160,20, + 243,3,1,18,39,136,6,228,8,18,215,8,35,209,8,35, + 208,36,76,216,25,29,159,25,153,25,160,68,167,73,161,73, + 244,3,1,9,47,224,15,21,136,13,114,28,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0, + 3,0,0,0,243,162,0,0,0,151,0,116,0,0,0,0, + 0,0,0,0,0,106,3,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,116,4,0,0,0,0,0, + 0,0,0,106,6,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,171,2,0,0,0,0,0, + 0,1,0,116,0,0,0,0,0,0,0,0,0,106,9,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,1,124,0,106,10,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,106,12,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 3,0,0,0,0,0,0,1,0,121,2,41,3,122,30,73, + 110,105,116,105,97,108,105,122,101,32,97,110,32,101,120,116, + 101,110,115,105,111,110,32,109,111,100,117,108,101,122,40,101, + 120,116,101,110,115,105,111,110,32,109,111,100,117,108,101,32, + 123,33,114,125,32,101,120,101,99,117,116,101,100,32,102,114, + 111,109,32,123,33,114,125,78,41,7,114,207,0,0,0,114, + 77,1,0,0,114,234,0,0,0,218,12,101,120,101,99,95, + 100,121,110,97,109,105,99,114,215,0,0,0,114,187,0,0, + 0,114,68,0,0,0,169,2,114,189,0,0,0,114,79,1, + 0,0,115,2,0,0,0,32,32,114,10,0,0,0,114,80, + 1,0,0,122,31,69,120,116,101,110,115,105,111,110,70,105, + 108,101,76,111,97,100,101,114,46,101,120,101,99,95,109,111, + 100,117,108,101,15,5,0,0,115,54,0,0,0,128,0,228, + 8,18,215,8,44,209,8,44,172,84,215,45,62,209,45,62, + 192,6,212,8,71,220,8,18,215,8,35,209,8,35,208,36, + 78,216,25,29,159,25,153,25,160,68,167,73,161,73,245,3, + 1,9,47,114,28,0,0,0,99,2,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,100,0, + 0,0,135,2,151,0,116,1,0,0,0,0,0,0,0,0, + 124,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,100,1, + 25,0,0,0,138,2,116,5,0,0,0,0,0,0,0,0, + 136,2,102,1,100,2,132,8,116,6,0,0,0,0,0,0, + 0,0,68,0,171,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,83,0,41,3,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,6,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,51,0,0,0,243,46,0,0,0,149,1,75,0,1,0, + 151,0,124,0,93,12,0,0,125,1,137,2,100,0,124,1, + 122,0,0,0,107,40,0,0,150,1,151,1,1,0,140,14, + 4,0,121,1,173,3,119,1,41,2,114,67,1,0,0,78, + 114,30,0,0,0,41,3,114,8,0,0,0,218,6,115,117, + 102,102,105,120,218,9,102,105,108,101,95,110,97,109,101,115, + 3,0,0,0,32,32,128,114,10,0,0,0,114,11,0,0, + 0,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,24,5,0,0,115,35,0,0,0,248,232,0, + 248,128,0,242,0,1,19,53,216,23,29,240,3,0,20,29, + 160,10,168,86,209,32,51,213,19,51,241,0,1,19,53,249, + 115,4,0,0,0,131,18,21,1,41,4,114,81,0,0,0, + 114,68,0,0,0,218,3,97,110,121,114,61,1,0,0,41, + 3,114,189,0,0,0,114,42,1,0,0,114,179,1,0,0, + 115,3,0,0,0,32,32,64,114,10,0,0,0,114,10,1, + 0,0,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,21,5,0,0,115,48,0,0,0,248,128,0,228,20, + 31,160,4,167,9,161,9,211,20,42,168,49,209,20,45,136, + 9,220,15,18,243,0,1,19,53,220,33,51,244,3,1,19, + 53,243,0,1,16,53,240,0,1,9,53,114,28,0,0,0, + 99,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,3,0,0,0,243,4,0,0,0,151,0,121,1,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,30,0,0,0,114,83,1,0,0,115,2,0,0, + 0,32,32,114,10,0,0,0,114,76,1,0,0,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,27,5,0,0,114, + 166,1,0,0,114,28,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,243,4, + 0,0,0,151,0,121,1,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,30,0,0,0,114,83,1,0,0,115,2,0,0,0, + 32,32,114,10,0,0,0,114,99,1,0,0,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,31,5,0,0, + 114,166,1,0,0,114,28,0,0,0,99,2,0,0,0,0, + 0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,243, + 26,0,0,0,151,0,124,0,106,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,83,0,114,137, + 1,0,0,114,84,0,0,0,114,83,1,0,0,115,2,0, + 0,0,32,32,114,10,0,0,0,114,7,1,0,0,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, + 35,5,0,0,114,138,1,0,0,114,28,0,0,0,78,41, + 14,114,196,0,0,0,114,195,0,0,0,114,197,0,0,0, + 114,198,0,0,0,114,67,1,0,0,114,126,1,0,0,114, + 132,1,0,0,114,73,1,0,0,114,80,1,0,0,114,10, + 1,0,0,114,76,1,0,0,114,99,1,0,0,114,208,0, + 0,0,114,7,1,0,0,114,30,0,0,0,114,28,0,0, + 0,114,10,0,0,0,114,141,1,0,0,114,141,1,0,0, + 244,4,0,0,115,67,0,0,0,132,0,241,4,4,5,8, + 242,12,2,5,25,242,8,2,5,49,242,8,1,5,49,242, + 6,6,5,22,242,16,4,5,47,242,12,4,5,53,242,12, + 2,5,20,242,8,2,5,20,240,8,0,6,17,241,2,2, + 5,25,243,3,0,6,17,241,2,2,5,25,114,28,0,0, + 0,114,141,1,0,0,99,0,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,0,0,0,0,243,86,0,0,0, + 151,0,101,0,90,1,100,0,90,2,100,1,90,3,100,2, + 90,4,100,3,132,0,90,5,100,4,132,0,90,6,100,5, + 132,0,90,7,100,6,132,0,90,8,100,7,132,0,90,9, + 100,8,132,0,90,10,100,9,132,0,90,11,100,10,132,0, + 90,12,100,11,132,0,90,13,100,12,132,0,90,14,100,13, + 132,0,90,15,121,14,41,15,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,114,1,0,0,0,99,4,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,140,0, + 0,0,151,0,124,1,124,0,95,0,0,0,0,0,0,0, + 0,0,124,2,124,0,95,1,0,0,0,0,0,0,0,0, + 116,5,0,0,0,0,0,0,0,0,124,0,106,7,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 124,0,95,4,0,0,0,0,0,0,0,0,124,0,106,10, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,95,6,0,0,0,0,0,0,0,0,124,3, + 124,0,95,7,0,0,0,0,0,0,0,0,121,0,114,77, + 0,0,0,41,8,218,5,95,110,97,109,101,218,5,95,112, + 97,116,104,114,179,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,6,95, + 101,112,111,99,104,218,11,95,108,97,115,116,95,101,112,111, + 99,104,218,12,95,112,97,116,104,95,102,105,110,100,101,114, + 169,4,114,189,0,0,0,114,187,0,0,0,114,68,0,0, + 0,218,11,112,97,116,104,95,102,105,110,100,101,114,115,4, + 0,0,0,32,32,32,32,114,10,0,0,0,114,67,1,0, + 0,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,52,5,0,0,115,58, + 0,0,0,128,0,216,21,25,136,4,140,10,216,21,25,136, + 4,140,10,220,33,38,160,116,215,39,60,209,39,60,211,39, + 62,211,33,63,136,4,212,8,30,216,27,31,159,59,153,59, + 136,4,212,8,24,216,28,39,136,4,213,8,25,114,28,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,84,0,0,0,151,0,124,0, + 106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,3,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,1,171,1,0,0,0,0, + 0,0,92,3,0,0,125,1,125,2,125,3,124,2,100,2, + 107,40,0,0,114,1,121,3,124,1,100,4,102,2,83,0, + 41,5,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,103,0,0,0,114,12,0,0,0,41,2,114,20, + 0,0,0,114,68,0,0,0,218,8,95,95,112,97,116,104, + 95,95,41,2,114,187,1,0,0,114,131,0,0,0,41,4, + 114,189,0,0,0,114,161,1,0,0,218,3,100,111,116,218, + 2,109,101,115,4,0,0,0,32,32,32,32,114,10,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,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,59,5,0,0,115,51,0,0,0,128,0,224,26,30, + 159,42,153,42,215,26,47,209,26,47,176,3,211,26,52,137, + 15,136,6,144,3,144,82,216,11,14,144,34,138,57,224,19, + 32,240,6,0,16,22,144,122,208,15,33,208,8,33,114,28, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,98,0,0,0,151,0,124, + 0,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,92,2,0, + 0,125,1,125,2,116,3,0,0,0,0,0,0,0,0,116, + 4,0,0,0,0,0,0,0,0,106,6,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,25, + 0,0,0,124,2,171,2,0,0,0,0,0,0,83,0,114, + 77,0,0,0,41,4,114,200,1,0,0,114,201,0,0,0, + 114,20,0,0,0,218,7,109,111,100,117,108,101,115,41,3, + 114,189,0,0,0,218,18,112,97,114,101,110,116,95,109,111, + 100,117,108,101,95,110,97,109,101,218,14,112,97,116,104,95, + 97,116,116,114,95,110,97,109,101,115,3,0,0,0,32,32, + 32,114,10,0,0,0,114,189,1,0,0,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,69,5,0,0, + 115,45,0,0,0,128,0,216,45,49,215,45,73,209,45,73, + 211,45,75,209,8,42,208,8,26,152,78,220,15,22,148,115, + 151,123,145,123,208,35,53,209,23,54,184,14,211,15,71,208, + 8,71,114,28,0,0,0,99,1,0,0,0,0,0,0,0, + 0,0,0,0,4,0,0,0,3,0,0,0,243,90,1,0, + 0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,106, + 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,171,1,0,0,0, + 0,0,0,125,1,124,1,124,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,107,55,0, + 0,115,25,124,0,106,6,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,106,8,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107, + 55,0,0,114,95,124,0,106,11,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,106,12,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,1,171,2,0,0,0,0,0,0,125,2,124,2,129, + 41,124,2,106,14,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,128,29,124,2,106,16,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114, + 17,124,2,106,16,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,0,95,9,0,0,0,0,0, + 0,0,0,124,1,124,0,95,2,0,0,0,0,0,0,0, + 0,124,0,106,6,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,0,95,4,0,0,0,0,0, + 0,0,0,124,0,106,18,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,83,0,114,77,0,0,0, + 41,10,114,179,0,0,0,114,189,1,0,0,114,190,1,0, + 0,114,191,1,0,0,114,192,1,0,0,114,193,1,0,0, + 114,187,1,0,0,114,4,1,0,0,114,5,1,0,0,114, + 188,1,0,0,41,3,114,189,0,0,0,218,11,112,97,114, + 101,110,116,95,112,97,116,104,114,16,1,0,0,115,3,0, + 0,0,32,32,32,114,10,0,0,0,218,12,95,114,101,99, + 97,108,99,117,108,97,116,101,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,73,5,0,0,115,143,0,0,0,128,0, + 228,22,27,152,68,215,28,49,209,28,49,211,28,51,211,22, + 52,136,11,216,11,22,152,36,215,26,48,209,26,48,210,11, + 48,176,68,183,75,177,75,192,52,215,67,83,209,67,83,210, + 52,83,216,19,23,215,19,36,209,19,36,160,84,167,90,161, + 90,176,27,211,19,61,136,68,240,6,0,16,20,208,15,31, + 160,68,167,75,161,75,208,36,55,216,19,23,215,19,50,210, + 19,50,216,33,37,215,33,64,209,33,64,144,68,148,74,216, + 37,48,136,68,212,12,34,216,31,35,159,123,153,123,136,68, + 212,12,28,216,15,19,143,122,137,122,208,8,25,114,28,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,3,0,0,0,243,52,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,124,0,106,3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,83,0, + 114,77,0,0,0,41,2,218,4,105,116,101,114,114,207,1, + 0,0,114,131,1,0,0,115,1,0,0,0,32,114,10,0, + 0,0,218,8,95,95,105,116,101,114,95,95,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,87,5,0,0,115,22,0,0,0,128,0, + 220,15,19,144,68,215,20,37,209,20,37,211,20,39,211,15, + 40,208,8,40,114,28,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,2,0,0,0,3,0,0,0,243,40, + 0,0,0,151,0,124,0,106,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,171,0,0,0,0, + 0,0,0,124,1,25,0,0,0,83,0,114,77,0,0,0, + 169,1,114,207,1,0,0,41,2,114,189,0,0,0,218,5, + 105,110,100,101,120,115,2,0,0,0,32,32,114,10,0,0, + 0,218,11,95,95,103,101,116,105,116,101,109,95,95,122,26, + 95,78,97,109,101,115,112,97,99,101,80,97,116,104,46,95, + 95,103,101,116,105,116,101,109,95,95,90,5,0,0,115,22, + 0,0,0,128,0,216,15,19,215,15,32,209,15,32,211,15, + 34,160,53,209,15,41,208,8,41,114,28,0,0,0,99,3, + 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3, + 0,0,0,243,34,0,0,0,151,0,124,2,124,0,106,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,1,60,0,0,0,121,0,114,77,0,0,0,169, + 1,114,188,1,0,0,41,3,114,189,0,0,0,114,213,1, + 0,0,114,68,0,0,0,115,3,0,0,0,32,32,32,114, + 10,0,0,0,218,11,95,95,115,101,116,105,116,101,109,95, + 95,122,26,95,78,97,109,101,115,112,97,99,101,80,97,116, + 104,46,95,95,115,101,116,105,116,101,109,95,95,93,5,0, + 0,115,16,0,0,0,128,0,216,28,32,136,4,143,10,137, + 10,144,53,210,8,25,114,28,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, + 243,52,0,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,124,0,106,3,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,171, + 1,0,0,0,0,0,0,83,0,114,77,0,0,0,41,2, + 114,7,0,0,0,114,207,1,0,0,114,131,1,0,0,115, + 1,0,0,0,32,114,10,0,0,0,218,7,95,95,108,101, + 110,95,95,122,22,95,78,97,109,101,115,112,97,99,101,80, + 97,116,104,46,95,95,108,101,110,95,95,96,5,0,0,115, + 22,0,0,0,128,0,220,15,18,144,52,215,19,36,209,19, + 36,211,19,38,211,15,39,208,8,39,114,28,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,34,0,0,0,151,0,100,1,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,155,2,100,2,157,3,83,0,41,3,78,122,15, + 95,78,97,109,101,115,112,97,99,101,80,97,116,104,40,250, + 1,41,114,216,1,0,0,114,131,1,0,0,115,1,0,0, + 0,32,114,10,0,0,0,218,8,95,95,114,101,112,114,95, + 95,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,5,0,0,115,21, + 0,0,0,128,0,216,17,32,160,20,167,26,161,26,160,14, + 168,97,208,15,48,208,8,48,114,28,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0, + 0,0,243,38,0,0,0,151,0,124,1,124,0,106,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,118,0,83,0,114,77,0, + 0,0,114,212,1,0,0,169,2,114,189,0,0,0,218,4, + 105,116,101,109,115,2,0,0,0,32,32,114,10,0,0,0, + 218,12,95,95,99,111,110,116,97,105,110,115,95,95,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,102,5,0,0,115, + 22,0,0,0,128,0,216,15,19,144,116,215,23,40,209,23, + 40,211,23,42,208,15,42,208,8,42,114,28,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,58,0,0,0,151,0,124,0,106,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,106,3,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,1, + 0,121,0,114,77,0,0,0,41,2,114,188,1,0,0,114, + 64,0,0,0,114,224,1,0,0,115,2,0,0,0,32,32, + 114,10,0,0,0,114,64,0,0,0,122,21,95,78,97,109, + 101,115,112,97,99,101,80,97,116,104,46,97,112,112,101,110, + 100,105,5,0,0,115,20,0,0,0,128,0,216,8,12,143, + 10,137,10,215,8,25,209,8,25,152,36,213,8,31,114,28, + 0,0,0,78,41,16,114,196,0,0,0,114,195,0,0,0, + 114,197,0,0,0,114,198,0,0,0,114,191,1,0,0,114, + 67,1,0,0,114,200,1,0,0,114,189,1,0,0,114,207, + 1,0,0,114,210,1,0,0,114,214,1,0,0,114,217,1, + 0,0,114,219,1,0,0,114,222,1,0,0,114,226,1,0, + 0,114,64,0,0,0,114,30,0,0,0,114,28,0,0,0, + 114,10,0,0,0,114,185,1,0,0,114,185,1,0,0,41, + 5,0,0,115,70,0,0,0,132,0,241,2,4,5,20,240, + 16,0,14,15,128,70,242,4,5,5,40,242,14,8,5,34, + 242,20,2,5,72,1,242,8,12,5,26,242,28,1,5,41, + 242,6,1,5,42,242,6,1,5,33,242,6,1,5,40,242, + 6,1,5,49,242,6,1,5,43,243,6,1,5,32,114,28, + 0,0,0,114,185,1,0,0,99,0,0,0,0,0,0,0, + 0,0,0,0,0,1,0,0,0,0,0,0,0,243,60,0, + 0,0,151,0,101,0,90,1,100,0,90,2,100,1,132,0, + 90,3,100,2,132,0,90,4,100,3,132,0,90,5,100,4, + 132,0,90,6,100,5,132,0,90,7,100,6,132,0,90,8, + 100,7,132,0,90,9,100,8,132,0,90,10,121,9,41,10, + 218,15,78,97,109,101,115,112,97,99,101,76,111,97,100,101, + 114,99,4,0,0,0,0,0,0,0,0,0,0,0,5,0, + 0,0,3,0,0,0,243,40,0,0,0,151,0,116,1,0, + 0,0,0,0,0,0,0,124,1,124,2,124,3,171,3,0, + 0,0,0,0,0,124,0,95,1,0,0,0,0,0,0,0, + 0,121,0,114,77,0,0,0,41,2,114,185,1,0,0,114, + 188,1,0,0,114,194,1,0,0,115,4,0,0,0,32,32, + 32,32,114,10,0,0,0,114,67,1,0,0,122,24,78,97, + 109,101,115,112,97,99,101,76,111,97,100,101,114,46,95,95, + 105,110,105,116,95,95,113,5,0,0,115,18,0,0,0,128, + 0,220,21,35,160,68,168,36,176,11,211,21,60,136,4,141, + 10,114,28,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,243,4,0,0,0, + 151,0,121,1,41,2,78,84,114,30,0,0,0,114,83,1, + 0,0,115,2,0,0,0,32,32,114,10,0,0,0,114,10, + 1,0,0,122,26,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,116, + 5,0,0,115,5,0,0,0,128,0,216,15,19,114,28,0, + 0,0,99,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,3,0,0,0,243,4,0,0,0,151,0,121,1, + 41,2,78,114,12,0,0,0,114,30,0,0,0,114,83,1, + 0,0,115,2,0,0,0,32,32,114,10,0,0,0,114,99, + 1,0,0,122,26,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,119, + 5,0,0,115,5,0,0,0,128,0,216,15,17,114,28,0, + 0,0,99,2,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,3,0,0,0,243,32,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,100,1,100,2,100,3,100,4, + 172,5,171,4,0,0,0,0,0,0,83,0,41,6,78,114, + 12,0,0,0,122,8,60,115,116,114,105,110,103,62,114,78, + 1,0,0,84,41,1,114,102,1,0,0,41,1,114,103,1, + 0,0,114,83,1,0,0,115,2,0,0,0,32,32,114,10, + 0,0,0,114,76,1,0,0,122,24,78,97,109,101,115,112, + 97,99,101,76,111,97,100,101,114,46,103,101,116,95,99,111, + 100,101,122,5,0,0,115,19,0,0,0,128,0,220,15,22, + 144,114,152,58,160,118,184,68,212,15,65,208,8,65,114,28, + 0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,243,4,0,0,0,151,0,121, + 1,114,71,1,0,0,114,30,0,0,0,114,72,1,0,0, + 115,2,0,0,0,32,32,114,10,0,0,0,114,73,1,0, + 0,122,29,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, + 125,5,0,0,114,74,1,0,0,114,28,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,243,4,0,0,0,151,0,121,0,114,77,0,0, + 0,114,30,0,0,0,114,175,1,0,0,115,2,0,0,0, + 32,32,114,10,0,0,0,114,80,1,0,0,122,27,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,128,5,0,0,115,5,0, + 0,0,128,0,216,8,12,114,28,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0, + 0,243,110,0,0,0,151,0,116,0,0,0,0,0,0,0, + 0,0,106,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,1,124,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,1,0,116,0,0,0,0,0,0,0, + 0,0,106,7,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,0,124,1,171,2,0,0,0,0, + 0,0,83,0,41,2,122,98,76,111,97,100,32,97,32,110, + 97,109,101,115,112,97,99,101,32,109,111,100,117,108,101,46, + 10,10,32,32,32,32,32,32,32,32,84,104,105,115,32,109, + 101,116,104,111,100,32,105,115,32,100,101,112,114,101,99,97, + 116,101,100,46,32,32,85,115,101,32,101,120,101,99,95,109, + 111,100,117,108,101,40,41,32,105,110,115,116,101,97,100,46, + 10,10,32,32,32,32,32,32,32,32,122,38,110,97,109,101, + 115,112,97,99,101,32,109,111,100,117,108,101,32,108,111,97, + 100,101,100,32,119,105,116,104,32,112,97,116,104,32,123,33, + 114,125,41,4,114,207,0,0,0,114,215,0,0,0,114,188, + 1,0,0,114,82,1,0,0,114,83,1,0,0,115,2,0, + 0,0,32,32,114,10,0,0,0,114,84,1,0,0,122,27, + 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,131,5,0,0,115, + 49,0,0,0,128,0,244,14,0,9,19,215,8,35,209,8, + 35,208,36,76,216,36,40,167,74,161,74,244,3,1,9,48, + 244,6,0,16,26,215,15,43,209,15,43,168,68,176,40,211, + 15,59,208,8,59,114,28,0,0,0,99,2,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,243, + 50,0,0,0,151,0,100,1,100,2,108,0,109,1,125,2, + 1,0,2,0,124,2,124,0,106,4,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,83,0,41,3,78,114,1,0,0,0,41,1, + 218,15,78,97,109,101,115,112,97,99,101,82,101,97,100,101, + 114,41,3,114,146,1,0,0,114,238,1,0,0,114,188,1, + 0,0,41,3,114,189,0,0,0,114,79,1,0,0,114,238, + 1,0,0,115,3,0,0,0,32,32,32,114,10,0,0,0, + 114,147,1,0,0,122,35,78,97,109,101,115,112,97,99,101, + 76,111,97,100,101,114,46,103,101,116,95,114,101,115,111,117, + 114,99,101,95,114,101,97,100,101,114,143,5,0,0,115,20, + 0,0,0,128,0,221,8,53,217,15,30,152,116,159,122,153, + 122,211,15,42,208,8,42,114,28,0,0,0,78,41,11,114, + 196,0,0,0,114,195,0,0,0,114,197,0,0,0,114,67, + 1,0,0,114,10,1,0,0,114,99,1,0,0,114,76,1, + 0,0,114,73,1,0,0,114,80,1,0,0,114,84,1,0, + 0,114,147,1,0,0,114,30,0,0,0,114,28,0,0,0, + 114,10,0,0,0,114,229,1,0,0,114,229,1,0,0,112, + 5,0,0,115,43,0,0,0,132,0,242,2,1,5,61,242, + 6,1,5,20,242,6,1,5,18,242,6,1,5,66,1,242, + 6,1,5,57,242,6,1,5,13,242,6,10,5,60,243,24, + 2,5,43,114,28,0,0,0,114,229,1,0,0,99,0,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0, + 0,0,243,116,0,0,0,151,0,101,0,90,1,100,0,90, + 2,100,1,90,3,101,4,100,2,132,0,171,0,0,0,0, + 0,0,0,90,5,101,4,100,3,132,0,171,0,0,0,0, + 0,0,0,90,6,101,7,100,4,132,0,171,0,0,0,0, + 0,0,0,90,8,101,7,100,9,100,6,132,1,171,0,0, + 0,0,0,0,0,90,9,101,7,100,10,100,7,132,1,171, + 0,0,0,0,0,0,0,90,10,101,4,100,8,132,0,171, + 0,0,0,0,0,0,0,90,11,121,5,41,11,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,0,0,0,0,0,0, + 0,0,0,0,0,0,5,0,0,0,3,0,0,0,243,12, + 1,0,0,151,0,116,1,0,0,0,0,0,0,0,0,116, + 2,0,0,0,0,0,0,0,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,106,7,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,171,1,0,0,0,0,0, + 0,68,0,93,65,0,0,92,2,0,0,125,0,125,1,124, + 1,129,11,116,9,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,115,18,116,2,0,0,0,0,0, + 0,0,0,106,4,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,0,61,0,140,37,116,11,0, + 0,0,0,0,0,0,0,124,1,100,2,171,2,0,0,0, + 0,0,0,115,1,140,50,124,1,106,13,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,1,0,140,67,4,0,116,14,0,0,0, + 0,0,0,0,0,120,1,106,16,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,3,122,13,0, + 0,99,2,95,8,0,0,0,0,0,0,0,0,121,1,41, + 4,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, + 78,218,17,105,110,118,97,108,105,100,97,116,101,95,99,97, + 99,104,101,115,114,6,0,0,0,41,9,218,4,108,105,115, + 116,114,20,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,5,105,116,101, + 109,115,114,100,0,0,0,114,199,0,0,0,114,242,1,0, + 0,114,185,1,0,0,114,191,1,0,0,41,2,114,187,0, + 0,0,218,6,102,105,110,100,101,114,115,2,0,0,0,32, + 32,114,10,0,0,0,114,242,1,0,0,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,158,5,0,0,115,113,0, + 0,0,128,0,244,8,0,29,33,164,19,215,33,56,209,33, + 56,215,33,62,209,33,62,211,33,64,211,28,65,242,0,6, + 9,43,137,76,136,68,144,38,240,6,0,16,22,136,126,164, + 91,176,20,212,37,54,220,20,23,215,20,43,209,20,43,168, + 68,209,20,49,220,17,24,152,22,208,33,52,213,17,53,216, + 16,22,215,16,40,209,16,40,213,16,42,240,13,6,9,43, + 244,18,0,9,23,215,8,29,210,8,29,160,17,209,8,34, + 214,8,29,114,28,0,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,5,0,0,0,3,0,0,0,243,212,0, + 0,0,151,0,116,0,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,129,42,116,0,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,115,26,116,5,0,0,0,0,0,0,0,0,106,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,2,116,8,0,0,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,1,0,116,0,0,0,0,0,0,0, + 0,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,68,0,93,12,0,0,125,1,9,0, + 2,0,124,1,124,0,171,1,0,0,0,0,0,0,99,2, + 1,0,83,0,4,0,121,1,35,0,116,10,0,0,0,0, + 0,0,0,0,36,0,114,3,1,0,89,0,140,27,119,0, + 120,3,89,0,119,1,41,3,122,46,83,101,97,114,99,104, + 32,115,121,115,46,112,97,116,104,95,104,111,111,107,115,32, + 102,111,114,32,97,32,102,105,110,100,101,114,32,102,111,114, + 32,39,112,97,116,104,39,46,78,122,23,115,121,115,46,112, + 97,116,104,95,104,111,111,107,115,32,105,115,32,101,109,112, + 116,121,41,6,114,20,0,0,0,218,10,112,97,116,104,95, + 104,111,111,107,115,114,126,0,0,0,114,127,0,0,0,218, + 13,73,109,112,111,114,116,87,97,114,110,105,110,103,114,188, + 0,0,0,41,2,114,68,0,0,0,218,4,104,111,111,107, + 115,2,0,0,0,32,32,114,10,0,0,0,218,11,95,112, + 97,116,104,95,104,111,111,107,115,122,22,80,97,116,104,70, + 105,110,100,101,114,46,95,112,97,116,104,95,104,111,111,107, + 115,173,5,0,0,115,94,0,0,0,128,0,244,6,0,12, + 15,143,62,137,62,208,11,37,172,99,175,110,170,110,220,12, + 21,143,78,137,78,208,27,52,180,109,212,12,68,220,20,23, + 151,78,145,78,242,0,6,9,24,136,68,240,2,3,13,25, + 217,23,27,152,68,147,122,210,16,33,240,5,6,9,24,240, + 12,0,20,24,248,244,7,0,20,31,242,0,1,13,25,217, + 16,24,240,3,1,13,25,250,115,18,0,0,0,193,15,7, + 65,27,2,193,27,9,65,39,5,193,38,1,65,39,5,99, + 2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,232,0,0,0,151,0,124,1,100,1,107, + 40,0,0,114,21,9,0,116,1,0,0,0,0,0,0,0, + 0,106,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,125,1,9, + 0,116,6,0,0,0,0,0,0,0,0,106,8,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 1,25,0,0,0,125,2,124,2,83,0,35,0,116,4,0, + 0,0,0,0,0,0,0,36,0,114,3,1,0,89,0,121, + 2,119,0,120,3,89,0,119,1,35,0,116,10,0,0,0, + 0,0,0,0,0,36,0,114,40,1,0,124,0,106,13,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,1,171,1,0,0,0,0,0,0,125,2,124,2,116, + 6,0,0,0,0,0,0,0,0,106,8,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,60, + 0,0,0,89,0,124,2,83,0,119,0,120,3,89,0,119, + 1,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,12,0,0,0,78,41,7,114, + 23,0,0,0,114,95,0,0,0,218,17,70,105,108,101,78, + 111,116,70,111,117,110,100,69,114,114,111,114,114,20,0,0, + 0,114,244,1,0,0,218,8,75,101,121,69,114,114,111,114, + 114,251,1,0,0,41,3,114,50,1,0,0,114,68,0,0, + 0,114,246,1,0,0,115,3,0,0,0,32,32,32,114,10, + 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,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,186,5,0,0,115,128, + 0,0,0,128,0,240,16,0,12,16,144,50,138,58,240,2, + 5,13,28,220,23,26,151,122,145,122,147,124,144,4,240,10, + 4,9,51,220,21,24,215,21,44,209,21,44,168,84,209,21, + 50,136,70,240,8,0,16,22,136,13,248,244,19,0,20,37, + 242,0,3,13,28,241,6,0,24,28,240,7,3,13,28,251, + 244,12,0,16,24,242,0,2,9,51,216,21,24,151,95,145, + 95,160,84,211,21,42,136,70,216,44,50,140,67,215,12,35, + 209,12,35,160,68,210,12,41,216,15,21,136,13,240,7,2, + 9,51,250,115,29,0,0,0,135,20,49,0,156,19,65,0, + 0,177,9,61,3,188,1,61,3,193,0,45,65,49,3,193, + 48,1,65,49,3,78,99,4,0,0,0,0,0,0,0,0, + 0,0,0,5,0,0,0,3,0,0,0,243,58,1,0,0, + 151,0,103,0,125,4,124,2,68,0,93,118,0,0,125,5, + 116,1,0,0,0,0,0,0,0,0,124,5,116,2,0,0, + 0,0,0,0,0,0,171,2,0,0,0,0,0,0,115,1, + 140,20,124,0,106,5,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,5,171,1,0,0,0,0, + 0,0,125,6,124,6,128,1,140,40,124,6,106,7,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,124,3,171,2,0,0,0,0,0,0,125,7,124,7, + 128,1,140,61,124,7,106,8,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,129,4,124,7,99,2, + 1,0,83,0,124,7,106,10,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,8,124,8,128,11, + 116,13,0,0,0,0,0,0,0,0,100,2,171,1,0,0, + 0,0,0,0,130,1,124,4,106,15,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,8,171,1, + 0,0,0,0,0,0,1,0,140,120,4,0,116,16,0,0, + 0,0,0,0,0,0,106,19,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,100,1,171,2, + 0,0,0,0,0,0,125,7,124,4,124,7,95,5,0,0, + 0,0,0,0,0,0,124,7,83,0,41,3,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,122,19, + 115,112,101,99,32,109,105,115,115,105,110,103,32,108,111,97, + 100,101,114,41,10,114,232,0,0,0,114,136,0,0,0,114, + 255,1,0,0,114,58,1,0,0,114,4,1,0,0,114,5, + 1,0,0,114,188,0,0,0,114,240,0,0,0,114,207,0, + 0,0,114,11,1,0,0,41,9,114,50,1,0,0,114,42, + 1,0,0,114,68,0,0,0,114,57,1,0,0,218,14,110, + 97,109,101,115,112,97,99,101,95,112,97,116,104,218,5,101, + 110,116,114,121,114,246,1,0,0,114,16,1,0,0,218,8, + 112,111,114,116,105,111,110,115,115,9,0,0,0,32,32,32, + 32,32,32,32,32,32,114,10,0,0,0,218,9,95,103,101, + 116,95,115,112,101,99,122,20,80,97,116,104,70,105,110,100, + 101,114,46,95,103,101,116,95,115,112,101,99,208,5,0,0, + 115,178,0,0,0,128,0,240,10,0,26,28,136,14,216,21, + 25,242,0,21,9,24,136,69,220,19,29,152,101,164,83,212, + 19,41,216,16,24,216,21,24,215,21,45,209,21,45,168,101, + 211,21,52,136,70,216,15,21,209,15,33,216,23,29,215,23, + 39,209,23,39,168,8,176,38,211,23,57,144,4,216,19,23, + 144,60,216,20,28,216,19,23,151,59,145,59,208,19,42,216, + 27,31,146,75,216,27,31,215,27,58,209,27,58,144,8,216, + 19,27,208,19,35,220,26,37,208,38,59,211,26,60,208,20, + 60,240,10,0,17,31,215,16,37,209,16,37,160,104,213,16, + 47,240,35,21,9,24,244,38,0,20,30,215,19,40,209,19, + 40,168,24,176,52,211,19,56,136,68,216,46,60,136,68,212, + 12,43,216,19,23,136,75,114,28,0,0,0,99,4,0,0, + 0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0, + 0,243,214,0,0,0,151,0,124,2,128,16,116,0,0,0, + 0,0,0,0,0,0,106,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,2,124,0,106,5, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,1,124,2,124,3,171,3,0,0,0,0,0,0, + 125,4,124,4,128,1,121,1,124,4,106,6,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,52, + 124,4,106,8,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,125,5,124,5,114,37,100,1,124,4, + 95,5,0,0,0,0,0,0,0,0,116,13,0,0,0,0, + 0,0,0,0,124,1,124,5,124,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,3, + 0,0,0,0,0,0,124,4,95,4,0,0,0,0,0,0, + 0,0,124,4,83,0,121,1,124,4,83,0,41,2,122,141, + 84,114,121,32,116,111,32,102,105,110,100,32,97,32,115,112, + 101,99,32,102,111,114,32,39,102,117,108,108,110,97,109,101, + 39,32,111,110,32,115,121,115,46,112,97,116,104,32,111,114, + 32,39,112,97,116,104,39,46,10,10,32,32,32,32,32,32, + 32,32,84,104,101,32,115,101,97,114,99,104,32,105,115,32, + 98,97,115,101,100,32,111,110,32,115,121,115,46,112,97,116, + 104,95,104,111,111,107,115,32,97,110,100,32,115,121,115,46, + 112,97,116,104,95,105,109,112,111,114,116,101,114,95,99,97, + 99,104,101,46,10,32,32,32,32,32,32,32,32,78,41,7, + 114,20,0,0,0,114,68,0,0,0,114,4,2,0,0,114, + 4,1,0,0,114,5,1,0,0,114,9,1,0,0,114,185, + 1,0,0,41,6,114,50,1,0,0,114,42,1,0,0,114, + 68,0,0,0,114,57,1,0,0,114,16,1,0,0,114,1, + 2,0,0,115,6,0,0,0,32,32,32,32,32,32,114,10, + 0,0,0,114,58,1,0,0,122,20,80,97,116,104,70,105, + 110,100,101,114,46,102,105,110,100,95,115,112,101,99,237,5, + 0,0,115,114,0,0,0,128,0,240,12,0,12,16,136,60, + 220,19,22,151,56,145,56,136,68,216,15,18,143,125,137,125, + 152,88,160,116,168,86,211,15,52,136,4,216,11,15,136,60, + 216,19,23,216,13,17,143,91,137,91,208,13,32,216,29,33, + 215,29,60,209,29,60,136,78,217,15,29,240,6,0,31,35, + 144,4,148,11,220,50,64,192,24,200,62,208,91,94,215,91, + 104,209,91,104,211,50,105,144,4,212,16,47,216,23,27,144, + 11,224,23,27,224,19,23,136,75,114,28,0,0,0,99,0, + 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,15, + 0,0,0,243,50,0,0,0,151,0,100,1,100,2,108,0, + 109,1,125,2,1,0,2,0,124,2,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, + 105,0,124,1,164,1,142,1,83,0,41,3,97,32,1,0, + 0,10,32,32,32,32,32,32,32,32,70,105,110,100,32,100, + 105,115,116,114,105,98,117,116,105,111,110,115,46,10,10,32, + 32,32,32,32,32,32,32,82,101,116,117,114,110,32,97,110, + 32,105,116,101,114,97,98,108,101,32,111,102,32,97,108,108, + 32,68,105,115,116,114,105,98,117,116,105,111,110,32,105,110, + 115,116,97,110,99,101,115,32,99,97,112,97,98,108,101,32, + 111,102,10,32,32,32,32,32,32,32,32,108,111,97,100,105, + 110,103,32,116,104,101,32,109,101,116,97,100,97,116,97,32, + 102,111,114,32,112,97,99,107,97,103,101,115,32,109,97,116, + 99,104,105,110,103,32,96,96,99,111,110,116,101,120,116,46, + 110,97,109,101,96,96,10,32,32,32,32,32,32,32,32,40, + 111,114,32,97,108,108,32,110,97,109,101,115,32,105,102,32, + 96,96,78,111,110,101,96,96,32,105,110,100,105,99,97,116, + 101,100,41,32,97,108,111,110,103,32,116,104,101,32,112,97, + 116,104,115,32,105,110,32,116,104,101,32,108,105,115,116,10, + 32,32,32,32,32,32,32,32,111,102,32,100,105,114,101,99, + 116,111,114,105,101,115,32,96,96,99,111,110,116,101,120,116, + 46,112,97,116,104,96,96,46,10,32,32,32,32,32,32,32, + 32,114,1,0,0,0,41,1,218,18,77,101,116,97,100,97, + 116,97,80,97,116,104,70,105,110,100,101,114,41,3,218,18, + 105,109,112,111,114,116,108,105,98,46,109,101,116,97,100,97, + 116,97,114,7,2,0,0,218,18,102,105,110,100,95,100,105, + 115,116,114,105,98,117,116,105,111,110,115,41,3,114,190,0, + 0,0,114,191,0,0,0,114,7,2,0,0,115,3,0,0, + 0,32,32,32,114,10,0,0,0,114,9,2,0,0,122,29, + 80,97,116,104,70,105,110,100,101,114,46,102,105,110,100,95, + 100,105,115,116,114,105,98,117,116,105,111,110,115,5,6,0, + 0,115,32,0,0,0,128,0,245,20,0,9,58,216,15,52, + 208,15,33,215,15,52,209,15,52,176,100,208,15,69,184,102, + 209,15,69,208,8,69,114,28,0,0,0,114,77,0,0,0, + 114,59,1,0,0,41,12,114,196,0,0,0,114,195,0,0, + 0,114,197,0,0,0,114,198,0,0,0,114,62,1,0,0, + 114,242,1,0,0,114,251,1,0,0,114,63,1,0,0,114, + 255,1,0,0,114,4,2,0,0,114,58,1,0,0,114,9, + 2,0,0,114,30,0,0,0,114,28,0,0,0,114,10,0, + 0,0,114,240,1,0,0,114,240,1,0,0,154,5,0,0, + 115,125,0,0,0,132,0,225,4,72,224,5,17,241,2,12, + 5,35,243,3,0,6,18,240,2,12,5,35,240,28,0,6, + 18,241,2,10,5,24,243,3,0,6,18,240,2,10,5,24, + 240,24,0,6,17,241,2,19,5,22,243,3,0,6,17,240, + 2,19,5,22,240,42,0,6,17,242,2,26,5,24,243,3, + 0,6,17,240,2,26,5,24,240,56,0,6,17,242,2,21, + 5,24,243,3,0,6,17,240,2,21,5,24,240,46,0,6, + 18,241,2,10,5,70,1,243,3,0,6,18,241,2,10,5, + 70,1,114,28,0,0,0,114,240,1,0,0,99,0,0,0, + 0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, + 0,243,70,0,0,0,151,0,101,0,90,1,100,0,90,2, + 100,1,90,3,100,2,132,0,90,4,100,3,132,0,90,5, + 100,4,132,0,90,6,100,10,100,6,132,1,90,7,100,7, + 132,0,90,8,101,9,100,8,132,0,171,0,0,0,0,0, + 0,0,90,10,100,9,132,0,90,11,121,5,41,11,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,0,0,0,0,5,0,0,0,7,0,0,0,243,12,1, + 0,0,135,5,151,0,103,0,125,3,124,2,68,0,93,31, + 0,0,92,2,0,0,138,5,125,4,124,3,106,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 136,5,102,1,100,1,132,8,124,4,68,0,171,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,1,0,140,33, + 4,0,124,3,124,0,95,1,0,0,0,0,0,0,0,0, + 124,1,114,5,124,1,100,2,107,40,0,0,114,26,116,5, + 0,0,0,0,0,0,0,0,106,6,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,124,0,95,4,0,0,0,0,0,0,0,0, + 110,16,116,11,0,0,0,0,0,0,0,0,124,1,171,1, + 0,0,0,0,0,0,124,0,95,4,0,0,0,0,0,0, + 0,0,100,3,124,0,95,6,0,0,0,0,0,0,0,0, + 116,15,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,124,0,95,8,0,0,0,0,0,0,0,0,116,15, + 0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0, + 124,0,95,9,0,0,0,0,0,0,0,0,121,4,41,5, + 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,0,0,0,0,3,0,0,0,51,0,0, + 0,243,38,0,0,0,149,1,75,0,1,0,151,0,124,0, + 93,8,0,0,125,1,124,1,137,2,102,2,150,1,151,1, + 1,0,140,10,4,0,121,0,173,3,119,1,114,77,0,0, + 0,114,30,0,0,0,41,3,114,8,0,0,0,114,178,1, + 0,0,114,4,1,0,0,115,3,0,0,0,32,32,128,114, + 10,0,0,0,114,11,0,0,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,34,6,0,0,115,22,0,0,0,248,232,0,248,128,0, + 210,26,67,176,6,152,70,160,70,212,27,43,209,26,67,249, + 115,4,0,0,0,131,14,17,1,114,103,0,0,0,114,170, + 0,0,0,78,41,10,114,240,0,0,0,218,8,95,108,111, + 97,100,101,114,115,114,23,0,0,0,114,95,0,0,0,114, + 68,0,0,0,114,105,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,6,114, + 189,0,0,0,114,68,0,0,0,218,14,108,111,97,100,101, + 114,95,100,101,116,97,105,108,115,218,7,108,111,97,100,101, + 114,115,114,18,1,0,0,114,4,1,0,0,115,6,0,0, + 0,32,32,32,32,32,64,114,10,0,0,0,114,67,1,0, + 0,122,19,70,105,108,101,70,105,110,100,101,114,46,95,95, + 105,110,105,116,95,95,28,6,0,0,115,119,0,0,0,248, + 128,0,240,8,0,19,21,136,7,216,32,46,242,0,1,9, + 68,1,209,12,28,136,70,144,72,216,12,19,143,78,137,78, + 211,26,67,184,40,212,26,67,213,12,67,240,3,1,9,68, + 1,224,24,31,136,4,140,13,225,15,19,144,116,152,115,146, + 123,220,24,27,159,10,153,10,155,12,136,68,141,73,228,24, + 37,160,100,211,24,43,136,68,140,73,216,27,29,136,4,212, + 8,24,220,27,30,155,53,136,4,212,8,24,220,35,38,163, + 53,136,4,213,8,32,114,28,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, + 243,18,0,0,0,151,0,100,1,124,0,95,0,0,0,0, + 0,0,0,0,0,121,2,41,3,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,170,0,0,0,78, + 41,1,114,15,2,0,0,114,131,1,0,0,115,1,0,0, + 0,32,114,10,0,0,0,114,242,1,0,0,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,45,6,0,0,115,10, + 0,0,0,128,0,224,27,29,136,4,213,8,24,114,28,0, + 0,0,99,6,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,3,0,0,0,243,50,0,0,0,151,0,2,0, + 124,1,124,2,124,3,171,2,0,0,0,0,0,0,125,6, + 116,1,0,0,0,0,0,0,0,0,124,2,124,3,124,6, + 124,4,172,1,171,4,0,0,0,0,0,0,83,0,41,2, + 78,114,3,1,0,0,41,1,114,20,1,0,0,41,7,114, + 189,0,0,0,114,17,1,0,0,114,42,1,0,0,114,68, + 0,0,0,218,4,115,109,115,108,114,57,1,0,0,114,4, + 1,0,0,115,7,0,0,0,32,32,32,32,32,32,32,114, + 10,0,0,0,114,4,2,0,0,122,20,70,105,108,101,70, + 105,110,100,101,114,46,95,103,101,116,95,115,112,101,99,49, + 6,0,0,115,38,0,0,0,128,0,217,17,29,152,104,168, + 4,211,17,45,136,6,220,15,38,160,120,176,20,184,102,216, + 66,70,244,3,1,16,72,1,240,0,1,9,72,1,114,28, + 0,0,0,78,99,3,0,0,0,0,0,0,0,0,0,0, + 0,8,0,0,0,3,0,0,0,243,192,3,0,0,151,0, + 100,1,125,3,124,1,106,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,2,171,1,0,0, + 0,0,0,0,100,3,25,0,0,0,125,4,9,0,116,3, + 0,0,0,0,0,0,0,0,124,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,1, + 115,20,1,0,116,7,0,0,0,0,0,0,0,0,106,8, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,106,10,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,125,5,124,5,124,0,106,14,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 107,55,0,0,114,23,124,0,106,17,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,1,0,124,5,124,0,95,7,0,0,0,0, + 0,0,0,0,116,19,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,114,29,124,0,106,20,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,6, + 124,4,106,23,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,125,7, + 110,14,124,0,106,24,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,125,6,124,4,125,7,124,7, + 124,6,118,0,114,105,116,27,0,0,0,0,0,0,0,0, + 124,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,4,171,2,0,0,0,0,0,0, + 125,8,124,0,106,28,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,68,0,93,57,0,0,92,2, + 0,0,125,9,125,10,100,5,124,9,122,0,0,0,125,11, + 116,27,0,0,0,0,0,0,0,0,124,8,124,11,171,2, + 0,0,0,0,0,0,125,12,116,31,0,0,0,0,0,0, + 0,0,124,12,171,1,0,0,0,0,0,0,115,1,140,35, + 124,0,106,33,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,10,124,1,124,12,124,8,103,1, + 124,2,171,5,0,0,0,0,0,0,99,2,1,0,83,0, + 4,0,116,35,0,0,0,0,0,0,0,0,124,8,171,1, + 0,0,0,0,0,0,125,3,124,0,106,28,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0, + 93,97,0,0,92,2,0,0,125,9,125,10,9,0,116,27, + 0,0,0,0,0,0,0,0,124,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,4, + 124,9,122,0,0,0,171,2,0,0,0,0,0,0,125,12, + 116,38,0,0,0,0,0,0,0,0,106,41,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,7, + 124,12,100,3,172,8,171,3,0,0,0,0,0,0,1,0, + 124,7,124,9,122,0,0,0,124,6,118,0,115,1,140,64, + 116,31,0,0,0,0,0,0,0,0,124,12,171,1,0,0, + 0,0,0,0,115,1,140,76,124,0,106,33,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,10, + 124,1,124,12,100,6,124,2,171,5,0,0,0,0,0,0, + 99,2,1,0,83,0,4,0,124,3,114,54,116,38,0,0, + 0,0,0,0,0,0,106,41,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,9,127,8,171,2, + 0,0,0,0,0,0,1,0,116,38,0,0,0,0,0,0, + 0,0,106,43,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,100,6,171,2,0,0,0,0, + 0,0,125,13,124,8,103,1,124,13,95,22,0,0,0,0, + 0,0,0,0,124,13,83,0,121,6,35,0,116,12,0,0, + 0,0,0,0,0,0,36,0,114,6,1,0,100,4,125,5, + 89,0,144,1,140,127,119,0,120,3,89,0,119,1,35,0, + 116,36,0,0,0,0,0,0,0,0,36,0,114,4,1,0, + 89,0,1,0,121,6,119,0,120,3,89,0,119,1,41,10, + 122,111,84,114,121,32,116,111,32,102,105,110,100,32,97,32, + 115,112,101,99,32,102,111,114,32,116,104,101,32,115,112,101, + 99,105,102,105,101,100,32,109,111,100,117,108,101,46,10,10, + 32,32,32,32,32,32,32,32,82,101,116,117,114,110,115,32, + 116,104,101,32,109,97,116,99,104,105,110,103,32,115,112,101, + 99,44,32,111,114,32,78,111,110,101,32,105,102,32,110,111, + 116,32,102,111,117,110,100,46,10,32,32,32,32,32,32,32, + 32,70,114,103,0,0,0,114,52,0,0,0,114,170,0,0, + 0,114,67,1,0,0,78,122,9,116,114,121,105,110,103,32, + 123,125,41,1,218,9,118,101,114,98,111,115,105,116,121,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,41,23,114,131,0,0, + 0,114,85,0,0,0,114,68,0,0,0,114,23,0,0,0, + 114,95,0,0,0,114,152,1,0,0,114,87,0,0,0,114, + 15,2,0,0,218,11,95,102,105,108,108,95,99,97,99,104, + 101,114,27,0,0,0,114,18,2,0,0,114,172,0,0,0, + 114,17,2,0,0,114,72,0,0,0,114,14,2,0,0,114, + 93,0,0,0,114,4,2,0,0,114,96,0,0,0,114,138, + 0,0,0,114,207,0,0,0,114,215,0,0,0,114,11,1, + 0,0,114,5,1,0,0,41,14,114,189,0,0,0,114,42, + 1,0,0,114,57,1,0,0,218,12,105,115,95,110,97,109, + 101,115,112,97,99,101,218,11,116,97,105,108,95,109,111,100, + 117,108,101,114,242,0,0,0,218,5,99,97,99,104,101,218, + 12,99,97,99,104,101,95,109,111,100,117,108,101,218,9,98, + 97,115,101,95,112,97,116,104,114,178,1,0,0,114,17,1, + 0,0,218,13,105,110,105,116,95,102,105,108,101,110,97,109, + 101,218,9,102,117,108,108,95,112,97,116,104,114,16,1,0, + 0,115,14,0,0,0,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,114,10,0,0,0,114,58,1,0,0,122,20, + 70,105,108,101,70,105,110,100,101,114,46,102,105,110,100,95, + 115,112,101,99,54,6,0,0,115,230,1,0,0,128,0,240, + 10,0,24,29,136,12,216,22,30,215,22,41,209,22,41,168, + 35,211,22,46,168,113,209,22,49,136,11,240,2,3,9,23, + 220,20,30,152,116,159,121,153,121,210,31,56,172,67,175,74, + 169,74,171,76,211,20,57,215,20,66,209,20,66,136,69,240, + 6,0,12,17,144,68,215,20,36,209,20,36,210,11,36,216, + 12,16,215,12,28,209,12,28,212,12,30,216,31,36,136,68, + 212,12,28,228,11,22,140,61,216,20,24,215,20,44,209,20, + 44,136,69,216,27,38,215,27,44,209,27,44,211,27,46,137, + 76,224,20,24,215,20,36,209,20,36,136,69,216,27,38,136, + 76,224,11,23,152,53,209,11,32,220,24,34,160,52,167,57, + 161,57,168,107,211,24,58,136,73,216,40,44,175,13,169,13, + 242,0,8,13,54,209,16,36,144,6,152,12,216,32,42,168, + 86,209,32,51,144,13,220,28,38,160,121,176,45,211,28,64, + 144,9,220,19,31,160,9,213,19,42,216,27,31,159,62,153, + 62,168,44,184,8,192,41,200,105,200,91,208,90,96,211,27, + 97,210,20,97,240,9,8,13,54,244,16,0,32,43,168,57, + 211,31,53,144,12,224,36,40,167,77,161,77,242,0,9,9, + 56,209,12,32,136,70,144,76,240,2,3,13,28,220,28,38, + 160,116,167,121,161,121,176,43,192,6,209,50,70,211,28,71, + 144,9,244,6,0,13,23,215,12,39,209,12,39,168,11,176, + 89,200,33,208,12,39,212,12,76,216,15,27,152,102,209,15, + 36,168,5,210,15,45,220,19,31,160,9,213,19,42,216,27, + 31,159,62,153,62,168,44,184,8,192,41,216,42,46,176,6, + 243,3,1,28,56,242,0,1,21,56,240,17,9,9,56,241, + 20,0,12,24,220,12,22,215,12,39,209,12,39,208,40,67, + 192,89,212,12,79,220,19,29,215,19,40,209,19,40,168,24, + 176,52,211,19,56,136,68,216,47,56,168,107,136,68,212,12, + 43,216,19,23,136,75,216,15,19,248,244,81,1,0,16,23, + 242,0,1,9,23,216,20,22,139,69,240,3,1,9,23,251, + 244,56,0,20,30,242,0,1,13,28,218,23,27,240,3,1, + 13,28,250,115,35,0,0,0,152,53,70,62,0,196,40,25, + 71,16,2,198,62,11,71,13,3,199,12,1,71,13,3,199, + 16,9,71,29,5,199,28,1,71,29,5,99,1,0,0,0, + 0,0,0,0,0,0,0,0,5,0,0,0,3,0,0,0, + 243,84,2,0,0,151,0,124,0,106,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,125,1,9, + 0,116,3,0,0,0,0,0,0,0,0,106,4,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 1,120,1,115,20,1,0,116,3,0,0,0,0,0,0,0, + 0,106,6,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,171,1,0, + 0,0,0,0,0,125,2,116,14,0,0,0,0,0,0,0, + 0,106,16,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,106,19,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,1,171,1,0,0,0, + 0,0,0,115,17,116,21,0,0,0,0,0,0,0,0,124, + 2,171,1,0,0,0,0,0,0,124,0,95,11,0,0,0, + 0,0,0,0,0,110,88,116,21,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,125,3,124,2,68,0,93, + 66,0,0,125,4,124,4,106,25,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,2,171,1,0, + 0,0,0,0,0,92,3,0,0,125,5,125,6,125,7,124, + 6,114,22,124,5,155,0,100,2,124,7,106,27,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 0,0,0,0,0,0,0,155,0,157,3,125,8,110,2,124, + 5,125,8,124,3,106,29,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,8,171,1,0,0,0, + 0,0,0,1,0,140,68,4,0,124,3,124,0,95,11,0, + 0,0,0,0,0,0,0,116,14,0,0,0,0,0,0,0, + 0,106,16,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,106,19,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,116,30,0,0,0,0,0, + 0,0,0,171,1,0,0,0,0,0,0,114,36,124,2,68, + 0,143,9,99,2,104,0,99,2,93,18,0,0,125,9,124, + 9,106,27,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,146,2,140, + 20,4,0,99,2,125,9,124,0,95,16,0,0,0,0,0, + 0,0,0,121,3,121,3,35,0,116,8,0,0,0,0,0, + 0,0,0,116,10,0,0,0,0,0,0,0,0,116,12,0, + 0,0,0,0,0,0,0,102,3,36,0,114,5,1,0,103, + 0,125,2,89,0,140,232,119,0,120,3,89,0,119,1,99, + 2,1,0,99,2,125,9,119,0,41,4,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,14,0,0,0,114,103,0,0,0,78,41,17,114,68, + 0,0,0,114,23,0,0,0,218,7,108,105,115,116,100,105, + 114,114,95,0,0,0,114,253,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,20,0,0,0,114,31,0,0,0,114,32,0,0,0,114, + 16,2,0,0,114,17,2,0,0,114,158,0,0,0,114,172, + 0,0,0,218,3,97,100,100,114,33,0,0,0,114,18,2, + 0,0,41,10,114,189,0,0,0,114,68,0,0,0,218,8, + 99,111,110,116,101,110,116,115,218,21,108,111,119,101,114,95, + 115,117,102,102,105,120,95,99,111,110,116,101,110,116,115,114, + 225,1,0,0,114,187,0,0,0,114,198,1,0,0,114,178, + 1,0,0,218,8,110,101,119,95,110,97,109,101,218,2,102, + 110,115,10,0,0,0,32,32,32,32,32,32,32,32,32,32, + 114,10,0,0,0,114,26,2,0,0,122,22,70,105,108,101, + 70,105,110,100,101,114,46,95,102,105,108,108,95,99,97,99, + 104,101,105,6,0,0,115,5,1,0,0,128,0,224,15,19, + 143,121,137,121,136,4,240,2,5,9,26,220,23,26,151,123, + 145,123,160,52,210,35,55,172,51,175,58,169,58,171,60,211, + 23,56,136,72,244,14,0,16,19,143,124,137,124,215,15,38, + 209,15,38,160,117,212,15,45,220,31,34,160,56,155,125,136, + 68,213,12,28,244,14,0,37,40,163,69,208,12,33,216,24, + 32,242,0,6,13,52,144,4,216,36,40,167,78,161,78,176, + 51,211,36,55,209,16,33,144,4,144,99,152,54,217,19,22, + 216,34,38,160,22,160,113,168,22,175,28,169,28,171,30,208, + 40,56,208,31,57,145,72,224,31,35,144,72,216,16,37,215, + 16,41,209,16,41,168,40,213,16,51,240,13,6,13,52,240, + 14,0,32,53,136,68,212,12,28,220,11,14,143,60,137,60, + 215,11,34,209,11,34,212,35,62,212,11,63,216,61,69,214, + 39,70,176,114,168,2,175,8,169,8,173,10,210,39,70,136, + 68,213,12,36,240,3,0,12,64,1,248,244,47,0,17,34, + 164,63,212,52,70,208,15,71,242,0,3,9,26,240,6,0, + 24,26,138,72,240,7,3,9,26,252,242,48,0,40,71,1, + 115,23,0,0,0,142,43,68,9,0,195,40,23,68,37,4, + 196,9,22,68,34,3,196,33,1,68,34,3,99,1,0,0, + 0,0,0,0,0,0,0,0,0,2,0,0,0,7,0,0, + 0,243,22,0,0,0,135,0,135,1,151,0,136,0,136,1, + 102,2,100,1,132,8,125,2,124,2,83,0,41,2,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, + 0,0,0,0,4,0,0,0,19,0,0,0,243,70,0,0, + 0,149,2,151,0,116,1,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,115,13,116,3,0,0,0, + 0,0,0,0,0,100,1,124,0,172,2,171,2,0,0,0, + 0,0,0,130,1,2,0,137,1,124,0,103,1,137,2,162, + 1,173,6,142,0,83,0,41,3,122,45,80,97,116,104,32, + 104,111,111,107,32,102,111,114,32,105,109,112,111,114,116,108, + 105,98,46,109,97,99,104,105,110,101,114,121,46,70,105,108, + 101,70,105,110,100,101,114,46,122,30,111,110,108,121,32,100, + 105,114,101,99,116,111,114,105,101,115,32,97,114,101,32,115, + 117,112,112,111,114,116,101,100,114,84,0,0,0,41,2,114, + 96,0,0,0,114,188,0,0,0,41,3,114,68,0,0,0, + 114,50,1,0,0,114,19,2,0,0,115,3,0,0,0,32, + 128,128,114,10,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,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,146,6,0,0,115,41,0, + 0,0,248,128,0,228,19,30,152,116,212,19,36,220,22,33, + 208,34,66,200,20,212,22,78,208,16,78,217,19,22,144,116, + 208,19,45,152,110,210,19,45,208,12,45,114,28,0,0,0, + 114,30,0,0,0,41,3,114,50,1,0,0,114,19,2,0, + 0,114,45,2,0,0,115,3,0,0,0,96,96,32,114,10, + 0,0,0,218,9,112,97,116,104,95,104,111,111,107,122,20, + 70,105,108,101,70,105,110,100,101,114,46,112,97,116,104,95, + 104,111,111,107,136,6,0,0,115,16,0,0,0,249,128,0, + 245,20,4,9,46,240,12,0,16,40,208,8,39,114,28,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,34,0,0,0,151,0,100,1, + 124,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,155,2,100,2,157,3,83,0,41,3, + 78,122,11,70,105,108,101,70,105,110,100,101,114,40,114,221, + 1,0,0,114,84,0,0,0,114,131,1,0,0,115,1,0, + 0,0,32,114,10,0,0,0,114,222,1,0,0,122,19,70, + 105,108,101,70,105,110,100,101,114,46,95,95,114,101,112,114, + 95,95,154,6,0,0,115,21,0,0,0,128,0,216,17,28, + 152,84,159,89,153,89,152,77,168,17,208,15,43,208,8,43, + 114,28,0,0,0,114,77,0,0,0,41,12,114,196,0,0, + 0,114,195,0,0,0,114,197,0,0,0,114,198,0,0,0, + 114,67,1,0,0,114,242,1,0,0,114,4,2,0,0,114, + 58,1,0,0,114,26,2,0,0,114,63,1,0,0,114,46, + 2,0,0,114,222,1,0,0,114,30,0,0,0,114,28,0, + 0,0,114,10,0,0,0,114,11,2,0,0,114,11,2,0, + 0,19,6,0,0,115,60,0,0,0,132,0,241,4,5,5, + 8,242,14,15,5,41,242,34,2,5,30,242,8,3,5,72, + 1,243,10,49,5,20,242,102,1,29,5,71,1,240,62,0, + 6,17,241,2,15,5,40,243,3,0,6,17,240,2,15,5, + 40,243,34,1,5,44,114,28,0,0,0,114,11,2,0,0, + 99,4,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,3,0,0,0,243,50,1,0,0,151,0,124,0,106,1, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,1,171,1,0,0,0,0,0,0,125,4,124,0, + 106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,2,171,1,0,0,0,0,0,0,125,5, + 124,4,115,45,124,5,114,13,124,5,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,4, + 110,30,124,2,124,3,107,40,0,0,114,13,116,5,0,0, + 0,0,0,0,0,0,124,1,124,2,171,2,0,0,0,0, + 0,0,125,4,110,12,116,7,0,0,0,0,0,0,0,0, + 124,1,124,2,171,2,0,0,0,0,0,0,125,4,124,5, + 115,32,116,9,0,0,0,0,0,0,0,0,124,1,124,2, + 124,4,172,3,171,3,0,0,0,0,0,0,125,5,124,3, + 114,16,116,11,0,0,0,0,0,0,0,0,124,3,171,1, + 0,0,0,0,0,0,124,5,95,6,0,0,0,0,0,0, + 0,0,9,0,124,5,124,0,100,2,60,0,0,0,124,4, + 124,0,100,1,60,0,0,0,124,2,124,0,100,4,60,0, + 0,0,124,3,124,0,100,5,60,0,0,0,121,0,35,0, + 116,14,0,0,0,0,0,0,0,0,36,0,114,3,1,0, + 89,0,121,0,119,0,120,3,89,0,119,1,41,6,78,114, + 22,1,0,0,114,23,1,0,0,41,1,114,4,1,0,0, + 218,8,95,95,102,105,108,101,95,95,218,10,95,95,99,97, + 99,104,101,100,95,95,41,8,114,26,1,0,0,114,4,1, + 0,0,114,163,1,0,0,114,150,1,0,0,114,20,1,0, + 0,114,105,0,0,0,218,6,99,97,99,104,101,100,218,9, + 69,120,99,101,112,116,105,111,110,41,6,218,2,110,115,114, + 187,0,0,0,218,8,112,97,116,104,110,97,109,101,218,9, + 99,112,97,116,104,110,97,109,101,114,4,1,0,0,114,16, + 1,0,0,115,6,0,0,0,32,32,32,32,32,32,114,10, + 0,0,0,218,14,95,102,105,120,95,117,112,95,109,111,100, + 117,108,101,114,56,2,0,0,160,6,0,0,115,170,0,0, + 0,128,0,224,13,15,143,86,137,86,144,76,211,13,33,128, + 70,216,11,13,143,54,137,54,144,42,211,11,29,128,68,217, + 11,17,217,11,15,216,21,25,151,91,145,91,137,70,216,13, + 21,152,25,210,13,34,220,21,41,168,36,176,8,211,21,57, + 137,70,228,21,37,160,100,168,72,211,21,53,136,70,217,11, + 15,220,15,38,160,116,168,88,184,102,212,15,69,136,4,217, + 11,20,220,26,39,168,9,211,26,50,136,68,140,75,240,2, + 7,5,13,216,25,29,136,2,136,58,137,14,216,27,33,136, + 2,136,60,209,8,24,216,25,33,136,2,136,58,137,14,216, + 27,36,136,2,136,60,210,8,24,248,220,11,20,242,0,2, + 5,13,225,8,12,240,5,2,5,13,250,115,18,0,0,0, + 193,53,20,66,10,0,194,10,9,66,22,3,194,21,1,66, + 22,3,99,0,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,112,0,0,0,151,0,116,0, + 0,0,0,0,0,0,0,0,116,3,0,0,0,0,0,0, + 0,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,102,2, + 125,0,116,6,0,0,0,0,0,0,0,0,116,8,0,0, + 0,0,0,0,0,0,102,2,125,1,116,10,0,0,0,0, + 0,0,0,0,116,12,0,0,0,0,0,0,0,0,102,2, + 125,2,124,0,124,1,124,2,103,3,83,0,41,1,122,95, + 82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111, + 102,32,102,105,108,101,45,98,97,115,101,100,32,109,111,100, + 117,108,101,32,108,111,97,100,101,114,115,46,10,10,32,32, + 32,32,69,97,99,104,32,105,116,101,109,32,105,115,32,97, + 32,116,117,112,108,101,32,40,108,111,97,100,101,114,44,32, + 115,117,102,102,105,120,101,115,41,46,10,32,32,32,32,41, + 7,114,141,1,0,0,114,234,0,0,0,218,18,101,120,116, + 101,110,115,105,111,110,95,115,117,102,102,105,120,101,115,114, + 150,1,0,0,114,159,0,0,0,114,163,1,0,0,114,140, + 0,0,0,41,3,218,10,101,120,116,101,110,115,105,111,110, + 115,218,6,115,111,117,114,99,101,218,8,98,121,116,101,99, + 111,100,101,115,3,0,0,0,32,32,32,114,10,0,0,0, + 114,13,1,0,0,114,13,1,0,0,185,6,0,0,115,57, + 0,0,0,128,0,244,10,0,18,37,164,100,215,38,61,209, + 38,61,211,38,63,208,17,63,128,74,220,13,29,156,127,208, + 13,46,128,70,220,15,35,212,37,54,208,15,54,128,72,216, + 12,22,152,6,160,8,208,11,41,208,4,41,114,28,0,0, + 0,99,1,0,0,0,0,0,0,0,0,0,0,0,1,0, + 0,0,3,0,0,0,243,8,0,0,0,151,0,124,0,97, + 0,121,0,114,77,0,0,0,41,1,114,207,0,0,0,41, + 1,218,17,95,98,111,111,116,115,116,114,97,112,95,109,111, + 100,117,108,101,115,1,0,0,0,32,114,10,0,0,0,218, + 21,95,115,101,116,95,98,111,111,116,115,116,114,97,112,95, + 109,111,100,117,108,101,114,64,2,0,0,196,6,0,0,115, + 7,0,0,0,128,0,224,17,34,129,74,114,28,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,3,0,0,0,243,212,0,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 1,0,116,3,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,125,1,116,4,0,0,0,0,0,0,0,0, + 106,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,9,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,11,0,0,0,0,0,0, + 0,0,106,12,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,142,0,103,1,171,1,0,0, + 0,0,0,0,1,0,116,4,0,0,0,0,0,0,0,0, + 106,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,17,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,18,0,0,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,1,0,121,1,41,2, + 122,41,73,110,115,116,97,108,108,32,116,104,101,32,112,97, + 116,104,45,98,97,115,101,100,32,105,109,112,111,114,116,32, + 99,111,109,112,111,110,101,110,116,115,46,78,41,10,114,64, + 2,0,0,114,13,1,0,0,114,20,0,0,0,114,248,1, + 0,0,114,240,0,0,0,114,11,2,0,0,114,46,2,0, + 0,218,9,109,101,116,97,95,112,97,116,104,114,64,0,0, + 0,114,240,1,0,0,41,2,114,63,2,0,0,218,17,115, + 117,112,112,111,114,116,101,100,95,108,111,97,100,101,114,115, + 115,2,0,0,0,32,32,114,10,0,0,0,218,8,95,105, + 110,115,116,97,108,108,114,68,2,0,0,201,6,0,0,115, + 71,0,0,0,128,0,228,4,25,208,26,43,212,4,44,220, + 24,51,211,24,53,208,4,21,220,4,7,135,78,129,78,215, + 4,25,209,4,25,156,58,215,27,47,209,27,47,208,49,66, + 208,27,67,208,26,68,212,4,69,220,4,7,135,77,129,77, + 215,4,24,209,4,24,156,26,213,4,36,114,28,0,0,0, + 41,1,114,107,0,0,0,114,77,0,0,0,41,3,78,78, + 78,41,2,114,1,0,0,0,114,1,0,0,0,41,1,84, + 41,87,114,198,0,0,0,114,207,0,0,0,114,234,0,0, + 0,114,114,0,0,0,114,20,0,0,0,114,126,0,0,0, + 114,230,0,0,0,114,31,0,0,0,114,60,1,0,0,218, + 2,110,116,114,23,0,0,0,114,36,1,0,0,218,5,112, + 111,115,105,120,114,61,0,0,0,218,3,97,108,108,114,62, + 0,0,0,114,179,0,0,0,114,58,0,0,0,114,65,0, + 0,0,218,20,95,112,97,116,104,115,101,112,115,95,119,105, + 116,104,95,99,111,108,111,110,114,34,0,0,0,218,37,95, + 67,65,83,69,95,73,78,83,69,78,83,73,84,73,86,69, + 95,80,76,65,84,70,79,82,77,83,95,66,89,84,69,83, + 95,75,69,89,114,33,0,0,0,114,35,0,0,0,114,27, + 0,0,0,114,43,0,0,0,114,49,0,0,0,114,53,0, + 0,0,114,72,0,0,0,114,81,0,0,0,114,85,0,0, + 0,114,91,0,0,0,114,93,0,0,0,114,96,0,0,0, + 114,100,0,0,0,114,105,0,0,0,114,121,0,0,0,218, + 4,116,121,112,101,218,8,95,95,99,111,100,101,95,95,114, + 233,0,0,0,114,41,0,0,0,114,214,0,0,0,114,40, + 0,0,0,114,46,0,0,0,114,111,1,0,0,114,143,0, + 0,0,114,139,0,0,0,114,159,0,0,0,114,64,0,0, + 0,114,58,2,0,0,114,61,1,0,0,114,140,0,0,0, + 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,152,0,0,0,114,167,0,0,0, + 114,177,0,0,0,114,180,0,0,0,114,183,0,0,0,114, + 208,0,0,0,114,219,0,0,0,114,224,0,0,0,114,227, + 0,0,0,114,237,0,0,0,114,243,0,0,0,114,246,0, + 0,0,114,2,1,0,0,114,25,1,0,0,114,14,1,0, + 0,114,20,1,0,0,114,32,1,0,0,114,34,1,0,0, + 114,65,1,0,0,114,86,1,0,0,114,119,1,0,0,114, + 150,1,0,0,114,163,1,0,0,114,141,1,0,0,114,185, + 1,0,0,114,229,1,0,0,218,16,95,78,97,109,101,115, + 112,97,99,101,76,111,97,100,101,114,114,240,1,0,0,114, + 11,2,0,0,114,56,2,0,0,114,13,1,0,0,114,64, + 2,0,0,114,68,2,0,0,41,1,218,1,115,115,1,0, + 0,0,48,114,10,0,0,0,250,8,60,109,111,100,117,108, + 101,62,114,80,2,0,0,1,0,0,0,115,191,2,0,0, + 240,3,1,1,1,241,2,7,1,4,240,44,0,14,18,128, + 10,243,6,0,1,12,219,0,10,219,0,10,219,0,16,219, + 0,14,240,6,0,16,19,143,124,137,124,152,119,209,15,38, + 128,11,217,3,14,219,4,20,220,4,17,227,4,23,241,6, + 0,4,15,216,23,27,152,83,144,107,129,79,224,23,26,144, + 101,128,79,225,7,10,209,10,52,160,79,212,10,52,212,7, + 52,209,0,52,216,11,26,152,49,209,11,29,128,8,217,17, + 22,144,127,211,17,39,128,14,216,18,20,151,39,145,39,152, + 47,211,18,42,128,15,216,41,56,214,23,57,160,65,152,33, + 152,65,152,51,154,7,210,23,57,208,0,20,240,8,0,39, + 45,208,0,35,216,40,58,208,0,37,216,32,69,216,34,69, + 241,3,1,33,70,1,208,0,27,242,8,14,1,23,241,32, + 0,15,31,211,14,32,128,11,242,6,2,1,55,242,10,3, + 1,42,242,10,3,1,42,241,12,0,4,15,243,2,27,5, + 42,242,60,3,5,63,242,12,5,1,34,242,16,7,1,26, + 242,20,6,1,50,242,18,2,1,46,242,10,4,1,46,241, + 14,0,4,15,243,2,5,5,82,1,242,16,2,5,48,242, + 10,7,1,20,243,20,19,1,14,241,44,0,14,18,144,45, + 215,18,40,209,18,40,211,13,41,128,10,240,112,7,0,17, + 21,143,127,137,127,152,113,160,40,211,15,43,168,103,209,15, + 53,128,12,224,20,23,151,78,145,78,160,60,176,24,211,20, + 58,208,0,17,224,11,24,128,8,216,7,13,128,4,224,19, + 24,144,39,128,15,217,3,14,216,4,19,215,4,26,209,4, + 26,152,54,212,4,34,224,21,44,144,84,215,21,44,209,21, + 44,211,21,46,208,0,18,224,21,27,144,72,208,0,17,224, + 56,73,208,0,73,208,0,23,208,26,53,240,4,67,1,1, + 48,192,20,244,0,67,1,1,48,242,76,2,37,1,64,1, + 242,80,1,16,1,71,1,242,38,9,1,20,242,24,9,1, + 16,242,24,28,1,31,242,62,30,1,17,242,66,1,25,1, + 76,1,242,56,21,1,10,243,48,10,1,57,243,26,7,1, + 16,243,20,8,1,16,242,22,9,1,68,1,241,28,0,13, + 19,139,72,128,9,240,6,67,1,1,16,184,52,216,55,64, + 244,3,67,1,1,16,242,76,2,45,1,23,247,100,1,48, + 1,28,241,0,48,1,28,247,102,1,27,1,60,241,0,27, + 1,60,244,60,78,2,1,27,144,61,244,0,78,2,1,27, + 247,98,4,47,1,32,241,0,47,1,32,244,100,1,42,1, + 45,144,122,160,60,244,0,42,1,45,244,90,1,22,1,20, + 152,58,160,125,244,0,22,1,20,244,50,50,1,25,152,42, + 160,109,244,0,50,1,25,247,106,1,65,1,1,32,241,0, + 65,1,1,32,247,78,2,33,1,43,241,0,33,1,43,240, + 74,1,0,20,35,208,0,16,247,10,118,1,1,70,1,241, + 0,118,1,1,70,1,247,114,3,72,2,1,44,241,0,72, + 2,1,44,243,90,4,22,1,13,242,50,8,1,42,242,22, + 2,1,35,243,10,5,1,37,249,242,111,52,0,24,58,115, + 6,0,0,0,193,52,12,71,55,4, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/importlib.machinery.h b/contrib/tools/python3/src/Python/frozen_modules/importlib.machinery.h new file mode 100644 index 00000000000..e655b7ae5ec --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/importlib.machinery.h @@ -0,0 +1,68 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__importlib_machinery[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, + 0,0,0,0,0,243,162,0,0,0,151,0,100,0,90,0, + 100,1,100,2,108,1,109,2,90,2,1,0,100,1,100,3, + 108,1,109,3,90,3,1,0,100,1,100,4,108,1,109,4, + 90,4,1,0,100,1,100,5,108,5,109,6,90,6,109,7, + 90,7,109,8,90,8,109,9,90,9,109,10,90,10,1,0, + 100,1,100,6,108,5,109,11,90,11,1,0,100,1,100,7, + 108,5,109,12,90,12,1,0,100,1,100,8,108,5,109,13, + 90,13,1,0,100,1,100,9,108,5,109,14,90,14,1,0, + 100,1,100,10,108,5,109,15,90,15,1,0,100,1,100,11, + 108,5,109,16,90,16,1,0,100,1,100,12,108,5,109,17, + 90,17,1,0,100,13,132,0,90,18,121,14,41,15,122,57, + 84,104,101,32,109,97,99,104,105,110,101,114,121,32,111,102, + 32,105,109,112,111,114,116,108,105,98,58,32,102,105,110,100, + 101,114,115,44,32,108,111,97,100,101,114,115,44,32,104,111, + 111,107,115,44,32,101,116,99,46,233,1,0,0,0,41,1, + 218,10,77,111,100,117,108,101,83,112,101,99,41,1,218,15, + 66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,41, + 1,218,14,70,114,111,122,101,110,73,109,112,111,114,116,101, + 114,41,5,218,15,83,79,85,82,67,69,95,83,85,70,70, + 73,88,69,83,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,218,17,66,89,84,69, + 67,79,68,69,95,83,85,70,70,73,88,69,83,218,18,69, + 88,84,69,78,83,73,79,78,95,83,85,70,70,73,88,69, + 83,41,1,218,21,87,105,110,100,111,119,115,82,101,103,105, + 115,116,114,121,70,105,110,100,101,114,41,1,218,10,80,97, + 116,104,70,105,110,100,101,114,41,1,218,10,70,105,108,101, + 70,105,110,100,101,114,41,1,218,16,83,111,117,114,99,101, + 70,105,108,101,76,111,97,100,101,114,41,1,218,20,83,111, + 117,114,99,101,108,101,115,115,70,105,108,101,76,111,97,100, + 101,114,41,1,218,19,69,120,116,101,110,115,105,111,110,70, + 105,108,101,76,111,97,100,101,114,41,1,218,15,78,97,109, + 101,115,112,97,99,101,76,111,97,100,101,114,99,0,0,0, + 0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0, + 0,243,42,0,0,0,151,0,116,0,0,0,0,0,0,0, + 0,0,116,2,0,0,0,0,0,0,0,0,122,0,0,0, + 116,4,0,0,0,0,0,0,0,0,122,0,0,0,83,0, + 41,1,122,65,82,101,116,117,114,110,115,32,97,32,108,105, + 115,116,32,111,102,32,97,108,108,32,114,101,99,111,103,110, + 105,122,101,100,32,109,111,100,117,108,101,32,115,117,102,102, + 105,120,101,115,32,102,111,114,32,116,104,105,115,32,112,114, + 111,99,101,115,115,41,3,114,6,0,0,0,114,9,0,0, + 0,114,10,0,0,0,169,0,243,0,0,0,0,250,28,60, + 102,114,111,122,101,110,32,105,109,112,111,114,116,108,105,98, + 46,109,97,99,104,105,110,101,114,121,62,218,12,97,108,108, + 95,115,117,102,102,105,120,101,115,114,22,0,0,0,18,0, + 0,0,115,20,0,0,0,128,0,228,11,26,212,29,46,209, + 11,46,212,49,67,209,11,67,208,4,67,114,20,0,0,0, + 78,41,19,218,7,95,95,100,111,99,95,95,218,10,95,98, + 111,111,116,115,116,114,97,112,114,3,0,0,0,114,4,0, + 0,0,114,5,0,0,0,218,19,95,98,111,111,116,115,116, + 114,97,112,95,101,120,116,101,114,110,97,108,114,6,0,0, + 0,114,7,0,0,0,114,8,0,0,0,114,9,0,0,0, + 114,10,0,0,0,114,11,0,0,0,114,12,0,0,0,114, + 13,0,0,0,114,14,0,0,0,114,15,0,0,0,114,16, + 0,0,0,114,17,0,0,0,114,22,0,0,0,114,19,0, + 0,0,114,20,0,0,0,114,21,0,0,0,250,8,60,109, + 111,100,117,108,101,62,114,26,0,0,0,1,0,0,0,115, + 56,0,0,0,240,3,1,1,1,217,0,63,229,0,34,221, + 0,39,221,0,38,247,2,2,1,41,245,0,2,1,41,245, + 6,0,1,55,221,0,43,221,0,43,221,0,49,221,0,53, + 221,0,52,221,0,48,243,6,2,1,68,1,114,20,0,0, + 0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/importlib.util.h b/contrib/tools/python3/src/Python/frozen_modules/importlib.util.h new file mode 100644 index 00000000000..22663178b90 --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/importlib.util.h @@ -0,0 +1,705 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__importlib_util[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,0,0,0,0,243,20,1,0,0,151,0,100,0,90,0, + 100,1,100,2,108,1,109,2,90,2,1,0,100,1,100,3, + 108,3,109,4,90,4,1,0,100,1,100,4,108,3,109,5, + 90,5,1,0,100,1,100,5,108,3,109,6,90,6,1,0, + 100,1,100,6,108,3,109,7,90,7,1,0,100,1,100,7, + 108,8,109,9,90,9,1,0,100,1,100,8,108,8,109,10, + 90,10,1,0,100,1,100,9,108,8,109,11,90,11,1,0, + 100,1,100,10,108,8,109,12,90,12,1,0,100,1,100,11, + 108,8,109,13,90,13,1,0,100,1,100,12,108,8,109,14, + 90,14,1,0,100,13,100,14,108,15,90,15,100,13,100,14, + 108,16,90,16,100,13,100,14,108,17,90,17,100,15,132,0, + 90,18,100,16,132,0,90,19,100,25,100,17,132,1,90,20, + 100,25,100,18,132,1,90,21,2,0,71,0,100,19,132,0, + 100,20,171,2,0,0,0,0,0,0,90,22,2,0,71,0, + 100,21,132,0,100,22,101,17,106,46,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,3,0,0, + 0,0,0,0,90,24,2,0,71,0,100,23,132,0,100,24, + 101,2,171,3,0,0,0,0,0,0,90,25,121,14,41,26, + 122,45,85,116,105,108,105,116,121,32,99,111,100,101,32,102, + 111,114,32,99,111,110,115,116,114,117,99,116,105,110,103,32, + 105,109,112,111,114,116,101,114,115,44,32,101,116,99,46,233, + 1,0,0,0,41,1,218,6,76,111,97,100,101,114,41,1, + 218,16,109,111,100,117,108,101,95,102,114,111,109,95,115,112, + 101,99,41,1,218,13,95,114,101,115,111,108,118,101,95,110, + 97,109,101,41,1,218,16,115,112,101,99,95,102,114,111,109, + 95,108,111,97,100,101,114,41,1,218,10,95,102,105,110,100, + 95,115,112,101,99,41,1,218,12,77,65,71,73,67,95,78, + 85,77,66,69,82,41,1,218,17,95,82,65,87,95,77,65, + 71,73,67,95,78,85,77,66,69,82,41,1,218,17,99,97, + 99,104,101,95,102,114,111,109,95,115,111,117,114,99,101,41, + 1,218,13,100,101,99,111,100,101,95,115,111,117,114,99,101, + 41,1,218,17,115,111,117,114,99,101,95,102,114,111,109,95, + 99,97,99,104,101,41,1,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, + 233,0,0,0,0,78,99,1,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,3,0,0,0,243,54,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 116,4,0,0,0,0,0,0,0,0,124,0,171,2,0,0, + 0,0,0,0,83,0,41,1,122,66,82,101,116,117,114,110, + 32,116,104,101,32,104,97,115,104,32,111,102,32,42,115,111, + 117,114,99,101,95,98,121,116,101,115,42,32,97,115,32,117, + 115,101,100,32,105,110,32,104,97,115,104,45,98,97,115,101, + 100,32,112,121,99,32,102,105,108,101,115,46,41,3,218,4, + 95,105,109,112,218,11,115,111,117,114,99,101,95,104,97,115, + 104,114,9,0,0,0,41,1,218,12,115,111,117,114,99,101, + 95,98,121,116,101,115,115,1,0,0,0,32,250,23,60,102, + 114,111,122,101,110,32,105,109,112,111,114,116,108,105,98,46, + 117,116,105,108,62,114,17,0,0,0,114,17,0,0,0,19, + 0,0,0,115,22,0,0,0,128,0,228,11,15,215,11,27, + 209,11,27,212,28,45,168,124,211,11,60,208,4,60,243,0, + 0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,0, + 6,0,0,0,3,0,0,0,243,166,0,0,0,151,0,124, + 0,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,1,171,1,0,0,0,0,0,0,115, + 2,124,0,83,0,124,1,115,24,116,3,0,0,0,0,0, + 0,0,0,100,2,116,5,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,155,0,100,3,157,3,171, + 1,0,0,0,0,0,0,130,1,100,4,125,2,124,0,68, + 0,93,14,0,0,125,3,124,3,100,1,107,55,0,0,114, + 2,1,0,110,7,124,2,100,5,122,13,0,0,125,2,140, + 16,4,0,116,7,0,0,0,0,0,0,0,0,124,0,124, + 2,100,6,26,0,124,1,124,2,171,3,0,0,0,0,0, + 0,83,0,41,7,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,250,1,46,122,25,110,111, + 32,112,97,99,107,97,103,101,32,115,112,101,99,105,102,105, + 101,100,32,102,111,114,32,122,37,32,40,114,101,113,117,105, + 114,101,100,32,102,111,114,32,114,101,108,97,116,105,118,101, + 32,109,111,100,117,108,101,32,110,97,109,101,115,41,114,14, + 0,0,0,114,2,0,0,0,78,41,4,218,10,115,116,97, + 114,116,115,119,105,116,104,218,11,73,109,112,111,114,116,69, + 114,114,111,114,218,4,114,101,112,114,114,5,0,0,0,41, + 4,218,4,110,97,109,101,218,7,112,97,99,107,97,103,101, + 218,5,108,101,118,101,108,218,9,99,104,97,114,97,99,116, + 101,114,115,4,0,0,0,32,32,32,32,114,19,0,0,0, + 218,12,114,101,115,111,108,118,101,95,110,97,109,101,114,30, + 0,0,0,24,0,0,0,115,124,0,0,0,128,0,224,11, + 15,143,63,137,63,152,51,212,11,31,216,15,19,136,11,217, + 13,20,220,14,25,208,28,53,180,100,184,52,179,106,176,92, + 240,0,1,66,1,65,1,240,0,1,27,65,1,243,0,1, + 15,66,1,240,0,1,9,66,1,224,12,13,128,69,216,21, + 25,242,0,3,5,19,136,9,216,11,20,152,3,210,11,27, + 217,12,17,216,8,13,144,17,137,10,137,5,240,7,3,5, + 19,244,8,0,12,25,152,20,152,101,152,102,152,28,160,119, + 176,5,211,11,54,208,4,54,114,20,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,5,0,0,0,3,0, + 0,0,243,224,0,0,0,151,0,124,0,116,0,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,118,1,114,12,116,5,0, + 0,0,0,0,0,0,0,124,0,124,1,171,2,0,0,0, + 0,0,0,83,0,116,0,0,0,0,0,0,0,0,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,0,25,0,0,0,125,2,124,2,128,1,121, + 1,9,0,124,2,106,6,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,125,3,124,3,128,14,116, + 9,0,0,0,0,0,0,0,0,124,0,155,0,100,2,157, + 2,171,1,0,0,0,0,0,0,130,1,124,3,83,0,35, + 0,116,10,0,0,0,0,0,0,0,0,36,0,114,16,1, + 0,116,9,0,0,0,0,0,0,0,0,124,0,155,0,100, + 3,157,2,171,1,0,0,0,0,0,0,100,1,130,2,119, + 0,120,3,89,0,119,1,41,4,97,135,2,0,0,82,101, + 116,117,114,110,32,116,104,101,32,115,112,101,99,32,102,111, + 114,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32, + 109,111,100,117,108,101,46,10,10,32,32,32,32,70,105,114, + 115,116,44,32,115,121,115,46,109,111,100,117,108,101,115,32, + 105,115,32,99,104,101,99,107,101,100,32,116,111,32,115,101, + 101,32,105,102,32,116,104,101,32,109,111,100,117,108,101,32, + 119,97,115,32,97,108,114,101,97,100,121,32,105,109,112,111, + 114,116,101,100,46,32,73,102,10,32,32,32,32,115,111,44, + 32,116,104,101,110,32,115,121,115,46,109,111,100,117,108,101, + 115,91,110,97,109,101,93,46,95,95,115,112,101,99,95,95, + 32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102, + 32,116,104,97,116,32,104,97,112,112,101,110,115,32,116,111, + 32,98,101,10,32,32,32,32,115,101,116,32,116,111,32,78, + 111,110,101,44,32,116,104,101,110,32,86,97,108,117,101,69, + 114,114,111,114,32,105,115,32,114,97,105,115,101,100,46,32, + 73,102,32,116,104,101,32,109,111,100,117,108,101,32,105,115, + 32,110,111,116,32,105,110,10,32,32,32,32,115,121,115,46, + 109,111,100,117,108,101,115,44,32,116,104,101,110,32,115,121, + 115,46,109,101,116,97,95,112,97,116,104,32,105,115,32,115, + 101,97,114,99,104,101,100,32,102,111,114,32,97,32,115,117, + 105,116,97,98,108,101,32,115,112,101,99,32,119,105,116,104, + 32,116,104,101,10,32,32,32,32,118,97,108,117,101,32,111, + 102,32,39,112,97,116,104,39,32,103,105,118,101,110,32,116, + 111,32,116,104,101,32,102,105,110,100,101,114,115,46,32,78, + 111,110,101,32,105,115,32,114,101,116,117,114,110,101,100,32, + 105,102,32,110,111,32,115,112,101,99,32,99,111,117,108,100, + 10,32,32,32,32,98,101,32,102,111,117,110,100,46,10,10, + 32,32,32,32,68,111,116,116,101,100,32,110,97,109,101,115, + 32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101, + 105,114,32,112,97,114,101,110,116,32,112,97,99,107,97,103, + 101,115,32,105,109,112,108,105,99,105,116,108,121,32,105,109, + 112,111,114,116,101,100,46,32,89,111,117,32,119,105,108,108, + 10,32,32,32,32,109,111,115,116,32,108,105,107,101,108,121, + 32,110,101,101,100,32,116,111,32,101,120,112,108,105,99,105, + 116,108,121,32,105,109,112,111,114,116,32,97,108,108,32,112, + 97,114,101,110,116,32,112,97,99,107,97,103,101,115,32,105, + 110,32,116,104,101,32,112,114,111,112,101,114,10,32,32,32, + 32,111,114,100,101,114,32,102,111,114,32,97,32,115,117,98, + 109,111,100,117,108,101,32,116,111,32,103,101,116,32,116,104, + 101,32,99,111,114,114,101,99,116,32,115,112,101,99,46,10, + 10,32,32,32,32,78,250,17,46,95,95,115,112,101,99,95, + 95,32,105,115,32,78,111,110,101,250,20,46,95,95,115,112, + 101,99,95,95,32,105,115,32,110,111,116,32,115,101,116,41, + 6,218,3,115,121,115,218,7,109,111,100,117,108,101,115,114, + 7,0,0,0,218,8,95,95,115,112,101,99,95,95,218,10, + 86,97,108,117,101,69,114,114,111,114,218,14,65,116,116,114, + 105,98,117,116,101,69,114,114,111,114,41,4,114,26,0,0, + 0,218,4,112,97,116,104,218,6,109,111,100,117,108,101,218, + 4,115,112,101,99,115,4,0,0,0,32,32,32,32,114,19, + 0,0,0,218,20,95,102,105,110,100,95,115,112,101,99,95, + 102,114,111,109,95,112,97,116,104,114,42,0,0,0,39,0, + 0,0,115,136,0,0,0,128,0,240,30,0,8,12,148,51, + 151,59,145,59,209,7,30,220,15,25,152,36,160,4,211,15, + 37,208,8,37,228,17,20,151,27,145,27,152,84,209,17,34, + 136,6,216,11,17,136,62,216,19,23,240,2,7,9,24,216, + 19,25,151,63,145,63,136,68,240,8,0,16,20,136,124,220, + 22,32,160,68,160,54,208,41,58,208,33,59,211,22,60,208, + 16,60,216,19,23,136,75,248,244,11,0,16,30,242,0,1, + 9,70,1,220,18,28,160,4,152,118,208,37,57,208,29,58, + 211,18,59,192,20,208,12,69,240,3,1,9,70,1,250,115, + 11,0,0,0,182,12,65,20,0,193,20,25,65,45,3,99, + 2,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0, + 3,0,0,0,243,208,1,0,0,151,0,124,0,106,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,1,171,1,0,0,0,0,0,0,114,12,116,3,0, + 0,0,0,0,0,0,0,124,0,124,1,171,2,0,0,0, + 0,0,0,110,1,124,0,125,2,124,2,116,4,0,0,0, + 0,0,0,0,0,106,6,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,118,1,114,64,124,2,106, + 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,1,171,1,0,0,0,0,0,0,100,2,25, + 0,0,0,125,3,124,3,114,28,116,11,0,0,0,0,0, + 0,0,0,124,3,100,3,103,1,172,4,171,2,0,0,0, + 0,0,0,125,4,9,0,124,4,106,12,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,125,5,110, + 2,100,8,125,5,116,19,0,0,0,0,0,0,0,0,124, + 2,124,5,171,2,0,0,0,0,0,0,83,0,116,4,0, + 0,0,0,0,0,0,0,106,6,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,2,25,0,0, + 0,125,7,124,7,128,1,121,8,9,0,124,7,106,20,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,125,8,124,8,128,14,116,23,0,0,0,0,0,0,0, + 0,124,0,155,0,100,9,157,2,171,1,0,0,0,0,0, + 0,130,1,124,8,83,0,35,0,116,14,0,0,0,0,0, + 0,0,0,36,0,114,25,125,6,116,17,0,0,0,0,0, + 0,0,0,100,5,124,3,155,2,100,6,124,2,155,2,157, + 4,124,2,172,7,171,2,0,0,0,0,0,0,124,6,130, + 2,100,8,125,6,126,6,119,1,119,0,120,3,89,0,119, + 1,35,0,116,14,0,0,0,0,0,0,0,0,36,0,114, + 16,1,0,116,23,0,0,0,0,0,0,0,0,124,0,155, + 0,100,10,157,2,171,1,0,0,0,0,0,0,100,8,130, + 2,119,0,120,3,89,0,119,1,41,11,97,175,2,0,0, + 82,101,116,117,114,110,32,116,104,101,32,115,112,101,99,32, + 102,111,114,32,116,104,101,32,115,112,101,99,105,102,105,101, + 100,32,109,111,100,117,108,101,46,10,10,32,32,32,32,70, + 105,114,115,116,44,32,115,121,115,46,109,111,100,117,108,101, + 115,32,105,115,32,99,104,101,99,107,101,100,32,116,111,32, + 115,101,101,32,105,102,32,116,104,101,32,109,111,100,117,108, + 101,32,119,97,115,32,97,108,114,101,97,100,121,32,105,109, + 112,111,114,116,101,100,46,32,73,102,10,32,32,32,32,115, + 111,44,32,116,104,101,110,32,115,121,115,46,109,111,100,117, + 108,101,115,91,110,97,109,101,93,46,95,95,115,112,101,99, + 95,95,32,105,115,32,114,101,116,117,114,110,101,100,46,32, + 73,102,32,116,104,97,116,32,104,97,112,112,101,110,115,32, + 116,111,32,98,101,10,32,32,32,32,115,101,116,32,116,111, + 32,78,111,110,101,44,32,116,104,101,110,32,86,97,108,117, + 101,69,114,114,111,114,32,105,115,32,114,97,105,115,101,100, + 46,32,73,102,32,116,104,101,32,109,111,100,117,108,101,32, + 105,115,32,110,111,116,32,105,110,10,32,32,32,32,115,121, + 115,46,109,111,100,117,108,101,115,44,32,116,104,101,110,32, + 115,121,115,46,109,101,116,97,95,112,97,116,104,32,105,115, + 32,115,101,97,114,99,104,101,100,32,102,111,114,32,97,32, + 115,117,105,116,97,98,108,101,32,115,112,101,99,32,119,105, + 116,104,32,116,104,101,10,32,32,32,32,118,97,108,117,101, + 32,111,102,32,39,112,97,116,104,39,32,103,105,118,101,110, + 32,116,111,32,116,104,101,32,102,105,110,100,101,114,115,46, + 32,78,111,110,101,32,105,115,32,114,101,116,117,114,110,101, + 100,32,105,102,32,110,111,32,115,112,101,99,32,99,111,117, + 108,100,10,32,32,32,32,98,101,32,102,111,117,110,100,46, + 10,10,32,32,32,32,73,102,32,116,104,101,32,110,97,109, + 101,32,105,115,32,102,111,114,32,115,117,98,109,111,100,117, + 108,101,32,40,99,111,110,116,97,105,110,115,32,97,32,100, + 111,116,41,44,32,116,104,101,32,112,97,114,101,110,116,32, + 109,111,100,117,108,101,32,105,115,10,32,32,32,32,97,117, + 116,111,109,97,116,105,99,97,108,108,121,32,105,109,112,111, + 114,116,101,100,46,10,10,32,32,32,32,84,104,101,32,110, + 97,109,101,32,97,110,100,32,112,97,99,107,97,103,101,32, + 97,114,103,117,109,101,110,116,115,32,119,111,114,107,32,116, + 104,101,32,115,97,109,101,32,97,115,32,105,109,112,111,114, + 116,108,105,98,46,105,109,112,111,114,116,95,109,111,100,117, + 108,101,40,41,46,10,32,32,32,32,73,110,32,111,116,104, + 101,114,32,119,111,114,100,115,44,32,114,101,108,97,116,105, + 118,101,32,109,111,100,117,108,101,32,110,97,109,101,115,32, + 40,119,105,116,104,32,108,101,97,100,105,110,103,32,100,111, + 116,115,41,32,119,111,114,107,46,10,10,32,32,32,32,114, + 22,0,0,0,114,14,0,0,0,218,8,95,95,112,97,116, + 104,95,95,41,1,218,8,102,114,111,109,108,105,115,116,122, + 32,95,95,112,97,116,104,95,95,32,97,116,116,114,105,98, + 117,116,101,32,110,111,116,32,102,111,117,110,100,32,111,110, + 32,122,22,32,119,104,105,108,101,32,116,114,121,105,110,103, + 32,116,111,32,102,105,110,100,32,41,1,114,26,0,0,0, + 78,114,32,0,0,0,114,33,0,0,0,41,12,114,23,0, + 0,0,114,30,0,0,0,114,34,0,0,0,114,35,0,0, + 0,218,10,114,112,97,114,116,105,116,105,111,110,218,10,95, + 95,105,109,112,111,114,116,95,95,114,44,0,0,0,114,38, + 0,0,0,218,19,77,111,100,117,108,101,78,111,116,70,111, + 117,110,100,69,114,114,111,114,114,7,0,0,0,114,36,0, + 0,0,114,37,0,0,0,41,9,114,26,0,0,0,114,27, + 0,0,0,218,8,102,117,108,108,110,97,109,101,218,11,112, + 97,114,101,110,116,95,110,97,109,101,218,6,112,97,114,101, + 110,116,218,11,112,97,114,101,110,116,95,112,97,116,104,218, + 1,101,114,40,0,0,0,114,41,0,0,0,115,9,0,0, + 0,32,32,32,32,32,32,32,32,32,114,19,0,0,0,218, + 9,102,105,110,100,95,115,112,101,99,114,54,0,0,0,70, + 0,0,0,115,28,1,0,0,128,0,240,34,0,47,51,175, + 111,169,111,184,99,212,46,66,140,124,152,68,160,39,212,15, + 42,200,4,128,72,216,7,15,148,115,151,123,145,123,209,7, + 34,216,22,30,215,22,41,209,22,41,168,35,211,22,46,168, + 113,209,22,49,136,11,217,11,22,220,21,31,160,11,176,122, + 176,108,212,21,67,136,70,240,2,5,13,80,1,216,30,36, + 159,111,153,111,145,11,240,12,0,27,31,136,75,220,15,25, + 152,40,160,75,211,15,48,208,8,48,228,17,20,151,27,145, + 27,152,88,209,17,38,136,6,216,11,17,136,62,216,19,23, + 240,2,7,9,24,216,19,25,151,63,145,63,136,68,240,8, + 0,16,20,136,124,220,22,32,160,68,160,54,208,41,58,208, + 33,59,211,22,60,208,16,60,216,19,23,136,75,248,244,37, + 0,20,34,242,0,3,13,80,1,220,22,41,216,22,54,176, + 123,176,111,240,0,1,70,1,44,216,44,52,168,60,240,3, + 1,21,57,216,63,71,244,5,2,23,73,1,224,78,79,240, + 5,2,17,80,1,251,240,3,3,13,80,1,251,244,26,0, + 16,30,242,0,1,9,70,1,220,18,28,160,4,152,118,208, + 37,57,208,29,58,211,18,59,192,20,208,12,69,240,3,1, + 9,70,1,250,115,36,0,0,0,193,23,12,66,39,0,194, + 9,12,67,12,0,194,39,9,67,9,3,194,48,20,67,4, + 3,195,4,5,67,9,3,195,12,25,67,37,3,99,0,0, + 0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, + 0,0,243,50,0,0,0,151,0,101,0,90,1,100,0,90, + 2,100,1,90,3,100,2,132,0,90,4,100,3,132,0,90, + 5,100,4,132,0,90,6,101,7,100,5,132,0,171,0,0, + 0,0,0,0,0,90,8,121,6,41,7,218,43,95,105,110, + 99,111,109,112,97,116,105,98,108,101,95,101,120,116,101,110, + 115,105,111,110,95,109,111,100,117,108,101,95,114,101,115,116, + 114,105,99,116,105,111,110,115,97,103,5,0,0,65,32,99, + 111,110,116,101,120,116,32,109,97,110,97,103,101,114,32,116, + 104,97,116,32,99,97,110,32,116,101,109,112,111,114,97,114, + 105,108,121,32,115,107,105,112,32,116,104,101,32,99,111,109, + 112,97,116,105,98,105,108,105,116,121,32,99,104,101,99,107, + 46,10,10,32,32,32,32,78,79,84,69,58,32,84,104,105, + 115,32,102,117,110,99,116,105,111,110,32,105,115,32,109,101, + 97,110,116,32,116,111,32,97,99,99,111,109,109,111,100,97, + 116,101,32,97,110,32,117,110,117,115,117,97,108,32,99,97, + 115,101,59,32,111,110,101,10,32,32,32,32,119,104,105,99, + 104,32,105,115,32,108,105,107,101,108,121,32,116,111,32,101, + 118,101,110,116,117,97,108,108,121,32,103,111,32,97,119,97, + 121,46,32,32,84,104,101,114,101,39,115,32,105,115,32,97, + 32,112,114,101,116,116,121,32,103,111,111,100,10,32,32,32, + 32,99,104,97,110,99,101,32,116,104,105,115,32,105,115,32, + 110,111,116,32,119,104,97,116,32,121,111,117,32,119,101,114, + 101,32,108,111,111,107,105,110,103,32,102,111,114,46,10,10, + 32,32,32,32,87,65,82,78,73,78,71,58,32,85,115,105, + 110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110, + 32,116,111,32,100,105,115,97,98,108,101,32,116,104,101,32, + 99,104,101,99,107,32,99,97,110,32,108,101,97,100,32,116, + 111,10,32,32,32,32,117,110,101,120,112,101,99,116,101,100, + 32,98,101,104,97,118,105,111,114,32,97,110,100,32,101,118, + 101,110,32,99,114,97,115,104,101,115,46,32,32,73,116,32, + 115,104,111,117,108,100,32,111,110,108,121,32,98,101,32,117, + 115,101,100,32,100,117,114,105,110,103,10,32,32,32,32,101, + 120,116,101,110,115,105,111,110,32,109,111,100,117,108,101,32, + 100,101,118,101,108,111,112,109,101,110,116,46,10,10,32,32, + 32,32,73,102,32,34,100,105,115,97,98,108,101,95,99,104, + 101,99,107,34,32,105,115,32,84,114,117,101,32,116,104,101, + 110,32,116,104,101,32,99,111,109,112,97,116,105,98,105,108, + 105,116,121,32,99,104,101,99,107,32,119,105,108,108,32,110, + 111,116,10,32,32,32,32,104,97,112,112,101,110,32,119,104, + 105,108,101,32,116,104,101,32,99,111,110,116,101,120,116,32, + 109,97,110,97,103,101,114,32,105,115,32,97,99,116,105,118, + 101,46,32,32,79,116,104,101,114,119,105,115,101,32,116,104, + 101,32,99,104,101,99,107,10,32,32,32,32,42,119,105,108, + 108,42,32,104,97,112,112,101,110,46,10,10,32,32,32,32, + 78,111,114,109,97,108,108,121,44,32,101,120,116,101,110,115, + 105,111,110,115,32,116,104,97,116,32,100,111,32,110,111,116, + 32,115,117,112,112,111,114,116,32,109,117,108,116,105,112,108, + 101,32,105,110,116,101,114,112,114,101,116,101,114,115,10,32, + 32,32,32,109,97,121,32,110,111,116,32,98,101,32,105,109, + 112,111,114,116,101,100,32,105,110,32,97,32,115,117,98,105, + 110,116,101,114,112,114,101,116,101,114,46,32,32,84,104,97, + 116,32,105,109,112,108,105,101,115,32,109,111,100,117,108,101, + 115,10,32,32,32,32,116,104,97,116,32,100,111,32,110,111, + 116,32,105,109,112,108,101,109,101,110,116,32,109,117,108,116, + 105,45,112,104,97,115,101,32,105,110,105,116,32,111,114,32, + 116,104,97,116,32,101,120,112,108,105,99,105,116,108,121,32, + 111,102,32,111,117,116,46,10,10,32,32,32,32,76,105,107, + 101,119,105,115,101,32,102,111,114,32,109,111,100,117,108,101, + 115,32,105,109,112,111,114,116,32,105,110,32,97,32,115,117, + 98,105,110,116,101,114,112,101,116,101,114,32,119,105,116,104, + 32,105,116,115,32,111,119,110,32,71,73,76,10,32,32,32, + 32,119,104,101,110,32,116,104,101,32,101,120,116,101,110,115, + 105,111,110,32,100,111,101,115,32,110,111,116,32,115,117,112, + 112,111,114,116,32,97,32,112,101,114,45,105,110,116,101,114, + 112,114,101,116,101,114,32,71,73,76,46,32,32,84,104,105, + 115,10,32,32,32,32,105,109,112,108,105,101,115,32,116,104, + 101,32,109,111,100,117,108,101,32,100,111,101,115,32,110,111, + 116,32,104,97,118,101,32,97,32,80,121,95,109,111,100,95, + 109,117,108,116,105,112,108,101,95,105,110,116,101,114,112,114, + 101,116,101,114,115,32,115,108,111,116,10,32,32,32,32,115, + 101,116,32,116,111,32,80,121,95,77,79,68,95,80,69,82, + 95,73,78,84,69,82,80,82,69,84,69,82,95,71,73,76, + 95,83,85,80,80,79,82,84,69,68,46,10,10,32,32,32, + 32,73,110,32,98,111,116,104,32,99,97,115,101,115,44,32, + 116,104,105,115,32,99,111,110,116,101,120,116,32,109,97,110, + 97,103,101,114,32,109,97,121,32,98,101,32,117,115,101,100, + 32,116,111,32,116,101,109,112,111,114,97,114,105,108,121,10, + 32,32,32,32,100,105,115,97,98,108,101,32,116,104,101,32, + 99,104,101,99,107,32,102,111,114,32,99,111,109,112,97,116, + 105,98,108,101,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,89,111,117, + 32,99,97,110,32,103,101,116,32,116,104,101,32,115,97,109, + 101,32,101,102,102,101,99,116,32,97,115,32,116,104,105,115, + 32,102,117,110,99,116,105,111,110,32,98,121,32,105,109,112, + 108,101,109,101,110,116,105,110,103,32,116,104,101,10,32,32, + 32,32,98,97,115,105,99,32,105,110,116,101,114,102,97,99, + 101,32,111,102,32,109,117,108,116,105,45,112,104,97,115,101, + 32,105,110,105,116,32,40,80,69,80,32,52,56,57,41,32, + 97,110,100,32,108,121,105,110,103,32,97,98,111,117,116,10, + 32,32,32,32,115,117,112,112,111,114,116,32,102,111,114,32, + 109,117,108,105,116,112,108,101,32,105,110,116,101,114,112,114, + 101,116,101,114,115,32,40,111,114,32,112,101,114,45,105,110, + 116,101,114,112,114,101,116,101,114,32,71,73,76,41,46,10, + 32,32,32,32,99,1,0,0,0,0,0,0,0,1,0,0, + 0,3,0,0,0,3,0,0,0,243,36,0,0,0,151,0, + 116,1,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,124,0,95,1,0,0,0,0,0,0,0,0, + 121,0,169,1,78,41,2,218,4,98,111,111,108,218,13,100, + 105,115,97,98,108,101,95,99,104,101,99,107,41,2,218,4, + 115,101,108,102,114,60,0,0,0,115,2,0,0,0,32,32, + 114,19,0,0,0,218,8,95,95,105,110,105,116,95,95,122, + 52,95,105,110,99,111,109,112,97,116,105,98,108,101,95,101, + 120,116,101,110,115,105,111,110,95,109,111,100,117,108,101,95, + 114,101,115,116,114,105,99,116,105,111,110,115,46,95,95,105, + 110,105,116,95,95,151,0,0,0,115,15,0,0,0,128,0, + 220,29,33,160,45,211,29,48,136,4,213,8,26,114,20,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,78,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,106,4, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,124,0,95,3,0,0, + 0,0,0,0,0,0,124,0,83,0,114,58,0,0,0,41, + 4,114,16,0,0,0,218,39,95,111,118,101,114,114,105,100, + 101,95,109,117,108,116,105,95,105,110,116,101,114,112,95,101, + 120,116,101,110,115,105,111,110,115,95,99,104,101,99,107,218, + 8,111,118,101,114,114,105,100,101,218,3,111,108,100,169,1, + 114,61,0,0,0,115,1,0,0,0,32,114,19,0,0,0, + 218,9,95,95,101,110,116,101,114,95,95,122,53,95,105,110, + 99,111,109,112,97,116,105,98,108,101,95,101,120,116,101,110, + 115,105,111,110,95,109,111,100,117,108,101,95,114,101,115,116, + 114,105,99,116,105,111,110,115,46,95,95,101,110,116,101,114, + 95,95,154,0,0,0,115,29,0,0,0,128,0,220,19,23, + 215,19,63,209,19,63,192,4,199,13,193,13,211,19,78,136, + 4,140,8,216,15,19,136,11,114,20,0,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,7,0, + 0,0,243,74,0,0,0,151,0,124,0,106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125, + 2,124,0,96,0,116,3,0,0,0,0,0,0,0,0,106, + 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,2,171,1,0,0,0,0,0,0,1,0,121, + 0,114,58,0,0,0,41,3,114,66,0,0,0,114,16,0, + 0,0,114,64,0,0,0,41,3,114,61,0,0,0,218,4, + 97,114,103,115,114,66,0,0,0,115,3,0,0,0,32,32, + 32,114,19,0,0,0,218,8,95,95,101,120,105,116,95,95, + 122,52,95,105,110,99,111,109,112,97,116,105,98,108,101,95, + 101,120,116,101,110,115,105,111,110,95,109,111,100,117,108,101, + 95,114,101,115,116,114,105,99,116,105,111,110,115,46,95,95, + 101,120,105,116,95,95,158,0,0,0,115,30,0,0,0,128, + 0,216,14,18,143,104,137,104,136,3,216,12,16,136,72,220, + 8,12,215,8,52,209,8,52,176,83,213,8,57,114,20,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,1, + 0,0,0,3,0,0,0,243,34,0,0,0,151,0,124,0, + 106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,114,2,100,1,83,0,100,2,83,0,41,3, + 78,233,255,255,255,255,114,2,0,0,0,41,1,114,60,0, + 0,0,114,67,0,0,0,115,1,0,0,0,32,114,19,0, + 0,0,114,65,0,0,0,122,52,95,105,110,99,111,109,112, + 97,116,105,98,108,101,95,101,120,116,101,110,115,105,111,110, + 95,109,111,100,117,108,101,95,114,101,115,116,114,105,99,116, + 105,111,110,115,46,111,118,101,114,114,105,100,101,163,0,0, + 0,115,21,0,0,0,128,0,224,21,25,215,21,39,210,21, + 39,136,114,208,8,46,168,81,208,8,46,114,20,0,0,0, + 78,41,9,218,8,95,95,110,97,109,101,95,95,218,10,95, + 95,109,111,100,117,108,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, + 114,62,0,0,0,114,68,0,0,0,114,71,0,0,0,218, + 8,112,114,111,112,101,114,116,121,114,65,0,0,0,169,0, + 114,20,0,0,0,114,19,0,0,0,114,56,0,0,0,114, + 56,0,0,0,119,0,0,0,115,42,0,0,0,132,0,241, + 2,29,5,8,242,62,1,5,49,242,6,2,5,20,242,8, + 3,5,58,240,10,0,6,14,241,2,1,5,47,243,3,0, + 6,14,241,2,1,5,47,114,20,0,0,0,114,56,0,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,1,0, + 0,0,0,0,0,0,243,28,0,0,0,151,0,101,0,90, + 1,100,0,90,2,100,1,90,3,100,2,132,0,90,4,100, + 3,132,0,90,5,121,4,41,5,218,11,95,76,97,122,121, + 77,111,100,117,108,101,122,75,65,32,115,117,98,99,108,97, + 115,115,32,111,102,32,116,104,101,32,109,111,100,117,108,101, + 32,116,121,112,101,32,119,104,105,99,104,32,116,114,105,103, + 103,101,114,115,32,108,111,97,100,105,110,103,32,117,112,111, + 110,32,97,116,116,114,105,98,117,116,101,32,97,99,99,101, + 115,115,46,99,2,0,0,0,0,0,0,0,0,0,0,0, + 6,0,0,0,3,0,0,0,243,90,2,0,0,151,0,116, + 0,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,95, + 2,0,0,0,0,0,0,0,0,124,0,106,6,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,125,2,124,0,106,6,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,106,10,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 1,25,0,0,0,125,3,124,0,106,12,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,125,4,105, + 0,125,5,124,4,106,15,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,68,0,93,50,0,0,92,2,0,0,125,6,125,7,124, + 6,124,3,118,1,114,6,124,7,124,5,124,6,60,0,0, + 0,140,16,116,17,0,0,0,0,0,0,0,0,124,4,124, + 6,25,0,0,0,171,1,0,0,0,0,0,0,116,17,0, + 0,0,0,0,0,0,0,124,3,124,6,25,0,0,0,171, + 1,0,0,0,0,0,0,107,55,0,0,115,1,140,46,124, + 7,124,5,124,6,60,0,0,0,140,52,4,0,124,0,106, + 6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,18,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,21,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,1,0,124,2,116,22,0,0,0,0,0, + 0,0,0,106,24,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,118,0,114,55,116,17,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,116, + 17,0,0,0,0,0,0,0,0,116,22,0,0,0,0,0, + 0,0,0,106,24,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,2,25,0,0,0,171,1,0, + 0,0,0,0,0,107,55,0,0,114,15,116,27,0,0,0, + 0,0,0,0,0,100,2,124,2,155,2,100,3,157,3,171, + 1,0,0,0,0,0,0,130,1,124,0,106,12,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,5,171,1,0,0,0,0,0,0,1,0,116, + 31,0,0,0,0,0,0,0,0,124,0,124,1,171,2,0, + 0,0,0,0,0,83,0,41,4,122,56,84,114,105,103,103, + 101,114,32,116,104,101,32,108,111,97,100,32,111,102,32,116, + 104,101,32,109,111,100,117,108,101,32,97,110,100,32,114,101, + 116,117,114,110,32,116,104,101,32,97,116,116,114,105,98,117, + 116,101,46,218,8,95,95,100,105,99,116,95,95,122,18,109, + 111,100,117,108,101,32,111,98,106,101,99,116,32,102,111,114, + 32,122,46,32,115,117,98,115,116,105,116,117,116,101,100,32, + 105,110,32,115,121,115,46,109,111,100,117,108,101,115,32,100, + 117,114,105,110,103,32,97,32,108,97,122,121,32,108,111,97, + 100,41,16,218,5,116,121,112,101,115,218,10,77,111,100,117, + 108,101,84,121,112,101,218,9,95,95,99,108,97,115,115,95, + 95,114,36,0,0,0,114,26,0,0,0,218,12,108,111,97, + 100,101,114,95,115,116,97,116,101,114,83,0,0,0,218,5, + 105,116,101,109,115,218,2,105,100,218,6,108,111,97,100,101, + 114,218,11,101,120,101,99,95,109,111,100,117,108,101,114,34, + 0,0,0,114,35,0,0,0,114,37,0,0,0,218,6,117, + 112,100,97,116,101,218,7,103,101,116,97,116,116,114,41,8, + 114,61,0,0,0,218,4,97,116,116,114,218,13,111,114,105, + 103,105,110,97,108,95,110,97,109,101,218,10,97,116,116,114, + 115,95,116,104,101,110,218,9,97,116,116,114,115,95,110,111, + 119,218,13,97,116,116,114,115,95,117,112,100,97,116,101,100, + 218,3,107,101,121,218,5,118,97,108,117,101,115,8,0,0, + 0,32,32,32,32,32,32,32,32,114,19,0,0,0,218,16, + 95,95,103,101,116,97,116,116,114,105,98,117,116,101,95,95, + 122,28,95,76,97,122,121,77,111,100,117,108,101,46,95,95, + 103,101,116,97,116,116,114,105,98,117,116,101,95,95,172,0, + 0,0,115,27,1,0,0,128,0,244,10,0,26,31,215,25, + 41,209,25,41,136,4,140,14,240,6,0,25,29,159,13,153, + 13,215,24,42,209,24,42,136,13,240,6,0,22,26,151,93, + 145,93,215,21,47,209,21,47,176,10,209,21,59,136,10,216, + 20,24,151,77,145,77,136,9,216,24,26,136,13,216,26,35, + 159,47,153,47,211,26,43,242,0,6,9,43,137,74,136,67, + 144,21,240,6,0,16,19,152,42,209,15,36,216,37,42,144, + 13,152,99,210,16,34,220,17,19,144,73,152,99,145,78,211, + 17,35,164,114,168,42,176,83,169,47,211,39,58,211,17,58, + 216,37,42,144,13,152,99,210,16,34,240,13,6,9,43,240, + 14,0,9,13,143,13,137,13,215,8,28,209,8,28,215,8, + 40,209,8,40,168,20,212,8,46,240,6,0,12,25,156,67, + 159,75,153,75,209,11,39,220,15,17,144,36,139,120,156,50, + 156,99,159,107,153,107,168,45,209,30,56,211,27,57,210,15, + 57,220,22,32,208,35,53,176,109,208,53,70,240,0,2,71, + 1,41,240,0,2,34,41,243,0,2,23,42,240,0,2,17, + 42,240,10,0,9,13,143,13,137,13,215,8,28,209,8,28, + 152,93,212,8,43,220,15,22,144,116,152,84,211,15,34,208, + 8,34,114,20,0,0,0,99,2,0,0,0,0,0,0,0, + 0,0,0,0,4,0,0,0,3,0,0,0,243,62,0,0, + 0,151,0,124,0,106,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,1,171,1,0,0,0, + 0,0,0,1,0,116,3,0,0,0,0,0,0,0,0,124, + 0,124,1,171,2,0,0,0,0,0,0,1,0,121,1,41, + 2,122,47,84,114,105,103,103,101,114,32,116,104,101,32,108, + 111,97,100,32,97,110,100,32,116,104,101,110,32,112,101,114, + 102,111,114,109,32,116,104,101,32,100,101,108,101,116,105,111, + 110,46,78,41,2,114,101,0,0,0,218,7,100,101,108,97, + 116,116,114,41,2,114,61,0,0,0,114,94,0,0,0,115, + 2,0,0,0,32,32,114,19,0,0,0,218,11,95,95,100, + 101,108,97,116,116,114,95,95,122,23,95,76,97,122,121,77, + 111,100,117,108,101,46,95,95,100,101,108,97,116,116,114,95, + 95,206,0,0,0,115,28,0,0,0,128,0,240,8,0,9, + 13,215,8,29,209,8,29,152,100,212,8,35,220,8,15,144, + 4,144,100,213,8,27,114,20,0,0,0,78,41,6,114,74, + 0,0,0,114,75,0,0,0,114,76,0,0,0,114,77,0, + 0,0,114,101,0,0,0,114,104,0,0,0,114,79,0,0, + 0,114,20,0,0,0,114,19,0,0,0,114,81,0,0,0, + 114,81,0,0,0,168,0,0,0,115,16,0,0,0,132,0, + 225,4,85,242,4,32,5,35,243,68,1,5,5,28,114,20, + 0,0,0,114,81,0,0,0,99,0,0,0,0,0,0,0, + 0,0,0,0,0,2,0,0,0,0,0,0,0,243,66,0, + 0,0,151,0,101,0,90,1,100,0,90,2,100,1,90,3, + 101,4,100,2,132,0,171,0,0,0,0,0,0,0,90,5, + 101,6,100,3,132,0,171,0,0,0,0,0,0,0,90,7, + 100,4,132,0,90,8,100,5,132,0,90,9,100,6,132,0, + 90,10,121,7,41,8,218,10,76,97,122,121,76,111,97,100, + 101,114,122,75,65,32,108,111,97,100,101,114,32,116,104,97, + 116,32,99,114,101,97,116,101,115,32,97,32,109,111,100,117, + 108,101,32,119,104,105,99,104,32,100,101,102,101,114,115,32, + 108,111,97,100,105,110,103,32,117,110,116,105,108,32,97,116, + 116,114,105,98,117,116,101,32,97,99,99,101,115,115,46,99, + 1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,50,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,0,100,1,171,2,0,0,0,0,0, + 0,115,11,116,3,0,0,0,0,0,0,0,0,100,2,171, + 1,0,0,0,0,0,0,130,1,121,0,41,3,78,114,91, + 0,0,0,122,32,108,111,97,100,101,114,32,109,117,115,116, + 32,100,101,102,105,110,101,32,101,120,101,99,95,109,111,100, + 117,108,101,40,41,41,2,218,7,104,97,115,97,116,116,114, + 218,9,84,121,112,101,69,114,114,111,114,41,1,114,90,0, + 0,0,115,1,0,0,0,32,114,19,0,0,0,218,20,95, + 95,99,104,101,99,107,95,101,97,103,101,114,95,108,111,97, + 100,101,114,122,31,76,97,122,121,76,111,97,100,101,114,46, + 95,95,99,104,101,99,107,95,101,97,103,101,114,95,108,111, + 97,100,101,114,218,0,0,0,115,29,0,0,0,128,0,228, + 15,22,144,118,152,125,212,15,45,220,18,27,208,28,62,211, + 18,63,208,12,63,240,3,0,16,46,114,20,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,52,0,0,0,135,0,135,1,151,0,137, + 0,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,137,1,171,1,0,0,0,0,0,0,1, + 0,136,0,136,1,102,2,100,1,132,8,83,0,41,2,122, + 62,67,111,110,115,116,114,117,99,116,32,97,32,99,97,108, + 108,97,98,108,101,32,119,104,105,99,104,32,114,101,116,117, + 114,110,115,32,116,104,101,32,101,97,103,101,114,32,108,111, + 97,100,101,114,32,109,97,100,101,32,108,97,122,121,46,99, + 0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0, + 31,0,0,0,243,32,0,0,0,149,2,151,0,2,0,137, + 2,2,0,137,3,124,0,105,0,124,1,164,1,142,1,171, + 1,0,0,0,0,0,0,83,0,114,58,0,0,0,114,79, + 0,0,0,41,4,114,70,0,0,0,218,6,107,119,97,114, + 103,115,218,3,99,108,115,114,90,0,0,0,115,4,0,0, + 0,32,32,128,128,114,19,0,0,0,250,8,60,108,97,109, + 98,100,97,62,122,36,76,97,122,121,76,111,97,100,101,114, + 46,102,97,99,116,111,114,121,46,60,108,111,99,97,108,115, + 62,46,60,108,97,109,98,100,97,62,227,0,0,0,115,22, + 0,0,0,248,128,0,161,115,169,54,176,52,208,43,66,184, + 54,209,43,66,211,39,67,128,0,114,20,0,0,0,41,1, + 218,31,95,76,97,122,121,76,111,97,100,101,114,95,95,99, + 104,101,99,107,95,101,97,103,101,114,95,108,111,97,100,101, + 114,41,2,114,114,0,0,0,114,90,0,0,0,115,2,0, + 0,0,96,96,114,19,0,0,0,218,7,102,97,99,116,111, + 114,121,122,18,76,97,122,121,76,111,97,100,101,114,46,102, + 97,99,116,111,114,121,223,0,0,0,115,25,0,0,0,249, + 128,0,240,6,0,9,12,215,8,32,209,8,32,160,22,212, + 8,40,220,15,67,208,8,67,114,20,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0, + 0,0,243,52,0,0,0,151,0,124,0,106,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 1,171,1,0,0,0,0,0,0,1,0,124,1,124,0,95, + 1,0,0,0,0,0,0,0,0,121,0,114,58,0,0,0, + 41,2,114,116,0,0,0,114,90,0,0,0,41,2,114,61, + 0,0,0,114,90,0,0,0,115,2,0,0,0,32,32,114, + 19,0,0,0,114,62,0,0,0,122,19,76,97,122,121,76, + 111,97,100,101,114,46,95,95,105,110,105,116,95,95,229,0, + 0,0,115,23,0,0,0,128,0,216,8,12,215,8,33,209, + 8,33,160,38,212,8,41,216,22,28,136,4,141,11,114,20, + 0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,0, + 3,0,0,0,3,0,0,0,243,56,0,0,0,151,0,124, + 0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,106,3,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,1,171,1,0,0,0, + 0,0,0,83,0,114,58,0,0,0,41,2,114,90,0,0, + 0,218,13,99,114,101,97,116,101,95,109,111,100,117,108,101, + 41,2,114,61,0,0,0,114,41,0,0,0,115,2,0,0, + 0,32,32,114,19,0,0,0,114,120,0,0,0,122,24,76, + 97,122,121,76,111,97,100,101,114,46,99,114,101,97,116,101, + 95,109,111,100,117,108,101,233,0,0,0,115,23,0,0,0, + 128,0,216,15,19,143,123,137,123,215,15,40,209,15,40,168, + 20,211,15,46,208,8,46,114,20,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0, + 0,243,240,0,0,0,151,0,124,0,106,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,95,0,0,0,0,0,0,0,0,0,124,0, + 106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,95,2,0,0,0,0,0,0,0,0, + 105,0,125,2,124,1,106,6,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,106,9,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,124,2,100,1,60,0,0,0,124,1, + 106,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,2,100,2,60,0,0,0,124,2,124,1, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,95,6,0,0,0,0,0,0,0,0,116,14, + 0,0,0,0,0,0,0,0,124,1,95,5,0,0,0,0, + 0,0,0,0,121,3,41,4,122,28,77,97,107,101,32,116, + 104,101,32,109,111,100,117,108,101,32,108,111,97,100,32,108, + 97,122,105,108,121,46,114,83,0,0,0,114,86,0,0,0, + 78,41,8,114,90,0,0,0,114,36,0,0,0,218,10,95, + 95,108,111,97,100,101,114,95,95,114,83,0,0,0,218,4, + 99,111,112,121,114,86,0,0,0,114,87,0,0,0,114,81, + 0,0,0,41,3,114,61,0,0,0,114,40,0,0,0,114, + 87,0,0,0,115,3,0,0,0,32,32,32,114,19,0,0, + 0,114,91,0,0,0,122,22,76,97,122,121,76,111,97,100, + 101,114,46,101,120,101,99,95,109,111,100,117,108,101,236,0, + 0,0,115,96,0,0,0,128,0,224,33,37,167,27,161,27, + 136,6,143,15,137,15,212,8,30,216,28,32,159,75,153,75, + 136,6,212,8,25,240,10,0,24,26,136,12,216,35,41,167, + 63,161,63,215,35,55,209,35,55,211,35,57,136,12,144,90, + 209,8,32,216,36,42,215,36,52,209,36,52,136,12,144,91, + 209,8,33,216,39,51,136,6,143,15,137,15,212,8,36,220, + 27,38,136,6,213,8,24,114,20,0,0,0,78,41,11,114, + 74,0,0,0,114,75,0,0,0,114,76,0,0,0,114,77, + 0,0,0,218,12,115,116,97,116,105,99,109,101,116,104,111, + 100,114,116,0,0,0,218,11,99,108,97,115,115,109,101,116, + 104,111,100,114,117,0,0,0,114,62,0,0,0,114,120,0, + 0,0,114,91,0,0,0,114,79,0,0,0,114,20,0,0, + 0,114,19,0,0,0,114,106,0,0,0,114,106,0,0,0, + 214,0,0,0,115,62,0,0,0,132,0,225,4,85,224,5, + 17,241,2,2,5,64,1,243,3,0,6,18,240,2,2,5, + 64,1,240,8,0,6,17,241,2,3,5,68,1,243,3,0, + 6,17,240,2,3,5,68,1,242,10,2,5,29,242,8,1, + 5,47,243,6,12,5,39,114,20,0,0,0,114,106,0,0, + 0,114,58,0,0,0,41,26,114,77,0,0,0,218,4,95, + 97,98,99,114,3,0,0,0,218,10,95,98,111,111,116,115, + 116,114,97,112,114,4,0,0,0,114,5,0,0,0,114,6, + 0,0,0,114,7,0,0,0,218,19,95,98,111,111,116,115, + 116,114,97,112,95,101,120,116,101,114,110,97,108,114,8,0, + 0,0,114,9,0,0,0,114,10,0,0,0,114,11,0,0, + 0,114,12,0,0,0,114,13,0,0,0,114,16,0,0,0, + 114,34,0,0,0,114,84,0,0,0,114,17,0,0,0,114, + 30,0,0,0,114,42,0,0,0,114,54,0,0,0,114,56, + 0,0,0,114,85,0,0,0,114,81,0,0,0,114,106,0, + 0,0,114,79,0,0,0,114,20,0,0,0,114,19,0,0, + 0,250,8,60,109,111,100,117,108,101,62,114,129,0,0,0, + 1,0,0,0,115,113,0,0,0,240,3,1,1,1,217,0, + 51,221,0,24,221,0,40,221,0,37,221,0,40,221,0,34, + 221,0,45,221,0,50,221,0,50,221,0,46,221,0,50,221, + 0,56,227,0,11,219,0,10,219,0,12,242,6,2,1,61, + 242,10,12,1,55,243,30,28,1,24,243,62,42,1,24,247, + 98,1,46,1,47,241,0,46,1,47,244,98,1,43,1,28, + 144,37,215,18,34,209,18,34,244,0,43,1,28,244,92,1, + 34,1,39,144,22,245,0,34,1,39,114,20,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/io.h b/contrib/tools/python3/src/Python/frozen_modules/io.h new file mode 100644 index 00000000000..a0c9f67c889 --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/io.h @@ -0,0 +1,260 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__io[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0, + 0,0,0,0,0,243,32,2,0,0,151,0,100,0,90,0, + 100,1,90,1,103,0,100,2,162,1,90,2,100,3,100,4, + 108,3,90,3,100,3,100,4,108,4,90,4,100,3,100,5, + 108,3,109,5,90,5,109,6,90,6,109,7,90,7,109,8, + 90,8,109,9,90,9,109,10,90,10,109,11,90,11,109,12, + 90,12,109,13,90,13,109,14,90,14,109,15,90,15,109,16, + 90,16,109,17,90,17,109,18,90,18,109,19,90,19,1,0, + 100,6,101,7,95,20,0,0,0,0,0,0,0,0,100,3, + 90,21,100,7,90,22,100,8,90,23,2,0,71,0,100,9, + 132,0,100,10,101,3,106,48,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,101,4,106,50,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 172,11,171,4,0,0,0,0,0,0,90,26,2,0,71,0, + 100,12,132,0,100,13,101,3,106,54,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,101,26,171,4, + 0,0,0,0,0,0,90,28,2,0,71,0,100,14,132,0, + 100,15,101,3,106,58,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,101,26,171,4,0,0,0,0, + 0,0,90,30,2,0,71,0,100,16,132,0,100,17,101,3, + 106,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,101,26,171,4,0,0,0,0,0,0,90,32, + 101,28,106,67,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,101,10,171,1,0,0,0,0,0,0, + 1,0,101,11,101,13,101,14,101,16,101,15,102,5,68,0, + 93,19,0,0,90,34,101,30,106,67,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,101,34,171,1, + 0,0,0,0,0,0,1,0,140,21,4,0,101,12,101,19, + 102,2,68,0,93,19,0,0,90,34,101,32,106,67,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 101,34,171,1,0,0,0,0,0,0,1,0,140,21,4,0, + 91,34,9,0,100,3,100,18,108,3,109,35,90,35,1,0, + 101,28,106,67,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,101,35,171,1,0,0,0,0,0,0, + 1,0,121,4,35,0,101,36,36,0,114,3,1,0,89,0, + 121,4,119,0,120,3,89,0,119,1,41,19,97,193,5,0, + 0,84,104,101,32,105,111,32,109,111,100,117,108,101,32,112, + 114,111,118,105,100,101,115,32,116,104,101,32,80,121,116,104, + 111,110,32,105,110,116,101,114,102,97,99,101,115,32,116,111, + 32,115,116,114,101,97,109,32,104,97,110,100,108,105,110,103, + 46,32,84,104,101,10,98,117,105,108,116,105,110,32,111,112, + 101,110,32,102,117,110,99,116,105,111,110,32,105,115,32,100, + 101,102,105,110,101,100,32,105,110,32,116,104,105,115,32,109, + 111,100,117,108,101,46,10,10,65,116,32,116,104,101,32,116, + 111,112,32,111,102,32,116,104,101,32,73,47,79,32,104,105, + 101,114,97,114,99,104,121,32,105,115,32,116,104,101,32,97, + 98,115,116,114,97,99,116,32,98,97,115,101,32,99,108,97, + 115,115,32,73,79,66,97,115,101,46,32,73,116,10,100,101, + 102,105,110,101,115,32,116,104,101,32,98,97,115,105,99,32, + 105,110,116,101,114,102,97,99,101,32,116,111,32,97,32,115, + 116,114,101,97,109,46,32,78,111,116,101,44,32,104,111,119, + 101,118,101,114,44,32,116,104,97,116,32,116,104,101,114,101, + 32,105,115,32,110,111,10,115,101,112,97,114,97,116,105,111, + 110,32,98,101,116,119,101,101,110,32,114,101,97,100,105,110, + 103,32,97,110,100,32,119,114,105,116,105,110,103,32,116,111, + 32,115,116,114,101,97,109,115,59,32,105,109,112,108,101,109, + 101,110,116,97,116,105,111,110,115,32,97,114,101,10,97,108, + 108,111,119,101,100,32,116,111,32,114,97,105,115,101,32,97, + 110,32,79,83,69,114,114,111,114,32,105,102,32,116,104,101, + 121,32,100,111,32,110,111,116,32,115,117,112,112,111,114,116, + 32,97,32,103,105,118,101,110,32,111,112,101,114,97,116,105, + 111,110,46,10,10,69,120,116,101,110,100,105,110,103,32,73, + 79,66,97,115,101,32,105,115,32,82,97,119,73,79,66,97, + 115,101,32,119,104,105,99,104,32,100,101,97,108,115,32,115, + 105,109,112,108,121,32,119,105,116,104,32,116,104,101,32,114, + 101,97,100,105,110,103,32,97,110,100,10,119,114,105,116,105, + 110,103,32,111,102,32,114,97,119,32,98,121,116,101,115,32, + 116,111,32,97,32,115,116,114,101,97,109,46,32,70,105,108, + 101,73,79,32,115,117,98,99,108,97,115,115,101,115,32,82, + 97,119,73,79,66,97,115,101,32,116,111,32,112,114,111,118, + 105,100,101,10,97,110,32,105,110,116,101,114,102,97,99,101, + 32,116,111,32,79,83,32,102,105,108,101,115,46,10,10,66, + 117,102,102,101,114,101,100,73,79,66,97,115,101,32,100,101, + 97,108,115,32,119,105,116,104,32,98,117,102,102,101,114,105, + 110,103,32,111,110,32,97,32,114,97,119,32,98,121,116,101, + 32,115,116,114,101,97,109,32,40,82,97,119,73,79,66,97, + 115,101,41,46,32,73,116,115,10,115,117,98,99,108,97,115, + 115,101,115,44,32,66,117,102,102,101,114,101,100,87,114,105, + 116,101,114,44,32,66,117,102,102,101,114,101,100,82,101,97, + 100,101,114,44,32,97,110,100,32,66,117,102,102,101,114,101, + 100,82,87,80,97,105,114,32,98,117,102,102,101,114,10,115, + 116,114,101,97,109,115,32,116,104,97,116,32,97,114,101,32, + 114,101,97,100,97,98,108,101,44,32,119,114,105,116,97,98, + 108,101,44,32,97,110,100,32,98,111,116,104,32,114,101,115, + 112,101,99,116,105,118,101,108,121,46,10,66,117,102,102,101, + 114,101,100,82,97,110,100,111,109,32,112,114,111,118,105,100, + 101,115,32,97,32,98,117,102,102,101,114,101,100,32,105,110, + 116,101,114,102,97,99,101,32,116,111,32,114,97,110,100,111, + 109,32,97,99,99,101,115,115,10,115,116,114,101,97,109,115, + 46,32,66,121,116,101,115,73,79,32,105,115,32,97,32,115, + 105,109,112,108,101,32,115,116,114,101,97,109,32,111,102,32, + 105,110,45,109,101,109,111,114,121,32,98,121,116,101,115,46, + 10,10,65,110,111,116,104,101,114,32,73,79,66,97,115,101, + 32,115,117,98,99,108,97,115,115,44,32,84,101,120,116,73, + 79,66,97,115,101,44,32,100,101,97,108,115,32,119,105,116, + 104,32,116,104,101,32,101,110,99,111,100,105,110,103,32,97, + 110,100,32,100,101,99,111,100,105,110,103,10,111,102,32,115, + 116,114,101,97,109,115,32,105,110,116,111,32,116,101,120,116, + 46,32,84,101,120,116,73,79,87,114,97,112,112,101,114,44, + 32,119,104,105,99,104,32,101,120,116,101,110,100,115,32,105, + 116,44,32,105,115,32,97,32,98,117,102,102,101,114,101,100, + 32,116,101,120,116,10,105,110,116,101,114,102,97,99,101,32, + 116,111,32,97,32,98,117,102,102,101,114,101,100,32,114,97, + 119,32,115,116,114,101,97,109,32,40,96,66,117,102,102,101, + 114,101,100,73,79,66,97,115,101,96,41,46,32,70,105,110, + 97,108,108,121,44,32,83,116,114,105,110,103,73,79,10,105, + 115,32,97,110,32,105,110,45,109,101,109,111,114,121,32,115, + 116,114,101,97,109,32,102,111,114,32,116,101,120,116,46,10, + 10,65,114,103,117,109,101,110,116,32,110,97,109,101,115,32, + 97,114,101,32,110,111,116,32,112,97,114,116,32,111,102,32, + 116,104,101,32,115,112,101,99,105,102,105,99,97,116,105,111, + 110,44,32,97,110,100,32,111,110,108,121,32,116,104,101,32, + 97,114,103,117,109,101,110,116,115,10,111,102,32,111,112,101, + 110,40,41,32,97,114,101,32,105,110,116,101,110,100,101,100, + 32,116,111,32,98,101,32,117,115,101,100,32,97,115,32,107, + 101,121,119,111,114,100,32,97,114,103,117,109,101,110,116,115, + 46,10,10,100,97,116,97,58,10,10,68,69,70,65,85,76, + 84,95,66,85,70,70,69,82,95,83,73,90,69,10,10,32, + 32,32,65,110,32,105,110,116,32,99,111,110,116,97,105,110, + 105,110,103,32,116,104,101,32,100,101,102,97,117,108,116,32, + 98,117,102,102,101,114,32,115,105,122,101,32,117,115,101,100, + 32,98,121,32,116,104,101,32,109,111,100,117,108,101,39,115, + 32,98,117,102,102,101,114,101,100,10,32,32,32,73,47,79, + 32,99,108,97,115,115,101,115,46,32,111,112,101,110,40,41, + 32,117,115,101,115,32,116,104,101,32,102,105,108,101,39,115, + 32,98,108,107,115,105,122,101,32,40,97,115,32,111,98,116, + 97,105,110,101,100,32,98,121,32,111,115,46,115,116,97,116, + 41,32,105,102,10,32,32,32,112,111,115,115,105,98,108,101, + 46,10,122,235,71,117,105,100,111,32,118,97,110,32,82,111, + 115,115,117,109,32,60,103,117,105,100,111,64,112,121,116,104, + 111,110,46,111,114,103,62,44,32,77,105,107,101,32,86,101, + 114,100,111,110,101,32,60,109,105,107,101,46,118,101,114,100, + 111,110,101,64,103,109,97,105,108,46,99,111,109,62,44,32, + 77,97,114,107,32,82,117,115,115,101,108,108,32,60,109,97, + 114,107,46,114,117,115,115,101,108,108,64,122,101,110,46,99, + 111,46,117,107,62,44,32,65,110,116,111,105,110,101,32,80, + 105,116,114,111,117,32,60,115,111,108,105,112,115,105,115,64, + 112,105,116,114,111,117,46,110,101,116,62,44,32,65,109,97, + 117,114,121,32,70,111,114,103,101,111,116,32,100,39,65,114, + 99,32,60,97,109,97,117,114,121,102,97,64,103,109,97,105, + 108,46,99,111,109,62,44,32,66,101,110,106,97,109,105,110, + 32,80,101,116,101,114,115,111,110,32,60,98,101,110,106,97, + 109,105,110,64,112,121,116,104,111,110,46,111,114,103,62,41, + 22,218,15,66,108,111,99,107,105,110,103,73,79,69,114,114, + 111,114,218,4,111,112,101,110,218,9,111,112,101,110,95,99, + 111,100,101,218,6,73,79,66,97,115,101,218,9,82,97,119, + 73,79,66,97,115,101,218,6,70,105,108,101,73,79,218,7, + 66,121,116,101,115,73,79,218,8,83,116,114,105,110,103,73, + 79,218,14,66,117,102,102,101,114,101,100,73,79,66,97,115, + 101,218,14,66,117,102,102,101,114,101,100,82,101,97,100,101, + 114,218,14,66,117,102,102,101,114,101,100,87,114,105,116,101, + 114,218,14,66,117,102,102,101,114,101,100,82,87,80,97,105, + 114,218,14,66,117,102,102,101,114,101,100,82,97,110,100,111, + 109,218,10,84,101,120,116,73,79,66,97,115,101,218,13,84, + 101,120,116,73,79,87,114,97,112,112,101,114,218,20,85,110, + 115,117,112,112,111,114,116,101,100,79,112,101,114,97,116,105, + 111,110,218,8,83,69,69,75,95,83,69,84,218,8,83,69, + 69,75,95,67,85,82,218,8,83,69,69,75,95,69,78,68, + 218,19,68,69,70,65,85,76,84,95,66,85,70,70,69,82, + 95,83,73,90,69,218,13,116,101,120,116,95,101,110,99,111, + 100,105,110,103,218,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,233, + 0,0,0,0,78,41,15,114,21,0,0,0,114,2,0,0, + 0,114,17,0,0,0,114,3,0,0,0,114,4,0,0,0, + 114,7,0,0,0,114,8,0,0,0,114,9,0,0,0,114, + 11,0,0,0,114,12,0,0,0,114,13,0,0,0,114,14, + 0,0,0,114,23,0,0,0,114,22,0,0,0,114,16,0, + 0,0,218,2,105,111,233,1,0,0,0,233,2,0,0,0, + 99,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, + 0,0,0,0,0,243,56,0,0,0,151,0,101,0,90,1, + 100,0,90,2,101,3,106,8,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,106,10,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,5, + 121,1,41,2,114,5,0,0,0,78,41,6,218,8,95,95, + 110,97,109,101,95,95,218,10,95,95,109,111,100,117,108,101, + 95,95,218,12,95,95,113,117,97,108,110,97,109,101,95,95, + 218,3,95,105,111,218,7,95,73,79,66,97,115,101,218,7, + 95,95,100,111,99,95,95,169,0,243,0,0,0,0,250,11, + 60,102,114,111,122,101,110,32,105,111,62,114,5,0,0,0, + 114,5,0,0,0,72,0,0,0,115,17,0,0,0,132,0, + 216,14,17,143,107,137,107,215,14,33,209,14,33,129,71,114, + 36,0,0,0,114,5,0,0,0,41,1,218,9,109,101,116, + 97,99,108,97,115,115,99,0,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,0,0,0,0,243,56,0,0,0, + 151,0,101,0,90,1,100,0,90,2,101,3,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,90,5,121,1,41,2,114,6,0,0,0,78, + 41,6,114,29,0,0,0,114,30,0,0,0,114,31,0,0, + 0,114,32,0,0,0,218,10,95,82,97,119,73,79,66,97, + 115,101,114,34,0,0,0,114,35,0,0,0,114,36,0,0, + 0,114,37,0,0,0,114,6,0,0,0,114,6,0,0,0, + 75,0,0,0,115,17,0,0,0,132,0,216,14,17,143,110, + 137,110,215,14,36,209,14,36,129,71,114,36,0,0,0,114, + 6,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0, + 0,1,0,0,0,0,0,0,0,243,56,0,0,0,151,0, + 101,0,90,1,100,0,90,2,101,3,106,8,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,10, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,90,5,121,1,41,2,114,10,0,0,0,78,41,6, + 114,29,0,0,0,114,30,0,0,0,114,31,0,0,0,114, + 32,0,0,0,218,15,95,66,117,102,102,101,114,101,100,73, + 79,66,97,115,101,114,34,0,0,0,114,35,0,0,0,114, + 36,0,0,0,114,37,0,0,0,114,10,0,0,0,114,10, + 0,0,0,78,0,0,0,115,19,0,0,0,132,0,216,14, + 17,215,14,33,209,14,33,215,14,41,209,14,41,129,71,114, + 36,0,0,0,114,10,0,0,0,99,0,0,0,0,0,0, + 0,0,0,0,0,0,1,0,0,0,0,0,0,0,243,56, + 0,0,0,151,0,101,0,90,1,100,0,90,2,101,3,106, + 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,10,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,90,5,121,1,41,2,114,15,0, + 0,0,78,41,6,114,29,0,0,0,114,30,0,0,0,114, + 31,0,0,0,114,32,0,0,0,218,11,95,84,101,120,116, + 73,79,66,97,115,101,114,34,0,0,0,114,35,0,0,0, + 114,36,0,0,0,114,37,0,0,0,114,15,0,0,0,114, + 15,0,0,0,81,0,0,0,115,17,0,0,0,132,0,216, + 14,17,143,111,137,111,215,14,37,209,14,37,129,71,114,36, + 0,0,0,114,15,0,0,0,41,1,218,17,95,87,105,110, + 100,111,119,115,67,111,110,115,111,108,101,73,79,41,37,114, + 34,0,0,0,218,10,95,95,97,117,116,104,111,114,95,95, + 218,7,95,95,97,108,108,95,95,114,32,0,0,0,218,3, + 97,98,99,114,21,0,0,0,114,2,0,0,0,114,17,0, + 0,0,114,3,0,0,0,114,4,0,0,0,114,7,0,0, + 0,114,8,0,0,0,114,9,0,0,0,114,11,0,0,0, + 114,12,0,0,0,114,13,0,0,0,114,14,0,0,0,114, + 23,0,0,0,114,22,0,0,0,114,16,0,0,0,114,30, + 0,0,0,114,18,0,0,0,114,19,0,0,0,114,20,0, + 0,0,114,33,0,0,0,218,7,65,66,67,77,101,116,97, + 114,5,0,0,0,114,40,0,0,0,114,6,0,0,0,114, + 42,0,0,0,114,10,0,0,0,114,44,0,0,0,114,15, + 0,0,0,218,8,114,101,103,105,115,116,101,114,218,5,107, + 108,97,115,115,114,45,0,0,0,218,11,73,109,112,111,114, + 116,69,114,114,111,114,114,35,0,0,0,114,36,0,0,0, + 114,37,0,0,0,250,8,60,109,111,100,117,108,101,62,114, + 53,0,0,0,1,0,0,0,115,57,1,0,0,240,3,1, + 1,1,241,2,33,1,4,240,72,1,5,15,56,128,10,242, + 14,5,11,80,1,128,7,243,16,0,1,11,219,0,10,247, + 4,3,1,74,1,247,0,3,1,74,1,247,0,3,1,74, + 1,247,0,3,1,74,1,241,0,3,1,74,1,240,14,0, + 35,39,208,0,20,212,0,31,240,6,0,12,13,128,8,216, + 11,12,128,8,216,11,12,128,8,244,10,1,1,34,136,83, + 143,91,137,91,160,67,167,75,161,75,245,0,1,1,34,244, + 6,1,1,37,144,3,151,14,145,14,160,6,244,0,1,1, + 37,244,6,1,1,42,144,83,215,21,40,209,21,40,168,38, + 244,0,1,1,42,244,6,1,1,38,144,19,151,31,145,31, + 160,38,244,0,1,1,38,240,6,0,1,10,215,0,18,209, + 0,18,144,54,212,0,26,224,14,21,144,126,160,126,176,126, + 216,14,28,240,3,1,14,30,242,0,2,1,35,128,69,224, + 4,18,215,4,27,209,4,27,152,69,213,4,34,240,5,2, + 1,35,240,8,0,15,23,152,13,208,13,38,242,0,1,1, + 31,128,69,216,4,14,215,4,23,209,4,23,152,5,213,4, + 30,240,3,1,1,31,224,4,9,240,4,5,1,42,221,4, + 37,240,8,0,5,14,215,4,22,209,4,22,208,23,40,213, + 4,41,248,240,7,0,8,19,242,0,1,1,9,217,4,8, + 240,3,1,1,9,250,115,18,0,0,0,195,45,6,68,5, + 0,196,5,5,68,13,3,196,12,1,68,13,3, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/ntpath.h b/contrib/tools/python3/src/Python/frozen_modules/ntpath.h new file mode 100644 index 00000000000..ce208ace9e1 --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/ntpath.h @@ -0,0 +1,1695 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__ntpath[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,0,0,0,0,243,164,2,0,0,151,0,100,0,90,0, + 100,1,90,1,100,2,90,2,100,1,90,3,100,3,90,4, + 100,4,90,5,100,5,90,6,100,6,90,7,100,7,90,8, + 100,8,100,9,108,9,90,9,100,8,100,9,108,10,90,10, + 100,8,100,9,108,11,90,11,100,8,100,9,108,12,90,12, + 100,8,100,10,108,12,173,2,1,0,103,0,100,11,162,1, + 90,13,100,12,132,0,90,14,9,0,100,8,100,13,108,15, + 109,16,90,17,109,18,90,19,109,20,90,21,1,0,100,14, + 132,0,90,22,100,16,132,0,90,24,100,17,132,0,90,25, + 100,18,132,0,90,26,100,19,132,0,90,27,100,20,132,0, + 90,28,100,21,132,0,90,29,101,12,106,60,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,101,29,95,0,0,0,0,0,0,0,0,0,100,22, + 132,0,90,31,100,23,132,0,90,32,2,0,101,33,101,9, + 106,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,24,171,2,0,0,0,0,0,0,114,4, + 100,25,132,0,90,35,110,3,100,26,132,0,90,35,100,27, + 132,0,90,36,9,0,100,8,100,28,108,37,109,38,90,38, + 1,0,100,29,132,0,90,39,100,30,132,0,90,40,100,31, + 132,0,90,41,9,0,100,8,100,32,108,37,109,42,90,42, + 1,0,100,33,132,0,90,43,100,35,132,0,90,44,9,0, + 100,8,100,36,108,37,109,45,90,45,1,0,100,37,132,0, + 90,46,9,0,100,8,100,38,108,37,109,47,90,47,109,48, + 90,49,1,0,100,39,132,0,90,50,100,40,132,0,90,51, + 100,41,100,42,156,1,100,43,132,2,90,52,100,44,90,53, + 100,54,100,45,132,1,90,54,100,46,132,0,90,55,9,0, + 100,8,100,47,108,37,109,56,90,57,1,0,100,8,100,48, + 108,37,109,58,90,59,1,0,100,8,100,49,108,37,109,60, + 90,61,1,0,100,8,100,50,108,37,109,62,90,63,1,0, + 9,0,100,8,100,51,108,37,109,64,90,64,1,0,100,52, + 132,0,90,65,121,9,35,0,101,23,36,0,114,6,1,0, + 100,15,132,0,90,22,89,0,140,195,119,0,120,3,89,0, + 119,1,35,0,101,23,36,0,114,5,1,0,100,9,90,38, + 89,0,140,121,119,0,120,3,89,0,119,1,35,0,101,23, + 36,0,114,6,1,0,100,34,132,0,90,43,89,0,140,116, + 119,0,120,3,89,0,119,1,35,0,101,23,36,0,114,5, + 1,0,101,44,90,46,89,0,140,116,119,0,120,3,89,0, + 119,1,35,0,101,23,36,0,114,5,1,0,101,46,90,52, + 89,0,140,108,119,0,120,3,89,0,119,1,35,0,101,23, + 36,0,114,3,1,0,89,0,140,85,119,0,120,3,89,0, + 119,1,35,0,101,23,36,0,114,6,1,0,100,53,132,0, + 90,65,89,0,121,9,119,0,120,3,89,0,119,1,41,55, + 122,144,67,111,109,109,111,110,32,112,97,116,104,110,97,109, + 101,32,109,97,110,105,112,117,108,97,116,105,111,110,115,44, + 32,87,105,110,100,111,119,115,78,84,47,57,53,32,118,101, + 114,115,105,111,110,46,10,10,73,110,115,116,101,97,100,32, + 111,102,32,105,109,112,111,114,116,105,110,103,32,116,104,105, + 115,32,109,111,100,117,108,101,32,100,105,114,101,99,116,108, + 121,44,32,105,109,112,111,114,116,32,111,115,32,97,110,100, + 32,114,101,102,101,114,32,116,111,32,116,104,105,115,10,109, + 111,100,117,108,101,32,97,115,32,111,115,46,112,97,116,104, + 46,10,250,1,46,250,2,46,46,250,1,92,250,1,59,250, + 1,47,122,8,46,59,67,58,92,98,105,110,218,3,110,117, + 108,233,0,0,0,0,78,41,1,218,1,42,41,40,218,8, + 110,111,114,109,99,97,115,101,218,5,105,115,97,98,115,218, + 4,106,111,105,110,218,10,115,112,108,105,116,100,114,105,118, + 101,218,9,115,112,108,105,116,114,111,111,116,218,5,115,112, + 108,105,116,218,8,115,112,108,105,116,101,120,116,218,8,98, + 97,115,101,110,97,109,101,218,7,100,105,114,110,97,109,101, + 218,12,99,111,109,109,111,110,112,114,101,102,105,120,218,7, + 103,101,116,115,105,122,101,218,8,103,101,116,109,116,105,109, + 101,218,8,103,101,116,97,116,105,109,101,218,8,103,101,116, + 99,116,105,109,101,218,6,105,115,108,105,110,107,218,6,101, + 120,105,115,116,115,218,7,108,101,120,105,115,116,115,218,5, + 105,115,100,105,114,218,6,105,115,102,105,108,101,218,7,105, + 115,109,111,117,110,116,218,10,101,120,112,97,110,100,117,115, + 101,114,218,10,101,120,112,97,110,100,118,97,114,115,218,8, + 110,111,114,109,112,97,116,104,218,7,97,98,115,112,97,116, + 104,218,6,99,117,114,100,105,114,218,6,112,97,114,100,105, + 114,218,3,115,101,112,218,7,112,97,116,104,115,101,112,218, + 7,100,101,102,112,97,116,104,218,6,97,108,116,115,101,112, + 218,6,101,120,116,115,101,112,218,7,100,101,118,110,117,108, + 108,218,8,114,101,97,108,112,97,116,104,218,26,115,117,112, + 112,111,114,116,115,95,117,110,105,99,111,100,101,95,102,105, + 108,101,110,97,109,101,115,218,7,114,101,108,112,97,116,104, + 218,8,115,97,109,101,102,105,108,101,218,12,115,97,109,101, + 111,112,101,110,102,105,108,101,218,8,115,97,109,101,115,116, + 97,116,218,10,99,111,109,109,111,110,112,97,116,104,218,10, + 105,115,106,117,110,99,116,105,111,110,99,1,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243, + 38,0,0,0,151,0,116,1,0,0,0,0,0,0,0,0, + 124,0,116,2,0,0,0,0,0,0,0,0,171,2,0,0, + 0,0,0,0,114,1,121,1,121,2,41,3,78,243,2,0, + 0,0,92,47,250,2,92,47,41,2,218,10,105,115,105,110, + 115,116,97,110,99,101,218,5,98,121,116,101,115,169,1,218, + 4,112,97,116,104,115,1,0,0,0,32,250,15,60,102,114, + 111,122,101,110,32,110,116,112,97,116,104,62,218,13,95,103, + 101,116,95,98,111,116,104,115,101,112,115,114,58,0,0,0, + 35,0,0,0,115,18,0,0,0,128,0,220,7,17,144,36, + 156,5,212,7,30,216,15,21,224,15,20,243,0,0,0,0, + 41,3,218,13,76,67,77,97,112,83,116,114,105,110,103,69, + 120,218,21,76,79,67,65,76,69,95,78,65,77,69,95,73, + 78,86,65,82,73,65,78,84,218,15,76,67,77,65,80,95, + 76,79,87,69,82,67,65,83,69,99,1,0,0,0,0,0, + 0,0,0,0,0,0,8,0,0,0,3,0,0,0,243,88, + 1,0,0,151,0,116,1,0,0,0,0,0,0,0,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,125,0,124, + 0,115,2,124,0,83,0,116,5,0,0,0,0,0,0,0, + 0,124,0,116,6,0,0,0,0,0,0,0,0,171,2,0, + 0,0,0,0,0,114,93,116,9,0,0,0,0,0,0,0, + 0,106,10,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,125,1,124, + 0,106,13,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,1,100,1,171,2,0,0,0,0,0, + 0,106,15,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,2,100,3,171,2,0,0,0,0,0, + 0,125,0,116,17,0,0,0,0,0,0,0,0,116,18,0, + 0,0,0,0,0,0,0,116,20,0,0,0,0,0,0,0, + 0,124,0,171,3,0,0,0,0,0,0,125,0,124,0,106, + 23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,100,1,171,2,0,0,0,0,0,0,83, + 0,116,17,0,0,0,0,0,0,0,0,116,18,0,0,0, + 0,0,0,0,0,116,20,0,0,0,0,0,0,0,0,124, + 0,106,15,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,2,100,3,171,2,0,0,0,0,0, + 0,171,3,0,0,0,0,0,0,83,0,41,4,250,110,78, + 111,114,109,97,108,105,122,101,32,99,97,115,101,32,111,102, + 32,112,97,116,104,110,97,109,101,46,10,10,32,32,32,32, + 32,32,32,32,77,97,107,101,115,32,97,108,108,32,99,104, + 97,114,97,99,116,101,114,115,32,108,111,119,101,114,99,97, + 115,101,32,97,110,100,32,97,108,108,32,115,108,97,115,104, + 101,115,32,105,110,116,111,32,98,97,99,107,115,108,97,115, + 104,101,115,46,10,32,32,32,32,32,32,32,32,218,15,115, + 117,114,114,111,103,97,116,101,101,115,99,97,112,101,114,6, + 0,0,0,114,4,0,0,0,41,12,218,2,111,115,218,6, + 102,115,112,97,116,104,114,53,0,0,0,114,54,0,0,0, + 218,3,115,121,115,218,21,103,101,116,102,105,108,101,115,121, + 115,116,101,109,101,110,99,111,100,105,110,103,218,6,100,101, + 99,111,100,101,218,7,114,101,112,108,97,99,101,218,14,95, + 76,67,77,97,112,83,116,114,105,110,103,69,120,218,22,95, + 76,79,67,65,76,69,95,78,65,77,69,95,73,78,86,65, + 82,73,65,78,84,218,16,95,76,67,77,65,80,95,76,79, + 87,69,82,67,65,83,69,218,6,101,110,99,111,100,101,41, + 2,218,1,115,218,8,101,110,99,111,100,105,110,103,115,2, + 0,0,0,32,32,114,57,0,0,0,114,10,0,0,0,114, + 10,0,0,0,51,0,0,0,115,148,0,0,0,128,0,244, + 10,0,13,15,143,73,137,73,144,97,139,76,136,1,217,15, + 16,216,19,20,136,72,220,11,21,144,97,156,21,212,11,31, + 220,23,26,215,23,48,209,23,48,211,23,50,136,72,216,16, + 17,151,8,145,8,152,24,208,35,52,211,16,53,215,16,61, + 209,16,61,184,99,192,52,211,16,72,136,65,220,16,30,212, + 31,53,220,31,47,176,17,243,3,1,17,52,136,65,224,19, + 20,151,56,145,56,152,72,208,38,55,211,19,56,208,12,56, + 228,19,33,212,34,56,220,34,50,216,34,35,167,41,161,41, + 168,67,176,20,211,34,54,243,5,2,20,56,240,0,2,13, + 56,114,59,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,6,0,0,0,3,0,0,0,243,24,1,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,0,116,5,0,0, + 0,0,0,0,0,0,124,0,116,6,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,114,70,116,1,0,0, + 0,0,0,0,0,0,106,8,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,116,1,0,0,0,0, + 0,0,0,0,106,10,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,106,13,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,1,100,2,171,2,0,0,0,0, + 0,0,106,15,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,83,0,124,0,106,13,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,1, + 100,2,171,2,0,0,0,0,0,0,106,15,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,83,0,41,3,114,64,0,0,0,114, + 6,0,0,0,114,4,0,0,0,41,8,114,66,0,0,0, + 114,67,0,0,0,114,53,0,0,0,114,54,0,0,0,218, + 8,102,115,101,110,99,111,100,101,218,8,102,115,100,101,99, + 111,100,101,114,71,0,0,0,218,5,108,111,119,101,114,41, + 1,114,76,0,0,0,115,1,0,0,0,32,114,57,0,0, + 0,114,10,0,0,0,114,10,0,0,0,70,0,0,0,115, + 98,0,0,0,128,0,244,10,0,13,15,143,73,137,73,144, + 97,139,76,136,1,220,11,21,144,97,156,21,212,11,31,220, + 19,21,151,59,145,59,156,114,159,123,153,123,168,49,155,126, + 215,31,53,209,31,53,176,99,184,52,211,31,64,215,31,70, + 209,31,70,211,31,72,211,19,73,208,12,73,216,15,16,143, + 121,137,121,152,19,152,100,211,15,35,215,15,41,209,15,41, + 211,15,43,208,8,43,114,59,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, + 243,218,0,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,106,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,125, + 0,116,5,0,0,0,0,0,0,0,0,124,0,116,6,0, + 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,114, + 7,100,1,125,1,100,2,125,2,100,3,125,3,110,6,100, + 4,125,1,100,5,125,2,100,6,125,3,124,0,100,7,100, + 8,26,0,106,9,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,2,124,1,171,2,0,0,0, + 0,0,0,125,0,124,0,106,11,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,171,1,0, + 0,0,0,0,0,115,18,124,0,106,11,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,3,100, + 9,171,2,0,0,0,0,0,0,114,1,121,10,121,11,41, + 12,122,31,84,101,115,116,32,119,104,101,116,104,101,114,32, + 97,32,112,97,116,104,32,105,115,32,97,98,115,111,108,117, + 116,101,243,1,0,0,0,92,243,1,0,0,0,47,115,2, + 0,0,0,58,92,114,4,0,0,0,114,6,0,0,0,122, + 2,58,92,78,233,3,0,0,0,233,1,0,0,0,84,70, + 41,6,114,66,0,0,0,114,67,0,0,0,114,53,0,0, + 0,114,54,0,0,0,114,71,0,0,0,218,10,115,116,97, + 114,116,115,119,105,116,104,41,4,114,76,0,0,0,114,36, + 0,0,0,114,39,0,0,0,218,9,99,111,108,111,110,95, + 115,101,112,115,4,0,0,0,32,32,32,32,114,57,0,0, + 0,114,11,0,0,0,114,11,0,0,0,87,0,0,0,115, + 110,0,0,0,128,0,228,8,10,143,9,137,9,144,33,139, + 12,128,65,220,7,17,144,33,148,85,212,7,27,216,14,19, + 136,3,216,17,21,136,6,216,20,26,137,9,224,14,18,136, + 3,216,17,20,136,6,216,20,25,136,9,216,8,9,136,34, + 136,49,136,5,143,13,137,13,144,102,152,99,211,8,34,128, + 65,240,6,0,8,9,135,124,129,124,144,67,212,7,24,152, + 65,159,76,153,76,168,25,176,65,212,28,54,216,15,19,216, + 11,16,114,59,0,0,0,99,1,0,0,0,0,0,0,0, + 0,0,0,0,5,0,0,0,7,0,0,0,243,56,2,0, + 0,151,0,116,1,0,0,0,0,0,0,0,0,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,125,0,116,5,0, + 0,0,0,0,0,0,0,124,0,116,6,0,0,0,0,0, + 0,0,0,171,2,0,0,0,0,0,0,114,7,100,1,125, + 2,100,2,125,3,100,3,125,4,110,6,100,4,125,2,100, + 5,125,3,100,6,125,4,9,0,124,1,115,8,124,0,100, + 0,100,7,26,0,124,2,122,0,0,0,1,0,116,9,0, + 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0, + 0,92,3,0,0,125,5,125,6,125,7,116,11,0,0,0, + 0,0,0,0,0,116,0,0,0,0,0,0,0,0,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,171,2,0,0,0,0,0,0,68,0,93, + 98,0,0,125,8,116,9,0,0,0,0,0,0,0,0,124, + 8,171,1,0,0,0,0,0,0,92,3,0,0,125,9,125, + 10,125,11,124,10,114,11,124,9,115,2,124,5,115,2,124, + 9,125,5,124,10,125,6,124,11,125,7,140,31,124,9,114, + 47,124,9,124,5,107,55,0,0,114,42,124,9,106,13,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,124,5,106,13,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 0,0,0,0,0,0,0,107,55,0,0,114,7,124,9,125, + 5,124,10,125,6,124,11,125,7,140,78,124,9,125,5,124, + 7,114,12,124,7,100,8,25,0,0,0,124,3,118,1,114, + 5,124,7,124,2,122,0,0,0,125,7,124,7,124,11,122, + 0,0,0,125,7,140,100,4,0,124,7,114,22,124,6,115, + 20,124,5,114,18,124,5,100,8,100,0,26,0,124,4,124, + 3,122,0,0,0,118,1,114,8,124,5,124,2,122,0,0, + 0,124,7,122,0,0,0,83,0,124,5,124,6,122,0,0, + 0,124,7,122,0,0,0,83,0,35,0,116,14,0,0,0, + 0,0,0,0,0,116,16,0,0,0,0,0,0,0,0,116, + 18,0,0,0,0,0,0,0,0,102,3,36,0,114,25,1, + 0,116,21,0,0,0,0,0,0,0,0,106,22,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 9,124,0,103,2,124,1,162,1,173,6,142,0,1,0,130, + 0,119,0,120,3,89,0,119,1,41,10,78,114,83,0,0, + 0,114,51,0,0,0,243,1,0,0,0,58,114,4,0,0, + 0,114,52,0,0,0,250,1,58,114,8,0,0,0,233,255, + 255,255,255,114,12,0,0,0,41,12,114,66,0,0,0,114, + 67,0,0,0,114,53,0,0,0,114,54,0,0,0,114,14, + 0,0,0,218,3,109,97,112,114,81,0,0,0,218,9,84, + 121,112,101,69,114,114,111,114,218,14,65,116,116,114,105,98, + 117,116,101,69,114,114,111,114,218,12,66,121,116,101,115,87, + 97,114,110,105,110,103,218,11,103,101,110,101,114,105,99,112, + 97,116,104,218,16,95,99,104,101,99,107,95,97,114,103,95, + 116,121,112,101,115,41,12,114,56,0,0,0,218,5,112,97, + 116,104,115,114,36,0,0,0,218,4,115,101,112,115,218,5, + 99,111,108,111,110,218,12,114,101,115,117,108,116,95,100,114, + 105,118,101,218,11,114,101,115,117,108,116,95,114,111,111,116, + 218,11,114,101,115,117,108,116,95,112,97,116,104,218,1,112, + 218,7,112,95,100,114,105,118,101,218,6,112,95,114,111,111, + 116,218,6,112,95,112,97,116,104,115,12,0,0,0,32,32, + 32,32,32,32,32,32,32,32,32,32,114,57,0,0,0,114, + 12,0,0,0,114,12,0,0,0,107,0,0,0,115,100,1, + 0,0,128,0,220,11,13,143,57,137,57,144,84,139,63,128, + 68,220,7,17,144,36,156,5,212,7,30,216,14,19,136,3, + 216,15,21,136,4,216,16,20,137,5,224,14,18,136,3,216, + 15,20,136,4,216,16,19,136,5,240,2,33,5,14,217,15, + 20,216,12,16,144,18,144,33,136,72,144,115,138,78,220,49, + 58,184,52,179,31,209,8,46,136,12,144,107,160,59,220,17, + 20,148,82,151,89,145,89,160,5,211,17,38,242,0,21,9, + 47,136,65,220,38,47,176,1,163,108,209,12,35,136,71,144, + 86,152,86,217,15,21,225,19,26,161,44,216,35,42,144,76, + 216,30,36,144,11,216,30,36,144,11,216,16,24,217,17,24, + 152,87,168,12,210,29,52,216,19,26,151,61,145,61,147,63, + 160,108,215,38,56,209,38,56,211,38,58,210,19,58,224,35, + 42,144,76,216,34,40,144,75,216,34,40,144,75,216,20,28, + 224,31,38,144,12,225,15,26,152,123,168,50,153,127,176,100, + 209,31,58,216,30,41,168,67,209,30,47,144,11,216,26,37, + 168,6,209,26,46,137,75,240,43,21,9,47,241,46,0,13, + 24,161,11,217,12,24,152,92,168,34,168,35,208,29,46,176, + 101,184,100,177,108,209,29,66,216,19,31,160,35,209,19,37, + 168,11,209,19,51,208,12,51,216,15,27,152,107,209,15,41, + 168,75,209,15,55,208,8,55,248,220,12,21,148,126,164,124, + 208,11,52,242,0,2,5,14,220,8,19,215,8,36,209,8, + 36,160,86,168,84,208,8,58,176,69,211,8,58,216,8,13, + 240,5,2,5,14,250,115,18,0,0,0,180,66,47,67,44, + 0,195,36,7,67,44,0,195,44,45,68,25,3,99,1,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0, + 0,0,243,46,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,92,3,0, + 0,125,1,125,2,125,3,124,1,124,2,124,3,122,0,0, + 0,102,2,83,0,41,1,97,218,2,0,0,83,112,108,105, + 116,32,97,32,112,97,116,104,110,97,109,101,32,105,110,116, + 111,32,100,114,105,118,101,47,85,78,67,32,115,104,97,114, + 101,112,111,105,110,116,32,97,110,100,32,114,101,108,97,116, + 105,118,101,32,112,97,116,104,32,115,112,101,99,105,102,105, + 101,114,115,46,10,32,32,32,32,82,101,116,117,114,110,115, + 32,97,32,50,45,116,117,112,108,101,32,40,100,114,105,118, + 101,95,111,114,95,117,110,99,44,32,112,97,116,104,41,59, + 32,101,105,116,104,101,114,32,112,97,114,116,32,109,97,121, + 32,98,101,32,101,109,112,116,121,46,10,10,32,32,32,32, + 73,102,32,121,111,117,32,97,115,115,105,103,110,10,32,32, + 32,32,32,32,32,32,114,101,115,117,108,116,32,61,32,115, + 112,108,105,116,100,114,105,118,101,40,112,41,10,32,32,32, + 32,73,116,32,105,115,32,97,108,119,97,121,115,32,116,114, + 117,101,32,116,104,97,116,58,10,32,32,32,32,32,32,32, + 32,114,101,115,117,108,116,91,48,93,32,43,32,114,101,115, + 117,108,116,91,49,93,32,61,61,32,112,10,10,32,32,32, + 32,73,102,32,116,104,101,32,112,97,116,104,32,99,111,110, + 116,97,105,110,101,100,32,97,32,100,114,105,118,101,32,108, + 101,116,116,101,114,44,32,100,114,105,118,101,95,111,114,95, + 117,110,99,32,119,105,108,108,32,99,111,110,116,97,105,110, + 32,101,118,101,114,121,116,104,105,110,103,10,32,32,32,32, + 117,112,32,116,111,32,97,110,100,32,105,110,99,108,117,100, + 105,110,103,32,116,104,101,32,99,111,108,111,110,46,32,32, + 101,46,103,46,32,115,112,108,105,116,100,114,105,118,101,40, + 34,99,58,47,100,105,114,34,41,32,114,101,116,117,114,110, + 115,32,40,34,99,58,34,44,32,34,47,100,105,114,34,41, + 10,10,32,32,32,32,73,102,32,116,104,101,32,112,97,116, + 104,32,99,111,110,116,97,105,110,101,100,32,97,32,85,78, + 67,32,112,97,116,104,44,32,116,104,101,32,100,114,105,118, + 101,95,111,114,95,117,110,99,32,119,105,108,108,32,99,111, + 110,116,97,105,110,32,116,104,101,32,104,111,115,116,32,110, + 97,109,101,10,32,32,32,32,97,110,100,32,115,104,97,114, + 101,32,117,112,32,116,111,32,98,117,116,32,110,111,116,32, + 105,110,99,108,117,100,105,110,103,32,116,104,101,32,102,111, + 117,114,116,104,32,100,105,114,101,99,116,111,114,121,32,115, + 101,112,97,114,97,116,111,114,32,99,104,97,114,97,99,116, + 101,114,46,10,32,32,32,32,101,46,103,46,32,115,112,108, + 105,116,100,114,105,118,101,40,34,47,47,104,111,115,116,47, + 99,111,109,112,117,116,101,114,47,100,105,114,34,41,32,114, + 101,116,117,114,110,115,32,40,34,47,47,104,111,115,116,47, + 99,111,109,112,117,116,101,114,34,44,32,34,47,100,105,114, + 34,41,10,10,32,32,32,32,80,97,116,104,115,32,99,97, + 110,110,111,116,32,99,111,110,116,97,105,110,32,98,111,116, + 104,32,97,32,100,114,105,118,101,32,108,101,116,116,101,114, + 32,97,110,100,32,97,32,85,78,67,32,112,97,116,104,46, + 10,10,32,32,32,32,41,1,114,14,0,0,0,41,4,114, + 105,0,0,0,218,5,100,114,105,118,101,218,4,114,111,111, + 116,218,4,116,97,105,108,115,4,0,0,0,32,32,32,32, + 114,57,0,0,0,114,13,0,0,0,114,13,0,0,0,156, + 0,0,0,115,35,0,0,0,128,0,244,38,0,25,34,160, + 33,155,12,209,4,21,128,69,136,52,144,20,216,11,16,144, + 36,152,20,145,43,208,11,29,208,4,29,114,59,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,3,0,0,0,243,254,1,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,106,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,125,0,116,5,0,0,0,0,0,0,0,0, + 124,0,116,6,0,0,0,0,0,0,0,0,171,2,0,0, + 0,0,0,0,114,11,100,1,125,1,100,2,125,2,100,3, + 125,3,100,4,125,4,100,5,125,5,110,10,100,6,125,1, + 100,7,125,2,100,8,125,3,100,9,125,4,100,10,125,5, + 124,0,106,9,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,124,1,171,2,0,0,0,0, + 0,0,125,6,124,6,100,11,100,12,26,0,124,1,107,40, + 0,0,114,124,124,6,100,12,100,13,26,0,124,1,107,40, + 0,0,114,105,124,6,100,11,100,14,26,0,106,11,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,124,4,107,40,0,0,114,2, + 100,14,110,1,100,13,125,7,124,6,106,13,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 124,7,171,2,0,0,0,0,0,0,125,8,124,8,100,15, + 107,40,0,0,114,5,124,0,124,5,124,5,102,3,83,0, + 124,6,106,13,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,124,8,100,12,122,0,0,0, + 171,2,0,0,0,0,0,0,125,9,124,9,100,15,107,40, + 0,0,114,5,124,0,124,5,124,5,102,3,83,0,124,0, + 100,11,124,9,26,0,124,0,124,9,124,9,100,12,122,0, + 0,0,26,0,124,0,124,9,100,12,122,0,0,0,100,11, + 26,0,102,3,83,0,124,5,124,0,100,11,100,12,26,0, + 124,0,100,12,100,11,26,0,102,3,83,0,124,6,100,12, + 100,13,26,0,124,3,107,40,0,0,114,33,124,6,100,13, + 100,16,26,0,124,1,107,40,0,0,114,14,124,0,100,11, + 100,13,26,0,124,0,100,13,100,16,26,0,124,0,100,16, + 100,11,26,0,102,3,83,0,124,0,100,11,100,13,26,0, + 124,5,124,0,100,13,100,11,26,0,102,3,83,0,124,5, + 124,5,124,0,102,3,83,0,41,17,97,254,1,0,0,83, + 112,108,105,116,32,97,32,112,97,116,104,110,97,109,101,32, + 105,110,116,111,32,100,114,105,118,101,44,32,114,111,111,116, + 32,97,110,100,32,116,97,105,108,46,32,84,104,101,32,100, + 114,105,118,101,32,105,115,32,100,101,102,105,110,101,100,10, + 32,32,32,32,101,120,97,99,116,108,121,32,97,115,32,105, + 110,32,115,112,108,105,116,100,114,105,118,101,40,41,46,32, + 79,110,32,87,105,110,100,111,119,115,44,32,116,104,101,32, + 114,111,111,116,32,109,97,121,32,98,101,32,97,32,115,105, + 110,103,108,101,32,112,97,116,104,10,32,32,32,32,115,101, + 112,97,114,97,116,111,114,32,111,114,32,97,110,32,101,109, + 112,116,121,32,115,116,114,105,110,103,46,32,84,104,101,32, + 116,97,105,108,32,99,111,110,116,97,105,110,115,32,97,110, + 121,116,104,105,110,103,32,97,102,116,101,114,32,116,104,101, + 32,114,111,111,116,46,10,32,32,32,32,70,111,114,32,101, + 120,97,109,112,108,101,58,10,10,32,32,32,32,32,32,32, + 32,115,112,108,105,116,114,111,111,116,40,39,47,47,115,101, + 114,118,101,114,47,115,104,97,114,101,47,39,41,32,61,61, + 32,40,39,47,47,115,101,114,118,101,114,47,115,104,97,114, + 101,39,44,32,39,47,39,44,32,39,39,41,10,32,32,32, + 32,32,32,32,32,115,112,108,105,116,114,111,111,116,40,39, + 67,58,47,85,115,101,114,115,47,66,97,114,110,101,121,39, + 41,32,61,61,32,40,39,67,58,39,44,32,39,47,39,44, + 32,39,85,115,101,114,115,47,66,97,114,110,101,121,39,41, + 10,32,32,32,32,32,32,32,32,115,112,108,105,116,114,111, + 111,116,40,39,67,58,47,47,47,115,112,97,109,47,47,47, + 104,97,109,39,41,32,61,61,32,40,39,67,58,39,44,32, + 39,47,39,44,32,39,47,47,115,112,97,109,47,47,47,104, + 97,109,39,41,10,32,32,32,32,32,32,32,32,115,112,108, + 105,116,114,111,111,116,40,39,87,105,110,100,111,119,115,47, + 110,111,116,101,112,97,100,39,41,32,61,61,32,40,39,39, + 44,32,39,39,44,32,39,87,105,110,100,111,119,115,47,110, + 111,116,101,112,97,100,39,41,10,32,32,32,32,114,83,0, + 0,0,114,84,0,0,0,114,90,0,0,0,243,8,0,0, + 0,92,92,63,92,85,78,67,92,114,59,0,0,0,114,4, + 0,0,0,114,6,0,0,0,114,91,0,0,0,250,8,92, + 92,63,92,85,78,67,92,218,0,78,114,86,0,0,0,233, + 2,0,0,0,233,8,0,0,0,114,92,0,0,0,114,85, + 0,0,0,41,7,114,66,0,0,0,114,67,0,0,0,114, + 53,0,0,0,114,54,0,0,0,114,71,0,0,0,218,5, + 117,112,112,101,114,218,4,102,105,110,100,41,10,114,105,0, + 0,0,114,36,0,0,0,114,39,0,0,0,114,101,0,0, + 0,218,10,117,110,99,95,112,114,101,102,105,120,218,5,101, + 109,112,116,121,218,5,110,111,114,109,112,218,5,115,116,97, + 114,116,218,5,105,110,100,101,120,218,6,105,110,100,101,120, + 50,115,10,0,0,0,32,32,32,32,32,32,32,32,32,32, + 114,57,0,0,0,114,14,0,0,0,114,14,0,0,0,179, + 0,0,0,115,135,1,0,0,128,0,244,22,0,9,11,143, + 9,137,9,144,33,139,12,128,65,220,7,17,144,33,148,85, + 212,7,27,216,14,19,136,3,216,17,21,136,6,216,16,20, + 136,5,216,21,36,136,10,216,16,19,137,5,224,14,18,136, + 3,216,17,20,136,6,216,16,19,136,5,216,21,35,136,10, + 216,16,18,136,5,216,12,13,143,73,137,73,144,102,152,99, + 211,12,34,128,69,216,7,12,136,82,136,97,128,121,144,67, + 210,7,23,216,11,16,144,17,144,49,136,58,152,19,210,11, + 28,240,6,0,26,31,152,114,160,1,152,25,159,31,153,31, + 211,25,42,168,106,210,25,56,145,65,184,97,136,69,216,20, + 25,151,74,145,74,152,115,160,69,211,20,42,136,69,216,15, + 20,152,2,138,123,216,23,24,152,37,160,21,144,127,208,16, + 38,216,21,26,151,90,145,90,160,3,160,85,168,81,161,89, + 211,21,47,136,70,216,15,21,152,18,138,124,216,23,24,152, + 37,160,21,144,127,208,16,38,216,19,20,144,87,144,102,144, + 58,152,113,160,22,168,6,176,17,169,10,208,31,51,176,81, + 176,118,192,1,177,122,176,123,176,94,208,19,67,208,12,67, + 240,6,0,20,25,152,33,152,66,152,81,152,37,160,17,160, + 49,160,50,160,21,208,19,38,208,12,38,216,9,14,136,113, + 144,17,136,26,144,117,210,9,28,216,11,16,144,17,144,49, + 136,58,152,19,210,11,28,224,19,20,144,82,144,97,144,53, + 152,33,152,65,152,97,152,38,160,33,160,65,160,66,160,37, + 208,19,39,208,12,39,240,6,0,20,21,144,82,144,97,144, + 53,152,37,160,17,160,49,160,50,160,21,208,19,38,208,12, + 38,240,6,0,16,21,144,101,152,81,136,127,208,8,30,114, + 59,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,3,0,0,0,243,248,0,0,0,151,0, + 116,1,0,0,0,0,0,0,0,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,125,0,116,5,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,125,1, + 116,7,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,92,3,0,0,125,2,125,3,125,0,116,9, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,125,4,124,4,114,28,124,0,124,4,100,1,122,10, + 0,0,25,0,0,0,124,1,118,1,114,18,124,4,100,1, + 122,23,0,0,125,4,124,4,114,11,124,0,124,4,100,1, + 122,10,0,0,25,0,0,0,124,1,118,1,114,1,140,18, + 124,0,100,2,124,4,26,0,124,0,124,4,100,2,26,0, + 125,6,125,5,124,2,124,3,122,0,0,0,124,5,106,11, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,1,171,1,0,0,0,0,0,0,122,0,0,0, + 124,6,102,2,83,0,41,3,122,126,83,112,108,105,116,32, + 97,32,112,97,116,104,110,97,109,101,46,10,10,32,32,32, + 32,82,101,116,117,114,110,32,116,117,112,108,101,32,40,104, + 101,97,100,44,32,116,97,105,108,41,32,119,104,101,114,101, + 32,116,97,105,108,32,105,115,32,101,118,101,114,121,116,104, + 105,110,103,32,97,102,116,101,114,32,116,104,101,32,102,105, + 110,97,108,32,115,108,97,115,104,46,10,32,32,32,32,69, + 105,116,104,101,114,32,112,97,114,116,32,109,97,121,32,98, + 101,32,101,109,112,116,121,46,114,86,0,0,0,78,41,6, + 114,66,0,0,0,114,67,0,0,0,114,58,0,0,0,114, + 14,0,0,0,218,3,108,101,110,218,6,114,115,116,114,105, + 112,41,7,114,105,0,0,0,114,100,0,0,0,218,1,100, + 218,1,114,218,1,105,218,4,104,101,97,100,114,112,0,0, + 0,115,7,0,0,0,32,32,32,32,32,32,32,114,57,0, + 0,0,114,15,0,0,0,114,15,0,0,0,236,0,0,0, + 115,148,0,0,0,128,0,244,10,0,9,11,143,9,137,9, + 144,33,139,12,128,65,220,11,24,152,17,211,11,27,128,68, + 220,14,23,152,1,139,108,129,71,128,65,128,113,136,33,228, + 8,11,136,65,139,6,128,65,217,10,11,144,1,144,33,144, + 65,145,35,145,6,152,100,209,16,34,216,8,9,136,81,137, + 6,136,1,241,3,0,11,12,144,1,144,33,144,65,145,35, + 145,6,152,100,210,16,34,224,17,18,144,50,144,65,144,21, + 152,1,152,33,152,34,152,5,136,36,128,68,216,11,12,136, + 113,137,53,144,52,151,59,145,59,152,116,211,19,36,209,11, + 36,160,100,208,11,42,208,4,42,114,59,0,0,0,99,1, + 0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3, + 0,0,0,243,172,0,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,106,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,125,0,116,5,0,0,0,0,0,0,0,0,124,0, + 116,6,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,114,24,116,9,0,0,0,0,0,0,0,0,106,10, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,100,1,100,2,100,3,171,4,0,0,0,0, + 0,0,83,0,116,9,0,0,0,0,0,0,0,0,106,10, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,100,4,100,5,100,6,171,4,0,0,0,0, + 0,0,83,0,41,7,78,114,83,0,0,0,114,84,0,0, + 0,243,1,0,0,0,46,114,4,0,0,0,114,6,0,0, + 0,114,2,0,0,0,41,6,114,66,0,0,0,114,67,0, + 0,0,114,53,0,0,0,114,54,0,0,0,114,97,0,0, + 0,218,9,95,115,112,108,105,116,101,120,116,169,1,114,105, + 0,0,0,115,1,0,0,0,32,114,57,0,0,0,114,16, + 0,0,0,114,16,0,0,0,1,1,0,0,115,71,0,0, + 0,128,0,220,8,10,143,9,137,9,144,33,139,12,128,65, + 220,7,17,144,33,148,85,212,7,27,220,15,26,215,15,36, + 209,15,36,160,81,168,5,168,116,176,84,211,15,58,208,8, + 58,228,15,26,215,15,36,209,15,36,160,81,168,4,168,99, + 176,51,211,15,55,208,8,55,114,59,0,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0, + 0,0,243,30,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,100,1,25, + 0,0,0,83,0,41,2,122,41,82,101,116,117,114,110,115, + 32,116,104,101,32,102,105,110,97,108,32,99,111,109,112,111, + 110,101,110,116,32,111,102,32,97,32,112,97,116,104,110,97, + 109,101,114,86,0,0,0,169,1,114,15,0,0,0,114,137, + 0,0,0,115,1,0,0,0,32,114,57,0,0,0,114,17, + 0,0,0,114,17,0,0,0,12,1,0,0,243,16,0,0, + 0,128,0,228,11,16,144,17,139,56,144,65,137,59,208,4, + 22,114,59,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,3,0,0,0,3,0,0,0,243,30,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,100,1,25,0,0,0,83,0,41,2, + 122,45,82,101,116,117,114,110,115,32,116,104,101,32,100,105, + 114,101,99,116,111,114,121,32,99,111,109,112,111,110,101,110, + 116,32,111,102,32,97,32,112,97,116,104,110,97,109,101,114, + 8,0,0,0,114,139,0,0,0,114,137,0,0,0,115,1, + 0,0,0,32,114,57,0,0,0,114,18,0,0,0,114,18, + 0,0,0,19,1,0,0,114,140,0,0,0,114,59,0,0, + 0,218,14,115,116,95,114,101,112,97,114,115,101,95,116,97, + 103,99,1,0,0,0,0,0,0,0,0,0,0,0,5,0, + 0,0,3,0,0,0,243,174,0,0,0,151,0,9,0,116, + 1,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,1,116,11,0,0,0,0,0, + 0,0,0,124,1,106,12,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,116,14,0,0,0,0,0, + 0,0,0,106,16,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,107,40,0,0,171,1,0,0,0, + 0,0,0,83,0,35,0,116,4,0,0,0,0,0,0,0, + 0,116,6,0,0,0,0,0,0,0,0,116,8,0,0,0, + 0,0,0,0,0,102,3,36,0,114,3,1,0,89,0,121, + 1,119,0,120,3,89,0,119,1,169,2,122,33,84,101,115, + 116,32,119,104,101,116,104,101,114,32,97,32,112,97,116,104, + 32,105,115,32,97,32,106,117,110,99,116,105,111,110,70,41, + 9,114,66,0,0,0,218,5,108,115,116,97,116,218,7,79, + 83,69,114,114,111,114,218,10,86,97,108,117,101,69,114,114, + 111,114,114,95,0,0,0,218,4,98,111,111,108,114,142,0, + 0,0,218,4,115,116,97,116,218,26,73,79,95,82,69,80, + 65,82,83,69,95,84,65,71,95,77,79,85,78,84,95,80, + 79,73,78,84,169,2,114,56,0,0,0,218,2,115,116,115, + 2,0,0,0,32,32,114,57,0,0,0,114,49,0,0,0, + 114,49,0,0,0,27,1,0,0,115,77,0,0,0,128,0, + 240,4,3,9,25,220,17,19,151,24,145,24,152,36,147,30, + 136,66,244,6,0,16,20,144,66,215,20,37,209,20,37,172, + 20,215,41,72,209,41,72,209,20,72,211,15,73,208,8,73, + 248,244,5,0,17,24,156,26,164,94,208,15,52,242,0,1, + 9,25,217,19,24,240,3,1,9,25,250,115,15,0,0,0, + 130,21,61,0,189,20,65,20,3,193,19,1,65,20,3,99, + 1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,46,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,1,0,121,1,114,144,0,0,0,41,2,114,66, + 0,0,0,114,67,0,0,0,114,55,0,0,0,115,1,0, + 0,0,32,114,57,0,0,0,114,49,0,0,0,114,49,0, + 0,0,35,1,0,0,115,16,0,0,0,128,0,228,8,10, + 143,9,137,9,144,36,140,15,216,15,20,114,59,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,90,0,0,0,151,0,9,0,116,1, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,125,1,121,2,35,0,116,4,0,0, + 0,0,0,0,0,0,116,6,0,0,0,0,0,0,0,0, + 102,2,36,0,114,3,1,0,89,0,121,1,119,0,120,3, + 89,0,119,1,41,3,122,67,84,101,115,116,32,119,104,101, + 116,104,101,114,32,97,32,112,97,116,104,32,101,120,105,115, + 116,115,46,32,32,82,101,116,117,114,110,115,32,84,114,117, + 101,32,102,111,114,32,98,114,111,107,101,110,32,115,121,109, + 98,111,108,105,99,32,108,105,110,107,115,70,84,41,4,114, + 66,0,0,0,114,145,0,0,0,114,146,0,0,0,114,147, + 0,0,0,114,151,0,0,0,115,2,0,0,0,32,32,114, + 57,0,0,0,114,26,0,0,0,114,26,0,0,0,43,1, + 0,0,115,50,0,0,0,128,0,240,4,3,5,21,220,13, + 15,143,88,137,88,144,100,139,94,136,2,240,6,0,12,16, + 248,244,5,0,13,20,148,90,208,11,32,242,0,1,5,21, + 217,15,20,240,3,1,5,21,250,115,12,0,0,0,130,21, + 24,0,152,15,42,3,169,1,42,3,41,1,218,18,95,103, + 101,116,118,111,108,117,109,101,112,97,116,104,110,97,109,101, + 99,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,3,0,0,0,243,62,1,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,106,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,125,0,116,5,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,1,116,7,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 125,0,116,9,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,92,3,0,0,125,2,125,3,125,4, + 124,2,114,10,124,2,100,1,25,0,0,0,124,1,118,0, + 114,3,124,4,12,0,83,0,124,3,114,3,124,4,115,1, + 121,2,116,10,0,0,0,0,0,0,0,0,114,76,124,0, + 106,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,171,1,0,0,0,0,0,0,125,5, + 116,11,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,106,13,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,1,171,1,0,0,0,0, + 0,0,125,6,124,5,106,15,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,124,6,106,15,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0, + 107,40,0,0,83,0,121,3,41,4,122,97,84,101,115,116, + 32,119,104,101,116,104,101,114,32,97,32,112,97,116,104,32, + 105,115,32,97,32,109,111,117,110,116,32,112,111,105,110,116, + 32,40,97,32,100,114,105,118,101,32,114,111,111,116,44,32, + 116,104,101,32,114,111,111,116,32,111,102,32,97,10,32,32, + 32,32,115,104,97,114,101,44,32,111,114,32,97,32,109,111, + 117,110,116,101,100,32,118,111,108,117,109,101,41,114,8,0, + 0,0,84,70,41,8,114,66,0,0,0,114,67,0,0,0, + 114,58,0,0,0,114,33,0,0,0,114,14,0,0,0,114, + 155,0,0,0,114,129,0,0,0,218,8,99,97,115,101,102, + 111,108,100,41,7,114,56,0,0,0,114,100,0,0,0,114, + 110,0,0,0,114,111,0,0,0,218,4,114,101,115,116,218, + 1,120,218,1,121,115,7,0,0,0,32,32,32,32,32,32, + 32,114,57,0,0,0,114,29,0,0,0,114,29,0,0,0, + 65,1,0,0,115,145,0,0,0,128,0,244,6,0,12,14, + 143,57,137,57,144,84,139,63,128,68,220,11,24,152,20,211, + 11,30,128,68,220,11,18,144,52,139,61,128,68,220,24,33, + 160,36,155,15,209,4,21,128,69,136,52,144,20,217,7,12, + 144,21,144,113,145,24,152,84,209,17,33,216,19,23,136,120, + 136,15,217,7,11,145,68,216,15,19,229,7,25,216,12,16, + 143,75,137,75,152,4,211,12,29,136,1,220,11,29,152,100, + 211,11,35,215,11,42,209,11,42,168,52,211,11,48,136,1, + 216,15,16,143,122,137,122,139,124,152,113,159,122,153,122,155, + 124,209,15,43,208,8,43,224,15,20,114,59,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0, + 3,0,0,0,243,56,3,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,125,0,116,5,0,0,0,0,0,0,0,0,124, + 0,116,6,0,0,0,0,0,0,0,0,171,2,0,0,0, + 0,0,0,114,3,100,1,125,1,110,2,100,2,125,1,124, + 0,106,9,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,115, + 2,124,0,83,0,100,3,116,11,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,125,3,125,2,124, + 2,124,3,107,2,0,0,114,43,124,0,124,2,25,0,0, + 0,116,13,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,118,1,114,27,124,2,100,3,122,13,0, + 0,125,2,124,2,124,3,107,2,0,0,114,17,124,0,124, + 2,25,0,0,0,116,13,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,118,1,114,1,140,27,100, + 4,116,0,0,0,0,0,0,0,0,0,106,14,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118, + 0,114,20,116,0,0,0,0,0,0,0,0,0,106,14,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,4,25,0,0,0,125,4,110,69,100,5,116,0,0, + 0,0,0,0,0,0,0,106,14,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,118,1,114,2,124, + 0,83,0,9,0,116,0,0,0,0,0,0,0,0,0,106, + 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,6,25,0,0,0,125,5,116,19,0,0,0, + 0,0,0,0,0,124,5,116,0,0,0,0,0,0,0,0, + 0,106,14,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,5,25,0,0,0,171,2,0,0,0, + 0,0,0,125,4,124,2,100,3,107,55,0,0,114,115,124, + 0,100,3,124,2,26,0,125,6,116,5,0,0,0,0,0, + 0,0,0,124,6,116,6,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,114,21,116,1,0,0,0,0,0, + 0,0,0,106,20,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,6,171,1,0,0,0,0,0, + 0,125,6,116,0,0,0,0,0,0,0,0,0,106,14,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,106,23,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,8,171,1,0,0,0,0,0,0,125, + 7,124,6,124,7,107,55,0,0,114,37,124,7,116,25,0, + 0,0,0,0,0,0,0,124,4,171,1,0,0,0,0,0, + 0,107,55,0,0,114,2,124,0,83,0,116,19,0,0,0, + 0,0,0,0,0,116,27,0,0,0,0,0,0,0,0,124, + 4,171,1,0,0,0,0,0,0,124,6,171,2,0,0,0, + 0,0,0,125,4,116,5,0,0,0,0,0,0,0,0,124, + 0,116,6,0,0,0,0,0,0,0,0,171,2,0,0,0, + 0,0,0,114,21,116,1,0,0,0,0,0,0,0,0,106, + 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,4,171,1,0,0,0,0,0,0,125,4,124, + 4,124,0,124,2,100,9,26,0,122,0,0,0,83,0,35, + 0,116,16,0,0,0,0,0,0,0,0,36,0,114,5,1, + 0,100,7,125,5,89,0,140,207,119,0,120,3,89,0,119, + 1,41,10,122,76,69,120,112,97,110,100,32,126,32,97,110, + 100,32,126,117,115,101,114,32,99,111,110,115,116,114,117,99, + 116,115,46,10,10,32,32,32,32,73,102,32,117,115,101,114, + 32,111,114,32,36,72,79,77,69,32,105,115,32,117,110,107, + 110,111,119,110,44,32,100,111,32,110,111,116,104,105,110,103, + 46,243,1,0,0,0,126,250,1,126,114,86,0,0,0,218, + 11,85,83,69,82,80,82,79,70,73,76,69,218,8,72,79, + 77,69,80,65,84,72,218,9,72,79,77,69,68,82,73,86, + 69,114,116,0,0,0,218,8,85,83,69,82,78,65,77,69, + 78,41,15,114,66,0,0,0,114,67,0,0,0,114,53,0, + 0,0,114,54,0,0,0,114,87,0,0,0,114,128,0,0, + 0,114,58,0,0,0,218,7,101,110,118,105,114,111,110,218, + 8,75,101,121,69,114,114,111,114,114,12,0,0,0,114,80, + 0,0,0,218,3,103,101,116,114,17,0,0,0,114,18,0, + 0,0,114,79,0,0,0,41,8,114,56,0,0,0,218,5, + 116,105,108,100,101,114,132,0,0,0,218,1,110,218,8,117, + 115,101,114,104,111,109,101,114,110,0,0,0,218,11,116,97, + 114,103,101,116,95,117,115,101,114,218,12,99,117,114,114,101, + 110,116,95,117,115,101,114,115,8,0,0,0,32,32,32,32, + 32,32,32,32,114,57,0,0,0,114,30,0,0,0,114,30, + 0,0,0,94,1,0,0,115,123,1,0,0,128,0,244,8, + 0,12,14,143,57,137,57,144,84,139,63,128,68,220,7,17, + 144,36,156,5,212,7,30,216,16,20,137,5,224,16,19,136, + 5,216,11,15,143,63,137,63,152,53,212,11,33,216,15,19, + 136,11,216,11,12,140,99,144,36,139,105,128,113,128,65,216, + 10,11,136,97,138,37,144,68,152,17,145,71,164,61,176,20, + 211,35,54,209,20,54,216,8,9,136,81,137,6,136,1,240, + 3,0,11,12,136,97,138,37,144,68,152,17,145,71,164,61, + 176,20,211,35,54,210,20,54,240,6,0,8,21,156,2,159, + 10,153,10,209,7,34,220,19,21,151,58,145,58,152,109,209, + 19,44,137,8,216,13,23,156,50,159,58,153,58,209,13,37, + 216,15,19,136,11,240,4,3,9,23,220,20,22,151,74,145, + 74,152,123,209,20,43,136,69,244,6,0,20,24,152,5,156, + 114,159,122,153,122,168,42,209,31,53,211,19,54,136,8,224, + 7,8,136,65,130,118,216,22,26,152,49,152,81,144,105,136, + 11,220,11,21,144,107,164,53,212,11,41,220,26,28,159,43, + 153,43,160,107,211,26,50,136,75,220,23,25,151,122,145,122, + 151,126,145,126,160,106,211,23,49,136,12,224,11,22,152,44, + 210,11,38,240,12,0,16,28,156,120,168,8,211,31,49,210, + 15,49,216,23,27,144,11,220,23,27,156,71,160,72,211,28, + 45,168,123,211,23,59,136,72,228,7,17,144,36,156,5,212, + 7,30,220,19,21,151,59,145,59,152,120,211,19,40,136,8, + 224,11,19,144,100,152,49,152,50,144,104,209,11,30,208,4, + 30,248,244,47,0,16,24,242,0,1,9,23,216,20,22,138, + 69,240,3,1,9,23,250,115,18,0,0,0,194,54,19,70, + 11,0,198,11,11,70,25,3,198,24,1,70,25,3,99,1, + 0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3, + 0,0,0,243,236,6,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,106,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,125,0,116,5,0,0,0,0,0,0,0,0,124,0, + 116,6,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,114,80,100,1,124,0,118,1,114,6,100,2,124,0, + 118,1,114,2,124,0,83,0,100,3,100,4,108,4,125,1, + 116,7,0,0,0,0,0,0,0,0,124,1,106,10,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,106,12,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,122,0,0,0,100,5,122,0,0,0, + 100,6,171,2,0,0,0,0,0,0,125,2,100,7,125,3, + 100,2,125,4,100,8,125,5,100,9,125,6,100,1,125,7, + 116,15,0,0,0,0,0,0,0,0,116,0,0,0,0,0, + 0,0,0,0,100,10,100,4,171,3,0,0,0,0,0,0, + 125,8,110,68,100,11,124,0,118,1,114,6,100,12,124,0, + 118,1,114,2,124,0,83,0,100,3,100,4,108,4,125,1, + 124,1,106,10,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,106,12,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,122,0,0,0, + 100,5,122,0,0,0,125,2,100,13,125,3,100,12,125,4, + 100,14,125,5,100,15,125,6,100,11,125,7,116,0,0,0, + 0,0,0,0,0,0,106,16,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,8,124,0,100,4, + 100,3,26,0,125,9,100,3,125,10,116,19,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,125,11, + 124,10,124,11,107,2,0,0,144,2,114,5,124,0,124,10, + 124,10,100,16,122,0,0,0,26,0,125,12,124,12,124,3, + 107,40,0,0,114,53,124,0,124,10,100,16,122,0,0,0, + 100,4,26,0,125,0,116,19,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,11,9,0,124,0, + 106,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,12,171,1,0,0,0,0,0,0,125,10, + 124,9,124,12,124,0,100,4,124,10,100,16,122,0,0,0, + 26,0,122,0,0,0,122,13,0,0,125,9,144,1,110,183, + 124,12,124,4,107,40,0,0,114,141,124,0,124,10,100,16, + 122,0,0,0,124,10,100,17,122,0,0,0,26,0,124,4, + 107,40,0,0,114,12,124,9,124,12,122,13,0,0,125,9, + 124,10,100,16,122,13,0,0,125,10,144,1,110,152,124,0, + 124,10,100,16,122,0,0,0,100,4,26,0,125,0,116,19, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,125,11,9,0,124,0,106,21,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,4,171,1, + 0,0,0,0,0,0,125,10,124,0,100,4,124,10,26,0, + 125,13,9,0,124,8,128,58,116,1,0,0,0,0,0,0, + 0,0,106,24,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,116,0,0,0,0,0,0,0,0,0, + 106,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,116,1,0,0,0,0,0,0,0,0,106,26, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,13,171,1,0,0,0,0,0,0,25,0,0,0, + 171,1,0,0,0,0,0,0,125,14,110,5,124,8,124,13, + 25,0,0,0,125,14,124,9,124,14,122,13,0,0,125,9, + 144,1,110,37,124,12,124,7,107,40,0,0,144,1,114,26, + 124,0,124,10,100,16,122,0,0,0,124,10,100,17,122,0, + 0,0,26,0,124,7,107,40,0,0,114,12,124,9,124,12, + 122,13,0,0,125,9,124,10,100,16,122,13,0,0,125,10, + 144,1,110,5,124,0,124,10,100,16,122,0,0,0,124,10, + 100,17,122,0,0,0,26,0,124,5,107,40,0,0,114,114, + 124,0,124,10,100,17,122,0,0,0,100,4,26,0,125,0, + 116,19,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,125,11,9,0,124,0,106,21,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,6, + 171,1,0,0,0,0,0,0,125,10,124,0,100,4,124,10, + 26,0,125,13,9,0,124,8,128,58,116,1,0,0,0,0, + 0,0,0,0,106,24,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,0,0,0,0,0,0,0, + 0,0,106,16,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,116,1,0,0,0,0,0,0,0,0, + 106,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,13,171,1,0,0,0,0,0,0,25,0, + 0,0,171,1,0,0,0,0,0,0,125,14,110,5,124,8, + 124,13,25,0,0,0,125,14,124,9,124,14,122,13,0,0, + 125,9,110,133,124,0,100,4,100,3,26,0,125,13,124,10, + 100,16,122,13,0,0,125,10,124,0,124,10,124,10,100,16, + 122,0,0,0,26,0,125,12,124,12,114,29,124,12,124,2, + 118,0,114,25,124,13,124,12,122,13,0,0,125,13,124,10, + 100,16,122,13,0,0,125,10,124,0,124,10,124,10,100,16, + 122,0,0,0,26,0,125,12,124,12,114,5,124,12,124,2, + 118,0,114,1,140,25,9,0,124,8,128,58,116,1,0,0, + 0,0,0,0,0,0,106,24,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,116,0,0,0,0,0, + 0,0,0,0,106,16,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,1,0,0,0,0,0,0, + 0,0,106,26,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,13,171,1,0,0,0,0,0,0, + 25,0,0,0,171,1,0,0,0,0,0,0,125,14,110,5, + 124,8,124,13,25,0,0,0,125,14,124,9,124,14,122,13, + 0,0,125,9,124,12,114,11,124,10,100,16,122,23,0,0, + 125,10,110,5,124,9,124,12,122,13,0,0,125,9,124,10, + 100,16,122,13,0,0,125,10,124,10,124,11,107,2,0,0, + 114,2,144,2,140,5,124,9,83,0,35,0,116,22,0,0, + 0,0,0,0,0,0,36,0,114,16,1,0,124,9,124,12, + 124,0,122,0,0,0,122,13,0,0,125,9,124,11,100,16, + 122,10,0,0,125,10,89,0,140,38,119,0,120,3,89,0, + 119,1,35,0,116,28,0,0,0,0,0,0,0,0,36,0, + 114,12,1,0,124,4,124,13,122,0,0,0,124,4,122,0, + 0,0,125,14,89,0,144,1,140,106,119,0,120,3,89,0, + 119,1,35,0,116,22,0,0,0,0,0,0,0,0,36,0, + 114,16,1,0,124,9,124,4,124,0,122,0,0,0,122,13, + 0,0,125,9,124,11,100,16,122,10,0,0,125,10,89,0, + 140,90,119,0,120,3,89,0,119,1,35,0,116,28,0,0, + 0,0,0,0,0,0,36,0,114,14,1,0,124,7,124,5, + 122,0,0,0,124,13,122,0,0,0,124,6,122,0,0,0, + 125,14,89,0,140,255,119,0,120,3,89,0,119,1,35,0, + 116,22,0,0,0,0,0,0,0,0,36,0,114,19,1,0, + 124,9,124,7,124,5,122,0,0,0,124,0,122,0,0,0, + 122,13,0,0,125,9,124,11,100,16,122,10,0,0,125,10, + 89,0,140,147,119,0,120,3,89,0,119,1,35,0,116,28, + 0,0,0,0,0,0,0,0,36,0,114,8,1,0,124,7, + 124,13,122,0,0,0,125,14,89,0,140,185,119,0,120,3, + 89,0,119,1,41,18,122,102,69,120,112,97,110,100,32,115, + 104,101,108,108,32,118,97,114,105,97,98,108,101,115,32,111, + 102,32,116,104,101,32,102,111,114,109,115,32,36,118,97,114, + 44,32,36,123,118,97,114,125,32,97,110,100,32,37,118,97, + 114,37,46,10,10,32,32,32,32,85,110,107,110,111,119,110, + 32,118,97,114,105,97,98,108,101,115,32,97,114,101,32,108, + 101,102,116,32,117,110,99,104,97,110,103,101,100,46,243,1, + 0,0,0,36,243,1,0,0,0,37,114,8,0,0,0,78, + 122,2,95,45,218,5,97,115,99,105,105,243,1,0,0,0, + 39,243,1,0,0,0,123,243,1,0,0,0,125,218,8,101, + 110,118,105,114,111,110,98,250,1,36,250,1,37,250,1,39, + 250,1,123,250,1,125,114,86,0,0,0,114,117,0,0,0, + 41,15,114,66,0,0,0,114,67,0,0,0,114,53,0,0, + 0,114,54,0,0,0,218,6,115,116,114,105,110,103,218,13, + 97,115,99,105,105,95,108,101,116,116,101,114,115,218,6,100, + 105,103,105,116,115,218,7,103,101,116,97,116,116,114,114,168, + 0,0,0,114,128,0,0,0,114,125,0,0,0,114,147,0, + 0,0,114,79,0,0,0,114,80,0,0,0,114,169,0,0, + 0,41,15,114,56,0,0,0,114,189,0,0,0,218,8,118, + 97,114,99,104,97,114,115,218,5,113,117,111,116,101,218,7, + 112,101,114,99,101,110,116,218,5,98,114,97,99,101,218,6, + 114,98,114,97,99,101,218,6,100,111,108,108,97,114,114,168, + 0,0,0,218,3,114,101,115,114,125,0,0,0,218,7,112, + 97,116,104,108,101,110,218,1,99,218,3,118,97,114,218,5, + 118,97,108,117,101,115,15,0,0,0,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,114,57,0,0,0,114,31, + 0,0,0,114,31,0,0,0,155,1,0,0,115,72,4,0, + 0,128,0,244,8,0,12,14,143,57,137,57,144,84,139,63, + 128,68,220,7,17,144,36,156,5,212,7,30,216,11,15,144, + 116,209,11,27,160,4,168,68,209,32,48,216,19,23,136,75, + 219,8,21,220,19,24,152,22,215,25,45,209,25,45,176,6, + 183,13,177,13,209,25,61,192,4,209,25,68,192,103,211,19, + 78,136,8,216,16,21,136,5,216,18,22,136,7,216,16,20, + 136,5,216,17,21,136,6,216,17,21,136,6,220,18,25,156, + 34,152,106,168,36,211,18,47,137,7,224,11,14,144,100,137, + 63,152,115,168,36,153,127,216,19,23,136,75,219,8,21,216, + 19,25,215,19,39,209,19,39,168,38,175,45,169,45,209,19, + 55,184,36,209,19,62,136,8,216,16,20,136,5,216,18,21, + 136,7,216,16,19,136,5,216,17,20,136,6,216,17,20,136, + 6,220,18,20,151,42,145,42,136,7,216,10,14,136,114,144, + 1,136,40,128,67,216,12,13,128,69,220,14,17,144,36,139, + 105,128,71,216,10,15,144,39,139,47,216,12,16,144,21,144, + 117,152,81,145,119,208,12,31,136,1,216,11,12,144,5,138, + 58,216,19,23,152,5,160,1,153,9,152,10,208,19,35,136, + 68,220,22,25,152,36,147,105,136,71,240,2,5,13,36,216, + 24,28,159,10,153,10,160,49,155,13,144,5,216,16,19,144, + 113,152,52,160,10,160,21,168,17,161,25,208,27,43,209,23, + 43,209,16,43,146,3,240,8,0,14,15,144,39,138,92,216, + 15,19,144,69,152,65,145,73,152,101,160,97,153,105,208,15, + 40,168,71,210,15,51,216,16,19,144,113,145,8,144,3,216, + 16,21,152,17,145,10,146,5,224,23,27,152,69,160,33,153, + 71,152,72,144,126,144,4,220,26,29,152,100,155,41,144,7, + 240,2,14,17,33,216,28,32,159,74,153,74,160,119,211,28, + 47,144,69,240,10,0,27,31,152,118,160,5,152,44,144,67, + 240,2,6,21,56,216,27,34,152,63,220,36,38,167,75,161, + 75,180,2,183,10,177,10,188,50,191,59,185,59,192,115,211, + 59,75,209,48,76,211,36,77,153,69,224,36,43,168,67,161, + 76,152,69,240,6,0,21,24,152,53,145,76,146,67,216,13, + 14,144,38,139,91,216,15,19,144,69,152,65,145,73,152,101, + 160,97,153,105,208,15,40,168,70,210,15,50,216,16,19,144, + 113,145,8,144,3,216,16,21,152,17,145,10,146,5,216,17, + 21,144,101,152,97,145,105,160,5,168,1,161,9,208,17,42, + 168,101,210,17,51,216,23,27,152,69,160,33,153,71,152,72, + 144,126,144,4,220,26,29,152,100,155,41,144,7,240,2,14, + 17,33,216,28,32,159,74,153,74,160,118,211,28,46,144,69, + 240,10,0,27,31,152,118,160,5,152,44,144,67,240,2,6, + 21,62,216,27,34,152,63,220,36,38,167,75,161,75,180,2, + 183,10,177,10,188,50,191,59,185,59,192,115,211,59,75,209, + 48,76,211,36,77,153,69,224,36,43,168,67,161,76,152,69, + 240,6,0,21,24,152,53,145,76,145,67,224,22,26,152,50, + 152,65,144,104,144,3,216,16,21,152,17,145,10,144,5,216, + 20,24,152,21,152,117,160,113,153,121,208,20,41,144,1,217, + 22,23,152,65,160,24,153,77,216,20,23,152,49,145,72,144, + 67,216,20,25,152,81,145,74,144,69,216,24,28,152,85,160, + 53,168,49,161,57,208,24,45,144,65,241,7,0,23,24,152, + 65,160,24,154,77,240,8,6,17,41,216,23,30,144,127,220, + 32,34,167,11,161,11,172,66,175,74,169,74,180,114,183,123, + 177,123,192,51,211,55,71,209,44,72,211,32,73,153,5,224, + 32,39,168,3,161,12,152,5,240,6,0,17,20,144,117,145, + 12,144,3,217,19,20,216,20,25,152,81,145,74,145,69,224, + 12,15,144,49,137,72,136,67,216,8,13,144,17,137,10,136, + 5,240,87,2,0,11,16,144,39,140,47,240,88,2,0,12, + 15,128,74,248,244,73,2,0,20,30,242,0,2,13,36,216, + 16,19,144,113,152,52,145,120,145,15,144,3,216,24,31,160, + 33,153,11,146,5,240,5,2,13,36,251,244,44,0,28,36, + 242,0,1,21,56,216,32,39,168,35,161,13,176,7,209,32, + 55,155,5,240,3,1,21,56,251,244,21,0,24,34,242,0, + 2,17,40,216,20,23,152,55,160,84,153,62,209,20,41,144, + 67,216,28,35,160,97,153,75,146,69,240,5,2,17,40,251, + 244,64,1,0,28,36,242,0,1,21,62,216,32,38,168,21, + 161,14,176,19,209,32,52,176,118,209,32,61,154,5,240,3, + 1,21,62,251,244,21,0,24,34,242,0,2,17,40,216,20, + 23,152,54,160,69,153,62,168,68,209,27,48,209,20,48,144, + 67,216,28,35,160,97,153,75,146,69,240,5,2,17,40,251, + 244,52,0,24,32,242,0,1,17,41,216,28,34,160,83,153, + 76,146,69,240,3,1,17,41,250,115,111,0,0,0,195,51, + 31,75,25,0,197,7,17,76,13,0,197,30,65,1,75,53, + 0,199,40,17,77,3,0,199,63,65,1,76,41,0,201,56, + 65,1,77,34,0,203,25,22,75,50,3,203,49,1,75,50, + 3,203,53,17,76,10,3,204,9,1,76,10,3,204,13,22, + 76,38,3,204,37,1,76,38,3,204,41,20,77,0,3,204, + 63,1,77,0,3,205,3,25,77,31,3,205,30,1,77,31, + 3,205,34,14,77,51,3,205,50,1,77,51,3,41,1,218, + 14,95,112,97,116,104,95,110,111,114,109,112,97,116,104,99, + 1,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0, + 3,0,0,0,243,212,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,125,0,116,5,0,0,0,0,0,0,0,0,124, + 0,116,6,0,0,0,0,0,0,0,0,171,2,0,0,0, + 0,0,0,114,53,116,1,0,0,0,0,0,0,0,0,106, + 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,116,11,0,0,0,0,0,0,0,0,116,1,0, + 0,0,0,0,0,0,0,106,12,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,171,1,0, + 0,0,0,0,0,120,1,115,2,1,0,100,1,83,0,116, + 11,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,120,1,115,2,1,0,100,2,83,0,41,3,250, + 48,78,111,114,109,97,108,105,122,101,32,112,97,116,104,44, + 32,101,108,105,109,105,110,97,116,105,110,103,32,100,111,117, + 98,108,101,32,115,108,97,115,104,101,115,44,32,101,116,99, + 46,114,135,0,0,0,114,2,0,0,0,41,7,114,66,0, + 0,0,114,67,0,0,0,114,53,0,0,0,114,54,0,0, + 0,114,79,0,0,0,114,204,0,0,0,114,80,0,0,0, + 114,55,0,0,0,115,1,0,0,0,32,114,57,0,0,0, + 114,32,0,0,0,114,32,0,0,0,52,2,0,0,115,75, + 0,0,0,128,0,228,15,17,143,121,137,121,152,20,139,127, + 136,4,220,11,21,144,100,156,69,212,11,34,220,19,21,151, + 59,145,59,156,126,172,98,175,107,169,107,184,36,211,46,63, + 211,31,64,211,19,65,210,19,73,192,84,208,12,73,220,15, + 29,152,100,211,15,35,210,15,42,160,115,208,8,42,114,59, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,12,2,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,0,116,5,0,0,0,0,0, + 0,0,0,124,0,116,6,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,114,9,100,1,125,1,100,2,125, + 2,100,3,125,3,100,4,125,4,110,8,100,5,125,1,100, + 6,125,2,100,7,125,3,100,8,125,4,124,0,106,9,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,2,124,1,171,2,0,0,0,0,0,0,125,0,116, + 11,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,92,3,0,0,125,5,125,6,125,0,124,5,124, + 6,122,0,0,0,125,7,124,0,106,13,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,125,8,100,9,125,9,124,9,116, + 15,0,0,0,0,0,0,0,0,124,8,171,1,0,0,0, + 0,0,0,107,2,0,0,114,95,124,8,124,9,25,0,0, + 0,114,8,124,8,124,9,25,0,0,0,124,3,107,40,0, + 0,114,4,124,8,124,9,61,0,110,63,124,8,124,9,25, + 0,0,0,124,4,107,40,0,0,114,50,124,9,100,9,107, + 68,0,0,114,28,124,8,124,9,100,10,122,10,0,0,25, + 0,0,0,124,4,107,55,0,0,114,17,124,8,124,9,100, + 10,122,10,0,0,124,9,100,10,122,0,0,0,133,2,61, + 0,124,9,100,10,122,23,0,0,125,9,110,22,124,9,100, + 9,107,40,0,0,114,6,124,6,114,4,124,8,124,9,61, + 0,110,11,124,9,100,10,122,13,0,0,125,9,110,5,124, + 9,100,10,122,13,0,0,125,9,124,9,116,15,0,0,0, + 0,0,0,0,0,124,8,171,1,0,0,0,0,0,0,107, + 2,0,0,114,1,140,95,124,7,115,19,124,8,115,17,124, + 8,106,17,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,3,171,1,0,0,0,0,0,0,1, + 0,124,7,124,1,106,19,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,8,171,1,0,0,0, + 0,0,0,122,0,0,0,83,0,41,11,114,206,0,0,0, + 114,83,0,0,0,114,84,0,0,0,114,135,0,0,0,243, + 2,0,0,0,46,46,114,4,0,0,0,114,6,0,0,0, + 114,2,0,0,0,114,3,0,0,0,114,8,0,0,0,114, + 86,0,0,0,41,10,114,66,0,0,0,114,67,0,0,0, + 114,53,0,0,0,114,54,0,0,0,114,71,0,0,0,114, + 14,0,0,0,114,15,0,0,0,114,128,0,0,0,218,6, + 97,112,112,101,110,100,114,12,0,0,0,41,10,114,56,0, + 0,0,114,36,0,0,0,114,39,0,0,0,114,34,0,0, + 0,114,35,0,0,0,114,110,0,0,0,114,111,0,0,0, + 218,6,112,114,101,102,105,120,218,5,99,111,109,112,115,114, + 132,0,0,0,115,10,0,0,0,32,32,32,32,32,32,32, + 32,32,32,114,57,0,0,0,114,32,0,0,0,114,32,0, + 0,0,15,2,0,0,115,51,1,0,0,128,0,228,15,17, + 143,121,137,121,152,20,139,127,136,4,220,11,21,144,100,156, + 69,212,11,34,216,18,23,136,67,216,21,25,136,70,216,21, + 25,136,70,216,21,26,137,70,224,18,22,136,67,216,21,24, + 136,70,216,21,24,136,70,216,21,25,136,70,216,15,19,143, + 124,137,124,152,70,160,67,211,15,40,136,4,220,28,37,160, + 100,155,79,209,8,25,136,5,136,116,144,84,216,17,22,152, + 20,145,28,136,6,216,16,20,151,10,145,10,152,51,147,15, + 136,5,216,12,13,136,1,216,14,15,148,35,144,101,147,42, + 138,110,216,19,24,152,17,146,56,152,117,160,81,153,120,168, + 54,210,31,49,216,20,25,152,33,145,72,216,17,22,144,113, + 145,24,152,86,210,17,35,216,19,20,144,113,146,53,152,85, + 160,49,160,81,161,51,153,90,168,54,210,29,49,216,24,29, + 152,97,160,1,153,99,160,33,160,65,161,35,152,103,152,14, + 216,20,21,152,17,145,70,145,65,216,21,22,152,33,146,86, + 161,4,216,24,29,152,97,153,8,224,20,21,152,17,145,70, + 145,65,224,16,17,144,81,145,6,144,1,240,25,0,15,16, + 148,35,144,101,147,42,139,110,241,28,0,16,22,153,101,216, + 12,17,143,76,137,76,152,22,212,12,32,216,15,21,152,3, + 159,8,153,8,160,21,155,15,209,15,39,208,8,39,114,59, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,226,0,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,0,116,5,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,115,69,116, + 7,0,0,0,0,0,0,0,0,124,0,116,8,0,0,0, + 0,0,0,0,0,171,2,0,0,0,0,0,0,114,21,116, + 1,0,0,0,0,0,0,0,0,106,10,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,125,1,110,20,116,1,0,0,0,0,0, + 0,0,0,106,12,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,125, + 1,116,15,0,0,0,0,0,0,0,0,124,1,124,0,171, + 2,0,0,0,0,0,0,125,0,116,17,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,83,0,41, + 1,122,164,82,101,116,117,114,110,32,116,104,101,32,97,98, + 115,111,108,117,116,101,32,118,101,114,115,105,111,110,32,111, + 102,32,97,32,112,97,116,104,32,97,115,32,97,32,102,97, + 108,108,98,97,99,107,32,102,117,110,99,116,105,111,110,32, + 105,110,32,99,97,115,101,10,32,32,32,32,96,110,116,46, + 95,103,101,116,102,117,108,108,112,97,116,104,110,97,109,101, + 96,32,105,115,32,110,111,116,32,97,118,97,105,108,97,98, + 108,101,32,111,114,32,114,97,105,115,101,115,32,79,83,69, + 114,114,111,114,46,32,83,101,101,32,98,112,111,45,51,49, + 48,52,55,32,102,111,114,10,32,32,32,32,109,111,114,101, + 46,10,10,32,32,32,32,41,9,114,66,0,0,0,114,67, + 0,0,0,114,11,0,0,0,114,53,0,0,0,114,54,0, + 0,0,218,7,103,101,116,99,119,100,98,218,6,103,101,116, + 99,119,100,114,12,0,0,0,114,32,0,0,0,41,2,114, + 56,0,0,0,218,3,99,119,100,115,2,0,0,0,32,32, + 114,57,0,0,0,218,17,95,97,98,115,112,97,116,104,95, + 102,97,108,108,98,97,99,107,114,216,0,0,0,60,2,0, + 0,115,77,0,0,0,128,0,244,14,0,12,14,143,57,137, + 57,144,84,139,63,128,68,220,11,16,144,20,140,59,220,11, + 21,144,100,156,69,212,11,34,220,18,20,151,42,145,42,147, + 44,137,67,228,18,20,151,41,145,41,147,43,136,67,220,15, + 19,144,67,152,20,139,127,136,4,220,11,19,144,68,139,62, + 208,4,25,114,59,0,0,0,41,1,218,16,95,103,101,116, + 102,117,108,108,112,97,116,104,110,97,109,101,99,1,0,0, + 0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0, + 0,243,108,0,0,0,151,0,9,0,116,1,0,0,0,0, + 0,0,0,0,116,3,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 83,0,35,0,116,4,0,0,0,0,0,0,0,0,116,6, + 0,0,0,0,0,0,0,0,102,2,36,0,114,14,1,0, + 116,9,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,99,2,89,0,83,0,119,0,120,3,89,0, + 119,1,41,1,122,38,82,101,116,117,114,110,32,116,104,101, + 32,97,98,115,111,108,117,116,101,32,118,101,114,115,105,111, + 110,32,111,102,32,97,32,112,97,116,104,46,41,5,114,217, + 0,0,0,114,32,0,0,0,114,146,0,0,0,114,147,0, + 0,0,114,216,0,0,0,114,55,0,0,0,115,1,0,0, + 0,32,114,57,0,0,0,114,33,0,0,0,114,33,0,0, + 0,84,2,0,0,115,53,0,0,0,128,0,240,4,3,9, + 43,220,19,35,164,72,168,84,163,78,211,19,51,208,12,51, + 248,220,16,23,156,26,208,15,36,242,0,1,9,43,220,19, + 36,160,84,211,19,42,210,12,42,240,3,1,9,43,250,115, + 12,0,0,0,130,19,22,0,150,26,51,3,178,1,51,3, + 41,2,218,17,95,103,101,116,102,105,110,97,108,112,97,116, + 104,110,97,109,101,218,8,114,101,97,100,108,105,110,107,99, + 1,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0, + 3,0,0,0,243,120,1,0,0,151,0,100,1,125,1,116, + 1,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,125,2,116,3,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,124,2,118,1,114,111,124,2,106, + 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,116,3,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,171,1,0,0,0,0,0,0,1, + 0,9,0,124,0,125,3,116,7,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,125,0,116,9,0, + 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0, + 0,115,46,116,11,0,0,0,0,0,0,0,0,124,3,171, + 1,0,0,0,0,0,0,115,5,124,3,125,0,9,0,124, + 0,83,0,116,13,0,0,0,0,0,0,0,0,116,15,0, + 0,0,0,0,0,0,0,116,17,0,0,0,0,0,0,0, + 0,124,3,171,1,0,0,0,0,0,0,124,0,171,2,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,125,0,116, + 3,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,124,2,118,1,114,1,140,111,124,0,83,0,35, + 0,116,18,0,0,0,0,0,0,0,0,36,0,114,26,125, + 4,124,4,106,20,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,118,0,114,6,89,0,100, + 0,125,4,126,4,124,0,83,0,130,0,100,0,125,4,126, + 4,119,1,116,22,0,0,0,0,0,0,0,0,36,0,114, + 4,1,0,89,0,124,0,83,0,119,0,120,3,89,0,119, + 1,41,2,78,41,12,114,86,0,0,0,114,117,0,0,0, + 114,85,0,0,0,233,5,0,0,0,233,21,0,0,0,233, + 32,0,0,0,233,50,0,0,0,233,67,0,0,0,233,87, + 0,0,0,105,38,17,0,0,105,40,17,0,0,105,41,17, + 0,0,41,12,218,3,115,101,116,114,10,0,0,0,218,3, + 97,100,100,218,12,95,110,116,95,114,101,97,100,108,105,110, + 107,114,11,0,0,0,114,24,0,0,0,114,32,0,0,0, + 114,12,0,0,0,114,18,0,0,0,114,146,0,0,0,218, + 8,119,105,110,101,114,114,111,114,114,147,0,0,0,41,5, + 114,56,0,0,0,218,16,97,108,108,111,119,101,100,95,119, + 105,110,101,114,114,111,114,218,4,115,101,101,110,218,8,111, + 108,100,95,112,97,116,104,218,2,101,120,115,5,0,0,0, + 32,32,32,32,32,114,57,0,0,0,218,14,95,114,101,97, + 100,108,105,110,107,95,100,101,101,112,114,236,0,0,0,97, + 2,0,0,115,207,0,0,0,128,0,240,30,0,28,76,1, + 208,8,24,228,15,18,139,117,136,4,220,14,22,144,116,139, + 110,160,68,209,14,40,216,12,16,143,72,137,72,148,88,152, + 100,147,94,212,12,36,240,2,19,13,22,216,27,31,144,8, + 220,23,35,160,68,211,23,41,144,4,244,6,0,24,29,152, + 84,148,123,244,8,0,28,34,160,40,212,27,43,216,31,39, + 152,4,216,24,29,240,18,0,16,20,136,11,244,17,0,28, + 36,164,68,172,23,176,24,211,41,58,184,68,211,36,65,211, + 27,66,144,68,244,29,0,15,23,144,116,139,110,160,68,210, + 14,40,240,44,0,16,20,136,11,248,244,15,0,20,27,242, + 0,3,13,22,216,19,21,151,59,145,59,208,34,50,209,19, + 50,219,20,25,240,10,0,16,20,136,11,240,9,0,17,22, + 251,220,19,29,242,0,2,13,22,224,16,21,216,15,19,136, + 11,240,7,2,13,22,250,115,41,0,0,0,181,37,66,11, + 0,193,29,30,66,11,0,194,11,9,66,57,3,194,20,14, + 66,41,3,194,40,1,66,41,3,194,41,12,66,57,3,194, + 56,1,66,57,3,99,1,0,0,0,0,0,0,0,0,0, + 0,0,5,0,0,0,3,0,0,0,243,102,1,0,0,151, + 0,100,1,125,1,124,0,100,0,100,2,26,0,125,2,124, + 0,114,28,9,0,116,1,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,125,0,124,2,114,12,116, + 3,0,0,0,0,0,0,0,0,124,0,124,2,171,2,0, + 0,0,0,0,0,83,0,124,0,83,0,124,2,83,0,35, + 0,116,4,0,0,0,0,0,0,0,0,36,0,114,123,125, + 3,124,3,106,6,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,118,1,114,1,130,0,9, + 0,116,9,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,125,4,124,4,124,0,107,55,0,0,114, + 21,124,2,114,12,116,3,0,0,0,0,0,0,0,0,124, + 4,124,2,171,2,0,0,0,0,0,0,110,1,124,4,99, + 2,89,0,100,0,125,3,126,3,83,0,110,15,35,0,116, + 4,0,0,0,0,0,0,0,0,36,0,114,3,1,0,89, + 0,110,4,119,0,120,3,89,0,119,1,116,11,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,92, + 2,0,0,125,0,125,5,124,0,114,12,124,5,115,10,124, + 0,124,2,122,0,0,0,99,2,89,0,100,0,125,3,126, + 3,83,0,124,2,114,12,116,3,0,0,0,0,0,0,0, + 0,124,5,124,2,171,2,0,0,0,0,0,0,110,1,124, + 5,125,2,89,0,100,0,125,3,126,3,110,8,100,0,125, + 3,126,3,119,1,119,0,120,3,89,0,119,1,124,0,114, + 1,140,168,140,141,41,3,78,41,15,114,86,0,0,0,114, + 117,0,0,0,114,85,0,0,0,114,222,0,0,0,114,223, + 0,0,0,114,224,0,0,0,114,225,0,0,0,233,53,0, + 0,0,233,65,0,0,0,114,226,0,0,0,114,227,0,0, + 0,233,123,0,0,0,233,161,0,0,0,105,128,7,0,0, + 105,129,7,0,0,114,8,0,0,0,41,6,114,219,0,0, + 0,114,12,0,0,0,114,146,0,0,0,114,231,0,0,0, + 114,236,0,0,0,114,15,0,0,0,41,6,114,56,0,0, + 0,114,232,0,0,0,114,112,0,0,0,114,235,0,0,0, + 218,8,110,101,119,95,112,97,116,104,218,4,110,97,109,101, + 115,6,0,0,0,32,32,32,32,32,32,114,57,0,0,0, + 218,27,95,103,101,116,102,105,110,97,108,112,97,116,104,110, + 97,109,101,95,110,111,110,115,116,114,105,99,116,114,244,0, + 0,0,139,2,0,0,115,222,0,0,0,128,0,240,36,0, + 28,88,1,208,8,24,240,8,0,16,20,144,66,144,81,136, + 120,136,4,217,14,18,240,2,22,13,58,220,23,40,168,20, + 211,23,46,144,4,217,43,47,148,116,152,68,160,36,211,23, + 39,208,16,57,176,84,208,16,57,240,42,0,16,20,136,11, + 248,244,41,0,20,27,242,0,19,13,58,216,19,21,151,59, + 145,59,208,38,54,209,19,54,216,20,25,240,2,9,17,25, + 244,8,0,32,46,168,100,211,31,51,144,72,216,23,31,160, + 52,210,23,39,217,55,59,156,116,160,72,168,100,212,31,51, + 192,24,213,24,73,240,3,0,24,40,248,228,23,30,242,0, + 2,17,25,225,20,24,240,5,2,17,25,250,244,6,0,30, + 35,160,52,155,91,145,10,144,4,144,100,241,8,0,20,24, + 161,4,216,27,31,160,36,153,59,213,20,38,217,43,47,148, + 116,152,68,160,36,212,23,39,176,84,149,4,251,240,39,19, + 13,58,250,242,9,0,15,19,248,115,78,0,0,0,139,24, + 40,0,164,1,40,0,168,9,66,44,3,177,15,66,39,3, + 193,1,31,65,39,2,193,32,1,66,44,3,193,38,1,66, + 39,3,193,39,9,65,51,5,193,48,2,66,39,3,193,50, + 1,65,51,5,193,51,25,66,39,3,194,12,1,66,44,3, + 194,18,16,66,39,3,194,39,5,66,44,3,70,41,1,218, + 6,115,116,114,105,99,116,99,1,0,0,0,0,0,0,0, + 1,0,0,0,6,0,0,0,3,0,0,0,243,146,3,0, + 0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,0,116,3,0,0,0,0,0, + 0,0,0,124,0,116,4,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,114,73,100,1,125,2,100,2,125, + 3,100,3,125,4,116,7,0,0,0,0,0,0,0,0,106, + 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,125,5,116,11,0, + 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0, + 0,116,11,0,0,0,0,0,0,0,0,116,7,0,0,0, + 0,0,0,0,0,106,12,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,116,14,0,0,0,0,0, + 0,0,0,171,1,0,0,0,0,0,0,171,1,0,0,0, + 0,0,0,107,40,0,0,114,55,121,4,100,5,125,2,100, + 6,125,3,100,7,125,4,116,7,0,0,0,0,0,0,0, + 0,106,16,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,125,5,116, + 11,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,116,11,0,0,0,0,0,0,0,0,116,14,0, + 0,0,0,0,0,0,0,171,1,0,0,0,0,0,0,107, + 40,0,0,114,1,121,8,124,0,106,19,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,2,171, + 1,0,0,0,0,0,0,125,6,124,6,115,23,116,21,0, + 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0, + 0,115,12,116,23,0,0,0,0,0,0,0,0,124,5,124, + 0,171,2,0,0,0,0,0,0,125,0,9,0,116,25,0, + 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0, + 0,125,0,100,9,125,7,124,6,115,85,124,0,106,19,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,2,171,1,0,0,0,0,0,0,114,68,124,0,106, + 19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,3,171,1,0,0,0,0,0,0,114,18,124, + 4,124,0,116,37,0,0,0,0,0,0,0,0,124,3,171, + 1,0,0,0,0,0,0,100,0,26,0,122,0,0,0,125, + 9,110,14,124,0,116,37,0,0,0,0,0,0,0,0,124, + 2,171,1,0,0,0,0,0,0,100,0,26,0,125,9,9, + 0,116,25,0,0,0,0,0,0,0,0,124,9,171,1,0, + 0,0,0,0,0,124,0,107,40,0,0,114,2,124,9,125, + 0,124,0,83,0,124,0,83,0,35,0,116,26,0,0,0, + 0,0,0,0,0,36,0,114,44,125,8,124,1,114,21,116, + 29,0,0,0,0,0,0,0,0,116,31,0,0,0,0,0, + 0,0,0,124,8,171,1,0,0,0,0,0,0,171,1,0, + 0,0,0,0,0,100,0,130,2,116,1,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,125,0,89, + 0,100,0,125,8,126,8,140,137,100,0,125,8,126,8,119, + 1,116,28,0,0,0,0,0,0,0,0,36,0,114,36,125, + 8,124,1,114,1,130,0,124,8,106,32,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,125,7,116, + 35,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,125,0,89,0,100,0,125,8,126,8,140,180,100, + 0,125,8,126,8,119,1,119,0,120,3,89,0,119,1,35, + 0,116,26,0,0,0,0,0,0,0,0,36,0,114,11,125, + 8,89,0,100,0,125,8,126,8,124,0,83,0,100,0,125, + 8,126,8,119,1,116,28,0,0,0,0,0,0,0,0,36, + 0,114,28,125,8,124,8,106,32,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,127,7,107,40,0, + 0,114,2,124,9,125,0,89,0,100,0,125,8,126,8,124, + 0,83,0,100,0,125,8,126,8,119,1,119,0,120,3,89, + 0,119,1,41,10,78,115,4,0,0,0,92,92,63,92,114, + 114,0,0,0,115,2,0,0,0,92,92,115,7,0,0,0, + 92,92,46,92,78,85,76,122,4,92,92,63,92,114,115,0, + 0,0,122,2,92,92,122,7,92,92,46,92,78,85,76,114, + 8,0,0,0,41,19,114,32,0,0,0,114,53,0,0,0, + 114,54,0,0,0,114,66,0,0,0,114,213,0,0,0,114, + 10,0,0,0,114,79,0,0,0,114,41,0,0,0,114,214, + 0,0,0,114,87,0,0,0,114,11,0,0,0,114,12,0, + 0,0,114,219,0,0,0,114,147,0,0,0,114,146,0,0, + 0,218,3,115,116,114,114,231,0,0,0,114,244,0,0,0, + 114,128,0,0,0,41,10,114,56,0,0,0,114,245,0,0, + 0,114,210,0,0,0,114,121,0,0,0,218,14,110,101,119, + 95,117,110,99,95,112,114,101,102,105,120,114,215,0,0,0, + 218,10,104,97,100,95,112,114,101,102,105,120,218,16,105,110, + 105,116,105,97,108,95,119,105,110,101,114,114,111,114,114,235, + 0,0,0,218,5,115,112,97,116,104,115,10,0,0,0,32, + 32,32,32,32,32,32,32,32,32,114,57,0,0,0,114,42, + 0,0,0,114,42,0,0,0,188,2,0,0,115,174,1,0, + 0,128,0,220,15,23,152,4,139,126,136,4,220,11,21,144, + 100,156,69,212,11,34,216,21,31,136,70,216,25,40,136,74, + 216,29,36,136,78,220,18,20,151,42,145,42,147,44,136,67, + 228,15,23,152,4,139,126,164,24,172,34,175,43,169,43,180, + 103,211,42,62,211,33,63,210,15,63,216,23,36,224,21,30, + 136,70,216,25,39,136,74,216,29,35,136,78,220,18,20,151, + 41,145,41,147,43,136,67,228,15,23,152,4,139,126,164,24, + 172,39,211,33,50,210,15,50,216,23,35,216,21,25,151,95, + 145,95,160,86,211,21,44,136,10,217,15,25,164,37,168,4, + 164,43,220,19,23,152,3,152,84,147,63,136,68,240,2,15, + 9,53,220,19,36,160,84,211,19,42,136,68,216,31,32,208, + 12,28,241,34,0,16,26,152,100,159,111,153,111,168,102,212, + 30,53,240,6,0,16,20,143,127,137,127,152,122,212,15,42, + 216,24,38,168,20,172,99,176,42,171,111,208,46,62,208,41, + 63,209,24,63,145,5,224,24,28,156,83,160,22,155,91,152, + 92,208,24,42,144,5,240,4,11,13,33,220,19,36,160,85, + 211,19,43,168,116,210,19,51,216,27,32,144,68,240,20,0, + 16,20,136,11,136,116,136,11,248,244,73,1,0,16,26,242, + 0,7,9,34,241,10,0,16,22,220,22,29,156,99,160,34, + 155,103,211,22,38,168,68,208,16,48,220,19,27,152,68,147, + 62,141,68,251,220,15,22,242,0,4,9,53,217,15,21,216, + 16,21,216,31,33,159,123,153,123,208,12,28,220,19,46,168, + 116,211,19,52,141,68,251,240,9,4,9,53,251,244,38,0, + 20,30,242,0,3,13,21,243,6,0,17,21,240,12,0,16, + 20,136,11,251,244,11,0,20,27,242,0,4,13,33,240,6, + 0,20,22,151,59,145,59,208,34,50,210,19,50,216,27,32, + 144,68,251,216,15,19,136,11,251,240,11,4,13,33,250,115, + 66,0,0,0,195,6,13,68,44,0,196,24,16,70,15,0, + 196,44,9,70,12,3,196,53,34,69,28,3,197,28,12,70, + 12,3,197,40,26,70,7,3,198,7,5,70,12,3,198,15, + 9,71,6,3,198,30,12,71,6,3,198,42,17,71,1,3, + 199,1,5,71,6,3,84,99,2,0,0,0,0,0,0,0, + 0,0,0,0,7,0,0,0,3,0,0,0,243,76,3,0, + 0,151,0,116,1,0,0,0,0,0,0,0,0,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,125,0,116,5,0, + 0,0,0,0,0,0,0,124,0,116,6,0,0,0,0,0, + 0,0,0,171,2,0,0,0,0,0,0,114,7,100,1,125, + 2,100,2,125,3,100,3,125,4,110,6,100,4,125,2,100, + 5,125,3,100,6,125,4,124,1,128,2,124,3,125,1,124, + 0,115,11,116,9,0,0,0,0,0,0,0,0,100,8,171, + 1,0,0,0,0,0,0,130,1,116,1,0,0,0,0,0, + 0,0,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,125,1,9,0,116,11,0,0,0,0,0,0,0,0,116, + 13,0,0,0,0,0,0,0,0,124,1,171,1,0,0,0, + 0,0,0,171,1,0,0,0,0,0,0,125,5,116,11,0, + 0,0,0,0,0,0,0,116,13,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,171,1,0,0,0, + 0,0,0,125,6,116,15,0,0,0,0,0,0,0,0,124, + 5,171,1,0,0,0,0,0,0,92,3,0,0,125,7,125, + 8,125,9,116,15,0,0,0,0,0,0,0,0,124,6,171, + 1,0,0,0,0,0,0,92,3,0,0,125,10,125,8,125, + 11,116,17,0,0,0,0,0,0,0,0,124,7,171,1,0, + 0,0,0,0,0,116,17,0,0,0,0,0,0,0,0,124, + 10,171,1,0,0,0,0,0,0,107,55,0,0,114,17,116, + 9,0,0,0,0,0,0,0,0,100,9,124,10,155,2,100, + 10,124,7,155,2,157,4,171,1,0,0,0,0,0,0,130, + 1,124,9,106,19,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,2,171,1,0,0,0,0,0, + 0,68,0,143,12,99,2,103,0,99,2,93,7,0,0,125, + 12,124,12,115,1,140,6,124,12,145,2,140,9,4,0,125, + 13,125,12,124,11,106,19,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,2,171,1,0,0,0, + 0,0,0,68,0,143,12,99,2,103,0,99,2,93,7,0, + 0,125,12,124,12,115,1,140,6,124,12,145,2,140,9,4, + 0,125,14,125,12,100,11,125,15,116,21,0,0,0,0,0, + 0,0,0,124,13,124,14,171,2,0,0,0,0,0,0,68, + 0,93,35,0,0,92,2,0,0,125,16,125,17,116,17,0, + 0,0,0,0,0,0,0,124,16,171,1,0,0,0,0,0, + 0,116,17,0,0,0,0,0,0,0,0,124,17,171,1,0, + 0,0,0,0,0,107,55,0,0,114,2,1,0,110,7,124, + 15,100,12,122,13,0,0,125,15,140,37,4,0,124,4,103, + 1,116,23,0,0,0,0,0,0,0,0,124,13,171,1,0, + 0,0,0,0,0,124,15,122,10,0,0,122,5,0,0,124, + 14,124,15,100,7,26,0,122,0,0,0,125,18,124,18,115, + 2,124,3,83,0,116,25,0,0,0,0,0,0,0,0,124, + 18,142,0,83,0,99,2,1,0,99,2,125,12,119,0,99, + 2,1,0,99,2,125,12,119,0,35,0,116,26,0,0,0, + 0,0,0,0,0,116,8,0,0,0,0,0,0,0,0,116, + 28,0,0,0,0,0,0,0,0,116,30,0,0,0,0,0, + 0,0,0,116,32,0,0,0,0,0,0,0,0,102,5,36, + 0,114,25,1,0,116,35,0,0,0,0,0,0,0,0,106, + 36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,13,124,0,124,1,171,3,0,0,0,0,0, + 0,1,0,130,0,119,0,120,3,89,0,119,1,41,14,122, + 35,82,101,116,117,114,110,32,97,32,114,101,108,97,116,105, + 118,101,32,118,101,114,115,105,111,110,32,111,102,32,97,32, + 112,97,116,104,114,83,0,0,0,114,135,0,0,0,114,208, + 0,0,0,114,4,0,0,0,114,2,0,0,0,114,3,0, + 0,0,78,122,17,110,111,32,112,97,116,104,32,115,112,101, + 99,105,102,105,101,100,122,17,112,97,116,104,32,105,115,32, + 111,110,32,109,111,117,110,116,32,122,17,44,32,115,116,97, + 114,116,32,111,110,32,109,111,117,110,116,32,114,8,0,0, + 0,114,86,0,0,0,114,44,0,0,0,41,19,114,66,0, + 0,0,114,67,0,0,0,114,53,0,0,0,114,54,0,0, + 0,114,147,0,0,0,114,33,0,0,0,114,32,0,0,0, + 114,14,0,0,0,114,10,0,0,0,114,15,0,0,0,218, + 3,122,105,112,114,128,0,0,0,114,12,0,0,0,114,94, + 0,0,0,114,95,0,0,0,114,96,0,0,0,218,18,68, + 101,112,114,101,99,97,116,105,111,110,87,97,114,110,105,110, + 103,114,97,0,0,0,114,98,0,0,0,41,19,114,56,0, + 0,0,114,124,0,0,0,114,36,0,0,0,114,34,0,0, + 0,114,35,0,0,0,218,9,115,116,97,114,116,95,97,98, + 115,218,8,112,97,116,104,95,97,98,115,218,11,115,116,97, + 114,116,95,100,114,105,118,101,218,1,95,218,10,115,116,97, + 114,116,95,114,101,115,116,218,10,112,97,116,104,95,100,114, + 105,118,101,218,9,112,97,116,104,95,114,101,115,116,114,159, + 0,0,0,218,10,115,116,97,114,116,95,108,105,115,116,218, + 9,112,97,116,104,95,108,105,115,116,114,132,0,0,0,218, + 2,101,49,218,2,101,50,218,8,114,101,108,95,108,105,115, + 116,115,19,0,0,0,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,114,57,0,0,0,114,44, + 0,0,0,114,44,0,0,0,254,2,0,0,115,179,1,0, + 0,128,0,228,11,13,143,57,137,57,144,84,139,63,128,68, + 220,7,17,144,36,156,5,212,7,30,216,14,19,136,3,216, + 17,21,136,6,216,17,22,137,6,224,14,18,136,3,216,17, + 20,136,6,216,17,21,136,6,224,7,12,128,125,216,16,22, + 136,5,225,11,15,220,14,24,208,25,44,211,14,45,208,8, + 45,228,12,14,143,73,137,73,144,101,211,12,28,128,69,240, + 2,24,5,14,220,20,27,156,72,160,85,155,79,211,20,44, + 136,9,220,19,26,156,56,160,68,155,62,211,19,42,136,8, + 220,37,46,168,121,211,37,57,209,8,34,136,11,144,81,152, + 10,220,35,44,168,88,211,35,54,209,8,32,136,10,144,65, + 144,121,220,11,19,144,75,211,11,32,164,72,168,90,211,36, + 56,210,11,56,221,18,28,218,16,26,153,75,240,3,1,30, + 41,243,0,1,19,42,240,0,1,13,42,240,6,0,34,44, + 215,33,49,209,33,49,176,35,211,33,54,214,21,60,152,65, + 186,33,146,97,208,21,60,136,10,208,21,60,216,32,41,167, + 15,161,15,176,3,211,32,52,214,20,58,152,49,186,1,146, + 81,208,20,58,136,9,208,20,58,224,12,13,136,1,220,22, + 25,152,42,160,105,211,22,48,242,0,3,9,19,137,70,136, + 66,144,2,220,15,23,152,2,139,124,156,120,168,2,155,124, + 210,15,43,217,16,21,216,12,13,144,17,137,70,137,65,240, + 7,3,9,19,240,10,0,21,27,144,56,156,115,160,58,155, + 127,168,113,209,31,48,209,19,49,176,73,184,97,184,98,176, + 77,209,19,65,136,8,217,15,23,216,19,25,136,77,220,15, + 19,144,88,136,127,208,8,30,249,242,25,0,22,61,249,218, + 20,58,248,244,24,0,13,22,148,122,164,62,180,60,212,65, + 83,208,11,84,242,0,2,5,14,220,8,19,215,8,36,209, + 8,36,160,89,176,4,176,101,212,8,60,216,8,13,240,5, + 2,5,14,250,115,62,0,0,0,193,26,66,1,69,44,0, + 195,27,7,69,34,4,195,35,4,69,34,4,195,39,21,69, + 44,0,195,60,7,69,39,4,196,4,4,69,39,4,196,8, + 65,17,69,44,0,197,26,7,69,44,0,197,34,10,69,44, + 0,197,44,55,70,35,3,99,1,0,0,0,0,0,0,0, + 0,0,0,0,10,0,0,0,3,0,0,0,243,96,4,0, + 0,151,0,124,0,115,11,116,1,0,0,0,0,0,0,0, + 0,100,1,171,1,0,0,0,0,0,0,130,1,116,3,0, + 0,0,0,0,0,0,0,116,5,0,0,0,0,0,0,0, + 0,116,6,0,0,0,0,0,0,0,0,106,8,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 0,171,2,0,0,0,0,0,0,171,1,0,0,0,0,0, + 0,125,0,116,11,0,0,0,0,0,0,0,0,124,0,100, + 2,25,0,0,0,116,12,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,114,7,100,3,125,1,100,4,125, + 2,100,5,125,3,110,6,100,6,125,1,100,7,125,2,100, + 8,125,3,9,0,124,0,68,0,143,4,99,2,103,0,99, + 2,93,43,0,0,125,4,116,15,0,0,0,0,0,0,0, + 0,124,4,106,17,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,2,124,1,171,2,0,0,0, + 0,0,0,106,19,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,171, + 1,0,0,0,0,0,0,145,2,140,45,4,0,125,5,125, + 4,124,5,68,0,143,6,143,7,143,4,99,4,103,0,99, + 2,93,23,0,0,92,3,0,0,125,6,125,7,125,4,124, + 4,106,21,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,145, + 2,140,25,4,0,125,8,125,7,125,6,125,4,116,23,0, + 0,0,0,0,0,0,0,124,5,68,0,143,6,143,7,143, + 4,99,4,104,0,99,2,93,8,0,0,92,3,0,0,125, + 6,125,7,125,4,124,7,146,2,140,10,4,0,99,4,125, + 4,125,7,125,6,171,1,0,0,0,0,0,0,100,9,107, + 55,0,0,114,11,116,1,0,0,0,0,0,0,0,0,100, + 10,171,1,0,0,0,0,0,0,130,1,116,23,0,0,0, + 0,0,0,0,0,124,5,68,0,143,6,143,7,143,4,99, + 4,104,0,99,2,93,8,0,0,92,3,0,0,125,6,125, + 7,125,4,124,6,146,2,140,10,4,0,99,4,125,4,125, + 7,125,6,171,1,0,0,0,0,0,0,100,9,107,55,0, + 0,114,11,116,1,0,0,0,0,0,0,0,0,100,11,171, + 1,0,0,0,0,0,0,130,1,116,15,0,0,0,0,0, + 0,0,0,124,0,100,2,25,0,0,0,106,17,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 2,124,1,171,2,0,0,0,0,0,0,171,1,0,0,0, + 0,0,0,92,3,0,0,125,9,125,10,125,11,124,11,106, + 21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,171,1,0,0,0,0,0,0,125,12,124, + 12,68,0,143,13,99,2,103,0,99,2,93,13,0,0,125, + 13,124,13,115,1,140,6,124,13,124,3,107,55,0,0,115, + 1,140,12,124,13,145,2,140,15,4,0,125,12,125,13,124, + 8,68,0,143,14,143,13,99,3,103,0,99,2,93,27,0, + 0,125,14,124,14,68,0,143,13,99,2,103,0,99,2,93, + 13,0,0,125,13,124,13,115,1,140,6,124,13,124,3,107, + 55,0,0,115,1,140,12,124,13,145,2,140,15,4,0,99, + 2,125,13,145,2,140,29,4,0,125,8,125,14,125,13,116, + 25,0,0,0,0,0,0,0,0,124,8,171,1,0,0,0, + 0,0,0,125,15,116,27,0,0,0,0,0,0,0,0,124, + 8,171,1,0,0,0,0,0,0,125,16,116,29,0,0,0, + 0,0,0,0,0,124,15,171,1,0,0,0,0,0,0,68, + 0,93,20,0,0,92,2,0,0,125,17,125,13,124,13,124, + 16,124,17,25,0,0,0,107,55,0,0,115,1,140,15,124, + 12,100,12,124,17,26,0,125,12,1,0,110,15,4,0,124, + 12,100,12,116,23,0,0,0,0,0,0,0,0,124,15,171, + 1,0,0,0,0,0,0,26,0,125,12,124,9,124,10,122, + 0,0,0,124,1,106,31,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,12,171,1,0,0,0, + 0,0,0,122,0,0,0,83,0,99,2,1,0,99,2,125, + 4,119,0,99,2,1,0,99,4,125,4,125,7,125,6,119, + 0,99,2,1,0,99,4,125,4,125,7,125,6,119,0,99, + 2,1,0,99,4,125,4,125,7,125,6,119,0,99,2,1, + 0,99,2,125,13,119,0,99,2,1,0,99,2,125,13,119, + 0,99,2,1,0,99,3,125,13,125,14,119,0,35,0,116, + 32,0,0,0,0,0,0,0,0,116,34,0,0,0,0,0, + 0,0,0,102,2,36,0,114,24,1,0,116,37,0,0,0, + 0,0,0,0,0,106,38,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,13,103,1,124,0,162, + 1,173,6,142,0,1,0,130,0,119,0,120,3,89,0,119, + 1,41,14,122,68,71,105,118,101,110,32,97,32,115,101,113, + 117,101,110,99,101,32,111,102,32,112,97,116,104,32,110,97, + 109,101,115,44,32,114,101,116,117,114,110,115,32,116,104,101, + 32,108,111,110,103,101,115,116,32,99,111,109,109,111,110,32, + 115,117,98,45,112,97,116,104,46,122,37,99,111,109,109,111, + 110,112,97,116,104,40,41,32,97,114,103,32,105,115,32,97, + 110,32,101,109,112,116,121,32,115,101,113,117,101,110,99,101, + 114,8,0,0,0,114,83,0,0,0,114,84,0,0,0,114, + 135,0,0,0,114,4,0,0,0,114,6,0,0,0,114,2, + 0,0,0,114,86,0,0,0,122,37,67,97,110,39,116,32, + 109,105,120,32,97,98,115,111,108,117,116,101,32,97,110,100, + 32,114,101,108,97,116,105,118,101,32,112,97,116,104,115,122, + 31,80,97,116,104,115,32,100,111,110,39,116,32,104,97,118, + 101,32,116,104,101,32,115,97,109,101,32,100,114,105,118,101, + 78,114,48,0,0,0,41,20,114,147,0,0,0,218,5,116, + 117,112,108,101,114,93,0,0,0,114,66,0,0,0,114,67, + 0,0,0,114,53,0,0,0,114,54,0,0,0,114,14,0, + 0,0,114,71,0,0,0,114,81,0,0,0,114,15,0,0, + 0,114,128,0,0,0,218,3,109,105,110,218,3,109,97,120, + 218,9,101,110,117,109,101,114,97,116,101,114,12,0,0,0, + 114,94,0,0,0,114,95,0,0,0,114,97,0,0,0,114, + 98,0,0,0,41,18,114,99,0,0,0,114,36,0,0,0, + 114,39,0,0,0,114,34,0,0,0,114,105,0,0,0,218, + 11,100,114,105,118,101,115,112,108,105,116,115,114,130,0,0, + 0,114,131,0,0,0,218,11,115,112,108,105,116,95,112,97, + 116,104,115,114,110,0,0,0,114,111,0,0,0,114,56,0, + 0,0,218,6,99,111,109,109,111,110,114,201,0,0,0,114, + 76,0,0,0,218,2,115,49,218,2,115,50,114,132,0,0, + 0,115,18,0,0,0,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,114,57,0,0,0,114,48,0, + 0,0,114,48,0,0,0,54,3,0,0,115,43,2,0,0, + 128,0,241,6,0,12,17,220,14,24,208,25,64,211,14,65, + 208,8,65,228,12,17,148,35,148,98,151,105,145,105,160,21, + 211,18,39,211,12,40,128,69,220,7,17,144,37,152,1,145, + 40,156,69,212,7,34,216,14,19,136,3,216,17,21,136,6, + 216,17,21,137,6,224,14,18,136,3,216,17,20,136,6,216, + 17,20,136,6,240,4,30,5,14,216,74,79,214,22,80,192, + 81,148,121,160,17,167,25,161,25,168,54,176,51,211,33,55, + 215,33,61,209,33,61,211,33,63,213,23,64,208,22,80,136, + 11,208,22,80,216,51,62,215,22,63,208,22,63,169,7,168, + 1,168,49,168,97,144,113,151,119,145,119,152,115,149,124,208, + 22,63,136,11,210,22,63,228,11,14,160,27,215,15,45,208, + 15,45,145,103,144,97,152,17,152,65,146,1,212,15,45,211, + 11,46,176,33,210,11,51,220,18,28,208,29,68,211,18,69, + 208,12,69,244,10,0,12,15,160,27,215,15,45,208,15,45, + 145,103,144,97,152,17,152,65,146,1,212,15,45,211,11,46, + 176,33,210,11,51,220,18,28,208,29,62,211,18,63,208,12, + 63,228,28,37,160,101,168,65,161,104,215,38,54,209,38,54, + 176,118,184,115,211,38,67,211,28,68,209,8,25,136,5,136, + 116,144,84,216,17,21,151,26,145,26,152,67,147,31,136,6, + 216,29,35,214,17,57,152,1,162,113,168,81,176,38,171,91, + 146,33,208,17,57,136,6,208,17,57,224,68,79,215,22,80, + 184,113,160,49,214,23,58,152,97,170,1,168,97,176,54,171, + 107,154,1,212,23,58,208,22,80,136,11,209,22,80,220,13, + 16,144,27,211,13,29,136,2,220,13,16,144,27,211,13,29, + 136,2,220,20,29,152,98,147,77,242,0,5,9,38,137,68, + 136,65,136,113,216,15,16,144,66,144,113,145,69,139,122,216, + 25,31,160,2,160,17,152,26,144,6,217,16,21,240,7,5, + 9,38,240,10,0,22,28,152,72,156,83,160,18,155,87,208, + 21,37,136,70,224,15,20,144,116,137,124,152,99,159,104,153, + 104,160,118,211,30,46,209,15,46,208,8,46,249,242,53,0, + 23,81,1,249,220,22,63,249,228,15,45,249,244,12,0,16, + 46,249,242,10,0,18,58,249,226,23,58,249,211,22,80,248, + 244,22,0,13,22,148,126,208,11,38,242,0,2,5,14,220, + 8,19,215,8,36,209,8,36,160,92,208,8,58,176,69,211, + 8,58,216,8,13,240,5,2,5,14,250,115,145,0,0,0, + 193,18,4,72,6,0,193,22,48,71,28,4,194,6,8,72, + 6,0,194,14,28,71,33,8,194,42,15,72,6,0,194,57, + 13,71,40,12,195,6,34,72,6,0,195,40,13,71,47,12, + 195,53,65,14,72,6,0,197,3,7,71,54,4,197,11,5, + 71,54,4,197,17,4,71,54,4,197,21,7,72,6,0,197, + 28,9,72,0,6,197,37,7,71,59,12,197,45,5,71,59, + 12,197,51,4,71,59,12,197,55,5,72,0,6,197,60,50, + 72,6,0,198,47,44,72,6,0,199,28,31,72,6,0,199, + 59,5,72,0,6,200,0,6,72,6,0,200,6,39,72,45, + 3,41,1,218,11,95,112,97,116,104,95,105,115,100,105,114, + 41,1,218,12,95,112,97,116,104,95,105,115,102,105,108,101, + 41,1,218,12,95,112,97,116,104,95,105,115,108,105,110,107, + 41,1,218,12,95,112,97,116,104,95,101,120,105,115,116,115, + 41,1,218,16,95,112,97,116,104,95,105,115,100,101,118,100, + 114,105,118,101,99,1,0,0,0,0,0,0,0,0,0,0, + 0,5,0,0,0,3,0,0,0,243,74,0,0,0,151,0, + 9,0,116,1,0,0,0,0,0,0,0,0,116,3,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,83,0,35,0,116,4,0,0, + 0,0,0,0,0,0,36,0,114,3,1,0,89,0,121,1, + 119,0,120,3,89,0,119,1,169,2,122,64,68,101,116,101, + 114,109,105,110,101,115,32,119,104,101,116,104,101,114,32,116, + 104,101,32,115,112,101,99,105,102,105,101,100,32,112,97,116, + 104,32,105,115,32,111,110,32,97,32,87,105,110,100,111,119, + 115,32,68,101,118,32,68,114,105,118,101,46,70,41,3,114, + 25,1,0,0,114,33,0,0,0,114,146,0,0,0,114,55, + 0,0,0,115,1,0,0,0,32,114,57,0,0,0,218,10, + 105,115,100,101,118,100,114,105,118,101,114,28,1,0,0,124, + 3,0,0,115,40,0,0,0,128,0,240,4,3,9,25,220, + 19,35,164,71,168,68,163,77,211,19,50,208,12,50,248,220, + 15,22,242,0,1,9,25,217,19,24,240,3,1,9,25,250, + 115,12,0,0,0,130,19,22,0,150,9,34,3,161,1,34, + 3,99,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,3,0,0,0,243,4,0,0,0,151,0,121,1,114, + 27,1,0,0,169,0,114,55,0,0,0,115,1,0,0,0, + 32,114,57,0,0,0,114,28,1,0,0,114,28,1,0,0, + 119,3,0,0,115,7,0,0,0,128,0,240,6,0,16,21, + 114,59,0,0,0,41,1,78,41,66,218,7,95,95,100,111, + 99,95,95,114,34,0,0,0,114,35,0,0,0,114,40,0, + 0,0,114,36,0,0,0,114,37,0,0,0,114,39,0,0, + 0,114,38,0,0,0,114,41,0,0,0,114,66,0,0,0, + 114,68,0,0,0,114,149,0,0,0,114,97,0,0,0,218, + 7,95,95,97,108,108,95,95,114,58,0,0,0,218,7,95, + 119,105,110,97,112,105,114,60,0,0,0,114,72,0,0,0, + 114,61,0,0,0,114,73,0,0,0,114,62,0,0,0,114, + 74,0,0,0,114,10,0,0,0,218,11,73,109,112,111,114, + 116,69,114,114,111,114,114,11,0,0,0,114,12,0,0,0, + 114,13,0,0,0,114,14,0,0,0,114,15,0,0,0,114, + 16,0,0,0,114,136,0,0,0,114,17,0,0,0,114,18, + 0,0,0,218,7,104,97,115,97,116,116,114,218,11,115,116, + 97,116,95,114,101,115,117,108,116,114,49,0,0,0,114,26, + 0,0,0,218,2,110,116,114,155,0,0,0,114,29,0,0, + 0,114,30,0,0,0,114,31,0,0,0,114,204,0,0,0, + 114,32,0,0,0,114,216,0,0,0,114,217,0,0,0,114, + 33,0,0,0,114,219,0,0,0,114,220,0,0,0,114,230, + 0,0,0,114,236,0,0,0,114,244,0,0,0,114,42,0, + 0,0,114,43,0,0,0,114,44,0,0,0,114,48,0,0, + 0,114,21,1,0,0,114,27,0,0,0,114,22,1,0,0, + 114,28,0,0,0,114,23,1,0,0,114,24,0,0,0,114, + 24,1,0,0,114,25,0,0,0,114,25,1,0,0,114,28, + 1,0,0,114,30,1,0,0,114,59,0,0,0,114,57,0, + 0,0,250,8,60,109,111,100,117,108,101,62,114,38,1,0, + 0,1,0,0,0,115,236,1,0,0,240,3,1,1,1,241, + 4,4,1,4,240,18,0,10,13,128,6,216,9,13,128,6, + 216,9,12,128,6,216,6,10,128,3,216,10,13,128,7,216, + 9,12,128,6,216,10,21,128,7,216,10,15,128,7,227,0, + 9,219,0,10,219,0,11,219,0,18,220,0,25,242,6,6, + 11,79,1,128,7,242,16,4,1,21,240,20,33,1,44,247, + 2,3,5,45,241,0,3,5,45,242,10,17,5,56,242,72, + 1,16,1,17,242,40,43,1,14,242,98,1,20,1,30,242, + 46,49,1,31,242,114,1,13,1,43,242,42,5,1,56,240, + 12,0,20,31,215,19,40,209,19,40,215,19,48,209,19,48, + 128,8,212,0,16,242,10,2,1,23,242,14,2,1,23,241, + 14,0,4,11,136,50,143,62,137,62,208,27,43,212,3,44, + 243,2,6,5,74,1,242,16,3,5,21,242,16,6,1,16, + 240,36,3,1,30,221,4,37,242,6,17,1,21,242,58,45, + 1,31,242,122,1,106,1,1,15,240,96,3,46,1,43,221, + 4,33,242,80,1,5,5,43,242,16,14,1,26,240,34,12, + 1,43,221,4,35,242,12,5,5,43,240,14,93,2,1,20, + 223,4,62,242,10,40,5,20,242,84,1,47,5,20,240,98, + 1,0,34,39,244,0,60,5,20,240,64,2,0,30,34,208, + 0,26,243,4,43,1,14,242,112,1,46,1,14,240,98,1, + 10,1,9,245,8,0,5,40,221,4,41,221,4,41,221,4, + 41,240,12,13,1,25,221,4,35,243,14,5,5,25,248,240, + 111,25,0,8,19,242,0,9,1,44,244,2,8,5,44,240, + 3,9,1,44,251,240,116,7,0,8,19,242,0,1,1,30, + 216,25,29,210,4,22,240,3,1,1,30,251,240,94,6,0, + 8,19,242,0,35,1,40,244,2,34,5,40,240,3,35,1, + 40,251,240,68,2,0,8,19,242,0,1,1,32,216,14,31, + 130,71,240,3,1,1,32,251,240,26,0,8,19,242,0,2, + 1,23,224,15,22,130,72,240,5,2,1,23,251,240,100,8, + 0,8,19,242,0,2,1,9,225,4,8,240,5,2,1,9, + 251,240,14,0,8,19,242,0,4,1,21,244,2,3,5,21, + 240,3,4,1,21,250,115,125,0,0,0,176,13,67,54,0, + 194,14,6,68,4,0,194,30,6,68,17,0,194,43,6,68, + 31,0,194,53,8,68,44,0,195,19,24,68,57,0,195,44, + 6,69,4,0,195,54,8,68,1,3,196,0,1,68,1,3, + 196,4,7,68,14,3,196,13,1,68,14,3,196,17,8,68, + 28,3,196,27,1,68,28,3,196,31,7,68,41,3,196,40, + 1,68,41,3,196,44,7,68,54,3,196,53,1,68,54,3, + 196,57,5,69,1,3,197,0,1,69,1,3,197,4,8,69, + 15,3,197,14,1,69,15,3, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/os.h b/contrib/tools/python3/src/Python/frozen_modules/os.h new file mode 100644 index 00000000000..455e9a35749 --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/os.h @@ -0,0 +1,2715 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__os[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0, + 0,0,0,0,0,243,4,10,0,0,151,0,100,0,90,0, + 100,1,100,2,108,1,90,1,100,1,100,2,108,2,90,2, + 100,1,100,2,108,3,90,4,100,1,100,3,108,5,109,6, + 90,6,1,0,2,0,101,7,101,8,101,9,25,0,0,0, + 171,1,0,0,0,0,0,0,90,10,101,2,106,22,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 90,12,103,0,100,4,162,1,90,13,100,5,132,0,90,14, + 100,6,132,0,90,15,100,7,101,12,118,0,114,73,100,7, + 90,16,100,8,90,17,100,1,100,9,108,18,173,2,1,0, + 9,0,100,1,100,10,108,18,109,19,90,19,1,0,101,13, + 106,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,11,171,1,0,0,0,0,0,0,1,0, + 100,1,100,2,108,22,90,23,9,0,100,1,100,12,108,18, + 109,24,90,24,1,0,100,1,100,2,108,18,90,18,101,13, + 106,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,2,0,101,15,101,18,171,1,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,1,0,91,18,110,85, + 100,13,101,12,118,0,114,73,100,13,90,16,100,14,90,17, + 100,1,100,9,108,26,173,2,1,0,9,0,100,1,100,10, + 108,26,109,19,90,19,1,0,101,13,106,41,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,11, + 171,1,0,0,0,0,0,0,1,0,100,1,100,2,108,27, + 90,23,100,1,100,2,108,26,90,26,101,13,106,51,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,101,15,101,26,171,1,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,1,0,91,26,9,0,100,1,100,12, + 108,26,109,24,90,24,1,0,110,8,2,0,101,21,100,15, + 171,1,0,0,0,0,0,0,130,1,101,23,101,2,106,56, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,16,60,0,0,0,100,1,100,17,108,29,109,30, + 90,30,109,31,90,31,109,32,90,32,109,33,90,33,109,34, + 90,34,109,35,90,35,109,36,90,36,109,37,90,37,1,0, + 91,12,2,0,101,14,100,18,171,1,0,0,0,0,0,0, + 144,1,114,195,2,0,101,38,171,0,0,0,0,0,0,0, + 90,39,100,19,132,0,90,40,2,0,101,41,171,0,0,0, + 0,0,0,0,90,42,2,0,101,40,100,20,100,21,171,2, + 0,0,0,0,0,0,1,0,2,0,101,40,100,22,100,23, + 171,2,0,0,0,0,0,0,1,0,2,0,101,40,100,24, + 100,25,171,2,0,0,0,0,0,0,1,0,2,0,101,40, + 100,26,100,27,171,2,0,0,0,0,0,0,1,0,2,0, + 101,40,100,28,100,29,171,2,0,0,0,0,0,0,1,0, + 2,0,101,40,100,30,100,31,171,2,0,0,0,0,0,0, + 1,0,2,0,101,40,100,32,100,33,171,2,0,0,0,0, + 0,0,1,0,2,0,101,40,100,34,100,35,171,2,0,0, + 0,0,0,0,1,0,2,0,101,40,100,36,100,37,171,2, + 0,0,0,0,0,0,1,0,2,0,101,40,100,38,100,39, + 171,2,0,0,0,0,0,0,1,0,2,0,101,40,100,40, + 100,41,171,2,0,0,0,0,0,0,1,0,2,0,101,40, + 100,42,100,43,171,2,0,0,0,0,0,0,1,0,2,0, + 101,40,100,44,100,45,171,2,0,0,0,0,0,0,1,0, + 2,0,101,40,100,46,100,47,171,2,0,0,0,0,0,0, + 1,0,2,0,101,40,100,46,100,48,171,2,0,0,0,0, + 0,0,1,0,2,0,101,40,100,49,100,29,171,2,0,0, + 0,0,0,0,1,0,101,42,90,43,2,0,101,41,171,0, + 0,0,0,0,0,0,90,42,2,0,101,40,100,20,100,21, + 171,2,0,0,0,0,0,0,1,0,101,42,90,44,2,0, + 101,41,171,0,0,0,0,0,0,0,90,42,2,0,101,40, + 100,50,100,51,171,2,0,0,0,0,0,0,1,0,2,0, + 101,40,100,52,100,23,171,2,0,0,0,0,0,0,1,0, + 2,0,101,40,100,53,100,25,171,2,0,0,0,0,0,0, + 1,0,2,0,101,40,100,54,100,55,171,2,0,0,0,0, + 0,0,1,0,2,0,101,40,100,54,100,56,171,2,0,0, + 0,0,0,0,1,0,2,0,101,40,100,57,100,58,171,2, + 0,0,0,0,0,0,1,0,101,42,106,91,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,3, + 171,1,0,0,0,0,0,0,1,0,2,0,101,40,100,59, + 100,60,171,2,0,0,0,0,0,0,1,0,2,0,101,40, + 100,61,100,29,171,2,0,0,0,0,0,0,1,0,2,0, + 101,40,100,62,100,29,171,2,0,0,0,0,0,0,1,0, + 2,0,101,40,100,63,100,64,171,2,0,0,0,0,0,0, + 1,0,2,0,101,14,100,65,171,1,0,0,0,0,0,0, + 114,17,2,0,101,14,100,66,171,1,0,0,0,0,0,0, + 114,9,2,0,101,40,100,67,100,65,171,2,0,0,0,0, + 0,0,1,0,101,42,90,46,2,0,101,41,171,0,0,0, + 0,0,0,0,90,42,2,0,101,40,100,20,100,21,171,2, + 0,0,0,0,0,0,1,0,2,0,101,40,100,24,100,25, + 171,2,0,0,0,0,0,0,1,0,2,0,101,40,100,26, + 100,27,171,2,0,0,0,0,0,0,1,0,2,0,101,40, + 100,68,100,69,171,2,0,0,0,0,0,0,1,0,2,0, + 101,40,100,70,100,23,171,2,0,0,0,0,0,0,1,0, + 2,0,101,14,100,71,171,1,0,0,0,0,0,0,114,9, + 2,0,101,40,100,72,100,25,171,2,0,0,0,0,0,0, + 1,0,2,0,101,40,100,30,100,31,171,2,0,0,0,0, + 0,0,1,0,2,0,101,40,100,73,100,29,171,2,0,0, + 0,0,0,0,1,0,2,0,101,40,100,74,100,27,171,2, + 0,0,0,0,0,0,1,0,2,0,101,40,100,26,100,27, + 171,2,0,0,0,0,0,0,1,0,2,0,101,40,100,49, + 100,29,171,2,0,0,0,0,0,0,1,0,2,0,101,40, + 100,75,100,27,171,2,0,0,0,0,0,0,1,0,101,42, + 90,47,91,42,91,24,91,39,91,40,100,1,90,48,100,76, + 90,49,100,77,90,50,100,140,100,79,132,1,90,51,100,80, + 132,0,90,52,100,81,132,0,90,53,101,13,106,51,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 103,0,100,82,162,1,171,1,0,0,0,0,0,0,1,0, + 100,141,100,83,132,1,90,54,101,13,106,41,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,84, + 171,1,0,0,0,0,0,0,1,0,101,55,101,3,104,2, + 101,43,107,26,0,0,114,35,101,56,101,3,104,2,101,46, + 107,26,0,0,114,28,100,142,100,78,100,2,100,85,156,2, + 100,86,132,3,90,57,100,87,132,0,90,58,101,13,106,41, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,88,171,1,0,0,0,0,0,0,1,0,100,89, + 132,0,90,59,100,90,132,0,90,60,100,91,132,0,90,61, + 100,92,132,0,90,62,100,93,132,0,90,63,100,94,132,0, + 90,64,101,13,106,51,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,103,0,100,95,162,1,171,1, + 0,0,0,0,0,0,1,0,100,143,100,96,132,1,90,65, + 100,143,100,97,132,1,90,66,100,1,100,98,108,5,109,67, + 90,67,109,68,90,68,1,0,2,0,71,0,100,99,132,0, + 100,100,101,67,171,3,0,0,0,0,0,0,90,69,100,101, + 132,0,90,70,2,0,101,70,171,0,0,0,0,0,0,0, + 90,71,91,70,100,143,100,102,132,1,90,72,101,16,100,13, + 107,55,0,0,90,73,101,13,106,51,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,103,171,1, + 0,0,0,0,0,0,1,0,101,73,114,47,100,104,132,0, + 90,74,2,0,101,69,101,71,106,150,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,101,74,101,76, + 101,74,101,76,171,5,0,0,0,0,0,0,90,77,91,74, + 100,143,100,105,132,1,90,78,101,13,106,51,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,106, + 171,1,0,0,0,0,0,0,1,0,100,107,132,0,90,79, + 2,0,101,79,171,0,0,0,0,0,0,0,92,2,0,0, + 90,80,90,81,91,79,2,0,101,14,100,108,171,1,0,0, + 0,0,0,0,114,75,2,0,101,14,100,109,171,1,0,0, + 0,0,0,0,115,67,2,0,101,14,100,110,171,1,0,0, + 0,0,0,0,114,59,100,1,90,82,100,76,120,1,90,83, + 90,84,101,13,106,51,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,103,0,100,111,162,1,171,1, + 0,0,0,0,0,0,1,0,100,112,132,0,90,85,100,113, + 132,0,90,86,100,114,132,0,90,87,100,115,132,0,90,88, + 100,116,132,0,90,89,101,13,106,51,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,103,0,100,117, + 162,1,171,1,0,0,0,0,0,0,1,0,2,0,101,14, + 100,109,171,1,0,0,0,0,0,0,114,25,100,118,132,0, + 90,90,100,119,132,0,90,91,101,13,106,51,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,120, + 100,121,103,2,171,1,0,0,0,0,0,0,1,0,2,0, + 101,14,100,122,171,1,0,0,0,0,0,0,114,25,100,123, + 132,0,90,92,100,124,132,0,90,93,101,13,106,51,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,125,100,126,103,2,171,1,0,0,0,0,0,0,1,0, + 101,2,106,188,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,127,107,55,0,0,114,31,100,144, + 100,128,132,1,90,95,2,0,71,0,100,129,132,0,100,130, + 171,2,0,0,0,0,0,0,90,96,101,13,106,41,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,131,171,1,0,0,0,0,0,0,1,0,100,145,100,132, + 132,1,90,97,100,133,132,0,90,98,2,0,101,14,100,134, + 171,1,0,0,0,0,0,0,115,9,101,98,90,99,100,134, + 101,99,95,100,0,0,0,0,0,0,0,0,2,0,71,0, + 100,135,132,0,100,136,101,1,106,202,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,171,3,0,0, + 0,0,0,0,90,102,101,16,100,13,107,40,0,0,114,14, + 2,0,71,0,100,137,132,0,100,138,171,2,0,0,0,0, + 0,0,90,103,100,139,132,0,90,104,121,2,121,2,35,0, + 101,21,36,0,114,4,1,0,89,0,144,4,140,127,119,0, + 120,3,89,0,119,1,35,0,101,21,36,0,114,4,1,0, + 89,0,144,4,140,128,119,0,120,3,89,0,119,1,35,0, + 101,21,36,0,114,4,1,0,89,0,144,4,140,74,119,0, + 120,3,89,0,119,1,35,0,101,21,36,0,114,4,1,0, + 89,0,144,4,140,38,119,0,120,3,89,0,119,1,41,146, + 97,78,4,0,0,79,83,32,114,111,117,116,105,110,101,115, + 32,102,111,114,32,78,84,32,111,114,32,80,111,115,105,120, + 32,100,101,112,101,110,100,105,110,103,32,111,110,32,119,104, + 97,116,32,115,121,115,116,101,109,32,119,101,39,114,101,32, + 111,110,46,10,10,84,104,105,115,32,101,120,112,111,114,116, + 115,58,10,32,32,45,32,97,108,108,32,102,117,110,99,116, + 105,111,110,115,32,102,114,111,109,32,112,111,115,105,120,32, + 111,114,32,110,116,44,32,101,46,103,46,32,117,110,108,105, + 110,107,44,32,115,116,97,116,44,32,101,116,99,46,10,32, + 32,45,32,111,115,46,112,97,116,104,32,105,115,32,101,105, + 116,104,101,114,32,112,111,115,105,120,112,97,116,104,32,111, + 114,32,110,116,112,97,116,104,10,32,32,45,32,111,115,46, + 110,97,109,101,32,105,115,32,101,105,116,104,101,114,32,39, + 112,111,115,105,120,39,32,111,114,32,39,110,116,39,10,32, + 32,45,32,111,115,46,99,117,114,100,105,114,32,105,115,32, + 97,32,115,116,114,105,110,103,32,114,101,112,114,101,115,101, + 110,116,105,110,103,32,116,104,101,32,99,117,114,114,101,110, + 116,32,100,105,114,101,99,116,111,114,121,32,40,97,108,119, + 97,121,115,32,39,46,39,41,10,32,32,45,32,111,115,46, + 112,97,114,100,105,114,32,105,115,32,97,32,115,116,114,105, + 110,103,32,114,101,112,114,101,115,101,110,116,105,110,103,32, + 116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99, + 116,111,114,121,32,40,97,108,119,97,121,115,32,39,46,46, + 39,41,10,32,32,45,32,111,115,46,115,101,112,32,105,115, + 32,116,104,101,32,40,111,114,32,97,32,109,111,115,116,32, + 99,111,109,109,111,110,41,32,112,97,116,104,110,97,109,101, + 32,115,101,112,97,114,97,116,111,114,32,40,39,47,39,32, + 111,114,32,39,92,92,39,41,10,32,32,45,32,111,115,46, + 101,120,116,115,101,112,32,105,115,32,116,104,101,32,101,120, + 116,101,110,115,105,111,110,32,115,101,112,97,114,97,116,111, + 114,32,40,97,108,119,97,121,115,32,39,46,39,41,10,32, + 32,45,32,111,115,46,97,108,116,115,101,112,32,105,115,32, + 116,104,101,32,97,108,116,101,114,110,97,116,101,32,112,97, + 116,104,110,97,109,101,32,115,101,112,97,114,97,116,111,114, + 32,40,78,111,110,101,32,111,114,32,39,47,39,41,10,32, + 32,45,32,111,115,46,112,97,116,104,115,101,112,32,105,115, + 32,116,104,101,32,99,111,109,112,111,110,101,110,116,32,115, + 101,112,97,114,97,116,111,114,32,117,115,101,100,32,105,110, + 32,36,80,65,84,72,32,101,116,99,10,32,32,45,32,111, + 115,46,108,105,110,101,115,101,112,32,105,115,32,116,104,101, + 32,108,105,110,101,32,115,101,112,97,114,97,116,111,114,32, + 105,110,32,116,101,120,116,32,102,105,108,101,115,32,40,39, + 92,114,39,32,111,114,32,39,92,110,39,32,111,114,32,39, + 92,114,92,110,39,41,10,32,32,45,32,111,115,46,100,101, + 102,112,97,116,104,32,105,115,32,116,104,101,32,100,101,102, + 97,117,108,116,32,115,101,97,114,99,104,32,112,97,116,104, + 32,102,111,114,32,101,120,101,99,117,116,97,98,108,101,115, + 10,32,32,45,32,111,115,46,100,101,118,110,117,108,108,32, + 105,115,32,116,104,101,32,102,105,108,101,32,112,97,116,104, + 32,111,102,32,116,104,101,32,110,117,108,108,32,100,101,118, + 105,99,101,32,40,39,47,100,101,118,47,110,117,108,108,39, + 44,32,101,116,99,46,41,10,10,80,114,111,103,114,97,109, + 115,32,116,104,97,116,32,105,109,112,111,114,116,32,97,110, + 100,32,117,115,101,32,39,111,115,39,32,115,116,97,110,100, + 32,97,32,98,101,116,116,101,114,32,99,104,97,110,99,101, + 32,111,102,32,98,101,105,110,103,10,112,111,114,116,97,98, + 108,101,32,98,101,116,119,101,101,110,32,100,105,102,102,101, + 114,101,110,116,32,112,108,97,116,102,111,114,109,115,46,32, + 32,79,102,32,99,111,117,114,115,101,44,32,116,104,101,121, + 32,109,117,115,116,32,116,104,101,110,10,111,110,108,121,32, + 117,115,101,32,102,117,110,99,116,105,111,110,115,32,116,104, + 97,116,32,97,114,101,32,100,101,102,105,110,101,100,32,98, + 121,32,97,108,108,32,112,108,97,116,102,111,114,109,115,32, + 40,101,46,103,46,44,32,117,110,108,105,110,107,10,97,110, + 100,32,111,112,101,110,100,105,114,41,44,32,97,110,100,32, + 108,101,97,118,101,32,97,108,108,32,112,97,116,104,110,97, + 109,101,32,109,97,110,105,112,117,108,97,116,105,111,110,32, + 116,111,32,111,115,46,112,97,116,104,10,40,101,46,103,46, + 44,32,115,112,108,105,116,32,97,110,100,32,106,111,105,110, + 41,46,10,233,0,0,0,0,78,41,1,218,14,95,99,104, + 101,99,107,95,109,101,116,104,111,100,115,41,18,218,6,97, + 108,116,115,101,112,218,6,99,117,114,100,105,114,218,6,112, + 97,114,100,105,114,218,3,115,101,112,218,7,112,97,116,104, + 115,101,112,218,7,108,105,110,101,115,101,112,218,7,100,101, + 102,112,97,116,104,218,4,110,97,109,101,218,4,112,97,116, + 104,218,7,100,101,118,110,117,108,108,218,8,83,69,69,75, + 95,83,69,84,218,8,83,69,69,75,95,67,85,82,218,8, + 83,69,69,75,95,69,78,68,218,8,102,115,101,110,99,111, + 100,101,218,8,102,115,100,101,99,111,100,101,218,13,103,101, + 116,95,101,120,101,99,95,112,97,116,104,218,6,102,100,111, + 112,101,110,218,6,101,120,116,115,101,112,99,1,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, + 243,26,0,0,0,151,0,124,0,116,1,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,118,0,83,0,169, + 1,78,41,1,218,7,103,108,111,98,97,108,115,41,1,114, + 11,0,0,0,115,1,0,0,0,32,250,11,60,102,114,111, + 122,101,110,32,111,115,62,218,7,95,101,120,105,115,116,115, + 114,26,0,0,0,41,0,0,0,115,15,0,0,0,128,0, + 216,11,15,148,55,147,57,208,11,28,208,4,28,243,0,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,3,0,0,0,243,156,0,0,0,151,0,9,0, + 116,1,0,0,0,0,0,0,0,0,124,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,83,0,35,0,116,4,0,0, + 0,0,0,0,0,0,36,0,114,43,1,0,116,7,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 68,0,143,1,99,2,103,0,99,2,93,13,0,0,125,1, + 124,1,100,1,25,0,0,0,100,2,107,55,0,0,115,1, + 140,12,124,1,145,2,140,15,4,0,110,5,99,2,1,0, + 99,2,125,1,119,0,99,2,125,1,99,2,89,0,83,0, + 119,0,120,3,89,0,119,1,41,3,78,114,2,0,0,0, + 218,1,95,41,4,218,4,108,105,115,116,218,7,95,95,97, + 108,108,95,95,218,14,65,116,116,114,105,98,117,116,101,69, + 114,114,111,114,218,3,100,105,114,41,2,218,6,109,111,100, + 117,108,101,218,1,110,115,2,0,0,0,32,32,114,25,0, + 0,0,218,17,95,103,101,116,95,101,120,112,111,114,116,115, + 95,108,105,115,116,114,36,0,0,0,44,0,0,0,115,71, + 0,0,0,128,0,240,2,3,5,55,220,15,19,144,70,151, + 78,145,78,211,15,35,208,8,35,248,220,11,25,242,0,1, + 5,55,220,27,30,152,118,155,59,214,15,54,144,97,168,33, + 168,65,169,36,176,35,171,43,146,1,209,15,54,249,212,15, + 54,210,8,54,240,3,1,5,55,250,115,30,0,0,0,130, + 20,23,0,151,22,65,11,3,173,13,65,0,6,187,4,65, + 0,6,191,9,65,11,3,193,10,1,65,11,3,218,5,112, + 111,115,105,120,250,1,10,41,1,218,1,42,41,1,218,5, + 95,101,120,105,116,114,40,0,0,0,41,1,218,15,95,104, + 97,118,101,95,102,117,110,99,116,105,111,110,115,218,2,110, + 116,122,2,13,10,122,27,110,111,32,111,115,32,115,112,101, + 99,105,102,105,99,32,109,111,100,117,108,101,32,102,111,117, + 110,100,122,7,111,115,46,112,97,116,104,41,8,114,5,0, + 0,0,114,6,0,0,0,114,7,0,0,0,114,8,0,0, + 0,114,10,0,0,0,114,21,0,0,0,114,4,0,0,0, + 114,13,0,0,0,114,41,0,0,0,99,2,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243, + 96,0,0,0,151,0,124,1,116,0,0,0,0,0,0,0, + 0,0,118,0,114,38,124,0,116,2,0,0,0,0,0,0, + 0,0,118,0,114,29,116,4,0,0,0,0,0,0,0,0, + 106,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,116,0,0,0,0,0,0,0,0,0,124,1, + 25,0,0,0,171,1,0,0,0,0,0,0,1,0,121,0, + 121,0,121,0,114,23,0,0,0,41,4,218,8,95,103,108, + 111,98,97,108,115,114,41,0,0,0,218,4,95,115,101,116, + 218,3,97,100,100,41,2,218,3,115,116,114,218,2,102,110, + 115,2,0,0,0,32,32,114,25,0,0,0,218,4,95,97, + 100,100,114,49,0,0,0,104,0,0,0,115,39,0,0,0, + 128,0,216,12,14,148,40,137,78,160,19,172,15,209,33,55, + 220,12,16,143,72,137,72,148,88,152,98,145,92,213,12,34, + 240,3,0,34,56,136,78,114,27,0,0,0,218,14,72,65, + 86,69,95,70,65,67,67,69,83,83,65,84,218,6,97,99, + 99,101,115,115,218,13,72,65,86,69,95,70,67,72,77,79, + 68,65,84,218,5,99,104,109,111,100,218,13,72,65,86,69, + 95,70,67,72,79,87,78,65,84,218,5,99,104,111,119,110, + 218,12,72,65,86,69,95,70,83,84,65,84,65,84,218,4, + 115,116,97,116,218,14,72,65,86,69,95,70,85,84,73,77, + 69,83,65,84,218,5,117,116,105,109,101,218,11,72,65,86, + 69,95,76,73,78,75,65,84,218,4,108,105,110,107,218,12, + 72,65,86,69,95,77,75,68,73,82,65,84,218,5,109,107, + 100,105,114,218,13,72,65,86,69,95,77,75,70,73,70,79, + 65,84,218,6,109,107,102,105,102,111,218,12,72,65,86,69, + 95,77,75,78,79,68,65,84,218,5,109,107,110,111,100,218, + 11,72,65,86,69,95,79,80,69,78,65,84,218,4,111,112, + 101,110,218,15,72,65,86,69,95,82,69,65,68,76,73,78, + 75,65,84,218,8,114,101,97,100,108,105,110,107,218,13,72, + 65,86,69,95,82,69,78,65,77,69,65,84,218,6,114,101, + 110,97,109,101,218,14,72,65,86,69,95,83,89,77,76,73, + 78,75,65,84,218,7,115,121,109,108,105,110,107,218,13,72, + 65,86,69,95,85,78,76,73,78,75,65,84,218,6,117,110, + 108,105,110,107,218,5,114,109,100,105,114,218,14,72,65,86, + 69,95,85,84,73,77,69,78,83,65,84,218,11,72,65,86, + 69,95,70,67,72,68,73,82,218,5,99,104,100,105,114,218, + 11,72,65,86,69,95,70,67,72,77,79,68,218,11,72,65, + 86,69,95,70,67,72,79,87,78,218,14,72,65,86,69,95, + 70,68,79,80,69,78,68,73,82,218,7,108,105,115,116,100, + 105,114,218,7,115,99,97,110,100,105,114,218,12,72,65,86, + 69,95,70,69,88,69,67,86,69,218,6,101,120,101,99,118, + 101,218,14,72,65,86,69,95,70,84,82,85,78,67,65,84, + 69,218,8,116,114,117,110,99,97,116,101,218,13,72,65,86, + 69,95,70,85,84,73,77,69,78,83,218,12,72,65,86,69, + 95,70,85,84,73,77,69,83,218,14,72,65,86,69,95,70, + 80,65,84,72,67,79,78,70,218,8,112,97,116,104,99,111, + 110,102,218,7,115,116,97,116,118,102,115,218,8,102,115,116, + 97,116,118,102,115,218,13,72,65,86,69,95,70,83,84,65, + 84,86,70,83,218,13,72,65,86,69,95,76,67,72,70,76, + 65,71,83,218,7,99,104,102,108,97,103,115,218,11,72,65, + 86,69,95,76,67,72,77,79,68,218,6,108,99,104,111,119, + 110,218,11,72,65,86,69,95,76,67,72,79,87,78,218,12, + 72,65,86,69,95,76,85,84,73,77,69,83,218,10,72,65, + 86,69,95,76,83,84,65,84,218,10,77,83,95,87,73,78, + 68,79,87,83,233,1,0,0,0,233,2,0,0,0,70,99, + 3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,148,1,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,92,2,0,0,125,3,125,4,124,4,115,24,116, + 1,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,3,171, + 1,0,0,0,0,0,0,92,2,0,0,125,3,125,4,124, + 3,114,81,124,4,114,79,116,1,0,0,0,0,0,0,0, + 0,106,4,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,3,171,1,0,0,0,0,0,0,115, + 58,9,0,116,7,0,0,0,0,0,0,0,0,124,3,124, + 2,172,1,171,2,0,0,0,0,0,0,1,0,116,10,0, + 0,0,0,0,0,0,0,125,5,116,13,0,0,0,0,0, + 0,0,0,124,4,116,14,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,114,16,116,15,0,0,0,0,0, + 0,0,0,116,10,0,0,0,0,0,0,0,0,100,2,171, + 2,0,0,0,0,0,0,125,5,124,4,124,5,107,40,0, + 0,114,1,121,3,9,0,116,17,0,0,0,0,0,0,0, + 0,124,0,124,1,171,2,0,0,0,0,0,0,1,0,121, + 3,35,0,116,8,0,0,0,0,0,0,0,0,36,0,114, + 3,1,0,89,0,140,69,119,0,120,3,89,0,119,1,35, + 0,116,18,0,0,0,0,0,0,0,0,36,0,114,27,1, + 0,124,2,114,21,116,1,0,0,0,0,0,0,0,0,106, + 20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,115,1,130, + 0,89,0,121,3,119,0,120,3,89,0,119,1,41,4,97, + 139,1,0,0,109,97,107,101,100,105,114,115,40,110,97,109, + 101,32,91,44,32,109,111,100,101,61,48,111,55,55,55,93, + 91,44,32,101,120,105,115,116,95,111,107,61,70,97,108,115, + 101,93,41,10,10,32,32,32,32,83,117,112,101,114,45,109, + 107,100,105,114,59,32,99,114,101,97,116,101,32,97,32,108, + 101,97,102,32,100,105,114,101,99,116,111,114,121,32,97,110, + 100,32,97,108,108,32,105,110,116,101,114,109,101,100,105,97, + 116,101,32,111,110,101,115,46,32,32,87,111,114,107,115,32, + 108,105,107,101,10,32,32,32,32,109,107,100,105,114,44,32, + 101,120,99,101,112,116,32,116,104,97,116,32,97,110,121,32, + 105,110,116,101,114,109,101,100,105,97,116,101,32,112,97,116, + 104,32,115,101,103,109,101,110,116,32,40,110,111,116,32,106, + 117,115,116,32,116,104,101,32,114,105,103,104,116,109,111,115, + 116,41,10,32,32,32,32,119,105,108,108,32,98,101,32,99, + 114,101,97,116,101,100,32,105,102,32,105,116,32,100,111,101, + 115,32,110,111,116,32,101,120,105,115,116,46,32,73,102,32, + 116,104,101,32,116,97,114,103,101,116,32,100,105,114,101,99, + 116,111,114,121,32,97,108,114,101,97,100,121,10,32,32,32, + 32,101,120,105,115,116,115,44,32,114,97,105,115,101,32,97, + 110,32,79,83,69,114,114,111,114,32,105,102,32,101,120,105, + 115,116,95,111,107,32,105,115,32,70,97,108,115,101,46,32, + 79,116,104,101,114,119,105,115,101,32,110,111,32,101,120,99, + 101,112,116,105,111,110,32,105,115,10,32,32,32,32,114,97, + 105,115,101,100,46,32,32,84,104,105,115,32,105,115,32,114, + 101,99,117,114,115,105,118,101,46,10,10,32,32,32,32,41, + 1,218,8,101,120,105,115,116,95,111,107,218,5,65,83,67, + 73,73,78,41,11,114,12,0,0,0,218,5,115,112,108,105, + 116,218,6,101,120,105,115,116,115,218,8,109,97,107,101,100, + 105,114,115,218,15,70,105,108,101,69,120,105,115,116,115,69, + 114,114,111,114,114,5,0,0,0,218,10,105,115,105,110,115, + 116,97,110,99,101,218,5,98,121,116,101,115,114,63,0,0, + 0,218,7,79,83,69,114,114,111,114,218,5,105,115,100,105, + 114,41,6,114,11,0,0,0,218,4,109,111,100,101,114,109, + 0,0,0,218,4,104,101,97,100,218,4,116,97,105,108,218, + 4,99,100,105,114,115,6,0,0,0,32,32,32,32,32,32, + 114,25,0,0,0,114,113,0,0,0,114,113,0,0,0,200, + 0,0,0,115,188,0,0,0,128,0,244,20,0,18,22,151, + 26,145,26,152,68,211,17,33,129,74,128,68,136,36,217,11, + 15,220,21,25,151,90,145,90,160,4,211,21,37,137,10,136, + 4,136,100,217,7,11,145,4,156,84,159,91,153,91,168,20, + 212,29,46,240,2,4,9,17,220,12,20,144,84,160,72,213, + 12,45,244,8,0,16,22,136,4,220,11,21,144,100,156,69, + 212,11,34,220,19,24,156,22,160,23,211,19,41,136,68,216, + 11,15,144,52,138,60,216,12,18,240,2,6,5,18,220,8, + 13,136,100,144,68,213,8,25,248,244,19,0,16,31,242,0, + 2,9,17,225,12,16,240,5,2,9,17,251,244,20,0,12, + 19,242,0,4,5,18,241,6,0,16,24,156,116,159,122,153, + 122,168,36,212,31,47,216,12,17,241,3,0,32,48,240,7, + 4,5,18,250,115,36,0,0,0,193,13,13,66,20,0,194, + 7,12,66,35,0,194,20,9,66,32,3,194,31,1,66,32, + 3,194,35,33,67,7,3,195,6,1,67,7,3,99,1,0, + 0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0, + 0,0,243,252,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,1,0,116, + 3,0,0,0,0,0,0,0,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,92,2,0,0,125,1,125,2,124, + 2,115,24,116,3,0,0,0,0,0,0,0,0,106,4,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,1,171,1,0,0,0,0,0,0,92,2,0,0,125, + 1,125,2,124,1,114,46,124,2,114,43,9,0,116,1,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,1,0,116,3,0,0,0,0,0,0,0,0,106,4,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,1,171,1,0,0,0,0,0,0,92,2,0,0,125, + 1,125,2,124,1,114,4,124,2,114,1,140,41,121,1,121, + 1,121,1,121,1,35,0,116,6,0,0,0,0,0,0,0, + 0,36,0,114,3,1,0,89,0,121,1,119,0,120,3,89, + 0,119,1,41,2,97,172,1,0,0,114,101,109,111,118,101, + 100,105,114,115,40,110,97,109,101,41,10,10,32,32,32,32, + 83,117,112,101,114,45,114,109,100,105,114,59,32,114,101,109, + 111,118,101,32,97,32,108,101,97,102,32,100,105,114,101,99, + 116,111,114,121,32,97,110,100,32,97,108,108,32,101,109,112, + 116,121,32,105,110,116,101,114,109,101,100,105,97,116,101,10, + 32,32,32,32,111,110,101,115,46,32,32,87,111,114,107,115, + 32,108,105,107,101,32,114,109,100,105,114,32,101,120,99,101, + 112,116,32,116,104,97,116,44,32,105,102,32,116,104,101,32, + 108,101,97,102,32,100,105,114,101,99,116,111,114,121,32,105, + 115,10,32,32,32,32,115,117,99,99,101,115,115,102,117,108, + 108,121,32,114,101,109,111,118,101,100,44,32,100,105,114,101, + 99,116,111,114,105,101,115,32,99,111,114,114,101,115,112,111, + 110,100,105,110,103,32,116,111,32,114,105,103,104,116,109,111, + 115,116,32,112,97,116,104,10,32,32,32,32,115,101,103,109, + 101,110,116,115,32,119,105,108,108,32,98,101,32,112,114,117, + 110,101,100,32,97,119,97,121,32,117,110,116,105,108,32,101, + 105,116,104,101,114,32,116,104,101,32,119,104,111,108,101,32, + 112,97,116,104,32,105,115,10,32,32,32,32,99,111,110,115, + 117,109,101,100,32,111,114,32,97,110,32,101,114,114,111,114, + 32,111,99,99,117,114,115,46,32,32,69,114,114,111,114,115, + 32,100,117,114,105,110,103,32,116,104,105,115,32,108,97,116, + 116,101,114,32,112,104,97,115,101,32,97,114,101,10,32,32, + 32,32,105,103,110,111,114,101,100,32,45,45,32,116,104,101, + 121,32,103,101,110,101,114,97,108,108,121,32,109,101,97,110, + 32,116,104,97,116,32,97,32,100,105,114,101,99,116,111,114, + 121,32,119,97,115,32,110,111,116,32,101,109,112,116,121,46, + 10,10,32,32,32,32,78,41,4,114,78,0,0,0,114,12, + 0,0,0,114,111,0,0,0,114,117,0,0,0,41,3,114, + 11,0,0,0,114,120,0,0,0,114,121,0,0,0,115,3, + 0,0,0,32,32,32,114,25,0,0,0,218,10,114,101,109, + 111,118,101,100,105,114,115,114,124,0,0,0,232,0,0,0, + 115,120,0,0,0,128,0,244,22,0,5,10,136,36,132,75, + 220,17,21,151,26,145,26,152,68,211,17,33,129,74,128,68, + 136,36,217,11,15,220,21,25,151,90,145,90,160,4,211,21, + 37,137,10,136,4,136,100,217,10,14,145,52,240,2,3,9, + 18,220,12,17,144,36,140,75,244,6,0,22,26,151,90,145, + 90,160,4,211,21,37,137,10,136,4,136,100,241,11,0,11, + 15,147,52,136,36,144,52,136,36,248,244,6,0,16,23,242, + 0,1,9,18,217,12,17,240,3,1,9,18,250,115,18,0, + 0,0,193,3,11,65,47,0,193,47,9,65,59,3,193,58, + 1,65,59,3,99,2,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,3,0,0,0,243,6,1,0,0,151,0, + 116,1,0,0,0,0,0,0,0,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 171,1,0,0,0,0,0,0,92,2,0,0,125,2,125,3, + 124,2,114,34,124,3,114,32,116,1,0,0,0,0,0,0, + 0,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0, + 115,11,116,7,0,0,0,0,0,0,0,0,124,2,171,1, + 0,0,0,0,0,0,1,0,116,9,0,0,0,0,0,0, + 0,0,124,0,124,1,171,2,0,0,0,0,0,0,1,0, + 116,1,0,0,0,0,0,0,0,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,92,2,0,0,125,2,125,3, + 124,2,114,16,124,3,114,13,9,0,116,11,0,0,0,0, + 0,0,0,0,124,2,171,1,0,0,0,0,0,0,1,0, + 121,1,121,1,121,1,35,0,116,12,0,0,0,0,0,0, + 0,0,36,0,114,3,1,0,89,0,121,1,119,0,120,3, + 89,0,119,1,41,2,97,60,2,0,0,114,101,110,97,109, + 101,115,40,111,108,100,44,32,110,101,119,41,10,10,32,32, + 32,32,83,117,112,101,114,45,114,101,110,97,109,101,59,32, + 99,114,101,97,116,101,32,100,105,114,101,99,116,111,114,105, + 101,115,32,97,115,32,110,101,99,101,115,115,97,114,121,32, + 97,110,100,32,100,101,108,101,116,101,32,97,110,121,32,108, + 101,102,116,10,32,32,32,32,101,109,112,116,121,46,32,32, + 87,111,114,107,115,32,108,105,107,101,32,114,101,110,97,109, + 101,44,32,101,120,99,101,112,116,32,99,114,101,97,116,105, + 111,110,32,111,102,32,97,110,121,32,105,110,116,101,114,109, + 101,100,105,97,116,101,10,32,32,32,32,100,105,114,101,99, + 116,111,114,105,101,115,32,110,101,101,100,101,100,32,116,111, + 32,109,97,107,101,32,116,104,101,32,110,101,119,32,112,97, + 116,104,110,97,109,101,32,103,111,111,100,32,105,115,32,97, + 116,116,101,109,112,116,101,100,10,32,32,32,32,102,105,114, + 115,116,46,32,32,65,102,116,101,114,32,116,104,101,32,114, + 101,110,97,109,101,44,32,100,105,114,101,99,116,111,114,105, + 101,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103, + 32,116,111,32,114,105,103,104,116,109,111,115,116,10,32,32, + 32,32,112,97,116,104,32,115,101,103,109,101,110,116,115,32, + 111,102,32,116,104,101,32,111,108,100,32,110,97,109,101,32, + 119,105,108,108,32,98,101,32,112,114,117,110,101,100,32,117, + 110,116,105,108,32,101,105,116,104,101,114,32,116,104,101,10, + 32,32,32,32,119,104,111,108,101,32,112,97,116,104,32,105, + 115,32,99,111,110,115,117,109,101,100,32,111,114,32,97,32, + 110,111,110,101,109,112,116,121,32,100,105,114,101,99,116,111, + 114,121,32,105,115,32,102,111,117,110,100,46,10,10,32,32, + 32,32,78,111,116,101,58,32,116,104,105,115,32,102,117,110, + 99,116,105,111,110,32,99,97,110,32,102,97,105,108,32,119, + 105,116,104,32,116,104,101,32,110,101,119,32,100,105,114,101, + 99,116,111,114,121,32,115,116,114,117,99,116,117,114,101,32, + 109,97,100,101,10,32,32,32,32,105,102,32,121,111,117,32, + 108,97,99,107,32,112,101,114,109,105,115,115,105,111,110,115, + 32,110,101,101,100,101,100,32,116,111,32,117,110,108,105,110, + 107,32,116,104,101,32,108,101,97,102,32,100,105,114,101,99, + 116,111,114,121,32,111,114,10,32,32,32,32,102,105,108,101, + 46,10,10,32,32,32,32,78,41,7,114,12,0,0,0,114, + 111,0,0,0,114,112,0,0,0,114,113,0,0,0,114,73, + 0,0,0,114,124,0,0,0,114,117,0,0,0,41,4,218, + 3,111,108,100,218,3,110,101,119,114,120,0,0,0,114,121, + 0,0,0,115,4,0,0,0,32,32,32,32,114,25,0,0, + 0,218,7,114,101,110,97,109,101,115,114,128,0,0,0,254, + 0,0,0,115,116,0,0,0,128,0,244,30,0,18,22,151, + 26,145,26,152,67,147,31,129,74,128,68,136,36,217,7,11, + 145,4,156,84,159,91,153,91,168,20,212,29,46,220,8,16, + 144,20,140,14,220,4,10,136,51,144,3,212,4,20,220,17, + 21,151,26,145,26,152,67,147,31,129,74,128,68,136,36,217, + 7,11,145,4,240,2,3,9,17,220,12,22,144,116,213,12, + 28,240,5,0,17,21,128,116,248,244,6,0,16,23,242,0, + 1,9,17,217,12,16,240,3,1,9,17,250,115,18,0,0, + 0,193,38,11,65,52,0,193,52,9,66,0,3,193,63,1, + 66,0,3,41,3,114,113,0,0,0,114,124,0,0,0,114, + 128,0,0,0,99,4,0,0,0,0,0,0,0,0,0,0, + 0,7,0,0,0,35,0,0,0,243,72,4,0,0,75,0, + 1,0,151,0,116,1,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,1,124,0,124,1,124,2,124,3,171,5,0,0, + 0,0,0,0,1,0,116,5,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,103,1,125,4,116,6, + 0,0,0,0,0,0,0,0,106,8,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,116,6,0,0, + 0,0,0,0,0,0,106,10,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,6,125,5,124,4, + 114,209,124,4,106,13,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0, + 125,0,116,15,0,0,0,0,0,0,0,0,124,0,116,16, + 0,0,0,0,0,0,0,0,171,2,0,0,0,0,0,0, + 114,5,124,0,150,1,151,1,1,0,140,39,103,0,125,7, + 103,0,125,8,103,0,125,9,9,0,116,19,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,125,10, + 100,3,125,12,124,10,53,0,1,0,9,0,9,0,9,0, + 116,23,0,0,0,0,0,0,0,0,124,10,171,1,0,0, + 0,0,0,0,125,13,9,0,9,0,124,13,106,27,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,125,14,124,14,114,28,124,7, + 106,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,13,106,30,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,1,0,110,27,124,8,106,29,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,13,106,30, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,1,0,124,1,115,56, + 124,14,114,54,124,3,114,3,100,4,125,15,110,20,9,0, + 124,13,106,33,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,125,16, + 124,16,12,0,125,15,124,15,114,27,124,9,106,29,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,13,106,6,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,1,0, + 140,147,121,2,121,2,35,0,116,20,0,0,0,0,0,0, + 0,0,36,0,114,20,125,11,124,2,129,8,2,0,124,2, + 124,11,171,1,0,0,0,0,0,0,1,0,89,0,100,2, + 125,11,126,11,140,236,100,2,125,11,126,11,119,1,119,0, + 120,3,89,0,119,1,35,0,116,24,0,0,0,0,0,0, + 0,0,36,0,114,3,1,0,89,0,110,72,119,0,120,3, + 89,0,119,1,35,0,116,20,0,0,0,0,0,0,0,0, + 36,0,114,22,125,11,124,2,129,8,2,0,124,2,124,11, + 171,1,0,0,0,0,0,0,1,0,100,4,125,12,89,0, + 100,2,125,11,126,11,110,42,100,2,125,11,126,11,119,1, + 119,0,120,3,89,0,119,1,35,0,116,20,0,0,0,0, + 0,0,0,0,36,0,114,5,1,0,100,3,125,14,89,0, + 140,212,119,0,120,3,89,0,119,1,35,0,116,20,0,0, + 0,0,0,0,0,0,36,0,114,5,1,0,100,3,125,16, + 89,0,140,146,119,0,120,3,89,0,119,1,100,2,100,2, + 100,2,171,2,0,0,0,0,0,0,1,0,110,12,35,0, + 49,0,115,1,119,2,1,0,89,0,1,0,1,0,110,3, + 120,3,89,0,119,1,124,12,114,2,144,1,140,96,124,1, + 114,61,124,0,124,7,124,8,102,3,150,1,151,1,1,0, + 116,35,0,0,0,0,0,0,0,0,124,7,171,1,0,0, + 0,0,0,0,68,0,93,39,0,0,125,17,2,0,124,6, + 124,0,124,17,171,2,0,0,0,0,0,0,125,18,124,3, + 115,9,2,0,124,5,124,18,171,1,0,0,0,0,0,0, + 114,1,140,23,124,4,106,29,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,18,171,1,0,0, + 0,0,0,0,1,0,140,41,4,0,110,53,124,4,106,29, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,124,7,124,8,102,3,171,1,0,0,0,0, + 0,0,1,0,116,35,0,0,0,0,0,0,0,0,124,9, + 171,1,0,0,0,0,0,0,68,0,93,19,0,0,125,18, + 124,4,106,29,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,18,171,1,0,0,0,0,0,0, + 1,0,140,21,4,0,124,4,114,2,144,1,140,214,144,1, + 140,8,173,3,119,1,41,5,97,38,11,0,0,68,105,114, + 101,99,116,111,114,121,32,116,114,101,101,32,103,101,110,101, + 114,97,116,111,114,46,10,10,32,32,32,32,70,111,114,32, + 101,97,99,104,32,100,105,114,101,99,116,111,114,121,32,105, + 110,32,116,104,101,32,100,105,114,101,99,116,111,114,121,32, + 116,114,101,101,32,114,111,111,116,101,100,32,97,116,32,116, + 111,112,32,40,105,110,99,108,117,100,105,110,103,32,116,111, + 112,10,32,32,32,32,105,116,115,101,108,102,44,32,98,117, + 116,32,101,120,99,108,117,100,105,110,103,32,39,46,39,32, + 97,110,100,32,39,46,46,39,41,44,32,121,105,101,108,100, + 115,32,97,32,51,45,116,117,112,108,101,10,10,32,32,32, + 32,32,32,32,32,100,105,114,112,97,116,104,44,32,100,105, + 114,110,97,109,101,115,44,32,102,105,108,101,110,97,109,101, + 115,10,10,32,32,32,32,100,105,114,112,97,116,104,32,105, + 115,32,97,32,115,116,114,105,110,103,44,32,116,104,101,32, + 112,97,116,104,32,116,111,32,116,104,101,32,100,105,114,101, + 99,116,111,114,121,46,32,32,100,105,114,110,97,109,101,115, + 32,105,115,32,97,32,108,105,115,116,32,111,102,10,32,32, + 32,32,116,104,101,32,110,97,109,101,115,32,111,102,32,116, + 104,101,32,115,117,98,100,105,114,101,99,116,111,114,105,101, + 115,32,105,110,32,100,105,114,112,97,116,104,32,40,105,110, + 99,108,117,100,105,110,103,32,115,121,109,108,105,110,107,115, + 32,116,111,32,100,105,114,101,99,116,111,114,105,101,115,44, + 10,32,32,32,32,97,110,100,32,101,120,99,108,117,100,105, + 110,103,32,39,46,39,32,97,110,100,32,39,46,46,39,41, + 46,10,32,32,32,32,102,105,108,101,110,97,109,101,115,32, + 105,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101, + 32,110,97,109,101,115,32,111,102,32,116,104,101,32,110,111, + 110,45,100,105,114,101,99,116,111,114,121,32,102,105,108,101, + 115,32,105,110,32,100,105,114,112,97,116,104,46,10,32,32, + 32,32,78,111,116,101,32,116,104,97,116,32,116,104,101,32, + 110,97,109,101,115,32,105,110,32,116,104,101,32,108,105,115, + 116,115,32,97,114,101,32,106,117,115,116,32,110,97,109,101, + 115,44,32,119,105,116,104,32,110,111,32,112,97,116,104,32, + 99,111,109,112,111,110,101,110,116,115,46,10,32,32,32,32, + 84,111,32,103,101,116,32,97,32,102,117,108,108,32,112,97, + 116,104,32,40,119,104,105,99,104,32,98,101,103,105,110,115, + 32,119,105,116,104,32,116,111,112,41,32,116,111,32,97,32, + 102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114, + 121,32,105,110,10,32,32,32,32,100,105,114,112,97,116,104, + 44,32,100,111,32,111,115,46,112,97,116,104,46,106,111,105, + 110,40,100,105,114,112,97,116,104,44,32,110,97,109,101,41, + 46,10,10,32,32,32,32,73,102,32,111,112,116,105,111,110, + 97,108,32,97,114,103,32,39,116,111,112,100,111,119,110,39, + 32,105,115,32,116,114,117,101,32,111,114,32,110,111,116,32, + 115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,116, + 114,105,112,108,101,32,102,111,114,32,97,10,32,32,32,32, + 100,105,114,101,99,116,111,114,121,32,105,115,32,103,101,110, + 101,114,97,116,101,100,32,98,101,102,111,114,101,32,116,104, + 101,32,116,114,105,112,108,101,115,32,102,111,114,32,97,110, + 121,32,111,102,32,105,116,115,32,115,117,98,100,105,114,101, + 99,116,111,114,105,101,115,10,32,32,32,32,40,100,105,114, + 101,99,116,111,114,105,101,115,32,97,114,101,32,103,101,110, + 101,114,97,116,101,100,32,116,111,112,32,100,111,119,110,41, + 46,32,32,73,102,32,116,111,112,100,111,119,110,32,105,115, + 32,102,97,108,115,101,44,32,116,104,101,32,116,114,105,112, + 108,101,10,32,32,32,32,102,111,114,32,97,32,100,105,114, + 101,99,116,111,114,121,32,105,115,32,103,101,110,101,114,97, + 116,101,100,32,97,102,116,101,114,32,116,104,101,32,116,114, + 105,112,108,101,115,32,102,111,114,32,97,108,108,32,111,102, + 32,105,116,115,10,32,32,32,32,115,117,98,100,105,114,101, + 99,116,111,114,105,101,115,32,40,100,105,114,101,99,116,111, + 114,105,101,115,32,97,114,101,32,103,101,110,101,114,97,116, + 101,100,32,98,111,116,116,111,109,32,117,112,41,46,10,10, + 32,32,32,32,87,104,101,110,32,116,111,112,100,111,119,110, + 32,105,115,32,116,114,117,101,44,32,116,104,101,32,99,97, + 108,108,101,114,32,99,97,110,32,109,111,100,105,102,121,32, + 116,104,101,32,100,105,114,110,97,109,101,115,32,108,105,115, + 116,32,105,110,45,112,108,97,99,101,10,32,32,32,32,40, + 101,46,103,46,44,32,118,105,97,32,100,101,108,32,111,114, + 32,115,108,105,99,101,32,97,115,115,105,103,110,109,101,110, + 116,41,44,32,97,110,100,32,119,97,108,107,32,119,105,108, + 108,32,111,110,108,121,32,114,101,99,117,114,115,101,32,105, + 110,116,111,32,116,104,101,10,32,32,32,32,115,117,98,100, + 105,114,101,99,116,111,114,105,101,115,32,119,104,111,115,101, + 32,110,97,109,101,115,32,114,101,109,97,105,110,32,105,110, + 32,100,105,114,110,97,109,101,115,59,32,116,104,105,115,32, + 99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,112, + 114,117,110,101,32,116,104,101,10,32,32,32,32,115,101,97, + 114,99,104,44,32,111,114,32,116,111,32,105,109,112,111,115, + 101,32,97,32,115,112,101,99,105,102,105,99,32,111,114,100, + 101,114,32,111,102,32,118,105,115,105,116,105,110,103,46,32, + 32,77,111,100,105,102,121,105,110,103,32,100,105,114,110,97, + 109,101,115,32,119,104,101,110,10,32,32,32,32,116,111,112, + 100,111,119,110,32,105,115,32,102,97,108,115,101,32,104,97, + 115,32,110,111,32,101,102,102,101,99,116,32,111,110,32,116, + 104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,111, + 115,46,119,97,108,107,40,41,44,32,115,105,110,99,101,32, + 116,104,101,10,32,32,32,32,100,105,114,101,99,116,111,114, + 105,101,115,32,105,110,32,100,105,114,110,97,109,101,115,32, + 104,97,118,101,32,97,108,114,101,97,100,121,32,98,101,101, + 110,32,103,101,110,101,114,97,116,101,100,32,98,121,32,116, + 104,101,32,116,105,109,101,32,100,105,114,110,97,109,101,115, + 10,32,32,32,32,105,116,115,101,108,102,32,105,115,32,103, + 101,110,101,114,97,116,101,100,46,32,78,111,32,109,97,116, + 116,101,114,32,116,104,101,32,118,97,108,117,101,32,111,102, + 32,116,111,112,100,111,119,110,44,32,116,104,101,32,108,105, + 115,116,32,111,102,10,32,32,32,32,115,117,98,100,105,114, + 101,99,116,111,114,105,101,115,32,105,115,32,114,101,116,114, + 105,101,118,101,100,32,98,101,102,111,114,101,32,116,104,101, + 32,116,117,112,108,101,115,32,102,111,114,32,116,104,101,32, + 100,105,114,101,99,116,111,114,121,32,97,110,100,32,105,116, + 115,10,32,32,32,32,115,117,98,100,105,114,101,99,116,111, + 114,105,101,115,32,97,114,101,32,103,101,110,101,114,97,116, + 101,100,46,10,10,32,32,32,32,66,121,32,100,101,102,97, + 117,108,116,32,101,114,114,111,114,115,32,102,114,111,109,32, + 116,104,101,32,111,115,46,115,99,97,110,100,105,114,40,41, + 32,99,97,108,108,32,97,114,101,32,105,103,110,111,114,101, + 100,46,32,32,73,102,10,32,32,32,32,111,112,116,105,111, + 110,97,108,32,97,114,103,32,39,111,110,101,114,114,111,114, + 39,32,105,115,32,115,112,101,99,105,102,105,101,100,44,32, + 105,116,32,115,104,111,117,108,100,32,98,101,32,97,32,102, + 117,110,99,116,105,111,110,59,32,105,116,10,32,32,32,32, + 119,105,108,108,32,98,101,32,99,97,108,108,101,100,32,119, + 105,116,104,32,111,110,101,32,97,114,103,117,109,101,110,116, + 44,32,97,110,32,79,83,69,114,114,111,114,32,105,110,115, + 116,97,110,99,101,46,32,32,73,116,32,99,97,110,10,32, + 32,32,32,114,101,112,111,114,116,32,116,104,101,32,101,114, + 114,111,114,32,116,111,32,99,111,110,116,105,110,117,101,32, + 119,105,116,104,32,116,104,101,32,119,97,108,107,44,32,111, + 114,32,114,97,105,115,101,32,116,104,101,32,101,120,99,101, + 112,116,105,111,110,10,32,32,32,32,116,111,32,97,98,111, + 114,116,32,116,104,101,32,119,97,108,107,46,32,32,78,111, + 116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101, + 110,97,109,101,32,105,115,32,97,118,97,105,108,97,98,108, + 101,32,97,115,32,116,104,101,10,32,32,32,32,102,105,108, + 101,110,97,109,101,32,97,116,116,114,105,98,117,116,101,32, + 111,102,32,116,104,101,32,101,120,99,101,112,116,105,111,110, + 32,111,98,106,101,99,116,46,10,10,32,32,32,32,66,121, + 32,100,101,102,97,117,108,116,44,32,111,115,46,119,97,108, + 107,32,100,111,101,115,32,110,111,116,32,102,111,108,108,111, + 119,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115, + 32,116,111,32,115,117,98,100,105,114,101,99,116,111,114,105, + 101,115,32,111,110,10,32,32,32,32,115,121,115,116,101,109, + 115,32,116,104,97,116,32,115,117,112,112,111,114,116,32,116, + 104,101,109,46,32,32,73,110,32,111,114,100,101,114,32,116, + 111,32,103,101,116,32,116,104,105,115,32,102,117,110,99,116, + 105,111,110,97,108,105,116,121,44,32,115,101,116,32,116,104, + 101,10,32,32,32,32,111,112,116,105,111,110,97,108,32,97, + 114,103,117,109,101,110,116,32,39,102,111,108,108,111,119,108, + 105,110,107,115,39,32,116,111,32,116,114,117,101,46,10,10, + 32,32,32,32,67,97,117,116,105,111,110,58,32,32,105,102, + 32,121,111,117,32,112,97,115,115,32,97,32,114,101,108,97, + 116,105,118,101,32,112,97,116,104,110,97,109,101,32,102,111, + 114,32,116,111,112,44,32,100,111,110,39,116,32,99,104,97, + 110,103,101,32,116,104,101,10,32,32,32,32,99,117,114,114, + 101,110,116,32,119,111,114,107,105,110,103,32,100,105,114,101, + 99,116,111,114,121,32,98,101,116,119,101,101,110,32,114,101, + 115,117,109,112,116,105,111,110,115,32,111,102,32,119,97,108, + 107,46,32,32,119,97,108,107,32,110,101,118,101,114,10,32, + 32,32,32,99,104,97,110,103,101,115,32,116,104,101,32,99, + 117,114,114,101,110,116,32,100,105,114,101,99,116,111,114,121, + 44,32,97,110,100,32,97,115,115,117,109,101,115,32,116,104, + 97,116,32,116,104,101,32,99,108,105,101,110,116,32,100,111, + 101,115,110,39,116,10,32,32,32,32,101,105,116,104,101,114, + 46,10,10,32,32,32,32,69,120,97,109,112,108,101,58,10, + 10,32,32,32,32,105,109,112,111,114,116,32,111,115,10,32, + 32,32,32,102,114,111,109,32,111,115,46,112,97,116,104,32, + 105,109,112,111,114,116,32,106,111,105,110,44,32,103,101,116, + 115,105,122,101,10,32,32,32,32,102,111,114,32,114,111,111, + 116,44,32,100,105,114,115,44,32,102,105,108,101,115,32,105, + 110,32,111,115,46,119,97,108,107,40,39,112,121,116,104,111, + 110,47,76,105,98,47,101,109,97,105,108,39,41,58,10,32, + 32,32,32,32,32,32,32,112,114,105,110,116,40,114,111,111, + 116,44,32,34,99,111,110,115,117,109,101,115,32,34,41,10, + 32,32,32,32,32,32,32,32,112,114,105,110,116,40,115,117, + 109,40,103,101,116,115,105,122,101,40,106,111,105,110,40,114, + 111,111,116,44,32,110,97,109,101,41,41,32,102,111,114,32, + 110,97,109,101,32,105,110,32,102,105,108,101,115,41,44,32, + 101,110,100,61,34,32,34,41,10,32,32,32,32,32,32,32, + 32,112,114,105,110,116,40,34,98,121,116,101,115,32,105,110, + 34,44,32,108,101,110,40,102,105,108,101,115,41,44,32,34, + 110,111,110,45,100,105,114,101,99,116,111,114,121,32,102,105, + 108,101,115,34,41,10,32,32,32,32,32,32,32,32,105,102, + 32,39,67,86,83,39,32,105,110,32,100,105,114,115,58,10, + 32,32,32,32,32,32,32,32,32,32,32,32,100,105,114,115, + 46,114,101,109,111,118,101,40,39,67,86,83,39,41,32,32, + 35,32,100,111,110,39,116,32,118,105,115,105,116,32,67,86, + 83,32,100,105,114,101,99,116,111,114,105,101,115,10,10,32, + 32,32,32,122,7,111,115,46,119,97,108,107,78,70,84,41, + 18,218,3,115,121,115,218,5,97,117,100,105,116,218,6,102, + 115,112,97,116,104,114,12,0,0,0,218,6,105,115,108,105, + 110,107,218,4,106,111,105,110,218,3,112,111,112,114,115,0, + 0,0,218,5,116,117,112,108,101,114,86,0,0,0,114,117, + 0,0,0,218,4,110,101,120,116,218,13,83,116,111,112,73, + 116,101,114,97,116,105,111,110,218,6,105,115,95,100,105,114, + 218,6,97,112,112,101,110,100,114,11,0,0,0,218,10,105, + 115,95,115,121,109,108,105,110,107,218,8,114,101,118,101,114, + 115,101,100,41,19,218,3,116,111,112,218,7,116,111,112,100, + 111,119,110,218,7,111,110,101,114,114,111,114,218,11,102,111, + 108,108,111,119,108,105,110,107,115,218,5,115,116,97,99,107, + 114,133,0,0,0,114,134,0,0,0,218,4,100,105,114,115, + 218,7,110,111,110,100,105,114,115,218,9,119,97,108,107,95, + 100,105,114,115,218,10,115,99,97,110,100,105,114,95,105,116, + 218,5,101,114,114,111,114,218,4,99,111,110,116,218,5,101, + 110,116,114,121,114,139,0,0,0,218,9,119,97,108,107,95, + 105,110,116,111,114,141,0,0,0,218,7,100,105,114,110,97, + 109,101,218,8,110,101,119,95,112,97,116,104,115,19,0,0, + 0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,114,25,0,0,0,218,4,119,97,108,107,114, + 158,0,0,0,26,1,0,0,115,64,2,0,0,232,0,248, + 128,0,244,120,1,0,5,8,135,73,129,73,136,105,152,19, + 152,103,160,119,176,11,212,4,60,228,13,19,144,67,139,91, + 136,77,128,69,220,19,23,151,59,145,59,164,4,167,9,161, + 9,136,68,128,70,217,10,15,216,14,19,143,105,137,105,139, + 107,136,3,220,11,21,144,99,156,53,212,11,33,216,18,21, + 138,73,216,12,20,224,15,17,136,4,216,18,20,136,7,216, + 20,22,136,9,240,14,5,9,21,220,25,32,160,19,155,28, + 136,74,240,12,0,16,21,136,4,216,13,23,241,0,41,9, + 53,216,18,22,240,2,9,17,26,240,2,3,21,30,220,32, + 36,160,90,211,32,48,153,5,240,18,5,17,35,216,29,34, + 159,92,153,92,155,94,144,70,241,12,0,20,26,216,20,24, + 151,75,145,75,160,5,167,10,161,10,213,20,43,224,20,27, + 151,78,145,78,160,53,167,58,161,58,212,20,46,225,23,30, + 161,54,241,6,0,24,35,216,36,40,153,9,240,4,6,25, + 47,216,41,46,215,41,57,209,41,57,211,41,59,152,74,240, + 12,0,41,51,160,78,152,9,225,23,32,216,24,33,215,24, + 40,209,24,40,168,21,175,26,169,26,212,24,52,240,81,1, + 0,19,23,248,240,49,0,11,16,248,244,34,0,16,23,242, + 0,3,9,21,216,15,22,208,15,34,217,16,23,152,5,148, + 14,220,12,20,251,240,7,3,9,21,251,244,22,0,28,41, + 242,0,1,21,30,217,24,29,240,3,1,21,30,251,228,23, + 30,242,0,4,17,26,216,23,30,208,23,42,217,24,31,160, + 5,156,14,216,27,31,144,68,220,20,25,251,240,9,4,17, + 26,251,244,16,0,24,31,242,0,3,17,35,240,6,0,30, + 35,146,70,240,7,3,17,35,251,244,36,0,32,39,242,0, + 4,25,47,240,8,0,42,47,154,74,240,9,4,25,47,250, + 247,67,1,41,9,53,247,0,41,9,53,241,0,41,9,53, + 250,241,84,1,0,12,16,217,12,20,225,11,18,224,18,21, + 144,116,152,87,208,18,36,210,12,36,228,27,35,160,68,155, + 62,242,0,7,13,43,144,7,217,27,31,160,3,160,87,211, + 27,45,144,8,241,10,0,20,31,161,102,168,88,213,38,54, + 216,20,25,151,76,145,76,160,24,213,20,42,241,15,7,13, + 43,240,20,0,13,18,143,76,137,76,152,35,152,116,160,87, + 208,25,45,212,12,46,228,28,36,160,89,211,28,47,242,0, + 1,13,39,144,8,216,16,21,151,12,145,12,152,88,213,16, + 38,240,3,1,13,39,243,105,2,0,11,16,251,115,230,0, + 0,0,130,65,51,72,34,1,193,54,11,68,28,0,194,1, + 4,72,34,1,194,5,2,70,24,3,194,9,11,68,60,2, + 194,20,1,70,24,3,194,22,16,69,45,2,194,38,65,2, + 70,24,3,195,41,16,69,62,2,195,57,33,70,24,3,196, + 26,2,72,34,1,196,28,9,68,57,3,196,37,10,68,52, + 3,196,47,5,72,34,1,196,52,5,68,57,3,196,57,3, + 72,34,1,196,60,9,69,8,5,197,5,1,69,11,2,197, + 6,1,70,24,3,197,7,1,69,8,5,197,8,3,69,11, + 2,197,11,9,69,42,5,197,20,12,69,37,5,197,32,5, + 70,24,3,197,37,5,69,42,5,197,42,3,70,24,3,197, + 45,11,69,59,5,197,56,2,70,24,3,197,58,1,69,59, + 5,197,59,3,70,24,3,197,62,11,70,12,5,198,9,2, + 70,24,3,198,11,1,70,12,5,198,12,3,70,24,3,198, + 15,9,72,34,1,198,24,5,70,33,7,198,29,53,72,34, + 1,199,19,65,11,72,34,1,114,158,0,0,0,169,2,218, + 15,102,111,108,108,111,119,95,115,121,109,108,105,110,107,115, + 218,6,100,105,114,95,102,100,99,3,0,0,0,0,0,0, + 0,2,0,0,0,8,0,0,0,35,0,0,0,243,162,1, + 0,0,75,0,1,0,151,0,116,1,0,0,0,0,0,0, + 0,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,1,124,0,124,1,124,2,124,3, + 124,4,171,6,0,0,0,0,0,0,1,0,116,5,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 125,0,124,3,115,14,116,7,0,0,0,0,0,0,0,0, + 124,0,100,2,124,4,172,3,171,3,0,0,0,0,0,0, + 125,5,116,9,0,0,0,0,0,0,0,0,124,0,116,10, + 0,0,0,0,0,0,0,0,124,4,172,4,171,3,0,0, + 0,0,0,0,125,6,9,0,124,3,115,62,116,13,0,0, + 0,0,0,0,0,0,106,14,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,127,5,106,16,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,114,69,116,19,0,0,0,0, + 0,0,0,0,106,20,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,5,116,7,0,0,0,0, + 0,0,0,0,124,6,171,1,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,114,38,116,23,0,0,0,0,0,0, + 0,0,124,6,124,0,116,25,0,0,0,0,0,0,0,0, + 124,0,116,26,0,0,0,0,0,0,0,0,171,2,0,0, + 0,0,0,0,124,1,124,2,124,3,171,6,0,0,0,0, + 0,0,69,0,100,5,123,3,0,0,150,3,151,2,134,5, + 5,0,1,0,116,29,0,0,0,0,0,0,0,0,124,6, + 171,1,0,0,0,0,0,0,1,0,121,5,55,0,140,16, + 35,0,116,29,0,0,0,0,0,0,0,0,124,6,171,1, + 0,0,0,0,0,0,1,0,119,0,120,3,89,0,119,1, + 173,3,119,1,41,6,97,2,5,0,0,68,105,114,101,99, + 116,111,114,121,32,116,114,101,101,32,103,101,110,101,114,97, + 116,111,114,46,10,10,32,32,32,32,32,32,32,32,84,104, + 105,115,32,98,101,104,97,118,101,115,32,101,120,97,99,116, + 108,121,32,108,105,107,101,32,119,97,108,107,40,41,44,32, + 101,120,99,101,112,116,32,116,104,97,116,32,105,116,32,121, + 105,101,108,100,115,32,97,32,52,45,116,117,112,108,101,10, + 10,32,32,32,32,32,32,32,32,32,32,32,32,100,105,114, + 112,97,116,104,44,32,100,105,114,110,97,109,101,115,44,32, + 102,105,108,101,110,97,109,101,115,44,32,100,105,114,102,100, + 10,10,32,32,32,32,32,32,32,32,96,100,105,114,112,97, + 116,104,96,44,32,96,100,105,114,110,97,109,101,115,96,32, + 97,110,100,32,96,102,105,108,101,110,97,109,101,115,96,32, + 97,114,101,32,105,100,101,110,116,105,99,97,108,32,116,111, + 32,119,97,108,107,40,41,32,111,117,116,112,117,116,44,10, + 32,32,32,32,32,32,32,32,97,110,100,32,96,100,105,114, + 102,100,96,32,105,115,32,97,32,102,105,108,101,32,100,101, + 115,99,114,105,112,116,111,114,32,114,101,102,101,114,114,105, + 110,103,32,116,111,32,116,104,101,32,100,105,114,101,99,116, + 111,114,121,32,96,100,105,114,112,97,116,104,96,46,10,10, + 32,32,32,32,32,32,32,32,84,104,101,32,97,100,118,97, + 110,116,97,103,101,32,111,102,32,102,119,97,108,107,40,41, + 32,111,118,101,114,32,119,97,108,107,40,41,32,105,115,32, + 116,104,97,116,32,105,116,39,115,32,115,97,102,101,32,97, + 103,97,105,110,115,116,32,115,121,109,108,105,110,107,10,32, + 32,32,32,32,32,32,32,114,97,99,101,115,32,40,119,104, + 101,110,32,102,111,108,108,111,119,95,115,121,109,108,105,110, + 107,115,32,105,115,32,70,97,108,115,101,41,46,10,10,32, + 32,32,32,32,32,32,32,73,102,32,100,105,114,95,102,100, + 32,105,115,32,110,111,116,32,78,111,110,101,44,32,105,116, + 32,115,104,111,117,108,100,32,98,101,32,97,32,102,105,108, + 101,32,100,101,115,99,114,105,112,116,111,114,32,111,112,101, + 110,32,116,111,32,97,32,100,105,114,101,99,116,111,114,121, + 44,10,32,32,32,32,32,32,32,32,32,32,97,110,100,32, + 116,111,112,32,115,104,111,117,108,100,32,98,101,32,114,101, + 108,97,116,105,118,101,59,32,116,111,112,32,119,105,108,108, + 32,116,104,101,110,32,98,101,32,114,101,108,97,116,105,118, + 101,32,116,111,32,116,104,97,116,32,100,105,114,101,99,116, + 111,114,121,46,10,32,32,32,32,32,32,32,32,32,32,40, + 100,105,114,95,102,100,32,105,115,32,97,108,119,97,121,115, + 32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,102, + 119,97,108,107,46,41,10,10,32,32,32,32,32,32,32,32, + 67,97,117,116,105,111,110,58,10,32,32,32,32,32,32,32, + 32,83,105,110,99,101,32,102,119,97,108,107,40,41,32,121, + 105,101,108,100,115,32,102,105,108,101,32,100,101,115,99,114, + 105,112,116,111,114,115,44,32,116,104,111,115,101,32,97,114, + 101,32,111,110,108,121,32,118,97,108,105,100,32,117,110,116, + 105,108,32,116,104,101,10,32,32,32,32,32,32,32,32,110, + 101,120,116,32,105,116,101,114,97,116,105,111,110,32,115,116, + 101,112,44,32,115,111,32,121,111,117,32,115,104,111,117,108, + 100,32,100,117,112,40,41,32,116,104,101,109,32,105,102,32, + 121,111,117,32,119,97,110,116,32,116,111,32,107,101,101,112, + 32,116,104,101,109,10,32,32,32,32,32,32,32,32,102,111, + 114,32,97,32,108,111,110,103,101,114,32,112,101,114,105,111, + 100,46,10,10,32,32,32,32,32,32,32,32,69,120,97,109, + 112,108,101,58,10,10,32,32,32,32,32,32,32,32,105,109, + 112,111,114,116,32,111,115,10,32,32,32,32,32,32,32,32, + 102,111,114,32,114,111,111,116,44,32,100,105,114,115,44,32, + 102,105,108,101,115,44,32,114,111,111,116,102,100,32,105,110, + 32,111,115,46,102,119,97,108,107,40,39,112,121,116,104,111, + 110,47,76,105,98,47,101,109,97,105,108,39,41,58,10,32, + 32,32,32,32,32,32,32,32,32,32,32,112,114,105,110,116, + 40,114,111,111,116,44,32,34,99,111,110,115,117,109,101,115, + 34,44,32,101,110,100,61,34,34,41,10,32,32,32,32,32, + 32,32,32,32,32,32,32,112,114,105,110,116,40,115,117,109, + 40,111,115,46,115,116,97,116,40,110,97,109,101,44,32,100, + 105,114,95,102,100,61,114,111,111,116,102,100,41,46,115,116, + 95,115,105,122,101,32,102,111,114,32,110,97,109,101,32,105, + 110,32,102,105,108,101,115,41,44,10,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,61, + 34,34,41,10,32,32,32,32,32,32,32,32,32,32,32,32, + 112,114,105,110,116,40,34,98,121,116,101,115,32,105,110,34, + 44,32,108,101,110,40,102,105,108,101,115,41,44,32,34,110, + 111,110,45,100,105,114,101,99,116,111,114,121,32,102,105,108, + 101,115,34,41,10,32,32,32,32,32,32,32,32,32,32,32, + 32,105,102,32,39,67,86,83,39,32,105,110,32,100,105,114, + 115,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,100,105,114,115,46,114,101,109,111,118,101,40,39, + 67,86,83,39,41,32,32,35,32,100,111,110,39,116,32,118, + 105,115,105,116,32,67,86,83,32,100,105,114,101,99,116,111, + 114,105,101,115,10,32,32,32,32,32,32,32,32,122,8,111, + 115,46,102,119,97,108,107,70,114,159,0,0,0,169,1,114, + 161,0,0,0,78,41,15,114,130,0,0,0,114,131,0,0, + 0,114,132,0,0,0,114,57,0,0,0,114,69,0,0,0, + 218,8,79,95,82,68,79,78,76,89,218,2,115,116,218,7, + 83,95,73,83,68,73,82,218,7,115,116,95,109,111,100,101, + 114,12,0,0,0,218,8,115,97,109,101,115,116,97,116,218, + 6,95,102,119,97,108,107,114,115,0,0,0,114,116,0,0, + 0,218,5,99,108,111,115,101,41,7,114,143,0,0,0,114, + 144,0,0,0,114,145,0,0,0,114,160,0,0,0,114,161, + 0,0,0,218,7,111,114,105,103,95,115,116,218,5,116,111, + 112,102,100,115,7,0,0,0,32,32,32,32,32,32,32,114, + 25,0,0,0,218,5,102,119,97,108,107,114,173,0,0,0, + 181,1,0,0,115,180,0,0,0,232,0,248,128,0,244,66, + 1,0,9,12,143,9,137,9,144,42,152,99,160,55,168,71, + 176,95,192,102,212,8,77,220,14,20,144,83,139,107,136,3, + 241,6,0,16,31,220,22,26,152,51,176,5,184,102,212,22, + 69,136,71,220,16,20,144,83,156,40,168,54,212,16,50,136, + 5,240,2,6,9,25,217,16,31,164,66,167,74,161,74,168, + 119,175,127,169,127,212,36,63,220,36,40,167,77,161,77,176, + 39,188,52,192,5,187,59,212,36,71,220,27,33,160,37,168, + 19,172,106,184,19,188,101,211,46,68,216,34,41,168,55,176, + 79,243,3,1,28,69,1,247,0,1,17,69,1,240,0,1, + 17,69,1,244,6,0,13,18,144,37,141,76,240,7,1,17, + 69,1,249,244,6,0,13,18,144,37,141,76,252,115,49,0, + 0,0,130,65,8,67,15,1,193,11,65,33,66,63,0,194, + 44,1,66,61,4,194,45,4,66,63,0,194,49,12,67,15, + 1,194,61,1,66,63,0,194,63,13,67,12,3,195,12,3, + 67,15,1,99,6,0,0,0,0,0,0,0,0,0,0,0, + 9,0,0,0,35,0,0,0,243,126,3,0,0,75,0,1, + 0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,6,103,0,125,7,103,0,125, + 8,124,3,115,2,124,5,114,2,100,0,110,1,103,0,125, + 9,124,6,68,0,93,98,0,0,125,10,124,10,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,125,11,124,2,114,11,116,5,0,0,0,0,0,0,0, + 0,124,11,171,1,0,0,0,0,0,0,125,11,9,0,124, + 10,106,7,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,114,37,124, + 7,106,9,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,11,171,1,0,0,0,0,0,0,1, + 0,124,9,129,35,124,9,106,9,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,10,171,1,0, + 0,0,0,0,0,1,0,110,17,124,8,106,9,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 11,171,1,0,0,0,0,0,0,1,0,140,100,4,0,124, + 3,114,8,124,1,124,7,124,8,124,0,102,4,150,1,151, + 1,1,0,124,9,128,2,124,7,110,11,116,15,0,0,0, + 0,0,0,0,0,124,7,124,9,171,2,0,0,0,0,0, + 0,68,0,93,158,0,0,125,11,9,0,124,5,115,44,124, + 3,114,15,116,17,0,0,0,0,0,0,0,0,124,11,124, + 0,100,1,172,2,171,3,0,0,0,0,0,0,125,12,110, + 27,124,9,128,2,74,0,130,1,124,11,92,2,0,0,125, + 11,125,10,124,10,106,17,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,1,172,3,171,1,0, + 0,0,0,0,0,125,12,116,19,0,0,0,0,0,0,0, + 0,124,11,116,20,0,0,0,0,0,0,0,0,124,0,172, + 4,171,3,0,0,0,0,0,0,125,13,9,0,124,5,115, + 31,116,23,0,0,0,0,0,0,0,0,106,24,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127, + 12,116,17,0,0,0,0,0,0,0,0,124,13,171,1,0, + 0,0,0,0,0,171,2,0,0,0,0,0,0,114,46,116, + 23,0,0,0,0,0,0,0,0,106,26,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,124, + 11,171,2,0,0,0,0,0,0,125,15,116,29,0,0,0, + 0,0,0,0,0,124,13,124,15,124,2,124,3,124,4,124, + 5,171,6,0,0,0,0,0,0,69,0,100,0,123,3,0, + 0,150,3,151,2,134,5,5,0,1,0,116,31,0,0,0, + 0,0,0,0,0,124,13,171,1,0,0,0,0,0,0,1, + 0,140,160,4,0,124,3,115,9,124,1,124,7,124,8,124, + 0,102,4,150,1,151,1,1,0,121,0,121,0,35,0,116, + 10,0,0,0,0,0,0,0,0,36,0,114,54,1,0,9, + 0,124,10,106,13,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,114, + 17,124,8,106,9,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,11,171,1,0,0,0,0,0, + 0,1,0,110,15,35,0,116,10,0,0,0,0,0,0,0, + 0,36,0,114,3,1,0,89,0,110,4,119,0,120,3,89, + 0,119,1,89,0,144,1,140,106,119,0,120,3,89,0,119, + 1,35,0,116,10,0,0,0,0,0,0,0,0,36,0,114, + 21,125,14,124,4,129,8,2,0,124,4,124,14,171,1,0, + 0,0,0,0,0,1,0,89,0,100,0,125,14,126,14,144, + 1,140,8,100,0,125,14,126,14,119,1,119,0,120,3,89, + 0,119,1,55,0,140,128,35,0,116,31,0,0,0,0,0, + 0,0,0,124,13,171,1,0,0,0,0,0,0,1,0,119, + 0,120,3,89,0,119,1,173,3,119,1,41,5,78,70,41, + 2,114,161,0,0,0,114,160,0,0,0,41,1,114,160,0, + 0,0,114,163,0,0,0,41,16,114,86,0,0,0,114,11, + 0,0,0,114,17,0,0,0,114,139,0,0,0,114,140,0, + 0,0,114,117,0,0,0,114,141,0,0,0,218,3,122,105, + 112,114,57,0,0,0,114,69,0,0,0,114,164,0,0,0, + 114,12,0,0,0,114,168,0,0,0,114,134,0,0,0,114, + 169,0,0,0,114,170,0,0,0,41,16,114,172,0,0,0, + 218,7,116,111,112,112,97,116,104,218,7,105,115,98,121,116, + 101,115,114,144,0,0,0,114,145,0,0,0,114,160,0,0, + 0,114,151,0,0,0,114,148,0,0,0,114,149,0,0,0, + 218,7,101,110,116,114,105,101,115,114,154,0,0,0,114,11, + 0,0,0,114,171,0,0,0,218,5,100,105,114,102,100,218, + 3,101,114,114,218,7,100,105,114,112,97,116,104,115,16,0, + 0,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,114,25,0,0,0,114,169,0,0,0,114,169,0,0, + 0,229,1,0,0,115,219,1,0,0,232,0,248,128,0,244, + 10,0,22,29,152,85,147,94,136,10,216,15,17,136,4,216, + 18,20,136,7,217,26,33,161,95,145,36,184,34,136,7,216, + 21,31,242,0,17,9,25,136,69,216,19,24,151,58,145,58, + 136,68,217,15,22,220,23,31,160,4,147,126,144,4,240,2, + 13,13,25,216,19,24,151,60,145,60,148,62,216,20,24,151, + 75,145,75,160,4,212,20,37,216,23,30,208,23,42,216,24, + 31,159,14,153,14,160,117,213,24,45,224,20,27,151,78,145, + 78,160,52,212,20,40,248,240,21,17,9,25,241,38,0,12, + 19,216,18,25,152,52,160,23,168,37,208,18,47,210,12,47, + 224,28,35,152,79,145,68,180,19,176,84,184,55,211,49,67, + 242,0,20,9,29,136,68,240,2,12,13,25,217,23,38,217, + 23,30,220,34,38,160,116,176,69,200,53,212,34,81,153,7, + 224,31,38,208,31,50,209,24,50,216,38,42,153,11,152,4, + 152,101,216,34,39,167,42,161,42,184,85,160,42,211,34,67, + 152,7,220,24,28,152,84,164,56,176,69,212,24,58,144,5, + 240,10,6,13,29,217,19,34,164,100,167,109,161,109,176,71, + 188,84,192,37,187,91,212,38,73,220,30,34,159,105,153,105, + 168,7,176,20,211,30,54,144,71,220,31,37,160,101,168,87, + 176,103,216,38,45,168,119,184,15,243,3,1,32,73,1,247, + 0,1,21,73,1,240,0,1,21,73,1,244,6,0,17,22, + 144,101,149,12,240,41,20,9,29,241,44,0,16,23,216,18, + 25,152,52,160,23,168,37,208,18,47,211,12,47,240,3,0, + 16,23,248,244,67,1,0,20,27,242,0,6,13,25,240,2, + 5,17,25,224,23,28,215,23,39,209,23,39,212,23,41,216, + 24,31,159,14,153,14,160,116,212,24,44,249,220,23,30,242, + 0,1,17,25,217,20,24,240,3,1,17,25,253,240,11,6, + 13,25,251,244,42,0,20,27,242,0,3,13,25,216,19,26, + 208,19,38,217,20,27,152,67,148,76,221,16,24,251,240,7, + 3,13,25,250,240,14,1,21,73,1,249,244,6,0,17,22, + 144,101,149,12,252,115,157,0,0,0,130,54,70,61,1,185, + 65,6,69,8,2,193,63,31,70,61,1,194,31,65,0,70, + 10,2,195,32,65,10,70,45,2,196,42,1,70,43,6,196, + 43,4,70,45,2,196,47,25,70,61,1,197,8,9,70,7, + 5,197,18,33,69,52,4,197,51,1,70,7,5,197,52,9, + 70,0,7,197,61,2,70,7,5,197,63,1,70,0,7,198, + 0,3,70,7,5,198,3,3,70,61,1,198,6,1,70,7, + 5,198,7,3,70,61,1,198,10,9,70,40,5,198,19,10, + 70,35,5,198,29,6,70,61,1,198,35,5,70,40,5,198, + 40,3,70,61,1,198,43,1,70,45,2,198,45,13,70,58, + 5,198,58,3,70,61,1,114,173,0,0,0,99,1,0,0, + 0,0,0,0,0,0,0,0,0,4,0,0,0,7,0,0, + 0,243,28,0,0,0,151,0,116,1,0,0,0,0,0,0, + 0,0,124,0,124,1,171,2,0,0,0,0,0,0,1,0, + 121,1,41,2,122,112,101,120,101,99,108,40,102,105,108,101, + 44,32,42,97,114,103,115,41,10,10,32,32,32,32,69,120, + 101,99,117,116,101,32,116,104,101,32,101,120,101,99,117,116, + 97,98,108,101,32,102,105,108,101,32,119,105,116,104,32,97, + 114,103,117,109,101,110,116,32,108,105,115,116,32,97,114,103, + 115,44,32,114,101,112,108,97,99,105,110,103,32,116,104,101, + 10,32,32,32,32,99,117,114,114,101,110,116,32,112,114,111, + 99,101,115,115,46,32,78,41,1,218,5,101,120,101,99,118, + 169,2,218,4,102,105,108,101,218,4,97,114,103,115,115,2, + 0,0,0,32,32,114,25,0,0,0,218,5,101,120,101,99, + 108,114,187,0,0,0,31,2,0,0,115,14,0,0,0,128, + 0,244,10,0,5,10,136,36,144,4,213,4,21,114,27,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,7,0,0,0,243,46,0,0,0,151,0,124,1, + 100,1,25,0,0,0,125,2,116,1,0,0,0,0,0,0, + 0,0,124,0,124,1,100,2,100,1,26,0,124,2,171,3, + 0,0,0,0,0,0,1,0,121,2,41,3,122,138,101,120, + 101,99,108,101,40,102,105,108,101,44,32,42,97,114,103,115, + 44,32,101,110,118,41,10,10,32,32,32,32,69,120,101,99, + 117,116,101,32,116,104,101,32,101,120,101,99,117,116,97,98, + 108,101,32,102,105,108,101,32,119,105,116,104,32,97,114,103, + 117,109,101,110,116,32,108,105,115,116,32,97,114,103,115,32, + 97,110,100,10,32,32,32,32,101,110,118,105,114,111,110,109, + 101,110,116,32,101,110,118,44,32,114,101,112,108,97,99,105, + 110,103,32,116,104,101,32,99,117,114,114,101,110,116,32,112, + 114,111,99,101,115,115,46,32,233,255,255,255,255,78,41,1, + 114,88,0,0,0,169,3,114,185,0,0,0,114,186,0,0, + 0,218,3,101,110,118,115,3,0,0,0,32,32,32,114,25, + 0,0,0,218,6,101,120,101,99,108,101,114,192,0,0,0, + 38,2,0,0,115,31,0,0,0,128,0,240,10,0,11,15, + 136,114,137,40,128,67,220,4,10,136,52,144,20,144,99,144, + 114,144,25,152,67,213,4,32,114,27,0,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,4,0,0,0,7,0, + 0,0,243,28,0,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,124,1,171,2,0,0,0,0,0,0,1, + 0,121,1,41,2,122,149,101,120,101,99,108,112,40,102,105, + 108,101,44,32,42,97,114,103,115,41,10,10,32,32,32,32, + 69,120,101,99,117,116,101,32,116,104,101,32,101,120,101,99, + 117,116,97,98,108,101,32,102,105,108,101,32,40,119,104,105, + 99,104,32,105,115,32,115,101,97,114,99,104,101,100,32,102, + 111,114,32,97,108,111,110,103,32,36,80,65,84,72,41,10, + 32,32,32,32,119,105,116,104,32,97,114,103,117,109,101,110, + 116,32,108,105,115,116,32,97,114,103,115,44,32,114,101,112, + 108,97,99,105,110,103,32,116,104,101,32,99,117,114,114,101, + 110,116,32,112,114,111,99,101,115,115,46,32,78,41,1,218, + 6,101,120,101,99,118,112,114,184,0,0,0,115,2,0,0, + 0,32,32,114,25,0,0,0,218,6,101,120,101,99,108,112, + 114,195,0,0,0,46,2,0,0,115,14,0,0,0,128,0, + 244,10,0,5,11,136,52,144,20,213,4,22,114,27,0,0, + 0,99,1,0,0,0,0,0,0,0,0,0,0,0,6,0, + 0,0,7,0,0,0,243,46,0,0,0,151,0,124,1,100, + 1,25,0,0,0,125,2,116,1,0,0,0,0,0,0,0, + 0,124,0,124,1,100,2,100,1,26,0,124,2,171,3,0, + 0,0,0,0,0,1,0,121,2,41,3,122,179,101,120,101, + 99,108,112,101,40,102,105,108,101,44,32,42,97,114,103,115, + 44,32,101,110,118,41,10,10,32,32,32,32,69,120,101,99, + 117,116,101,32,116,104,101,32,101,120,101,99,117,116,97,98, + 108,101,32,102,105,108,101,32,40,119,104,105,99,104,32,105, + 115,32,115,101,97,114,99,104,101,100,32,102,111,114,32,97, + 108,111,110,103,32,36,80,65,84,72,41,10,32,32,32,32, + 119,105,116,104,32,97,114,103,117,109,101,110,116,32,108,105, + 115,116,32,97,114,103,115,32,97,110,100,32,101,110,118,105, + 114,111,110,109,101,110,116,32,101,110,118,44,32,114,101,112, + 108,97,99,105,110,103,32,116,104,101,32,99,117,114,114,101, + 110,116,10,32,32,32,32,112,114,111,99,101,115,115,46,32, + 114,189,0,0,0,78,41,1,218,7,101,120,101,99,118,112, + 101,114,190,0,0,0,115,3,0,0,0,32,32,32,114,25, + 0,0,0,218,7,101,120,101,99,108,112,101,114,198,0,0, + 0,53,2,0,0,115,31,0,0,0,128,0,240,12,0,11, + 15,136,114,137,40,128,67,220,4,11,136,68,144,36,144,115, + 152,2,144,41,152,83,213,4,33,114,27,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3, + 0,0,0,243,28,0,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,124,0,124,1,171,2,0,0,0,0,0,0, + 1,0,121,1,41,2,122,192,101,120,101,99,118,112,40,102, + 105,108,101,44,32,97,114,103,115,41,10,10,32,32,32,32, + 69,120,101,99,117,116,101,32,116,104,101,32,101,120,101,99, + 117,116,97,98,108,101,32,102,105,108,101,32,40,119,104,105, + 99,104,32,105,115,32,115,101,97,114,99,104,101,100,32,102, + 111,114,32,97,108,111,110,103,32,36,80,65,84,72,41,10, + 32,32,32,32,119,105,116,104,32,97,114,103,117,109,101,110, + 116,32,108,105,115,116,32,97,114,103,115,44,32,114,101,112, + 108,97,99,105,110,103,32,116,104,101,32,99,117,114,114,101, + 110,116,32,112,114,111,99,101,115,115,46,10,32,32,32,32, + 97,114,103,115,32,109,97,121,32,98,101,32,97,32,108,105, + 115,116,32,111,114,32,116,117,112,108,101,32,111,102,32,115, + 116,114,105,110,103,115,46,32,78,169,1,218,8,95,101,120, + 101,99,118,112,101,114,184,0,0,0,115,2,0,0,0,32, + 32,114,25,0,0,0,114,194,0,0,0,114,194,0,0,0, + 62,2,0,0,115,14,0,0,0,128,0,244,12,0,5,13, + 136,84,144,52,213,4,24,114,27,0,0,0,99,3,0,0, + 0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0, + 0,243,30,0,0,0,151,0,116,1,0,0,0,0,0,0, + 0,0,124,0,124,1,124,2,171,3,0,0,0,0,0,0, + 1,0,121,1,41,2,122,222,101,120,101,99,118,112,101,40, + 102,105,108,101,44,32,97,114,103,115,44,32,101,110,118,41, + 10,10,32,32,32,32,69,120,101,99,117,116,101,32,116,104, + 101,32,101,120,101,99,117,116,97,98,108,101,32,102,105,108, + 101,32,40,119,104,105,99,104,32,105,115,32,115,101,97,114, + 99,104,101,100,32,102,111,114,32,97,108,111,110,103,32,36, + 80,65,84,72,41,10,32,32,32,32,119,105,116,104,32,97, + 114,103,117,109,101,110,116,32,108,105,115,116,32,97,114,103, + 115,32,97,110,100,32,101,110,118,105,114,111,110,109,101,110, + 116,32,101,110,118,44,32,114,101,112,108,97,99,105,110,103, + 32,116,104,101,10,32,32,32,32,99,117,114,114,101,110,116, + 32,112,114,111,99,101,115,115,46,10,32,32,32,32,97,114, + 103,115,32,109,97,121,32,98,101,32,97,32,108,105,115,116, + 32,111,114,32,116,117,112,108,101,32,111,102,32,115,116,114, + 105,110,103,115,46,32,78,114,200,0,0,0,114,190,0,0, + 0,115,3,0,0,0,32,32,32,114,25,0,0,0,114,197, + 0,0,0,114,197,0,0,0,70,2,0,0,115,16,0,0, + 0,128,0,244,14,0,5,13,136,84,144,52,152,19,213,4, + 29,114,27,0,0,0,41,6,114,187,0,0,0,114,192,0, + 0,0,114,195,0,0,0,114,198,0,0,0,114,194,0,0, + 0,114,197,0,0,0,99,3,0,0,0,0,0,0,0,0, + 0,0,0,5,0,0,0,3,0,0,0,243,158,1,0,0, + 151,0,124,2,129,11,116,0,0,0,0,0,0,0,0,0, + 125,3,124,1,124,2,102,2,125,4,110,15,116,2,0,0, + 0,0,0,0,0,0,125,3,124,1,102,1,125,4,116,4, + 0,0,0,0,0,0,0,0,125,2,116,7,0,0,0,0, + 0,0,0,0,106,8,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,114,10,2,0,124,3,124,0,103,1,124,4,162,1, + 173,6,142,0,1,0,121,0,100,0,125,5,116,11,0,0, + 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0, + 125,6,116,12,0,0,0,0,0,0,0,0,100,1,107,55, + 0,0,114,27,116,15,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,125,0,116,17,0,0,0,0, + 0,0,0,0,116,14,0,0,0,0,0,0,0,0,124,6, + 171,2,0,0,0,0,0,0,125,6,124,6,68,0,93,34, + 0,0,125,7,116,7,0,0,0,0,0,0,0,0,106,18, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,7,124,0,171,2,0,0,0,0,0,0,125,8, + 9,0,2,0,124,3,124,8,103,1,124,4,162,1,173,6, + 142,0,1,0,140,36,4,0,124,5,129,2,124,5,130,1, + 127,10,130,1,35,0,116,20,0,0,0,0,0,0,0,0, + 116,22,0,0,0,0,0,0,0,0,102,2,36,0,114,12, + 125,9,124,9,125,10,89,0,100,0,125,9,126,9,140,65, + 100,0,125,9,126,9,119,1,116,24,0,0,0,0,0,0, + 0,0,36,0,114,16,125,9,124,9,125,10,124,5,128,2, + 124,9,125,5,89,0,100,0,125,9,126,9,140,88,100,0, + 125,9,126,9,119,1,119,0,120,3,89,0,119,1,41,2, + 78,114,42,0,0,0,41,13,114,88,0,0,0,114,183,0, + 0,0,218,7,101,110,118,105,114,111,110,114,12,0,0,0, + 114,156,0,0,0,114,19,0,0,0,114,11,0,0,0,114, + 17,0,0,0,218,3,109,97,112,114,134,0,0,0,218,17, + 70,105,108,101,78,111,116,70,111,117,110,100,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,117,0,0,0,41,11,114,185,0,0, + 0,114,186,0,0,0,114,191,0,0,0,218,9,101,120,101, + 99,95,102,117,110,99,218,7,97,114,103,114,101,115,116,218, + 9,115,97,118,101,100,95,101,120,99,218,9,112,97,116,104, + 95,108,105,115,116,114,33,0,0,0,218,8,102,117,108,108, + 110,97,109,101,218,1,101,218,8,108,97,115,116,95,101,120, + 99,115,11,0,0,0,32,32,32,32,32,32,32,32,32,32, + 32,114,25,0,0,0,114,201,0,0,0,114,201,0,0,0, + 81,2,0,0,115,231,0,0,0,128,0,216,7,10,128,127, + 220,20,26,136,9,216,19,23,152,19,144,43,137,7,228,20, + 25,136,9,216,19,23,144,39,136,7,220,14,21,136,3,228, + 7,11,135,124,129,124,144,68,212,7,25,217,8,17,144,36, + 208,8,33,152,23,211,8,33,216,8,14,216,16,20,128,73, + 220,16,29,152,99,211,16,34,128,73,220,7,11,136,116,130, + 124,220,15,23,152,4,139,126,136,4,220,20,23,156,8,160, + 41,211,20,44,136,9,216,15,24,242,0,9,5,30,136,3, + 220,19,23,151,57,145,57,152,83,160,36,211,19,39,136,8, + 240,2,7,9,30,217,12,21,144,104,208,12,41,160,23,212, + 12,41,240,7,9,5,30,240,20,0,8,17,208,7,28,216, + 14,23,136,15,216,10,18,128,78,248,244,17,0,17,34,212, + 35,53,208,15,54,242,0,1,9,25,216,23,24,141,72,251, + 220,15,22,242,0,3,9,30,216,23,24,136,72,216,15,24, + 208,15,32,216,28,29,144,9,255,248,240,7,3,9,30,250, + 115,36,0,0,0,194,9,9,66,26,2,194,26,15,67,12, + 5,194,41,2,66,48,5,194,48,12,67,12,5,194,60,6, + 67,7,5,195,7,5,67,12,5,99,1,0,0,0,0,0, + 0,0,0,0,0,0,6,0,0,0,3,0,0,0,243,170, + 1,0,0,151,0,100,1,100,2,108,0,125,1,124,0,128, + 6,116,2,0,0,0,0,0,0,0,0,125,0,124,1,106, + 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,53,0,1,0,124, + 1,106,7,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,3,116,8,0,0,0,0,0,0,0, + 0,171,2,0,0,0,0,0,0,1,0,9,0,124,0,106, + 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,4,171,1,0,0,0,0,0,0,125,2,116, + 14,0,0,0,0,0,0,0,0,114,50,9,0,124,0,100, + 5,25,0,0,0,125,3,124,2,129,11,116,17,0,0,0, + 0,0,0,0,0,100,6,171,1,0,0,0,0,0,0,130, + 1,124,3,125,2,124,2,129,27,116,21,0,0,0,0,0, + 0,0,0,124,2,116,22,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,114,11,116,25,0,0,0,0,0, + 0,0,0,124,2,171,1,0,0,0,0,0,0,125,2,100, + 2,100,2,100,2,171,2,0,0,0,0,0,0,1,0,127, + 2,128,6,116,26,0,0,0,0,0,0,0,0,125,2,124, + 2,106,29,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,116,30,0,0,0,0,0,0,0,0,171, + 1,0,0,0,0,0,0,83,0,35,0,116,12,0,0,0, + 0,0,0,0,0,36,0,114,5,1,0,100,2,125,2,89, + 0,140,106,119,0,120,3,89,0,119,1,35,0,116,18,0, + 0,0,0,0,0,0,0,116,12,0,0,0,0,0,0,0, + 0,102,2,36,0,114,3,1,0,89,0,140,100,119,0,120, + 3,89,0,119,1,35,0,49,0,115,1,119,2,1,0,89, + 0,1,0,1,0,140,76,120,3,89,0,119,1,41,7,122, + 243,82,101,116,117,114,110,115,32,116,104,101,32,115,101,113, + 117,101,110,99,101,32,111,102,32,100,105,114,101,99,116,111, + 114,105,101,115,32,116,104,97,116,32,119,105,108,108,32,98, + 101,32,115,101,97,114,99,104,101,100,32,102,111,114,32,116, + 104,101,10,32,32,32,32,110,97,109,101,100,32,101,120,101, + 99,117,116,97,98,108,101,32,40,115,105,109,105,108,97,114, + 32,116,111,32,97,32,115,104,101,108,108,41,32,119,104,101, + 110,32,108,97,117,110,99,104,105,110,103,32,97,32,112,114, + 111,99,101,115,115,46,10,10,32,32,32,32,42,101,110,118, + 42,32,109,117,115,116,32,98,101,32,97,110,32,101,110,118, + 105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108, + 101,32,100,105,99,116,32,111,114,32,78,111,110,101,46,32, + 32,73,102,32,42,101,110,118,42,32,105,115,32,78,111,110, + 101,44,10,32,32,32,32,111,115,46,101,110,118,105,114,111, + 110,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10, + 32,32,32,32,114,2,0,0,0,78,218,6,105,103,110,111, + 114,101,218,4,80,65,84,72,115,4,0,0,0,80,65,84, + 72,122,42,101,110,118,32,99,97,110,110,111,116,32,99,111, + 110,116,97,105,110,32,39,80,65,84,72,39,32,97,110,100, + 32,98,39,80,65,84,72,39,32,107,101,121,115,41,16,218, + 8,119,97,114,110,105,110,103,115,114,204,0,0,0,218,14, + 99,97,116,99,104,95,119,97,114,110,105,110,103,115,218,12, + 115,105,109,112,108,101,102,105,108,116,101,114,218,12,66,121, + 116,101,115,87,97,114,110,105,110,103,218,3,103,101,116,218, + 9,84,121,112,101,69,114,114,111,114,218,22,115,117,112,112, + 111,114,116,115,95,98,121,116,101,115,95,101,110,118,105,114, + 111,110,218,10,86,97,108,117,101,69,114,114,111,114,218,8, + 75,101,121,69,114,114,111,114,114,115,0,0,0,114,116,0, + 0,0,114,18,0,0,0,114,10,0,0,0,114,111,0,0, + 0,114,8,0,0,0,41,4,114,191,0,0,0,114,218,0, + 0,0,114,211,0,0,0,218,10,112,97,116,104,95,108,105, + 115,116,98,115,4,0,0,0,32,32,32,32,114,25,0,0, + 0,114,19,0,0,0,114,19,0,0,0,113,2,0,0,115, + 235,0,0,0,128,0,243,20,0,5,20,224,7,10,128,123, + 220,14,21,136,3,240,8,0,10,18,215,9,32,209,9,32, + 211,9,34,241,0,20,5,48,216,8,16,215,8,29,209,8, + 29,152,104,172,12,212,8,53,240,4,3,9,29,216,24,27, + 159,7,153,7,160,6,155,15,136,73,245,8,0,12,34,240, + 2,8,13,39,216,29,32,160,23,153,92,144,10,240,8,0, + 20,29,208,19,40,220,26,36,216,24,68,243,3,1,27,70, + 1,240,0,1,21,70,1,224,28,38,144,9,224,15,24,208, + 15,36,172,26,176,73,188,117,212,41,69,220,28,36,160,89, + 211,28,47,144,9,247,41,20,5,48,240,44,0,8,17,208, + 7,24,220,20,27,136,9,216,11,20,143,63,137,63,156,55, + 211,11,35,208,4,35,248,244,39,0,16,25,242,0,1,9, + 29,216,24,28,138,73,240,3,1,9,29,251,244,12,0,21, + 29,156,105,208,19,40,242,0,1,13,21,217,16,20,240,3, + 1,13,21,250,247,23,20,5,48,240,0,20,5,48,250,115, + 82,0,0,0,157,23,67,9,3,181,17,66,35,2,193,6, + 6,67,9,3,193,13,5,66,52,2,193,18,44,67,9,3, + 194,35,11,66,49,5,194,46,2,67,9,3,194,48,1,66, + 49,5,194,49,3,67,9,3,194,52,15,67,6,5,195,3, + 2,67,9,3,195,5,1,67,6,5,195,6,3,67,9,3, + 195,9,5,67,18,7,41,2,218,14,77,117,116,97,98,108, + 101,77,97,112,112,105,110,103,218,7,77,97,112,112,105,110, + 103,99,0,0,0,0,0,0,0,0,0,0,0,0,1,0, + 0,0,0,0,0,0,243,84,0,0,0,151,0,101,0,90, + 1,100,0,90,2,100,1,132,0,90,3,100,2,132,0,90, + 4,100,3,132,0,90,5,100,4,132,0,90,6,100,5,132, + 0,90,7,100,6,132,0,90,8,100,7,132,0,90,9,100, + 8,132,0,90,10,100,9,132,0,90,11,100,10,132,0,90, + 12,100,11,132,0,90,13,100,12,132,0,90,14,121,13,41, + 14,218,8,95,69,110,118,105,114,111,110,99,6,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, + 243,74,0,0,0,151,0,124,2,124,0,95,0,0,0,0, + 0,0,0,0,0,124,3,124,0,95,1,0,0,0,0,0, + 0,0,0,124,4,124,0,95,2,0,0,0,0,0,0,0, + 0,124,5,124,0,95,3,0,0,0,0,0,0,0,0,124, + 1,124,0,95,4,0,0,0,0,0,0,0,0,121,0,114, + 23,0,0,0,41,5,218,9,101,110,99,111,100,101,107,101, + 121,218,9,100,101,99,111,100,101,107,101,121,218,11,101,110, + 99,111,100,101,118,97,108,117,101,218,11,100,101,99,111,100, + 101,118,97,108,117,101,218,5,95,100,97,116,97,41,6,218, + 4,115,101,108,102,218,4,100,97,116,97,114,233,0,0,0, + 114,234,0,0,0,114,235,0,0,0,114,236,0,0,0,115, + 6,0,0,0,32,32,32,32,32,32,114,25,0,0,0,218, + 8,95,95,105,110,105,116,95,95,122,17,95,69,110,118,105, + 114,111,110,46,95,95,105,110,105,116,95,95,161,2,0,0, + 115,39,0,0,0,128,0,216,25,34,136,4,140,14,216,25, + 34,136,4,140,14,216,27,38,136,4,212,8,24,216,27,38, + 136,4,212,8,24,216,21,25,136,4,141,10,114,27,0,0, + 0,99,2,0,0,0,0,0,0,0,0,0,0,0,4,0, + 0,0,3,0,0,0,243,148,0,0,0,151,0,9,0,124, + 0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,0,106,3,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,171,1,0, + 0,0,0,0,0,25,0,0,0,125,2,124,0,106,7,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,2,171,1,0,0,0,0,0,0,83,0,35,0,116, + 4,0,0,0,0,0,0,0,0,36,0,114,13,1,0,116, + 5,0,0,0,0,0,0,0,0,124,1,171,1,0,0,0, + 0,0,0,100,0,130,2,119,0,120,3,89,0,119,1,114, + 23,0,0,0,41,4,114,237,0,0,0,114,233,0,0,0, + 114,226,0,0,0,114,236,0,0,0,169,3,114,238,0,0, + 0,218,3,107,101,121,218,5,118,97,108,117,101,115,3,0, + 0,0,32,32,32,114,25,0,0,0,218,11,95,95,103,101, + 116,105,116,101,109,95,95,122,20,95,69,110,118,105,114,111, + 110,46,95,95,103,101,116,105,116,101,109,95,95,168,2,0, + 0,115,78,0,0,0,128,0,240,2,4,9,42,216,20,24, + 151,74,145,74,152,116,159,126,153,126,168,99,211,31,50,209, + 20,51,136,69,240,8,0,16,20,215,15,31,209,15,31,160, + 5,211,15,38,208,8,38,248,244,7,0,16,24,242,0,2, + 9,42,228,18,26,152,51,147,45,160,84,208,12,41,240,5, + 2,9,42,250,115,9,0,0,0,130,30,49,0,177,22,65, + 7,3,99,3,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,3,0,0,0,243,126,0,0,0,151,0,124,0, + 106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,171,1,0,0,0,0,0,0,125,1, + 124,0,106,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0, + 125,2,116,5,0,0,0,0,0,0,0,0,124,1,124,2, + 171,2,0,0,0,0,0,0,1,0,124,2,124,0,106,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,1,60,0,0,0,121,0,114,23,0,0,0,41, + 4,114,233,0,0,0,114,235,0,0,0,218,6,112,117,116, + 101,110,118,114,237,0,0,0,114,242,0,0,0,115,3,0, + 0,0,32,32,32,114,25,0,0,0,218,11,95,95,115,101, + 116,105,116,101,109,95,95,122,20,95,69,110,118,105,114,111, + 110,46,95,95,115,101,116,105,116,101,109,95,95,176,2,0, + 0,115,55,0,0,0,128,0,216,14,18,143,110,137,110,152, + 83,211,14,33,136,3,216,16,20,215,16,32,209,16,32,160, + 21,211,16,39,136,5,220,8,14,136,115,144,69,212,8,26, + 216,26,31,136,4,143,10,137,10,144,51,138,15,114,27,0, + 0,0,99,2,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,3,0,0,0,243,138,0,0,0,151,0,124,0, + 106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,171,1,0,0,0,0,0,0,125,2, + 116,3,0,0,0,0,0,0,0,0,124,2,171,1,0,0, + 0,0,0,0,1,0,9,0,124,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,2, + 61,0,121,0,35,0,116,6,0,0,0,0,0,0,0,0, + 36,0,114,13,1,0,116,7,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,100,0,130,2,119,0, + 120,3,89,0,119,1,114,23,0,0,0,41,4,114,233,0, + 0,0,218,8,117,110,115,101,116,101,110,118,114,237,0,0, + 0,114,226,0,0,0,41,3,114,238,0,0,0,114,243,0, + 0,0,218,10,101,110,99,111,100,101,100,107,101,121,115,3, + 0,0,0,32,32,32,114,25,0,0,0,218,11,95,95,100, + 101,108,105,116,101,109,95,95,122,20,95,69,110,118,105,114, + 111,110,46,95,95,100,101,108,105,116,101,109,95,95,182,2, + 0,0,115,68,0,0,0,128,0,216,21,25,151,94,145,94, + 160,67,211,21,40,136,10,220,8,16,144,26,212,8,28,240, + 2,4,9,42,216,16,20,151,10,145,10,152,58,209,16,38, + 248,220,15,23,242,0,2,9,42,228,18,26,152,51,147,45, + 160,84,208,12,41,240,5,2,9,42,250,115,9,0,0,0, + 158,13,44,0,172,22,65,2,3,99,1,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,35,0,0,0,243,106, + 0,0,0,75,0,1,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,1,0,0,0,0,0, + 0,125,1,124,1,68,0,93,21,0,0,125,2,124,0,106, + 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,2,171,1,0,0,0,0,0,0,150,1,151, + 1,1,0,140,23,4,0,121,0,173,3,119,1,114,23,0, + 0,0,41,3,114,30,0,0,0,114,237,0,0,0,114,234, + 0,0,0,41,3,114,238,0,0,0,218,4,107,101,121,115, + 114,243,0,0,0,115,3,0,0,0,32,32,32,114,25,0, + 0,0,218,8,95,95,105,116,101,114,95,95,122,17,95,69, + 110,118,105,114,111,110,46,95,95,105,116,101,114,95,95,191, + 2,0,0,115,50,0,0,0,232,0,248,128,0,228,15,19, + 144,68,151,74,145,74,211,15,31,136,4,216,19,23,242,0, + 1,9,38,136,67,216,18,22,151,46,145,46,160,19,211,18, + 37,211,12,37,241,3,1,9,38,249,115,4,0,0,0,130, + 49,51,1,99,1,0,0,0,0,0,0,0,0,0,0,0, + 3,0,0,0,3,0,0,0,243,44,0,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,124,0,106,2,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 1,0,0,0,0,0,0,83,0,114,23,0,0,0,41,2, + 218,3,108,101,110,114,237,0,0,0,169,1,114,238,0,0, + 0,115,1,0,0,0,32,114,25,0,0,0,218,7,95,95, + 108,101,110,95,95,122,16,95,69,110,118,105,114,111,110,46, + 95,95,108,101,110,95,95,197,2,0,0,115,16,0,0,0, + 128,0,220,15,18,144,52,151,58,145,58,139,127,208,8,30, + 114,27,0,0,0,99,1,0,0,0,0,0,0,0,0,0, + 0,0,5,0,0,0,3,0,0,0,243,116,0,0,0,135, + 0,151,0,100,1,106,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,136,0,102,1,100,2,132, + 8,137,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,5,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,171,0,0,0,0, + 0,0,0,68,0,171,0,0,0,0,0,0,0,171,1,0, + 0,0,0,0,0,125,1,100,3,124,1,155,0,100,4,157, + 3,83,0,41,5,78,122,2,44,32,99,1,0,0,0,0, + 0,0,0,0,0,0,0,6,0,0,0,51,0,0,0,243, + 110,0,0,0,149,1,75,0,1,0,151,0,124,0,93,44, + 0,0,92,2,0,0,125,1,125,2,137,3,106,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,155,2,100,0,137,3, + 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,2,171,1,0,0,0,0,0,0,155,2, + 157,3,150,1,151,1,1,0,140,46,4,0,121,1,173,3, + 119,1,41,2,122,2,58,32,78,41,2,114,234,0,0,0, + 114,236,0,0,0,41,4,218,2,46,48,114,243,0,0,0, + 114,244,0,0,0,114,238,0,0,0,115,4,0,0,0,32, + 32,32,128,114,25,0,0,0,250,9,60,103,101,110,101,120, + 112,114,62,122,36,95,69,110,118,105,114,111,110,46,95,95, + 114,101,112,114,95,95,46,60,108,111,99,97,108,115,62,46, + 60,103,101,110,101,120,112,114,62,201,2,0,0,115,62,0, + 0,0,248,232,0,248,128,0,242,0,3,36,10,225,16,26, + 144,3,144,85,240,3,0,16,20,143,126,137,126,152,99,211, + 15,34,208,14,37,160,82,168,4,215,40,56,209,40,56,184, + 21,211,40,63,208,39,66,212,12,67,241,3,3,36,10,249, + 115,4,0,0,0,131,50,53,1,122,9,101,110,118,105,114, + 111,110,40,123,122,2,125,41,41,3,114,134,0,0,0,114, + 237,0,0,0,218,5,105,116,101,109,115,41,2,114,238,0, + 0,0,218,15,102,111,114,109,97,116,116,101,100,95,105,116, + 101,109,115,115,2,0,0,0,96,32,114,25,0,0,0,218, + 8,95,95,114,101,112,114,95,95,122,17,95,69,110,118,105, + 114,111,110,46,95,95,114,101,112,114,95,95,200,2,0,0, + 115,61,0,0,0,248,128,0,216,26,30,159,41,153,41,243, + 0,3,36,10,224,30,34,159,106,153,106,215,30,46,209,30, + 46,211,30,48,244,5,3,36,10,243,0,3,27,10,136,15, + 240,8,0,18,28,152,79,208,27,44,168,67,208,15,48,208, + 8,48,114,27,0,0,0,99,1,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,3,0,0,0,243,24,0,0, + 0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,83,0,114,23,0,0,0,41,1, + 218,4,100,105,99,116,114,2,1,0,0,115,1,0,0,0, + 32,114,25,0,0,0,218,4,99,111,112,121,122,13,95,69, + 110,118,105,114,111,110,46,99,111,112,121,207,2,0,0,115, + 12,0,0,0,128,0,220,15,19,144,68,139,122,208,8,25, + 114,27,0,0,0,99,3,0,0,0,0,0,0,0,0,0, + 0,0,3,0,0,0,3,0,0,0,243,30,0,0,0,151, + 0,124,1,124,0,118,1,114,5,124,2,124,0,124,1,60, + 0,0,0,124,0,124,1,25,0,0,0,83,0,114,23,0, + 0,0,169,0,114,242,0,0,0,115,3,0,0,0,32,32, + 32,114,25,0,0,0,218,10,115,101,116,100,101,102,97,117, + 108,116,122,19,95,69,110,118,105,114,111,110,46,115,101,116, + 100,101,102,97,117,108,116,210,2,0,0,115,28,0,0,0, + 128,0,216,11,14,144,100,137,63,216,24,29,136,68,144,19, + 137,73,216,15,19,144,67,137,121,208,8,24,114,27,0,0, + 0,99,2,0,0,0,0,0,0,0,0,0,0,0,3,0, + 0,0,3,0,0,0,243,40,0,0,0,151,0,124,0,106, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,171,1,0,0,0,0,0,0,1,0,124, + 0,83,0,114,23,0,0,0,41,1,218,6,117,112,100,97, + 116,101,41,2,114,238,0,0,0,218,5,111,116,104,101,114, + 115,2,0,0,0,32,32,114,25,0,0,0,218,7,95,95, + 105,111,114,95,95,122,16,95,69,110,118,105,114,111,110,46, + 95,95,105,111,114,95,95,215,2,0,0,115,19,0,0,0, + 128,0,216,8,12,143,11,137,11,144,69,212,8,26,216,15, + 19,136,11,114,27,0,0,0,99,2,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,106,0, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,1, + 116,2,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,115,6,116,4,0,0,0,0,0,0,0,0,83,0, + 116,7,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,125,2,124,2,106,9,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,1,171,1, + 0,0,0,0,0,0,1,0,124,2,83,0,114,23,0,0, + 0,169,5,114,115,0,0,0,114,229,0,0,0,218,14,78, + 111,116,73,109,112,108,101,109,101,110,116,101,100,114,12,1, + 0,0,114,18,1,0,0,169,3,114,238,0,0,0,114,19, + 1,0,0,114,127,0,0,0,115,3,0,0,0,32,32,32, + 114,25,0,0,0,218,6,95,95,111,114,95,95,122,15,95, + 69,110,118,105,114,111,110,46,95,95,111,114,95,95,219,2, + 0,0,115,44,0,0,0,128,0,220,15,25,152,37,164,23, + 212,15,41,220,19,33,208,12,33,220,14,18,144,52,139,106, + 136,3,216,8,11,143,10,137,10,144,53,212,8,25,216,15, + 18,136,10,114,27,0,0,0,99,2,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,106,0, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,1, + 116,2,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,115,6,116,4,0,0,0,0,0,0,0,0,83,0, + 116,7,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,125,2,124,2,106,9,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,1,0,124,2,83,0,114,23,0,0, + 0,114,22,1,0,0,114,24,1,0,0,115,3,0,0,0, + 32,32,32,114,25,0,0,0,218,7,95,95,114,111,114,95, + 95,122,16,95,69,110,118,105,114,111,110,46,95,95,114,111, + 114,95,95,226,2,0,0,115,44,0,0,0,128,0,220,15, + 25,152,37,164,23,212,15,41,220,19,33,208,12,33,220,14, + 18,144,53,139,107,136,3,216,8,11,143,10,137,10,144,52, + 212,8,24,216,15,18,136,10,114,27,0,0,0,78,41,15, + 218,8,95,95,110,97,109,101,95,95,218,10,95,95,109,111, + 100,117,108,101,95,95,218,12,95,95,113,117,97,108,110,97, + 109,101,95,95,114,240,0,0,0,114,245,0,0,0,114,248, + 0,0,0,114,252,0,0,0,114,255,0,0,0,114,3,1, + 0,0,114,10,1,0,0,114,13,1,0,0,114,16,1,0, + 0,114,20,1,0,0,114,25,1,0,0,114,27,1,0,0, + 114,15,1,0,0,114,27,0,0,0,114,25,0,0,0,114, + 231,0,0,0,114,231,0,0,0,160,2,0,0,115,62,0, + 0,0,132,0,242,2,5,5,26,242,14,6,5,39,242,16, + 4,5,32,242,12,7,5,42,242,18,4,5,38,242,12,1, + 5,31,242,6,5,5,49,242,14,1,5,26,242,6,3,5, + 25,242,10,2,5,20,242,8,5,5,19,243,14,5,5,19, + 114,27,0,0,0,114,231,0,0,0,99,0,0,0,0,0, + 0,0,0,0,0,0,0,7,0,0,0,3,0,0,0,243, + 246,0,0,0,135,6,135,7,151,0,116,0,0,0,0,0, + 0,0,0,0,100,1,107,40,0,0,114,58,100,2,132,0, + 125,0,124,0,138,6,116,2,0,0,0,0,0,0,0,0, + 125,1,136,6,102,1,100,3,132,8,125,2,105,0,125,3, + 116,4,0,0,0,0,0,0,0,0,106,7,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,68,0,93,16,0,0,92,2,0,0, + 125,4,125,5,124,5,124,3,2,0,124,2,124,4,171,1, + 0,0,0,0,0,0,60,0,0,0,140,18,4,0,110,38, + 116,9,0,0,0,0,0,0,0,0,106,10,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,138,7,136,7,102,1,100,4,132,8, + 138,6,136,7,102,1,100,5,132,8,125,1,137,6,125,2, + 116,4,0,0,0,0,0,0,0,0,125,3,116,13,0,0, + 0,0,0,0,0,0,124,3,124,2,124,1,137,6,124,1, + 171,5,0,0,0,0,0,0,83,0,41,6,78,114,42,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,19,0,0,0,243,104,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,124,0,116,2,0,0,0,0, + 0,0,0,0,171,2,0,0,0,0,0,0,115,33,116,5, + 0,0,0,0,0,0,0,0,100,1,116,7,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,106,8, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,122,6,0,0,171,1,0,0,0,0,0,0,130,1, + 124,0,83,0,41,2,78,250,20,115,116,114,32,101,120,112, + 101,99,116,101,100,44,32,110,111,116,32,37,115,41,5,114, + 115,0,0,0,114,47,0,0,0,114,223,0,0,0,218,4, + 116,121,112,101,114,28,1,0,0,169,1,114,244,0,0,0, + 115,1,0,0,0,32,114,25,0,0,0,218,9,99,104,101, + 99,107,95,115,116,114,122,33,95,99,114,101,97,116,101,101, + 110,118,105,114,111,110,46,60,108,111,99,97,108,115,62,46, + 99,104,101,99,107,95,115,116,114,236,2,0,0,115,44,0, + 0,0,128,0,220,19,29,152,101,164,83,212,19,41,220,22, + 31,208,32,54,188,20,184,101,187,27,215,57,77,209,57,77, + 209,32,77,211,22,78,208,16,78,216,19,24,136,76,114,27, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 3,0,0,0,19,0,0,0,243,48,0,0,0,149,1,151, + 0,2,0,137,1,124,0,171,1,0,0,0,0,0,0,106, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,83,0,114,23,0, + 0,0,41,1,218,5,117,112,112,101,114,41,2,114,243,0, + 0,0,218,6,101,110,99,111,100,101,115,2,0,0,0,32, + 128,114,25,0,0,0,114,233,0,0,0,122,33,95,99,114, + 101,97,116,101,101,110,118,105,114,111,110,46,60,108,111,99, + 97,108,115,62,46,101,110,99,111,100,101,107,101,121,242,2, + 0,0,115,22,0,0,0,248,128,0,217,19,25,152,35,147, + 59,215,19,36,209,19,36,211,19,38,208,12,38,114,27,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,19,0,0,0,243,138,0,0,0,149,1,151,0, + 116,1,0,0,0,0,0,0,0,0,124,0,116,2,0,0, + 0,0,0,0,0,0,171,2,0,0,0,0,0,0,115,33, + 116,5,0,0,0,0,0,0,0,0,100,1,116,7,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 106,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,122,6,0,0,171,1,0,0,0,0,0,0, + 130,1,124,0,106,11,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,137,1,100,2,171,2,0,0, + 0,0,0,0,83,0,41,3,78,114,33,1,0,0,218,15, + 115,117,114,114,111,103,97,116,101,101,115,99,97,112,101,41, + 6,114,115,0,0,0,114,47,0,0,0,114,223,0,0,0, + 114,34,1,0,0,114,28,1,0,0,114,39,1,0,0,169, + 2,114,244,0,0,0,218,8,101,110,99,111,100,105,110,103, + 115,2,0,0,0,32,128,114,25,0,0,0,114,39,1,0, + 0,122,30,95,99,114,101,97,116,101,101,110,118,105,114,111, + 110,46,60,108,111,99,97,108,115,62,46,101,110,99,111,100, + 101,250,2,0,0,115,58,0,0,0,248,128,0,220,19,29, + 152,101,164,83,212,19,41,220,22,31,208,32,54,188,20,184, + 101,187,27,215,57,77,209,57,77,209,32,77,211,22,78,208, + 16,78,216,19,24,151,60,145,60,160,8,208,42,59,211,19, + 60,208,12,60,114,27,0,0,0,99,1,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,19,0,0,0,243,40, + 0,0,0,149,1,151,0,124,0,106,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,137,1,100, + 1,171,2,0,0,0,0,0,0,83,0,41,2,78,114,41, + 1,0,0,41,1,218,6,100,101,99,111,100,101,114,42,1, + 0,0,115,2,0,0,0,32,128,114,25,0,0,0,114,45, + 1,0,0,122,30,95,99,114,101,97,116,101,101,110,118,105, + 114,111,110,46,60,108,111,99,97,108,115,62,46,100,101,99, + 111,100,101,254,2,0,0,115,21,0,0,0,248,128,0,216, + 19,24,151,60,145,60,160,8,208,42,59,211,19,60,208,12, + 60,114,27,0,0,0,41,7,114,11,0,0,0,114,47,0, + 0,0,114,204,0,0,0,114,8,1,0,0,114,130,0,0, + 0,218,21,103,101,116,102,105,108,101,115,121,115,116,101,109, + 101,110,99,111,100,105,110,103,114,231,0,0,0,41,8,114, + 36,1,0,0,114,45,1,0,0,114,233,0,0,0,114,239, + 0,0,0,114,243,0,0,0,114,244,0,0,0,114,39,1, + 0,0,114,43,1,0,0,115,8,0,0,0,32,32,32,32, + 32,32,64,64,114,25,0,0,0,218,14,95,99,114,101,97, + 116,101,101,110,118,105,114,111,110,114,47,1,0,0,233,2, + 0,0,115,137,0,0,0,249,128,0,220,7,11,136,116,130, + 124,242,4,3,9,25,240,8,0,18,27,136,6,220,17,20, + 136,6,244,2,1,9,39,224,15,17,136,4,220,26,33,159, + 45,153,45,155,47,242,0,1,9,41,137,74,136,67,144,21, + 216,35,40,136,68,145,25,152,51,147,30,210,12,32,241,3, + 1,9,41,244,8,0,20,23,215,19,44,209,19,44,211,19, + 46,136,8,244,2,3,9,61,244,8,1,9,61,224,20,26, + 136,9,220,15,22,136,4,220,11,19,144,68,216,8,17,144, + 54,216,8,14,144,6,243,5,2,12,24,240,0,2,5,24, + 114,27,0,0,0,99,2,0,0,0,0,0,0,0,0,0, + 0,0,4,0,0,0,3,0,0,0,243,46,0,0,0,151, + 0,116,0,0,0,0,0,0,0,0,0,106,3,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 0,124,1,171,2,0,0,0,0,0,0,83,0,41,1,122, + 169,71,101,116,32,97,110,32,101,110,118,105,114,111,110,109, + 101,110,116,32,118,97,114,105,97,98,108,101,44,32,114,101, + 116,117,114,110,32,78,111,110,101,32,105,102,32,105,116,32, + 100,111,101,115,110,39,116,32,101,120,105,115,116,46,10,32, + 32,32,32,84,104,101,32,111,112,116,105,111,110,97,108,32, + 115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32, + 99,97,110,32,115,112,101,99,105,102,121,32,97,110,32,97, + 108,116,101,114,110,97,116,101,32,100,101,102,97,117,108,116, + 46,10,32,32,32,32,107,101,121,44,32,100,101,102,97,117, + 108,116,32,97,110,100,32,116,104,101,32,114,101,115,117,108, + 116,32,97,114,101,32,115,116,114,46,41,2,114,204,0,0, + 0,114,222,0,0,0,169,2,114,243,0,0,0,218,7,100, + 101,102,97,117,108,116,115,2,0,0,0,32,32,114,25,0, + 0,0,218,6,103,101,116,101,110,118,114,51,1,0,0,11, + 3,0,0,115,21,0,0,0,128,0,244,8,0,12,19,143, + 59,137,59,144,115,152,71,211,11,36,208,4,36,114,27,0, + 0,0,41,2,114,51,1,0,0,114,224,0,0,0,99,1, + 0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3, + 0,0,0,243,104,0,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,124,0,116,2,0,0,0,0,0,0,0,0, + 171,2,0,0,0,0,0,0,115,33,116,5,0,0,0,0, + 0,0,0,0,100,1,116,7,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,106,8,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,6, + 0,0,171,1,0,0,0,0,0,0,130,1,124,0,83,0, + 41,2,78,122,22,98,121,116,101,115,32,101,120,112,101,99, + 116,101,100,44,32,110,111,116,32,37,115,41,5,114,115,0, + 0,0,114,116,0,0,0,114,223,0,0,0,114,34,1,0, + 0,114,28,1,0,0,114,35,1,0,0,115,1,0,0,0, + 32,114,25,0,0,0,218,12,95,99,104,101,99,107,95,98, + 121,116,101,115,114,53,1,0,0,21,3,0,0,115,44,0, + 0,0,128,0,220,15,25,152,37,164,21,212,15,39,220,18, + 27,208,28,52,180,116,184,69,179,123,215,55,75,209,55,75, + 209,28,75,211,18,76,208,12,76,216,15,20,136,12,114,27, + 0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,46,0,0,0,151,0,116, + 0,0,0,0,0,0,0,0,0,106,3,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,124, + 1,171,2,0,0,0,0,0,0,83,0,41,1,122,179,71, + 101,116,32,97,110,32,101,110,118,105,114,111,110,109,101,110, + 116,32,118,97,114,105,97,98,108,101,44,32,114,101,116,117, + 114,110,32,78,111,110,101,32,105,102,32,105,116,32,100,111, + 101,115,110,39,116,32,101,120,105,115,116,46,10,32,32,32, + 32,32,32,32,32,84,104,101,32,111,112,116,105,111,110,97, + 108,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110, + 116,32,99,97,110,32,115,112,101,99,105,102,121,32,97,110, + 32,97,108,116,101,114,110,97,116,101,32,100,101,102,97,117, + 108,116,46,10,32,32,32,32,32,32,32,32,107,101,121,44, + 32,100,101,102,97,117,108,116,32,97,110,100,32,116,104,101, + 32,114,101,115,117,108,116,32,97,114,101,32,98,121,116,101, + 115,46,41,2,218,8,101,110,118,105,114,111,110,98,114,222, + 0,0,0,114,49,1,0,0,115,2,0,0,0,32,32,114, + 25,0,0,0,218,7,103,101,116,101,110,118,98,114,56,1, + 0,0,32,3,0,0,115,21,0,0,0,128,0,244,8,0, + 16,24,143,124,137,124,152,67,160,23,211,15,41,208,8,41, + 114,27,0,0,0,41,2,114,55,1,0,0,114,56,1,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,2,0, + 0,0,3,0,0,0,243,118,0,0,0,135,2,135,3,151, + 0,116,1,0,0,0,0,0,0,0,0,106,2,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 0,0,0,0,0,0,0,138,2,116,1,0,0,0,0,0, + 0,0,0,106,4,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,138, + 3,136,2,136,3,102,2,100,1,132,8,125,0,136,2,136, + 3,102,2,100,2,132,8,125,1,124,0,124,1,102,2,83, + 0,41,3,78,99,1,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,19,0,0,0,243,98,0,0,0,149,2, + 151,0,116,1,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,125,0,116,3,0,0,0,0,0,0, + 0,0,124,0,116,4,0,0,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,114,18,124,0,106,7,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,1, + 137,2,171,2,0,0,0,0,0,0,83,0,124,0,83,0, + 41,1,97,23,1,0,0,69,110,99,111,100,101,32,102,105, + 108,101,110,97,109,101,32,40,97,110,32,111,115,46,80,97, + 116,104,76,105,107,101,44,32,98,121,116,101,115,44,32,111, + 114,32,115,116,114,41,32,116,111,32,116,104,101,32,102,105, + 108,101,115,121,115,116,101,109,10,32,32,32,32,32,32,32, + 32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,39, + 115,117,114,114,111,103,97,116,101,101,115,99,97,112,101,39, + 32,101,114,114,111,114,32,104,97,110,100,108,101,114,44,32, + 114,101,116,117,114,110,32,98,121,116,101,115,32,117,110,99, + 104,97,110,103,101,100,46,10,32,32,32,32,32,32,32,32, + 79,110,32,87,105,110,100,111,119,115,44,32,117,115,101,32, + 39,115,116,114,105,99,116,39,32,101,114,114,111,114,32,104, + 97,110,100,108,101,114,32,105,102,32,116,104,101,32,102,105, + 108,101,32,115,121,115,116,101,109,32,101,110,99,111,100,105, + 110,103,32,105,115,10,32,32,32,32,32,32,32,32,39,109, + 98,99,115,39,32,40,119,104,105,99,104,32,105,115,32,116, + 104,101,32,100,101,102,97,117,108,116,32,101,110,99,111,100, + 105,110,103,41,46,10,32,32,32,32,32,32,32,32,41,4, + 114,132,0,0,0,114,115,0,0,0,114,47,0,0,0,114, + 39,1,0,0,169,3,218,8,102,105,108,101,110,97,109,101, + 114,43,1,0,0,218,6,101,114,114,111,114,115,115,3,0, + 0,0,32,128,128,114,25,0,0,0,114,17,0,0,0,122, + 26,95,102,115,99,111,100,101,99,46,60,108,111,99,97,108, + 115,62,46,102,115,101,110,99,111,100,101,44,3,0,0,115, + 47,0,0,0,248,128,0,244,12,0,20,26,152,40,211,19, + 35,136,8,220,11,21,144,104,164,3,212,11,36,216,19,27, + 151,63,145,63,160,56,168,86,211,19,52,208,12,52,224,19, + 27,136,79,114,27,0,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,19,0,0,0,243,98,0, + 0,0,149,2,151,0,116,1,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,0,116,3,0,0, + 0,0,0,0,0,0,124,0,116,4,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,114,18,124,0,106,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,137,1,137,2,171,2,0,0,0,0,0,0,83,0, + 124,0,83,0,41,1,97,23,1,0,0,68,101,99,111,100, + 101,32,102,105,108,101,110,97,109,101,32,40,97,110,32,111, + 115,46,80,97,116,104,76,105,107,101,44,32,98,121,116,101, + 115,44,32,111,114,32,115,116,114,41,32,102,114,111,109,32, + 116,104,101,32,102,105,108,101,115,121,115,116,101,109,10,32, + 32,32,32,32,32,32,32,101,110,99,111,100,105,110,103,32, + 119,105,116,104,32,39,115,117,114,114,111,103,97,116,101,101, + 115,99,97,112,101,39,32,101,114,114,111,114,32,104,97,110, + 100,108,101,114,44,32,114,101,116,117,114,110,32,115,116,114, + 32,117,110,99,104,97,110,103,101,100,46,32,79,110,10,32, + 32,32,32,32,32,32,32,87,105,110,100,111,119,115,44,32, + 117,115,101,32,39,115,116,114,105,99,116,39,32,101,114,114, + 111,114,32,104,97,110,100,108,101,114,32,105,102,32,116,104, + 101,32,102,105,108,101,32,115,121,115,116,101,109,32,101,110, + 99,111,100,105,110,103,32,105,115,10,32,32,32,32,32,32, + 32,32,39,109,98,99,115,39,32,40,119,104,105,99,104,32, + 105,115,32,116,104,101,32,100,101,102,97,117,108,116,32,101, + 110,99,111,100,105,110,103,41,46,10,32,32,32,32,32,32, + 32,32,41,4,114,132,0,0,0,114,115,0,0,0,114,116, + 0,0,0,114,45,1,0,0,114,59,1,0,0,115,3,0, + 0,0,32,128,128,114,25,0,0,0,114,18,0,0,0,122, + 26,95,102,115,99,111,100,101,99,46,60,108,111,99,97,108, + 115,62,46,102,115,100,101,99,111,100,101,56,3,0,0,115, + 47,0,0,0,248,128,0,244,12,0,20,26,152,40,211,19, + 35,136,8,220,11,21,144,104,164,5,212,11,38,216,19,27, + 151,63,145,63,160,56,168,86,211,19,52,208,12,52,224,19, + 27,136,79,114,27,0,0,0,41,3,114,130,0,0,0,114, + 46,1,0,0,218,25,103,101,116,102,105,108,101,115,121,115, + 116,101,109,101,110,99,111,100,101,101,114,114,111,114,115,41, + 4,114,17,0,0,0,114,18,0,0,0,114,43,1,0,0, + 114,61,1,0,0,115,4,0,0,0,32,32,64,64,114,25, + 0,0,0,218,8,95,102,115,99,111,100,101,99,114,64,1, + 0,0,40,3,0,0,115,54,0,0,0,249,128,0,220,15, + 18,215,15,40,209,15,40,211,15,42,128,72,220,13,16,215, + 13,42,209,13,42,211,13,44,128,70,245,4,10,5,28,245, + 24,10,5,28,240,24,0,12,20,144,88,208,11,29,208,4, + 29,114,27,0,0,0,218,4,102,111,114,107,218,6,115,112, + 97,119,110,118,114,183,0,0,0,41,3,218,6,80,95,87, + 65,73,84,218,8,80,95,78,79,87,65,73,84,218,9,80, + 95,78,79,87,65,73,84,79,99,5,0,0,0,0,0,0, + 0,0,0,0,0,5,0,0,0,3,0,0,0,243,58,1, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,2, + 116,2,0,0,0,0,0,0,0,0,116,4,0,0,0,0, + 0,0,0,0,102,2,171,2,0,0,0,0,0,0,115,11, + 116,7,0,0,0,0,0,0,0,0,100,1,171,1,0,0, + 0,0,0,0,130,1,124,2,114,5,124,2,100,2,25,0, + 0,0,115,11,116,9,0,0,0,0,0,0,0,0,100,3, + 171,1,0,0,0,0,0,0,130,1,116,11,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,125,5,124,5, + 115,25,9,0,124,3,128,10,2,0,124,4,124,1,124,2, + 171,2,0,0,0,0,0,0,1,0,110,11,2,0,124,4, + 124,1,124,2,124,3,171,3,0,0,0,0,0,0,1,0, + 121,0,121,0,124,0,116,14,0,0,0,0,0,0,0,0, + 107,40,0,0,114,2,124,5,83,0,9,0,116,17,0,0, + 0,0,0,0,0,0,124,5,100,2,171,2,0,0,0,0, + 0,0,92,2,0,0,125,6,125,7,116,19,0,0,0,0, + 0,0,0,0,124,7,171,1,0,0,0,0,0,0,114,1, + 140,28,116,21,0,0,0,0,0,0,0,0,124,7,171,1, + 0,0,0,0,0,0,83,0,35,0,1,0,116,13,0,0, + 0,0,0,0,0,0,100,4,171,1,0,0,0,0,0,0, + 1,0,89,0,121,0,120,3,89,0,119,1,41,5,78,122, + 30,97,114,103,118,32,109,117,115,116,32,98,101,32,97,32, + 116,117,112,108,101,32,111,114,32,97,32,108,105,115,116,114, + 2,0,0,0,122,34,97,114,103,118,32,102,105,114,115,116, + 32,101,108,101,109,101,110,116,32,99,97,110,110,111,116,32, + 98,101,32,101,109,112,116,121,233,127,0,0,0,41,11,114, + 115,0,0,0,114,136,0,0,0,114,30,0,0,0,114,223, + 0,0,0,114,225,0,0,0,114,65,1,0,0,114,40,0, + 0,0,114,68,1,0,0,218,7,119,97,105,116,112,105,100, + 218,10,87,73,70,83,84,79,80,80,69,68,218,22,119,97, + 105,116,115,116,97,116,117,115,95,116,111,95,101,120,105,116, + 99,111,100,101,41,8,114,119,0,0,0,114,185,0,0,0, + 114,186,0,0,0,114,191,0,0,0,218,4,102,117,110,99, + 218,3,112,105,100,218,4,119,112,105,100,218,3,115,116,115, + 115,8,0,0,0,32,32,32,32,32,32,32,32,114,25,0, + 0,0,218,9,95,115,112,97,119,110,118,101,102,114,79,1, + 0,0,85,3,0,0,115,164,0,0,0,128,0,228,15,25, + 152,36,164,21,172,4,160,13,212,15,46,220,18,27,208,28, + 60,211,18,61,208,12,61,217,15,19,152,52,160,1,154,55, + 220,18,28,208,29,65,211,18,66,208,12,66,220,14,18,139, + 102,136,3,217,15,18,240,4,6,13,27,216,19,22,144,59, + 217,20,24,152,20,152,116,213,20,36,225,20,24,152,20,152, + 116,160,83,213,20,41,240,5,0,21,37,240,14,0,16,20, + 148,120,210,15,31,216,23,26,144,10,216,18,19,220,28,35, + 160,67,168,17,155,79,145,9,144,4,144,99,220,19,29,152, + 99,148,63,216,20,28,228,23,45,168,99,211,23,50,208,16, + 50,248,240,23,1,13,27,220,16,21,144,99,150,10,250,115, + 12,0,0,0,193,1,22,66,11,0,194,11,13,66,26,3, + 99,3,0,0,0,0,0,0,0,0,0,0,0,7,0,0, + 0,3,0,0,0,243,40,0,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,124,0,124,1,124,2,100,1,116,2, + 0,0,0,0,0,0,0,0,171,5,0,0,0,0,0,0, + 83,0,41,2,97,21,1,0,0,115,112,97,119,110,118,40, + 109,111,100,101,44,32,102,105,108,101,44,32,97,114,103,115, + 41,32,45,62,32,105,110,116,101,103,101,114,10,10,69,120, + 101,99,117,116,101,32,102,105,108,101,32,119,105,116,104,32, + 97,114,103,117,109,101,110,116,115,32,102,114,111,109,32,97, + 114,103,115,32,105,110,32,97,32,115,117,98,112,114,111,99, + 101,115,115,46,10,73,102,32,109,111,100,101,32,61,61,32, + 80,95,78,79,87,65,73,84,32,114,101,116,117,114,110,32, + 116,104,101,32,112,105,100,32,111,102,32,116,104,101,32,112, + 114,111,99,101,115,115,46,10,73,102,32,109,111,100,101,32, + 61,61,32,80,95,87,65,73,84,32,114,101,116,117,114,110, + 32,116,104,101,32,112,114,111,99,101,115,115,39,115,32,101, + 120,105,116,32,99,111,100,101,32,105,102,32,105,116,32,101, + 120,105,116,115,32,110,111,114,109,97,108,108,121,59,10,111, + 116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,32, + 45,83,73,71,44,32,119,104,101,114,101,32,83,73,71,32, + 105,115,32,116,104,101,32,115,105,103,110,97,108,32,116,104, + 97,116,32,107,105,108,108,101,100,32,105,116,46,32,78,41, + 2,114,79,1,0,0,114,183,0,0,0,169,3,114,119,0, + 0,0,114,185,0,0,0,114,186,0,0,0,115,3,0,0, + 0,32,32,32,114,25,0,0,0,114,66,1,0,0,114,66, + 1,0,0,112,3,0,0,115,23,0,0,0,128,0,244,14, + 0,16,25,152,20,152,116,160,84,168,52,180,21,211,15,55, + 208,8,55,114,27,0,0,0,99,4,0,0,0,0,0,0, + 0,0,0,0,0,7,0,0,0,3,0,0,0,243,40,0, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,0, + 124,1,124,2,124,3,116,2,0,0,0,0,0,0,0,0, + 171,5,0,0,0,0,0,0,83,0,41,1,97,58,1,0, + 0,115,112,97,119,110,118,101,40,109,111,100,101,44,32,102, + 105,108,101,44,32,97,114,103,115,44,32,101,110,118,41,32, + 45,62,32,105,110,116,101,103,101,114,10,10,69,120,101,99, + 117,116,101,32,102,105,108,101,32,119,105,116,104,32,97,114, + 103,117,109,101,110,116,115,32,102,114,111,109,32,97,114,103, + 115,32,105,110,32,97,32,115,117,98,112,114,111,99,101,115, + 115,32,119,105,116,104,32,116,104,101,10,115,112,101,99,105, + 102,105,101,100,32,101,110,118,105,114,111,110,109,101,110,116, + 46,10,73,102,32,109,111,100,101,32,61,61,32,80,95,78, + 79,87,65,73,84,32,114,101,116,117,114,110,32,116,104,101, + 32,112,105,100,32,111,102,32,116,104,101,32,112,114,111,99, + 101,115,115,46,10,73,102,32,109,111,100,101,32,61,61,32, + 80,95,87,65,73,84,32,114,101,116,117,114,110,32,116,104, + 101,32,112,114,111,99,101,115,115,39,115,32,101,120,105,116, + 32,99,111,100,101,32,105,102,32,105,116,32,101,120,105,116, + 115,32,110,111,114,109,97,108,108,121,59,10,111,116,104,101, + 114,119,105,115,101,32,114,101,116,117,114,110,32,45,83,73, + 71,44,32,119,104,101,114,101,32,83,73,71,32,105,115,32, + 116,104,101,32,115,105,103,110,97,108,32,116,104,97,116,32, + 107,105,108,108,101,100,32,105,116,46,32,41,2,114,79,1, + 0,0,114,88,0,0,0,169,4,114,119,0,0,0,114,185, + 0,0,0,114,186,0,0,0,114,191,0,0,0,115,4,0, + 0,0,32,32,32,32,114,25,0,0,0,218,7,115,112,97, + 119,110,118,101,114,84,1,0,0,121,3,0,0,115,23,0, + 0,0,128,0,244,16,0,16,25,152,20,152,116,160,84,168, + 51,180,6,211,15,55,208,8,55,114,27,0,0,0,99,3, + 0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,3, + 0,0,0,243,40,0,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,124,0,124,1,124,2,100,1,116,2,0,0, + 0,0,0,0,0,0,171,5,0,0,0,0,0,0,83,0, + 41,2,97,56,1,0,0,115,112,97,119,110,118,112,40,109, + 111,100,101,44,32,102,105,108,101,44,32,97,114,103,115,41, + 32,45,62,32,105,110,116,101,103,101,114,10,10,69,120,101, + 99,117,116,101,32,102,105,108,101,32,40,119,104,105,99,104, + 32,105,115,32,108,111,111,107,101,100,32,102,111,114,32,97, + 108,111,110,103,32,36,80,65,84,72,41,32,119,105,116,104, + 32,97,114,103,117,109,101,110,116,115,32,102,114,111,109,10, + 97,114,103,115,32,105,110,32,97,32,115,117,98,112,114,111, + 99,101,115,115,46,10,73,102,32,109,111,100,101,32,61,61, + 32,80,95,78,79,87,65,73,84,32,114,101,116,117,114,110, + 32,116,104,101,32,112,105,100,32,111,102,32,116,104,101,32, + 112,114,111,99,101,115,115,46,10,73,102,32,109,111,100,101, + 32,61,61,32,80,95,87,65,73,84,32,114,101,116,117,114, + 110,32,116,104,101,32,112,114,111,99,101,115,115,39,115,32, + 101,120,105,116,32,99,111,100,101,32,105,102,32,105,116,32, + 101,120,105,116,115,32,110,111,114,109,97,108,108,121,59,10, + 111,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110, + 32,45,83,73,71,44,32,119,104,101,114,101,32,83,73,71, + 32,105,115,32,116,104,101,32,115,105,103,110,97,108,32,116, + 104,97,116,32,107,105,108,108,101,100,32,105,116,46,32,78, + 41,2,114,79,1,0,0,114,194,0,0,0,114,81,1,0, + 0,115,3,0,0,0,32,32,32,114,25,0,0,0,218,7, + 115,112,97,119,110,118,112,114,86,1,0,0,133,3,0,0, + 115,23,0,0,0,128,0,244,16,0,16,25,152,20,152,116, + 160,84,168,52,180,22,211,15,56,208,8,56,114,27,0,0, + 0,99,4,0,0,0,0,0,0,0,0,0,0,0,7,0, + 0,0,3,0,0,0,243,40,0,0,0,151,0,116,1,0, + 0,0,0,0,0,0,0,124,0,124,1,124,2,124,3,116, + 2,0,0,0,0,0,0,0,0,171,5,0,0,0,0,0, + 0,83,0,41,1,97,92,1,0,0,115,112,97,119,110,118, + 112,101,40,109,111,100,101,44,32,102,105,108,101,44,32,97, + 114,103,115,44,32,101,110,118,41,32,45,62,32,105,110,116, + 101,103,101,114,10,10,69,120,101,99,117,116,101,32,102,105, + 108,101,32,40,119,104,105,99,104,32,105,115,32,108,111,111, + 107,101,100,32,102,111,114,32,97,108,111,110,103,32,36,80, + 65,84,72,41,32,119,105,116,104,32,97,114,103,117,109,101, + 110,116,115,32,102,114,111,109,10,97,114,103,115,32,105,110, + 32,97,32,115,117,98,112,114,111,99,101,115,115,32,119,105, + 116,104,32,116,104,101,32,115,117,112,112,108,105,101,100,32, + 101,110,118,105,114,111,110,109,101,110,116,46,10,73,102,32, + 109,111,100,101,32,61,61,32,80,95,78,79,87,65,73,84, + 32,114,101,116,117,114,110,32,116,104,101,32,112,105,100,32, + 111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,10, + 73,102,32,109,111,100,101,32,61,61,32,80,95,87,65,73, + 84,32,114,101,116,117,114,110,32,116,104,101,32,112,114,111, + 99,101,115,115,39,115,32,101,120,105,116,32,99,111,100,101, + 32,105,102,32,105,116,32,101,120,105,116,115,32,110,111,114, + 109,97,108,108,121,59,10,111,116,104,101,114,119,105,115,101, + 32,114,101,116,117,114,110,32,45,83,73,71,44,32,119,104, + 101,114,101,32,83,73,71,32,105,115,32,116,104,101,32,115, + 105,103,110,97,108,32,116,104,97,116,32,107,105,108,108,101, + 100,32,105,116,46,32,41,2,114,79,1,0,0,114,197,0, + 0,0,114,83,1,0,0,115,4,0,0,0,32,32,32,32, + 114,25,0,0,0,218,8,115,112,97,119,110,118,112,101,114, + 88,1,0,0,143,3,0,0,115,23,0,0,0,128,0,244, + 16,0,16,25,152,20,152,116,160,84,168,51,180,7,211,15, + 56,208,8,56,114,27,0,0,0,41,4,114,66,1,0,0, + 114,84,1,0,0,114,86,1,0,0,114,88,1,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0, + 7,0,0,0,243,28,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,0,124,1,124,2,171,3,0,0,0, + 0,0,0,83,0,41,1,97,22,1,0,0,115,112,97,119, + 110,108,40,109,111,100,101,44,32,102,105,108,101,44,32,42, + 97,114,103,115,41,32,45,62,32,105,110,116,101,103,101,114, + 10,10,69,120,101,99,117,116,101,32,102,105,108,101,32,119, + 105,116,104,32,97,114,103,117,109,101,110,116,115,32,102,114, + 111,109,32,97,114,103,115,32,105,110,32,97,32,115,117,98, + 112,114,111,99,101,115,115,46,10,73,102,32,109,111,100,101, + 32,61,61,32,80,95,78,79,87,65,73,84,32,114,101,116, + 117,114,110,32,116,104,101,32,112,105,100,32,111,102,32,116, + 104,101,32,112,114,111,99,101,115,115,46,10,73,102,32,109, + 111,100,101,32,61,61,32,80,95,87,65,73,84,32,114,101, + 116,117,114,110,32,116,104,101,32,112,114,111,99,101,115,115, + 39,115,32,101,120,105,116,32,99,111,100,101,32,105,102,32, + 105,116,32,101,120,105,116,115,32,110,111,114,109,97,108,108, + 121,59,10,111,116,104,101,114,119,105,115,101,32,114,101,116, + 117,114,110,32,45,83,73,71,44,32,119,104,101,114,101,32, + 83,73,71,32,105,115,32,116,104,101,32,115,105,103,110,97, + 108,32,116,104,97,116,32,107,105,108,108,101,100,32,105,116, + 46,32,41,1,114,66,1,0,0,114,81,1,0,0,115,3, + 0,0,0,32,32,32,114,25,0,0,0,218,6,115,112,97, + 119,110,108,114,90,1,0,0,161,3,0,0,115,19,0,0, + 0,128,0,244,14,0,16,22,144,100,152,68,160,36,211,15, + 39,208,8,39,114,27,0,0,0,99,2,0,0,0,0,0, + 0,0,0,0,0,0,7,0,0,0,7,0,0,0,243,46, + 0,0,0,151,0,124,2,100,1,25,0,0,0,125,3,116, + 1,0,0,0,0,0,0,0,0,124,0,124,1,124,2,100, + 2,100,1,26,0,124,3,171,4,0,0,0,0,0,0,83, + 0,41,3,97,58,1,0,0,115,112,97,119,110,108,101,40, + 109,111,100,101,44,32,102,105,108,101,44,32,42,97,114,103, + 115,44,32,101,110,118,41,32,45,62,32,105,110,116,101,103, + 101,114,10,10,69,120,101,99,117,116,101,32,102,105,108,101, + 32,119,105,116,104,32,97,114,103,117,109,101,110,116,115,32, + 102,114,111,109,32,97,114,103,115,32,105,110,32,97,32,115, + 117,98,112,114,111,99,101,115,115,32,119,105,116,104,32,116, + 104,101,10,115,117,112,112,108,105,101,100,32,101,110,118,105, + 114,111,110,109,101,110,116,46,10,73,102,32,109,111,100,101, + 32,61,61,32,80,95,78,79,87,65,73,84,32,114,101,116, + 117,114,110,32,116,104,101,32,112,105,100,32,111,102,32,116, + 104,101,32,112,114,111,99,101,115,115,46,10,73,102,32,109, + 111,100,101,32,61,61,32,80,95,87,65,73,84,32,114,101, + 116,117,114,110,32,116,104,101,32,112,114,111,99,101,115,115, + 39,115,32,101,120,105,116,32,99,111,100,101,32,105,102,32, + 105,116,32,101,120,105,116,115,32,110,111,114,109,97,108,108, + 121,59,10,111,116,104,101,114,119,105,115,101,32,114,101,116, + 117,114,110,32,45,83,73,71,44,32,119,104,101,114,101,32, + 83,73,71,32,105,115,32,116,104,101,32,115,105,103,110,97, + 108,32,116,104,97,116,32,107,105,108,108,101,100,32,105,116, + 46,32,114,189,0,0,0,78,41,1,114,84,1,0,0,114, + 83,1,0,0,115,4,0,0,0,32,32,32,32,114,25,0, + 0,0,218,7,115,112,97,119,110,108,101,114,92,1,0,0, + 170,3,0,0,115,36,0,0,0,128,0,240,16,0,15,19, + 144,50,137,104,136,3,220,15,22,144,116,152,84,160,52,168, + 3,168,18,160,57,168,99,211,15,50,208,8,50,114,27,0, + 0,0,114,90,1,0,0,114,92,1,0,0,114,86,1,0, + 0,99,2,0,0,0,0,0,0,0,0,0,0,0,5,0, + 0,0,7,0,0,0,243,28,0,0,0,151,0,116,1,0, + 0,0,0,0,0,0,0,124,0,124,1,124,2,171,3,0, + 0,0,0,0,0,83,0,41,1,97,87,1,0,0,115,112, + 97,119,110,108,112,40,109,111,100,101,44,32,102,105,108,101, + 44,32,42,97,114,103,115,41,32,45,62,32,105,110,116,101, + 103,101,114,10,10,69,120,101,99,117,116,101,32,102,105,108, + 101,32,40,119,104,105,99,104,32,105,115,32,108,111,111,107, + 101,100,32,102,111,114,32,97,108,111,110,103,32,36,80,65, + 84,72,41,32,119,105,116,104,32,97,114,103,117,109,101,110, + 116,115,32,102,114,111,109,10,97,114,103,115,32,105,110,32, + 97,32,115,117,98,112,114,111,99,101,115,115,32,119,105,116, + 104,32,116,104,101,32,115,117,112,112,108,105,101,100,32,101, + 110,118,105,114,111,110,109,101,110,116,46,10,73,102,32,109, + 111,100,101,32,61,61,32,80,95,78,79,87,65,73,84,32, + 114,101,116,117,114,110,32,116,104,101,32,112,105,100,32,111, + 102,32,116,104,101,32,112,114,111,99,101,115,115,46,10,73, + 102,32,109,111,100,101,32,61,61,32,80,95,87,65,73,84, + 32,114,101,116,117,114,110,32,116,104,101,32,112,114,111,99, + 101,115,115,39,115,32,101,120,105,116,32,99,111,100,101,32, + 105,102,32,105,116,32,101,120,105,116,115,32,110,111,114,109, + 97,108,108,121,59,10,111,116,104,101,114,119,105,115,101,32, + 114,101,116,117,114,110,32,45,83,73,71,44,32,119,104,101, + 114,101,32,83,73,71,32,105,115,32,116,104,101,32,115,105, + 103,110,97,108,32,116,104,97,116,32,107,105,108,108,101,100, + 32,105,116,46,32,41,1,114,86,1,0,0,114,81,1,0, + 0,115,3,0,0,0,32,32,32,114,25,0,0,0,218,7, + 115,112,97,119,110,108,112,114,94,1,0,0,188,3,0,0, + 115,19,0,0,0,128,0,244,16,0,16,23,144,116,152,84, + 160,52,211,15,40,208,8,40,114,27,0,0,0,99,2,0, + 0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0, + 0,0,243,46,0,0,0,151,0,124,2,100,1,25,0,0, + 0,125,3,116,1,0,0,0,0,0,0,0,0,124,0,124, + 1,124,2,100,2,100,1,26,0,124,3,171,4,0,0,0, + 0,0,0,83,0,41,3,97,93,1,0,0,115,112,97,119, + 110,108,112,101,40,109,111,100,101,44,32,102,105,108,101,44, + 32,42,97,114,103,115,44,32,101,110,118,41,32,45,62,32, + 105,110,116,101,103,101,114,10,10,69,120,101,99,117,116,101, + 32,102,105,108,101,32,40,119,104,105,99,104,32,105,115,32, + 108,111,111,107,101,100,32,102,111,114,32,97,108,111,110,103, + 32,36,80,65,84,72,41,32,119,105,116,104,32,97,114,103, + 117,109,101,110,116,115,32,102,114,111,109,10,97,114,103,115, + 32,105,110,32,97,32,115,117,98,112,114,111,99,101,115,115, + 32,119,105,116,104,32,116,104,101,32,115,117,112,112,108,105, + 101,100,32,101,110,118,105,114,111,110,109,101,110,116,46,10, + 73,102,32,109,111,100,101,32,61,61,32,80,95,78,79,87, + 65,73,84,32,114,101,116,117,114,110,32,116,104,101,32,112, + 105,100,32,111,102,32,116,104,101,32,112,114,111,99,101,115, + 115,46,10,73,102,32,109,111,100,101,32,61,61,32,80,95, + 87,65,73,84,32,114,101,116,117,114,110,32,116,104,101,32, + 112,114,111,99,101,115,115,39,115,32,101,120,105,116,32,99, + 111,100,101,32,105,102,32,105,116,32,101,120,105,116,115,32, + 110,111,114,109,97,108,108,121,59,10,111,116,104,101,114,119, + 105,115,101,32,114,101,116,117,114,110,32,45,83,73,71,44, + 32,119,104,101,114,101,32,83,73,71,32,105,115,32,116,104, + 101,32,115,105,103,110,97,108,32,116,104,97,116,32,107,105, + 108,108,101,100,32,105,116,46,32,114,189,0,0,0,78,41, + 1,114,88,1,0,0,114,83,1,0,0,115,4,0,0,0, + 32,32,32,32,114,25,0,0,0,218,8,115,112,97,119,110, + 108,112,101,114,96,1,0,0,198,3,0,0,115,36,0,0, + 0,128,0,240,16,0,15,19,144,50,137,104,136,3,220,15, + 23,152,4,152,100,160,68,168,19,168,34,160,73,168,115,211, + 15,51,208,8,51,114,27,0,0,0,114,94,1,0,0,114, + 96,1,0,0,218,7,118,120,119,111,114,107,115,99,3,0, + 0,0,0,0,0,0,0,0,0,0,7,0,0,0,3,0, + 0,0,243,130,1,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,0,116,2,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,115,23,116,5,0,0,0,0,0, + 0,0,0,100,1,116,7,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,122,6,0,0,171,1,0, + 0,0,0,0,0,130,1,124,1,100,2,118,1,114,14,116, + 9,0,0,0,0,0,0,0,0,100,3,124,1,122,6,0, + 0,171,1,0,0,0,0,0,0,130,1,124,2,100,4,107, + 40,0,0,115,2,124,2,128,11,116,9,0,0,0,0,0, + 0,0,0,100,5,171,1,0,0,0,0,0,0,130,1,100, + 4,100,0,108,5,125,3,124,1,100,6,107,40,0,0,114, + 54,124,3,106,13,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,0,100,7,100,7,124,3,106, + 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,2,172,8,171,5,0,0,0,0,0,0,125, + 4,116,17,0,0,0,0,0,0,0,0,124,4,106,18,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,4,171,2,0,0,0,0,0,0,83,0,124,3,106, + 13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,0,100,7,100,7,124,3,106,14,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 2,172,9,171,5,0,0,0,0,0,0,125,4,116,17,0, + 0,0,0,0,0,0,0,124,4,106,20,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,4,171, + 2,0,0,0,0,0,0,83,0,41,10,78,122,38,105,110, + 118,97,108,105,100,32,99,109,100,32,116,121,112,101,32,40, + 37,115,44,32,101,120,112,101,99,116,101,100,32,115,116,114, + 105,110,103,41,41,2,218,1,114,218,1,119,122,15,105,110, + 118,97,108,105,100,32,109,111,100,101,32,37,114,114,2,0, + 0,0,122,43,112,111,112,101,110,40,41,32,100,111,101,115, + 32,110,111,116,32,115,117,112,112,111,114,116,32,117,110,98, + 117,102,102,101,114,101,100,32,115,116,114,101,97,109,115,114, + 99,1,0,0,84,41,4,218,5,115,104,101,108,108,218,4, + 116,101,120,116,218,6,115,116,100,111,117,116,218,7,98,117, + 102,115,105,122,101,41,4,114,101,1,0,0,114,102,1,0, + 0,218,5,115,116,100,105,110,114,104,1,0,0,41,11,114, + 115,0,0,0,114,47,0,0,0,114,223,0,0,0,114,34, + 1,0,0,114,225,0,0,0,218,10,115,117,98,112,114,111, + 99,101,115,115,218,5,80,111,112,101,110,218,4,80,73,80, + 69,218,11,95,119,114,97,112,95,99,108,111,115,101,114,103, + 1,0,0,114,105,1,0,0,41,5,218,3,99,109,100,114, + 119,0,0,0,218,9,98,117,102,102,101,114,105,110,103,114, + 106,1,0,0,218,4,112,114,111,99,115,5,0,0,0,32, + 32,32,32,32,114,25,0,0,0,218,5,112,111,112,101,110, + 114,113,1,0,0,216,3,0,0,115,206,0,0,0,128,0, + 220,15,25,152,35,156,115,212,15,35,220,18,27,208,28,68, + 196,116,200,67,195,121,209,28,80,211,18,81,208,12,81,216, + 11,15,144,122,209,11,33,220,18,28,208,29,46,176,20,209, + 29,53,211,18,54,208,12,54,216,11,20,152,1,138,62,152, + 89,208,29,46,220,18,28,208,29,74,211,18,75,208,12,75, + 219,8,25,216,11,15,144,51,138,59,216,19,29,215,19,35, + 209,19,35,160,67,216,42,46,176,84,216,43,53,175,63,169, + 63,216,44,53,240,7,0,20,36,243,0,3,20,55,136,68, + 244,8,0,20,31,152,116,159,123,153,123,168,68,211,19,49, + 208,12,49,224,19,29,215,19,35,209,19,35,160,67,216,42, + 46,176,84,216,42,52,175,47,169,47,216,44,53,240,7,0, + 20,36,243,0,3,20,55,136,68,244,8,0,20,31,152,116, + 159,122,153,122,168,52,211,19,48,208,12,48,114,27,0,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,1,0, + 0,0,0,0,0,0,243,48,0,0,0,151,0,101,0,90, + 1,100,0,90,2,100,1,132,0,90,3,100,2,132,0,90, + 4,100,3,132,0,90,5,100,4,132,0,90,6,100,5,132, + 0,90,7,100,6,132,0,90,8,121,7,41,8,114,109,1, + 0,0,99,3,0,0,0,0,0,0,0,0,0,0,0,2, + 0,0,0,3,0,0,0,243,32,0,0,0,151,0,124,1, + 124,0,95,0,0,0,0,0,0,0,0,0,124,2,124,0, + 95,1,0,0,0,0,0,0,0,0,121,0,114,23,0,0, + 0,41,2,218,7,95,115,116,114,101,97,109,218,5,95,112, + 114,111,99,41,3,114,238,0,0,0,218,6,115,116,114,101, + 97,109,114,112,1,0,0,115,3,0,0,0,32,32,32,114, + 25,0,0,0,114,240,0,0,0,122,20,95,119,114,97,112, + 95,99,108,111,115,101,46,95,95,105,110,105,116,95,95,239, + 3,0,0,115,16,0,0,0,128,0,216,27,33,136,68,140, + 76,216,25,29,136,68,141,74,114,27,0,0,0,99,1,0, + 0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0, + 0,0,243,150,0,0,0,151,0,124,0,106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,1,0,124,0,106, + 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,7,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,125, + 1,124,1,100,1,107,40,0,0,114,1,121,0,116,8,0, + 0,0,0,0,0,0,0,100,2,107,40,0,0,114,2,124, + 1,83,0,124,1,100,3,122,3,0,0,83,0,41,4,78, + 114,2,0,0,0,114,42,0,0,0,233,8,0,0,0,41, + 5,114,116,1,0,0,114,170,0,0,0,114,117,1,0,0, + 218,4,119,97,105,116,114,11,0,0,0,41,2,114,238,0, + 0,0,218,10,114,101,116,117,114,110,99,111,100,101,115,2, + 0,0,0,32,32,114,25,0,0,0,114,170,0,0,0,122, + 17,95,119,114,97,112,95,99,108,111,115,101,46,99,108,111, + 115,101,242,3,0,0,115,67,0,0,0,128,0,216,12,16, + 143,76,137,76,215,12,30,209,12,30,212,12,32,216,25,29, + 159,26,153,26,159,31,153,31,211,25,42,136,74,216,15,25, + 152,81,138,127,216,23,27,220,15,19,144,116,138,124,216,23, + 33,208,16,33,224,23,33,160,81,145,127,208,16,38,114,27, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 1,0,0,0,3,0,0,0,243,6,0,0,0,151,0,124, + 0,83,0,114,23,0,0,0,114,15,1,0,0,114,2,1, + 0,0,115,1,0,0,0,32,114,25,0,0,0,218,9,95, + 95,101,110,116,101,114,95,95,122,21,95,119,114,97,112,95, + 99,108,111,115,101,46,95,95,101,110,116,101,114,95,95,251, + 3,0,0,243,7,0,0,0,128,0,216,19,23,136,75,114, + 27,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0, + 0,2,0,0,0,7,0,0,0,243,36,0,0,0,151,0, + 124,0,106,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,1,0, + 121,0,114,23,0,0,0,169,1,114,170,0,0,0,169,2, + 114,238,0,0,0,114,186,0,0,0,115,2,0,0,0,32, + 32,114,25,0,0,0,218,8,95,95,101,120,105,116,95,95, + 122,20,95,119,114,97,112,95,99,108,111,115,101,46,95,95, + 101,120,105,116,95,95,253,3,0,0,243,11,0,0,0,128, + 0,216,12,16,143,74,137,74,141,76,114,27,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,46,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,0,106,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,171,2,0, + 0,0,0,0,0,83,0,114,23,0,0,0,41,2,218,7, + 103,101,116,97,116,116,114,114,116,1,0,0,41,2,114,238, + 0,0,0,114,11,0,0,0,115,2,0,0,0,32,32,114, + 25,0,0,0,218,11,95,95,103,101,116,97,116,116,114,95, + 95,122,23,95,119,114,97,112,95,99,108,111,115,101,46,95, + 95,103,101,116,97,116,116,114,95,95,255,3,0,0,115,19, + 0,0,0,128,0,220,19,26,152,52,159,60,153,60,168,20, + 211,19,46,208,12,46,114,27,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, + 243,44,0,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,124,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,171,1,0,0,0,0,0,0,83, + 0,114,23,0,0,0,41,2,218,4,105,116,101,114,114,116, + 1,0,0,114,2,1,0,0,115,1,0,0,0,32,114,25, + 0,0,0,114,255,0,0,0,122,20,95,119,114,97,112,95, + 99,108,111,115,101,46,95,95,105,116,101,114,95,95,1,4, + 0,0,115,17,0,0,0,128,0,220,19,23,152,4,159,12, + 153,12,211,19,37,208,12,37,114,27,0,0,0,78,41,9, + 114,28,1,0,0,114,29,1,0,0,114,30,1,0,0,114, + 240,0,0,0,114,170,0,0,0,114,124,1,0,0,114,129, + 1,0,0,114,133,1,0,0,114,255,0,0,0,114,15,1, + 0,0,114,27,0,0,0,114,25,0,0,0,114,109,1,0, + 0,114,109,1,0,0,238,3,0,0,115,32,0,0,0,132, + 0,242,2,2,9,30,242,6,8,9,39,242,18,1,9,24, + 242,4,1,9,25,242,4,1,9,47,243,4,1,9,38,114, + 27,0,0,0,114,109,1,0,0,114,113,1,0,0,99,4, + 0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,15, + 0,0,0,243,180,0,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,124,0,116,2,0,0,0,0,0,0,0,0, + 171,2,0,0,0,0,0,0,115,23,116,5,0,0,0,0, + 0,0,0,0,100,1,116,7,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,122,6,0,0,171,1, + 0,0,0,0,0,0,130,1,100,2,100,0,108,4,125,6, + 100,3,124,1,118,1,114,17,124,6,106,11,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,3, + 171,1,0,0,0,0,0,0,125,3,2,0,124,6,106,12, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,124,1,124,2,124,3,103,4,124,4,162,1, + 173,6,105,0,124,5,164,1,142,1,83,0,41,4,78,122, + 38,105,110,118,97,108,105,100,32,102,100,32,116,121,112,101, + 32,40,37,115,44,32,101,120,112,101,99,116,101,100,32,105, + 110,116,101,103,101,114,41,114,2,0,0,0,218,1,98,41, + 7,114,115,0,0,0,218,3,105,110,116,114,223,0,0,0, + 114,34,1,0,0,218,2,105,111,218,13,116,101,120,116,95, + 101,110,99,111,100,105,110,103,114,69,0,0,0,41,7,218, + 2,102,100,114,119,0,0,0,114,111,1,0,0,114,43,1, + 0,0,114,186,0,0,0,218,6,107,119,97,114,103,115,114, + 139,1,0,0,115,7,0,0,0,32,32,32,32,32,32,32, + 114,25,0,0,0,114,20,0,0,0,114,20,0,0,0,7, + 4,0,0,115,92,0,0,0,128,0,220,11,21,144,98,156, + 35,212,11,30,220,14,23,208,24,64,196,52,200,2,195,56, + 209,24,75,211,14,76,208,8,76,219,4,13,216,7,10,144, + 36,129,127,216,19,21,215,19,35,209,19,35,160,72,211,19, + 45,136,8,216,11,18,136,50,143,55,137,55,144,50,144,116, + 152,89,168,8,208,11,66,176,52,210,11,66,184,54,209,11, + 66,208,4,66,114,27,0,0,0,99,1,0,0,0,0,0, + 0,0,0,0,0,0,8,0,0,0,3,0,0,0,243,112, + 1,0,0,151,0,116,1,0,0,0,0,0,0,0,0,124, + 0,116,2,0,0,0,0,0,0,0,0,116,4,0,0,0, + 0,0,0,0,0,102,2,171,2,0,0,0,0,0,0,114, + 2,124,0,83,0,116,7,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,125,1,9,0,124,1,106, + 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,125,2,116, + 1,0,0,0,0,0,0,0,0,124,2,116,2,0,0,0, + 0,0,0,0,0,116,4,0,0,0,0,0,0,0,0,102, + 2,171,2,0,0,0,0,0,0,114,2,124,2,83,0,116, + 15,0,0,0,0,0,0,0,0,100,3,106,19,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 1,106,16,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,116,7,0,0,0,0,0,0,0,0,124, + 2,171,1,0,0,0,0,0,0,106,16,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,2,0, + 0,0,0,0,0,171,1,0,0,0,0,0,0,130,1,35, + 0,116,10,0,0,0,0,0,0,0,0,36,0,114,38,1, + 0,116,13,0,0,0,0,0,0,0,0,124,1,100,1,171, + 2,0,0,0,0,0,0,114,1,130,0,116,15,0,0,0, + 0,0,0,0,0,100,2,124,1,106,16,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,122,0,0, + 0,171,1,0,0,0,0,0,0,130,1,119,0,120,3,89, + 0,119,1,41,4,97,97,1,0,0,82,101,116,117,114,110, + 32,116,104,101,32,112,97,116,104,32,114,101,112,114,101,115, + 101,110,116,97,116,105,111,110,32,111,102,32,97,32,112,97, + 116,104,45,108,105,107,101,32,111,98,106,101,99,116,46,10, + 10,32,32,32,32,73,102,32,115,116,114,32,111,114,32,98, + 121,116,101,115,32,105,115,32,112,97,115,115,101,100,32,105, + 110,44,32,105,116,32,105,115,32,114,101,116,117,114,110,101, + 100,32,117,110,99,104,97,110,103,101,100,46,32,79,116,104, + 101,114,119,105,115,101,32,116,104,101,10,32,32,32,32,111, + 115,46,80,97,116,104,76,105,107,101,32,105,110,116,101,114, + 102,97,99,101,32,105,115,32,117,115,101,100,32,116,111,32, + 103,101,116,32,116,104,101,32,112,97,116,104,32,114,101,112, + 114,101,115,101,110,116,97,116,105,111,110,46,32,73,102,32, + 116,104,101,10,32,32,32,32,112,97,116,104,32,114,101,112, + 114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,110, + 111,116,32,115,116,114,32,111,114,32,98,121,116,101,115,44, + 32,84,121,112,101,69,114,114,111,114,32,105,115,32,114,97, + 105,115,101,100,46,32,73,102,32,116,104,101,10,32,32,32, + 32,112,114,111,118,105,100,101,100,32,112,97,116,104,32,105, + 115,32,110,111,116,32,115,116,114,44,32,98,121,116,101,115, + 44,32,111,114,32,111,115,46,80,97,116,104,76,105,107,101, + 44,32,84,121,112,101,69,114,114,111,114,32,105,115,32,114, + 97,105,115,101,100,46,10,32,32,32,32,218,10,95,95,102, + 115,112,97,116,104,95,95,122,47,101,120,112,101,99,116,101, + 100,32,115,116,114,44,32,98,121,116,101,115,32,111,114,32, + 111,115,46,80,97,116,104,76,105,107,101,32,111,98,106,101, + 99,116,44,32,110,111,116,32,122,55,101,120,112,101,99,116, + 101,100,32,123,125,46,95,95,102,115,112,97,116,104,95,95, + 40,41,32,116,111,32,114,101,116,117,114,110,32,115,116,114, + 32,111,114,32,98,121,116,101,115,44,32,110,111,116,32,123, + 125,41,10,114,115,0,0,0,114,47,0,0,0,114,116,0, + 0,0,114,34,1,0,0,114,144,1,0,0,114,32,0,0, + 0,218,7,104,97,115,97,116,116,114,114,223,0,0,0,114, + 28,1,0,0,218,6,102,111,114,109,97,116,41,3,114,12, + 0,0,0,218,9,112,97,116,104,95,116,121,112,101,218,9, + 112,97,116,104,95,114,101,112,114,115,3,0,0,0,32,32, + 32,114,25,0,0,0,218,7,95,102,115,112,97,116,104,114, + 149,1,0,0,18,4,0,0,115,191,0,0,0,128,0,244, + 16,0,8,18,144,36,156,19,156,101,152,12,212,7,37,216, + 15,19,136,11,244,8,0,17,21,144,84,147,10,128,73,240, + 2,7,5,57,216,20,29,215,20,40,209,20,40,168,20,211, + 20,46,136,9,244,14,0,8,18,144,41,156,99,164,53,152, + 92,212,7,42,216,15,24,208,8,24,228,14,23,240,0,1, + 25,33,223,33,39,161,22,168,9,215,40,58,209,40,58,220, + 40,44,168,89,171,15,215,40,64,209,40,64,243,3,1,34, + 66,1,243,3,2,15,67,1,240,0,2,9,67,1,248,244, + 19,0,12,26,242,0,5,5,57,220,11,18,144,57,152,108, + 212,11,43,216,12,17,228,18,27,240,0,1,29,35,216,37, + 46,215,37,55,209,37,55,241,3,1,29,56,243,0,1,19, + 57,240,0,1,13,57,240,9,5,5,57,250,115,11,0,0, + 0,165,17,66,6,0,194,6,47,66,53,3,114,132,0,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,3,0, + 0,0,0,0,0,0,243,84,0,0,0,151,0,101,0,90, + 1,100,0,90,2,100,1,90,3,101,4,106,10,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 2,132,0,171,0,0,0,0,0,0,0,90,6,101,7,100, + 3,132,0,171,0,0,0,0,0,0,0,90,8,2,0,101, + 7,101,9,171,1,0,0,0,0,0,0,90,10,121,4,41, + 5,218,8,80,97,116,104,76,105,107,101,122,67,65,98,115, + 116,114,97,99,116,32,98,97,115,101,32,99,108,97,115,115, + 32,102,111,114,32,105,109,112,108,101,109,101,110,116,105,110, + 103,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101, + 109,32,112,97,116,104,32,112,114,111,116,111,99,111,108,46, + 99,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0, + 0,3,0,0,0,243,14,0,0,0,151,0,116,0,0,0, + 0,0,0,0,0,0,130,1,41,1,122,57,82,101,116,117, + 114,110,32,116,104,101,32,102,105,108,101,32,115,121,115,116, + 101,109,32,112,97,116,104,32,114,101,112,114,101,115,101,110, + 116,97,116,105,111,110,32,111,102,32,116,104,101,32,111,98, + 106,101,99,116,46,41,1,218,19,78,111,116,73,109,112,108, + 101,109,101,110,116,101,100,69,114,114,111,114,114,2,1,0, + 0,115,1,0,0,0,32,114,25,0,0,0,114,144,1,0, + 0,122,19,80,97,116,104,76,105,107,101,46,95,95,102,115, + 112,97,116,104,95,95,58,4,0,0,115,10,0,0,0,128, + 0,244,6,0,15,34,208,8,33,114,27,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3, + 0,0,0,243,54,0,0,0,151,0,124,0,116,0,0,0, + 0,0,0,0,0,0,117,0,114,12,116,3,0,0,0,0, + 0,0,0,0,124,1,100,1,171,2,0,0,0,0,0,0, + 83,0,116,4,0,0,0,0,0,0,0,0,83,0,41,2, + 78,114,144,1,0,0,41,3,114,151,1,0,0,114,3,0, + 0,0,114,23,1,0,0,41,2,218,3,99,108,115,218,8, + 115,117,98,99,108,97,115,115,115,2,0,0,0,32,32,114, + 25,0,0,0,218,16,95,95,115,117,98,99,108,97,115,115, + 104,111,111,107,95,95,122,25,80,97,116,104,76,105,107,101, + 46,95,95,115,117,98,99,108,97,115,115,104,111,111,107,95, + 95,63,4,0,0,115,28,0,0,0,128,0,224,11,14,148, + 40,137,63,220,19,33,160,40,168,76,211,19,57,208,12,57, + 220,15,29,208,8,29,114,27,0,0,0,78,41,11,114,28, + 1,0,0,114,29,1,0,0,114,30,1,0,0,218,7,95, + 95,100,111,99,95,95,218,3,97,98,99,218,14,97,98,115, + 116,114,97,99,116,109,101,116,104,111,100,114,144,1,0,0, + 218,11,99,108,97,115,115,109,101,116,104,111,100,114,157,1, + 0,0,218,12,71,101,110,101,114,105,99,65,108,105,97,115, + 218,17,95,95,99,108,97,115,115,95,103,101,116,105,116,101, + 109,95,95,114,15,1,0,0,114,27,0,0,0,114,25,0, + 0,0,114,151,1,0,0,114,151,1,0,0,54,4,0,0, + 115,62,0,0,0,132,0,225,4,77,224,5,8,215,5,23, + 209,5,23,241,2,2,5,34,243,3,0,6,24,240,2,2, + 5,34,240,8,0,6,17,241,2,3,5,30,243,3,0,6, + 17,240,2,3,5,30,241,10,0,25,36,160,76,211,24,49, + 209,4,21,114,27,0,0,0,114,151,1,0,0,99,0,0, + 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, + 0,0,243,42,0,0,0,151,0,101,0,90,1,100,0,90, + 2,100,1,132,0,90,3,100,2,132,0,90,4,100,3,132, + 0,90,5,100,4,132,0,90,6,100,5,132,0,90,7,121, + 6,41,7,218,18,95,65,100,100,101,100,68,108,108,68,105, + 114,101,99,116,111,114,121,99,4,0,0,0,0,0,0,0, + 0,0,0,0,2,0,0,0,3,0,0,0,243,46,0,0, + 0,151,0,124,1,124,0,95,0,0,0,0,0,0,0,0, + 0,124,2,124,0,95,1,0,0,0,0,0,0,0,0,124, + 3,124,0,95,2,0,0,0,0,0,0,0,0,121,0,114, + 23,0,0,0,41,3,114,12,0,0,0,218,7,95,99,111, + 111,107,105,101,218,21,95,114,101,109,111,118,101,95,100,108, + 108,95,100,105,114,101,99,116,111,114,121,41,4,114,238,0, + 0,0,114,12,0,0,0,218,6,99,111,111,107,105,101,218, + 20,114,101,109,111,118,101,95,100,108,108,95,100,105,114,101, + 99,116,111,114,121,115,4,0,0,0,32,32,32,32,114,25, + 0,0,0,114,240,0,0,0,122,27,95,65,100,100,101,100, + 68,108,108,68,105,114,101,99,116,111,114,121,46,95,95,105, + 110,105,116,95,95,74,4,0,0,115,24,0,0,0,128,0, + 216,24,28,136,68,140,73,216,27,33,136,68,140,76,216,41, + 61,136,68,213,12,38,114,27,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, + 243,72,0,0,0,151,0,124,0,106,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,1,0,0,0,0,0,0,1,0,100,0,124, + 0,95,2,0,0,0,0,0,0,0,0,121,0,114,23,0, + 0,0,41,3,114,168,1,0,0,114,167,1,0,0,114,12, + 0,0,0,114,2,1,0,0,115,1,0,0,0,32,114,25, + 0,0,0,114,170,0,0,0,122,24,95,65,100,100,101,100, + 68,108,108,68,105,114,101,99,116,111,114,121,46,99,108,111, + 115,101,78,4,0,0,115,27,0,0,0,128,0,216,12,16, + 215,12,38,209,12,38,160,116,167,124,161,124,212,12,52,216, + 24,28,136,68,141,73,114,27,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0, + 243,6,0,0,0,151,0,124,0,83,0,114,23,0,0,0, + 114,15,1,0,0,114,2,1,0,0,115,1,0,0,0,32, + 114,25,0,0,0,114,124,1,0,0,122,28,95,65,100,100, + 101,100,68,108,108,68,105,114,101,99,116,111,114,121,46,95, + 95,101,110,116,101,114,95,95,81,4,0,0,114,125,1,0, + 0,114,27,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,2,0,0,0,7,0,0,0,243,36,0,0,0, + 151,0,124,0,106,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0, + 1,0,121,0,114,23,0,0,0,114,127,1,0,0,114,128, + 1,0,0,115,2,0,0,0,32,32,114,25,0,0,0,114, + 129,1,0,0,122,27,95,65,100,100,101,100,68,108,108,68, + 105,114,101,99,116,111,114,121,46,95,95,101,120,105,116,95, + 95,83,4,0,0,114,130,1,0,0,114,27,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,82,0,0,0,151,0,124,0,106,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,114,27,100,1,106,3,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 1,0,0,0,0,0,0,83,0,121,2,41,3,78,122,25, + 60,65,100,100,101,100,68,108,108,68,105,114,101,99,116,111, + 114,121,40,123,33,114,125,41,62,122,21,60,65,100,100,101, + 100,68,108,108,68,105,114,101,99,116,111,114,121,40,41,62, + 41,2,114,12,0,0,0,114,146,1,0,0,114,2,1,0, + 0,115,1,0,0,0,32,114,25,0,0,0,114,10,1,0, + 0,122,27,95,65,100,100,101,100,68,108,108,68,105,114,101, + 99,116,111,114,121,46,95,95,114,101,112,114,95,95,85,4, + 0,0,115,33,0,0,0,128,0,216,15,19,143,121,138,121, + 216,23,50,215,23,57,209,23,57,184,36,191,41,185,41,211, + 23,68,208,16,68,216,19,42,114,27,0,0,0,78,41,8, + 114,28,1,0,0,114,29,1,0,0,114,30,1,0,0,114, + 240,0,0,0,114,170,0,0,0,114,124,1,0,0,114,129, + 1,0,0,114,10,1,0,0,114,15,1,0,0,114,27,0, + 0,0,114,25,0,0,0,114,165,1,0,0,114,165,1,0, + 0,73,4,0,0,115,27,0,0,0,132,0,242,2,3,9, + 62,242,8,2,9,29,242,6,1,9,24,242,4,1,9,25, + 243,4,3,9,43,114,27,0,0,0,114,165,1,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0, + 3,0,0,0,243,92,0,0,0,151,0,100,1,100,2,108, + 0,125,1,2,0,124,1,106,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,125,2,116,5,0,0,0,0,0,0,0, + 0,124,0,124,2,124,1,106,6,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,171,3,0,0,0, + 0,0,0,83,0,41,3,97,79,1,0,0,65,100,100,32, + 97,32,112,97,116,104,32,116,111,32,116,104,101,32,68,76, + 76,32,115,101,97,114,99,104,32,112,97,116,104,46,10,10, + 32,32,32,32,32,32,32,32,84,104,105,115,32,115,101,97, + 114,99,104,32,112,97,116,104,32,105,115,32,117,115,101,100, + 32,119,104,101,110,32,114,101,115,111,108,118,105,110,103,32, + 100,101,112,101,110,100,101,110,99,105,101,115,32,102,111,114, + 32,105,109,112,111,114,116,101,100,10,32,32,32,32,32,32, + 32,32,101,120,116,101,110,115,105,111,110,32,109,111,100,117, + 108,101,115,32,40,116,104,101,32,109,111,100,117,108,101,32, + 105,116,115,101,108,102,32,105,115,32,114,101,115,111,108,118, + 101,100,32,116,104,114,111,117,103,104,32,115,121,115,46,112, + 97,116,104,41,44,10,32,32,32,32,32,32,32,32,97,110, + 100,32,97,108,115,111,32,98,121,32,99,116,121,112,101,115, + 46,10,10,32,32,32,32,32,32,32,32,82,101,109,111,118, + 101,32,116,104,101,32,100,105,114,101,99,116,111,114,121,32, + 98,121,32,99,97,108,108,105,110,103,32,99,108,111,115,101, + 40,41,32,111,110,32,116,104,101,32,114,101,116,117,114,110, + 101,100,32,111,98,106,101,99,116,32,111,114,10,32,32,32, + 32,32,32,32,32,117,115,105,110,103,32,105,116,32,105,110, + 32,97,32,119,105,116,104,32,115,116,97,116,101,109,101,110, + 116,46,10,32,32,32,32,32,32,32,32,114,2,0,0,0, + 78,41,4,114,42,0,0,0,218,18,95,97,100,100,95,100, + 108,108,95,100,105,114,101,99,116,111,114,121,114,165,1,0, + 0,114,168,1,0,0,41,3,114,12,0,0,0,114,42,0, + 0,0,114,169,1,0,0,115,3,0,0,0,32,32,32,114, + 25,0,0,0,218,17,97,100,100,95,100,108,108,95,100,105, + 114,101,99,116,111,114,121,114,177,1,0,0,90,4,0,0, + 115,53,0,0,0,128,0,243,20,0,9,18,216,17,38,144, + 18,215,17,38,209,17,38,160,116,211,17,44,136,6,220,15, + 33,216,12,16,216,12,18,216,12,14,215,12,36,209,12,36, + 243,7,4,16,10,240,0,4,9,10,114,27,0,0,0,41, + 2,105,255,1,0,0,70,41,3,84,78,70,41,3,250,1, + 46,84,78,114,23,0,0,0,41,2,114,99,1,0,0,114, + 189,0,0,0,41,3,114,99,1,0,0,114,189,0,0,0, + 78,41,105,114,158,1,0,0,114,159,1,0,0,114,130,0, + 0,0,114,57,0,0,0,114,165,0,0,0,218,16,95,99, + 111,108,108,101,99,116,105,111,110,115,95,97,98,99,114,3, + 0,0,0,114,34,1,0,0,114,30,0,0,0,114,138,1, + 0,0,114,162,1,0,0,218,20,98,117,105,108,116,105,110, + 95,109,111,100,117,108,101,95,110,97,109,101,115,218,6,95, + 110,97,109,101,115,114,31,0,0,0,114,26,0,0,0,114, + 36,0,0,0,114,11,0,0,0,114,9,0,0,0,114,37, + 0,0,0,114,40,0,0,0,114,140,0,0,0,218,11,73, + 109,112,111,114,116,69,114,114,111,114,218,9,112,111,115,105, + 120,112,97,116,104,114,12,0,0,0,114,41,0,0,0,218, + 6,101,120,116,101,110,100,114,42,0,0,0,218,6,110,116, + 112,97,116,104,218,7,109,111,100,117,108,101,115,218,7,111, + 115,46,112,97,116,104,114,5,0,0,0,114,6,0,0,0, + 114,7,0,0,0,114,8,0,0,0,114,10,0,0,0,114, + 21,0,0,0,114,4,0,0,0,114,13,0,0,0,114,24, + 0,0,0,114,44,0,0,0,114,49,0,0,0,218,3,115, + 101,116,114,45,0,0,0,218,15,115,117,112,112,111,114,116, + 115,95,100,105,114,95,102,100,218,22,115,117,112,112,111,114, + 116,115,95,101,102,102,101,99,116,105,118,101,95,105,100,115, + 114,46,0,0,0,218,11,115,117,112,112,111,114,116,115,95, + 102,100,218,24,115,117,112,112,111,114,116,115,95,102,111,108, + 108,111,119,95,115,121,109,108,105,110,107,115,114,14,0,0, + 0,114,15,0,0,0,114,16,0,0,0,114,113,0,0,0, + 114,124,0,0,0,114,128,0,0,0,114,158,0,0,0,114, + 69,0,0,0,114,86,0,0,0,114,173,0,0,0,114,169, + 0,0,0,114,187,0,0,0,114,192,0,0,0,114,195,0, + 0,0,114,198,0,0,0,114,194,0,0,0,114,197,0,0, + 0,114,201,0,0,0,114,19,0,0,0,114,228,0,0,0, + 114,229,0,0,0,114,231,0,0,0,114,47,1,0,0,114, + 204,0,0,0,114,51,1,0,0,114,224,0,0,0,114,53, + 1,0,0,114,237,0,0,0,114,116,0,0,0,114,55,1, + 0,0,114,56,1,0,0,114,64,1,0,0,114,17,0,0, + 0,114,18,0,0,0,114,67,1,0,0,114,68,1,0,0, + 114,69,1,0,0,114,79,1,0,0,114,66,1,0,0,114, + 84,1,0,0,114,86,1,0,0,114,88,1,0,0,114,90, + 1,0,0,114,92,1,0,0,114,94,1,0,0,114,96,1, + 0,0,218,8,112,108,97,116,102,111,114,109,114,113,1,0, + 0,114,109,1,0,0,114,20,0,0,0,114,149,1,0,0, + 114,132,0,0,0,114,28,1,0,0,218,3,65,66,67,114, + 151,1,0,0,114,165,1,0,0,114,177,1,0,0,114,15, + 1,0,0,114,27,0,0,0,114,25,0,0,0,250,8,60, + 109,111,100,117,108,101,62,114,195,1,0,0,1,0,0,0, + 115,232,5,0,0,240,3,1,1,1,241,2,21,1,4,243, + 48,0,1,11,219,0,10,219,0,17,229,0,43,225,15,19, + 144,68,152,19,145,73,139,127,128,12,224,9,12,215,9,33, + 209,9,33,128,6,242,6,3,11,21,128,7,242,10,1,1, + 29,242,6,4,1,55,240,16,0,4,11,136,102,209,3,20, + 216,11,18,128,68,216,14,18,128,71,220,4,23,240,2,4, + 5,13,221,8,31,216,8,15,143,14,137,14,144,119,212,8, + 31,243,6,0,5,29,240,4,3,5,13,221,8,41,243,8, + 0,5,17,216,4,11,135,78,129,78,209,19,36,160,85,211, + 19,43,212,4,44,217,8,13,224,5,9,136,86,129,94,216, + 11,15,128,68,216,14,20,128,71,220,4,20,240,2,4,5, + 13,221,8,28,216,8,15,143,14,137,14,144,119,212,8,31, + 243,6,0,5,26,227,4,13,216,4,11,135,78,129,78,209, + 19,36,160,82,211,19,40,212,4,41,216,8,10,240,4,3, + 5,13,222,8,38,241,10,0,11,22,208,22,51,211,10,52, + 208,4,52,224,25,29,128,3,135,11,129,11,136,73,209,0, + 22,247,2,1,1,13,247,0,1,1,13,243,0,1,1,13, + 240,6,0,5,11,241,6,0,4,11,208,11,28,213,3,29, + 217,15,22,139,121,128,72,242,2,2,5,35,241,8,0,12, + 15,139,53,128,68,217,4,8,208,9,25,152,72,212,4,37, + 217,4,8,136,31,152,71,212,4,36,217,4,8,136,31,152, + 71,212,4,36,217,4,8,136,30,152,70,212,4,35,217,4, + 8,208,9,25,152,71,212,4,36,217,4,8,136,29,152,70, + 212,4,35,217,4,8,136,30,152,71,212,4,36,217,4,8, + 136,31,152,72,212,4,37,217,4,8,136,30,152,71,212,4, + 36,217,4,8,136,29,152,70,212,4,35,217,4,8,208,9, + 26,152,74,212,4,39,217,4,8,136,31,152,72,212,4,37, + 217,4,8,208,9,25,152,73,212,4,38,217,4,8,136,31, + 152,72,212,4,37,217,4,8,136,31,152,71,212,4,36,217, + 4,8,208,9,25,152,71,212,4,36,216,22,26,128,79,225, + 11,14,139,53,128,68,217,4,8,208,9,25,152,72,212,4, + 37,216,29,33,208,4,26,225,11,14,139,53,128,68,217,4, + 8,136,29,152,71,212,4,36,217,4,8,136,29,152,71,212, + 4,36,217,4,8,136,29,152,71,212,4,36,217,4,8,208, + 9,25,152,73,212,4,38,217,4,8,208,9,25,152,73,212, + 4,38,217,4,8,136,30,152,72,212,4,37,216,4,8,135, + 72,129,72,136,84,132,78,217,4,8,208,9,25,152,74,212, + 4,39,217,4,8,136,31,152,71,212,4,36,217,4,8,136, + 30,152,71,212,4,36,217,4,8,208,9,25,152,74,212,4, + 39,217,7,14,136,121,212,7,25,153,103,160,106,212,30,49, + 217,8,12,136,95,152,105,212,8,40,216,18,22,128,75,225, + 11,14,139,53,128,68,217,4,8,208,9,25,152,72,212,4, + 37,241,44,0,5,9,136,31,152,71,212,4,36,217,4,8, + 136,30,152,70,212,4,35,217,4,8,136,31,152,73,212,4, + 38,217,4,8,136,29,152,71,212,4,36,217,7,14,136,120, + 212,7,24,217,8,12,136,93,152,71,212,8,36,217,4,8, + 136,29,152,70,212,4,35,217,4,8,136,30,152,71,212,4, + 36,217,4,8,136,28,152,70,212,4,35,217,4,8,136,30, + 152,70,212,4,35,217,4,8,208,9,25,152,71,212,4,36, + 217,4,8,136,28,152,70,212,4,35,216,31,35,208,4,28, + 224,8,12,216,8,23,216,8,16,216,8,12,240,12,0,12, + 13,128,8,216,11,12,128,8,216,11,12,128,8,243,10,30, + 1,18,242,64,1,20,1,38,242,44,24,1,17,240,52,0, + 1,8,135,14,129,14,210,15,52,212,0,53,243,4,85,2, + 1,39,240,110,4,0,1,8,135,14,129,14,136,118,212,0, + 22,224,4,8,136,36,128,60,144,63,210,3,34,168,7,176, + 20,160,127,184,43,210,39,69,240,4,46,5,25,192,101,208, + 84,88,244,0,46,5,25,242,96,1,54,5,48,240,112,1, + 0,5,12,135,78,129,78,144,55,212,4,27,242,4,5,1, + 22,242,14,6,1,33,242,16,5,1,23,242,14,7,1,34, + 242,18,6,1,25,242,16,7,1,30,240,18,0,1,8,135, + 14,129,14,210,15,71,212,0,72,243,4,29,1,19,243,64, + 1,41,1,36,247,90,1,0,1,53,244,4,71,1,1,19, + 136,126,244,0,71,1,1,19,242,82,2,27,1,24,241,60, + 0,11,25,211,10,26,128,7,216,4,18,243,6,4,1,37, + 240,12,0,27,31,160,36,153,44,208,0,22,216,0,7,135, + 14,129,14,208,15,51,212,0,52,225,3,25,242,2,3,5, + 21,241,12,0,16,24,152,7,159,13,153,13,216,8,20,144, + 101,216,8,20,144,101,243,5,2,16,29,128,72,240,6,0, + 9,21,243,4,4,5,42,240,12,0,5,12,135,78,129,78, + 208,19,42,212,4,43,242,4,28,1,30,241,60,0,22,30, + 147,90,209,0,18,128,8,136,40,216,4,12,241,6,0,4, + 11,136,54,132,63,153,55,160,56,212,27,44,177,23,184,23, + 212,49,65,224,13,14,128,70,216,27,28,208,4,28,128,72, + 136,121,224,4,11,135,78,129,78,210,19,54,212,4,55,242, + 12,25,5,51,242,54,7,5,56,242,18,8,5,56,242,24, + 8,5,57,242,20,8,5,57,240,22,0,5,12,135,78,129, + 78,210,19,63,212,4,64,241,6,0,4,11,136,56,212,3, + 20,242,8,7,5,40,242,18,9,5,51,240,24,0,5,12, + 135,78,129,78,144,72,152,105,208,19,40,212,4,41,241,6, + 0,4,11,136,57,212,3,21,242,6,8,5,41,242,20,9, + 5,52,240,24,0,5,12,135,78,129,78,144,73,152,122,208, + 19,42,212,4,43,240,8,0,4,7,135,60,129,60,144,57, + 210,3,28,243,4,19,5,49,247,44,20,5,38,241,0,20, + 5,38,240,44,0,5,12,135,78,129,78,144,55,212,4,27, + 243,6,6,1,67,1,242,22,27,1,67,1,241,62,0,8, + 15,136,120,212,7,24,216,13,20,128,70,216,22,30,128,70, + 132,79,244,6,15,1,50,136,115,143,119,137,119,244,0,15, + 1,50,240,36,0,4,8,136,52,130,60,247,2,15,5,43, + 241,0,15,5,43,243,34,16,5,10,240,37,0,4,16,248, + 240,91,32,0,12,23,242,0,1,5,13,218,8,12,240,3, + 1,5,13,251,240,12,0,12,23,242,0,1,5,13,218,8, + 12,240,3,1,5,13,251,240,28,0,12,23,242,0,1,5, + 13,218,8,12,240,3,1,5,13,251,240,20,0,12,23,242, + 0,1,5,13,218,8,12,240,3,1,5,13,250,115,72,0, + 0,0,193,4,23,83,18,0,193,32,6,83,30,0,194,17, + 23,83,42,0,195,9,6,83,54,0,211,18,5,83,27,3, + 211,26,1,83,27,3,211,30,5,83,39,3,211,38,1,83, + 39,3,211,42,5,83,51,3,211,50,1,83,51,3,211,54, + 5,83,63,3,211,62,1,83,63,3, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/posixpath.h b/contrib/tools/python3/src/Python/frozen_modules/posixpath.h new file mode 100644 index 00000000000..76f4e739ffa --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/posixpath.h @@ -0,0 +1,1129 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__posixpath[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,0,0,0,0,243,102,1,0,0,151,0,100,0,90,0, + 100,1,90,1,100,2,90,2,100,1,90,3,100,3,90,4, + 100,4,90,5,100,5,90,6,100,6,90,7,100,7,90,8, + 100,8,100,6,108,9,90,9,100,8,100,6,108,10,90,10, + 100,8,100,6,108,11,90,11,100,8,100,6,108,12,90,12, + 100,8,100,9,108,12,173,2,1,0,103,0,100,10,162,1, + 90,13,100,11,132,0,90,14,100,12,132,0,90,15,100,13, + 132,0,90,16,100,14,132,0,90,17,100,15,132,0,90,18, + 100,16,132,0,90,19,101,12,106,40,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 101,19,95,0,0,0,0,0,0,0,0,0,100,17,132,0, + 90,21,100,18,132,0,90,22,100,19,132,0,90,23,100,20, + 132,0,90,24,100,21,132,0,90,25,100,22,132,0,90,26, + 100,23,132,0,90,27,100,24,132,0,90,28,100,6,97,29, + 100,6,97,30,100,25,132,0,90,31,9,0,100,8,100,26, + 108,32,109,33,90,33,1,0,100,27,132,0,90,34,100,29, + 132,0,90,36,100,30,100,31,156,1,100,32,132,2,90,37, + 100,33,132,0,90,38,101,10,106,78,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,34,107,40, + 0,0,90,40,100,37,100,35,132,1,90,41,100,36,132,0, + 90,42,121,6,35,0,101,35,36,0,114,6,1,0,100,28, + 132,0,90,34,89,0,140,45,119,0,120,3,89,0,119,1, + 41,38,97,217,1,0,0,67,111,109,109,111,110,32,111,112, + 101,114,97,116,105,111,110,115,32,111,110,32,80,111,115,105, + 120,32,112,97,116,104,110,97,109,101,115,46,10,10,73,110, + 115,116,101,97,100,32,111,102,32,105,109,112,111,114,116,105, + 110,103,32,116,104,105,115,32,109,111,100,117,108,101,32,100, + 105,114,101,99,116,108,121,44,32,105,109,112,111,114,116,32, + 111,115,32,97,110,100,32,114,101,102,101,114,32,116,111,10, + 116,104,105,115,32,109,111,100,117,108,101,32,97,115,32,111, + 115,46,112,97,116,104,46,32,32,84,104,101,32,34,111,115, + 46,112,97,116,104,34,32,110,97,109,101,32,105,115,32,97, + 110,32,97,108,105,97,115,32,102,111,114,32,116,104,105,115, + 10,109,111,100,117,108,101,32,111,110,32,80,111,115,105,120, + 32,115,121,115,116,101,109,115,59,32,111,110,32,111,116,104, + 101,114,32,115,121,115,116,101,109,115,32,40,101,46,103,46, + 32,87,105,110,100,111,119,115,41,44,10,111,115,46,112,97, + 116,104,32,112,114,111,118,105,100,101,115,32,116,104,101,32, + 115,97,109,101,32,111,112,101,114,97,116,105,111,110,115,32, + 105,110,32,97,32,109,97,110,110,101,114,32,115,112,101,99, + 105,102,105,99,32,116,111,32,116,104,97,116,10,112,108,97, + 116,102,111,114,109,44,32,97,110,100,32,105,115,32,97,110, + 32,97,108,105,97,115,32,116,111,32,97,110,111,116,104,101, + 114,32,109,111,100,117,108,101,32,40,101,46,103,46,32,110, + 116,112,97,116,104,41,46,10,10,83,111,109,101,32,111,102, + 32,116,104,105,115,32,99,97,110,32,97,99,116,117,97,108, + 108,121,32,98,101,32,117,115,101,102,117,108,32,111,110,32, + 110,111,110,45,80,111,115,105,120,32,115,121,115,116,101,109, + 115,32,116,111,111,44,32,101,46,103,46,10,102,111,114,32, + 109,97,110,105,112,117,108,97,116,105,111,110,32,111,102,32, + 116,104,101,32,112,97,116,104,110,97,109,101,32,99,111,109, + 112,111,110,101,110,116,32,111,102,32,85,82,76,115,46,10, + 250,1,46,250,2,46,46,250,1,47,250,1,58,122,13,47, + 98,105,110,58,47,117,115,114,47,98,105,110,78,122,9,47, + 100,101,118,47,110,117,108,108,233,0,0,0,0,41,1,218, + 1,42,41,40,218,8,110,111,114,109,99,97,115,101,218,5, + 105,115,97,98,115,218,4,106,111,105,110,218,10,115,112,108, + 105,116,100,114,105,118,101,218,9,115,112,108,105,116,114,111, + 111,116,218,5,115,112,108,105,116,218,8,115,112,108,105,116, + 101,120,116,218,8,98,97,115,101,110,97,109,101,218,7,100, + 105,114,110,97,109,101,218,12,99,111,109,109,111,110,112,114, + 101,102,105,120,218,7,103,101,116,115,105,122,101,218,8,103, + 101,116,109,116,105,109,101,218,8,103,101,116,97,116,105,109, + 101,218,8,103,101,116,99,116,105,109,101,218,6,105,115,108, + 105,110,107,218,6,101,120,105,115,116,115,218,7,108,101,120, + 105,115,116,115,218,5,105,115,100,105,114,218,6,105,115,102, + 105,108,101,218,7,105,115,109,111,117,110,116,218,10,101,120, + 112,97,110,100,117,115,101,114,218,10,101,120,112,97,110,100, + 118,97,114,115,218,8,110,111,114,109,112,97,116,104,218,7, + 97,98,115,112,97,116,104,218,8,115,97,109,101,102,105,108, + 101,218,12,115,97,109,101,111,112,101,110,102,105,108,101,218, + 8,115,97,109,101,115,116,97,116,218,6,99,117,114,100,105, + 114,218,6,112,97,114,100,105,114,218,3,115,101,112,218,7, + 112,97,116,104,115,101,112,218,7,100,101,102,112,97,116,104, + 218,6,97,108,116,115,101,112,218,6,101,120,116,115,101,112, + 218,7,100,101,118,110,117,108,108,218,8,114,101,97,108,112, + 97,116,104,218,26,115,117,112,112,111,114,116,115,95,117,110, + 105,99,111,100,101,95,102,105,108,101,110,97,109,101,115,218, + 7,114,101,108,112,97,116,104,218,10,99,111,109,109,111,110, + 112,97,116,104,218,10,105,115,106,117,110,99,116,105,111,110, + 99,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,243,38,0,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,124,0,116,2,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,114,1,121,1,121,2, + 41,3,78,243,1,0,0,0,47,114,4,0,0,0,41,2, + 218,10,105,115,105,110,115,116,97,110,99,101,218,5,98,121, + 116,101,115,169,1,218,4,112,97,116,104,115,1,0,0,0, + 32,250,18,60,102,114,111,122,101,110,32,112,111,115,105,120, + 112,97,116,104,62,218,8,95,103,101,116,95,115,101,112,114, + 55,0,0,0,41,0,0,0,115,18,0,0,0,128,0,220, + 7,17,144,36,156,5,212,7,30,216,15,19,224,15,18,243, + 0,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0, + 0,3,0,0,0,3,0,0,0,243,44,0,0,0,151,0, + 116,1,0,0,0,0,0,0,0,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,83,0,41,1,122,54,78,111, + 114,109,97,108,105,122,101,32,99,97,115,101,32,111,102,32, + 112,97,116,104,110,97,109,101,46,32,32,72,97,115,32,110, + 111,32,101,102,102,101,99,116,32,117,110,100,101,114,32,80, + 111,115,105,120,169,2,218,2,111,115,218,6,102,115,112,97, + 116,104,41,1,218,1,115,115,1,0,0,0,32,114,54,0, + 0,0,114,8,0,0,0,114,8,0,0,0,52,0,0,0, + 115,16,0,0,0,128,0,228,11,13,143,57,137,57,144,81, + 139,60,208,4,23,114,56,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,243, + 100,0,0,0,151,0,116,1,0,0,0,0,0,0,0,0, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,125,0, + 116,5,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,125,1,124,0,106,7,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,1,171,1, + 0,0,0,0,0,0,83,0,41,1,122,31,84,101,115,116, + 32,119,104,101,116,104,101,114,32,97,32,112,97,116,104,32, + 105,115,32,97,98,115,111,108,117,116,101,41,4,114,59,0, + 0,0,114,60,0,0,0,114,55,0,0,0,218,10,115,116, + 97,114,116,115,119,105,116,104,41,2,114,61,0,0,0,114, + 37,0,0,0,115,2,0,0,0,32,32,114,54,0,0,0, + 114,9,0,0,0,114,9,0,0,0,60,0,0,0,115,39, + 0,0,0,128,0,228,8,10,143,9,137,9,144,33,139,12, + 128,65,220,10,18,144,49,139,43,128,67,216,11,12,143,60, + 137,60,152,3,211,11,28,208,4,28,114,56,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0, + 7,0,0,0,243,106,1,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,125,0,116,5,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,125,2,124,0,125,3,9, + 0,124,1,115,8,124,3,100,1,100,2,26,0,124,2,122, + 0,0,0,1,0,116,7,0,0,0,0,0,0,0,0,116, + 0,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,171, + 2,0,0,0,0,0,0,68,0,93,55,0,0,125,4,124, + 4,106,9,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,2,171,1,0,0,0,0,0,0,114, + 3,124,4,125,3,140,23,124,3,114,17,124,3,106,11,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,2,171,1,0,0,0,0,0,0,114,6,124,3,124, + 4,122,13,0,0,125,3,140,48,124,3,124,2,124,4,122, + 0,0,0,122,13,0,0,125,3,140,57,4,0,9,0,124, + 3,83,0,35,0,116,12,0,0,0,0,0,0,0,0,116, + 14,0,0,0,0,0,0,0,0,116,16,0,0,0,0,0, + 0,0,0,102,3,36,0,114,25,1,0,116,19,0,0,0, + 0,0,0,0,0,106,20,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,3,124,0,103,2,124, + 1,162,1,173,6,142,0,1,0,130,0,119,0,120,3,89, + 0,119,1,41,4,122,230,74,111,105,110,32,116,119,111,32, + 111,114,32,109,111,114,101,32,112,97,116,104,110,97,109,101, + 32,99,111,109,112,111,110,101,110,116,115,44,32,105,110,115, + 101,114,116,105,110,103,32,39,47,39,32,97,115,32,110,101, + 101,100,101,100,46,10,32,32,32,32,73,102,32,97,110,121, + 32,99,111,109,112,111,110,101,110,116,32,105,115,32,97,110, + 32,97,98,115,111,108,117,116,101,32,112,97,116,104,44,32, + 97,108,108,32,112,114,101,118,105,111,117,115,32,112,97,116, + 104,32,99,111,109,112,111,110,101,110,116,115,10,32,32,32, + 32,119,105,108,108,32,98,101,32,100,105,115,99,97,114,100, + 101,100,46,32,32,65,110,32,101,109,112,116,121,32,108,97, + 115,116,32,112,97,114,116,32,119,105,108,108,32,114,101,115, + 117,108,116,32,105,110,32,97,32,112,97,116,104,32,116,104, + 97,116,10,32,32,32,32,101,110,100,115,32,119,105,116,104, + 32,97,32,115,101,112,97,114,97,116,111,114,46,78,114,6, + 0,0,0,114,10,0,0,0,41,11,114,59,0,0,0,114, + 60,0,0,0,114,55,0,0,0,218,3,109,97,112,114,63, + 0,0,0,218,8,101,110,100,115,119,105,116,104,218,9,84, + 121,112,101,69,114,114,111,114,218,14,65,116,116,114,105,98, + 117,116,101,69,114,114,111,114,218,12,66,121,116,101,115,87, + 97,114,110,105,110,103,218,11,103,101,110,101,114,105,99,112, + 97,116,104,218,16,95,99,104,101,99,107,95,97,114,103,95, + 116,121,112,101,115,41,5,218,1,97,218,1,112,114,37,0, + 0,0,114,53,0,0,0,218,1,98,115,5,0,0,0,32, + 32,32,32,32,114,54,0,0,0,114,10,0,0,0,114,10, + 0,0,0,71,0,0,0,115,186,0,0,0,128,0,244,10, + 0,9,11,143,9,137,9,144,33,139,12,128,65,220,10,18, + 144,49,139,43,128,67,216,11,12,128,68,240,2,12,5,14, + 217,15,16,216,12,16,144,18,144,33,136,72,144,115,138,78, + 220,17,20,148,82,151,89,145,89,160,1,211,17,34,242,0, + 6,9,32,136,65,216,15,16,143,124,137,124,152,67,212,15, + 32,216,23,24,145,4,217,21,25,152,84,159,93,153,93,168, + 51,212,29,47,216,16,20,152,1,145,9,145,4,224,16,20, + 152,3,152,97,153,7,145,15,145,4,241,13,6,9,32,240, + 20,0,12,16,128,75,248,244,7,0,13,22,148,126,164,124, + 208,11,52,242,0,2,5,14,220,8,19,215,8,36,209,8, + 36,160,86,168,81,208,8,51,176,17,211,8,51,216,8,13, + 240,5,2,5,14,250,115,12,0,0,0,164,65,30,66,5, + 0,194,5,45,66,50,3,99,1,0,0,0,0,0,0,0, + 0,0,0,0,5,0,0,0,3,0,0,0,243,206,0,0, + 0,151,0,116,1,0,0,0,0,0,0,0,0,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,125,0,116,5,0, + 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0, + 0,125,1,124,0,106,7,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,1,171,1,0,0,0, + 0,0,0,100,1,122,0,0,0,125,2,124,0,100,2,124, + 2,26,0,124,0,124,2,100,2,26,0,125,4,125,3,124, + 3,114,34,124,3,124,1,116,9,0,0,0,0,0,0,0, + 0,124,3,171,1,0,0,0,0,0,0,122,5,0,0,107, + 55,0,0,114,17,124,3,106,11,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,171,1,0, + 0,0,0,0,0,125,3,124,3,124,4,102,2,83,0,41, + 3,122,128,83,112,108,105,116,32,97,32,112,97,116,104,110, + 97,109,101,46,32,32,82,101,116,117,114,110,115,32,116,117, + 112,108,101,32,34,40,104,101,97,100,44,32,116,97,105,108, + 41,34,32,119,104,101,114,101,32,34,116,97,105,108,34,32, + 105,115,10,32,32,32,32,101,118,101,114,121,116,104,105,110, + 103,32,97,102,116,101,114,32,116,104,101,32,102,105,110,97, + 108,32,115,108,97,115,104,46,32,32,69,105,116,104,101,114, + 32,112,97,114,116,32,109,97,121,32,98,101,32,101,109,112, + 116,121,46,233,1,0,0,0,78,169,6,114,59,0,0,0, + 114,60,0,0,0,114,55,0,0,0,218,5,114,102,105,110, + 100,218,3,108,101,110,218,6,114,115,116,114,105,112,41,5, + 114,73,0,0,0,114,37,0,0,0,218,1,105,218,4,104, + 101,97,100,218,4,116,97,105,108,115,5,0,0,0,32,32, + 32,32,32,114,54,0,0,0,114,13,0,0,0,114,13,0, + 0,0,100,0,0,0,115,107,0,0,0,128,0,244,6,0, + 9,11,143,9,137,9,144,33,139,12,128,65,220,10,18,144, + 49,139,43,128,67,216,8,9,143,7,137,7,144,3,139,12, + 144,113,209,8,24,128,65,216,17,18,144,50,144,65,144,21, + 152,1,152,33,152,34,152,5,136,36,128,68,217,7,11,144, + 4,152,3,156,67,160,4,155,73,153,13,210,16,37,216,15, + 19,143,123,137,123,152,51,211,15,31,136,4,216,11,15,144, + 20,136,58,208,4,21,114,56,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,6,0,0,0,3,0,0,0, + 243,142,0,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,106,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,125, + 0,116,5,0,0,0,0,0,0,0,0,124,0,116,6,0, + 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,114, + 5,100,1,125,1,100,2,125,2,110,4,100,3,125,1,100, + 4,125,2,116,9,0,0,0,0,0,0,0,0,106,10,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,124,1,100,0,124,2,171,4,0,0,0,0,0, + 0,83,0,41,5,78,114,49,0,0,0,243,1,0,0,0, + 46,114,4,0,0,0,114,2,0,0,0,41,6,114,59,0, + 0,0,114,60,0,0,0,114,50,0,0,0,114,51,0,0, + 0,114,70,0,0,0,218,9,95,115,112,108,105,116,101,120, + 116,41,3,114,73,0,0,0,114,37,0,0,0,114,41,0, + 0,0,115,3,0,0,0,32,32,32,114,54,0,0,0,114, + 14,0,0,0,114,14,0,0,0,117,0,0,0,115,68,0, + 0,0,128,0,220,8,10,143,9,137,9,144,33,139,12,128, + 65,220,7,17,144,33,148,85,212,7,27,216,14,18,136,3, + 216,17,21,137,6,224,14,17,136,3,216,17,20,136,6,220, + 11,22,215,11,32,209,11,32,160,17,160,67,168,20,168,118, + 211,11,54,208,4,54,114,56,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, + 243,58,0,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,106,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,125, + 0,124,0,100,1,100,2,26,0,124,0,102,2,83,0,41, + 3,122,74,83,112,108,105,116,32,97,32,112,97,116,104,110, + 97,109,101,32,105,110,116,111,32,100,114,105,118,101,32,97, + 110,100,32,112,97,116,104,46,32,79,110,32,80,111,115,105, + 120,44,32,100,114,105,118,101,32,105,115,32,97,108,119,97, + 121,115,10,32,32,32,32,101,109,112,116,121,46,78,114,6, + 0,0,0,114,58,0,0,0,41,1,114,73,0,0,0,115, + 1,0,0,0,32,114,54,0,0,0,114,11,0,0,0,114, + 11,0,0,0,131,0,0,0,115,32,0,0,0,128,0,244, + 6,0,9,11,143,9,137,9,144,33,139,12,128,65,216,11, + 12,136,82,136,97,136,53,144,33,136,56,128,79,114,56,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,5, + 0,0,0,3,0,0,0,243,190,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,125,0,116,5,0,0,0,0,0,0, + 0,0,124,0,116,6,0,0,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,114,5,100,1,125,1,100,2,125,2, + 110,4,100,3,125,1,100,4,125,2,124,0,100,5,100,6, + 26,0,124,1,107,55,0,0,114,5,124,2,124,2,124,0, + 102,3,83,0,124,0,100,6,100,7,26,0,124,1,107,55, + 0,0,115,8,124,0,100,7,100,8,26,0,124,1,107,40, + 0,0,114,8,124,2,124,1,124,0,100,6,100,5,26,0, + 102,3,83,0,124,2,124,0,100,5,100,7,26,0,124,0, + 100,7,100,5,26,0,102,3,83,0,41,9,97,165,1,0, + 0,83,112,108,105,116,32,97,32,112,97,116,104,110,97,109, + 101,32,105,110,116,111,32,100,114,105,118,101,44,32,114,111, + 111,116,32,97,110,100,32,116,97,105,108,46,32,79,110,32, + 80,111,115,105,120,44,32,100,114,105,118,101,32,105,115,32, + 97,108,119,97,121,115,10,32,32,32,32,101,109,112,116,121, + 59,32,116,104,101,32,114,111,111,116,32,109,97,121,32,98, + 101,32,101,109,112,116,121,44,32,97,32,115,105,110,103,108, + 101,32,115,108,97,115,104,44,32,111,114,32,116,119,111,32, + 115,108,97,115,104,101,115,46,32,84,104,101,32,116,97,105, + 108,10,32,32,32,32,99,111,110,116,97,105,110,115,32,97, + 110,121,116,104,105,110,103,32,97,102,116,101,114,32,116,104, + 101,32,114,111,111,116,46,32,70,111,114,32,101,120,97,109, + 112,108,101,58,10,10,32,32,32,32,32,32,32,32,115,112, + 108,105,116,114,111,111,116,40,39,102,111,111,47,98,97,114, + 39,41,32,61,61,32,40,39,39,44,32,39,39,44,32,39, + 102,111,111,47,98,97,114,39,41,10,32,32,32,32,32,32, + 32,32,115,112,108,105,116,114,111,111,116,40,39,47,102,111, + 111,47,98,97,114,39,41,32,61,61,32,40,39,39,44,32, + 39,47,39,44,32,39,102,111,111,47,98,97,114,39,41,10, + 32,32,32,32,32,32,32,32,115,112,108,105,116,114,111,111, + 116,40,39,47,47,102,111,111,47,98,97,114,39,41,32,61, + 61,32,40,39,39,44,32,39,47,47,39,44,32,39,102,111, + 111,47,98,97,114,39,41,10,32,32,32,32,32,32,32,32, + 115,112,108,105,116,114,111,111,116,40,39,47,47,47,102,111, + 111,47,98,97,114,39,41,32,61,61,32,40,39,39,44,32, + 39,47,39,44,32,39,47,47,102,111,111,47,98,97,114,39, + 41,10,32,32,32,32,114,49,0,0,0,114,56,0,0,0, + 114,4,0,0,0,218,0,78,114,76,0,0,0,233,2,0, + 0,0,233,3,0,0,0,41,4,114,59,0,0,0,114,60, + 0,0,0,114,50,0,0,0,114,51,0,0,0,41,3,114, + 73,0,0,0,114,37,0,0,0,218,5,101,109,112,116,121, + 115,3,0,0,0,32,32,32,114,54,0,0,0,114,12,0, + 0,0,114,12,0,0,0,138,0,0,0,115,143,0,0,0, + 128,0,244,20,0,9,11,143,9,137,9,144,33,139,12,128, + 65,220,7,17,144,33,148,85,212,7,27,216,14,18,136,3, + 216,16,19,137,5,224,14,17,136,3,216,16,18,136,5,216, + 7,8,136,18,136,33,128,117,144,3,130,124,224,15,20,144, + 101,152,81,136,127,208,8,30,216,9,10,136,49,136,81,136, + 22,144,51,138,29,152,33,152,65,152,97,152,38,160,67,154, + 45,224,15,20,144,99,152,49,152,81,152,82,152,53,208,15, + 32,208,8,32,240,8,0,16,21,144,97,152,2,152,17,144, + 101,152,81,152,113,152,114,152,85,208,15,34,208,8,34,114, + 56,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0, + 0,3,0,0,0,3,0,0,0,243,116,0,0,0,151,0, + 116,1,0,0,0,0,0,0,0,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, + 171,1,0,0,0,0,0,0,125,0,116,5,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,125,1, + 124,0,106,7,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,171,1,0,0,0,0,0,0, + 100,1,122,0,0,0,125,2,124,0,124,2,100,2,26,0, + 83,0,41,3,122,41,82,101,116,117,114,110,115,32,116,104, + 101,32,102,105,110,97,108,32,99,111,109,112,111,110,101,110, + 116,32,111,102,32,97,32,112,97,116,104,110,97,109,101,114, + 76,0,0,0,78,41,4,114,59,0,0,0,114,60,0,0, + 0,114,55,0,0,0,114,78,0,0,0,41,3,114,73,0, + 0,0,114,37,0,0,0,114,81,0,0,0,115,3,0,0, + 0,32,32,32,114,54,0,0,0,114,15,0,0,0,114,15, + 0,0,0,169,0,0,0,115,53,0,0,0,128,0,228,8, + 10,143,9,137,9,144,33,139,12,128,65,220,10,18,144,49, + 139,43,128,67,216,8,9,143,7,137,7,144,3,139,12,144, + 113,209,8,24,128,65,216,11,12,136,81,136,82,136,53,128, + 76,114,56,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,5,0,0,0,3,0,0,0,243,192,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,0,116,5,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 125,1,124,0,106,7,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,1,171,1,0,0,0,0, + 0,0,100,1,122,0,0,0,125,2,124,0,100,2,124,2, + 26,0,125,3,124,3,114,34,124,3,124,1,116,9,0,0, + 0,0,0,0,0,0,124,3,171,1,0,0,0,0,0,0, + 122,5,0,0,107,55,0,0,114,17,124,3,106,11,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,125,3,124,3,83,0, + 41,3,122,45,82,101,116,117,114,110,115,32,116,104,101,32, + 100,105,114,101,99,116,111,114,121,32,99,111,109,112,111,110, + 101,110,116,32,111,102,32,97,32,112,97,116,104,110,97,109, + 101,114,76,0,0,0,78,114,77,0,0,0,41,4,114,73, + 0,0,0,114,37,0,0,0,114,81,0,0,0,114,82,0, + 0,0,115,4,0,0,0,32,32,32,32,114,54,0,0,0, + 114,16,0,0,0,114,16,0,0,0,179,0,0,0,115,90, + 0,0,0,128,0,228,8,10,143,9,137,9,144,33,139,12, + 128,65,220,10,18,144,49,139,43,128,67,216,8,9,143,7, + 137,7,144,3,139,12,144,113,209,8,24,128,65,216,11,12, + 136,82,136,97,136,53,128,68,217,7,11,144,4,152,3,156, + 67,160,4,155,73,153,13,210,16,37,216,15,19,143,123,137, + 123,152,51,211,15,31,136,4,216,11,15,128,75,114,56,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,3,0,0,0,243,46,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,1,0,121,1,41,2,122,81,84,101, + 115,116,32,119,104,101,116,104,101,114,32,97,32,112,97,116, + 104,32,105,115,32,97,32,106,117,110,99,116,105,111,110,10, + 32,32,32,32,74,117,110,99,116,105,111,110,115,32,97,114, + 101,32,110,111,116,32,97,32,112,97,114,116,32,111,102,32, + 112,111,115,105,120,32,115,101,109,97,110,116,105,99,115,70, + 114,58,0,0,0,114,52,0,0,0,115,1,0,0,0,32, + 114,54,0,0,0,114,47,0,0,0,114,47,0,0,0,192, + 0,0,0,115,18,0,0,0,128,0,244,6,0,5,7,135, + 73,129,73,136,100,132,79,216,11,16,114,56,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,90,0,0,0,151,0,9,0,116,1,0, + 0,0,0,0,0,0,0,106,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,171,1,0, + 0,0,0,0,0,1,0,121,2,35,0,116,4,0,0,0, + 0,0,0,0,0,116,6,0,0,0,0,0,0,0,0,102, + 2,36,0,114,3,1,0,89,0,121,1,119,0,120,3,89, + 0,119,1,41,3,122,67,84,101,115,116,32,119,104,101,116, + 104,101,114,32,97,32,112,97,116,104,32,101,120,105,115,116, + 115,46,32,32,82,101,116,117,114,110,115,32,84,114,117,101, + 32,102,111,114,32,98,114,111,107,101,110,32,115,121,109,98, + 111,108,105,99,32,108,105,110,107,115,70,84,41,4,114,59, + 0,0,0,218,5,108,115,116,97,116,218,7,79,83,69,114, + 114,111,114,218,10,86,97,108,117,101,69,114,114,111,114,114, + 52,0,0,0,115,1,0,0,0,32,114,54,0,0,0,114, + 24,0,0,0,114,24,0,0,0,201,0,0,0,115,48,0, + 0,0,128,0,240,4,3,5,21,220,8,10,143,8,137,8, + 144,20,140,14,240,6,0,12,16,248,244,5,0,13,20,148, + 90,208,11,32,242,0,1,5,21,217,15,20,240,3,1,5, + 21,250,115,12,0,0,0,130,21,24,0,152,15,42,3,169, + 1,42,3,99,1,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,250,1,0,0,151,0,9, + 0,116,1,0,0,0,0,0,0,0,0,106,2,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,125,1,116,5,0,0,0, + 0,0,0,0,0,106,6,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,1,106,8,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 1,0,0,0,0,0,0,114,1,121,1,116,1,0,0,0, + 0,0,0,0,0,106,14,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,125,0,116,17,0,0,0,0,0,0,0,0,124, + 0,116,18,0,0,0,0,0,0,0,0,171,2,0,0,0, + 0,0,0,114,13,116,21,0,0,0,0,0,0,0,0,124, + 0,100,2,171,2,0,0,0,0,0,0,125,2,110,12,116, + 21,0,0,0,0,0,0,0,0,124,0,100,3,171,2,0, + 0,0,0,0,0,125,2,116,23,0,0,0,0,0,0,0, + 0,124,2,171,1,0,0,0,0,0,0,125,2,9,0,116, + 1,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,2,171, + 1,0,0,0,0,0,0,125,3,124,1,106,24,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125, + 4,124,3,106,24,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,125,5,124,4,124,5,107,55,0, + 0,114,1,121,4,124,1,106,26,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,125,6,124,3,106, + 26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,125,7,124,6,124,7,107,40,0,0,114,1,121, + 4,121,1,35,0,116,10,0,0,0,0,0,0,0,0,116, + 12,0,0,0,0,0,0,0,0,102,2,36,0,114,3,1, + 0,89,0,121,1,119,0,120,3,89,0,119,1,35,0,116, + 10,0,0,0,0,0,0,0,0,116,12,0,0,0,0,0, + 0,0,0,102,2,36,0,114,3,1,0,89,0,121,1,119, + 0,120,3,89,0,119,1,41,5,122,36,84,101,115,116,32, + 119,104,101,116,104,101,114,32,97,32,112,97,116,104,32,105, + 115,32,97,32,109,111,117,110,116,32,112,111,105,110,116,70, + 243,2,0,0,0,46,46,114,3,0,0,0,84,41,14,114, + 59,0,0,0,114,97,0,0,0,218,4,115,116,97,116,218, + 7,83,95,73,83,76,78,75,218,7,115,116,95,109,111,100, + 101,114,98,0,0,0,114,99,0,0,0,114,60,0,0,0, + 114,50,0,0,0,114,51,0,0,0,114,10,0,0,0,114, + 43,0,0,0,218,6,115,116,95,100,101,118,218,6,115,116, + 95,105,110,111,41,8,114,53,0,0,0,218,2,115,49,218, + 6,112,97,114,101,110,116,218,2,115,50,218,4,100,101,118, + 49,218,4,100,101,118,50,218,4,105,110,111,49,218,4,105, + 110,111,50,115,8,0,0,0,32,32,32,32,32,32,32,32, + 114,54,0,0,0,114,27,0,0,0,114,27,0,0,0,213, + 0,0,0,115,227,0,0,0,128,0,240,4,8,5,25,220, + 13,15,143,88,137,88,144,100,139,94,136,2,244,12,0,12, + 16,143,60,137,60,152,2,159,10,153,10,212,11,35,216,19, + 24,228,11,13,143,57,137,57,144,84,139,63,128,68,220,7, + 17,144,36,156,5,212,7,30,220,17,21,144,100,152,69,211, + 17,34,137,6,228,17,21,144,100,152,68,211,17,33,136,6, + 220,13,21,144,102,211,13,29,128,70,240,2,3,5,21,220, + 13,15,143,88,137,88,144,102,211,13,29,136,2,240,8,0, + 12,14,143,57,137,57,128,68,216,11,13,143,57,137,57,128, + 68,216,7,11,136,116,130,124,216,15,19,216,11,13,143,57, + 137,57,128,68,216,11,13,143,57,137,57,128,68,216,7,11, + 136,116,130,124,216,15,19,216,11,16,248,244,55,0,13,20, + 148,90,208,11,32,242,0,2,5,21,225,15,20,240,5,2, + 5,21,251,244,32,0,13,20,148,90,208,11,32,242,0,1, + 5,21,217,15,20,240,3,1,5,21,250,115,35,0,0,0, + 130,21,67,19,0,194,1,21,67,40,0,195,19,15,67,37, + 3,195,36,1,67,37,3,195,40,15,67,58,3,195,57,1, + 67,58,3,99,1,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,96,3,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,0,116,5,0,0,0,0,0, + 0,0,0,124,0,116,6,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,114,3,100,1,125,1,110,2,100, + 2,125,1,124,0,106,9,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,1,171,1,0,0,0, + 0,0,0,115,2,124,0,83,0,116,11,0,0,0,0,0, + 0,0,0,124,0,171,1,0,0,0,0,0,0,125,2,124, + 0,106,13,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,2,100,3,171,2,0,0,0,0,0, + 0,125,3,124,3,100,4,107,2,0,0,114,11,116,15,0, + 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0, + 0,125,3,124,3,100,3,107,40,0,0,114,90,100,5,116, + 0,0,0,0,0,0,0,0,0,106,16,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,118,1,114, + 52,9,0,100,4,100,6,108,9,125,4,9,0,124,4,106, + 23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,116,1,0,0,0,0,0,0,0,0,106,24,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,171,1,0,0,0,0,0, + 0,106,26,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,125,5,110,88,116,0,0,0,0,0,0, + 0,0,0,106,16,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,5,25,0,0,0,125,5,110, + 68,9,0,100,4,100,6,108,9,125,4,124,0,100,3,124, + 3,26,0,125,6,116,5,0,0,0,0,0,0,0,0,124, + 6,116,6,0,0,0,0,0,0,0,0,171,2,0,0,0, + 0,0,0,114,12,116,31,0,0,0,0,0,0,0,0,124, + 6,100,7,171,2,0,0,0,0,0,0,125,6,9,0,124, + 4,106,33,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,6,171,1,0,0,0,0,0,0,125, + 7,124,7,106,26,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,125,5,124,5,128,21,116,34,0, + 0,0,0,0,0,0,0,106,36,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,8,107,40,0, + 0,114,2,124,0,83,0,116,5,0,0,0,0,0,0,0, + 0,124,0,116,6,0,0,0,0,0,0,0,0,171,2,0, + 0,0,0,0,0,114,24,116,1,0,0,0,0,0,0,0, + 0,106,38,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,5,171,1,0,0,0,0,0,0,125, + 5,100,9,125,8,110,2,100,10,125,8,124,5,106,41,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,8,171,1,0,0,0,0,0,0,125,5,124,5,124, + 0,124,3,100,6,26,0,122,0,0,0,120,1,115,2,1, + 0,124,8,83,0,35,0,116,20,0,0,0,0,0,0,0, + 0,36,0,114,5,1,0,124,0,99,2,89,0,83,0,119, + 0,120,3,89,0,119,1,35,0,116,28,0,0,0,0,0, + 0,0,0,36,0,114,5,1,0,124,0,99,2,89,0,83, + 0,119,0,120,3,89,0,119,1,35,0,116,20,0,0,0, + 0,0,0,0,0,36,0,114,5,1,0,124,0,99,2,89, + 0,83,0,119,0,120,3,89,0,119,1,35,0,116,28,0, + 0,0,0,0,0,0,0,36,0,114,5,1,0,124,0,99, + 2,89,0,83,0,119,0,120,3,89,0,119,1,41,11,122, + 79,69,120,112,97,110,100,32,126,32,97,110,100,32,126,117, + 115,101,114,32,99,111,110,115,116,114,117,99,116,105,111,110, + 115,46,32,32,73,102,32,117,115,101,114,32,111,114,32,36, + 72,79,77,69,32,105,115,32,117,110,107,110,111,119,110,44, + 10,32,32,32,32,100,111,32,110,111,116,104,105,110,103,46, + 243,1,0,0,0,126,250,1,126,114,76,0,0,0,114,6, + 0,0,0,218,4,72,79,77,69,78,218,5,65,83,67,73, + 73,218,7,118,120,119,111,114,107,115,114,49,0,0,0,114, + 4,0,0,0,41,21,114,59,0,0,0,114,60,0,0,0, + 114,50,0,0,0,114,51,0,0,0,114,63,0,0,0,114, + 55,0,0,0,218,4,102,105,110,100,114,79,0,0,0,218, + 7,101,110,118,105,114,111,110,218,3,112,119,100,218,11,73, + 109,112,111,114,116,69,114,114,111,114,218,8,103,101,116,112, + 119,117,105,100,218,6,103,101,116,117,105,100,218,6,112,119, + 95,100,105,114,218,8,75,101,121,69,114,114,111,114,218,3, + 115,116,114,218,8,103,101,116,112,119,110,97,109,218,3,115, + 121,115,218,8,112,108,97,116,102,111,114,109,218,8,102,115, + 101,110,99,111,100,101,114,80,0,0,0,41,9,114,53,0, + 0,0,218,5,116,105,108,100,101,114,37,0,0,0,114,81, + 0,0,0,114,122,0,0,0,218,8,117,115,101,114,104,111, + 109,101,218,4,110,97,109,101,218,5,112,119,101,110,116,218, + 4,114,111,111,116,115,9,0,0,0,32,32,32,32,32,32, + 32,32,32,114,54,0,0,0,114,28,0,0,0,114,28,0, + 0,0,0,1,0,0,115,168,1,0,0,128,0,244,6,0, + 12,14,143,57,137,57,144,84,139,63,128,68,220,7,17,144, + 36,156,5,212,7,30,216,16,20,137,5,224,16,19,136,5, + 216,11,15,143,63,137,63,152,53,212,11,33,216,15,19,136, + 11,220,10,18,144,52,139,46,128,67,216,8,12,143,9,137, + 9,144,35,144,113,211,8,25,128,65,216,7,8,136,49,130, + 117,220,12,15,144,4,139,73,136,1,216,7,8,136,65,130, + 118,216,11,17,156,18,159,26,153,26,209,11,35,240,2,4, + 13,28,219,16,26,240,8,5,13,28,216,27,30,159,60,153, + 60,172,2,175,9,169,9,171,11,211,27,52,215,27,59,209, + 27,59,145,8,244,12,0,24,26,151,122,145,122,160,38,209, + 23,41,137,72,240,4,4,9,24,219,12,22,240,8,0,16, + 20,144,65,144,97,136,121,136,4,220,11,21,144,100,156,69, + 212,11,34,220,19,22,144,116,152,87,211,19,37,136,68,240, + 2,5,9,24,216,20,23,151,76,145,76,160,20,211,20,38, + 136,69,240,10,0,20,25,151,60,145,60,136,8,224,7,15, + 208,7,23,156,67,159,76,153,76,168,73,210,28,53,216,15, + 19,136,11,220,7,17,144,36,156,5,212,7,30,220,19,21, + 151,59,145,59,152,120,211,19,40,136,8,216,15,19,137,4, + 224,15,18,136,4,216,15,23,143,127,137,127,152,116,211,15, + 36,128,72,216,12,20,144,116,152,65,152,66,144,120,209,12, + 31,210,11,40,160,68,208,4,40,248,244,73,1,0,20,31, + 242,0,2,13,28,224,23,27,146,11,240,5,2,13,28,251, + 244,10,0,20,28,242,0,3,13,28,240,6,0,24,28,146, + 11,240,7,3,13,28,251,244,18,0,16,27,242,0,2,9, + 24,224,19,23,138,75,240,5,2,9,24,251,244,16,0,16, + 24,242,0,3,9,24,240,6,0,20,24,138,75,240,7,3, + 9,24,250,115,72,0,0,0,194,3,4,69,44,0,194,8, + 45,69,61,0,195,11,4,70,14,0,195,49,17,70,31,0, + 197,44,11,69,58,3,197,57,1,69,58,3,197,61,11,70, + 11,3,198,10,1,70,11,3,198,14,11,70,28,3,198,27, + 1,70,28,3,198,31,11,70,45,3,198,44,1,70,45,3, + 99,1,0,0,0,0,0,0,0,0,0,0,0,6,0,0, + 0,3,0,0,0,243,44,3,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,106,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,125,0,116,5,0,0,0,0,0,0,0,0, + 124,0,116,6,0,0,0,0,0,0,0,0,171,2,0,0, + 0,0,0,0,114,82,100,1,124,0,118,1,114,2,124,0, + 83,0,116,8,0,0,0,0,0,0,0,0,115,32,100,2, + 100,3,108,5,125,1,124,1,106,13,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,4,124,1, + 106,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,2,0,0,0,0,0,0,97,4,116,8, + 0,0,0,0,0,0,0,0,106,16,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,125,2,100,5, + 125,3,100,6,125,4,116,19,0,0,0,0,0,0,0,0, + 116,0,0,0,0,0,0,0,0,0,100,7,100,3,171,3, + 0,0,0,0,0,0,125,5,110,80,100,8,124,0,118,1, + 114,2,124,0,83,0,116,20,0,0,0,0,0,0,0,0, + 115,32,100,2,100,3,108,5,125,1,124,1,106,13,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,9,124,1,106,14,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,2,0,0,0,0,0,0, + 97,10,116,20,0,0,0,0,0,0,0,0,106,16,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 125,2,100,10,125,3,100,11,125,4,116,0,0,0,0,0, + 0,0,0,0,106,22,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,125,5,100,2,125,6,9,0, + 2,0,124,2,124,0,124,6,171,2,0,0,0,0,0,0, + 125,7,124,7,115,3,9,0,124,0,83,0,124,7,106,25, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,2,171,1,0,0,0,0,0,0,92,2,0,0, + 125,6,125,8,124,7,106,27,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,12,171,1,0,0, + 0,0,0,0,125,9,124,9,106,29,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,3,171,1, + 0,0,0,0,0,0,114,22,124,9,106,31,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,4, + 171,1,0,0,0,0,0,0,114,5,124,9,100,12,100,13, + 26,0,125,9,9,0,124,5,128,58,116,1,0,0,0,0, + 0,0,0,0,106,32,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,0,0,0,0,0,0,0, + 0,0,106,22,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,116,1,0,0,0,0,0,0,0,0, + 106,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,9,171,1,0,0,0,0,0,0,25,0, + 0,0,171,1,0,0,0,0,0,0,125,10,110,5,124,5, + 124,9,25,0,0,0,125,10,124,0,124,8,100,3,26,0, + 125,11,124,0,100,3,124,6,26,0,124,10,122,0,0,0, + 125,0,116,37,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,125,6,124,0,124,11,122,13,0,0, + 125,0,140,186,35,0,116,38,0,0,0,0,0,0,0,0, + 36,0,114,5,1,0,124,8,125,6,89,0,140,14,119,0, + 120,3,89,0,119,1,41,14,122,90,69,120,112,97,110,100, + 32,115,104,101,108,108,32,118,97,114,105,97,98,108,101,115, + 32,111,102,32,102,111,114,109,32,36,118,97,114,32,97,110, + 100,32,36,123,118,97,114,125,46,32,32,85,110,107,110,111, + 119,110,32,118,97,114,105,97,98,108,101,115,10,32,32,32, + 32,97,114,101,32,108,101,102,116,32,117,110,99,104,97,110, + 103,101,100,46,243,1,0,0,0,36,114,6,0,0,0,78, + 115,17,0,0,0,92,36,40,92,119,43,124,92,123,91,94, + 125,93,42,92,125,41,243,1,0,0,0,123,243,1,0,0, + 0,125,218,8,101,110,118,105,114,111,110,98,250,1,36,122, + 17,92,36,40,92,119,43,124,92,123,91,94,125,93,42,92, + 125,41,250,1,123,250,1,125,114,76,0,0,0,233,255,255, + 255,255,41,20,114,59,0,0,0,114,60,0,0,0,114,50, + 0,0,0,114,51,0,0,0,218,9,95,118,97,114,112,114, + 111,103,98,218,2,114,101,218,7,99,111,109,112,105,108,101, + 114,118,0,0,0,218,6,115,101,97,114,99,104,218,7,103, + 101,116,97,116,116,114,218,8,95,118,97,114,112,114,111,103, + 114,121,0,0,0,218,4,115,112,97,110,218,5,103,114,111, + 117,112,114,63,0,0,0,114,66,0,0,0,114,132,0,0, + 0,218,8,102,115,100,101,99,111,100,101,114,79,0,0,0, + 114,127,0,0,0,41,12,114,53,0,0,0,114,148,0,0, + 0,114,150,0,0,0,218,5,115,116,97,114,116,218,3,101, + 110,100,114,121,0,0,0,114,81,0,0,0,218,1,109,218, + 1,106,114,135,0,0,0,218,5,118,97,108,117,101,114,83, + 0,0,0,115,12,0,0,0,32,32,32,32,32,32,32,32, + 32,32,32,32,114,54,0,0,0,114,29,0,0,0,114,29, + 0,0,0,64,1,0,0,115,136,1,0,0,128,0,244,6, + 0,12,14,143,57,137,57,144,84,139,63,128,68,228,7,17, + 144,36,156,5,212,7,30,216,11,15,144,116,209,11,27,216, + 19,23,136,75,221,15,24,219,12,21,216,24,26,159,10,153, + 10,208,35,56,184,34,191,40,185,40,211,24,67,136,73,220, + 17,26,215,17,33,209,17,33,136,6,216,16,20,136,5,216, + 14,18,136,3,220,18,25,156,34,152,106,168,36,211,18,47, + 137,7,224,11,14,144,100,137,63,216,19,23,136,75,221,15, + 23,219,12,21,216,23,25,151,122,145,122,208,34,54,184,2, + 191,8,185,8,211,23,65,136,72,220,17,25,151,31,145,31, + 136,6,216,16,19,136,5,216,14,17,136,3,220,18,20,151, + 42,145,42,136,7,216,8,9,128,65,216,10,14,217,12,18, + 144,52,152,17,139,79,136,1,217,15,16,216,12,17,240,34, + 0,12,16,128,75,240,33,0,16,17,143,118,137,118,144,97, + 139,121,137,4,136,1,136,49,216,15,16,143,119,137,119,144, + 113,139,122,136,4,216,11,15,143,63,137,63,152,53,212,11, + 33,160,100,167,109,161,109,176,67,212,38,56,216,19,23,152, + 1,152,34,144,58,136,68,240,2,11,9,25,216,15,22,136, + 127,220,24,26,159,11,153,11,164,66,167,74,161,74,172,114, + 175,123,169,123,184,52,211,47,64,209,36,65,211,24,66,145, + 5,224,24,31,160,4,153,13,144,5,240,8,0,20,24,152, + 1,152,2,144,56,136,68,216,19,23,152,2,152,17,144,56, + 152,101,209,19,35,136,68,220,16,19,144,68,147,9,136,65, + 216,12,16,144,68,137,76,136,68,240,39,0,11,15,248,244, + 26,0,16,24,242,0,1,9,18,216,16,17,138,65,240,3, + 1,9,18,250,115,19,0,0,0,196,38,65,1,70,5,0, + 198,5,11,70,19,3,198,18,1,70,19,3,41,1,218,14, + 95,112,97,116,104,95,110,111,114,109,112,97,116,104,99,1, + 0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,3, + 0,0,0,243,212,0,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,106,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,125,0,116,5,0,0,0,0,0,0,0,0,124,0, + 116,6,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,114,53,116,1,0,0,0,0,0,0,0,0,106,8, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,11,0,0,0,0,0,0,0,0,116,1,0,0, + 0,0,0,0,0,0,106,12,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,120,1,115,2,1,0,100,1,83,0,116,11, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,120,1,115,2,1,0,100,2,83,0,41,3,250,48, + 78,111,114,109,97,108,105,122,101,32,112,97,116,104,44,32, + 101,108,105,109,105,110,97,116,105,110,103,32,100,111,117,98, + 108,101,32,115,108,97,115,104,101,115,44,32,101,116,99,46, + 114,85,0,0,0,114,2,0,0,0,41,7,114,59,0,0, + 0,114,60,0,0,0,114,50,0,0,0,114,51,0,0,0, + 114,132,0,0,0,114,161,0,0,0,114,155,0,0,0,114, + 52,0,0,0,115,1,0,0,0,32,114,54,0,0,0,114, + 30,0,0,0,114,30,0,0,0,152,1,0,0,115,75,0, + 0,0,128,0,228,15,17,143,121,137,121,152,20,139,127,136, + 4,220,11,21,144,100,156,69,212,11,34,220,19,21,151,59, + 145,59,156,126,172,98,175,107,169,107,184,36,211,46,63,211, + 31,64,211,19,65,210,19,73,192,84,208,12,73,220,15,29, + 152,100,211,15,35,210,15,42,160,115,208,8,42,114,56,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,3,0,0,0,243,132,1,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,125,0,116,5,0,0,0,0,0,0, + 0,0,124,0,116,6,0,0,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,114,9,100,1,125,1,100,2,125,2, + 100,3,125,3,100,4,125,4,110,8,100,5,125,1,100,6, + 125,2,100,7,125,3,100,8,125,4,124,0,124,2,107,40, + 0,0,114,2,124,3,83,0,116,9,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,92,3,0,0, + 125,5,125,6,125,0,124,0,106,11,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,1,171,1, + 0,0,0,0,0,0,125,7,103,0,125,8,124,7,68,0, + 93,65,0,0,125,9,124,9,124,2,124,3,102,2,118,0, + 114,1,140,10,124,9,124,4,107,55,0,0,115,14,124,6, + 115,2,124,8,114,10,124,8,114,26,124,8,100,9,25,0, + 0,0,124,4,107,40,0,0,114,18,124,8,106,13,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,9,171,1,0,0,0,0,0,0,1,0,140,47,124,8, + 115,1,140,50,124,8,106,15,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,1,0,140,67,4,0,124,8,125,7,124,6,124,1, + 106,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,7,171,1,0,0,0,0,0,0,122,0, + 0,0,125,0,124,0,120,1,115,2,1,0,124,3,83,0, + 41,10,114,163,0,0,0,114,49,0,0,0,114,56,0,0, + 0,114,85,0,0,0,114,101,0,0,0,114,4,0,0,0, + 114,89,0,0,0,114,2,0,0,0,114,3,0,0,0,114, + 146,0,0,0,41,9,114,59,0,0,0,114,60,0,0,0, + 114,50,0,0,0,114,51,0,0,0,114,12,0,0,0,114, + 13,0,0,0,218,6,97,112,112,101,110,100,218,3,112,111, + 112,114,10,0,0,0,41,10,114,53,0,0,0,114,37,0, + 0,0,114,92,0,0,0,218,3,100,111,116,218,6,100,111, + 116,100,111,116,218,1,95,218,15,105,110,105,116,105,97,108, + 95,115,108,97,115,104,101,115,218,5,99,111,109,112,115,218, + 9,110,101,119,95,99,111,109,112,115,218,4,99,111,109,112, + 115,10,0,0,0,32,32,32,32,32,32,32,32,32,32,114, + 54,0,0,0,114,30,0,0,0,114,30,0,0,0,121,1, + 0,0,115,227,0,0,0,128,0,228,15,17,143,121,137,121, + 152,20,139,127,136,4,220,11,21,144,100,156,69,212,11,34, + 216,18,22,136,67,216,20,23,136,69,216,18,22,136,67,216, + 21,26,137,70,224,18,21,136,67,216,20,22,136,69,216,18, + 21,136,67,216,21,25,136,70,216,11,15,144,53,138,61,216, + 19,22,136,74,220,35,44,168,84,163,63,209,8,32,136,1, + 136,63,152,68,216,16,20,151,10,145,10,152,51,147,15,136, + 5,216,20,22,136,9,216,20,25,242,0,7,9,32,136,68, + 216,15,19,152,5,152,115,144,124,209,15,35,216,16,24,216, + 16,20,152,6,146,14,161,127,185,121,217,18,27,160,9,168, + 34,161,13,176,22,210,32,55,216,16,25,215,16,32,209,16, + 32,160,20,213,16,38,218,17,26,216,16,25,151,13,145,13, + 149,15,240,15,7,9,32,240,16,0,17,26,136,5,216,15, + 30,160,19,167,24,161,24,168,37,163,31,209,15,48,136,4, + 216,15,19,138,123,144,115,208,8,26,114,56,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,226,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,125,0,116,5,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,115,69,116,7,0,0,0, + 0,0,0,0,0,124,0,116,8,0,0,0,0,0,0,0, + 0,171,2,0,0,0,0,0,0,114,21,116,1,0,0,0, + 0,0,0,0,0,106,10,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,125,1,110,20,116,1,0,0,0,0,0,0,0,0,106, + 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,125,1,116,15,0, + 0,0,0,0,0,0,0,124,1,124,0,171,2,0,0,0, + 0,0,0,125,0,116,17,0,0,0,0,0,0,0,0,124, + 0,171,1,0,0,0,0,0,0,83,0,41,1,122,24,82, + 101,116,117,114,110,32,97,110,32,97,98,115,111,108,117,116, + 101,32,112,97,116,104,46,41,9,114,59,0,0,0,114,60, + 0,0,0,114,9,0,0,0,114,50,0,0,0,114,51,0, + 0,0,218,7,103,101,116,99,119,100,98,218,6,103,101,116, + 99,119,100,114,10,0,0,0,114,30,0,0,0,41,2,114, + 53,0,0,0,218,3,99,119,100,115,2,0,0,0,32,32, + 114,54,0,0,0,114,31,0,0,0,114,31,0,0,0,160, + 1,0,0,115,75,0,0,0,128,0,228,11,13,143,57,137, + 57,144,84,139,63,128,68,220,11,16,144,20,140,59,220,11, + 21,144,100,156,69,212,11,34,220,18,20,151,42,145,42,147, + 44,137,67,228,18,20,151,41,145,41,147,43,136,67,220,15, + 19,144,67,152,20,139,127,136,4,220,11,19,144,68,139,62, + 208,4,25,114,56,0,0,0,70,41,1,218,6,115,116,114, + 105,99,116,99,1,0,0,0,0,0,0,0,1,0,0,0, + 6,0,0,0,3,0,0,0,243,106,0,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,125,0,116,5,0,0,0,0,0, + 0,0,0,124,0,100,1,100,2,26,0,124,0,124,1,105, + 0,171,4,0,0,0,0,0,0,92,2,0,0,125,2,125, + 3,116,7,0,0,0,0,0,0,0,0,124,2,171,1,0, + 0,0,0,0,0,83,0,41,3,122,108,82,101,116,117,114, + 110,32,116,104,101,32,99,97,110,111,110,105,99,97,108,32, + 112,97,116,104,32,111,102,32,116,104,101,32,115,112,101,99, + 105,102,105,101,100,32,102,105,108,101,110,97,109,101,44,32, + 101,108,105,109,105,110,97,116,105,110,103,32,97,110,121,10, + 115,121,109,98,111,108,105,99,32,108,105,110,107,115,32,101, + 110,99,111,117,110,116,101,114,101,100,32,105,110,32,116,104, + 101,32,112,97,116,104,46,78,114,6,0,0,0,41,4,114, + 59,0,0,0,114,60,0,0,0,218,13,95,106,111,105,110, + 114,101,97,108,112,97,116,104,114,31,0,0,0,41,4,218, + 8,102,105,108,101,110,97,109,101,114,178,0,0,0,114,53, + 0,0,0,218,2,111,107,115,4,0,0,0,32,32,32,32, + 114,54,0,0,0,114,43,0,0,0,114,43,0,0,0,175, + 1,0,0,115,54,0,0,0,128,0,244,6,0,16,18,143, + 121,137,121,152,24,211,15,34,128,72,220,15,28,152,88,160, + 98,160,113,152,92,168,56,176,86,184,82,211,15,64,129,72, + 128,68,136,34,220,11,18,144,52,139,61,208,4,24,114,56, + 0,0,0,99,4,0,0,0,0,0,0,0,0,0,0,0, + 6,0,0,0,3,0,0,0,243,154,2,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,124,0,116,2,0,0,0, + 0,0,0,0,0,171,2,0,0,0,0,0,0,114,7,100, + 1,125,4,100,2,125,5,100,3,125,6,110,6,100,4,125, + 4,100,5,125,5,100,6,125,6,116,5,0,0,0,0,0, + 0,0,0,124,1,171,1,0,0,0,0,0,0,114,7,124, + 1,100,7,100,0,26,0,125,1,124,4,125,0,124,1,144, + 1,114,2,124,1,106,7,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,4,171,1,0,0,0, + 0,0,0,92,3,0,0,125,7,125,8,125,1,124,7,114, + 5,124,7,124,5,107,40,0,0,114,1,140,32,124,7,124, + 6,107,40,0,0,114,38,124,0,114,33,116,9,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,92, + 2,0,0,125,0,125,7,124,7,124,6,107,40,0,0,114, + 16,116,11,0,0,0,0,0,0,0,0,124,0,124,6,124, + 6,171,3,0,0,0,0,0,0,125,0,110,2,124,6,125, + 0,140,75,116,11,0,0,0,0,0,0,0,0,124,0,124, + 7,171,2,0,0,0,0,0,0,125,9,9,0,116,13,0, + 0,0,0,0,0,0,0,106,14,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,9,171,1,0, + 0,0,0,0,0,125,10,116,17,0,0,0,0,0,0,0, + 0,106,18,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,10,106,20,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,171,1,0,0,0, + 0,0,0,125,11,124,11,115,3,124,9,125,0,140,145,124, + 9,124,3,118,0,114,46,124,3,124,9,25,0,0,0,125, + 0,124,0,129,1,140,157,124,2,114,22,116,13,0,0,0, + 0,0,0,0,0,106,16,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,9,171,1,0,0,0, + 0,0,0,1,0,110,14,116,11,0,0,0,0,0,0,0, + 0,124,9,124,1,171,2,0,0,0,0,0,0,100,8,102, + 2,83,0,100,0,124,3,124,9,60,0,0,0,116,25,0, + 0,0,0,0,0,0,0,124,0,116,13,0,0,0,0,0, + 0,0,0,106,26,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,9,171,1,0,0,0,0,0, + 0,124,2,124,3,171,4,0,0,0,0,0,0,92,2,0, + 0,125,0,125,12,124,12,115,14,116,11,0,0,0,0,0, + 0,0,0,124,0,124,1,171,2,0,0,0,0,0,0,100, + 8,102,2,83,0,124,0,124,3,124,9,60,0,0,0,124, + 1,114,2,144,1,140,2,124,0,100,9,102,2,83,0,35, + 0,116,22,0,0,0,0,0,0,0,0,36,0,114,8,1, + 0,124,2,114,1,130,0,100,8,125,11,89,0,140,141,119, + 0,120,3,89,0,119,1,41,10,78,114,49,0,0,0,114, + 85,0,0,0,114,101,0,0,0,114,4,0,0,0,114,2, + 0,0,0,114,3,0,0,0,114,76,0,0,0,70,84,41, + 14,114,50,0,0,0,114,51,0,0,0,114,9,0,0,0, + 218,9,112,97,114,116,105,116,105,111,110,114,13,0,0,0, + 114,10,0,0,0,114,59,0,0,0,114,97,0,0,0,114, + 102,0,0,0,114,103,0,0,0,114,104,0,0,0,114,98, + 0,0,0,114,180,0,0,0,218,8,114,101,97,100,108,105, + 110,107,41,13,114,53,0,0,0,218,4,114,101,115,116,114, + 178,0,0,0,218,4,115,101,101,110,114,37,0,0,0,114, + 35,0,0,0,114,36,0,0,0,114,135,0,0,0,114,169, + 0,0,0,218,7,110,101,119,112,97,116,104,218,2,115,116, + 218,7,105,115,95,108,105,110,107,114,182,0,0,0,115,13, + 0,0,0,32,32,32,32,32,32,32,32,32,32,32,32,32, + 114,54,0,0,0,114,180,0,0,0,114,180,0,0,0,184, + 1,0,0,115,133,1,0,0,128,0,220,7,17,144,36,156, + 5,212,7,30,216,14,18,136,3,216,17,21,136,6,216,17, + 22,137,6,224,14,17,136,3,216,17,20,136,6,216,17,21, + 136,6,228,7,12,136,84,132,123,216,15,19,144,65,144,66, + 136,120,136,4,216,15,18,136,4,226,10,14,216,24,28,159, + 14,153,14,160,115,211,24,43,137,13,136,4,136,97,144,20, + 217,15,19,144,116,152,118,146,126,224,12,20,216,11,15,144, + 54,138,62,225,15,19,220,29,34,160,52,155,91,145,10,144, + 4,144,100,216,19,23,152,54,146,62,220,27,31,160,4,160, + 102,168,102,211,27,53,145,68,224,23,29,144,4,216,12,20, + 220,18,22,144,116,152,84,211,18,34,136,7,240,2,7,9, + 47,220,17,19,151,24,145,24,152,39,211,17,34,136,66,244, + 12,0,23,27,151,108,145,108,160,50,167,58,161,58,211,22, + 46,136,71,217,15,22,216,19,26,136,68,216,12,20,224,11, + 18,144,100,137,63,224,19,23,152,7,145,61,136,68,216,15, + 19,208,15,31,224,16,24,225,15,21,228,16,18,151,7,145, + 7,152,7,213,16,32,244,6,0,24,28,152,71,160,84,211, + 23,42,168,69,208,23,49,208,16,49,216,24,28,136,4,136, + 87,137,13,220,19,32,160,20,164,114,167,123,161,123,176,55, + 211,39,59,184,86,192,84,211,19,74,137,8,136,4,136,98, + 217,15,17,220,19,23,152,4,152,100,211,19,35,160,85,208, + 19,42,208,12,42,216,24,28,136,4,136,87,137,13,243,89, + 1,0,11,15,240,92,1,0,12,16,144,20,136,58,208,4, + 21,248,244,59,0,16,23,242,0,3,9,28,217,15,21,216, + 16,21,216,22,27,138,71,240,7,3,9,28,250,115,18,0, + 0,0,194,8,21,68,57,0,196,57,14,69,10,3,197,9, + 1,69,10,3,218,6,100,97,114,119,105,110,99,2,0,0, + 0,0,0,0,0,0,0,0,0,6,0,0,0,3,0,0, + 0,243,80,2,0,0,151,0,124,0,115,11,116,1,0,0, + 0,0,0,0,0,0,100,1,171,1,0,0,0,0,0,0, + 130,1,116,3,0,0,0,0,0,0,0,0,106,4,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,0,116,7,0,0, + 0,0,0,0,0,0,124,0,116,8,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,114,7,100,2,125,2, + 100,3,125,3,100,4,125,4,110,6,100,5,125,2,100,6, + 125,3,100,7,125,4,124,1,128,3,124,2,125,1,110,21, + 116,3,0,0,0,0,0,0,0,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 171,1,0,0,0,0,0,0,125,1,9,0,116,11,0,0, + 0,0,0,0,0,0,124,1,171,1,0,0,0,0,0,0, + 106,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,3,171,1,0,0,0,0,0,0,68,0, + 143,5,99,2,103,0,99,2,93,7,0,0,125,5,124,5, + 115,1,140,6,124,5,145,2,140,9,4,0,125,6,125,5, + 116,11,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,106,13,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,3,171,1,0,0,0,0, + 0,0,68,0,143,5,99,2,103,0,99,2,93,7,0,0, + 125,5,124,5,115,1,140,6,124,5,145,2,140,9,4,0, + 125,7,125,5,116,15,0,0,0,0,0,0,0,0,116,17, + 0,0,0,0,0,0,0,0,124,6,124,7,103,2,171,1, + 0,0,0,0,0,0,171,1,0,0,0,0,0,0,125,8, + 124,4,103,1,116,15,0,0,0,0,0,0,0,0,124,6, + 171,1,0,0,0,0,0,0,124,8,122,10,0,0,122,5, + 0,0,124,7,124,8,100,8,26,0,122,0,0,0,125,9, + 124,9,115,2,124,2,83,0,116,19,0,0,0,0,0,0, + 0,0,124,9,142,0,83,0,99,2,1,0,99,2,125,5, + 119,0,99,2,1,0,99,2,125,5,119,0,35,0,116,20, + 0,0,0,0,0,0,0,0,116,22,0,0,0,0,0,0, + 0,0,116,24,0,0,0,0,0,0,0,0,116,26,0,0, + 0,0,0,0,0,0,102,4,36,0,114,25,1,0,116,29, + 0,0,0,0,0,0,0,0,106,30,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,9,124,0, + 124,1,171,3,0,0,0,0,0,0,1,0,130,0,119,0, + 120,3,89,0,119,1,41,10,122,35,82,101,116,117,114,110, + 32,97,32,114,101,108,97,116,105,118,101,32,118,101,114,115, + 105,111,110,32,111,102,32,97,32,112,97,116,104,122,17,110, + 111,32,112,97,116,104,32,115,112,101,99,105,102,105,101,100, + 114,85,0,0,0,114,49,0,0,0,114,101,0,0,0,114, + 2,0,0,0,114,4,0,0,0,114,3,0,0,0,78,114, + 45,0,0,0,41,16,114,99,0,0,0,114,59,0,0,0, + 114,60,0,0,0,114,50,0,0,0,114,51,0,0,0,114, + 31,0,0,0,114,13,0,0,0,114,79,0,0,0,114,17, + 0,0,0,114,10,0,0,0,114,67,0,0,0,114,68,0, + 0,0,114,69,0,0,0,218,18,68,101,112,114,101,99,97, + 116,105,111,110,87,97,114,110,105,110,103,114,70,0,0,0, + 114,71,0,0,0,41,10,114,53,0,0,0,114,156,0,0, + 0,114,35,0,0,0,114,37,0,0,0,114,36,0,0,0, + 218,1,120,218,10,115,116,97,114,116,95,108,105,115,116,218, + 9,112,97,116,104,95,108,105,115,116,114,81,0,0,0,218, + 8,114,101,108,95,108,105,115,116,115,10,0,0,0,32,32, + 32,32,32,32,32,32,32,32,114,54,0,0,0,114,45,0, + 0,0,114,45,0,0,0,249,1,0,0,115,44,1,0,0, + 128,0,241,6,0,12,16,220,14,24,208,25,44,211,14,45, + 208,8,45,228,11,13,143,57,137,57,144,84,139,63,128,68, + 220,7,17,144,36,156,5,212,7,30,216,17,21,136,6,216, + 14,18,136,3,216,17,22,137,6,224,17,20,136,6,216,14, + 17,136,3,216,17,21,136,6,224,7,12,128,125,216,16,22, + 137,5,228,16,18,151,9,145,9,152,37,211,16,32,136,5, + 240,4,12,5,14,220,33,40,168,21,163,30,215,33,53,209, + 33,53,176,99,211,33,58,214,21,64,152,65,186,97,146,97, + 208,21,64,136,10,208,21,64,220,32,39,168,4,163,13,215, + 32,51,209,32,51,176,67,211,32,56,214,20,62,152,49,186, + 65,146,81,208,20,62,136,9,208,20,62,228,12,15,148,12, + 152,106,168,41,208,29,52,211,16,53,211,12,54,136,1,224, + 20,26,144,56,156,115,160,58,155,127,168,113,209,31,48,209, + 19,49,176,73,184,97,184,98,176,77,209,19,65,136,8,217, + 15,23,216,19,25,136,77,220,15,19,144,88,136,127,208,8, + 30,249,242,17,0,22,65,1,249,218,20,62,248,244,16,0, + 13,22,148,126,164,124,212,53,71,208,11,72,242,0,2,5, + 14,220,8,19,215,8,36,209,8,36,160,89,176,4,176,101, + 212,8,60,216,8,13,240,5,2,5,14,250,115,60,0,0, + 0,193,27,28,67,51,0,193,55,7,67,41,4,193,63,4, + 67,41,4,194,3,30,67,51,0,194,33,7,67,46,4,194, + 41,4,67,46,4,194,45,51,67,51,0,195,33,7,67,51, + 0,195,41,10,67,51,0,195,51,50,68,37,3,99,1,0, + 0,0,0,0,0,0,0,0,0,0,9,0,0,0,3,0, + 0,0,243,172,2,0,0,135,12,151,0,124,0,115,11,116, + 1,0,0,0,0,0,0,0,0,100,1,171,1,0,0,0, + 0,0,0,130,1,116,3,0,0,0,0,0,0,0,0,116, + 5,0,0,0,0,0,0,0,0,116,6,0,0,0,0,0, + 0,0,0,106,8,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,0,171,2,0,0,0,0,0, + 0,171,1,0,0,0,0,0,0,125,0,116,11,0,0,0, + 0,0,0,0,0,124,0,100,2,25,0,0,0,116,12,0, + 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,114, + 5,100,3,138,12,100,4,125,1,110,4,100,5,138,12,100, + 6,125,1,9,0,124,0,68,0,143,2,99,2,103,0,99, + 2,93,19,0,0,125,2,124,2,106,15,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,137,12,171, + 1,0,0,0,0,0,0,145,2,140,21,4,0,125,3,125, + 2,9,0,116,17,0,0,0,0,0,0,0,0,136,12,102, + 1,100,7,132,8,124,0,68,0,171,0,0,0,0,0,0, + 0,171,1,0,0,0,0,0,0,92,1,0,0,125,4,124, + 3,68,0,143,5,143,6,99,3,103,0,99,2,93,27,0, + 0,125,5,124,5,68,0,143,6,99,2,103,0,99,2,93, + 13,0,0,125,6,124,6,115,1,140,6,124,6,124,1,107, + 55,0,0,115,1,140,12,124,6,145,2,140,15,4,0,99, + 2,125,6,145,2,140,29,4,0,125,3,125,5,125,6,116, + 19,0,0,0,0,0,0,0,0,124,3,171,1,0,0,0, + 0,0,0,125,7,116,21,0,0,0,0,0,0,0,0,124, + 3,171,1,0,0,0,0,0,0,125,8,124,7,125,9,116, + 23,0,0,0,0,0,0,0,0,124,7,171,1,0,0,0, + 0,0,0,68,0,93,20,0,0,92,2,0,0,125,10,125, + 6,124,6,124,8,124,10,25,0,0,0,107,55,0,0,115, + 1,140,15,124,7,100,9,124,10,26,0,125,9,1,0,110, + 1,4,0,124,4,114,2,137,12,110,4,137,12,100,9,100, + 2,26,0,125,11,124,11,137,12,106,25,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,9,171, + 1,0,0,0,0,0,0,122,0,0,0,83,0,99,2,1, + 0,99,2,125,2,119,0,35,0,116,0,0,0,0,0,0, + 0,0,0,36,0,114,13,1,0,116,1,0,0,0,0,0, + 0,0,0,100,8,171,1,0,0,0,0,0,0,100,9,130, + 2,119,0,120,3,89,0,119,1,99,2,1,0,99,2,125, + 6,119,0,99,2,1,0,99,3,125,6,125,5,119,0,35, + 0,116,26,0,0,0,0,0,0,0,0,116,28,0,0,0, + 0,0,0,0,0,102,2,36,0,114,24,1,0,116,31,0, + 0,0,0,0,0,0,0,106,32,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,10,103,1,124, + 0,162,1,173,6,142,0,1,0,130,0,119,0,120,3,89, + 0,119,1,41,11,122,68,71,105,118,101,110,32,97,32,115, + 101,113,117,101,110,99,101,32,111,102,32,112,97,116,104,32, + 110,97,109,101,115,44,32,114,101,116,117,114,110,115,32,116, + 104,101,32,108,111,110,103,101,115,116,32,99,111,109,109,111, + 110,32,115,117,98,45,112,97,116,104,46,122,37,99,111,109, + 109,111,110,112,97,116,104,40,41,32,97,114,103,32,105,115, + 32,97,110,32,101,109,112,116,121,32,115,101,113,117,101,110, + 99,101,114,6,0,0,0,114,49,0,0,0,114,85,0,0, + 0,114,4,0,0,0,114,2,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,51,0,0,0, + 243,46,0,0,0,149,1,75,0,1,0,151,0,124,0,93, + 12,0,0,125,1,124,1,100,0,100,1,26,0,137,2,107, + 40,0,0,150,1,151,1,1,0,140,14,4,0,121,0,173, + 3,119,1,41,2,78,114,76,0,0,0,169,0,41,3,218, + 2,46,48,114,73,0,0,0,114,37,0,0,0,115,3,0, + 0,0,32,32,128,114,54,0,0,0,250,9,60,103,101,110, + 101,120,112,114,62,122,29,99,111,109,109,111,110,112,97,116, + 104,46,60,108,111,99,97,108,115,62,46,60,103,101,110,101, + 120,112,114,62,52,2,0,0,115,27,0,0,0,248,232,0, + 248,128,0,210,24,53,168,33,152,17,152,50,152,65,152,21, + 160,35,157,28,209,24,53,249,115,4,0,0,0,131,18,21, + 1,122,37,67,97,110,39,116,32,109,105,120,32,97,98,115, + 111,108,117,116,101,32,97,110,100,32,114,101,108,97,116,105, + 118,101,32,112,97,116,104,115,78,114,46,0,0,0,41,17, + 114,99,0,0,0,218,5,116,117,112,108,101,114,65,0,0, + 0,114,59,0,0,0,114,60,0,0,0,114,50,0,0,0, + 114,51,0,0,0,114,13,0,0,0,218,3,115,101,116,218, + 3,109,105,110,218,3,109,97,120,218,9,101,110,117,109,101, + 114,97,116,101,114,10,0,0,0,114,67,0,0,0,114,68, + 0,0,0,114,70,0,0,0,114,71,0,0,0,41,13,218, + 5,112,97,116,104,115,114,35,0,0,0,114,53,0,0,0, + 218,11,115,112,108,105,116,95,112,97,116,104,115,114,9,0, + 0,0,114,61,0,0,0,218,1,99,114,107,0,0,0,114, + 109,0,0,0,218,6,99,111,109,109,111,110,114,81,0,0, + 0,218,6,112,114,101,102,105,120,114,37,0,0,0,115,13, + 0,0,0,32,32,32,32,32,32,32,32,32,32,32,32,64, + 114,54,0,0,0,114,46,0,0,0,114,46,0,0,0,34, + 2,0,0,115,116,1,0,0,248,128,0,241,6,0,12,17, + 220,14,24,208,25,64,211,14,65,208,8,65,228,12,17,148, + 35,148,98,151,105,145,105,160,21,211,18,39,211,12,40,128, + 69,220,7,17,144,37,152,1,145,40,156,69,212,7,34,216, + 14,18,136,3,216,17,21,137,6,224,14,17,136,3,216,17, + 20,136,6,240,4,21,5,14,216,51,56,214,22,57,168,52, + 144,116,151,122,145,122,160,35,149,127,208,22,57,136,11,208, + 22,57,240,4,3,9,80,1,220,21,24,211,24,53,168,117, + 212,24,53,211,21,53,137,70,136,69,240,8,0,69,1,80, + 1,215,22,80,184,113,160,49,214,23,58,152,97,170,1,168, + 97,176,54,171,107,154,1,212,23,58,208,22,80,136,11,209, + 22,80,220,13,16,144,27,211,13,29,136,2,220,13,16,144, + 27,211,13,29,136,2,216,17,19,136,6,220,20,29,152,98, + 147,77,242,0,3,9,22,137,68,136,65,136,113,216,15,16, + 144,66,144,113,145,69,139,122,216,25,27,152,66,152,81,152, + 22,144,6,217,16,21,240,7,3,9,22,241,10,0,25,30, + 145,19,160,51,160,114,168,1,160,55,136,6,216,15,21,152, + 3,159,8,153,8,160,22,211,24,40,209,15,40,208,8,40, + 249,242,35,0,23,58,248,244,8,0,16,26,242,0,1,9, + 80,1,220,18,28,208,29,68,211,18,69,200,52,208,12,79, + 240,3,1,9,80,1,252,242,6,0,24,59,249,211,22,80, + 248,244,22,0,13,22,148,126,208,11,38,242,0,2,5,14, + 220,8,19,215,8,36,209,8,36,160,92,208,8,58,176,69, + 211,8,58,216,8,13,240,5,2,5,14,250,115,108,0,0, + 0,193,15,4,68,44,0,193,19,24,68,3,4,193,43,2, + 68,44,0,193,46,22,68,8,0,194,4,5,68,44,0,194, + 9,9,68,38,6,194,18,7,68,33,12,194,26,5,68,33, + 12,194,32,4,68,33,12,194,36,5,68,38,6,194,41,52, + 68,44,0,195,30,36,68,44,0,196,3,5,68,44,0,196, + 8,22,68,30,3,196,30,3,68,44,0,196,33,5,68,38, + 6,196,38,6,68,44,0,196,44,39,69,19,3,41,1,78, + 41,43,218,7,95,95,100,111,99,95,95,114,35,0,0,0, + 114,36,0,0,0,114,41,0,0,0,114,37,0,0,0,114, + 38,0,0,0,114,39,0,0,0,114,40,0,0,0,114,42, + 0,0,0,114,59,0,0,0,114,130,0,0,0,114,102,0, + 0,0,114,70,0,0,0,218,7,95,95,97,108,108,95,95, + 114,55,0,0,0,114,8,0,0,0,114,9,0,0,0,114, + 10,0,0,0,114,13,0,0,0,114,14,0,0,0,114,86, + 0,0,0,114,11,0,0,0,114,12,0,0,0,114,15,0, + 0,0,114,16,0,0,0,114,47,0,0,0,114,24,0,0, + 0,114,27,0,0,0,114,28,0,0,0,114,152,0,0,0, + 114,147,0,0,0,114,29,0,0,0,218,5,112,111,115,105, + 120,114,161,0,0,0,114,30,0,0,0,114,123,0,0,0, + 114,31,0,0,0,114,43,0,0,0,114,180,0,0,0,114, + 131,0,0,0,114,44,0,0,0,114,45,0,0,0,114,46, + 0,0,0,114,200,0,0,0,114,56,0,0,0,114,54,0, + 0,0,250,8,60,109,111,100,117,108,101,62,114,216,0,0, + 0,1,0,0,0,115,16,1,0,0,240,3,1,1,1,241, + 2,10,1,4,240,30,0,10,13,128,6,216,9,13,128,6, + 216,9,12,128,6,216,6,9,128,3,216,10,13,128,7,216, + 10,25,128,7,216,9,13,128,6,216,10,21,128,7,227,0, + 9,219,0,10,219,0,11,219,0,18,220,0,25,242,4,7, + 11,39,128,7,242,20,4,1,19,242,22,2,1,24,242,16, + 4,1,29,242,22,21,1,16,242,58,9,1,22,242,34,8, + 1,55,240,18,0,20,31,215,19,40,209,19,40,215,19,48, + 209,19,48,128,8,212,0,16,242,10,4,1,20,242,14,26, + 1,35,242,62,5,1,17,242,20,8,1,16,242,26,4,1, + 17,242,18,6,1,16,242,24,31,1,17,242,86,1,54,1, + 41,240,122,1,0,12,16,128,8,216,12,16,128,9,242,4, + 46,1,16,240,106,1,40,1,43,221,4,36,242,68,1,5, + 5,43,242,16,9,1,26,240,30,0,34,39,244,0,5,1, + 25,242,18,60,1,22,240,126,1,0,31,34,159,108,153,108, + 168,104,209,30,54,208,0,26,243,4,33,1,14,243,82,1, + 35,1,14,248,240,85,5,0,8,19,242,0,29,1,27,244, + 2,28,5,27,240,3,29,1,27,250,115,18,0,0,0,193, + 57,6,66,37,0,194,37,8,66,48,3,194,47,1,66,48, + 3, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/runpy.h b/contrib/tools/python3/src/Python/frozen_modules/runpy.h new file mode 100644 index 00000000000..c192f57021d --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/runpy.h @@ -0,0 +1,901 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__runpy[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,0,0,0,0,243,128,1,0,0,151,0,100,0,90,0, + 100,1,100,2,108,1,90,1,100,1,100,2,108,2,90,3, + 100,1,100,2,108,4,90,3,100,1,100,2,108,5,90,5, + 100,1,100,2,108,6,90,6,100,3,100,4,103,2,90,7, + 2,0,101,8,101,1,171,1,0,0,0,0,0,0,90,9, + 2,0,71,0,100,5,132,0,100,6,101,10,171,3,0,0, + 0,0,0,0,90,11,2,0,71,0,100,7,132,0,100,8, + 101,10,171,3,0,0,0,0,0,0,90,12,9,0,9,0, + 9,0,100,23,100,9,132,1,90,13,9,0,9,0,9,0, + 100,23,100,10,132,1,90,14,101,15,102,1,100,11,132,1, + 90,16,2,0,71,0,100,12,132,0,100,13,101,17,171,3, + 0,0,0,0,0,0,90,18,100,24,100,14,132,1,90,19, + 9,0,9,0,100,25,100,15,132,1,90,20,101,15,102,1, + 100,16,132,1,90,21,100,17,132,0,90,22,100,26,100,18, + 132,1,90,23,101,24,100,19,107,40,0,0,114,77,2,0, + 101,25,101,1,106,52,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,1,0,0,0,0,0,0, + 100,20,107,2,0,0,114,21,2,0,101,27,100,21,101,1, + 106,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,172,22,171,2,0,0,0,0,0,0,1,0, + 121,2,101,1,106,52,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,1,61,0,2,0,101,19, + 101,1,106,52,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,1,25,0,0,0,171,1,0,0, + 0,0,0,0,1,0,121,2,121,2,41,27,97,90,1,0, + 0,114,117,110,112,121,46,112,121,32,45,32,108,111,99,97, + 116,105,110,103,32,97,110,100,32,114,117,110,110,105,110,103, + 32,80,121,116,104,111,110,32,99,111,100,101,32,117,115,105, + 110,103,32,116,104,101,32,109,111,100,117,108,101,32,110,97, + 109,101,115,112,97,99,101,10,10,80,114,111,118,105,100,101, + 115,32,115,117,112,112,111,114,116,32,102,111,114,32,108,111, + 99,97,116,105,110,103,32,97,110,100,32,114,117,110,110,105, + 110,103,32,80,121,116,104,111,110,32,115,99,114,105,112,116, + 115,32,117,115,105,110,103,32,116,104,101,32,80,121,116,104, + 111,110,10,109,111,100,117,108,101,32,110,97,109,101,115,112, + 97,99,101,32,105,110,115,116,101,97,100,32,111,102,32,116, + 104,101,32,110,97,116,105,118,101,32,102,105,108,101,115,121, + 115,116,101,109,46,10,10,84,104,105,115,32,97,108,108,111, + 119,115,32,80,121,116,104,111,110,32,99,111,100,101,32,116, + 111,32,112,108,97,121,32,110,105,99,101,108,121,32,119,105, + 116,104,32,110,111,110,45,102,105,108,101,115,121,115,116,101, + 109,32,98,97,115,101,100,32,80,69,80,32,51,48,50,10, + 105,109,112,111,114,116,101,114,115,32,119,104,101,110,32,108, + 111,99,97,116,105,110,103,32,115,117,112,112,111,114,116,32, + 115,99,114,105,112,116,115,32,97,115,32,119,101,108,108,32, + 97,115,32,119,104,101,110,32,105,109,112,111,114,116,105,110, + 103,32,109,111,100,117,108,101,115,46,10,233,0,0,0,0, + 78,218,10,114,117,110,95,109,111,100,117,108,101,218,8,114, + 117,110,95,112,97,116,104,99,0,0,0,0,0,0,0,0, + 0,0,0,0,1,0,0,0,0,0,0,0,243,34,0,0, + 0,151,0,101,0,90,1,100,0,90,2,100,1,90,3,100, + 2,132,0,90,4,100,3,132,0,90,5,100,4,132,0,90, + 6,121,5,41,6,218,11,95,84,101,109,112,77,111,100,117, + 108,101,122,67,84,101,109,112,111,114,97,114,105,108,121,32, + 114,101,112,108,97,99,101,32,97,32,109,111,100,117,108,101, + 32,105,110,32,115,121,115,46,109,111,100,117,108,101,115,32, + 119,105,116,104,32,97,110,32,101,109,112,116,121,32,110,97, + 109,101,115,112,97,99,101,99,2,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,3,0,0,0,243,64,0,0, + 0,151,0,124,1,124,0,95,0,0,0,0,0,0,0,0, + 0,116,3,0,0,0,0,0,0,0,0,124,1,171,1,0, + 0,0,0,0,0,124,0,95,2,0,0,0,0,0,0,0, + 0,103,0,124,0,95,3,0,0,0,0,0,0,0,0,121, + 0,169,1,78,41,4,218,8,109,111,100,95,110,97,109,101, + 218,10,77,111,100,117,108,101,84,121,112,101,218,6,109,111, + 100,117,108,101,218,13,95,115,97,118,101,100,95,109,111,100, + 117,108,101,169,2,218,4,115,101,108,102,114,9,0,0,0, + 115,2,0,0,0,32,32,250,14,60,102,114,111,122,101,110, + 32,114,117,110,112,121,62,218,8,95,95,105,110,105,116,95, + 95,122,20,95,84,101,109,112,77,111,100,117,108,101,46,95, + 95,105,110,105,116,95,95,28,0,0,0,115,29,0,0,0, + 128,0,216,24,32,136,4,140,13,220,22,32,160,24,211,22, + 42,136,4,140,11,216,29,31,136,4,213,8,26,243,0,0, + 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,3,0,0,0,243,208,0,0,0,151,0,124,0, + 106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,125,1,9,0,124,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,5, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,6,0,0,0,0,0,0,0,0,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,25,0,0,0,171,1,0,0,0,0,0,0,1,0, + 124,0,106,12,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,116,6,0,0,0,0,0,0,0,0, + 106,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,60,0,0,0,124,0,83,0,35,0, + 116,10,0,0,0,0,0,0,0,0,36,0,114,3,1,0, + 89,0,140,42,119,0,120,3,89,0,119,1,114,8,0,0, + 0,41,7,114,9,0,0,0,114,12,0,0,0,218,6,97, + 112,112,101,110,100,218,3,115,121,115,218,7,109,111,100,117, + 108,101,115,218,8,75,101,121,69,114,114,111,114,114,11,0, + 0,0,114,13,0,0,0,115,2,0,0,0,32,32,114,15, + 0,0,0,218,9,95,95,101,110,116,101,114,95,95,122,21, + 95,84,101,109,112,77,111,100,117,108,101,46,95,95,101,110, + 116,101,114,95,95,33,0,0,0,115,90,0,0,0,128,0, + 216,19,23,151,61,145,61,136,8,240,2,3,9,17,216,12, + 16,215,12,30,209,12,30,215,12,37,209,12,37,164,99,167, + 107,161,107,176,40,209,38,59,212,12,60,240,6,0,33,37, + 167,11,161,11,140,3,143,11,137,11,144,72,209,8,29,216, + 15,19,136,11,248,244,7,0,16,24,242,0,1,9,17,217, + 12,16,240,3,1,9,17,250,115,17,0,0,0,142,44,65, + 25,0,193,25,9,65,37,3,193,36,1,65,37,3,99,1, + 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,7, + 0,0,0,243,196,0,0,0,151,0,124,0,106,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 114,50,124,0,106,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,1,25,0,0,0,116,2, + 0,0,0,0,0,0,0,0,106,4,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,106,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,60,0,0,0,103,0,124,0,95,0,0,0,0,0, + 0,0,0,0,121,0,116,2,0,0,0,0,0,0,0,0, + 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,106,6,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,61,0,103,0,124,0, + 95,0,0,0,0,0,0,0,0,0,121,0,169,2,78,114, + 2,0,0,0,41,4,114,12,0,0,0,114,20,0,0,0, + 114,21,0,0,0,114,9,0,0,0,169,2,114,14,0,0, + 0,218,4,97,114,103,115,115,2,0,0,0,32,32,114,15, + 0,0,0,218,8,95,95,101,120,105,116,95,95,122,20,95, + 84,101,109,112,77,111,100,117,108,101,46,95,95,101,120,105, + 116,95,95,42,0,0,0,115,76,0,0,0,128,0,216,11, + 15,215,11,29,210,11,29,216,41,45,215,41,59,209,41,59, + 184,65,209,41,62,140,67,143,75,137,75,152,4,159,13,153, + 13,209,12,38,240,6,0,30,32,136,4,213,8,26,244,3, + 0,17,20,151,11,145,11,152,68,159,77,153,77,208,16,42, + 216,29,31,136,4,213,8,26,114,17,0,0,0,78,41,7, + 218,8,95,95,110,97,109,101,95,95,218,10,95,95,109,111, + 100,117,108,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,114,16,0, + 0,0,114,23,0,0,0,114,28,0,0,0,169,0,114,17, + 0,0,0,114,15,0,0,0,114,6,0,0,0,114,6,0, + 0,0,26,0,0,0,115,20,0,0,0,132,0,217,4,77, + 242,2,3,5,32,242,10,7,5,20,243,18,5,5,32,114, + 17,0,0,0,114,6,0,0,0,99,0,0,0,0,0,0, + 0,0,0,0,0,0,1,0,0,0,0,0,0,0,243,30, + 0,0,0,151,0,101,0,90,1,100,0,90,2,100,1,132, + 0,90,3,100,2,132,0,90,4,100,3,132,0,90,5,121, + 4,41,5,218,14,95,77,111,100,105,102,105,101,100,65,114, + 103,118,48,99,2,0,0,0,0,0,0,0,0,0,0,0, + 3,0,0,0,3,0,0,0,243,62,0,0,0,151,0,124, + 1,124,0,95,0,0,0,0,0,0,0,0,0,116,3,0, + 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,120, + 1,124,0,95,2,0,0,0,0,0,0,0,0,124,0,95, + 3,0,0,0,0,0,0,0,0,121,0,114,8,0,0,0, + 41,4,218,5,118,97,108,117,101,218,6,111,98,106,101,99, + 116,218,12,95,115,97,118,101,100,95,118,97,108,117,101,218, + 9,95,115,101,110,116,105,110,101,108,41,2,114,14,0,0, + 0,114,37,0,0,0,115,2,0,0,0,32,32,114,15,0, + 0,0,114,16,0,0,0,122,23,95,77,111,100,105,102,105, + 101,100,65,114,103,118,48,46,95,95,105,110,105,116,95,95, + 50,0,0,0,115,26,0,0,0,128,0,216,21,26,136,4, + 140,10,220,45,51,171,88,208,8,53,136,4,212,8,25,152, + 68,157,78,114,17,0,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,3,0,0,0,243,180,0, + 0,0,151,0,124,0,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 117,1,114,11,116,5,0,0,0,0,0,0,0,0,100,1, + 171,1,0,0,0,0,0,0,130,1,116,6,0,0,0,0, + 0,0,0,0,106,8,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,2,25,0,0,0,124,0, + 95,0,0,0,0,0,0,0,0,0,124,0,106,10,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 116,6,0,0,0,0,0,0,0,0,106,8,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,2, + 60,0,0,0,121,0,41,3,78,122,30,65,108,114,101,97, + 100,121,32,112,114,101,115,101,114,118,105,110,103,32,115,97, + 118,101,100,32,118,97,108,117,101,114,2,0,0,0,41,6, + 114,39,0,0,0,114,40,0,0,0,218,12,82,117,110,116, + 105,109,101,69,114,114,111,114,114,20,0,0,0,218,4,97, + 114,103,118,114,37,0,0,0,41,1,114,14,0,0,0,115, + 1,0,0,0,32,114,15,0,0,0,114,23,0,0,0,122, + 24,95,77,111,100,105,102,105,101,100,65,114,103,118,48,46, + 95,95,101,110,116,101,114,95,95,54,0,0,0,115,65,0, + 0,0,128,0,216,11,15,215,11,28,209,11,28,160,68,167, + 78,161,78,209,11,50,220,18,30,208,31,63,211,18,64,208, + 12,64,220,28,31,159,72,153,72,160,81,153,75,136,4,212, + 8,25,216,22,26,151,106,145,106,140,3,143,8,137,8,144, + 17,138,11,114,17,0,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,7,0,0,0,243,96,0, + 0,0,151,0,124,0,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,95,1,0,0, + 0,0,0,0,0,0,124,0,106,4,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,116,6,0,0, + 0,0,0,0,0,0,106,8,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,1,60,0,0,0, + 121,0,114,25,0,0,0,41,5,114,40,0,0,0,114,37, + 0,0,0,114,39,0,0,0,114,20,0,0,0,114,43,0, + 0,0,114,26,0,0,0,115,2,0,0,0,32,32,114,15, + 0,0,0,114,28,0,0,0,122,23,95,77,111,100,105,102, + 105,101,100,65,114,103,118,48,46,95,95,101,120,105,116,95, + 95,60,0,0,0,115,32,0,0,0,128,0,216,21,25,151, + 94,145,94,136,4,140,10,216,22,26,215,22,39,209,22,39, + 140,3,143,8,137,8,144,17,138,11,114,17,0,0,0,78, + 41,6,114,29,0,0,0,114,30,0,0,0,114,31,0,0, + 0,114,16,0,0,0,114,23,0,0,0,114,28,0,0,0, + 114,33,0,0,0,114,17,0,0,0,114,15,0,0,0,114, + 35,0,0,0,114,35,0,0,0,49,0,0,0,115,17,0, + 0,0,132,0,242,2,2,5,54,242,8,4,5,33,243,12, + 2,5,40,114,17,0,0,0,114,35,0,0,0,99,7,0, + 0,0,0,0,0,0,0,0,0,0,9,0,0,0,3,0, + 0,0,243,234,0,0,0,151,0,124,2,129,17,124,1,106, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,2,171,1,0,0,0,0,0,0,1,0,124, + 4,128,7,100,1,125,7,124,6,125,8,100,1,125,9,110, + 50,124,4,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,125,7,124,4,106,4,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125, + 8,124,4,106,6,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,125,9,124,5,128,12,124,4,106, + 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,125,5,124,1,106,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,3,124,8,124, + 9,100,1,124,7,124,5,124,4,172,2,171,7,0,0,0, + 0,0,0,1,0,116,11,0,0,0,0,0,0,0,0,124, + 0,124,1,171,2,0,0,0,0,0,0,1,0,124,1,83, + 0,41,3,122,41,72,101,108,112,101,114,32,116,111,32,114, + 117,110,32,99,111,100,101,32,105,110,32,110,111,109,105,110, + 97,116,101,100,32,110,97,109,101,115,112,97,99,101,78,41, + 7,114,29,0,0,0,218,8,95,95,102,105,108,101,95,95, + 218,10,95,95,99,97,99,104,101,100,95,95,114,32,0,0, + 0,218,10,95,95,108,111,97,100,101,114,95,95,218,11,95, + 95,112,97,99,107,97,103,101,95,95,218,8,95,95,115,112, + 101,99,95,95,41,6,218,6,117,112,100,97,116,101,218,6, + 108,111,97,100,101,114,218,6,111,114,105,103,105,110,218,6, + 99,97,99,104,101,100,218,6,112,97,114,101,110,116,218,4, + 101,120,101,99,41,10,218,4,99,111,100,101,218,11,114,117, + 110,95,103,108,111,98,97,108,115,218,12,105,110,105,116,95, + 103,108,111,98,97,108,115,114,9,0,0,0,218,8,109,111, + 100,95,115,112,101,99,218,8,112,107,103,95,110,97,109,101, + 218,11,115,99,114,105,112,116,95,110,97,109,101,114,52,0, + 0,0,218,5,102,110,97,109,101,114,54,0,0,0,115,10, + 0,0,0,32,32,32,32,32,32,32,32,32,32,114,15,0, + 0,0,218,9,95,114,117,110,95,99,111,100,101,114,64,0, + 0,0,65,0,0,0,115,144,0,0,0,128,0,240,8,0, + 8,20,208,7,31,216,8,19,215,8,26,209,8,26,152,60, + 212,8,40,216,7,15,208,7,23,216,17,21,136,6,216,16, + 27,136,5,216,17,21,137,6,224,17,25,151,31,145,31,136, + 6,216,16,24,151,15,145,15,136,5,216,17,25,151,31,145, + 31,136,6,216,11,19,208,11,27,216,23,31,151,127,145,127, + 136,72,216,4,15,215,4,22,209,4,22,160,40,216,34,39, + 216,36,42,216,33,37,216,36,42,216,37,45,216,34,42,240, + 13,0,5,23,244,0,6,5,44,244,14,0,5,9,136,20, + 136,123,212,4,27,216,11,22,208,4,22,114,17,0,0,0, + 99,6,0,0,0,0,0,0,0,0,0,0,0,11,0,0, + 0,3,0,0,0,243,46,1,0,0,151,0,124,3,128,2, + 124,5,110,11,124,3,106,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,6,116,3,0,0, + 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0, + 53,0,125,7,116,5,0,0,0,0,0,0,0,0,124,6, + 171,1,0,0,0,0,0,0,53,0,1,0,124,7,106,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,8,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,125,8,116,11,0,0,0,0,0,0, + 0,0,124,0,124,8,124,1,124,2,124,3,124,4,124,5, + 171,7,0,0,0,0,0,0,1,0,100,1,100,1,100,1, + 171,2,0,0,0,0,0,0,1,0,100,1,100,1,100,1, + 171,2,0,0,0,0,0,0,1,0,127,8,106,13,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,83,0,35,0,49,0,115,1, + 119,2,1,0,89,0,1,0,1,0,140,33,120,3,89,0, + 119,1,35,0,49,0,115,1,119,2,1,0,89,0,1,0, + 1,0,127,8,106,13,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0, + 83,0,120,3,89,0,119,1,41,2,122,53,72,101,108,112, + 101,114,32,116,111,32,114,117,110,32,99,111,100,101,32,105, + 110,32,110,101,119,32,110,97,109,101,115,112,97,99,101,32, + 119,105,116,104,32,115,121,115,32,109,111,100,105,102,105,101, + 100,78,41,7,114,53,0,0,0,114,6,0,0,0,114,35, + 0,0,0,114,11,0,0,0,218,8,95,95,100,105,99,116, + 95,95,114,64,0,0,0,218,4,99,111,112,121,41,9,114, + 57,0,0,0,114,59,0,0,0,114,9,0,0,0,114,60, + 0,0,0,114,61,0,0,0,114,62,0,0,0,114,63,0, + 0,0,218,11,116,101,109,112,95,109,111,100,117,108,101,218, + 11,109,111,100,95,103,108,111,98,97,108,115,115,9,0,0, + 0,32,32,32,32,32,32,32,32,32,114,15,0,0,0,218, + 16,95,114,117,110,95,109,111,100,117,108,101,95,99,111,100, + 101,114,70,0,0,0,91,0,0,0,115,148,0,0,0,128, + 0,240,8,0,28,36,208,27,43,137,75,176,24,183,31,177, + 31,128,69,220,9,20,144,88,211,9,30,240,0,3,5,61, + 160,43,172,126,184,101,211,47,68,241,0,3,5,61,216,22, + 33,215,22,40,209,22,40,215,22,49,209,22,49,136,11,220, + 8,17,144,36,152,11,160,92,216,18,26,152,72,160,104,176, + 11,244,3,1,9,61,247,5,3,5,61,247,0,3,5,61, + 240,12,0,12,23,215,11,27,209,11,27,211,11,29,208,4, + 29,247,13,3,5,61,240,0,3,5,61,250,247,0,3,5, + 61,240,12,0,12,23,215,11,27,209,11,27,211,11,29,208, + 4,29,250,115,34,0,0,0,156,12,65,60,3,168,40,65, + 48,5,193,16,8,65,60,3,193,48,5,65,57,9,193,53, + 7,65,60,3,193,60,5,66,20,7,99,2,0,0,0,0, + 0,0,0,0,0,0,0,9,0,0,0,3,0,0,0,243, + 152,4,0,0,151,0,124,0,106,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,1,171,1, + 0,0,0,0,0,0,114,8,2,0,124,1,100,2,171,1, + 0,0,0,0,0,0,130,1,124,0,106,3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,1, + 171,1,0,0,0,0,0,0,92,3,0,0,125,2,125,3, + 125,3,124,2,114,99,9,0,116,5,0,0,0,0,0,0, + 0,0,124,2,171,1,0,0,0,0,0,0,1,0,116,10, + 0,0,0,0,0,0,0,0,106,12,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,15,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,5,124,5,129,54, + 116,17,0,0,0,0,0,0,0,0,124,5,100,3,171,2, + 0,0,0,0,0,0,115,42,100,4,100,5,108,9,109,10, + 125,6,1,0,100,6,106,23,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,124,2,172,7, + 171,2,0,0,0,0,0,0,125,7,2,0,124,6,116,25, + 0,0,0,0,0,0,0,0,124,7,171,1,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,1,0,9,0,116,26, + 0,0,0,0,0,0,0,0,106,28,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,31,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,8,124,8,128,11, + 2,0,124,1,100,14,124,0,122,6,0,0,171,1,0,0, + 0,0,0,0,130,1,124,8,106,44,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,129,48,124,0, + 100,15,107,40,0,0,115,17,124,0,106,39,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,16, + 171,1,0,0,0,0,0,0,114,8,2,0,124,1,100,17, + 171,1,0,0,0,0,0,0,130,1,9,0,124,0,100,16, + 122,0,0,0,125,10,116,47,0,0,0,0,0,0,0,0, + 124,10,124,1,171,2,0,0,0,0,0,0,83,0,124,8, + 106,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,125,11,124,11,128,11,2,0,124,1,100,20, + 124,0,122,6,0,0,171,1,0,0,0,0,0,0,130,1, + 9,0,124,11,106,51,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,125,12,124,12,128,11,2,0,124,1,100,21,124,0, + 122,6,0,0,171,1,0,0,0,0,0,0,130,1,124,0, + 124,8,124,12,102,3,83,0,35,0,116,6,0,0,0,0, + 0,0,0,0,36,0,114,69,125,4,124,4,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 129,45,124,4,106,8,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,2,107,55,0,0,114,31, + 124,2,106,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,4,106,8,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,1,122,0, + 0,0,171,1,0,0,0,0,0,0,115,1,130,0,89,0, + 100,0,125,4,126,4,144,1,140,70,100,0,125,4,126,4, + 119,1,119,0,120,3,89,0,119,1,35,0,116,6,0,0, + 0,0,0,0,0,0,116,32,0,0,0,0,0,0,0,0, + 116,34,0,0,0,0,0,0,0,0,116,36,0,0,0,0, + 0,0,0,0,102,4,36,0,114,84,125,9,100,8,125,7, + 124,0,106,39,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,9,171,1,0,0,0,0,0,0, + 114,15,124,7,100,10,124,0,100,0,100,11,26,0,155,0, + 100,12,124,0,155,0,100,13,157,5,122,13,0,0,125,7, + 2,0,124,1,124,7,106,23,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,116,41,0,0, + 0,0,0,0,0,0,124,9,171,1,0,0,0,0,0,0, + 106,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,9,171,3,0,0,0,0,0,0,171,1, + 0,0,0,0,0,0,124,9,130,2,100,0,125,9,126,9, + 119,1,119,0,120,3,89,0,119,1,35,0,124,1,36,0, + 114,38,125,4,124,0,116,10,0,0,0,0,0,0,0,0, + 106,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,118,1,114,1,130,0,2,0,124,1,124,4, + 155,1,100,18,124,0,155,2,100,19,157,4,171,1,0,0, + 0,0,0,0,130,1,100,0,125,4,126,4,119,1,119,0, + 120,3,89,0,119,1,35,0,116,6,0,0,0,0,0,0, + 0,0,36,0,114,23,125,4,2,0,124,1,116,23,0,0, + 0,0,0,0,0,0,124,4,171,1,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,124,4,130,2,100,0,125,4, + 126,4,119,1,119,0,120,3,89,0,119,1,41,22,78,250, + 1,46,122,35,82,101,108,97,116,105,118,101,32,109,111,100, + 117,108,101,32,110,97,109,101,115,32,110,111,116,32,115,117, + 112,112,111,114,116,101,100,218,8,95,95,112,97,116,104,95, + 95,114,2,0,0,0,41,1,218,4,119,97,114,110,122,154, + 123,109,111,100,95,110,97,109,101,33,114,125,32,102,111,117, + 110,100,32,105,110,32,115,121,115,46,109,111,100,117,108,101, + 115,32,97,102,116,101,114,32,105,109,112,111,114,116,32,111, + 102,32,112,97,99,107,97,103,101,32,123,112,107,103,95,110, + 97,109,101,33,114,125,44,32,98,117,116,32,112,114,105,111, + 114,32,116,111,32,101,120,101,99,117,116,105,111,110,32,111, + 102,32,123,109,111,100,95,110,97,109,101,33,114,125,59,32, + 116,104,105,115,32,109,97,121,32,114,101,115,117,108,116,32, + 105,110,32,117,110,112,114,101,100,105,99,116,97,98,108,101, + 32,98,101,104,97,118,105,111,117,114,41,2,114,9,0,0, + 0,114,61,0,0,0,122,58,69,114,114,111,114,32,119,104, + 105,108,101,32,102,105,110,100,105,110,103,32,109,111,100,117, + 108,101,32,115,112,101,99,105,102,105,99,97,116,105,111,110, + 32,102,111,114,32,123,33,114,125,32,40,123,125,58,32,123, + 125,41,122,3,46,112,121,122,13,46,32,84,114,121,32,117, + 115,105,110,103,32,39,233,253,255,255,255,122,14,39,32,105, + 110,115,116,101,97,100,32,111,102,32,39,122,21,39,32,97, + 115,32,116,104,101,32,109,111,100,117,108,101,32,110,97,109, + 101,46,122,18,78,111,32,109,111,100,117,108,101,32,110,97, + 109,101,100,32,37,115,218,8,95,95,109,97,105,110,95,95, + 122,9,46,95,95,109,97,105,110,95,95,122,37,67,97,110, + 110,111,116,32,117,115,101,32,112,97,99,107,97,103,101,32, + 97,115,32,95,95,109,97,105,110,95,95,32,109,111,100,117, + 108,101,122,2,59,32,122,45,32,105,115,32,97,32,112,97, + 99,107,97,103,101,32,97,110,100,32,99,97,110,110,111,116, + 32,98,101,32,100,105,114,101,99,116,108,121,32,101,120,101, + 99,117,116,101,100,122,48,37,114,32,105,115,32,97,32,110, + 97,109,101,115,112,97,99,101,32,112,97,99,107,97,103,101, + 32,97,110,100,32,99,97,110,110,111,116,32,98,101,32,101, + 120,101,99,117,116,101,100,122,31,78,111,32,99,111,100,101, + 32,111,98,106,101,99,116,32,97,118,97,105,108,97,98,108, + 101,32,102,111,114,32,37,115,41,26,218,10,115,116,97,114, + 116,115,119,105,116,104,218,10,114,112,97,114,116,105,116,105, + 111,110,218,10,95,95,105,109,112,111,114,116,95,95,218,11, + 73,109,112,111,114,116,69,114,114,111,114,218,4,110,97,109, + 101,114,20,0,0,0,114,21,0,0,0,218,3,103,101,116, + 218,7,104,97,115,97,116,116,114,218,8,119,97,114,110,105, + 110,103,115,114,74,0,0,0,218,6,102,111,114,109,97,116, + 218,14,82,117,110,116,105,109,101,87,97,114,110,105,110,103, + 218,9,105,109,112,111,114,116,108,105,98,218,4,117,116,105, + 108,218,9,102,105,110,100,95,115,112,101,99,218,14,65,116, + 116,114,105,98,117,116,101,69,114,114,111,114,218,9,84,121, + 112,101,69,114,114,111,114,218,10,86,97,108,117,101,69,114, + 114,111,114,218,8,101,110,100,115,119,105,116,104,218,4,116, + 121,112,101,114,29,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,19,95,103,101,116,95,109,111,100,117,108, + 101,95,100,101,116,97,105,108,115,114,52,0,0,0,218,8, + 103,101,116,95,99,111,100,101,41,13,114,9,0,0,0,218, + 5,101,114,114,111,114,114,61,0,0,0,218,1,95,218,1, + 101,218,8,101,120,105,115,116,105,110,103,114,74,0,0,0, + 218,3,109,115,103,218,4,115,112,101,99,218,2,101,120,218, + 13,112,107,103,95,109,97,105,110,95,110,97,109,101,114,52, + 0,0,0,114,57,0,0,0,115,13,0,0,0,32,32,32, + 32,32,32,32,32,32,32,32,32,32,114,15,0,0,0,114, + 96,0,0,0,114,96,0,0,0,105,0,0,0,115,143,2, + 0,0,128,0,216,7,15,215,7,26,209,7,26,152,51,212, + 7,31,217,14,19,208,20,57,211,14,58,208,8,58,216,21, + 29,215,21,40,209,21,40,168,19,211,21,45,129,78,128,72, + 136,97,144,17,217,7,15,240,4,8,9,22,220,12,22,144, + 120,212,12,32,244,18,0,20,23,151,59,145,59,151,63,145, + 63,160,56,211,19,44,136,8,216,11,19,208,11,31,172,7, + 176,8,184,42,212,40,69,221,12,37,240,2,3,19,28,247, + 6,0,29,35,153,70,168,72,184,120,152,70,211,28,72,240, + 7,0,13,16,241,8,0,13,17,148,30,160,3,211,17,36, + 212,12,37,240,4,10,5,73,1,220,15,24,143,126,137,126, + 215,15,39,209,15,39,168,8,211,15,49,136,4,240,20,0, + 8,12,128,124,217,14,19,208,20,40,168,56,209,20,51,211, + 14,52,208,8,52,216,7,11,215,7,38,209,7,38,208,7, + 50,216,11,19,144,122,210,11,33,160,88,215,37,54,209,37, + 54,176,123,212,37,67,217,18,23,208,24,63,211,18,64,208, + 12,64,240,2,7,9,71,1,216,28,36,160,123,209,28,50, + 136,77,220,19,38,160,125,176,101,211,19,60,208,12,60,240, + 12,0,14,18,143,91,137,91,128,70,216,7,13,128,126,217, + 14,19,208,20,70,216,67,75,241,3,1,21,76,1,243,0, + 1,15,77,1,240,0,1,9,77,1,240,4,3,5,38,216, + 15,21,143,127,137,127,152,120,211,15,40,136,4,240,6,0, + 8,12,128,124,217,14,19,208,20,53,184,8,209,20,64,211, + 14,65,208,8,65,216,11,19,144,84,152,52,208,11,31,208, + 4,31,248,244,103,1,0,16,27,242,0,6,9,22,240,8, + 0,16,17,143,118,137,118,136,126,160,33,167,38,161,38,168, + 72,210,34,52,216,24,32,215,24,43,209,24,43,168,65,175, + 70,169,70,176,83,169,76,212,24,57,216,16,21,255,249,240, + 13,6,9,22,251,244,38,0,13,24,156,30,172,25,180,74, + 208,11,63,242,0,8,5,73,1,240,8,0,15,75,1,136, + 3,216,11,19,215,11,28,209,11,28,152,85,212,11,35,216, + 12,15,144,109,160,72,168,83,168,98,160,77,160,63,240,0, + 1,51,24,216,24,32,144,122,208,33,54,240,3,1,21,56, + 241,0,1,13,57,136,67,225,14,19,144,67,151,74,145,74, + 152,120,172,20,168,98,171,24,215,41,58,209,41,58,184,66, + 211,20,63,211,14,64,192,98,208,8,72,251,240,17,8,5, + 73,1,251,240,34,0,16,21,242,0,4,9,71,1,216,15, + 23,156,115,159,123,153,123,209,15,42,216,16,21,217,18,23, + 218,57,58,186,72,240,3,1,25,70,1,243,0,1,19,71, + 1,240,0,1,13,71,1,251,240,7,4,9,71,1,251,244, + 22,0,12,23,242,0,1,5,38,217,14,19,148,70,152,49, + 147,73,211,14,30,160,65,208,8,37,251,240,3,1,5,38, + 250,115,96,0,0,0,178,11,68,58,0,194,21,31,70,11, + 0,195,44,16,71,59,0,196,23,17,72,41,0,196,58,9, + 70,8,3,197,3,58,70,3,3,198,3,5,70,8,3,198, + 11,25,71,56,3,198,36,65,15,71,51,3,199,51,5,71, + 56,3,199,59,5,72,38,3,200,0,33,72,33,3,200,33, + 5,72,38,3,200,41,9,73,9,3,200,50,18,73,4,3, + 201,4,5,73,9,3,99,0,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,0,0,0,0,243,16,0,0,0, + 151,0,101,0,90,1,100,0,90,2,100,1,90,3,121,2, + 41,3,218,6,95,69,114,114,111,114,122,66,69,114,114,111, + 114,32,116,104,97,116,32,95,114,117,110,95,109,111,100,117, + 108,101,95,97,115,95,109,97,105,110,40,41,32,115,104,111, + 117,108,100,32,114,101,112,111,114,116,32,119,105,116,104,111, + 117,116,32,97,32,116,114,97,99,101,98,97,99,107,78,41, + 4,114,29,0,0,0,114,30,0,0,0,114,31,0,0,0, + 114,32,0,0,0,114,33,0,0,0,114,17,0,0,0,114, + 15,0,0,0,114,107,0,0,0,114,107,0,0,0,166,0, + 0,0,115,5,0,0,0,132,0,218,4,76,114,17,0,0, + 0,114,107,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,7,0,0,0,3,0,0,0,243,120,1,0,0, + 151,0,9,0,124,1,115,5,124,0,100,1,107,55,0,0, + 114,21,116,1,0,0,0,0,0,0,0,0,124,0,116,2, + 0,0,0,0,0,0,0,0,171,2,0,0,0,0,0,0, + 92,3,0,0,125,0,125,2,125,3,110,19,116,5,0,0, + 0,0,0,0,0,0,116,2,0,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,92,3,0,0,125,0,125,2, + 125,3,116,6,0,0,0,0,0,0,0,0,106,12,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,1,25,0,0,0,106,14,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,125,6,124,1,114,29, + 127,2,106,16,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,116,6,0,0,0,0,0,0,0,0, + 106,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,4,60,0,0,0,116,21,0,0,0,0, + 0,0,0,0,127,3,124,6,100,3,100,1,127,2,171,5, + 0,0,0,0,0,0,83,0,35,0,116,2,0,0,0,0, + 0,0,0,0,36,0,114,52,125,4,116,6,0,0,0,0, + 0,0,0,0,106,8,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,155,1,100,2,124,4,155,1, + 157,3,125,5,116,7,0,0,0,0,0,0,0,0,106,10, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,5,171,1,0,0,0,0,0,0,1,0,89,0, + 100,3,125,4,126,4,140,131,100,3,125,4,126,4,119,1, + 119,0,120,3,89,0,119,1,41,5,97,197,1,0,0,82, + 117,110,115,32,116,104,101,32,100,101,115,105,103,110,97,116, + 101,100,32,109,111,100,117,108,101,32,105,110,32,116,104,101, + 32,95,95,109,97,105,110,95,95,32,110,97,109,101,115,112, + 97,99,101,10,10,32,32,32,32,32,32,32,78,111,116,101, + 32,116,104,97,116,32,116,104,101,32,101,120,101,99,117,116, + 101,100,32,109,111,100,117,108,101,32,119,105,108,108,32,104, + 97,118,101,32,102,117,108,108,32,97,99,99,101,115,115,32, + 116,111,32,116,104,101,10,32,32,32,32,32,32,32,95,95, + 109,97,105,110,95,95,32,110,97,109,101,115,112,97,99,101, + 46,32,73,102,32,116,104,105,115,32,105,115,32,110,111,116, + 32,100,101,115,105,114,97,98,108,101,44,32,116,104,101,32, + 114,117,110,95,109,111,100,117,108,101,40,41,10,32,32,32, + 32,32,32,32,102,117,110,99,116,105,111,110,32,115,104,111, + 117,108,100,32,98,101,32,117,115,101,100,32,116,111,32,114, + 117,110,32,116,104,101,32,109,111,100,117,108,101,32,99,111, + 100,101,32,105,110,32,97,32,102,114,101,115,104,32,110,97, + 109,101,115,112,97,99,101,46,10,10,32,32,32,32,32,32, + 32,65,116,32,116,104,101,32,118,101,114,121,32,108,101,97, + 115,116,44,32,116,104,101,115,101,32,118,97,114,105,97,98, + 108,101,115,32,105,110,32,95,95,109,97,105,110,95,95,32, + 119,105,108,108,32,98,101,32,111,118,101,114,119,114,105,116, + 116,101,110,58,10,32,32,32,32,32,32,32,32,32,32,32, + 95,95,110,97,109,101,95,95,10,32,32,32,32,32,32,32, + 32,32,32,32,95,95,102,105,108,101,95,95,10,32,32,32, + 32,32,32,32,32,32,32,32,95,95,99,97,99,104,101,100, + 95,95,10,32,32,32,32,32,32,32,32,32,32,32,95,95, + 108,111,97,100,101,114,95,95,10,32,32,32,32,32,32,32, + 32,32,32,32,95,95,112,97,99,107,97,103,101,95,95,10, + 32,32,32,32,114,76,0,0,0,122,2,58,32,78,114,2, + 0,0,0,41,11,114,96,0,0,0,114,107,0,0,0,218, + 24,95,103,101,116,95,109,97,105,110,95,109,111,100,117,108, + 101,95,100,101,116,97,105,108,115,114,20,0,0,0,218,10, + 101,120,101,99,117,116,97,98,108,101,218,4,101,120,105,116, + 114,21,0,0,0,114,66,0,0,0,114,53,0,0,0,114, + 43,0,0,0,114,64,0,0,0,41,7,114,9,0,0,0, + 218,10,97,108,116,101,114,95,97,114,103,118,114,60,0,0, + 0,114,57,0,0,0,218,3,101,120,99,114,102,0,0,0, + 218,12,109,97,105,110,95,103,108,111,98,97,108,115,115,7, + 0,0,0,32,32,32,32,32,32,32,114,15,0,0,0,218, + 19,95,114,117,110,95,109,111,100,117,108,101,95,97,115,95, + 109,97,105,110,114,115,0,0,0,173,0,0,0,115,164,0, + 0,0,128,0,240,28,7,5,22,217,11,21,152,24,160,90, + 210,25,47,220,39,58,184,56,196,86,211,39,76,209,12,36, + 136,72,144,104,161,4,228,39,63,196,6,211,39,71,209,12, + 36,136,72,144,104,160,4,244,8,0,20,23,151,59,145,59, + 152,122,209,19,42,215,19,51,209,19,51,128,76,217,7,17, + 216,22,30,151,111,145,111,140,3,143,8,137,8,144,17,137, + 11,220,11,20,144,84,152,60,168,20,216,21,31,160,24,243, + 3,1,12,43,240,0,1,5,43,248,244,13,0,12,18,242, + 0,2,5,22,220,26,29,159,46,155,46,169,35,208,14,46, + 136,3,220,8,11,143,8,137,8,144,19,143,13,137,13,251, + 240,5,2,5,22,250,115,23,0,0,0,130,47,65,60,0, + 193,60,9,66,57,3,194,5,42,66,52,3,194,52,5,66, + 57,3,99,4,0,0,0,0,0,0,0,0,0,0,0,7, + 0,0,0,3,0,0,0,243,102,0,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0, + 0,0,92,3,0,0,125,0,125,4,125,5,124,2,128,2, + 124,0,125,2,124,3,114,14,116,3,0,0,0,0,0,0, + 0,0,124,5,124,1,124,2,124,4,171,4,0,0,0,0, + 0,0,83,0,116,5,0,0,0,0,0,0,0,0,124,5, + 105,0,124,1,124,2,124,4,171,5,0,0,0,0,0,0, + 83,0,41,1,117,34,3,0,0,69,120,101,99,117,116,101, + 32,97,32,109,111,100,117,108,101,39,115,32,99,111,100,101, + 32,119,105,116,104,111,117,116,32,105,109,112,111,114,116,105, + 110,103,32,105,116,46,10,10,32,32,32,32,32,32,32,109, + 111,100,95,110,97,109,101,32,45,45,32,97,110,32,97,98, + 115,111,108,117,116,101,32,109,111,100,117,108,101,32,110,97, + 109,101,32,111,114,32,112,97,99,107,97,103,101,32,110,97, + 109,101,46,10,10,32,32,32,32,32,32,32,79,112,116,105, + 111,110,97,108,32,97,114,103,117,109,101,110,116,115,58,10, + 32,32,32,32,32,32,32,105,110,105,116,95,103,108,111,98, + 97,108,115,32,45,45,32,100,105,99,116,105,111,110,97,114, + 121,32,117,115,101,100,32,116,111,32,112,114,101,45,112,111, + 112,117,108,97,116,101,32,116,104,101,32,109,111,100,117,108, + 101,226,128,153,115,10,32,32,32,32,32,32,32,103,108,111, + 98,97,108,115,32,100,105,99,116,105,111,110,97,114,121,32, + 98,101,102,111,114,101,32,116,104,101,32,99,111,100,101,32, + 105,115,32,101,120,101,99,117,116,101,100,46,10,10,32,32, + 32,32,32,32,32,114,117,110,95,110,97,109,101,32,45,45, + 32,105,102,32,110,111,116,32,78,111,110,101,44,32,116,104, + 105,115,32,119,105,108,108,32,98,101,32,117,115,101,100,32, + 102,111,114,32,115,101,116,116,105,110,103,32,95,95,110,97, + 109,101,95,95,59,10,32,32,32,32,32,32,32,111,116,104, + 101,114,119,105,115,101,44,32,95,95,110,97,109,101,95,95, + 32,119,105,108,108,32,98,101,32,115,101,116,32,116,111,32, + 109,111,100,95,110,97,109,101,32,43,32,39,95,95,109,97, + 105,110,95,95,39,32,105,102,32,116,104,101,10,32,32,32, + 32,32,32,32,110,97,109,101,100,32,109,111,100,117,108,101, + 32,105,115,32,97,32,112,97,99,107,97,103,101,32,97,110, + 100,32,116,111,32,106,117,115,116,32,109,111,100,95,110,97, + 109,101,32,111,116,104,101,114,119,105,115,101,46,10,10,32, + 32,32,32,32,32,32,97,108,116,101,114,95,115,121,115,32, + 45,45,32,105,102,32,84,114,117,101,44,32,115,121,115,46, + 97,114,103,118,91,48,93,32,105,115,32,117,112,100,97,116, + 101,100,32,119,105,116,104,32,116,104,101,32,118,97,108,117, + 101,32,111,102,10,32,32,32,32,32,32,32,95,95,102,105, + 108,101,95,95,32,97,110,100,32,115,121,115,46,109,111,100, + 117,108,101,115,91,95,95,110,97,109,101,95,95,93,32,105, + 115,32,117,112,100,97,116,101,100,32,119,105,116,104,32,97, + 32,116,101,109,112,111,114,97,114,121,10,32,32,32,32,32, + 32,32,109,111,100,117,108,101,32,111,98,106,101,99,116,32, + 102,111,114,32,116,104,101,32,109,111,100,117,108,101,32,98, + 101,105,110,103,32,101,120,101,99,117,116,101,100,46,32,66, + 111,116,104,32,97,114,101,10,32,32,32,32,32,32,32,114, + 101,115,116,111,114,101,100,32,116,111,32,116,104,101,105,114, + 32,111,114,105,103,105,110,97,108,32,118,97,108,117,101,115, + 32,98,101,102,111,114,101,32,116,104,101,32,102,117,110,99, + 116,105,111,110,32,114,101,116,117,114,110,115,46,10,10,32, + 32,32,32,32,32,32,82,101,116,117,114,110,115,32,116,104, + 101,32,114,101,115,117,108,116,105,110,103,32,109,111,100,117, + 108,101,32,103,108,111,98,97,108,115,32,100,105,99,116,105, + 111,110,97,114,121,46,10,32,32,32,32,41,3,114,96,0, + 0,0,114,70,0,0,0,114,64,0,0,0,41,6,114,9, + 0,0,0,114,59,0,0,0,218,8,114,117,110,95,110,97, + 109,101,218,9,97,108,116,101,114,95,115,121,115,114,60,0, + 0,0,114,57,0,0,0,115,6,0,0,0,32,32,32,32, + 32,32,114,15,0,0,0,114,3,0,0,0,114,3,0,0, + 0,201,0,0,0,115,73,0,0,0,128,0,244,42,0,32, + 51,176,56,211,31,60,209,4,28,128,72,136,104,152,4,216, + 7,15,208,7,23,216,19,27,136,8,217,7,16,220,15,31, + 160,4,160,108,176,72,184,104,211,15,71,208,8,71,244,6, + 0,16,25,152,20,152,114,160,60,176,24,184,56,211,15,68, + 208,8,68,114,17,0,0,0,99,1,0,0,0,0,0,0, + 0,0,0,0,0,8,0,0,0,3,0,0,0,243,58,1, + 0,0,151,0,100,1,125,1,116,0,0,0,0,0,0,0, + 0,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,25,0,0,0,125,2,116,0, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,1,61,0, + 9,0,116,5,0,0,0,0,0,0,0,0,124,1,171,1, + 0,0,0,0,0,0,124,2,116,0,0,0,0,0,0,0, + 0,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,60,0,0,0,83,0,35,0, + 116,6,0,0,0,0,0,0,0,0,36,0,114,51,125,3, + 124,1,116,9,0,0,0,0,0,0,0,0,124,3,171,1, + 0,0,0,0,0,0,118,0,114,32,2,0,124,0,100,2, + 124,1,155,2,100,3,116,0,0,0,0,0,0,0,0,0, + 106,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,4,25,0,0,0,155,2,157,4,171,1, + 0,0,0,0,0,0,124,3,130,2,130,0,100,0,125,3, + 126,3,119,1,119,0,120,3,89,0,119,1,35,0,124,2, + 116,0,0,0,0,0,0,0,0,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 60,0,0,0,119,0,120,3,89,0,119,1,41,5,78,114, + 76,0,0,0,122,11,99,97,110,39,116,32,102,105,110,100, + 32,122,11,32,109,111,100,117,108,101,32,105,110,32,114,2, + 0,0,0,41,6,114,20,0,0,0,114,21,0,0,0,114, + 96,0,0,0,114,80,0,0,0,218,3,115,116,114,218,4, + 112,97,116,104,41,4,114,98,0,0,0,218,9,109,97,105, + 110,95,110,97,109,101,218,10,115,97,118,101,100,95,109,97, + 105,110,114,113,0,0,0,115,4,0,0,0,32,32,32,32, + 114,15,0,0,0,114,109,0,0,0,114,109,0,0,0,231, + 0,0,0,115,149,0,0,0,128,0,240,10,0,17,27,128, + 73,220,17,20,151,27,145,27,152,89,209,17,39,128,74,220, + 8,11,143,11,137,11,144,73,208,8,30,240,2,8,5,44, + 220,15,34,160,57,211,15,45,240,14,0,34,44,140,3,143, + 11,137,11,144,73,210,8,30,248,244,13,0,12,23,242,0, + 4,5,14,216,11,20,156,3,152,67,155,8,209,11,32,218, + 18,23,218,31,40,172,35,175,40,169,40,176,49,170,43,240, + 3,1,25,55,243,0,1,19,56,216,61,64,240,3,1,13, + 65,1,224,8,13,251,240,9,4,5,14,251,240,12,0,34, + 44,140,3,143,11,137,11,144,73,210,8,30,250,115,35,0, + 0,0,168,10,65,6,0,193,6,9,66,2,3,193,15,46, + 65,61,3,193,61,5,66,2,3,194,2,3,66,5,0,194, + 5,21,66,26,3,99,2,0,0,0,0,0,0,0,0,0, + 0,0,6,0,0,0,3,0,0,0,243,122,1,0,0,151, + 0,100,1,100,2,108,0,109,1,125,2,1,0,116,4,0, + 0,0,0,0,0,0,0,106,6,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,106,9,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116, + 5,0,0,0,0,0,0,0,0,106,10,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,171,1,0,0,0,0,0,0,125, + 3,116,13,0,0,0,0,0,0,0,0,106,14,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 3,171,1,0,0,0,0,0,0,53,0,125,4,2,0,124, + 2,124,4,171,1,0,0,0,0,0,0,125,5,100,0,100, + 0,100,0,171,2,0,0,0,0,0,0,1,0,127,5,128, + 61,116,13,0,0,0,0,0,0,0,0,106,14,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 3,171,1,0,0,0,0,0,0,53,0,125,4,116,17,0, + 0,0,0,0,0,0,0,124,4,106,19,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,124,1,100,3,171,3,0,0,0,0,0, + 0,125,5,100,0,100,0,100,0,171,2,0,0,0,0,0, + 0,1,0,124,5,124,1,102,2,83,0,124,5,124,1,102, + 2,83,0,35,0,49,0,115,1,119,2,1,0,89,0,1, + 0,1,0,140,76,120,3,89,0,119,1,35,0,49,0,115, + 1,119,2,1,0,89,0,1,0,1,0,124,5,124,1,102, + 2,83,0,120,3,89,0,119,1,41,4,78,114,2,0,0, + 0,41,1,218,9,114,101,97,100,95,99,111,100,101,114,56, + 0,0,0,41,10,218,7,112,107,103,117,116,105,108,114,125, + 0,0,0,218,2,111,115,114,121,0,0,0,218,7,97,98, + 115,112,97,116,104,218,8,102,115,100,101,99,111,100,101,218, + 2,105,111,218,9,111,112,101,110,95,99,111,100,101,218,7, + 99,111,109,112,105,108,101,218,4,114,101,97,100,41,6,114, + 117,0,0,0,114,63,0,0,0,114,125,0,0,0,218,12, + 100,101,99,111,100,101,100,95,112,97,116,104,218,1,102,114, + 57,0,0,0,115,6,0,0,0,32,32,32,32,32,32,114, + 15,0,0,0,218,19,95,103,101,116,95,99,111,100,101,95, + 102,114,111,109,95,102,105,108,101,114,136,0,0,0,250,0, + 0,0,115,160,0,0,0,128,0,229,4,33,220,19,21,151, + 55,145,55,151,63,145,63,164,50,167,59,161,59,168,117,211, + 35,53,211,19,54,128,76,220,9,11,143,28,137,28,144,108, + 211,9,35,240,0,1,5,28,160,113,217,15,24,152,17,139, + 124,136,4,247,3,1,5,28,224,7,11,128,124,228,13,15, + 143,92,137,92,152,44,211,13,39,240,0,1,9,52,168,49, + 220,19,26,152,49,159,54,153,54,155,56,160,85,168,70,211, + 19,51,136,68,247,3,1,9,52,224,11,15,144,21,136,59, + 208,4,22,136,52,144,21,136,59,208,4,22,247,13,1,5, + 28,240,0,1,5,28,250,247,8,1,9,52,224,11,15,144, + 21,136,59,208,4,22,250,115,24,0,0,0,193,14,9,66, + 34,3,193,54,28,66,46,3,194,34,5,66,43,7,194,46, + 5,66,58,7,99,3,0,0,0,0,0,0,0,0,0,0, + 0,10,0,0,0,3,0,0,0,243,56,3,0,0,151,0, + 124,2,128,2,100,2,125,2,124,2,106,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,3, + 171,1,0,0,0,0,0,0,100,4,25,0,0,0,125,3, + 100,4,100,5,108,1,109,2,125,4,1,0,2,0,124,4, + 124,0,171,1,0,0,0,0,0,0,125,5,116,7,0,0, + 0,0,0,0,0,0,124,5,116,9,0,0,0,0,0,0, + 0,0,100,1,171,1,0,0,0,0,0,0,171,2,0,0, + 0,0,0,0,114,31,116,11,0,0,0,0,0,0,0,0, + 124,2,124,0,171,2,0,0,0,0,0,0,92,2,0,0, + 125,6,125,7,116,13,0,0,0,0,0,0,0,0,124,6, + 124,1,124,2,124,3,124,7,172,6,171,5,0,0,0,0, + 0,0,83,0,116,14,0,0,0,0,0,0,0,0,106,16, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,19,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,4,124,0,171,2,0,0,0,0, + 0,0,1,0,9,0,116,21,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,92,3,0,0,125,8,125,9, + 125,6,116,23,0,0,0,0,0,0,0,0,124,2,171,1, + 0,0,0,0,0,0,53,0,125,10,116,25,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,53,0, + 1,0,124,10,106,26,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,106,28,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,125,11,116,31, + 0,0,0,0,0,0,0,0,124,6,124,11,124,1,124,2, + 124,9,124,3,171,6,0,0,0,0,0,0,106,33,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,99,2,100,1,100,1,100,1, + 171,2,0,0,0,0,0,0,1,0,99,2,100,1,100,1, + 100,1,171,2,0,0,0,0,0,0,1,0,9,0,116,14, + 0,0,0,0,0,0,0,0,106,16,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,35,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,1,0,83,0,35,0, + 116,36,0,0,0,0,0,0,0,0,36,0,114,3,1,0, + 89,0,83,0,119,0,120,3,89,0,119,1,35,0,49,0, + 115,1,119,2,1,0,89,0,1,0,1,0,110,3,120,3, + 89,0,119,1,100,1,100,1,100,1,171,2,0,0,0,0, + 0,0,1,0,110,12,35,0,49,0,115,1,119,2,1,0, + 89,0,1,0,1,0,110,3,120,3,89,0,119,1,9,0, + 116,14,0,0,0,0,0,0,0,0,106,16,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,35, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,1,0,121,1, + 35,0,116,36,0,0,0,0,0,0,0,0,36,0,114,3, + 1,0,89,0,121,1,119,0,120,3,89,0,119,1,35,0, + 9,0,116,14,0,0,0,0,0,0,0,0,106,16,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 106,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,1,0, + 119,0,35,0,116,36,0,0,0,0,0,0,0,0,36,0, + 114,3,1,0,89,0,119,0,119,0,120,3,89,0,119,1, + 120,3,89,0,119,1,41,7,117,20,2,0,0,69,120,101, + 99,117,116,101,32,99,111,100,101,32,108,111,99,97,116,101, + 100,32,97,116,32,116,104,101,32,115,112,101,99,105,102,105, + 101,100,32,102,105,108,101,115,121,115,116,101,109,32,108,111, + 99,97,116,105,111,110,46,10,10,32,32,32,32,32,32,32, + 112,97,116,104,95,110,97,109,101,32,45,45,32,102,105,108, + 101,115,121,115,116,101,109,32,108,111,99,97,116,105,111,110, + 32,111,102,32,97,32,80,121,116,104,111,110,32,115,99,114, + 105,112,116,44,32,122,105,112,102,105,108,101,44,10,32,32, + 32,32,32,32,32,111,114,32,100,105,114,101,99,116,111,114, + 121,32,99,111,110,116,97,105,110,105,110,103,32,97,32,116, + 111,112,32,108,101,118,101,108,32,95,95,109,97,105,110,95, + 95,46,112,121,32,115,99,114,105,112,116,46,10,10,32,32, + 32,32,32,32,32,79,112,116,105,111,110,97,108,32,97,114, + 103,117,109,101,110,116,115,58,10,32,32,32,32,32,32,32, + 105,110,105,116,95,103,108,111,98,97,108,115,32,45,45,32, + 100,105,99,116,105,111,110,97,114,121,32,117,115,101,100,32, + 116,111,32,112,114,101,45,112,111,112,117,108,97,116,101,32, + 116,104,101,32,109,111,100,117,108,101,226,128,153,115,10,32, + 32,32,32,32,32,32,103,108,111,98,97,108,115,32,100,105, + 99,116,105,111,110,97,114,121,32,98,101,102,111,114,101,32, + 116,104,101,32,99,111,100,101,32,105,115,32,101,120,101,99, + 117,116,101,100,46,10,10,32,32,32,32,32,32,32,114,117, + 110,95,110,97,109,101,32,45,45,32,105,102,32,110,111,116, + 32,78,111,110,101,44,32,116,104,105,115,32,119,105,108,108, + 32,98,101,32,117,115,101,100,32,116,111,32,115,101,116,32, + 95,95,110,97,109,101,95,95,59,10,32,32,32,32,32,32, + 32,111,116,104,101,114,119,105,115,101,44,32,39,60,114,117, + 110,95,112,97,116,104,62,39,32,119,105,108,108,32,98,101, + 32,117,115,101,100,32,102,111,114,32,95,95,110,97,109,101, + 95,95,46,10,10,32,32,32,32,32,32,32,82,101,116,117, + 114,110,115,32,116,104,101,32,114,101,115,117,108,116,105,110, + 103,32,109,111,100,117,108,101,32,103,108,111,98,97,108,115, + 32,100,105,99,116,105,111,110,97,114,121,46,10,32,32,32, + 32,78,122,10,60,114,117,110,95,112,97,116,104,62,114,72, + 0,0,0,114,2,0,0,0,41,1,218,12,103,101,116,95, + 105,109,112,111,114,116,101,114,41,2,114,61,0,0,0,114, + 62,0,0,0,41,19,114,78,0,0,0,114,126,0,0,0, + 114,138,0,0,0,218,10,105,115,105,110,115,116,97,110,99, + 101,114,94,0,0,0,114,136,0,0,0,114,70,0,0,0, + 114,20,0,0,0,114,121,0,0,0,218,6,105,110,115,101, + 114,116,114,109,0,0,0,114,6,0,0,0,114,35,0,0, + 0,114,11,0,0,0,114,66,0,0,0,114,64,0,0,0, + 114,67,0,0,0,218,6,114,101,109,111,118,101,114,92,0, + 0,0,41,12,218,9,112,97,116,104,95,110,97,109,101,114, + 59,0,0,0,114,117,0,0,0,114,61,0,0,0,114,138, + 0,0,0,218,8,105,109,112,111,114,116,101,114,114,57,0, + 0,0,114,63,0,0,0,114,9,0,0,0,114,60,0,0, + 0,114,68,0,0,0,114,69,0,0,0,115,12,0,0,0, + 32,32,32,32,32,32,32,32,32,32,32,32,114,15,0,0, + 0,114,4,0,0,0,114,4,0,0,0,6,1,0,0,115, + 137,1,0,0,128,0,240,30,0,8,16,208,7,23,216,19, + 31,136,8,216,15,23,215,15,34,209,15,34,160,51,211,15, + 39,168,1,209,15,42,128,72,221,4,36,217,15,27,152,73, + 211,15,38,128,72,220,7,17,144,40,156,68,160,20,155,74, + 212,7,39,244,6,0,23,42,168,40,176,73,211,22,62,137, + 11,136,4,136,101,220,15,31,160,4,160,108,176,72,216,41, + 49,184,117,244,3,1,16,70,1,240,0,1,9,70,1,244, + 10,0,9,12,143,8,137,8,143,15,137,15,152,1,152,57, + 212,8,37,240,2,17,9,21,244,14,0,40,64,1,211,39, + 65,209,12,36,136,72,144,104,160,4,220,17,28,152,88,211, + 17,38,240,0,4,13,73,1,168,43,220,17,31,160,9,211, + 17,42,241,3,4,13,73,1,224,30,41,215,30,48,209,30, + 48,215,30,57,209,30,57,144,11,220,23,32,160,20,160,123, + 176,76,216,36,44,168,104,184,8,243,3,1,24,66,1,223, + 66,70,193,36,195,38,247,9,4,13,73,1,247,0,4,13, + 73,1,241,0,4,13,73,1,240,12,3,13,21,220,16,19, + 151,8,145,8,151,15,145,15,160,9,213,16,42,248,220,19, + 29,242,0,1,13,21,217,16,20,240,3,1,13,21,250,247, + 17,4,13,73,1,240,0,4,13,73,1,250,247,0,4,13, + 73,1,247,0,4,13,73,1,241,0,4,13,73,1,250,240, + 12,3,13,21,220,16,19,151,8,145,8,151,15,145,15,160, + 9,213,16,42,248,220,19,29,242,0,1,13,21,217,16,20, + 240,3,1,13,21,251,240,5,3,13,21,220,16,19,151,8, + 145,8,151,15,145,15,160,9,213,16,42,248,220,19,29,242, + 0,1,13,21,217,16,20,240,3,1,13,21,253,115,138,0, + 0,0,193,60,25,69,40,0,194,21,12,68,44,3,194,33, + 52,68,23,5,195,21,9,68,44,3,195,30,9,69,40,0, + 195,40,31,68,8,2,196,8,9,68,20,5,196,19,1,68, + 20,5,196,23,5,68,32,9,196,28,7,68,44,3,196,35, + 9,69,40,0,196,44,5,68,53,7,196,49,7,69,40,0, + 196,57,31,69,25,0,197,25,9,69,37,3,197,36,1,69, + 37,3,197,40,1,70,25,3,197,42,31,70,10,4,198,9, + 1,70,25,3,198,10,9,70,22,7,198,19,2,70,25,3, + 198,21,1,70,22,7,198,22,3,70,25,3,114,76,0,0, + 0,233,2,0,0,0,122,33,78,111,32,109,111,100,117,108, + 101,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32, + 101,120,101,99,117,116,105,111,110,41,1,218,4,102,105,108, + 101,41,5,78,78,78,78,78,41,1,84,41,3,78,78,70, + 41,2,78,78,41,29,114,32,0,0,0,114,20,0,0,0, + 218,19,105,109,112,111,114,116,108,105,98,46,109,97,99,104, + 105,110,101,114,121,114,87,0,0,0,218,14,105,109,112,111, + 114,116,108,105,98,46,117,116,105,108,114,130,0,0,0,114, + 127,0,0,0,218,7,95,95,97,108,108,95,95,114,94,0, + 0,0,114,10,0,0,0,114,38,0,0,0,114,6,0,0, + 0,114,35,0,0,0,114,64,0,0,0,114,70,0,0,0, + 114,80,0,0,0,114,96,0,0,0,218,9,69,120,99,101, + 112,116,105,111,110,114,107,0,0,0,114,115,0,0,0,114, + 3,0,0,0,114,109,0,0,0,114,136,0,0,0,114,4, + 0,0,0,114,29,0,0,0,218,3,108,101,110,114,43,0, + 0,0,218,5,112,114,105,110,116,218,6,115,116,100,101,114, + 114,114,33,0,0,0,114,17,0,0,0,114,15,0,0,0, + 250,8,60,109,111,100,117,108,101,62,114,153,0,0,0,1, + 0,0,0,115,246,0,0,0,240,3,1,1,1,241,2,7, + 1,4,243,24,0,1,11,219,0,26,219,0,21,219,0,9, + 219,0,9,240,6,0,5,17,144,42,240,3,2,11,2,128, + 7,241,10,0,14,18,144,35,139,89,128,10,244,4,21,1, + 32,144,38,244,0,21,1,32,244,46,13,1,40,144,86,244, + 0,13,1,40,240,32,0,47,51,216,38,42,216,41,45,243, + 5,24,1,23,240,52,0,41,45,216,44,48,216,47,51,243, + 5,11,1,30,240,28,0,41,52,243,0,59,1,32,244,122, + 1,1,1,77,1,136,89,244,0,1,1,77,1,243,14,26, + 1,43,240,56,0,39,43,216,40,45,243,3,28,1,69,1, + 240,60,0,36,47,243,0,16,1,44,242,38,10,1,23,243, + 24,47,1,21,240,100,1,0,4,12,136,122,210,3,25,225, + 7,10,136,51,143,56,137,56,131,125,144,113,210,7,24,217, + 8,13,208,14,49,184,3,191,10,185,10,214,8,67,224,12, + 15,143,72,137,72,144,81,136,75,217,8,27,152,67,159,72, + 153,72,160,81,153,75,213,8,40,240,13,0,4,26,114,17, + 0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/site.h b/contrib/tools/python3/src/Python/frozen_modules/site.h new file mode 100644 index 00000000000..df8b6f839f6 --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/site.h @@ -0,0 +1,1751 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__site[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, + 0,0,0,0,0,243,94,1,0,0,151,0,100,0,90,0, + 100,1,100,2,108,1,90,1,100,1,100,2,108,2,90,2, + 100,1,100,2,108,3,90,3,100,1,100,2,108,4,90,4, + 100,1,100,2,108,5,90,5,100,1,100,2,108,6,90,6, + 101,1,106,14,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,101,1,106,16,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,103,2,97,9, + 100,2,97,10,100,2,97,11,100,2,97,12,100,3,132,0, + 90,13,100,4,132,0,90,14,100,5,132,0,90,15,100,6, + 132,0,90,16,100,7,132,0,90,17,100,8,132,0,90,18, + 100,28,100,9,132,1,90,19,100,10,132,0,90,20,100,11, + 132,0,90,21,100,12,132,0,90,22,100,13,132,0,90,23, + 100,14,132,0,90,24,100,15,132,0,90,25,100,28,100,16, + 132,1,90,26,100,28,100,17,132,1,90,27,100,18,132,0, + 90,28,100,19,132,0,90,29,100,20,132,0,90,30,100,21, + 132,0,90,31,100,22,132,0,90,32,100,23,132,0,90,33, + 100,24,132,0,90,34,100,25,132,0,90,35,101,1,106,72, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,74,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,115,7,2,0,101,35,171,0,0,0, + 0,0,0,0,1,0,100,26,132,0,90,38,101,39,100,27, + 107,40,0,0,114,8,2,0,101,38,171,0,0,0,0,0, + 0,0,1,0,121,2,121,2,41,29,97,182,11,0,0,65, + 112,112,101,110,100,32,109,111,100,117,108,101,32,115,101,97, + 114,99,104,32,112,97,116,104,115,32,102,111,114,32,116,104, + 105,114,100,45,112,97,114,116,121,32,112,97,99,107,97,103, + 101,115,32,116,111,32,115,121,115,46,112,97,116,104,46,10, + 10,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42, + 42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42, + 42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42, + 42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42, + 42,10,42,32,84,104,105,115,32,109,111,100,117,108,101,32, + 105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121, + 32,105,109,112,111,114,116,101,100,32,100,117,114,105,110,103, + 32,105,110,105,116,105,97,108,105,122,97,116,105,111,110,46, + 32,42,10,42,42,42,42,42,42,42,42,42,42,42,42,42, + 42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42, + 42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42, + 42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42, + 42,42,42,10,10,84,104,105,115,32,119,105,108,108,32,97, + 112,112,101,110,100,32,115,105,116,101,45,115,112,101,99,105, + 102,105,99,32,112,97,116,104,115,32,116,111,32,116,104,101, + 32,109,111,100,117,108,101,32,115,101,97,114,99,104,32,112, + 97,116,104,46,32,32,79,110,10,85,110,105,120,32,40,105, + 110,99,108,117,100,105,110,103,32,77,97,99,32,79,83,88, + 41,44,32,105,116,32,115,116,97,114,116,115,32,119,105,116, + 104,32,115,121,115,46,112,114,101,102,105,120,32,97,110,100, + 10,115,121,115,46,101,120,101,99,95,112,114,101,102,105,120, + 32,40,105,102,32,100,105,102,102,101,114,101,110,116,41,32, + 97,110,100,32,97,112,112,101,110,100,115,10,108,105,98,47, + 112,121,116,104,111,110,60,118,101,114,115,105,111,110,62,47, + 115,105,116,101,45,112,97,99,107,97,103,101,115,46,10,79, + 110,32,111,116,104,101,114,32,112,108,97,116,102,111,114,109, + 115,32,40,115,117,99,104,32,97,115,32,87,105,110,100,111, + 119,115,41,44,32,105,116,32,116,114,105,101,115,32,101,97, + 99,104,32,111,102,32,116,104,101,10,112,114,101,102,105,120, + 101,115,32,100,105,114,101,99,116,108,121,44,32,97,115,32, + 119,101,108,108,32,97,115,32,119,105,116,104,32,108,105,98, + 47,115,105,116,101,45,112,97,99,107,97,103,101,115,32,97, + 112,112,101,110,100,101,100,46,32,32,84,104,101,10,114,101, + 115,117,108,116,105,110,103,32,100,105,114,101,99,116,111,114, + 105,101,115,44,32,105,102,32,116,104,101,121,32,101,120,105, + 115,116,44,32,97,114,101,32,97,112,112,101,110,100,101,100, + 32,116,111,32,115,121,115,46,112,97,116,104,44,32,97,110, + 100,10,97,108,115,111,32,105,110,115,112,101,99,116,101,100, + 32,102,111,114,32,112,97,116,104,32,99,111,110,102,105,103, + 117,114,97,116,105,111,110,32,102,105,108,101,115,46,10,10, + 73,102,32,97,32,102,105,108,101,32,110,97,109,101,100,32, + 34,112,121,118,101,110,118,46,99,102,103,34,32,101,120,105, + 115,116,115,32,111,110,101,32,100,105,114,101,99,116,111,114, + 121,32,97,98,111,118,101,32,115,121,115,46,101,120,101,99, + 117,116,97,98,108,101,44,10,115,121,115,46,112,114,101,102, + 105,120,32,97,110,100,32,115,121,115,46,101,120,101,99,95, + 112,114,101,102,105,120,32,97,114,101,32,115,101,116,32,116, + 111,32,116,104,97,116,32,100,105,114,101,99,116,111,114,121, + 32,97,110,100,10,105,116,32,105,115,32,97,108,115,111,32, + 99,104,101,99,107,101,100,32,102,111,114,32,115,105,116,101, + 45,112,97,99,107,97,103,101,115,32,40,115,121,115,46,98, + 97,115,101,95,112,114,101,102,105,120,32,97,110,100,10,115, + 121,115,46,98,97,115,101,95,101,120,101,99,95,112,114,101, + 102,105,120,32,119,105,108,108,32,97,108,119,97,121,115,32, + 98,101,32,116,104,101,32,34,114,101,97,108,34,32,112,114, + 101,102,105,120,101,115,32,111,102,32,116,104,101,32,80,121, + 116,104,111,110,10,105,110,115,116,97,108,108,97,116,105,111, + 110,41,46,32,73,102,32,34,112,121,118,101,110,118,46,99, + 102,103,34,32,40,97,32,98,111,111,116,115,116,114,97,112, + 32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,102, + 105,108,101,41,32,99,111,110,116,97,105,110,115,10,116,104, + 101,32,107,101,121,32,34,105,110,99,108,117,100,101,45,115, + 121,115,116,101,109,45,115,105,116,101,45,112,97,99,107,97, + 103,101,115,34,32,115,101,116,32,116,111,32,97,110,121,116, + 104,105,110,103,32,111,116,104,101,114,32,116,104,97,110,32, + 34,102,97,108,115,101,34,10,40,99,97,115,101,45,105,110, + 115,101,110,115,105,116,105,118,101,41,44,32,116,104,101,32, + 115,121,115,116,101,109,45,108,101,118,101,108,32,112,114,101, + 102,105,120,101,115,32,119,105,108,108,32,115,116,105,108,108, + 32,97,108,115,111,32,98,101,10,115,101,97,114,99,104,101, + 100,32,102,111,114,32,115,105,116,101,45,112,97,99,107,97, + 103,101,115,59,32,111,116,104,101,114,119,105,115,101,32,116, + 104,101,121,32,119,111,110,39,116,46,10,10,65,108,108,32, + 111,102,32,116,104,101,32,114,101,115,117,108,116,105,110,103, + 32,115,105,116,101,45,115,112,101,99,105,102,105,99,32,100, + 105,114,101,99,116,111,114,105,101,115,44,32,105,102,32,116, + 104,101,121,32,101,120,105,115,116,44,32,97,114,101,10,97, + 112,112,101,110,100,101,100,32,116,111,32,115,121,115,46,112, + 97,116,104,44,32,97,110,100,32,97,108,115,111,32,105,110, + 115,112,101,99,116,101,100,32,102,111,114,32,112,97,116,104, + 32,99,111,110,102,105,103,117,114,97,116,105,111,110,10,102, + 105,108,101,115,46,10,10,65,32,112,97,116,104,32,99,111, + 110,102,105,103,117,114,97,116,105,111,110,32,102,105,108,101, + 32,105,115,32,97,32,102,105,108,101,32,119,104,111,115,101, + 32,110,97,109,101,32,104,97,115,32,116,104,101,32,102,111, + 114,109,10,60,112,97,99,107,97,103,101,62,46,112,116,104, + 59,32,105,116,115,32,99,111,110,116,101,110,116,115,32,97, + 114,101,32,97,100,100,105,116,105,111,110,97,108,32,100,105, + 114,101,99,116,111,114,105,101,115,32,40,111,110,101,32,112, + 101,114,32,108,105,110,101,41,10,116,111,32,98,101,32,97, + 100,100,101,100,32,116,111,32,115,121,115,46,112,97,116,104, + 46,32,32,78,111,110,45,101,120,105,115,116,105,110,103,32, + 100,105,114,101,99,116,111,114,105,101,115,32,40,111,114,10, + 110,111,110,45,100,105,114,101,99,116,111,114,105,101,115,41, + 32,97,114,101,32,110,101,118,101,114,32,97,100,100,101,100, + 32,116,111,32,115,121,115,46,112,97,116,104,59,32,110,111, + 32,100,105,114,101,99,116,111,114,121,32,105,115,32,97,100, + 100,101,100,32,116,111,10,115,121,115,46,112,97,116,104,32, + 109,111,114,101,32,116,104,97,110,32,111,110,99,101,46,32, + 32,66,108,97,110,107,32,108,105,110,101,115,32,97,110,100, + 32,108,105,110,101,115,32,98,101,103,105,110,110,105,110,103, + 32,119,105,116,104,10,39,35,39,32,97,114,101,32,115,107, + 105,112,112,101,100,46,32,76,105,110,101,115,32,115,116,97, + 114,116,105,110,103,32,119,105,116,104,32,39,105,109,112,111, + 114,116,39,32,97,114,101,32,101,120,101,99,117,116,101,100, + 46,10,10,70,111,114,32,101,120,97,109,112,108,101,44,32, + 115,117,112,112,111,115,101,32,115,121,115,46,112,114,101,102, + 105,120,32,97,110,100,32,115,121,115,46,101,120,101,99,95, + 112,114,101,102,105,120,32,97,114,101,32,115,101,116,32,116, + 111,10,47,117,115,114,47,108,111,99,97,108,32,97,110,100, + 32,116,104,101,114,101,32,105,115,32,97,32,100,105,114,101, + 99,116,111,114,121,32,47,117,115,114,47,108,111,99,97,108, + 47,108,105,98,47,112,121,116,104,111,110,50,46,53,47,115, + 105,116,101,45,112,97,99,107,97,103,101,115,10,119,105,116, + 104,32,116,104,114,101,101,32,115,117,98,100,105,114,101,99, + 116,111,114,105,101,115,44,32,102,111,111,44,32,98,97,114, + 32,97,110,100,32,115,112,97,109,44,32,97,110,100,32,116, + 119,111,32,112,97,116,104,10,99,111,110,102,105,103,117,114, + 97,116,105,111,110,32,102,105,108,101,115,44,32,102,111,111, + 46,112,116,104,32,97,110,100,32,98,97,114,46,112,116,104, + 46,32,32,65,115,115,117,109,101,32,102,111,111,46,112,116, + 104,32,99,111,110,116,97,105,110,115,32,116,104,101,10,102, + 111,108,108,111,119,105,110,103,58,10,10,32,32,35,32,102, + 111,111,32,112,97,99,107,97,103,101,32,99,111,110,102,105, + 103,117,114,97,116,105,111,110,10,32,32,102,111,111,10,32, + 32,98,97,114,10,32,32,98,108,101,116,99,104,10,10,97, + 110,100,32,98,97,114,46,112,116,104,32,99,111,110,116,97, + 105,110,115,58,10,10,32,32,35,32,98,97,114,32,112,97, + 99,107,97,103,101,32,99,111,110,102,105,103,117,114,97,116, + 105,111,110,10,32,32,98,97,114,10,10,84,104,101,110,32, + 116,104,101,32,102,111,108,108,111,119,105,110,103,32,100,105, + 114,101,99,116,111,114,105,101,115,32,97,114,101,32,97,100, + 100,101,100,32,116,111,32,115,121,115,46,112,97,116,104,44, + 32,105,110,32,116,104,105,115,32,111,114,100,101,114,58,10, + 10,32,32,47,117,115,114,47,108,111,99,97,108,47,108,105, + 98,47,112,121,116,104,111,110,50,46,53,47,115,105,116,101, + 45,112,97,99,107,97,103,101,115,47,98,97,114,10,32,32, + 47,117,115,114,47,108,111,99,97,108,47,108,105,98,47,112, + 121,116,104,111,110,50,46,53,47,115,105,116,101,45,112,97, + 99,107,97,103,101,115,47,102,111,111,10,10,78,111,116,101, + 32,116,104,97,116,32,98,108,101,116,99,104,32,105,115,32, + 111,109,105,116,116,101,100,32,98,101,99,97,117,115,101,32, + 105,116,32,100,111,101,115,110,39,116,32,101,120,105,115,116, + 59,32,98,97,114,32,112,114,101,99,101,100,101,115,32,102, + 111,111,10,98,101,99,97,117,115,101,32,98,97,114,46,112, + 116,104,32,99,111,109,101,115,32,97,108,112,104,97,98,101, + 116,105,99,97,108,108,121,32,98,101,102,111,114,101,32,102, + 111,111,46,112,116,104,59,32,97,110,100,32,115,112,97,109, + 32,105,115,10,111,109,105,116,116,101,100,32,98,101,99,97, + 117,115,101,32,105,116,32,105,115,32,110,111,116,32,109,101, + 110,116,105,111,110,101,100,32,105,110,32,101,105,116,104,101, + 114,32,112,97,116,104,32,99,111,110,102,105,103,117,114,97, + 116,105,111,110,32,102,105,108,101,46,10,10,84,104,101,32, + 114,101,97,100,108,105,110,101,32,109,111,100,117,108,101,32, + 105,115,32,97,108,115,111,32,97,117,116,111,109,97,116,105, + 99,97,108,108,121,32,99,111,110,102,105,103,117,114,101,100, + 32,116,111,32,101,110,97,98,108,101,10,99,111,109,112,108, + 101,116,105,111,110,32,102,111,114,32,115,121,115,116,101,109, + 115,32,116,104,97,116,32,115,117,112,112,111,114,116,32,105, + 116,46,32,32,84,104,105,115,32,99,97,110,32,98,101,32, + 111,118,101,114,114,105,100,100,101,110,32,105,110,10,115,105, + 116,101,99,117,115,116,111,109,105,122,101,44,32,117,115,101, + 114,99,117,115,116,111,109,105,122,101,32,111,114,32,80,89, + 84,72,79,78,83,84,65,82,84,85,80,46,32,32,83,116, + 97,114,116,105,110,103,32,80,121,116,104,111,110,32,105,110, + 10,105,115,111,108,97,116,101,100,32,109,111,100,101,32,40, + 45,73,41,32,100,105,115,97,98,108,101,115,32,97,117,116, + 111,109,97,116,105,99,32,114,101,97,100,108,105,110,101,32, + 99,111,110,102,105,103,117,114,97,116,105,111,110,46,10,10, + 65,102,116,101,114,32,116,104,101,115,101,32,111,112,101,114, + 97,116,105,111,110,115,44,32,97,110,32,97,116,116,101,109, + 112,116,32,105,115,32,109,97,100,101,32,116,111,32,105,109, + 112,111,114,116,32,97,32,109,111,100,117,108,101,10,110,97, + 109,101,100,32,115,105,116,101,99,117,115,116,111,109,105,122, + 101,44,32,119,104,105,99,104,32,99,97,110,32,112,101,114, + 102,111,114,109,32,97,114,98,105,116,114,97,114,121,32,97, + 100,100,105,116,105,111,110,97,108,10,115,105,116,101,45,115, + 112,101,99,105,102,105,99,32,99,117,115,116,111,109,105,122, + 97,116,105,111,110,115,46,32,32,73,102,32,116,104,105,115, + 32,105,109,112,111,114,116,32,102,97,105,108,115,32,119,105, + 116,104,32,97,110,10,73,109,112,111,114,116,69,114,114,111, + 114,32,101,120,99,101,112,116,105,111,110,44,32,105,116,32, + 105,115,32,115,105,108,101,110,116,108,121,32,105,103,110,111, + 114,101,100,46,10,233,0,0,0,0,78,99,1,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, + 243,112,0,0,0,151,0,116,0,0,0,0,0,0,0,0, + 0,106,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,106,4,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,114,28,116,7,0,0,0, + 0,0,0,0,0,124,0,116,0,0,0,0,0,0,0,0, + 0,106,8,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,172,1,171,2,0,0,0,0,0,0,1, + 0,121,0,121,0,41,2,78,169,1,218,4,102,105,108,101, + 41,5,218,3,115,121,115,218,5,102,108,97,103,115,218,7, + 118,101,114,98,111,115,101,218,5,112,114,105,110,116,218,6, + 115,116,100,101,114,114,41,1,218,7,109,101,115,115,97,103, + 101,115,1,0,0,0,32,250,13,60,102,114,111,122,101,110, + 32,115,105,116,101,62,218,6,95,116,114,97,99,101,114,13, + 0,0,0,92,0,0,0,115,34,0,0,0,128,0,220,7, + 10,135,121,129,121,215,7,24,210,7,24,220,8,13,136,103, + 156,67,159,74,153,74,214,8,39,240,3,0,8,25,243,0, + 0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,7,0,0,0,243,218,0,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,106,4,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,124,0,142,0,125,1,9,0,116,0,0,0,0,0,0, + 0,0,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,7,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,171,1,0, + 0,0,0,0,0,125,1,124,1,116,0,0,0,0,0,0, + 0,0,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,11,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,171,1,0, + 0,0,0,0,0,102,2,83,0,35,0,116,8,0,0,0, + 0,0,0,0,0,36,0,114,3,1,0,89,0,140,44,119, + 0,120,3,89,0,119,1,169,1,78,41,6,218,2,111,115, + 218,4,112,97,116,104,218,4,106,111,105,110,218,7,97,98, + 115,112,97,116,104,218,7,79,83,69,114,114,111,114,218,8, + 110,111,114,109,99,97,115,101,41,2,218,5,112,97,116,104, + 115,218,3,100,105,114,115,2,0,0,0,32,32,114,12,0, + 0,0,218,8,109,97,107,101,112,97,116,104,114,25,0,0, + 0,97,0,0,0,115,91,0,0,0,128,0,220,10,12,143, + 39,137,39,143,44,137,44,152,5,208,10,30,128,67,240,2, + 3,5,13,220,14,16,143,103,137,103,143,111,137,111,152,99, + 211,14,34,136,3,240,6,0,12,15,148,2,151,7,145,7, + 215,16,32,209,16,32,160,19,211,16,37,208,11,37,208,4, + 37,248,244,5,0,12,19,242,0,1,5,13,217,8,12,240, + 3,1,5,13,250,115,17,0,0,0,158,31,65,30,0,193, + 30,9,65,42,3,193,41,1,65,42,3,99,0,0,0,0, + 0,0,0,0,0,0,0,0,6,0,0,0,3,0,0,0, + 243,60,2,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,116,2,0,0,0,0,0,0,0,0,106,4,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,171,1,0,0,0, + 0,0,0,68,0,93,126,0,0,125,0,100,1,125,1,9, + 0,124,0,106,8,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,10,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,125,1,124,1,100, + 2,118,1,114,1,140,33,9,0,116,18,0,0,0,0,0, + 0,0,0,106,20,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,23,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,0,106,24,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,171,1,0,0,0,0,0,0,124,0,95,12,0,0,0, + 0,0,0,0,0,9,0,116,18,0,0,0,0,0,0,0, + 0,106,20,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,106,23,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,0,106,30,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 1,0,0,0,0,0,0,124,0,95,15,0,0,0,0,0, + 0,0,0,140,128,4,0,121,1,35,0,116,12,0,0,0, + 0,0,0,0,0,36,0,114,52,1,0,9,0,124,0,106, + 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,16,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,106,10,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,125,1,110,15,35, + 0,116,12,0,0,0,0,0,0,0,0,36,0,114,3,1, + 0,89,0,110,4,119,0,120,3,89,0,119,1,89,0,140, + 162,119,0,120,3,89,0,119,1,35,0,116,12,0,0,0, + 0,0,0,0,0,116,26,0,0,0,0,0,0,0,0,116, + 28,0,0,0,0,0,0,0,0,102,3,36,0,114,3,1, + 0,89,0,140,136,119,0,120,3,89,0,119,1,35,0,116, + 12,0,0,0,0,0,0,0,0,116,26,0,0,0,0,0, + 0,0,0,116,28,0,0,0,0,0,0,0,0,102,3,36, + 0,114,3,1,0,89,0,140,242,119,0,120,3,89,0,119, + 1,41,3,122,69,83,101,116,32,97,108,108,32,109,111,100, + 117,108,101,32,95,95,102,105,108,101,95,95,32,97,110,100, + 32,95,95,99,97,99,104,101,100,95,95,32,97,116,116,114, + 105,98,117,116,101,115,32,116,111,32,97,110,32,97,98,115, + 111,108,117,116,101,32,112,97,116,104,78,62,2,0,0,0, + 218,17,95,102,114,111,122,101,110,95,105,109,112,111,114,116, + 108,105,98,218,26,95,102,114,111,122,101,110,95,105,109,112, + 111,114,116,108,105,98,95,101,120,116,101,114,110,97,108,41, + 16,218,3,115,101,116,114,6,0,0,0,218,7,109,111,100, + 117,108,101,115,218,6,118,97,108,117,101,115,218,10,95,95, + 108,111,97,100,101,114,95,95,218,10,95,95,109,111,100,117, + 108,101,95,95,218,14,65,116,116,114,105,98,117,116,101,69, + 114,114,111,114,218,8,95,95,115,112,101,99,95,95,218,6, + 108,111,97,100,101,114,114,17,0,0,0,114,18,0,0,0, + 114,20,0,0,0,218,8,95,95,102,105,108,101,95,95,114, + 21,0,0,0,218,9,84,121,112,101,69,114,114,111,114,218, + 10,95,95,99,97,99,104,101,100,95,95,41,2,218,1,109, + 218,13,108,111,97,100,101,114,95,109,111,100,117,108,101,115, + 2,0,0,0,32,32,114,12,0,0,0,218,9,97,98,115, + 95,112,97,116,104,115,114,42,0,0,0,106,0,0,0,115, + 245,0,0,0,128,0,228,13,16,148,19,151,27,145,27,215, + 17,35,209,17,35,211,17,37,211,13,38,242,0,18,5,17, + 136,1,216,24,28,136,13,240,2,6,9,21,216,28,29,159, + 76,153,76,215,28,51,209,28,51,136,77,240,12,0,12,25, + 208,32,83,209,11,83,216,12,20,240,2,3,9,17,220,25, + 27,159,23,153,23,159,31,153,31,168,17,175,26,169,26,211, + 25,52,136,65,140,74,240,6,3,9,17,220,27,29,159,55, + 153,55,159,63,153,63,168,49,175,60,169,60,211,27,56,136, + 65,141,76,241,33,18,5,17,248,244,8,0,16,30,242,0, + 4,9,21,240,2,3,13,21,216,32,33,167,10,161,10,215, + 32,49,209,32,49,215,32,60,209,32,60,145,13,248,220,19, + 33,242,0,1,13,21,217,16,20,240,3,1,13,21,252,240, + 7,4,9,21,251,244,18,0,17,31,164,7,172,25,208,15, + 51,242,0,1,9,17,217,12,16,240,3,1,9,17,251,244, + 8,0,17,31,164,7,172,25,208,15,51,242,0,1,9,17, + 217,12,16,240,3,1,9,17,250,115,89,0,0,0,174,22, + 66,42,2,193,10,46,67,42,2,193,57,46,68,4,2,194, + 42,9,67,39,5,194,52,32,67,21,4,195,20,1,67,39, + 5,195,21,9,67,33,7,195,30,2,67,39,5,195,32,1, + 67,33,7,195,33,3,67,39,5,195,38,1,67,39,5,195, + 42,20,68,1,5,196,0,1,68,1,5,196,4,20,68,27, + 5,196,26,1,68,27,5,99,0,0,0,0,0,0,0,0, + 0,0,0,0,4,0,0,0,3,0,0,0,243,216,0,0, + 0,151,0,103,0,125,0,116,1,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,125,1,116,2,0,0,0, + 0,0,0,0,0,106,4,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,68,0,93,55,0,0,125, + 2,116,7,0,0,0,0,0,0,0,0,124,2,171,1,0, + 0,0,0,0,0,92,2,0,0,125,2,125,3,124,3,124, + 1,118,1,115,1,140,22,124,0,106,9,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,2,171, + 1,0,0,0,0,0,0,1,0,124,1,106,11,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 3,171,1,0,0,0,0,0,0,1,0,140,57,4,0,124, + 0,116,2,0,0,0,0,0,0,0,0,106,4,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 1,100,1,27,0,124,1,83,0,41,2,122,75,32,82,101, + 109,111,118,101,32,100,117,112,108,105,99,97,116,101,32,101, + 110,116,114,105,101,115,32,102,114,111,109,32,115,121,115,46, + 112,97,116,104,32,97,108,111,110,103,32,119,105,116,104,32, + 109,97,107,105,110,103,32,116,104,101,109,10,32,32,32,32, + 97,98,115,111,108,117,116,101,78,41,6,114,29,0,0,0, + 114,6,0,0,0,114,18,0,0,0,114,25,0,0,0,218, + 6,97,112,112,101,110,100,218,3,97,100,100,41,4,218,1, + 76,218,11,107,110,111,119,110,95,112,97,116,104,115,114,24, + 0,0,0,218,7,100,105,114,99,97,115,101,115,4,0,0, + 0,32,32,32,32,114,12,0,0,0,218,14,114,101,109,111, + 118,101,100,117,112,112,97,116,104,115,114,49,0,0,0,129, + 0,0,0,115,102,0,0,0,128,0,240,10,0,9,11,128, + 65,220,18,21,147,37,128,75,220,15,18,143,120,137,120,242, + 0,7,5,37,136,3,244,8,0,24,32,160,3,147,125,137, + 12,136,3,136,87,216,11,18,152,43,210,11,37,216,12,13, + 143,72,137,72,144,83,140,77,216,12,23,143,79,137,79,152, + 71,213,12,36,240,15,7,5,37,240,16,0,19,20,132,67, + 135,72,129,72,137,81,128,75,216,11,22,208,4,22,114,14, + 0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0, + 5,0,0,0,3,0,0,0,243,224,0,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,125,0,116,2,0,0,0,0,0,0,0,0,106,4,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,68,0,93,65,0,0,125,1,9,0,116,6,0,0,0, + 0,0,0,0,0,106,4,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,9,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,114,31,116,11,0,0,0,0,0, + 0,0,0,124,1,171,1,0,0,0,0,0,0,92,2,0, + 0,125,2,125,3,124,0,106,13,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,3,171,1,0, + 0,0,0,0,0,1,0,140,67,4,0,124,0,83,0,35, + 0,116,14,0,0,0,0,0,0,0,0,36,0,114,3,1, + 0,89,0,140,81,119,0,120,3,89,0,119,1,41,1,122, + 69,82,101,116,117,114,110,32,97,32,115,101,116,32,99,111, + 110,116,97,105,110,105,110,103,32,97,108,108,32,101,120,105, + 115,116,105,110,103,32,102,105,108,101,32,115,121,115,116,101, + 109,32,105,116,101,109,115,32,102,114,111,109,32,115,121,115, + 46,112,97,116,104,46,41,8,114,29,0,0,0,114,6,0, + 0,0,114,18,0,0,0,114,17,0,0,0,218,6,101,120, + 105,115,116,115,114,25,0,0,0,114,45,0,0,0,114,38, + 0,0,0,41,4,218,1,100,218,4,105,116,101,109,218,1, + 95,218,8,105,116,101,109,99,97,115,101,115,4,0,0,0, + 32,32,32,32,114,12,0,0,0,218,14,95,105,110,105,116, + 95,112,97,116,104,105,110,102,111,114,56,0,0,0,148,0, + 0,0,115,101,0,0,0,128,0,228,8,11,139,5,128,65, + 220,16,19,151,8,145,8,242,0,6,5,21,136,4,240,2, + 5,9,21,220,15,17,143,119,137,119,143,126,137,126,152,100, + 212,15,35,220,30,38,160,116,155,110,145,11,144,1,144,56, + 216,16,17,151,5,145,5,144,104,148,15,248,240,9,6,5, + 21,240,14,0,12,13,128,72,248,244,5,0,16,25,242,0, + 1,9,21,217,12,20,240,3,1,9,21,250,115,17,0,0, + 0,159,62,65,33,2,193,33,9,65,45,5,193,44,1,65, + 45,5,99,3,0,0,0,0,0,0,0,0,0,0,0,9, + 0,0,0,3,0,0,0,243,250,4,0,0,151,0,124,2, + 128,13,116,1,0,0,0,0,0,0,0,0,171,0,0,0, + 0,0,0,0,125,2,100,2,125,3,110,2,100,3,125,3, + 116,2,0,0,0,0,0,0,0,0,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,124,1,171,2,0,0,0,0,0,0,125,4, + 9,0,116,3,0,0,0,0,0,0,0,0,106,8,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,4,171,1,0,0,0,0,0,0,125,5,116,13,0,0, + 0,0,0,0,0,0,124,5,100,4,100,5,171,3,0,0, + 0,0,0,0,116,14,0,0,0,0,0,0,0,0,106,16, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,122,1,0,0,115,30,116,13,0,0,0,0,0,0, + 0,0,124,5,100,6,100,5,171,3,0,0,0,0,0,0, + 116,14,0,0,0,0,0,0,0,0,106,18,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,1, + 0,0,114,15,116,21,0,0,0,0,0,0,0,0,100,7, + 124,4,155,2,157,2,171,1,0,0,0,0,0,0,1,0, + 121,1,116,21,0,0,0,0,0,0,0,0,100,8,124,4, + 155,2,157,2,171,1,0,0,0,0,0,0,1,0,9,0, + 116,23,0,0,0,0,0,0,0,0,106,24,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,23, + 0,0,0,0,0,0,0,0,106,26,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,4,171,1, + 0,0,0,0,0,0,100,9,172,10,171,2,0,0,0,0, + 0,0,125,6,124,6,53,0,1,0,116,29,0,0,0,0, + 0,0,0,0,124,6,171,1,0,0,0,0,0,0,68,0, + 93,187,0,0,92,2,0,0,125,7,125,8,124,8,106,31, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,11,171,1,0,0,0,0,0,0,114,1,140,24, + 124,8,106,33,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,100,12, + 107,40,0,0,114,1,140,44,9,0,124,8,106,31,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,13,171,1,0,0,0,0,0,0,114,12,116,35,0,0, + 0,0,0,0,0,0,124,8,171,1,0,0,0,0,0,0, + 1,0,140,74,124,8,106,37,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,125,8,116,39,0,0,0,0,0,0,0,0,124,0, + 124,8,171,2,0,0,0,0,0,0,92,2,0,0,125,9, + 125,10,124,10,124,2,118,1,114,79,116,2,0,0,0,0, + 0,0,0,0,106,4,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,106,41,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,9,171,1, + 0,0,0,0,0,0,114,48,116,42,0,0,0,0,0,0, + 0,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,106,45,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,9,171,1,0,0, + 0,0,0,0,1,0,124,2,106,47,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,10,171,1, + 0,0,0,0,0,0,1,0,140,189,4,0,100,1,100,1, + 100,1,171,2,0,0,0,0,0,0,1,0,124,3,114,2, + 100,1,125,2,124,2,83,0,35,0,116,10,0,0,0,0, + 0,0,0,0,36,0,114,3,1,0,89,0,121,1,119,0, + 120,3,89,0,119,1,35,0,116,10,0,0,0,0,0,0, + 0,0,36,0,114,3,1,0,89,0,121,1,119,0,120,3, + 89,0,119,1,35,0,116,48,0,0,0,0,0,0,0,0, + 36,0,114,161,125,11,116,51,0,0,0,0,0,0,0,0, + 100,14,106,53,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,7,100,15,122,0,0,0,124,4, + 171,2,0,0,0,0,0,0,116,42,0,0,0,0,0,0, + 0,0,106,54,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,172,16,171,2,0,0,0,0,0,0, + 1,0,100,5,100,1,108,28,125,12,124,12,106,59,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,11,171,1,0,0,0,0,0,0,68,0,93,53,0,0, + 125,13,124,13,106,61,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0, + 68,0,93,32,0,0,125,8,116,51,0,0,0,0,0,0, + 0,0,100,17,124,8,122,0,0,0,116,42,0,0,0,0, + 0,0,0,0,106,54,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,172,16,171,2,0,0,0,0, + 0,0,1,0,140,34,4,0,140,55,4,0,116,51,0,0, + 0,0,0,0,0,0,100,18,116,42,0,0,0,0,0,0, + 0,0,106,54,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,172,16,171,2,0,0,0,0,0,0, + 1,0,89,0,100,1,125,11,126,11,1,0,140,209,100,1, + 125,11,126,11,119,1,119,0,120,3,89,0,119,1,35,0, + 49,0,115,1,119,2,1,0,89,0,1,0,1,0,140,218, + 120,3,89,0,119,1,41,19,122,214,80,114,111,99,101,115, + 115,32,97,32,46,112,116,104,32,102,105,108,101,32,119,105, + 116,104,105,110,32,116,104,101,32,115,105,116,101,45,112,97, + 99,107,97,103,101,115,32,100,105,114,101,99,116,111,114,121, + 58,10,32,32,32,32,32,32,32,70,111,114,32,101,97,99, + 104,32,108,105,110,101,32,105,110,32,116,104,101,32,102,105, + 108,101,44,32,101,105,116,104,101,114,32,99,111,109,98,105, + 110,101,32,105,116,32,119,105,116,104,32,115,105,116,101,100, + 105,114,32,116,111,32,97,32,112,97,116,104,10,32,32,32, + 32,32,32,32,97,110,100,32,97,100,100,32,116,104,97,116, + 32,116,111,32,107,110,111,119,110,95,112,97,116,104,115,44, + 32,111,114,32,101,120,101,99,117,116,101,32,105,116,32,105, + 102,32,105,116,32,115,116,97,114,116,115,32,119,105,116,104, + 32,39,105,109,112,111,114,116,32,39,46,10,32,32,32,32, + 78,84,70,218,8,115,116,95,102,108,97,103,115,114,2,0, + 0,0,218,18,115,116,95,102,105,108,101,95,97,116,116,114, + 105,98,117,116,101,115,122,27,83,107,105,112,112,105,110,103, + 32,104,105,100,100,101,110,32,46,112,116,104,32,102,105,108, + 101,58,32,122,22,80,114,111,99,101,115,115,105,110,103,32, + 46,112,116,104,32,102,105,108,101,58,32,218,6,108,111,99, + 97,108,101,169,1,218,8,101,110,99,111,100,105,110,103,250, + 1,35,218,0,41,2,122,7,105,109,112,111,114,116,32,122, + 7,105,109,112,111,114,116,9,122,34,69,114,114,111,114,32, + 112,114,111,99,101,115,115,105,110,103,32,108,105,110,101,32, + 123,58,100,125,32,111,102,32,123,125,58,10,233,1,0,0, + 0,114,4,0,0,0,122,2,32,32,122,26,10,82,101,109, + 97,105,110,100,101,114,32,111,102,32,102,105,108,101,32,105, + 103,110,111,114,101,100,41,31,114,56,0,0,0,114,17,0, + 0,0,114,18,0,0,0,114,19,0,0,0,218,5,108,115, + 116,97,116,114,21,0,0,0,218,7,103,101,116,97,116,116, + 114,218,4,115,116,97,116,218,9,85,70,95,72,73,68,68, + 69,78,218,21,70,73,76,69,95,65,84,84,82,73,66,85, + 84,69,95,72,73,68,68,69,78,114,13,0,0,0,218,2, + 105,111,218,13,84,101,120,116,73,79,87,114,97,112,112,101, + 114,218,9,111,112,101,110,95,99,111,100,101,218,9,101,110, + 117,109,101,114,97,116,101,218,10,115,116,97,114,116,115,119, + 105,116,104,218,5,115,116,114,105,112,218,4,101,120,101,99, + 218,6,114,115,116,114,105,112,114,25,0,0,0,114,51,0, + 0,0,114,6,0,0,0,114,44,0,0,0,114,45,0,0, + 0,218,9,69,120,99,101,112,116,105,111,110,114,9,0,0, + 0,218,6,102,111,114,109,97,116,114,10,0,0,0,218,9, + 116,114,97,99,101,98,97,99,107,218,16,102,111,114,109,97, + 116,95,101,120,99,101,112,116,105,111,110,218,10,115,112,108, + 105,116,108,105,110,101,115,41,14,218,7,115,105,116,101,100, + 105,114,218,4,110,97,109,101,114,47,0,0,0,218,5,114, + 101,115,101,116,218,8,102,117,108,108,110,97,109,101,218,2, + 115,116,218,1,102,218,1,110,218,4,108,105,110,101,114,24, + 0,0,0,114,48,0,0,0,218,3,101,120,99,114,81,0, + 0,0,218,6,114,101,99,111,114,100,115,14,0,0,0,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,114,12,0, + 0,0,218,10,97,100,100,112,97,99,107,97,103,101,114,94, + 0,0,0,161,0,0,0,115,58,2,0,0,128,0,240,10, + 0,8,19,208,7,26,220,22,36,211,22,38,136,11,216,16, + 20,137,5,224,16,21,136,5,220,15,17,143,119,137,119,143, + 124,137,124,152,71,160,84,211,15,42,128,72,240,2,3,5, + 15,220,13,15,143,88,137,88,144,104,211,13,31,136,2,244, + 6,0,10,17,144,18,144,90,160,17,211,9,35,164,100,167, + 110,161,110,210,9,52,220,9,16,144,18,208,21,41,168,49, + 211,9,45,180,4,215,48,74,209,48,74,210,9,74,220,8, + 14,208,17,44,168,88,168,76,208,15,57,212,8,58,216,8, + 14,220,4,10,208,13,35,160,72,160,60,208,11,48,212,4, + 49,240,2,5,5,15,244,6,0,13,15,215,12,28,209,12, + 28,156,82,159,92,153,92,168,40,211,29,51,184,104,212,12, + 71,136,1,240,6,0,10,11,241,0,23,5,22,220,23,32, + 160,17,147,124,242,0,22,9,22,137,71,136,65,136,116,216, + 15,19,143,127,137,127,152,115,212,15,35,216,16,24,216,15, + 19,143,122,137,122,139,124,152,114,210,15,33,216,16,24,240, + 2,17,13,22,216,19,23,151,63,145,63,208,35,58,212,19, + 59,220,20,24,152,20,148,74,216,20,28,216,23,27,151,123, + 145,123,147,125,144,4,220,31,39,168,7,176,20,211,31,54, + 145,12,144,3,144,87,216,23,30,160,43,209,23,45,180,34, + 183,39,177,39,183,46,177,46,192,19,212,50,69,220,20,23, + 151,72,145,72,151,79,145,79,160,67,212,20,40,216,20,31, + 151,79,145,79,160,71,212,20,44,248,240,27,22,9,22,247, + 3,23,5,22,241,48,0,8,13,216,22,26,136,11,216,11, + 22,208,4,22,248,244,79,1,0,12,19,242,0,1,5,15, + 217,8,14,240,3,1,5,15,251,244,22,0,12,19,242,0, + 1,5,15,217,8,14,240,3,1,5,15,251,244,34,0,20, + 29,242,0,8,13,22,220,16,21,208,22,59,215,22,66,209, + 22,66,192,49,192,81,193,51,200,8,211,22,81,220,27,30, + 159,58,153,58,245,3,1,17,39,227,16,32,216,30,39,215, + 30,56,209,30,56,184,19,211,30,61,242,0,2,17,58,144, + 70,216,32,38,215,32,49,209,32,49,211,32,51,242,0,1, + 21,58,152,4,220,24,29,152,100,160,52,153,105,172,99,175, + 106,169,106,214,24,57,241,3,1,21,58,240,3,2,17,58, + 244,6,0,17,22,208,22,51,188,35,191,42,185,42,213,16, + 69,221,16,21,251,240,17,8,13,22,250,247,31,23,5,22, + 240,0,23,5,22,250,115,103,0,0,0,179,21,70,38,0, + 194,34,42,70,53,0,195,14,56,73,49,3,196,7,28,71, + 4,4,196,35,1,73,49,3,196,36,65,50,71,4,4,198, + 22,2,73,49,3,198,38,9,70,50,3,198,49,1,70,50, + 3,198,53,9,71,1,3,199,0,1,71,1,3,199,4,9, + 73,46,7,199,13,66,22,73,41,7,201,35,6,73,49,3, + 201,41,5,73,46,7,201,46,3,73,49,3,201,49,5,73, + 58,7,99,2,0,0,0,0,0,0,0,0,0,0,0,6, + 0,0,0,3,0,0,0,243,192,1,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,100,1,124,0,155,2,157,2, + 171,1,0,0,0,0,0,0,1,0,124,1,128,13,116,3, + 0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0, + 125,1,100,3,125,2,110,2,100,4,125,2,116,5,0,0, + 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0, + 92,2,0,0,125,0,125,3,124,3,124,1,118,1,114,48, + 116,6,0,0,0,0,0,0,0,0,106,8,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,11, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,171,1,0,0,0,0,0,0,1,0,124,1, + 106,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,3,171,1,0,0,0,0,0,0,1,0, + 9,0,116,15,0,0,0,0,0,0,0,0,106,16,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,171,1,0,0,0,0,0,0,125,4,124,4,68,0, + 143,5,99,2,103,0,99,2,93,38,0,0,125,5,124,5, + 106,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,5,171,1,0,0,0,0,0,0,114,19, + 124,5,106,23,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,6,171,1,0,0,0,0,0,0, + 115,2,124,5,145,2,140,40,4,0,125,4,125,5,116,25, + 0,0,0,0,0,0,0,0,124,4,171,1,0,0,0,0, + 0,0,68,0,93,15,0,0,125,5,116,27,0,0,0,0, + 0,0,0,0,124,0,124,5,124,1,171,3,0,0,0,0, + 0,0,1,0,140,17,4,0,124,2,114,2,100,2,125,1, + 124,1,83,0,35,0,116,18,0,0,0,0,0,0,0,0, + 36,0,114,3,1,0,89,0,121,2,119,0,120,3,89,0, + 119,1,99,2,1,0,99,2,125,5,119,0,41,7,122,84, + 65,100,100,32,39,115,105,116,101,100,105,114,39,32,97,114, + 103,117,109,101,110,116,32,116,111,32,115,121,115,46,112,97, + 116,104,32,105,102,32,109,105,115,115,105,110,103,32,97,110, + 100,32,104,97,110,100,108,101,32,46,112,116,104,32,102,105, + 108,101,115,32,105,110,10,32,32,32,32,39,115,105,116,101, + 100,105,114,39,122,18,65,100,100,105,110,103,32,100,105,114, + 101,99,116,111,114,121,58,32,78,84,70,122,4,46,112,116, + 104,250,1,46,41,14,114,13,0,0,0,114,56,0,0,0, + 114,25,0,0,0,114,6,0,0,0,114,18,0,0,0,114, + 44,0,0,0,114,45,0,0,0,114,17,0,0,0,218,7, + 108,105,115,116,100,105,114,114,21,0,0,0,218,8,101,110, + 100,115,119,105,116,104,114,75,0,0,0,218,6,115,111,114, + 116,101,100,114,94,0,0,0,41,6,114,84,0,0,0,114, + 47,0,0,0,114,86,0,0,0,218,11,115,105,116,101,100, + 105,114,99,97,115,101,218,5,110,97,109,101,115,114,85,0, + 0,0,115,6,0,0,0,32,32,32,32,32,32,114,12,0, + 0,0,218,10,97,100,100,115,105,116,101,100,105,114,114,102, + 0,0,0,216,0,0,0,115,240,0,0,0,128,0,244,6, + 0,5,11,208,13,31,160,7,152,123,208,11,43,212,4,44, + 216,7,18,208,7,26,220,22,36,211,22,38,136,11,216,16, + 20,137,5,224,16,21,136,5,220,27,35,160,71,211,27,44, + 209,4,24,128,71,136,91,216,11,22,152,43,209,11,37,220, + 8,11,143,8,137,8,143,15,137,15,152,7,212,8,32,216, + 8,19,143,15,137,15,152,11,212,8,36,240,2,3,5,15, + 220,16,18,151,10,145,10,152,55,211,16,35,136,5,240,6, + 0,31,36,246,0,1,13,68,1,144,100,216,16,20,151,13, + 145,13,152,102,212,16,37,168,100,175,111,169,111,184,99,212, + 46,66,242,3,0,14,18,240,0,1,13,68,1,128,69,240, + 0,1,13,68,1,228,16,22,144,117,147,13,242,0,1,5, + 47,136,4,220,8,18,144,55,152,68,160,43,213,8,46,240, + 3,1,5,47,225,7,12,216,22,26,136,11,216,11,22,208, + 4,22,248,244,17,0,12,19,242,0,1,5,15,217,8,14, + 240,3,1,5,15,252,242,4,1,13,68,1,115,24,0,0, + 0,193,35,21,67,12,0,193,60,43,67,27,4,195,12,9, + 67,24,3,195,23,1,67,24,3,99,0,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,98, + 1,0,0,151,0,116,0,0,0,0,0,0,0,0,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,4,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,114,1,121,1,116,7,0,0,0, + 0,0,0,0,0,116,8,0,0,0,0,0,0,0,0,100, + 2,171,2,0,0,0,0,0,0,114,58,116,7,0,0,0, + 0,0,0,0,0,116,8,0,0,0,0,0,0,0,0,100, + 3,171,2,0,0,0,0,0,0,114,42,116,9,0,0,0, + 0,0,0,0,0,106,10,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,116,9,0,0,0,0,0,0,0,0,106,12,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171, + 0,0,0,0,0,0,0,107,55,0,0,114,1,121,4,116, + 7,0,0,0,0,0,0,0,0,116,8,0,0,0,0,0, + 0,0,0,100,5,171,2,0,0,0,0,0,0,114,58,116, + 7,0,0,0,0,0,0,0,0,116,8,0,0,0,0,0, + 0,0,0,100,6,171,2,0,0,0,0,0,0,114,42,116, + 9,0,0,0,0,0,0,0,0,106,14,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,116,9,0,0,0,0,0,0,0,0,106, + 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,107,55,0,0,114, + 1,121,4,121,7,41,8,97,44,1,0,0,67,104,101,99, + 107,32,105,102,32,117,115,101,114,32,115,105,116,101,32,100, + 105,114,101,99,116,111,114,121,32,105,115,32,115,97,102,101, + 32,102,111,114,32,105,110,99,108,117,115,105,111,110,10,10, + 32,32,32,32,84,104,101,32,102,117,110,99,116,105,111,110, + 32,116,101,115,116,115,32,102,111,114,32,116,104,101,32,99, + 111,109,109,97,110,100,32,108,105,110,101,32,102,108,97,103, + 32,40,105,110,99,108,117,100,105,110,103,32,101,110,118,105, + 114,111,110,109,101,110,116,32,118,97,114,41,44,10,32,32, + 32,32,112,114,111,99,101,115,115,32,117,105,100,47,103,105, + 100,32,101,113,117,97,108,32,116,111,32,101,102,102,101,99, + 116,105,118,101,32,117,105,100,47,103,105,100,46,10,10,32, + 32,32,32,78,111,110,101,58,32,68,105,115,97,98,108,101, + 100,32,102,111,114,32,115,101,99,117,114,105,116,121,32,114, + 101,97,115,111,110,115,10,32,32,32,32,70,97,108,115,101, + 58,32,68,105,115,97,98,108,101,100,32,98,121,32,117,115, + 101,114,32,40,99,111,109,109,97,110,100,32,108,105,110,101, + 32,111,112,116,105,111,110,41,10,32,32,32,32,84,114,117, + 101,58,32,83,97,102,101,32,97,110,100,32,101,110,97,98, + 108,101,100,10,32,32,32,32,70,218,6,103,101,116,117,105, + 100,218,7,103,101,116,101,117,105,100,78,218,6,103,101,116, + 103,105,100,218,7,103,101,116,101,103,105,100,84,41,9,114, + 6,0,0,0,114,7,0,0,0,218,12,110,111,95,117,115, + 101,114,95,115,105,116,101,218,7,104,97,115,97,116,116,114, + 114,17,0,0,0,114,105,0,0,0,114,104,0,0,0,114, + 107,0,0,0,114,106,0,0,0,169,0,114,14,0,0,0, + 114,12,0,0,0,218,20,99,104,101,99,107,95,101,110,97, + 98,108,101,117,115,101,114,115,105,116,101,114,111,0,0,0, + 242,0,0,0,115,107,0,0,0,128,0,244,20,0,8,11, + 135,121,129,121,215,7,29,210,7,29,216,15,20,228,7,14, + 140,114,144,56,212,7,28,164,23,172,18,168,89,212,33,55, + 228,11,13,143,58,137,58,139,60,156,50,159,57,153,57,155, + 59,210,11,38,216,19,23,220,7,14,140,114,144,56,212,7, + 28,164,23,172,18,168,89,212,33,55,228,11,13,143,58,137, + 58,139,60,156,50,159,57,153,57,155,59,210,11,38,216,19, + 23,224,11,15,114,14,0,0,0,99,0,0,0,0,0,0, + 0,0,0,0,0,0,9,0,0,0,3,0,0,0,243,166, + 1,0,0,151,0,116,0,0,0,0,0,0,0,0,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,106,5,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,1,100,0,171,2,0,0,0, + 0,0,0,125,0,124,0,114,2,124,0,83,0,116,6,0, + 0,0,0,0,0,0,0,106,8,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,100,2,118,0,114, + 1,121,0,100,3,132,0,125,1,116,0,0,0,0,0,0, + 0,0,0,106,10,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,4,107,40,0,0,114,44,116, + 0,0,0,0,0,0,0,0,0,106,2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,106,5,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,5,171,1,0,0,0,0,0,0,120,1,115,2,1, + 0,100,6,125,2,2,0,124,1,124,2,100,7,171,2,0, + 0,0,0,0,0,83,0,116,6,0,0,0,0,0,0,0, + 0,106,8,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,8,107,40,0,0,114,61,116,6,0, + 0,0,0,0,0,0,0,106,12,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,114,45,2,0,124, + 1,100,6,100,9,116,6,0,0,0,0,0,0,0,0,106, + 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,10,116,6,0,0,0,0,0,0,0,0,106, + 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,100,0,100,11,26,0,122,6,0,0,171,4,0, + 0,0,0,0,0,83,0,2,0,124,1,100,6,100,12,171, + 2,0,0,0,0,0,0,83,0,41,13,78,218,14,80,89, + 84,72,79,78,85,83,69,82,66,65,83,69,62,3,0,0, + 0,218,4,119,97,115,105,218,7,118,120,119,111,114,107,115, + 218,10,101,109,115,99,114,105,112,116,101,110,99,0,0,0, + 0,0,0,0,0,0,0,0,0,5,0,0,0,23,0,0, + 0,243,116,0,0,0,151,0,116,0,0,0,0,0,0,0, + 0,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,106,5,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,116,1,0,0,0,0, + 0,0,0,0,106,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,106,6,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,142,0, + 171,1,0,0,0,0,0,0,83,0,114,16,0,0,0,41, + 4,114,17,0,0,0,114,18,0,0,0,218,10,101,120,112, + 97,110,100,117,115,101,114,114,19,0,0,0,41,1,218,4, + 97,114,103,115,115,1,0,0,0,32,114,12,0,0,0,218, + 8,106,111,105,110,117,115,101,114,122,30,95,103,101,116,117, + 115,101,114,98,97,115,101,46,60,108,111,99,97,108,115,62, + 46,106,111,105,110,117,115,101,114,27,1,0,0,115,36,0, + 0,0,128,0,220,15,17,143,119,137,119,215,15,33,209,15, + 33,164,34,167,39,161,39,167,44,161,44,176,4,208,34,53, + 211,15,54,208,8,54,114,14,0,0,0,218,2,110,116,218, + 7,65,80,80,68,65,84,65,250,1,126,218,6,80,121,116, + 104,111,110,218,6,100,97,114,119,105,110,218,7,76,105,98, + 114,97,114,121,122,5,37,100,46,37,100,233,2,0,0,0, + 122,6,46,108,111,99,97,108,41,8,114,17,0,0,0,218, + 7,101,110,118,105,114,111,110,218,3,103,101,116,114,6,0, + 0,0,218,8,112,108,97,116,102,111,114,109,114,85,0,0, + 0,218,10,95,102,114,97,109,101,119,111,114,107,218,12,118, + 101,114,115,105,111,110,95,105,110,102,111,41,3,218,8,101, + 110,118,95,98,97,115,101,114,120,0,0,0,218,4,98,97, + 115,101,115,3,0,0,0,32,32,32,114,12,0,0,0,218, + 12,95,103,101,116,117,115,101,114,98,97,115,101,114,135,0, + 0,0,18,1,0,0,115,180,0,0,0,128,0,220,15,17, + 143,122,137,122,143,126,137,126,208,30,46,176,4,211,15,53, + 128,72,217,7,15,216,15,23,136,15,244,6,0,8,11,135, + 124,129,124,208,23,56,209,7,56,216,15,19,242,4,1,5, + 55,244,6,0,8,10,135,119,129,119,144,36,130,127,220,15, + 17,143,122,137,122,143,126,137,126,152,105,211,15,40,210,15, + 47,168,67,136,4,217,15,23,152,4,152,104,211,15,39,208, + 8,39,228,7,10,135,124,129,124,144,120,210,7,31,164,67, + 167,78,162,78,217,15,23,152,3,152,89,172,3,175,14,169, + 14,216,24,31,164,35,215,34,50,209,34,50,176,50,176,65, + 208,34,54,209,24,54,243,3,1,16,56,240,0,1,9,56, + 241,6,0,12,20,144,67,152,24,211,11,34,208,4,34,114, + 14,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0, + 0,6,0,0,0,3,0,0,0,243,10,1,0,0,151,0, + 116,0,0,0,0,0,0,0,0,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,1, + 116,4,0,0,0,0,0,0,0,0,106,6,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,1, + 107,40,0,0,114,40,116,0,0,0,0,0,0,0,0,0, + 106,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,11,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,2,100,3,171,2,0,0, + 0,0,0,0,125,2,124,0,155,0,100,4,124,2,155,0, + 100,5,157,4,83,0,116,0,0,0,0,0,0,0,0,0, + 106,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,6,107,40,0,0,114,21,116,0,0,0, + 0,0,0,0,0,0,106,14,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,114,5,124,0,155,0, + 100,7,157,2,83,0,124,0,155,0,100,8,124,1,100,9, + 25,0,0,0,155,0,100,2,124,1,100,10,25,0,0,0, + 155,0,100,11,157,6,83,0,41,12,78,114,121,0,0,0, + 114,96,0,0,0,114,64,0,0,0,122,7,92,80,121,116, + 104,111,110,122,14,92,115,105,116,101,45,112,97,99,107,97, + 103,101,115,114,125,0,0,0,122,25,47,108,105,98,47,112, + 121,116,104,111,110,47,115,105,116,101,45,112,97,99,107,97, + 103,101,115,122,11,47,108,105,98,47,112,121,116,104,111,110, + 114,2,0,0,0,114,65,0,0,0,122,14,47,115,105,116, + 101,45,112,97,99,107,97,103,101,115,41,8,114,6,0,0, + 0,114,132,0,0,0,114,17,0,0,0,114,85,0,0,0, + 218,6,119,105,110,118,101,114,218,7,114,101,112,108,97,99, + 101,114,130,0,0,0,114,131,0,0,0,41,3,218,8,117, + 115,101,114,98,97,115,101,218,7,118,101,114,115,105,111,110, + 218,9,118,101,114,95,110,111,100,111,116,115,3,0,0,0, + 32,32,32,114,12,0,0,0,218,9,95,103,101,116,95,112, + 97,116,104,114,142,0,0,0,42,1,0,0,115,130,0,0, + 0,128,0,220,14,17,215,14,30,209,14,30,128,71,228,7, + 9,135,119,129,119,144,36,130,127,220,20,23,151,74,145,74, + 215,20,38,209,20,38,160,115,168,66,211,20,47,136,9,216, + 18,26,144,26,152,56,160,73,160,59,168,111,208,15,62,208, + 8,62,228,7,10,135,124,129,124,144,120,210,7,31,164,67, + 167,78,162,78,216,18,26,144,26,208,27,52,208,15,53,208, + 8,53,224,14,22,136,90,144,123,160,55,168,49,161,58,160, + 44,168,97,176,7,184,1,177,10,168,124,184,62,208,11,74, + 208,4,74,114,14,0,0,0,99,0,0,0,0,0,0,0, + 0,0,0,0,0,2,0,0,0,3,0,0,0,243,46,0, + 0,0,151,0,116,0,0,0,0,0,0,0,0,0,128,10, + 116,3,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,97,0,116,0,0,0,0,0,0,0,0,0,83,0, + 41,1,122,203,82,101,116,117,114,110,115,32,116,104,101,32, + 96,117,115,101,114,32,98,97,115,101,96,32,100,105,114,101, + 99,116,111,114,121,32,112,97,116,104,46,10,10,32,32,32, + 32,84,104,101,32,96,117,115,101,114,32,98,97,115,101,96, + 32,100,105,114,101,99,116,111,114,121,32,99,97,110,32,98, + 101,32,117,115,101,100,32,116,111,32,115,116,111,114,101,32, + 100,97,116,97,46,32,73,102,32,116,104,101,32,103,108,111, + 98,97,108,10,32,32,32,32,118,97,114,105,97,98,108,101, + 32,96,96,85,83,69,82,95,66,65,83,69,96,96,32,105, + 115,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101, + 100,32,121,101,116,44,32,116,104,105,115,32,102,117,110,99, + 116,105,111,110,32,119,105,108,108,32,97,108,115,111,32,115, + 101,116,10,32,32,32,32,105,116,46,10,32,32,32,32,41, + 2,218,9,85,83,69,82,95,66,65,83,69,114,135,0,0, + 0,114,110,0,0,0,114,14,0,0,0,114,12,0,0,0, + 218,11,103,101,116,117,115,101,114,98,97,115,101,114,145,0, + 0,0,55,1,0,0,115,23,0,0,0,128,0,244,16,0, + 8,17,208,7,24,220,20,32,147,78,136,9,220,11,20,208, + 4,20,114,14,0,0,0,99,0,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,3,0,0,0,243,88,0,0, + 0,151,0,116,1,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,125,0,116,2,0,0,0,0,0,0,0, + 0,128,21,124,0,128,8,100,1,97,2,116,2,0,0,0, + 0,0,0,0,0,83,0,116,7,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,97,1,116,2,0, + 0,0,0,0,0,0,0,83,0,41,2,122,162,82,101,116, + 117,114,110,115,32,116,104,101,32,117,115,101,114,45,115,112, + 101,99,105,102,105,99,32,115,105,116,101,45,112,97,99,107, + 97,103,101,115,32,100,105,114,101,99,116,111,114,121,32,112, + 97,116,104,46,10,10,32,32,32,32,73,102,32,116,104,101, + 32,103,108,111,98,97,108,32,118,97,114,105,97,98,108,101, + 32,96,96,85,83,69,82,95,83,73,84,69,96,96,32,105, + 115,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101, + 100,32,121,101,116,44,32,116,104,105,115,10,32,32,32,32, + 102,117,110,99,116,105,111,110,32,119,105,108,108,32,97,108, + 115,111,32,115,101,116,32,105,116,46,10,32,32,32,32,70, + 41,4,114,145,0,0,0,218,9,85,83,69,82,95,83,73, + 84,69,218,16,69,78,65,66,76,69,95,85,83,69,82,95, + 83,73,84,69,114,142,0,0,0,41,1,114,139,0,0,0, + 115,1,0,0,0,32,114,12,0,0,0,218,19,103,101,116, + 117,115,101,114,115,105,116,101,112,97,99,107,97,103,101,115, + 114,149,0,0,0,68,1,0,0,115,55,0,0,0,128,0, + 244,14,0,16,27,139,125,128,72,228,7,16,208,7,24,216, + 11,19,208,11,27,216,31,36,208,12,28,244,8,0,12,21, + 208,4,20,244,5,0,25,34,160,40,211,24,43,136,73,228, + 11,20,208,4,20,114,14,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243, + 146,0,0,0,151,0,116,1,0,0,0,0,0,0,0,0, + 100,1,171,1,0,0,0,0,0,0,1,0,116,3,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,125,1, + 116,4,0,0,0,0,0,0,0,0,114,43,116,6,0,0, + 0,0,0,0,0,0,106,8,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,106,11,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 171,1,0,0,0,0,0,0,114,12,116,13,0,0,0,0, + 0,0,0,0,124,1,124,0,171,2,0,0,0,0,0,0, + 1,0,124,0,83,0,41,2,122,134,65,100,100,32,97,32, + 112,101,114,32,117,115,101,114,32,115,105,116,101,45,112,97, + 99,107,97,103,101,32,116,111,32,115,121,115,46,112,97,116, + 104,10,10,32,32,32,32,69,97,99,104,32,117,115,101,114, + 32,104,97,115,32,105,116,115,32,111,119,110,32,112,121,116, + 104,111,110,32,100,105,114,101,99,116,111,114,121,32,119,105, + 116,104,32,115,105,116,101,45,112,97,99,107,97,103,101,115, + 32,105,110,32,116,104,101,10,32,32,32,32,104,111,109,101, + 32,100,105,114,101,99,116,111,114,121,46,10,32,32,32,32, + 122,29,80,114,111,99,101,115,115,105,110,103,32,117,115,101, + 114,32,115,105,116,101,45,112,97,99,107,97,103,101,115,41, + 7,114,13,0,0,0,114,149,0,0,0,114,148,0,0,0, + 114,17,0,0,0,114,18,0,0,0,218,5,105,115,100,105, + 114,114,102,0,0,0,41,2,114,47,0,0,0,218,9,117, + 115,101,114,95,115,105,116,101,115,2,0,0,0,32,32,114, + 12,0,0,0,218,19,97,100,100,117,115,101,114,115,105,116, + 101,112,97,99,107,97,103,101,115,114,153,0,0,0,85,1, + 0,0,115,55,0,0,0,128,0,244,16,0,5,11,208,11, + 42,212,4,43,220,16,35,211,16,37,128,73,229,7,23,156, + 66,159,71,153,71,159,77,153,77,168,41,212,28,52,220,8, + 18,144,57,152,107,212,8,42,216,11,22,208,4,22,114,14, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 10,0,0,0,3,0,0,0,243,28,2,0,0,151,0,103, + 0,125,1,116,1,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,125,2,124,0,128,6,116,2,0,0,0, + 0,0,0,0,0,125,0,124,0,68,0,93,242,0,0,125, + 3,124,3,114,4,124,3,124,2,118,0,114,1,140,10,124, + 2,106,5,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,3,171,1,0,0,0,0,0,0,1, + 0,116,6,0,0,0,0,0,0,0,0,106,8,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 2,107,40,0,0,114,132,116,10,0,0,0,0,0,0,0, + 0,106,12,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,103,1,125,4,116,10,0,0,0,0,0, + 0,0,0,106,12,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,3,107,55,0,0,114,17,124, + 4,106,15,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,3,171,1,0,0,0,0,0,0,1, + 0,124,4,68,0,93,73,0,0,125,5,116,6,0,0,0, + 0,0,0,0,0,106,16,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,19,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,3,124, + 5,100,4,116,10,0,0,0,0,0,0,0,0,106,20,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,1,100,5,26,0,122,6,0,0,100,6,171,4,0, + 0,0,0,0,0,125,6,124,1,106,15,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,6,171, + 1,0,0,0,0,0,0,1,0,140,75,4,0,140,178,124, + 1,106,15,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,3,171,1,0,0,0,0,0,0,1, + 0,124,1,106,15,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,116,6,0,0,0,0,0,0,0, + 0,106,16,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,106,19,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,124,3,100,7,100,6,171, + 3,0,0,0,0,0,0,171,1,0,0,0,0,0,0,1, + 0,140,244,4,0,124,1,83,0,41,8,97,30,1,0,0, + 82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99, + 111,110,116,97,105,110,105,110,103,32,97,108,108,32,103,108, + 111,98,97,108,32,115,105,116,101,45,112,97,99,107,97,103, + 101,115,32,100,105,114,101,99,116,111,114,105,101,115,46,10, + 10,32,32,32,32,70,111,114,32,101,97,99,104,32,100,105, + 114,101,99,116,111,114,121,32,112,114,101,115,101,110,116,32, + 105,110,32,96,96,112,114,101,102,105,120,101,115,96,96,32, + 40,111,114,32,116,104,101,32,103,108,111,98,97,108,32,96, + 96,80,82,69,70,73,88,69,83,96,96,41,44,10,32,32, + 32,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32, + 119,105,108,108,32,102,105,110,100,32,105,116,115,32,96,115, + 105,116,101,45,112,97,99,107,97,103,101,115,96,32,115,117, + 98,100,105,114,101,99,116,111,114,121,32,100,101,112,101,110, + 100,105,110,103,32,111,110,32,116,104,101,10,32,32,32,32, + 115,121,115,116,101,109,32,101,110,118,105,114,111,110,109,101, + 110,116,44,32,97,110,100,32,119,105,108,108,32,114,101,116, + 117,114,110,32,97,32,108,105,115,116,32,111,102,32,102,117, + 108,108,32,112,97,116,104,115,46,10,32,32,32,32,78,250, + 1,47,218,3,108,105,98,122,11,112,121,116,104,111,110,37, + 100,46,37,100,114,127,0,0,0,122,13,115,105,116,101,45, + 112,97,99,107,97,103,101,115,218,3,76,105,98,41,11,114, + 29,0,0,0,218,8,80,82,69,70,73,88,69,83,114,45, + 0,0,0,114,17,0,0,0,218,3,115,101,112,114,6,0, + 0,0,218,10,112,108,97,116,108,105,98,100,105,114,114,44, + 0,0,0,114,18,0,0,0,114,19,0,0,0,114,132,0, + 0,0,41,7,218,8,112,114,101,102,105,120,101,115,218,12, + 115,105,116,101,112,97,99,107,97,103,101,115,218,4,115,101, + 101,110,218,6,112,114,101,102,105,120,218,7,108,105,98,100, + 105,114,115,218,6,108,105,98,100,105,114,114,18,0,0,0, + 115,7,0,0,0,32,32,32,32,32,32,32,114,12,0,0, + 0,218,15,103,101,116,115,105,116,101,112,97,99,107,97,103, + 101,115,114,167,0,0,0,100,1,0,0,115,247,0,0,0, + 128,0,240,14,0,20,22,128,76,220,11,14,139,53,128,68, + 224,7,15,208,7,23,220,19,27,136,8,224,18,26,242,0, + 17,5,78,1,136,6,217,15,21,152,22,160,52,153,30,216, + 12,20,216,8,12,143,8,137,8,144,22,212,8,24,228,11, + 13,143,54,137,54,144,83,138,61,220,23,26,151,126,145,126, + 208,22,38,136,71,220,15,18,143,126,137,126,160,21,210,15, + 38,216,16,23,151,14,145,14,152,117,212,16,37,224,26,33, + 242,0,4,13,42,144,6,220,23,25,151,119,145,119,151,124, + 145,124,160,70,168,70,216,36,49,180,67,215,52,68,209,52, + 68,192,82,192,97,208,52,72,209,36,72,216,36,51,243,5, + 2,24,53,144,4,240,6,0,17,29,215,16,35,209,16,35, + 160,68,213,16,41,241,9,4,13,42,240,12,0,13,25,215, + 12,31,209,12,31,160,6,212,12,39,216,12,24,215,12,31, + 209,12,31,164,2,167,7,161,7,167,12,161,12,168,86,176, + 85,184,79,211,32,76,213,12,77,240,35,17,5,78,1,240, + 36,0,12,24,208,4,23,114,14,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0, + 0,243,148,0,0,0,151,0,116,1,0,0,0,0,0,0, + 0,0,100,1,171,1,0,0,0,0,0,0,1,0,116,3, + 0,0,0,0,0,0,0,0,124,1,171,1,0,0,0,0, + 0,0,68,0,93,46,0,0,125,2,116,4,0,0,0,0, + 0,0,0,0,106,6,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,106,9,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,2,171,1, + 0,0,0,0,0,0,115,1,140,35,116,11,0,0,0,0, + 0,0,0,0,124,2,124,0,171,2,0,0,0,0,0,0, + 1,0,140,48,4,0,124,0,83,0,41,2,122,29,65,100, + 100,32,115,105,116,101,45,112,97,99,107,97,103,101,115,32, + 116,111,32,115,121,115,46,112,97,116,104,122,31,80,114,111, + 99,101,115,115,105,110,103,32,103,108,111,98,97,108,32,115, + 105,116,101,45,112,97,99,107,97,103,101,115,41,6,114,13, + 0,0,0,114,167,0,0,0,114,17,0,0,0,114,18,0, + 0,0,114,151,0,0,0,114,102,0,0,0,41,3,114,47, + 0,0,0,114,161,0,0,0,114,84,0,0,0,115,3,0, + 0,0,32,32,32,114,12,0,0,0,218,15,97,100,100,115, + 105,116,101,112,97,99,107,97,103,101,115,114,169,0,0,0, + 133,1,0,0,115,65,0,0,0,128,0,228,4,10,208,11, + 44,212,4,45,220,19,34,160,56,211,19,44,242,0,2,5, + 45,136,7,220,11,13,143,55,137,55,143,61,137,61,152,23, + 213,11,33,220,12,22,144,119,160,11,213,12,44,240,5,2, + 5,45,240,8,0,12,23,208,4,22,114,14,0,0,0,99, + 0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,176,0,0,0,151,0,116,0,0,0,0, + 0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,1,107,40,0,0,114, + 3,100,2,125,0,110,2,100,3,125,0,116,5,0,0,0, + 0,0,0,0,0,106,6,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,4,124,0,171,2,0, + 0,0,0,0,0,116,8,0,0,0,0,0,0,0,0,95, + 5,0,0,0,0,0,0,0,0,116,5,0,0,0,0,0, + 0,0,0,106,6,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,5,124,0,171,2,0,0,0, + 0,0,0,116,8,0,0,0,0,0,0,0,0,95,6,0, + 0,0,0,0,0,0,0,121,6,41,7,122,173,68,101,102, + 105,110,101,32,110,101,119,32,98,117,105,108,116,105,110,115, + 32,39,113,117,105,116,39,32,97,110,100,32,39,101,120,105, + 116,39,46,10,10,32,32,32,32,84,104,101,115,101,32,97, + 114,101,32,111,98,106,101,99,116,115,32,119,104,105,99,104, + 32,109,97,107,101,32,116,104,101,32,105,110,116,101,114,112, + 114,101,116,101,114,32,101,120,105,116,32,119,104,101,110,32, + 99,97,108,108,101,100,46,10,32,32,32,32,84,104,101,32, + 114,101,112,114,32,111,102,32,101,97,99,104,32,111,98,106, + 101,99,116,32,99,111,110,116,97,105,110,115,32,97,32,104, + 105,110,116,32,97,116,32,104,111,119,32,105,116,32,119,111, + 114,107,115,46,10,10,32,32,32,32,250,1,92,122,18,67, + 116,114,108,45,90,32,112,108,117,115,32,82,101,116,117,114, + 110,122,17,67,116,114,108,45,68,32,40,105,46,101,46,32, + 69,79,70,41,218,4,113,117,105,116,218,4,101,120,105,116, + 78,41,7,114,17,0,0,0,114,159,0,0,0,218,13,95, + 115,105,116,101,98,117,105,108,116,105,110,115,218,7,81,117, + 105,116,116,101,114,218,8,98,117,105,108,116,105,110,115,114, + 172,0,0,0,114,173,0,0,0,41,1,218,3,101,111,102, + 115,1,0,0,0,32,114,12,0,0,0,218,7,115,101,116, + 113,117,105,116,114,178,0,0,0,142,1,0,0,115,65,0, + 0,0,128,0,244,14,0,8,10,135,118,129,118,144,20,130, + 126,216,14,34,137,3,224,14,33,136,3,228,20,33,215,20, + 41,209,20,41,168,38,176,35,211,20,54,132,72,132,77,220, + 20,33,215,20,41,209,20,41,168,38,176,35,211,20,54,132, + 72,133,77,114,14,0,0,0,99,0,0,0,0,0,0,0, + 0,0,0,0,0,6,0,0,0,3,0,0,0,243,76,2, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,106,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,1,116,4,0,0,0,0,0,0,0,0,106,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,116,8,0,0,0,0, + 0,0,0,0,95,3,0,0,0,0,0,0,0,0,116,1, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,2,100,3, + 171,2,0,0,0,0,0,0,116,8,0,0,0,0,0,0, + 0,0,95,5,0,0,0,0,0,0,0,0,103,0,103,0, + 125,1,125,0,116,13,0,0,0,0,0,0,0,0,116,4, + 0,0,0,0,0,0,0,0,100,4,100,5,171,3,0,0, + 0,0,0,0,125,2,124,2,115,61,116,15,0,0,0,0, + 0,0,0,0,116,16,0,0,0,0,0,0,0,0,100,6, + 171,2,0,0,0,0,0,0,114,45,116,16,0,0,0,0, + 0,0,0,0,106,18,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,106,21,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,116,16,0,0, + 0,0,0,0,0,0,106,22,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,1,0,0,0,0, + 0,0,125,2,124,2,114,97,124,0,106,25,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,7, + 100,8,103,2,171,1,0,0,0,0,0,0,1,0,124,1, + 106,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,116,16,0,0,0,0,0,0,0,0,106,18, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,27,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,116,16,0,0,0,0,0,0, + 0,0,106,28,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,2,0,0,0,0,0,0,124,2, + 116,16,0,0,0,0,0,0,0,0,106,30,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,3, + 171,1,0,0,0,0,0,0,1,0,116,1,0,0,0,0, + 0,0,0,0,106,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,100,9,100,10,124,0,124,1, + 171,4,0,0,0,0,0,0,116,8,0,0,0,0,0,0, + 0,0,95,16,0,0,0,0,0,0,0,0,121,5,41,11, + 122,41,83,101,116,32,39,99,111,112,121,114,105,103,104,116, + 39,32,97,110,100,32,39,99,114,101,100,105,116,115,39,32, + 105,110,32,98,117,105,108,116,105,110,115,218,9,99,111,112, + 121,114,105,103,104,116,218,7,99,114,101,100,105,116,115,122, + 158,32,32,32,32,84,104,97,110,107,115,32,116,111,32,67, + 87,73,44,32,67,78,82,73,44,32,66,101,79,112,101,110, + 46,99,111,109,44,32,90,111,112,101,32,67,111,114,112,111, + 114,97,116,105,111,110,32,97,110,100,32,97,32,99,97,115, + 116,32,111,102,32,116,104,111,117,115,97,110,100,115,10,32, + 32,32,32,102,111,114,32,115,117,112,112,111,114,116,105,110, + 103,32,80,121,116,104,111,110,32,100,101,118,101,108,111,112, + 109,101,110,116,46,32,32,83,101,101,32,119,119,119,46,112, + 121,116,104,111,110,46,111,114,103,32,102,111,114,32,109,111, + 114,101,32,105,110,102,111,114,109,97,116,105,111,110,46,218, + 11,95,115,116,100,108,105,98,95,100,105,114,78,114,37,0, + 0,0,122,11,76,73,67,69,78,83,69,46,116,120,116,218, + 7,76,73,67,69,78,83,69,218,7,108,105,99,101,110,115, + 101,122,39,83,101,101,32,104,116,116,112,115,58,47,47,119, + 119,119,46,112,121,116,104,111,110,46,111,114,103,47,112,115, + 102,47,108,105,99,101,110,115,101,47,41,17,114,174,0,0, + 0,218,8,95,80,114,105,110,116,101,114,114,6,0,0,0, + 114,180,0,0,0,114,176,0,0,0,114,181,0,0,0,114, + 67,0,0,0,114,109,0,0,0,114,17,0,0,0,114,18, + 0,0,0,218,7,100,105,114,110,97,109,101,114,37,0,0, + 0,218,6,101,120,116,101,110,100,114,19,0,0,0,218,6, + 112,97,114,100,105,114,218,6,99,117,114,100,105,114,114,184, + 0,0,0,41,3,218,5,102,105,108,101,115,218,4,100,105, + 114,115,218,4,104,101,114,101,115,3,0,0,0,32,32,32, + 114,12,0,0,0,218,12,115,101,116,99,111,112,121,114,105, + 103,104,116,114,193,0,0,0,158,1,0,0,115,208,0,0, + 0,128,0,228,25,38,215,25,47,209,25,47,176,11,188,83, + 191,93,185,93,211,25,75,132,72,212,4,22,220,23,36,215, + 23,45,209,23,45,168,105,240,0,2,58,84,1,243,0,2, + 24,85,1,132,72,212,4,20,240,6,0,19,21,144,98,136, + 52,128,69,244,6,0,12,19,148,51,152,13,160,116,211,11, + 44,128,68,217,11,15,148,71,156,66,160,10,212,20,43,220, + 15,17,143,119,137,119,143,127,137,127,156,114,159,123,153,123, + 211,15,43,136,4,217,7,11,216,8,13,143,12,137,12,144, + 109,160,89,208,21,47,212,8,48,216,8,12,143,11,137,11, + 148,82,151,87,145,87,151,92,145,92,160,36,172,2,175,9, + 169,9,211,21,50,176,68,188,34,191,41,185,41,208,20,68, + 212,8,69,220,23,36,215,23,45,209,23,45,216,8,17,216, + 8,49,216,8,13,136,116,243,7,3,24,21,132,72,213,4, + 20,114,14,0,0,0,99,0,0,0,0,0,0,0,0,0, + 0,0,0,2,0,0,0,3,0,0,0,243,62,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,0,0,0,0,0,0,0,116,4,0,0,0,0,0,0, + 0,0,95,3,0,0,0,0,0,0,0,0,121,0,114,16, + 0,0,0,41,4,114,174,0,0,0,218,7,95,72,101,108, + 112,101,114,114,176,0,0,0,218,4,104,101,108,112,114,110, + 0,0,0,114,14,0,0,0,114,12,0,0,0,218,9,115, + 101,116,104,101,108,112,101,114,114,197,0,0,0,179,1,0, + 0,115,18,0,0,0,128,0,220,20,33,215,20,41,209,20, + 41,211,20,43,132,72,133,77,114,14,0,0,0,99,0,0, + 0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0, + 0,0,243,32,0,0,0,151,0,100,1,132,0,125,0,124, + 0,116,0,0,0,0,0,0,0,0,0,95,1,0,0,0, + 0,0,0,0,0,121,2,41,3,97,106,1,0,0,69,110, + 97,98,108,101,32,100,101,102,97,117,108,116,32,114,101,97, + 100,108,105,110,101,32,99,111,110,102,105,103,117,114,97,116, + 105,111,110,32,111,110,32,105,110,116,101,114,97,99,116,105, + 118,101,32,112,114,111,109,112,116,115,44,32,98,121,10,32, + 32,32,32,114,101,103,105,115,116,101,114,105,110,103,32,97, + 32,115,121,115,46,95,95,105,110,116,101,114,97,99,116,105, + 118,101,104,111,111,107,95,95,46,10,10,32,32,32,32,73, + 102,32,116,104,101,32,114,101,97,100,108,105,110,101,32,109, + 111,100,117,108,101,32,99,97,110,32,98,101,32,105,109,112, + 111,114,116,101,100,44,32,116,104,101,32,104,111,111,107,32, + 119,105,108,108,32,115,101,116,32,116,104,101,32,84,97,98, + 32,107,101,121,10,32,32,32,32,97,115,32,99,111,109,112, + 108,101,116,105,111,110,32,107,101,121,32,97,110,100,32,114, + 101,103,105,115,116,101,114,32,126,47,46,112,121,116,104,111, + 110,95,104,105,115,116,111,114,121,32,97,115,32,104,105,115, + 116,111,114,121,32,102,105,108,101,46,10,32,32,32,32,84, + 104,105,115,32,99,97,110,32,98,101,32,111,118,101,114,114, + 105,100,100,101,110,32,105,110,32,116,104,101,32,115,105,116, + 101,99,117,115,116,111,109,105,122,101,32,111,114,32,117,115, + 101,114,99,117,115,116,111,109,105,122,101,32,109,111,100,117, + 108,101,44,10,32,32,32,32,111,114,32,105,110,32,97,32, + 80,89,84,72,79,78,83,84,65,82,84,85,80,32,102,105, + 108,101,46,10,32,32,32,32,99,0,0,0,0,0,0,0, + 0,0,0,0,0,5,0,0,0,19,0,0,0,243,254,1, + 0,0,135,4,135,5,151,0,100,1,100,0,108,0,125,0, + 9,0,100,1,100,0,108,1,138,5,100,1,100,0,108,2, + 125,1,116,9,0,0,0,0,0,0,0,0,137,5,100,2, + 100,3,171,3,0,0,0,0,0,0,125,2,124,2,129,22, + 100,4,124,2,118,0,114,18,137,5,106,11,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,5, + 171,1,0,0,0,0,0,0,1,0,110,17,137,5,106,11, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,6,171,1,0,0,0,0,0,0,1,0,9,0, + 137,5,106,13,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,1,0, + 137,5,106,17,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,100,1, + 107,40,0,0,114,103,116,18,0,0,0,0,0,0,0,0, + 106,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,23,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,18,0,0,0,0,0,0, + 0,0,106,20,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,106,25,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,7,171,1,0,0, + 0,0,0,0,100,8,171,2,0,0,0,0,0,0,138,4, + 9,0,137,5,106,27,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,137,4,171,1,0,0,0,0, + 0,0,1,0,136,4,136,5,102,2,100,9,132,8,125,3, + 124,0,106,29,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,3,171,1,0,0,0,0,0,0, + 1,0,121,0,121,0,35,0,116,6,0,0,0,0,0,0, + 0,0,36,0,114,3,1,0,89,0,121,0,119,0,120,3, + 89,0,119,1,35,0,116,14,0,0,0,0,0,0,0,0, + 36,0,114,3,1,0,89,0,140,149,119,0,120,3,89,0, + 119,1,35,0,116,14,0,0,0,0,0,0,0,0,36,0, + 114,3,1,0,89,0,140,66,119,0,120,3,89,0,119,1, + 41,10,78,114,2,0,0,0,218,7,95,95,100,111,99,95, + 95,114,64,0,0,0,218,7,108,105,98,101,100,105,116,122, + 19,98,105,110,100,32,94,73,32,114,108,95,99,111,109,112, + 108,101,116,101,122,13,116,97,98,58,32,99,111,109,112,108, + 101,116,101,114,123,0,0,0,122,15,46,112,121,116,104,111, + 110,95,104,105,115,116,111,114,121,99,0,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,19,0,0,0,243,72, + 0,0,0,149,2,151,0,9,0,137,1,106,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137, + 0,171,1,0,0,0,0,0,0,1,0,121,0,35,0,116, + 2,0,0,0,0,0,0,0,0,36,0,114,3,1,0,89, + 0,121,0,119,0,120,3,89,0,119,1,114,16,0,0,0, + 41,2,218,18,119,114,105,116,101,95,104,105,115,116,111,114, + 121,95,102,105,108,101,114,21,0,0,0,41,2,218,7,104, + 105,115,116,111,114,121,218,8,114,101,97,100,108,105,110,101, + 115,2,0,0,0,128,128,114,12,0,0,0,218,13,119,114, + 105,116,101,95,104,105,115,116,111,114,121,122,67,101,110,97, + 98,108,101,114,108,99,111,109,112,108,101,116,101,114,46,60, + 108,111,99,97,108,115,62,46,114,101,103,105,115,116,101,114, + 95,114,101,97,100,108,105,110,101,46,60,108,111,99,97,108, + 115,62,46,119,114,105,116,101,95,104,105,115,116,111,114,121, + 229,1,0,0,115,42,0,0,0,248,128,0,240,2,5,17, + 25,216,20,28,215,20,47,209,20,47,176,7,213,20,56,248, + 220,23,30,242,0,3,17,25,241,6,0,21,25,240,7,3, + 17,25,250,115,12,0,0,0,131,17,21,0,149,9,33,3, + 160,1,33,3,41,15,218,6,97,116,101,120,105,116,114,205, + 0,0,0,218,11,114,108,99,111,109,112,108,101,116,101,114, + 218,11,73,109,112,111,114,116,69,114,114,111,114,114,67,0, + 0,0,218,14,112,97,114,115,101,95,97,110,100,95,98,105, + 110,100,218,14,114,101,97,100,95,105,110,105,116,95,102,105, + 108,101,114,21,0,0,0,218,26,103,101,116,95,99,117,114, + 114,101,110,116,95,104,105,115,116,111,114,121,95,108,101,110, + 103,116,104,114,17,0,0,0,114,18,0,0,0,114,19,0, + 0,0,114,118,0,0,0,218,17,114,101,97,100,95,104,105, + 115,116,111,114,121,95,102,105,108,101,218,8,114,101,103,105, + 115,116,101,114,41,6,114,207,0,0,0,114,208,0,0,0, + 218,12,114,101,97,100,108,105,110,101,95,100,111,99,114,206, + 0,0,0,114,204,0,0,0,114,205,0,0,0,115,6,0, + 0,0,32,32,32,32,64,64,114,12,0,0,0,218,17,114, + 101,103,105,115,116,101,114,95,114,101,97,100,108,105,110,101, + 122,44,101,110,97,98,108,101,114,108,99,111,109,112,108,101, + 116,101,114,46,60,108,111,99,97,108,115,62,46,114,101,103, + 105,115,116,101,114,95,114,101,97,100,108,105,110,101,191,1, + 0,0,115,254,0,0,0,249,128,0,219,8,21,240,2,4, + 9,19,219,12,27,219,12,30,244,12,0,24,31,152,120,168, + 25,176,66,211,23,55,136,12,216,11,23,208,11,35,168,9, + 176,92,209,40,65,216,12,20,215,12,35,209,12,35,208,36, + 57,213,12,58,224,12,20,215,12,35,209,12,35,160,79,212, + 12,52,240,4,7,9,17,216,12,20,215,12,35,209,12,35, + 212,12,37,240,16,0,12,20,215,11,46,209,11,46,211,11, + 48,176,65,210,11,53,244,12,0,23,25,151,103,145,103,151, + 108,145,108,164,50,167,55,161,55,215,35,53,209,35,53,176, + 99,211,35,58,216,35,52,243,3,1,23,54,136,71,240,4, + 3,13,21,216,16,24,215,16,42,209,16,42,168,55,212,16, + 51,245,8,6,13,25,240,16,0,13,19,143,79,137,79,152, + 77,213,12,42,240,43,0,12,54,248,244,41,0,16,27,242, + 0,1,9,19,217,12,18,240,3,1,9,19,251,244,26,0, + 16,23,242,0,5,9,17,241,10,0,13,17,240,11,5,9, + 17,251,244,34,0,20,27,242,0,1,13,21,217,16,20,240, + 3,1,13,21,250,115,53,0,0,0,136,8,67,18,0,193, + 7,16,67,33,0,194,40,17,67,48,0,195,18,9,67,30, + 3,195,29,1,67,30,3,195,33,9,67,45,3,195,44,1, + 67,45,3,195,48,9,67,60,3,195,59,1,67,60,3,78, + 41,2,114,6,0,0,0,218,19,95,95,105,110,116,101,114, + 97,99,116,105,118,101,104,111,111,107,95,95,41,1,114,216, + 0,0,0,115,1,0,0,0,32,114,12,0,0,0,218,17, + 101,110,97,98,108,101,114,108,99,111,109,112,108,101,116,101, + 114,114,218,0,0,0,182,1,0,0,115,18,0,0,0,128, + 0,242,18,46,5,43,240,96,1,0,31,48,132,67,213,4, + 27,114,14,0,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,8,0,0,0,3,0,0,0,243,66,4,0,0, + 151,0,116,0,0,0,0,0,0,0,0,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 125,1,116,4,0,0,0,0,0,0,0,0,106,6,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,1,107,40,0,0,114,35,100,2,124,1,118,0,114,31, + 116,0,0,0,0,0,0,0,0,0,106,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,2, + 25,0,0,0,120,1,125,2,116,4,0,0,0,0,0,0, + 0,0,95,4,0,0,0,0,0,0,0,0,110,16,116,4, + 0,0,0,0,0,0,0,0,106,10,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,125,2,116,0, + 0,0,0,0,0,0,0,0,106,12,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,15,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 116,0,0,0,0,0,0,0,0,0,106,12,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,17, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,2,171,1,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,125,3,116,0,0,0,0,0,0,0,0,0, + 106,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,15,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,3,171,1,0,0,0,0, + 0,0,125,4,100,0,116,4,0,0,0,0,0,0,0,0, + 95,9,0,0,0,0,0,0,0,0,100,3,125,5,116,21, + 0,0,0,0,0,0,0,0,100,4,132,0,116,0,0,0, + 0,0,0,0,0,0,106,12,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,106,23,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,3, + 124,5,171,2,0,0,0,0,0,0,116,0,0,0,0,0, + 0,0,0,0,106,12,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,106,23,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,4,124,5, + 171,2,0,0,0,0,0,0,102,2,68,0,171,0,0,0, + 0,0,0,0,100,0,171,2,0,0,0,0,0,0,125,6, + 124,6,144,1,114,0,124,6,125,7,100,5,125,8,116,25, + 0,0,0,0,0,0,0,0,124,7,100,6,172,7,171,2, + 0,0,0,0,0,0,53,0,125,9,124,9,68,0,93,113, + 0,0,125,10,100,8,124,10,118,0,115,1,140,8,124,10, + 106,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,8,171,1,0,0,0,0,0,0,92,3, + 0,0,125,11,125,12,125,13,124,11,106,29,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,106,31,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,125,11,124,13,106,29,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,125,13,124,11,100,9,107,40,0,0,114,17,124,13, + 106,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,125,8,140,97, + 124,11,100,10,107,40,0,0,115,1,140,103,124,13,116,4, + 0,0,0,0,0,0,0,0,95,9,0,0,0,0,0,0, + 0,0,140,115,4,0,9,0,100,0,100,0,100,0,171,2, + 0,0,0,0,0,0,1,0,124,4,120,1,116,4,0,0, + 0,0,0,0,0,0,95,16,0,0,0,0,0,0,0,0, + 116,4,0,0,0,0,0,0,0,0,95,17,0,0,0,0, + 0,0,0,0,116,37,0,0,0,0,0,0,0,0,124,0, + 116,4,0,0,0,0,0,0,0,0,106,32,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,1, + 171,2,0,0,0,0,0,0,1,0,124,8,100,5,107,40, + 0,0,114,38,116,38,0,0,0,0,0,0,0,0,106,41, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,11,116,4,0,0,0,0,0,0,0,0,106,32, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,2,0,0,0,0,0,0,1,0,124,0,83,0, + 116,4,0,0,0,0,0,0,0,0,106,32,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,1, + 97,19,100,12,97,21,124,0,83,0,35,0,49,0,115,1, + 119,2,1,0,89,0,1,0,1,0,140,122,120,3,89,0, + 119,1,41,13,78,114,125,0,0,0,218,19,95,95,80,89, + 86,69,78,86,95,76,65,85,78,67,72,69,82,95,95,122, + 10,112,121,118,101,110,118,46,99,102,103,99,1,0,0,0, + 0,0,0,0,0,0,0,0,4,0,0,0,51,0,0,0, + 243,94,0,0,0,75,0,1,0,151,0,124,0,93,37,0, + 0,125,1,116,0,0,0,0,0,0,0,0,0,106,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,106,5,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,114, + 4,124,1,150,1,151,1,1,0,140,39,4,0,121,0,173, + 3,119,1,114,16,0,0,0,41,3,114,17,0,0,0,114, + 18,0,0,0,218,6,105,115,102,105,108,101,41,2,218,2, + 46,48,218,8,99,111,110,102,102,105,108,101,115,2,0,0, + 0,32,32,114,12,0,0,0,250,9,60,103,101,110,101,120, + 112,114,62,122,23,118,101,110,118,46,60,108,111,99,97,108, + 115,62,46,60,103,101,110,101,120,112,114,62,254,1,0,0, + 115,42,0,0,0,232,0,248,128,0,242,0,6,9,10,216, + 25,33,244,8,0,16,18,143,119,137,119,143,126,137,126,152, + 104,212,15,39,244,9,0,13,21,241,3,6,9,10,249,115, + 4,0,0,0,130,43,45,1,218,4,116,114,117,101,122,5, + 117,116,102,45,56,114,61,0,0,0,250,1,61,122,28,105, + 110,99,108,117,100,101,45,115,121,115,116,101,109,45,115,105, + 116,101,45,112,97,99,107,97,103,101,115,218,4,104,111,109, + 101,114,2,0,0,0,70,41,22,114,17,0,0,0,114,128, + 0,0,0,114,6,0,0,0,114,130,0,0,0,218,16,95, + 98,97,115,101,95,101,120,101,99,117,116,97,98,108,101,218, + 10,101,120,101,99,117,116,97,98,108,101,114,18,0,0,0, + 114,186,0,0,0,114,20,0,0,0,218,5,95,104,111,109, + 101,218,4,110,101,120,116,114,19,0,0,0,218,4,111,112, + 101,110,218,9,112,97,114,116,105,116,105,111,110,114,76,0, + 0,0,218,5,108,111,119,101,114,114,164,0,0,0,218,11, + 101,120,101,99,95,112,114,101,102,105,120,114,169,0,0,0, + 114,158,0,0,0,218,6,105,110,115,101,114,116,114,148,0, + 0,0,41,14,114,47,0,0,0,218,3,101,110,118,114,230, + 0,0,0,218,7,101,120,101,95,100,105,114,218,11,115,105, + 116,101,95,112,114,101,102,105,120,218,13,99,111,110,102,95, + 98,97,115,101,110,97,109,101,218,14,99,97,110,100,105,100, + 97,116,101,95,99,111,110,102,218,12,118,105,114,116,117,97, + 108,95,99,111,110,102,218,11,115,121,115,116,101,109,95,115, + 105,116,101,114,89,0,0,0,114,91,0,0,0,218,3,107, + 101,121,114,54,0,0,0,218,5,118,97,108,117,101,115,14, + 0,0,0,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,114,12,0,0,0,218,4,118,101,110,118,114,247,0,0, + 0,241,1,0,0,115,188,1,0,0,128,0,244,6,0,11, + 13,143,42,137,42,128,67,220,7,10,135,124,129,124,144,120, + 210,7,31,208,36,57,184,83,209,36,64,220,44,46,175,74, + 169,74,208,55,76,209,44,77,208,8,77,136,10,148,83,213, + 21,41,228,21,24,151,94,145,94,136,10,220,14,16,143,103, + 137,103,143,111,137,111,156,98,159,103,153,103,159,111,153,111, + 168,106,211,30,57,211,14,58,128,71,220,18,20,151,39,145, + 39,151,47,145,47,160,39,211,18,42,128,75,216,16,20,132, + 67,132,73,216,20,32,128,77,220,21,25,241,2,6,9,10, + 228,16,18,151,7,145,7,151,12,145,12,152,87,160,109,211, + 16,52,220,16,18,151,7,145,7,151,12,145,12,152,91,168, + 45,211,16,56,240,5,3,38,14,244,3,6,9,10,240,14, + 0,9,13,243,17,9,22,6,128,78,242,22,0,8,22,216, + 23,37,136,12,216,22,28,136,11,244,6,0,14,18,144,44, + 168,23,212,13,49,240,0,9,9,42,176,81,216,24,25,242, + 0,8,13,42,144,4,216,19,22,152,36,146,59,216,36,40, + 167,78,161,78,176,51,211,36,55,145,77,144,67,152,17,152, + 69,216,26,29,159,41,153,41,155,43,215,26,43,209,26,43, + 211,26,45,144,67,216,28,33,159,75,153,75,155,77,144,69, + 216,23,26,208,30,60,210,23,60,216,38,43,167,107,161,107, + 163,109,153,11,216,25,28,160,6,155,29,216,36,41,156,3, + 157,9,241,17,8,13,42,247,3,9,9,42,240,22,0,40, + 51,208,8,50,140,3,140,10,148,83,148,95,244,6,0,9, + 24,152,11,164,99,167,106,161,106,160,92,212,8,50,240,8, + 0,12,23,152,38,210,11,32,220,12,20,143,79,137,79,152, + 65,156,115,159,122,153,122,212,12,42,240,10,0,12,23,208, + 4,22,244,7,0,25,28,159,10,153,10,144,124,136,72,216, + 31,36,208,12,28,224,11,22,208,4,22,247,49,9,9,42, + 240,0,9,9,42,250,115,25,0,0,0,196,36,10,72,21, + 3,196,47,65,30,72,21,3,198,14,13,72,21,3,200,21, + 5,72,30,7,99,0,0,0,0,0,0,0,0,0,0,0, + 0,8,0,0,0,3,0,0,0,243,134,1,0,0,151,0, + 9,0,9,0,100,1,100,2,108,0,125,0,121,2,35,0, + 116,2,0,0,0,0,0,0,0,0,36,0,114,27,125,1, + 124,1,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,3,107,40,0,0,114,1,110,1, + 130,0,89,0,100,2,125,1,126,1,121,2,100,2,125,1, + 126,1,119,1,119,0,120,3,89,0,119,1,35,0,116,6, + 0,0,0,0,0,0,0,0,36,0,114,136,125,2,116,8, + 0,0,0,0,0,0,0,0,106,10,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,12,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 114,37,116,9,0,0,0,0,0,0,0,0,106,14,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 116,9,0,0,0,0,0,0,0,0,106,16,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0, + 0,0,0,0,0,0,142,0,1,0,110,63,116,8,0,0, + 0,0,0,0,0,0,106,18,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,106,21,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,4, + 124,2,106,22,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,106,24,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,155,1,100,5,124,2, + 155,1,100,6,157,5,171,1,0,0,0,0,0,0,1,0, + 89,0,100,2,125,2,126,2,121,2,89,0,100,2,125,2, + 126,2,121,2,100,2,125,2,126,2,119,1,119,0,120,3, + 89,0,119,1,41,7,122,44,82,117,110,32,99,117,115,116, + 111,109,32,115,105,116,101,32,115,112,101,99,105,102,105,99, + 32,99,111,100,101,44,32,105,102,32,97,118,97,105,108,97, + 98,108,101,46,114,2,0,0,0,78,218,13,115,105,116,101, + 99,117,115,116,111,109,105,122,101,122,57,69,114,114,111,114, + 32,105,110,32,115,105,116,101,99,117,115,116,111,109,105,122, + 101,59,32,115,101,116,32,80,89,84,72,79,78,86,69,82, + 66,79,83,69,32,102,111,114,32,116,114,97,99,101,98,97, + 99,107,58,10,250,2,58,32,250,1,10,41,13,114,249,0, + 0,0,114,209,0,0,0,114,85,0,0,0,114,79,0,0, + 0,114,6,0,0,0,114,7,0,0,0,114,8,0,0,0, + 218,10,101,120,99,101,112,116,104,111,111,107,218,8,101,120, + 99,95,105,110,102,111,114,10,0,0,0,218,5,119,114,105, + 116,101,218,9,95,95,99,108,97,115,115,95,95,218,8,95, + 95,110,97,109,101,95,95,41,3,114,249,0,0,0,114,92, + 0,0,0,218,3,101,114,114,115,3,0,0,0,32,32,32, + 114,12,0,0,0,218,17,101,120,101,99,115,105,116,101,99, + 117,115,116,111,109,105,122,101,114,2,1,0,0,40,2,0, + 0,243,152,0,0,0,128,0,240,4,15,5,47,240,2,6, + 9,22,220,12,32,248,220,15,26,242,0,4,9,22,216,15, + 18,143,120,137,120,152,63,210,15,42,216,16,20,224,16,21, + 244,5,0,17,21,251,240,5,4,9,22,251,244,10,0,12, + 21,242,0,7,5,47,220,11,14,143,57,137,57,215,11,28, + 210,11,28,220,12,15,143,78,137,78,156,67,159,76,153,76, + 155,78,210,12,43,228,12,15,143,74,137,74,215,12,28,210, + 12,28,240,6,0,18,21,151,29,145,29,215,17,39,211,17, + 39,170,19,240,5,2,17,46,247,3,3,13,47,241,0,3, + 13,47,244,5,0,13,44,251,240,5,7,5,47,250,243,41, + 0,0,0,131,4,8,0,136,9,44,3,145,17,39,3,162, + 4,47,0,167,5,44,3,172,3,47,0,175,9,67,0,3, + 184,65,57,66,59,3,194,59,5,67,0,3,99,0,0,0, + 0,0,0,0,0,0,0,0,0,8,0,0,0,3,0,0, + 0,243,134,1,0,0,151,0,9,0,9,0,100,1,100,2, + 108,0,125,0,121,2,35,0,116,2,0,0,0,0,0,0, + 0,0,36,0,114,27,125,1,124,1,106,4,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,3, + 107,40,0,0,114,1,110,1,130,0,89,0,100,2,125,1, + 126,1,121,2,100,2,125,1,126,1,119,1,119,0,120,3, + 89,0,119,1,35,0,116,6,0,0,0,0,0,0,0,0, + 36,0,114,136,125,2,116,8,0,0,0,0,0,0,0,0, + 106,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,106,12,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,114,37,116,9,0,0,0,0, + 0,0,0,0,106,14,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,9,0,0,0,0,0,0, + 0,0,106,16,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,142,0, + 1,0,110,63,116,8,0,0,0,0,0,0,0,0,106,18, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,106,21,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,4,124,2,106,22,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,24, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,155,1,100,5,124,2,155,1,100,6,157,5,171,1, + 0,0,0,0,0,0,1,0,89,0,100,2,125,2,126,2, + 121,2,89,0,100,2,125,2,126,2,121,2,100,2,125,2, + 126,2,119,1,119,0,120,3,89,0,119,1,41,7,122,44, + 82,117,110,32,99,117,115,116,111,109,32,117,115,101,114,32, + 115,112,101,99,105,102,105,99,32,99,111,100,101,44,32,105, + 102,32,97,118,97,105,108,97,98,108,101,46,114,2,0,0, + 0,78,218,13,117,115,101,114,99,117,115,116,111,109,105,122, + 101,122,57,69,114,114,111,114,32,105,110,32,117,115,101,114, + 99,117,115,116,111,109,105,122,101,59,32,115,101,116,32,80, + 89,84,72,79,78,86,69,82,66,79,83,69,32,102,111,114, + 32,116,114,97,99,101,98,97,99,107,58,10,114,250,0,0, + 0,114,251,0,0,0,41,13,114,6,1,0,0,114,209,0, + 0,0,114,85,0,0,0,114,79,0,0,0,114,6,0,0, + 0,114,7,0,0,0,114,8,0,0,0,114,252,0,0,0, + 114,253,0,0,0,114,10,0,0,0,114,254,0,0,0,114, + 255,0,0,0,114,0,1,0,0,41,3,114,6,1,0,0, + 114,92,0,0,0,114,1,1,0,0,115,3,0,0,0,32, + 32,32,114,12,0,0,0,218,17,101,120,101,99,117,115,101, + 114,99,117,115,116,111,109,105,122,101,114,7,1,0,0,60, + 2,0,0,114,3,1,0,0,114,4,1,0,0,99,0,0, + 0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0, + 0,0,243,148,1,0,0,151,0,116,0,0,0,0,0,0, + 0,0,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,1,100,1,26,0,125,0,116, + 5,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,125,1,124,0,116,0,0,0,0,0,0,0,0,0,106, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,107,55,0,0,114,10,116,7,0,0,0,0,0, + 0,0,0,171,0,0,0,0,0,0,0,1,0,116,9,0, + 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0, + 0,125,1,116,10,0,0,0,0,0,0,0,0,128,10,116, + 13,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,97,5,116,15,0,0,0,0,0,0,0,0,124,1,171, + 1,0,0,0,0,0,0,125,1,116,17,0,0,0,0,0, + 0,0,0,124,1,171,1,0,0,0,0,0,0,125,1,116, + 19,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,1,0,116,21,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,1,0,116,23,0,0,0,0,0,0,0, + 0,171,0,0,0,0,0,0,0,1,0,116,0,0,0,0, + 0,0,0,0,0,106,24,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,106,26,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,115,10,116, + 29,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,1,0,116,31,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,1,0,116,10,0,0,0,0,0,0,0, + 0,114,11,116,33,0,0,0,0,0,0,0,0,171,0,0, + 0,0,0,0,0,1,0,121,1,121,1,41,2,122,207,65, + 100,100,32,115,116,97,110,100,97,114,100,32,115,105,116,101, + 45,115,112,101,99,105,102,105,99,32,100,105,114,101,99,116, + 111,114,105,101,115,32,116,111,32,116,104,101,32,109,111,100, + 117,108,101,32,115,101,97,114,99,104,32,112,97,116,104,46, + 10,10,32,32,32,32,84,104,105,115,32,102,117,110,99,116, + 105,111,110,32,105,115,32,99,97,108,108,101,100,32,97,117, + 116,111,109,97,116,105,99,97,108,108,121,32,119,104,101,110, + 32,116,104,105,115,32,109,111,100,117,108,101,32,105,115,32, + 105,109,112,111,114,116,101,100,44,10,32,32,32,32,117,110, + 108,101,115,115,32,116,104,101,32,112,121,116,104,111,110,32, + 105,110,116,101,114,112,114,101,116,101,114,32,119,97,115,32, + 115,116,97,114,116,101,100,32,119,105,116,104,32,116,104,101, + 32,45,83,32,102,108,97,103,46,10,32,32,32,32,78,41, + 17,114,6,0,0,0,114,18,0,0,0,114,49,0,0,0, + 114,42,0,0,0,114,247,0,0,0,114,148,0,0,0,114, + 111,0,0,0,114,153,0,0,0,114,169,0,0,0,114,178, + 0,0,0,114,193,0,0,0,114,197,0,0,0,114,7,0, + 0,0,218,8,105,115,111,108,97,116,101,100,114,218,0,0, + 0,114,2,1,0,0,114,7,1,0,0,41,2,218,9,111, + 114,105,103,95,112,97,116,104,114,47,0,0,0,115,2,0, + 0,0,32,32,114,12,0,0,0,218,4,109,97,105,110,114, + 11,1,0,0,80,2,0,0,115,143,0,0,0,128,0,244, + 16,0,17,20,151,8,145,8,153,17,144,11,128,73,220,18, + 32,211,18,34,128,75,216,7,16,148,67,151,72,145,72,210, + 7,28,244,6,0,9,18,140,11,228,18,22,144,123,211,18, + 35,128,75,220,7,23,208,7,31,220,27,47,211,27,49,208, + 8,24,220,18,37,160,107,211,18,50,128,75,220,18,33,160, + 43,211,18,46,128,75,220,4,11,132,73,220,4,16,132,78, + 220,4,13,132,75,220,11,14,143,57,137,57,215,11,29,210, + 11,29,220,8,25,212,8,27,220,4,21,212,4,23,221,7, + 23,220,8,25,213,8,27,240,3,0,8,24,114,14,0,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,8,0, + 0,0,3,0,0,0,243,196,3,0,0,151,0,100,1,125, + 0,116,0,0,0,0,0,0,0,0,0,106,2,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 2,100,0,26,0,125,1,124,1,115,168,116,5,0,0,0, + 0,0,0,0,0,171,0,0,0,0,0,0,0,125,2,116, + 7,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,125,3,116,9,0,0,0,0,0,0,0,0,100,3,171, + 1,0,0,0,0,0,0,1,0,116,0,0,0,0,0,0, + 0,0,0,106,10,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,68,0,93,17,0,0,125,4,116, + 9,0,0,0,0,0,0,0,0,100,4,124,4,155,2,100, + 5,157,3,171,1,0,0,0,0,0,0,1,0,140,19,4, + 0,116,9,0,0,0,0,0,0,0,0,100,6,171,1,0, + 0,0,0,0,0,1,0,100,7,132,0,125,5,116,9,0, + 0,0,0,0,0,0,0,100,8,124,2,155,2,100,9,2, + 0,124,5,124,2,171,1,0,0,0,0,0,0,155,0,100, + 10,157,5,171,1,0,0,0,0,0,0,1,0,116,9,0, + 0,0,0,0,0,0,0,100,11,124,3,155,2,100,9,2, + 0,124,5,124,3,171,1,0,0,0,0,0,0,155,0,100, + 10,157,5,171,1,0,0,0,0,0,0,1,0,116,9,0, + 0,0,0,0,0,0,0,100,12,116,12,0,0,0,0,0, + 0,0,0,155,2,157,2,171,1,0,0,0,0,0,0,1, + 0,116,1,0,0,0,0,0,0,0,0,106,14,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100, + 13,171,1,0,0,0,0,0,0,1,0,103,0,125,6,100, + 14,124,1,118,0,114,21,124,6,106,17,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,116,18,0, + 0,0,0,0,0,0,0,171,1,0,0,0,0,0,0,1, + 0,100,15,124,1,118,0,114,21,124,6,106,17,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116, + 20,0,0,0,0,0,0,0,0,171,1,0,0,0,0,0, + 0,1,0,124,6,114,148,116,9,0,0,0,0,0,0,0, + 0,116,22,0,0,0,0,0,0,0,0,106,24,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106, + 27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,6,171,1,0,0,0,0,0,0,171,1,0, + 0,0,0,0,0,1,0,116,12,0,0,0,0,0,0,0, + 0,114,22,116,1,0,0,0,0,0,0,0,0,106,14,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,13,171,1,0,0,0,0,0,0,1,0,121,0,116, + 12,0,0,0,0,0,0,0,0,100,16,117,0,114,22,116, + 1,0,0,0,0,0,0,0,0,106,14,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,2,171, + 1,0,0,0,0,0,0,1,0,121,0,116,12,0,0,0, + 0,0,0,0,0,128,22,116,1,0,0,0,0,0,0,0, + 0,106,14,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,17,171,1,0,0,0,0,0,0,1, + 0,121,0,116,1,0,0,0,0,0,0,0,0,106,14,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,18,171,1,0,0,0,0,0,0,1,0,121,0,100, + 13,100,0,108,14,125,7,116,9,0,0,0,0,0,0,0, + 0,124,7,106,31,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,124,0,116,0,0,0,0,0,0, + 0,0,0,106,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,100,13,25,0,0,0,116,22,0, + 0,0,0,0,0,0,0,106,24,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,102,2,122,6,0, + 0,171,1,0,0,0,0,0,0,171,1,0,0,0,0,0, + 0,1,0,116,1,0,0,0,0,0,0,0,0,106,14,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,19,171,1,0,0,0,0,0,0,1,0,121,0,41, + 20,78,97,178,1,0,0,32,32,32,32,37,115,32,91,45, + 45,117,115,101,114,45,98,97,115,101,93,32,91,45,45,117, + 115,101,114,45,115,105,116,101,93,10,10,32,32,32,32,87, + 105,116,104,111,117,116,32,97,114,103,117,109,101,110,116,115, + 32,112,114,105,110,116,32,115,111,109,101,32,117,115,101,102, + 117,108,32,105,110,102,111,114,109,97,116,105,111,110,10,32, + 32,32,32,87,105,116,104,32,97,114,103,117,109,101,110,116, + 115,32,112,114,105,110,116,32,116,104,101,32,118,97,108,117, + 101,32,111,102,32,85,83,69,82,95,66,65,83,69,32,97, + 110,100,47,111,114,32,85,83,69,82,95,83,73,84,69,32, + 115,101,112,97,114,97,116,101,100,10,32,32,32,32,98,121, + 32,39,37,115,39,46,10,10,32,32,32,32,69,120,105,116, + 32,99,111,100,101,115,32,119,105,116,104,32,45,45,117,115, + 101,114,45,98,97,115,101,32,111,114,32,45,45,117,115,101, + 114,45,115,105,116,101,58,10,32,32,32,32,32,32,48,32, + 45,32,117,115,101,114,32,115,105,116,101,32,100,105,114,101, + 99,116,111,114,121,32,105,115,32,101,110,97,98,108,101,100, + 10,32,32,32,32,32,32,49,32,45,32,117,115,101,114,32, + 115,105,116,101,32,100,105,114,101,99,116,111,114,121,32,105, + 115,32,100,105,115,97,98,108,101,100,32,98,121,32,117,115, + 101,114,10,32,32,32,32,32,32,50,32,45,32,117,115,101, + 114,32,115,105,116,101,32,100,105,114,101,99,116,111,114,121, + 32,105,115,32,100,105,115,97,98,108,101,100,32,98,121,32, + 115,117,112,101,114,32,117,115,101,114,10,32,32,32,32,32, + 32,32,32,32,32,111,114,32,102,111,114,32,115,101,99,117, + 114,105,116,121,32,114,101,97,115,111,110,115,10,32,32,32, + 32,32,62,50,32,45,32,117,110,107,110,111,119,110,32,101, + 114,114,111,114,10,32,32,32,32,114,65,0,0,0,122,12, + 115,121,115,46,112,97,116,104,32,61,32,91,122,4,32,32, + 32,32,250,1,44,250,1,93,99,1,0,0,0,0,0,0, + 0,0,0,0,0,3,0,0,0,19,0,0,0,243,72,0, + 0,0,151,0,124,0,129,32,116,0,0,0,0,0,0,0, + 0,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,106,5,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,0,171,1,0,0, + 0,0,0,0,114,1,121,1,121,2,41,3,78,114,51,0, + 0,0,122,13,100,111,101,115,110,39,116,32,101,120,105,115, + 116,41,3,114,17,0,0,0,114,18,0,0,0,114,151,0, + 0,0,41,1,114,18,0,0,0,115,1,0,0,0,32,114, + 12,0,0,0,114,51,0,0,0,122,23,95,115,99,114,105, + 112,116,46,60,108,111,99,97,108,115,62,46,101,120,105,115, + 116,115,137,2,0,0,115,29,0,0,0,128,0,216,15,19, + 208,15,31,164,66,167,71,161,71,167,77,161,77,176,36,212, + 36,55,216,23,31,224,23,38,114,14,0,0,0,122,11,85, + 83,69,82,95,66,65,83,69,58,32,122,2,32,40,250,1, + 41,122,11,85,83,69,82,95,83,73,84,69,58,32,122,18, + 69,78,65,66,76,69,95,85,83,69,82,95,83,73,84,69, + 58,32,114,2,0,0,0,122,11,45,45,117,115,101,114,45, + 98,97,115,101,122,11,45,45,117,115,101,114,45,115,105,116, + 101,70,114,127,0,0,0,233,3,0,0,0,233,10,0,0, + 0,41,16,114,6,0,0,0,218,4,97,114,103,118,114,145, + 0,0,0,114,149,0,0,0,114,9,0,0,0,114,18,0, + 0,0,114,148,0,0,0,114,173,0,0,0,114,44,0,0, + 0,114,144,0,0,0,114,147,0,0,0,114,17,0,0,0, + 218,7,112,97,116,104,115,101,112,114,19,0,0,0,218,8, + 116,101,120,116,119,114,97,112,218,6,100,101,100,101,110,116, + 41,8,114,196,0,0,0,114,119,0,0,0,218,9,117,115, + 101,114,95,98,97,115,101,114,152,0,0,0,114,24,0,0, + 0,114,51,0,0,0,218,6,98,117,102,102,101,114,114,21, + 1,0,0,115,8,0,0,0,32,32,32,32,32,32,32,32, + 114,12,0,0,0,218,7,95,115,99,114,105,112,116,114,25, + 1,0,0,114,2,0,0,115,110,1,0,0,128,0,240,2, + 13,12,8,128,68,244,28,0,12,15,143,56,137,56,144,65, + 144,66,136,60,128,68,217,11,15,220,20,31,147,77,136,9, + 220,20,39,211,20,41,136,9,220,8,13,136,110,212,8,29, + 220,19,22,151,56,145,56,242,0,1,9,38,136,67,221,12, + 17,154,115,208,18,36,213,12,37,240,3,1,9,38,228,8, + 13,136,99,140,10,242,2,4,9,39,244,10,0,9,14,144, + 11,152,73,152,61,168,2,169,54,176,41,211,43,60,208,42, + 61,184,81,208,14,63,212,8,64,220,8,13,144,11,152,73, + 152,61,168,2,169,54,176,41,211,43,60,208,42,61,184,81, + 208,14,63,212,8,64,220,8,13,208,16,34,212,35,51,208, + 34,54,208,14,55,212,8,56,220,8,11,143,8,137,8,144, + 17,140,11,224,13,15,128,70,216,7,20,152,4,209,7,28, + 216,8,14,143,13,137,13,148,105,212,8,32,216,7,20,152, + 4,209,7,28,216,8,14,143,13,137,13,148,105,212,8,32, + 225,7,13,220,8,13,140,98,143,106,137,106,143,111,137,111, + 152,102,211,14,37,212,8,38,221,11,27,220,12,15,143,72, + 137,72,144,81,141,75,220,13,29,160,21,209,13,38,220,12, + 15,143,72,137,72,144,81,141,75,220,13,29,208,13,37,220, + 12,15,143,72,137,72,144,81,141,75,228,12,15,143,72,137, + 72,144,81,141,75,227,8,23,220,8,13,136,104,143,111,137, + 111,152,100,164,99,167,104,161,104,168,113,161,107,180,50,183, + 58,177,58,208,37,62,209,30,62,211,14,63,212,8,64,220, + 8,11,143,8,137,8,144,18,141,12,114,14,0,0,0,218, + 8,95,95,109,97,105,110,95,95,114,16,0,0,0,41,40, + 114,200,0,0,0,114,6,0,0,0,114,17,0,0,0,114, + 176,0,0,0,114,174,0,0,0,114,71,0,0,0,114,68, + 0,0,0,114,164,0,0,0,114,236,0,0,0,114,158,0, + 0,0,114,148,0,0,0,114,147,0,0,0,114,144,0,0, + 0,114,13,0,0,0,114,25,0,0,0,114,42,0,0,0, + 114,49,0,0,0,114,56,0,0,0,114,94,0,0,0,114, + 102,0,0,0,114,111,0,0,0,114,135,0,0,0,114,142, + 0,0,0,114,145,0,0,0,114,149,0,0,0,114,153,0, + 0,0,114,167,0,0,0,114,169,0,0,0,114,178,0,0, + 0,114,193,0,0,0,114,197,0,0,0,114,218,0,0,0, + 114,247,0,0,0,114,2,1,0,0,114,7,1,0,0,114, + 11,1,0,0,114,7,0,0,0,218,7,110,111,95,115,105, + 116,101,114,25,1,0,0,114,0,1,0,0,114,110,0,0, + 0,114,14,0,0,0,114,12,0,0,0,250,8,60,109,111, + 100,117,108,101,62,114,28,1,0,0,1,0,0,0,115,239, + 0,0,0,240,3,1,1,1,241,2,69,1,1,4,243,78, + 2,0,1,11,219,0,9,219,0,15,219,0,20,219,0,9, + 219,0,11,240,6,0,13,16,143,74,137,74,152,3,159,15, + 153,15,208,11,40,128,8,240,6,0,20,24,208,0,16,240, + 10,0,13,17,128,9,216,12,16,128,9,242,6,2,1,40, + 242,10,6,1,38,242,18,20,1,17,242,46,16,1,23,242, + 38,10,1,13,242,26,52,1,23,243,110,1,23,1,23,242, + 52,22,1,16,242,64,1,20,1,35,242,48,10,1,75,1, + 242,26,10,1,21,242,26,15,1,21,242,34,13,1,23,243, + 30,31,1,24,243,66,1,7,1,23,242,18,13,1,55,242, + 32,18,1,21,242,42,1,1,44,242,6,57,1,48,242,118, + 1,52,1,23,242,110,1,17,1,47,242,40,17,1,47,242, + 40,27,1,28,240,62,0,8,11,135,121,129,121,215,7,24, + 210,7,24,217,4,8,132,70,242,4,52,1,21,240,108,1, + 0,4,12,136,122,210,3,25,217,4,11,133,73,240,3,0, + 4,26,114,14,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/stat.h b/contrib/tools/python3/src/Python/frozen_modules/stat.h new file mode 100644 index 00000000000..ae8573d7b7b --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/stat.h @@ -0,0 +1,329 @@ +/* Auto-generated by Programs/_freeze_module.py */ +const unsigned char _Py_M__stat[] = { + 227,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0, + 0,0,0,0,0,243,54,2,0,0,151,0,100,0,90,0, + 100,1,90,1,100,2,90,2,100,3,90,3,100,4,90,4, + 100,5,90,5,100,6,90,6,100,7,90,7,100,8,90,8, + 100,9,90,9,100,10,90,10,100,11,132,0,90,11,100,12, + 132,0,90,12,100,13,90,13,100,14,90,14,100,15,90,15, + 100,16,90,16,100,17,90,17,100,18,90,18,100,19,90,19, + 100,1,90,20,100,1,90,21,100,1,90,22,100,20,132,0, + 90,23,100,21,132,0,90,24,100,22,132,0,90,25,100,23, + 132,0,90,26,100,24,132,0,90,27,100,25,132,0,90,28, + 100,26,132,0,90,29,100,27,132,0,90,30,100,28,132,0, + 90,31,100,29,132,0,90,32,100,30,90,33,100,31,90,34, + 101,34,90,35,100,32,90,36,100,33,90,37,100,34,90,38, + 100,35,90,39,100,36,90,40,100,33,90,41,100,34,90,42, + 100,35,90,43,100,37,90,44,100,38,90,45,100,39,90,46, + 100,9,90,47,100,8,90,48,100,5,90,49,100,3,90,50, + 100,2,90,51,100,2,90,52,100,3,90,53,100,5,90,54, + 100,9,90,55,100,39,90,56,100,38,90,57,100,16,90,58, + 100,40,90,59,100,41,90,60,100,42,90,61,100,43,90,62, + 100,44,90,63,101,18,100,45,102,2,101,19,100,46,102,2, + 101,16,100,47,102,2,101,15,100,48,102,2,101,13,100,49, + 102,2,101,14,100,50,102,2,101,17,100,51,102,2,102,7, + 101,41,100,52,102,2,102,1,101,42,100,53,102,2,102,1, + 101,43,101,33,122,7,0,0,100,46,102,2,101,33,100,54, + 102,2,101,43,100,55,102,2,102,3,101,45,100,52,102,2, + 102,1,101,46,100,53,102,2,102,1,101,47,101,34,122,7, + 0,0,100,46,102,2,101,34,100,54,102,2,101,47,100,55, + 102,2,102,3,101,49,100,52,102,2,102,1,101,50,100,53, + 102,2,102,1,101,51,101,36,122,7,0,0,100,56,102,2, + 101,36,100,57,102,2,101,51,100,55,102,2,102,3,102,10, + 90,64,100,58,132,0,90,65,100,38,90,66,100,30,90,67, + 100,35,90,68,100,39,90,69,100,13,90,70,100,3,90,71, + 100,16,90,72,100,34,90,73,100,14,90,74,100,41,90,75, + 100,17,90,76,100,2,90,77,100,31,90,78,100,32,90,79, + 100,5,90,80,100,33,90,81,100,40,90,82,9,0,100,1, + 100,59,108,83,173,2,1,0,121,60,35,0,101,84,36,0, + 114,3,1,0,89,0,121,60,119,0,120,3,89,0,119,1, + 41,61,122,111,67,111,110,115,116,97,110,116,115,47,102,117, + 110,99,116,105,111,110,115,32,102,111,114,32,105,110,116,101, + 114,112,114,101,116,105,110,103,32,114,101,115,117,108,116,115, + 32,111,102,32,111,115,46,115,116,97,116,40,41,32,97,110, + 100,32,111,115,46,108,115,116,97,116,40,41,46,10,10,83, + 117,103,103,101,115,116,101,100,32,117,115,97,103,101,58,32, + 102,114,111,109,32,115,116,97,116,32,105,109,112,111,114,116, + 32,42,10,233,0,0,0,0,233,1,0,0,0,233,2,0, + 0,0,233,3,0,0,0,233,4,0,0,0,233,5,0,0, + 0,233,6,0,0,0,233,7,0,0,0,233,8,0,0,0, + 233,9,0,0,0,99,1,0,0,0,0,0,0,0,0,0, + 0,0,2,0,0,0,3,0,0,0,243,12,0,0,0,151, + 0,124,0,100,1,122,1,0,0,83,0,41,2,122,77,82, + 101,116,117,114,110,32,116,104,101,32,112,111,114,116,105,111, + 110,32,111,102,32,116,104,101,32,102,105,108,101,39,115,32, + 109,111,100,101,32,116,104,97,116,32,99,97,110,32,98,101, + 32,115,101,116,32,98,121,10,32,32,32,32,111,115,46,99, + 104,109,111,100,40,41,46,10,32,32,32,32,105,255,15,0, + 0,169,0,169,1,218,4,109,111,100,101,115,1,0,0,0, + 32,250,13,60,102,114,111,122,101,110,32,115,116,97,116,62, + 218,7,83,95,73,77,79,68,69,114,17,0,0,0,21,0, + 0,0,115,14,0,0,0,128,0,240,8,0,12,16,144,38, + 137,61,208,4,24,243,0,0,0,0,99,1,0,0,0,0, + 0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,243, + 12,0,0,0,151,0,124,0,100,1,122,1,0,0,83,0, + 41,2,122,76,82,101,116,117,114,110,32,116,104,101,32,112, + 111,114,116,105,111,110,32,111,102,32,116,104,101,32,102,105, + 108,101,39,115,32,109,111,100,101,32,116,104,97,116,32,100, + 101,115,99,114,105,98,101,115,32,116,104,101,10,32,32,32, + 32,102,105,108,101,32,116,121,112,101,46,10,32,32,32,32, + 105,0,240,0,0,114,13,0,0,0,114,14,0,0,0,115, + 1,0,0,0,32,114,16,0,0,0,218,6,83,95,73,70, + 77,84,114,20,0,0,0,27,0,0,0,115,14,0,0,0, + 128,0,240,8,0,12,16,144,40,137,63,208,4,26,114,18, + 0,0,0,105,0,64,0,0,105,0,32,0,0,105,0,96, + 0,0,105,0,128,0,0,105,0,16,0,0,105,0,160,0, + 0,105,0,192,0,0,99,1,0,0,0,0,0,0,0,0, + 0,0,0,3,0,0,0,3,0,0,0,243,38,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,116,2,0,0,0,0,0,0,0,0, + 107,40,0,0,83,0,41,1,122,40,82,101,116,117,114,110, + 32,84,114,117,101,32,105,102,32,109,111,100,101,32,105,115, + 32,102,114,111,109,32,97,32,100,105,114,101,99,116,111,114, + 121,46,41,2,114,20,0,0,0,218,7,83,95,73,70,68, + 73,82,114,14,0,0,0,115,1,0,0,0,32,114,16,0, + 0,0,218,7,83,95,73,83,68,73,82,114,23,0,0,0, + 50,0,0,0,243,17,0,0,0,128,0,228,11,17,144,36, + 139,60,156,55,209,11,34,208,4,34,114,18,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,38,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,116, + 2,0,0,0,0,0,0,0,0,107,40,0,0,83,0,41, + 1,122,60,82,101,116,117,114,110,32,84,114,117,101,32,105, + 102,32,109,111,100,101,32,105,115,32,102,114,111,109,32,97, + 32,99,104,97,114,97,99,116,101,114,32,115,112,101,99,105, + 97,108,32,100,101,118,105,99,101,32,102,105,108,101,46,41, + 2,114,20,0,0,0,218,7,83,95,73,70,67,72,82,114, + 14,0,0,0,115,1,0,0,0,32,114,16,0,0,0,218, + 7,83,95,73,83,67,72,82,114,27,0,0,0,54,0,0, + 0,114,24,0,0,0,114,18,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, + 243,38,0,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,116,2,0,0,0, + 0,0,0,0,0,107,40,0,0,83,0,41,1,122,56,82, + 101,116,117,114,110,32,84,114,117,101,32,105,102,32,109,111, + 100,101,32,105,115,32,102,114,111,109,32,97,32,98,108,111, + 99,107,32,115,112,101,99,105,97,108,32,100,101,118,105,99, + 101,32,102,105,108,101,46,41,2,114,20,0,0,0,218,7, + 83,95,73,70,66,76,75,114,14,0,0,0,115,1,0,0, + 0,32,114,16,0,0,0,218,7,83,95,73,83,66,76,75, + 114,30,0,0,0,58,0,0,0,114,24,0,0,0,114,18, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 3,0,0,0,3,0,0,0,243,38,0,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0, + 0,0,0,116,2,0,0,0,0,0,0,0,0,107,40,0, + 0,83,0,41,1,122,43,82,101,116,117,114,110,32,84,114, + 117,101,32,105,102,32,109,111,100,101,32,105,115,32,102,114, + 111,109,32,97,32,114,101,103,117,108,97,114,32,102,105,108, + 101,46,41,2,114,20,0,0,0,218,7,83,95,73,70,82, + 69,71,114,14,0,0,0,115,1,0,0,0,32,114,16,0, + 0,0,218,7,83,95,73,83,82,69,71,114,33,0,0,0, + 62,0,0,0,114,24,0,0,0,114,18,0,0,0,99,1, + 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3, + 0,0,0,243,38,0,0,0,151,0,116,1,0,0,0,0, + 0,0,0,0,124,0,171,1,0,0,0,0,0,0,116,2, + 0,0,0,0,0,0,0,0,107,40,0,0,83,0,41,1, + 122,48,82,101,116,117,114,110,32,84,114,117,101,32,105,102, + 32,109,111,100,101,32,105,115,32,102,114,111,109,32,97,32, + 70,73,70,79,32,40,110,97,109,101,100,32,112,105,112,101, + 41,46,41,2,114,20,0,0,0,218,7,83,95,73,70,73, + 70,79,114,14,0,0,0,115,1,0,0,0,32,114,16,0, + 0,0,218,8,83,95,73,83,70,73,70,79,114,36,0,0, + 0,66,0,0,0,114,24,0,0,0,114,18,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,243,38,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,116, + 2,0,0,0,0,0,0,0,0,107,40,0,0,83,0,41, + 1,122,44,82,101,116,117,114,110,32,84,114,117,101,32,105, + 102,32,109,111,100,101,32,105,115,32,102,114,111,109,32,97, + 32,115,121,109,98,111,108,105,99,32,108,105,110,107,46,41, + 2,114,20,0,0,0,218,7,83,95,73,70,76,78,75,114, + 14,0,0,0,115,1,0,0,0,32,114,16,0,0,0,218, + 7,83,95,73,83,76,78,75,114,39,0,0,0,70,0,0, + 0,114,24,0,0,0,114,18,0,0,0,99,1,0,0,0, + 0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, + 243,38,0,0,0,151,0,116,1,0,0,0,0,0,0,0, + 0,124,0,171,1,0,0,0,0,0,0,116,2,0,0,0, + 0,0,0,0,0,107,40,0,0,83,0,41,1,122,37,82, + 101,116,117,114,110,32,84,114,117,101,32,105,102,32,109,111, + 100,101,32,105,115,32,102,114,111,109,32,97,32,115,111,99, + 107,101,116,46,41,2,114,20,0,0,0,218,8,83,95,73, + 70,83,79,67,75,114,14,0,0,0,115,1,0,0,0,32, + 114,16,0,0,0,218,8,83,95,73,83,83,79,67,75,114, + 42,0,0,0,74,0,0,0,115,17,0,0,0,128,0,228, + 11,17,144,36,139,60,156,56,209,11,35,208,4,35,114,18, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,3,0,0,0,243,4,0,0,0,151,0,121, + 1,41,2,122,35,82,101,116,117,114,110,32,84,114,117,101, + 32,105,102,32,109,111,100,101,32,105,115,32,102,114,111,109, + 32,97,32,100,111,111,114,46,70,114,13,0,0,0,114,14, + 0,0,0,115,1,0,0,0,32,114,16,0,0,0,218,8, + 83,95,73,83,68,79,79,82,114,44,0,0,0,78,0,0, + 0,243,5,0,0,0,128,0,224,11,16,114,18,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,3,0,0,0,243,4,0,0,0,151,0,121,1,41,2, + 122,42,82,101,116,117,114,110,32,84,114,117,101,32,105,102, + 32,109,111,100,101,32,105,115,32,102,114,111,109,32,97,110, + 32,101,118,101,110,116,32,112,111,114,116,46,70,114,13,0, + 0,0,114,14,0,0,0,115,1,0,0,0,32,114,16,0, + 0,0,218,8,83,95,73,83,80,79,82,84,114,47,0,0, + 0,82,0,0,0,114,45,0,0,0,114,18,0,0,0,99, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 3,0,0,0,243,4,0,0,0,151,0,121,1,41,2,122, + 39,82,101,116,117,114,110,32,84,114,117,101,32,105,102,32, + 109,111,100,101,32,105,115,32,102,114,111,109,32,97,32,119, + 104,105,116,101,111,117,116,46,70,114,13,0,0,0,114,14, + 0,0,0,115,1,0,0,0,32,114,16,0,0,0,218,7, + 83,95,73,83,87,72,84,114,49,0,0,0,86,0,0,0, + 114,45,0,0,0,114,18,0,0,0,105,0,8,0,0,105, + 0,4,0,0,105,0,2,0,0,233,0,1,0,0,233,128, + 0,0,0,233,64,0,0,0,105,192,1,0,0,233,56,0, + 0,0,233,32,0,0,0,233,16,0,0,0,105,0,0,1, + 0,105,0,0,2,0,105,0,0,4,0,105,0,0,16,0, + 105,0,0,32,0,218,1,108,218,1,115,250,1,45,218,1, + 98,218,1,100,218,1,99,218,1,112,218,1,114,218,1,119, + 218,1,83,218,1,120,218,1,116,218,1,84,99,1,0,0, + 0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0, + 0,243,170,0,0,0,151,0,103,0,125,1,116,0,0,0, + 0,0,0,0,0,0,68,0,93,56,0,0,125,2,124,2, + 68,0,93,32,0,0,92,2,0,0,125,3,125,4,124,0, + 124,3,122,1,0,0,124,3,107,40,0,0,115,1,140,15, + 124,1,106,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,4,171,1,0,0,0,0,0,0, + 1,0,1,0,140,39,4,0,124,1,106,3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,1, + 171,1,0,0,0,0,0,0,1,0,140,58,4,0,100,2, + 106,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,171,1,0,0,0,0,0,0,83,0, + 41,3,122,59,67,111,110,118,101,114,116,32,97,32,102,105, + 108,101,39,115,32,109,111,100,101,32,116,111,32,97,32,115, + 116,114,105,110,103,32,111,102,32,116,104,101,32,102,111,114, + 109,32,39,45,114,119,120,114,119,120,114,119,120,39,46,114, + 58,0,0,0,218,0,41,3,218,15,95,102,105,108,101,109, + 111,100,101,95,116,97,98,108,101,218,6,97,112,112,101,110, + 100,218,4,106,111,105,110,41,5,114,15,0,0,0,218,4, + 112,101,114,109,218,5,116,97,98,108,101,218,3,98,105,116, + 218,4,99,104,97,114,115,5,0,0,0,32,32,32,32,32, + 114,16,0,0,0,218,8,102,105,108,101,109,111,100,101,114, + 78,0,0,0,156,0,0,0,115,98,0,0,0,128,0,224, + 11,13,128,68,220,17,32,242,0,6,5,29,136,5,216,25, + 30,242,0,5,9,29,137,73,136,67,144,20,216,15,19,144, + 99,137,122,152,83,211,15,32,216,16,20,151,11,145,11,152, + 68,212,16,33,217,16,21,240,7,5,9,29,240,10,0,13, + 17,143,75,137,75,152,3,213,12,28,240,13,6,5,29,240, + 14,0,12,14,143,55,137,55,144,52,139,61,208,4,24,114, + 18,0,0,0,41,1,218,1,42,78,41,85,218,7,95,95, + 100,111,99,95,95,218,7,83,84,95,77,79,68,69,218,6, + 83,84,95,73,78,79,218,6,83,84,95,68,69,86,218,8, + 83,84,95,78,76,73,78,75,218,6,83,84,95,85,73,68, + 218,6,83,84,95,71,73,68,218,7,83,84,95,83,73,90, + 69,218,8,83,84,95,65,84,73,77,69,218,8,83,84,95, + 77,84,73,77,69,218,8,83,84,95,67,84,73,77,69,114, + 17,0,0,0,114,20,0,0,0,114,22,0,0,0,114,26, + 0,0,0,114,29,0,0,0,114,32,0,0,0,114,35,0, + 0,0,114,38,0,0,0,114,41,0,0,0,218,8,83,95, + 73,70,68,79,79,82,218,8,83,95,73,70,80,79,82,84, + 218,7,83,95,73,70,87,72,84,114,23,0,0,0,114,27, + 0,0,0,114,30,0,0,0,114,33,0,0,0,114,36,0, + 0,0,114,39,0,0,0,114,42,0,0,0,114,44,0,0, + 0,114,47,0,0,0,114,49,0,0,0,218,7,83,95,73, + 83,85,73,68,218,7,83,95,73,83,71,73,68,218,7,83, + 95,69,78,70,77,84,218,7,83,95,73,83,86,84,88,218, + 7,83,95,73,82,69,65,68,218,8,83,95,73,87,82,73, + 84,69,218,7,83,95,73,69,88,69,67,218,7,83,95,73, + 82,87,88,85,218,7,83,95,73,82,85,83,82,218,7,83, + 95,73,87,85,83,82,218,7,83,95,73,88,85,83,82,218, + 7,83,95,73,82,87,88,71,218,7,83,95,73,82,71,82, + 80,218,7,83,95,73,87,71,82,80,218,7,83,95,73,88, + 71,82,80,218,7,83,95,73,82,87,88,79,218,7,83,95, + 73,82,79,84,72,218,7,83,95,73,87,79,84,72,218,7, + 83,95,73,88,79,84,72,218,9,85,70,95,78,79,68,85, + 77,80,218,12,85,70,95,73,77,77,85,84,65,66,76,69, + 218,9,85,70,95,65,80,80,69,78,68,218,9,85,70,95, + 79,80,65,81,85,69,218,11,85,70,95,78,79,85,78,76, + 73,78,75,218,13,85,70,95,67,79,77,80,82,69,83,83, + 69,68,218,9,85,70,95,72,73,68,68,69,78,218,11,83, + 70,95,65,82,67,72,73,86,69,68,218,12,83,70,95,73, + 77,77,85,84,65,66,76,69,218,9,83,70,95,65,80,80, + 69,78,68,218,11,83,70,95,78,79,85,78,76,73,78,75, + 218,11,83,70,95,83,78,65,80,83,72,79,84,114,71,0, + 0,0,114,78,0,0,0,218,22,70,73,76,69,95,65,84, + 84,82,73,66,85,84,69,95,65,82,67,72,73,86,69,218, + 25,70,73,76,69,95,65,84,84,82,73,66,85,84,69,95, + 67,79,77,80,82,69,83,83,69,68,218,21,70,73,76,69, + 95,65,84,84,82,73,66,85,84,69,95,68,69,86,73,67, + 69,218,24,70,73,76,69,95,65,84,84,82,73,66,85,84, + 69,95,68,73,82,69,67,84,79,82,89,218,24,70,73,76, + 69,95,65,84,84,82,73,66,85,84,69,95,69,78,67,82, + 89,80,84,69,68,218,21,70,73,76,69,95,65,84,84,82, + 73,66,85,84,69,95,72,73,68,68,69,78,218,31,70,73, + 76,69,95,65,84,84,82,73,66,85,84,69,95,73,78,84, + 69,71,82,73,84,89,95,83,84,82,69,65,77,218,21,70, + 73,76,69,95,65,84,84,82,73,66,85,84,69,95,78,79, + 82,77,65,76,218,34,70,73,76,69,95,65,84,84,82,73, + 66,85,84,69,95,78,79,84,95,67,79,78,84,69,78,84, + 95,73,78,68,69,88,69,68,218,28,70,73,76,69,95,65, + 84,84,82,73,66,85,84,69,95,78,79,95,83,67,82,85, + 66,95,68,65,84,65,218,22,70,73,76,69,95,65,84,84, + 82,73,66,85,84,69,95,79,70,70,76,73,78,69,218,23, + 70,73,76,69,95,65,84,84,82,73,66,85,84,69,95,82, + 69,65,68,79,78,76,89,218,28,70,73,76,69,95,65,84, + 84,82,73,66,85,84,69,95,82,69,80,65,82,83,69,95, + 80,79,73,78,84,218,26,70,73,76,69,95,65,84,84,82, + 73,66,85,84,69,95,83,80,65,82,83,69,95,70,73,76, + 69,218,21,70,73,76,69,95,65,84,84,82,73,66,85,84, + 69,95,83,89,83,84,69,77,218,24,70,73,76,69,95,65, + 84,84,82,73,66,85,84,69,95,84,69,77,80,79,82,65, + 82,89,218,22,70,73,76,69,95,65,84,84,82,73,66,85, + 84,69,95,86,73,82,84,85,65,76,218,5,95,115,116,97, + 116,218,11,73,109,112,111,114,116,69,114,114,111,114,114,13, + 0,0,0,114,18,0,0,0,114,16,0,0,0,250,8,60, + 109,111,100,117,108,101,62,114,144,0,0,0,1,0,0,0, + 115,197,2,0,0,240,3,1,1,1,241,2,3,1,4,240, + 14,0,12,13,128,7,216,11,12,128,6,216,11,12,128,6, + 216,11,12,128,8,216,11,12,128,6,216,11,12,128,6,216, + 11,12,128,7,216,11,12,128,8,216,11,12,128,8,216,11, + 12,128,8,242,8,4,1,25,242,12,4,1,27,240,18,0, + 12,20,128,7,216,11,19,128,7,216,11,19,128,7,216,11, + 19,128,7,216,11,19,128,7,216,11,19,128,7,216,11,19, + 128,8,224,11,12,128,8,216,11,12,128,8,216,10,11,128, + 7,242,8,2,1,35,242,8,2,1,35,242,8,2,1,35, + 242,8,2,1,35,242,8,2,1,35,242,8,2,1,35,242, + 8,2,1,36,242,8,2,1,17,242,8,2,1,17,242,8, + 2,1,17,240,12,0,11,17,128,7,216,10,16,128,7,216, + 10,17,128,7,216,10,16,128,7,216,10,16,128,7,216,11, + 17,128,8,216,10,16,128,7,216,10,16,128,7,216,10,16, + 128,7,216,10,16,128,7,216,10,16,128,7,216,10,16,128, + 7,216,10,16,128,7,216,10,16,128,7,216,10,16,128,7, + 216,10,16,128,7,216,10,16,128,7,216,10,16,128,7,216, + 10,16,128,7,240,8,0,16,26,128,9,216,15,25,128,12, + 216,15,25,128,9,216,15,25,128,9,216,15,25,128,11,216, + 16,26,128,13,216,15,25,128,9,216,15,25,128,11,216,15, + 25,128,12,216,15,25,128,9,216,15,25,128,11,216,15,25, + 128,11,240,8,0,7,14,144,115,208,5,27,216,6,14,144, + 115,208,5,27,216,6,13,144,115,208,5,27,216,6,13,144, + 115,208,5,27,216,6,13,144,115,208,5,27,216,6,13,144, + 115,208,5,27,216,6,13,144,115,208,5,27,240,13,6,5, + 29,240,16,0,7,14,144,115,208,5,27,208,4,29,216,6, + 13,144,115,208,5,27,208,4,29,216,6,13,136,103,129,111, + 144,115,208,5,27,216,6,13,144,115,208,5,27,216,6,13, + 144,115,208,5,27,240,5,2,5,29,240,8,0,7,14,144, + 115,208,5,27,208,4,29,216,6,13,144,115,208,5,27,208, + 4,29,216,6,13,136,103,129,111,144,115,208,5,27,216,6, + 13,144,115,208,5,27,216,6,13,144,115,208,5,27,240,5, + 2,5,29,240,8,0,7,14,144,115,208,5,27,208,4,29, + 216,6,13,144,115,208,5,27,208,4,29,216,6,13,136,103, + 129,111,144,115,208,5,27,216,6,13,144,115,208,5,27,216, + 6,13,144,115,208,5,27,240,5,2,5,29,240,47,26,19, + 2,128,15,242,56,10,1,25,240,32,0,26,28,208,0,22, + 216,28,32,208,0,25,216,24,26,208,0,21,216,27,29,208, + 0,24,216,27,32,208,0,24,216,24,25,208,0,21,216,34, + 39,208,0,31,216,24,27,208,0,21,216,37,41,208,0,34, + 216,31,37,208,0,28,216,25,29,208,0,22,216,26,27,208, + 0,23,216,31,35,208,0,28,216,29,32,208,0,26,216,24, + 25,208,0,21,216,27,30,208,0,24,216,25,30,208,0,22, + 240,8,3,1,9,221,4,23,248,216,7,18,242,0,1,1, + 9,217,4,8,240,3,1,1,9,250,115,18,0,0,0,196, + 10,5,68,16,0,196,16,5,68,24,3,196,23,1,68,24, + 3, +}; diff --git a/contrib/tools/python3/src/Python/frozen_modules/zipimport.h b/contrib/tools/python3/src/Python/frozen_modules/zipimport.h new file mode 100644 index 00000000000..5f2f63046dc --- /dev/null +++ b/contrib/tools/python3/src/Python/frozen_modules/zipimport.h @@ -0,0 +1,1531 @@ +/* Auto-generated by Programs/_freeze_module.c */ +const unsigned char _Py_M__zipimport[] = { + 99,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0, + 0,0,0,0,0,243,154,1,0,0,151,0,100,0,90,0, + 100,1,100,2,108,1,90,2,100,1,100,3,108,1,109,3, + 90,3,109,4,90,4,1,0,100,1,100,2,108,5,90,6, + 100,1,100,2,108,7,90,7,100,1,100,2,108,8,90,8, + 100,1,100,2,108,9,90,9,100,1,100,2,108,10,90,10, + 100,1,100,2,108,11,90,11,100,1,100,2,108,12,90,12, + 100,4,100,5,103,2,90,13,101,2,106,28,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,14, + 101,2,106,30,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,6,100,2,26,0,90,16,2,0, + 71,0,100,7,132,0,100,4,101,17,171,3,0,0,0,0, + 0,0,90,18,105,0,90,19,2,0,101,20,101,10,171,1, + 0,0,0,0,0,0,90,21,100,8,90,22,100,9,90,23, + 100,10,90,24,2,0,71,0,100,11,132,0,100,5,101,2, + 106,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,3,0,0,0,0,0,0,90,26,101,14, + 100,12,122,0,0,0,100,13,100,13,102,3,101,14,100,14, + 122,0,0,0,100,15,100,13,102,3,100,16,100,17,102,4, + 90,27,100,18,132,0,90,28,100,19,132,0,90,29,100,20, + 132,0,90,30,100,21,132,0,90,31,100,22,90,32,100,15, + 97,33,100,23,132,0,90,34,100,24,132,0,90,35,100,25, + 132,0,90,36,100,26,132,0,90,37,2,0,101,20,101,37, + 106,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,90,39,100,27, + 132,0,90,40,100,28,132,0,90,41,100,29,132,0,90,42, + 100,30,132,0,90,43,100,31,132,0,90,44,100,32,132,0, + 90,45,121,2,41,33,97,80,2,0,0,122,105,112,105,109, + 112,111,114,116,32,112,114,111,118,105,100,101,115,32,115,117, + 112,112,111,114,116,32,102,111,114,32,105,109,112,111,114,116, + 105,110,103,32,80,121,116,104,111,110,32,109,111,100,117,108, + 101,115,32,102,114,111,109,32,90,105,112,32,97,114,99,104, + 105,118,101,115,46,10,10,84,104,105,115,32,109,111,100,117, + 108,101,32,101,120,112,111,114,116,115,32,116,104,114,101,101, + 32,111,98,106,101,99,116,115,58,10,45,32,122,105,112,105, + 109,112,111,114,116,101,114,58,32,97,32,99,108,97,115,115, + 59,32,105,116,115,32,99,111,110,115,116,114,117,99,116,111, + 114,32,116,97,107,101,115,32,97,32,112,97,116,104,32,116, + 111,32,97,32,90,105,112,32,97,114,99,104,105,118,101,46, + 10,45,32,90,105,112,73,109,112,111,114,116,69,114,114,111, + 114,58,32,101,120,99,101,112,116,105,111,110,32,114,97,105, + 115,101,100,32,98,121,32,122,105,112,105,109,112,111,114,116, + 101,114,32,111,98,106,101,99,116,115,46,32,73,116,39,115, + 32,97,10,32,32,115,117,98,99,108,97,115,115,32,111,102, + 32,73,109,112,111,114,116,69,114,114,111,114,44,32,115,111, + 32,105,116,32,99,97,110,32,98,101,32,99,97,117,103,104, + 116,32,97,115,32,73,109,112,111,114,116,69,114,114,111,114, + 44,32,116,111,111,46,10,45,32,95,122,105,112,95,100,105, + 114,101,99,116,111,114,121,95,99,97,99,104,101,58,32,97, + 32,100,105,99,116,44,32,109,97,112,112,105,110,103,32,97, + 114,99,104,105,118,101,32,112,97,116,104,115,32,116,111,32, + 122,105,112,32,100,105,114,101,99,116,111,114,121,10,32,32, + 105,110,102,111,32,100,105,99,116,115,44,32,97,115,32,117, + 115,101,100,32,105,110,32,122,105,112,105,109,112,111,114,116, + 101,114,46,95,102,105,108,101,115,46,10,10,73,116,32,105, + 115,32,117,115,117,97,108,108,121,32,110,111,116,32,110,101, + 101,100,101,100,32,116,111,32,117,115,101,32,116,104,101,32, + 122,105,112,105,109,112,111,114,116,32,109,111,100,117,108,101, + 32,101,120,112,108,105,99,105,116,108,121,59,32,105,116,32, + 105,115,10,117,115,101,100,32,98,121,32,116,104,101,32,98, + 117,105,108,116,105,110,32,105,109,112,111,114,116,32,109,101, + 99,104,97,110,105,115,109,32,102,111,114,32,115,121,115,46, + 112,97,116,104,32,105,116,101,109,115,32,116,104,97,116,32, + 97,114,101,32,112,97,116,104,115,10,116,111,32,90,105,112, + 32,97,114,99,104,105,118,101,115,46,10,233,0,0,0,0, + 78,41,2,218,14,95,117,110,112,97,99,107,95,117,105,110, + 116,49,54,218,14,95,117,110,112,97,99,107,95,117,105,110, + 116,51,50,218,14,90,105,112,73,109,112,111,114,116,69,114, + 114,111,114,218,11,122,105,112,105,109,112,111,114,116,101,114, + 233,1,0,0,0,99,0,0,0,0,0,0,0,0,0,0, + 0,0,1,0,0,0,0,0,0,0,243,12,0,0,0,151, + 0,101,0,90,1,100,0,90,2,121,1,41,2,114,4,0, + 0,0,78,41,3,218,8,95,95,110,97,109,101,95,95,218, + 10,95,95,109,111,100,117,108,101,95,95,218,12,95,95,113, + 117,97,108,110,97,109,101,95,95,169,0,243,0,0,0,0, + 250,18,60,102,114,111,122,101,110,32,122,105,112,105,109,112, + 111,114,116,62,114,4,0,0,0,114,4,0,0,0,34,0, + 0,0,115,5,0,0,0,132,0,216,4,8,114,12,0,0, + 0,233,22,0,0,0,115,4,0,0,0,80,75,5,6,105, + 255,255,0,0,99,0,0,0,0,0,0,0,0,0,0,0, + 0,2,0,0,0,0,0,0,0,243,84,0,0,0,151,0, + 101,0,90,1,100,0,90,2,100,1,90,3,100,2,132,0, + 90,4,100,14,100,4,132,1,90,5,100,5,132,0,90,6, + 100,6,132,0,90,7,100,7,132,0,90,8,100,8,132,0, + 90,9,100,9,132,0,90,10,100,10,132,0,90,11,100,11, + 132,0,90,12,100,12,132,0,90,13,100,13,132,0,90,14, + 121,3,41,15,114,5,0,0,0,97,255,1,0,0,122,105, + 112,105,109,112,111,114,116,101,114,40,97,114,99,104,105,118, + 101,112,97,116,104,41,32,45,62,32,122,105,112,105,109,112, + 111,114,116,101,114,32,111,98,106,101,99,116,10,10,32,32, + 32,32,67,114,101,97,116,101,32,97,32,110,101,119,32,122, + 105,112,105,109,112,111,114,116,101,114,32,105,110,115,116,97, + 110,99,101,46,32,39,97,114,99,104,105,118,101,112,97,116, + 104,39,32,109,117,115,116,32,98,101,32,97,32,112,97,116, + 104,32,116,111,10,32,32,32,32,97,32,122,105,112,102,105, + 108,101,44,32,111,114,32,116,111,32,97,32,115,112,101,99, + 105,102,105,99,32,112,97,116,104,32,105,110,115,105,100,101, + 32,97,32,122,105,112,102,105,108,101,46,32,70,111,114,32, + 101,120,97,109,112,108,101,44,32,105,116,32,99,97,110,32, + 98,101,10,32,32,32,32,39,47,116,109,112,47,109,121,105, + 109,112,111,114,116,46,122,105,112,39,44,32,111,114,32,39, + 47,116,109,112,47,109,121,105,109,112,111,114,116,46,122,105, + 112,47,109,121,100,105,114,101,99,116,111,114,121,39,44,32, + 105,102,32,109,121,100,105,114,101,99,116,111,114,121,32,105, + 115,32,97,10,32,32,32,32,118,97,108,105,100,32,100,105, + 114,101,99,116,111,114,121,32,105,110,115,105,100,101,32,116, + 104,101,32,97,114,99,104,105,118,101,46,10,10,32,32,32, + 32,39,90,105,112,73,109,112,111,114,116,69,114,114,111,114, + 32,105,115,32,114,97,105,115,101,100,32,105,102,32,39,97, + 114,99,104,105,118,101,112,97,116,104,39,32,100,111,101,115, + 110,39,116,32,112,111,105,110,116,32,116,111,32,97,32,118, + 97,108,105,100,32,90,105,112,10,32,32,32,32,97,114,99, + 104,105,118,101,46,10,10,32,32,32,32,84,104,101,32,39, + 97,114,99,104,105,118,101,39,32,97,116,116,114,105,98,117, + 116,101,32,111,102,32,122,105,112,105,109,112,111,114,116,101, + 114,32,111,98,106,101,99,116,115,32,99,111,110,116,97,105, + 110,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116, + 104,101,10,32,32,32,32,122,105,112,102,105,108,101,32,116, + 97,114,103,101,116,101,100,46,10,32,32,32,32,99,2,0, + 0,0,0,0,0,0,0,0,0,0,6,0,0,0,3,0, + 0,0,243,196,2,0,0,151,0,116,1,0,0,0,0,0, + 0,0,0,124,1,116,2,0,0,0,0,0,0,0,0,171, + 2,0,0,0,0,0,0,115,23,116,5,0,0,0,0,0, + 0,0,0,100,1,116,7,0,0,0,0,0,0,0,0,124, + 1,171,1,0,0,0,0,0,0,155,2,157,2,171,1,0, + 0,0,0,0,0,130,1,124,1,115,13,116,9,0,0,0, + 0,0,0,0,0,100,2,124,1,172,3,171,2,0,0,0, + 0,0,0,130,1,116,10,0,0,0,0,0,0,0,0,114, + 26,124,1,106,13,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,116,10,0,0,0,0,0,0,0, + 0,116,14,0,0,0,0,0,0,0,0,171,2,0,0,0, + 0,0,0,125,1,103,0,125,2,9,0,9,0,116,17,0, + 0,0,0,0,0,0,0,106,18,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,171,1,0, + 0,0,0,0,0,125,3,124,3,106,20,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,4,122, + 1,0,0,100,5,107,55,0,0,114,13,116,9,0,0,0, + 0,0,0,0,0,100,6,124,1,172,3,171,2,0,0,0, + 0,0,0,130,1,9,0,9,0,116,30,0,0,0,0,0, + 0,0,0,124,1,25,0,0,0,125,6,124,6,124,0,95, + 18,0,0,0,0,0,0,0,0,124,1,124,0,95,19,0, + 0,0,0,0,0,0,0,116,17,0,0,0,0,0,0,0, + 0,106,40,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,124,2,100,0,100,0,100,7,133,3,25, + 0,0,0,142,0,124,0,95,21,0,0,0,0,0,0,0, + 0,124,0,106,42,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,114,26,124,0,120,1,106,42,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,116,14,0,0,0,0,0,0,0,0,122,13,0,0,99, + 2,95,21,0,0,0,0,0,0,0,0,121,0,121,0,35, + 0,116,22,0,0,0,0,0,0,0,0,116,24,0,0,0, + 0,0,0,0,0,102,2,36,0,114,64,1,0,116,17,0, + 0,0,0,0,0,0,0,106,26,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,171,1,0, + 0,0,0,0,0,92,2,0,0,125,4,125,5,124,4,124, + 1,107,40,0,0,114,13,116,9,0,0,0,0,0,0,0, + 0,100,6,124,1,172,3,171,2,0,0,0,0,0,0,130, + 1,124,4,125,1,124,2,106,29,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,5,171,1,0, + 0,0,0,0,0,1,0,89,0,110,4,119,0,120,3,89, + 0,119,1,140,229,35,0,116,32,0,0,0,0,0,0,0, + 0,36,0,114,23,1,0,116,35,0,0,0,0,0,0,0, + 0,124,1,171,1,0,0,0,0,0,0,125,6,124,6,116, + 30,0,0,0,0,0,0,0,0,124,1,60,0,0,0,89, + 0,140,196,119,0,120,3,89,0,119,1,41,8,78,122,18, + 101,120,112,101,99,116,101,100,32,115,116,114,44,32,110,111, + 116,32,122,21,97,114,99,104,105,118,101,32,112,97,116,104, + 32,105,115,32,101,109,112,116,121,169,1,218,4,112,97,116, + 104,105,0,240,0,0,105,0,128,0,0,122,14,110,111,116, + 32,97,32,90,105,112,32,102,105,108,101,233,255,255,255,255, + 41,22,218,10,105,115,105,110,115,116,97,110,99,101,218,3, + 115,116,114,218,9,84,121,112,101,69,114,114,111,114,218,4, + 116,121,112,101,114,4,0,0,0,218,12,97,108,116,95,112, + 97,116,104,95,115,101,112,218,7,114,101,112,108,97,99,101, + 218,8,112,97,116,104,95,115,101,112,218,19,95,98,111,111, + 116,115,116,114,97,112,95,101,120,116,101,114,110,97,108,218, + 10,95,112,97,116,104,95,115,116,97,116,218,7,115,116,95, + 109,111,100,101,218,7,79,83,69,114,114,111,114,218,10,86, + 97,108,117,101,69,114,114,111,114,218,11,95,112,97,116,104, + 95,115,112,108,105,116,218,6,97,112,112,101,110,100,218,20, + 95,122,105,112,95,100,105,114,101,99,116,111,114,121,95,99, + 97,99,104,101,218,8,75,101,121,69,114,114,111,114,218,15, + 95,114,101,97,100,95,100,105,114,101,99,116,111,114,121,218, + 6,95,102,105,108,101,115,218,7,97,114,99,104,105,118,101, + 218,10,95,112,97,116,104,95,106,111,105,110,218,6,112,114, + 101,102,105,120,41,7,218,4,115,101,108,102,114,18,0,0, + 0,114,40,0,0,0,218,2,115,116,218,7,100,105,114,110, + 97,109,101,218,8,98,97,115,101,110,97,109,101,218,5,102, + 105,108,101,115,115,7,0,0,0,32,32,32,32,32,32,32, + 114,13,0,0,0,218,8,95,95,105,110,105,116,95,95,122, + 20,122,105,112,105,109,112,111,114,116,101,114,46,95,95,105, + 110,105,116,95,95,64,0,0,0,115,89,1,0,0,128,0, + 220,15,25,152,36,164,3,212,15,36,220,18,27,208,30,48, + 180,20,176,100,179,26,176,14,208,28,63,211,18,64,208,12, + 64,217,15,19,220,18,32,208,33,56,184,116,212,18,68,208, + 12,68,221,11,23,216,19,23,151,60,145,60,164,12,172,104, + 211,19,55,136,68,224,17,19,136,6,216,14,18,240,2,15, + 13,22,220,21,40,215,21,51,209,21,51,176,68,211,21,57, + 144,2,240,22,0,21,23,151,74,145,74,160,24,209,20,41, + 168,104,210,19,54,228,26,40,208,41,57,192,4,212,26,69, + 208,20,69,216,16,21,240,4,4,9,47,220,20,40,168,20, + 209,20,46,136,69,240,8,0,23,28,136,4,140,11,216,23, + 27,136,4,140,12,228,22,41,215,22,52,209,22,52,176,102, + 185,84,184,114,184,84,177,108,208,22,67,136,4,140,11,216, + 11,15,143,59,138,59,216,12,16,143,75,138,75,156,56,209, + 12,35,142,75,240,3,0,12,23,248,244,49,0,21,28,156, + 90,208,19,40,242,0,7,13,40,244,6,0,37,56,215,36, + 67,209,36,67,192,68,211,36,73,209,16,33,144,7,152,24, + 216,19,26,152,100,146,63,220,26,40,208,41,57,192,4,212, + 26,69,208,20,69,216,23,30,144,4,216,16,22,151,13,145, + 13,152,104,214,16,39,240,15,7,13,40,250,240,7,0,15, + 19,248,244,40,0,16,24,242,0,2,9,47,220,20,35,160, + 68,211,20,41,136,69,216,41,46,212,12,32,160,20,211,12, + 38,240,5,2,9,47,250,115,37,0,0,0,193,27,21,67, + 44,0,194,17,9,68,63,0,195,44,65,12,68,59,3,196, + 58,1,68,59,3,196,63,29,69,31,3,197,30,1,69,31, + 3,78,99,3,0,0,0,0,0,0,0,0,0,0,0,5, + 0,0,0,3,0,0,0,243,22,1,0,0,151,0,116,1, + 0,0,0,0,0,0,0,0,124,0,124,1,171,2,0,0, + 0,0,0,0,125,3,124,3,129,24,116,3,0,0,0,0, + 0,0,0,0,106,4,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,1,124,0,124,3,172,2, + 171,3,0,0,0,0,0,0,83,0,116,7,0,0,0,0, + 0,0,0,0,124,0,124,1,171,2,0,0,0,0,0,0, + 125,4,116,9,0,0,0,0,0,0,0,0,124,0,124,4, + 171,2,0,0,0,0,0,0,114,75,124,0,106,10,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 155,0,116,12,0,0,0,0,0,0,0,0,155,0,124,4, + 155,0,157,3,125,5,116,3,0,0,0,0,0,0,0,0, + 106,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,100,1,100,3,172,4,171,3,0,0, + 0,0,0,0,125,6,124,6,106,16,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,19,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,5,171,1,0,0,0,0,0,0,1,0,124,6,83,0, + 121,1,41,5,122,107,67,114,101,97,116,101,32,97,32,77, + 111,100,117,108,101,83,112,101,99,32,102,111,114,32,116,104, + 101,32,115,112,101,99,105,102,105,101,100,32,109,111,100,117, + 108,101,46,10,10,32,32,32,32,32,32,32,32,82,101,116, + 117,114,110,115,32,78,111,110,101,32,105,102,32,116,104,101, + 32,109,111,100,117,108,101,32,99,97,110,110,111,116,32,98, + 101,32,102,111,117,110,100,46,10,32,32,32,32,32,32,32, + 32,78,41,1,218,10,105,115,95,112,97,99,107,97,103,101, + 84,41,3,218,4,110,97,109,101,218,6,108,111,97,100,101, + 114,114,48,0,0,0,41,10,218,16,95,103,101,116,95,109, + 111,100,117,108,101,95,105,110,102,111,218,10,95,98,111,111, + 116,115,116,114,97,112,218,16,115,112,101,99,95,102,114,111, + 109,95,108,111,97,100,101,114,218,16,95,103,101,116,95,109, + 111,100,117,108,101,95,112,97,116,104,218,7,95,105,115,95, + 100,105,114,114,38,0,0,0,114,26,0,0,0,218,10,77, + 111,100,117,108,101,83,112,101,99,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,114,33,0,0,0,41,7,114,41,0,0, + 0,218,8,102,117,108,108,110,97,109,101,218,6,116,97,114, + 103,101,116,218,11,109,111,100,117,108,101,95,105,110,102,111, + 218,7,109,111,100,112,97,116,104,114,18,0,0,0,218,4, + 115,112,101,99,115,7,0,0,0,32,32,32,32,32,32,32, + 114,13,0,0,0,218,9,102,105,110,100,95,115,112,101,99, + 122,21,122,105,112,105,109,112,111,114,116,101,114,46,102,105, + 110,100,95,115,112,101,99,104,0,0,0,115,142,0,0,0, + 128,0,244,10,0,23,39,160,116,168,88,211,22,54,136,11, + 216,11,22,208,11,34,220,19,29,215,19,46,209,19,46,168, + 120,184,20,200,43,212,19,86,208,12,86,244,14,0,23,39, + 160,116,168,88,211,22,54,136,71,220,15,22,144,116,152,87, + 212,15,37,240,8,0,27,31,159,44,153,44,152,30,172,8, + 160,122,176,39,176,25,208,23,59,144,4,220,23,33,215,23, + 44,209,23,44,176,40,192,52,216,56,60,244,3,1,24,62, + 144,4,224,16,20,215,16,47,209,16,47,215,16,54,209,16, + 54,176,116,212,16,60,216,23,27,144,11,224,23,27,114,12, + 0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,38,0,0,0,151,0,116, + 1,0,0,0,0,0,0,0,0,124,0,124,1,171,2,0, + 0,0,0,0,0,92,3,0,0,125,2,125,3,125,4,124, + 2,83,0,41,1,122,166,103,101,116,95,99,111,100,101,40, + 102,117,108,108,110,97,109,101,41,32,45,62,32,99,111,100, + 101,32,111,98,106,101,99,116,46,10,10,32,32,32,32,32, + 32,32,32,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,115,112,101,99,105,102,105,101,100,32,109,111,100,117, + 108,101,46,32,82,97,105,115,101,32,90,105,112,73,109,112, + 111,114,116,69,114,114,111,114,10,32,32,32,32,32,32,32, + 32,105,102,32,116,104,101,32,109,111,100,117,108,101,32,99, + 111,117,108,100,110,39,116,32,98,101,32,105,109,112,111,114, + 116,101,100,46,10,32,32,32,32,32,32,32,32,169,1,218, + 16,95,103,101,116,95,109,111,100,117,108,101,95,99,111,100, + 101,169,5,114,41,0,0,0,114,58,0,0,0,218,4,99, + 111,100,101,218,9,105,115,112,97,99,107,97,103,101,114,61, + 0,0,0,115,5,0,0,0,32,32,32,32,32,114,13,0, + 0,0,218,8,103,101,116,95,99,111,100,101,122,20,122,105, + 112,105,109,112,111,114,116,101,114,46,103,101,116,95,99,111, + 100,101,131,0,0,0,115,28,0,0,0,128,0,244,12,0, + 36,52,176,68,184,40,211,35,67,209,8,32,136,4,136,105, + 152,23,216,15,19,136,11,114,12,0,0,0,99,2,0,0, + 0,0,0,0,0,0,0,0,0,6,0,0,0,3,0,0, + 0,243,72,1,0,0,151,0,116,0,0,0,0,0,0,0, + 0,0,114,26,124,1,106,3,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,116,0,0,0,0,0, + 0,0,0,0,116,4,0,0,0,0,0,0,0,0,171,2, + 0,0,0,0,0,0,125,1,124,1,125,2,124,1,106,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,106,8,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,4,0,0,0,0,0,0, + 0,0,122,0,0,0,171,1,0,0,0,0,0,0,114,31, + 124,1,116,11,0,0,0,0,0,0,0,0,124,0,106,8, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,4,0,0,0,0,0,0,0,0,122,0,0,0, + 171,1,0,0,0,0,0,0,100,1,26,0,125,2,9,0, + 124,0,106,12,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,25,0,0,0,125,3,116,19, + 0,0,0,0,0,0,0,0,124,0,106,8,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,3, + 171,2,0,0,0,0,0,0,83,0,35,0,116,14,0,0, + 0,0,0,0,0,0,36,0,114,14,1,0,116,17,0,0, + 0,0,0,0,0,0,100,2,100,3,124,2,171,3,0,0, + 0,0,0,0,130,1,119,0,120,3,89,0,119,1,41,4, + 122,154,103,101,116,95,100,97,116,97,40,112,97,116,104,110, + 97,109,101,41,32,45,62,32,115,116,114,105,110,103,32,119, + 105,116,104,32,102,105,108,101,32,100,97,116,97,46,10,10, + 32,32,32,32,32,32,32,32,82,101,116,117,114,110,32,116, + 104,101,32,100,97,116,97,32,97,115,115,111,99,105,97,116, + 101,100,32,119,105,116,104,32,39,112,97,116,104,110,97,109, + 101,39,46,32,82,97,105,115,101,32,79,83,69,114,114,111, + 114,32,105,102,10,32,32,32,32,32,32,32,32,116,104,101, + 32,102,105,108,101,32,119,97,115,110,39,116,32,102,111,117, + 110,100,46,10,32,32,32,32,32,32,32,32,78,114,1,0, + 0,0,218,0,41,10,114,24,0,0,0,114,25,0,0,0, + 114,26,0,0,0,218,10,115,116,97,114,116,115,119,105,116, + 104,114,38,0,0,0,218,3,108,101,110,114,37,0,0,0, + 114,35,0,0,0,114,30,0,0,0,218,9,95,103,101,116, + 95,100,97,116,97,41,4,114,41,0,0,0,218,8,112,97, + 116,104,110,97,109,101,218,3,107,101,121,218,9,116,111,99, + 95,101,110,116,114,121,115,4,0,0,0,32,32,32,32,114, + 13,0,0,0,218,8,103,101,116,95,100,97,116,97,122,20, + 122,105,112,105,109,112,111,114,116,101,114,46,103,101,116,95, + 100,97,116,97,141,0,0,0,115,150,0,0,0,128,0,245, + 12,0,12,24,216,23,31,215,23,39,209,23,39,172,12,180, + 104,211,23,63,136,72,224,14,22,136,3,216,11,19,215,11, + 30,209,11,30,152,116,159,124,153,124,172,104,209,31,54,212, + 11,55,216,18,26,156,51,152,116,159,124,153,124,172,104,209, + 31,54,211,27,55,208,27,56,208,18,57,136,67,240,4,3, + 9,38,216,24,28,159,11,153,11,160,67,209,24,40,136,73, + 244,6,0,16,25,152,20,159,28,153,28,160,121,211,15,49, + 208,8,49,248,244,5,0,16,24,242,0,1,9,38,220,18, + 25,152,33,152,82,160,19,211,18,37,208,12,37,240,3,1, + 9,38,250,115,12,0,0,0,193,37,15,66,10,0,194,10, + 23,66,33,3,99,2,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,3,0,0,0,243,38,0,0,0,151,0, + 116,1,0,0,0,0,0,0,0,0,124,0,124,1,171,2, + 0,0,0,0,0,0,92,3,0,0,125,2,125,3,125,4, + 124,4,83,0,41,1,122,165,103,101,116,95,102,105,108,101, + 110,97,109,101,40,102,117,108,108,110,97,109,101,41,32,45, + 62,32,102,105,108,101,110,97,109,101,32,115,116,114,105,110, + 103,46,10,10,32,32,32,32,32,32,32,32,82,101,116,117, + 114,110,32,116,104,101,32,102,105,108,101,110,97,109,101,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,111,114,32,114,97,105,115, + 101,32,90,105,112,73,109,112,111,114,116,69,114,114,111,114, + 10,32,32,32,32,32,32,32,32,105,102,32,105,116,32,99, + 111,117,108,100,110,39,116,32,98,101,32,105,109,112,111,114, + 116,101,100,46,10,32,32,32,32,32,32,32,32,114,65,0, + 0,0,114,67,0,0,0,115,5,0,0,0,32,32,32,32, + 32,114,13,0,0,0,218,12,103,101,116,95,102,105,108,101, + 110,97,109,101,122,24,122,105,112,105,109,112,111,114,116,101, + 114,46,103,101,116,95,102,105,108,101,110,97,109,101,162,0, + 0,0,115,28,0,0,0,128,0,244,16,0,36,52,176,68, + 184,40,211,35,67,209,8,32,136,4,136,105,152,23,216,15, + 22,136,14,114,12,0,0,0,99,2,0,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,3,0,0,0,243,24,1, + 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,0, + 124,1,171,2,0,0,0,0,0,0,125,2,124,2,128,16, + 116,3,0,0,0,0,0,0,0,0,100,2,124,1,155,2, + 157,2,124,1,172,3,171,2,0,0,0,0,0,0,130,1, + 116,5,0,0,0,0,0,0,0,0,124,0,124,1,171,2, + 0,0,0,0,0,0,125,3,124,2,114,23,116,7,0,0, + 0,0,0,0,0,0,106,8,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,3,100,4,171,2, + 0,0,0,0,0,0,125,4,110,5,124,3,155,0,100,5, + 157,2,125,4,9,0,124,0,106,10,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,4,25,0, + 0,0,125,5,116,15,0,0,0,0,0,0,0,0,124,0, + 106,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,5,171,2,0,0,0,0,0,0,106,19, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,83,0,35,0,116,12, + 0,0,0,0,0,0,0,0,36,0,114,3,1,0,89,0, + 121,1,119,0,120,3,89,0,119,1,41,6,122,253,103,101, + 116,95,115,111,117,114,99,101,40,102,117,108,108,110,97,109, + 101,41,32,45,62,32,115,111,117,114,99,101,32,115,116,114, + 105,110,103,46,10,10,32,32,32,32,32,32,32,32,82,101, + 116,117,114,110,32,116,104,101,32,115,111,117,114,99,101,32, + 99,111,100,101,32,102,111,114,32,116,104,101,32,115,112,101, + 99,105,102,105,101,100,32,109,111,100,117,108,101,46,32,82, + 97,105,115,101,32,90,105,112,73,109,112,111,114,116,69,114, + 114,111,114,10,32,32,32,32,32,32,32,32,105,102,32,116, + 104,101,32,109,111,100,117,108,101,32,99,111,117,108,100,110, + 39,116,32,98,101,32,102,111,117,110,100,44,32,114,101,116, + 117,114,110,32,78,111,110,101,32,105,102,32,116,104,101,32, + 97,114,99,104,105,118,101,32,100,111,101,115,10,32,32,32, + 32,32,32,32,32,99,111,110,116,97,105,110,32,116,104,101, + 32,109,111,100,117,108,101,44,32,98,117,116,32,104,97,115, + 32,110,111,32,115,111,117,114,99,101,32,102,111,114,32,105, + 116,46,10,32,32,32,32,32,32,32,32,78,250,18,99,97, + 110,39,116,32,102,105,110,100,32,109,111,100,117,108,101,32, + 169,1,114,49,0,0,0,250,11,95,95,105,110,105,116,95, + 95,46,112,121,250,3,46,112,121,41,10,114,51,0,0,0, + 114,4,0,0,0,114,54,0,0,0,114,27,0,0,0,114, + 39,0,0,0,114,37,0,0,0,114,35,0,0,0,114,75, + 0,0,0,114,38,0,0,0,218,6,100,101,99,111,100,101, + 41,6,114,41,0,0,0,114,58,0,0,0,218,2,109,105, + 114,18,0,0,0,218,8,102,117,108,108,112,97,116,104,114, + 78,0,0,0,115,6,0,0,0,32,32,32,32,32,32,114, + 13,0,0,0,218,10,103,101,116,95,115,111,117,114,99,101, + 122,22,122,105,112,105,109,112,111,114,116,101,114,46,103,101, + 116,95,115,111,117,114,99,101,174,0,0,0,115,153,0,0, + 0,128,0,244,14,0,14,30,152,100,160,72,211,13,45,136, + 2,216,11,13,136,58,220,18,32,208,35,53,176,104,176,92, + 208,33,66,200,24,212,18,82,208,12,82,228,15,31,160,4, + 160,104,211,15,47,136,4,217,11,13,220,23,42,215,23,53, + 209,23,53,176,100,184,77,211,23,74,137,72,224,26,30,152, + 22,152,115,144,124,136,72,240,4,4,9,24,216,24,28,159, + 11,153,11,160,72,209,24,45,136,73,244,8,0,16,25,152, + 20,159,28,153,28,160,121,211,15,49,215,15,56,209,15,56, + 211,15,58,208,8,58,248,244,7,0,16,24,242,0,2,9, + 24,225,19,23,240,5,2,9,24,250,115,18,0,0,0,193, + 10,15,65,61,0,193,61,9,66,9,3,194,8,1,66,9, + 3,99,2,0,0,0,0,0,0,0,0,0,0,0,4,0, + 0,0,3,0,0,0,243,66,0,0,0,151,0,116,1,0, + 0,0,0,0,0,0,0,124,0,124,1,171,2,0,0,0, + 0,0,0,125,2,124,2,128,16,116,3,0,0,0,0,0, + 0,0,0,100,1,124,1,155,2,157,2,124,1,172,2,171, + 2,0,0,0,0,0,0,130,1,124,2,83,0,41,3,122, + 171,105,115,95,112,97,99,107,97,103,101,40,102,117,108,108, + 110,97,109,101,41,32,45,62,32,98,111,111,108,46,10,10, + 32,32,32,32,32,32,32,32,82,101,116,117,114,110,32,84, + 114,117,101,32,105,102,32,116,104,101,32,109,111,100,117,108, + 101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,102, + 117,108,108,110,97,109,101,32,105,115,32,97,32,112,97,99, + 107,97,103,101,46,10,32,32,32,32,32,32,32,32,82,97, + 105,115,101,32,90,105,112,73,109,112,111,114,116,69,114,114, + 111,114,32,105,102,32,116,104,101,32,109,111,100,117,108,101, + 32,99,111,117,108,100,110,39,116,32,98,101,32,102,111,117, + 110,100,46,10,32,32,32,32,32,32,32,32,114,83,0,0, + 0,114,84,0,0,0,41,2,114,51,0,0,0,114,4,0, + 0,0,41,3,114,41,0,0,0,114,58,0,0,0,114,88, + 0,0,0,115,3,0,0,0,32,32,32,114,13,0,0,0, + 114,48,0,0,0,122,22,122,105,112,105,109,112,111,114,116, + 101,114,46,105,115,95,112,97,99,107,97,103,101,200,0,0, + 0,115,47,0,0,0,128,0,244,12,0,14,30,152,100,160, + 72,211,13,45,136,2,216,11,13,136,58,220,18,32,208,35, + 53,176,104,176,92,208,33,66,200,24,212,18,82,208,12,82, + 216,15,17,136,9,114,12,0,0,0,99,2,0,0,0,0, + 0,0,0,0,0,0,0,6,0,0,0,3,0,0,0,243, + 208,2,0,0,151,0,100,1,125,2,116,1,0,0,0,0, + 0,0,0,0,106,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,2,116,4,0,0,0,0, + 0,0,0,0,171,2,0,0,0,0,0,0,1,0,116,7, + 0,0,0,0,0,0,0,0,124,0,124,1,171,2,0,0, + 0,0,0,0,92,3,0,0,125,3,125,4,125,5,116,8, + 0,0,0,0,0,0,0,0,106,10,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,106,13,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,125,6,124,6,129,16, + 116,15,0,0,0,0,0,0,0,0,124,6,116,16,0,0, + 0,0,0,0,0,0,171,2,0,0,0,0,0,0,115,30, + 116,17,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,125,6,124,6,116,8,0,0,0,0,0,0, + 0,0,106,10,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,1,60,0,0,0,124,0,124,6, + 95,9,0,0,0,0,0,0,0,0,9,0,124,4,114,52, + 116,21,0,0,0,0,0,0,0,0,124,0,124,1,171,2, + 0,0,0,0,0,0,125,7,116,23,0,0,0,0,0,0, + 0,0,106,24,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,0,106,26,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,7,171,2, + 0,0,0,0,0,0,125,8,124,8,103,1,124,6,95,14, + 0,0,0,0,0,0,0,0,116,31,0,0,0,0,0,0, + 0,0,124,6,100,2,171,2,0,0,0,0,0,0,115,11, + 116,32,0,0,0,0,0,0,0,0,124,6,95,16,0,0, + 0,0,0,0,0,0,116,23,0,0,0,0,0,0,0,0, + 106,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,6,106,36,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,124,1,124,5,171,3, + 0,0,0,0,0,0,1,0,116,39,0,0,0,0,0,0, + 0,0,124,3,124,6,106,36,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,2,0,0,0,0, + 0,0,1,0,9,0,116,8,0,0,0,0,0,0,0,0, + 106,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,1,25,0,0,0,125,6,116,45,0,0, + 0,0,0,0,0,0,106,46,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,5,124,1,124,5, + 171,3,0,0,0,0,0,0,1,0,124,6,83,0,35,0, + 1,0,116,8,0,0,0,0,0,0,0,0,106,10,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,61,0,130,0,120,3,89,0,119,1,35,0,116,40, + 0,0,0,0,0,0,0,0,36,0,114,16,1,0,116,43, + 0,0,0,0,0,0,0,0,100,3,124,1,155,2,100,4, + 157,3,171,1,0,0,0,0,0,0,130,1,119,0,120,3, + 89,0,119,1,41,6,97,64,1,0,0,108,111,97,100,95, + 109,111,100,117,108,101,40,102,117,108,108,110,97,109,101,41, + 32,45,62,32,109,111,100,117,108,101,46,10,10,32,32,32, + 32,32,32,32,32,76,111,97,100,32,116,104,101,32,109,111, + 100,117,108,101,32,115,112,101,99,105,102,105,101,100,32,98, + 121,32,39,102,117,108,108,110,97,109,101,39,46,32,39,102, + 117,108,108,110,97,109,101,39,32,109,117,115,116,32,98,101, + 32,116,104,101,10,32,32,32,32,32,32,32,32,102,117,108, + 108,121,32,113,117,97,108,105,102,105,101,100,32,40,100,111, + 116,116,101,100,41,32,109,111,100,117,108,101,32,110,97,109, + 101,46,32,73,116,32,114,101,116,117,114,110,115,32,116,104, + 101,32,105,109,112,111,114,116,101,100,10,32,32,32,32,32, + 32,32,32,109,111,100,117,108,101,44,32,111,114,32,114,97, + 105,115,101,115,32,90,105,112,73,109,112,111,114,116,69,114, + 114,111,114,32,105,102,32,105,116,32,99,111,117,108,100,32, + 110,111,116,32,98,101,32,105,109,112,111,114,116,101,100,46, + 10,10,32,32,32,32,32,32,32,32,68,101,112,114,101,99, + 97,116,101,100,32,115,105,110,99,101,32,80,121,116,104,111, + 110,32,51,46,49,48,46,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,32,32,32,32,32,32,32,32,122,114,122,105,112, + 105,109,112,111,114,116,46,122,105,112,105,109,112,111,114,116, + 101,114,46,108,111,97,100,95,109,111,100,117,108,101,40,41, + 32,105,115,32,100,101,112,114,101,99,97,116,101,100,32,97, + 110,100,32,115,108,97,116,101,100,32,102,111,114,32,114,101, + 109,111,118,97,108,32,105,110,32,80,121,116,104,111,110,32, + 51,46,49,50,59,32,117,115,101,32,101,120,101,99,95,109, + 111,100,117,108,101,40,41,32,105,110,115,116,101,97,100,218, + 12,95,95,98,117,105,108,116,105,110,115,95,95,122,14,76, + 111,97,100,101,100,32,109,111,100,117,108,101,32,122,25,32, + 110,111,116,32,102,111,117,110,100,32,105,110,32,115,121,115, + 46,109,111,100,117,108,101,115,122,30,105,109,112,111,114,116, + 32,123,125,32,35,32,108,111,97,100,101,100,32,102,114,111, + 109,32,90,105,112,32,123,125,41,24,218,9,95,119,97,114, + 110,105,110,103,115,218,4,119,97,114,110,218,18,68,101,112, + 114,101,99,97,116,105,111,110,87,97,114,110,105,110,103,114, + 66,0,0,0,218,3,115,121,115,218,7,109,111,100,117,108, + 101,115,218,3,103,101,116,114,20,0,0,0,218,12,95,109, + 111,100,117,108,101,95,116,121,112,101,218,10,95,95,108,111, + 97,100,101,114,95,95,114,54,0,0,0,114,27,0,0,0, + 114,39,0,0,0,114,38,0,0,0,218,8,95,95,112,97, + 116,104,95,95,218,7,104,97,115,97,116,116,114,114,93,0, + 0,0,218,14,95,102,105,120,95,117,112,95,109,111,100,117, + 108,101,218,8,95,95,100,105,99,116,95,95,218,4,101,120, + 101,99,114,35,0,0,0,218,11,73,109,112,111,114,116,69, + 114,114,111,114,114,52,0,0,0,218,16,95,118,101,114,98, + 111,115,101,95,109,101,115,115,97,103,101,41,9,114,41,0, + 0,0,114,58,0,0,0,218,3,109,115,103,114,68,0,0, + 0,114,69,0,0,0,114,61,0,0,0,218,3,109,111,100, + 114,18,0,0,0,114,89,0,0,0,115,9,0,0,0,32, + 32,32,32,32,32,32,32,32,114,13,0,0,0,218,11,108, + 111,97,100,95,109,111,100,117,108,101,122,23,122,105,112,105, + 109,112,111,114,116,101,114,46,108,111,97,100,95,109,111,100, + 117,108,101,213,0,0,0,115,66,1,0,0,128,0,240,18, + 1,16,67,1,136,3,228,8,17,143,14,137,14,144,115,212, + 28,46,212,8,47,220,35,51,176,68,184,40,211,35,67,209, + 8,32,136,4,136,105,152,23,220,14,17,143,107,137,107,143, + 111,137,111,152,104,211,14,39,136,3,216,11,14,136,59,156, + 106,168,19,172,108,212,30,59,220,18,30,152,120,211,18,40, + 136,67,216,36,39,140,67,143,75,137,75,152,8,209,12,33, + 216,25,29,136,3,140,14,240,4,14,9,18,217,15,24,244, + 6,0,24,40,168,4,168,104,211,23,55,144,4,220,27,46, + 215,27,57,209,27,57,184,36,191,44,185,44,200,4,211,27, + 77,144,8,216,32,40,152,122,144,3,148,12,228,19,26,152, + 51,160,14,212,19,47,220,35,47,144,3,212,16,32,220,12, + 31,215,12,46,209,12,46,168,115,175,124,169,124,184,88,192, + 119,212,12,79,220,12,16,144,20,144,115,151,124,145,124,212, + 12,36,240,10,3,9,86,1,220,18,21,151,43,145,43,152, + 104,209,18,39,136,67,244,6,0,9,19,215,8,35,209,8, + 35,208,36,68,192,104,208,80,87,212,8,88,216,15,18,136, + 10,248,240,19,2,9,18,220,16,19,151,11,145,11,152,72, + 208,16,37,216,12,17,251,244,8,0,16,24,242,0,1,9, + 86,1,220,18,29,160,14,168,120,168,108,208,58,83,208,30, + 84,211,18,85,208,12,85,240,3,1,9,86,1,250,115,25, + 0,0,0,194,4,66,4,68,53,0,196,9,19,69,12,0, + 196,53,20,69,9,3,197,12,25,69,37,3,99,2,0,0, + 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0, + 0,243,102,0,0,0,151,0,9,0,124,0,106,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,1,171,1,0,0,0,0,0,0,115,1,121,1,9,0, + 100,2,100,3,108,2,109,3,125,2,1,0,2,0,124,2, + 124,0,124,1,171,2,0,0,0,0,0,0,83,0,35,0, + 116,2,0,0,0,0,0,0,0,0,36,0,114,3,1,0, + 89,0,121,1,119,0,120,3,89,0,119,1,41,4,122,204, + 82,101,116,117,114,110,32,116,104,101,32,82,101,115,111,117, + 114,99,101,82,101,97,100,101,114,32,102,111,114,32,97,32, + 112,97,99,107,97,103,101,32,105,110,32,97,32,122,105,112, + 32,102,105,108,101,46,10,10,32,32,32,32,32,32,32,32, + 73,102,32,39,102,117,108,108,110,97,109,101,39,32,105,115, + 32,97,32,112,97,99,107,97,103,101,32,119,105,116,104,105, + 110,32,116,104,101,32,122,105,112,32,102,105,108,101,44,32, + 114,101,116,117,114,110,32,116,104,101,10,32,32,32,32,32, + 32,32,32,39,82,101,115,111,117,114,99,101,82,101,97,100, + 101,114,39,32,111,98,106,101,99,116,32,102,111,114,32,116, + 104,101,32,112,97,99,107,97,103,101,46,32,32,79,116,104, + 101,114,119,105,115,101,32,114,101,116,117,114,110,32,78,111, + 110,101,46,10,32,32,32,32,32,32,32,32,78,114,1,0, + 0,0,41,1,218,9,90,105,112,82,101,97,100,101,114,41, + 4,114,48,0,0,0,114,4,0,0,0,218,17,105,109,112, + 111,114,116,108,105,98,46,114,101,97,100,101,114,115,114,113, + 0,0,0,41,3,114,41,0,0,0,114,58,0,0,0,114, + 113,0,0,0,115,3,0,0,0,32,32,32,114,13,0,0, + 0,218,19,103,101,116,95,114,101,115,111,117,114,99,101,95, + 114,101,97,100,101,114,122,31,122,105,112,105,109,112,111,114, + 116,101,114,46,103,101,116,95,114,101,115,111,117,114,99,101, + 95,114,101,97,100,101,114,0,1,0,0,115,65,0,0,0, + 128,0,240,12,4,9,24,216,19,23,151,63,145,63,160,56, + 212,19,44,216,23,27,240,3,0,20,45,245,8,0,9,48, + 217,15,24,152,20,152,120,211,15,40,208,8,40,248,244,7, + 0,16,30,242,0,1,9,24,217,19,23,240,3,1,9,24, + 250,115,12,0,0,0,130,17,36,0,164,9,48,3,175,1, + 48,3,99,1,0,0,0,0,0,0,0,0,0,0,0,5, + 0,0,0,3,0,0,0,243,224,0,0,0,151,0,9,0, + 116,1,0,0,0,0,0,0,0,0,124,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,124,0,95,2,0,0,0,0, + 0,0,0,0,124,0,106,4,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,116,6,0,0,0,0, + 0,0,0,0,124,0,106,2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,60,0,0,0,121,1, + 35,0,116,8,0,0,0,0,0,0,0,0,36,0,114,42, + 1,0,116,6,0,0,0,0,0,0,0,0,106,11,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,100,1,171,2,0,0,0,0,0,0, + 1,0,105,0,124,0,95,2,0,0,0,0,0,0,0,0, + 89,0,121,1,119,0,120,3,89,0,119,1,41,2,122,41, + 82,101,108,111,97,100,32,116,104,101,32,102,105,108,101,32, + 100,97,116,97,32,111,102,32,116,104,101,32,97,114,99,104, + 105,118,101,32,112,97,116,104,46,78,41,6,114,36,0,0, + 0,114,38,0,0,0,114,37,0,0,0,114,34,0,0,0, + 114,4,0,0,0,218,3,112,111,112,169,1,114,41,0,0, + 0,115,1,0,0,0,32,114,13,0,0,0,218,17,105,110, + 118,97,108,105,100,97,116,101,95,99,97,99,104,101,115,122, + 29,122,105,112,105,109,112,111,114,116,101,114,46,105,110,118, + 97,108,105,100,97,116,101,95,99,97,99,104,101,115,15,1, + 0,0,115,84,0,0,0,128,0,240,4,5,9,29,220,26, + 41,168,36,175,44,169,44,211,26,55,136,68,140,75,216,49, + 53,183,27,177,27,212,12,32,160,20,167,28,161,28,210,12, + 46,248,220,15,29,242,0,2,9,29,220,12,32,215,12,36, + 209,12,36,160,84,167,92,161,92,176,52,212,12,56,216,26, + 28,136,68,142,75,240,5,2,9,29,250,115,15,0,0,0, + 130,55,58,0,186,48,65,45,3,193,44,1,65,45,3,99, + 1,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0, + 3,0,0,0,243,70,0,0,0,151,0,100,1,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,155,0,116,2,0,0,0,0,0,0,0,0,155, + 0,124,0,106,4,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,155,0,100,2,157,5,83,0,41, + 3,78,122,21,60,122,105,112,105,109,112,111,114,116,101,114, + 32,111,98,106,101,99,116,32,34,122,2,34,62,41,3,114, + 38,0,0,0,114,26,0,0,0,114,40,0,0,0,114,118, + 0,0,0,115,1,0,0,0,32,114,13,0,0,0,218,8, + 95,95,114,101,112,114,95,95,122,20,122,105,112,105,109,112, + 111,114,116,101,114,46,95,95,114,101,112,114,95,95,25,1, + 0,0,115,33,0,0,0,128,0,216,17,38,160,116,167,124, + 161,124,160,110,180,88,176,74,184,116,191,123,185,123,184,109, + 200,50,208,15,78,208,8,78,114,12,0,0,0,169,1,78, + 41,15,114,8,0,0,0,114,9,0,0,0,114,10,0,0, + 0,218,7,95,95,100,111,99,95,95,114,46,0,0,0,114, + 63,0,0,0,114,70,0,0,0,114,79,0,0,0,114,81, + 0,0,0,114,90,0,0,0,114,48,0,0,0,114,111,0, + 0,0,114,115,0,0,0,114,119,0,0,0,114,121,0,0, + 0,114,11,0,0,0,114,12,0,0,0,114,13,0,0,0, + 114,5,0,0,0,114,5,0,0,0,46,0,0,0,115,65, + 0,0,0,132,0,241,2,12,5,8,242,34,37,5,36,243, + 80,1,25,5,28,242,54,7,5,20,242,20,17,5,50,242, + 42,9,5,23,242,24,22,5,59,242,52,9,5,18,242,26, + 40,5,19,242,86,1,12,5,41,242,30,7,5,29,243,20, + 1,5,79,1,114,12,0,0,0,122,12,95,95,105,110,105, + 116,95,95,46,112,121,99,84,114,85,0,0,0,70,41,3, + 122,4,46,112,121,99,84,70,41,3,114,86,0,0,0,70, + 70,99,2,0,0,0,0,0,0,0,0,0,0,0,4,0, + 0,0,3,0,0,0,243,68,0,0,0,151,0,124,0,106, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,1,106,3,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,1,171,1,0,0,0, + 0,0,0,100,2,25,0,0,0,122,0,0,0,83,0,41, + 3,78,250,1,46,233,2,0,0,0,41,2,114,40,0,0, + 0,218,10,114,112,97,114,116,105,116,105,111,110,41,2,114, + 41,0,0,0,114,58,0,0,0,115,2,0,0,0,32,32, + 114,13,0,0,0,114,54,0,0,0,114,54,0,0,0,43, + 1,0,0,115,33,0,0,0,128,0,216,11,15,143,59,137, + 59,152,24,215,25,44,209,25,44,168,83,211,25,49,176,33, + 209,25,52,209,11,52,208,4,52,114,12,0,0,0,99,2, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3, + 0,0,0,243,48,0,0,0,151,0,124,1,116,0,0,0, + 0,0,0,0,0,0,122,0,0,0,125,2,124,2,124,0, + 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,118,0,83,0,114,122,0,0,0,41,2,114, + 26,0,0,0,114,37,0,0,0,41,3,114,41,0,0,0, + 114,18,0,0,0,218,7,100,105,114,112,97,116,104,115,3, + 0,0,0,32,32,32,114,13,0,0,0,114,55,0,0,0, + 114,55,0,0,0,47,1,0,0,115,28,0,0,0,128,0, + 240,8,0,15,19,148,88,137,111,128,71,224,11,18,144,100, + 151,107,145,107,208,11,33,208,4,33,114,12,0,0,0,99, + 2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,243,104,0,0,0,151,0,116,1,0,0,0, + 0,0,0,0,0,124,0,124,1,171,2,0,0,0,0,0, + 0,125,2,116,2,0,0,0,0,0,0,0,0,68,0,93, + 29,0,0,92,3,0,0,125,3,125,4,125,5,124,2,124, + 3,122,0,0,0,125,6,124,6,124,0,106,4,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118, + 0,115,1,140,27,124,5,99,2,1,0,83,0,4,0,121, + 0,114,122,0,0,0,41,3,114,54,0,0,0,218,16,95, + 122,105,112,95,115,101,97,114,99,104,111,114,100,101,114,114, + 37,0,0,0,41,7,114,41,0,0,0,114,58,0,0,0, + 114,18,0,0,0,218,6,115,117,102,102,105,120,218,10,105, + 115,98,121,116,101,99,111,100,101,114,69,0,0,0,114,89, + 0,0,0,115,7,0,0,0,32,32,32,32,32,32,32,114, + 13,0,0,0,114,51,0,0,0,114,51,0,0,0,56,1, + 0,0,115,68,0,0,0,128,0,220,11,27,152,68,160,40, + 211,11,43,128,68,220,41,57,242,0,3,5,29,209,8,37, + 136,6,144,10,152,73,216,19,23,152,38,145,61,136,8,216, + 11,19,144,116,151,123,145,123,210,11,34,216,19,28,210,12, + 28,240,7,3,5,29,240,8,0,12,16,114,12,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,9,0,0, + 0,3,0,0,0,243,16,10,0,0,151,0,9,0,116,1, + 0,0,0,0,0,0,0,0,106,2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1, + 0,0,0,0,0,0,125,1,124,1,53,0,1,0,124,1, + 106,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,171,0,0,0,0,0,0,0,125,2,9,0, + 9,0,124,1,106,11,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,116,12,0,0,0,0,0,0, + 0,0,11,0,100,3,171,2,0,0,0,0,0,0,1,0, + 124,1,106,9,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,171,0,0,0,0,0,0,0,125,3, + 124,1,106,15,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,116,12,0,0,0,0,0,0,0,0, + 171,1,0,0,0,0,0,0,125,4,116,17,0,0,0,0, + 0,0,0,0,124,4,171,1,0,0,0,0,0,0,116,12, + 0,0,0,0,0,0,0,0,107,55,0,0,114,16,116,7, + 0,0,0,0,0,0,0,0,100,4,124,0,155,2,157,2, + 124,0,172,2,171,2,0,0,0,0,0,0,130,1,124,4, + 100,0,100,5,26,0,116,18,0,0,0,0,0,0,0,0, + 107,55,0,0,114,200,9,0,124,1,106,11,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,6, + 100,3,171,2,0,0,0,0,0,0,1,0,124,1,106,9, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,171,0,0,0,0,0,0,0,125,5,116,21,0,0, + 0,0,0,0,0,0,124,5,116,22,0,0,0,0,0,0, + 0,0,122,10,0,0,116,12,0,0,0,0,0,0,0,0, + 122,10,0,0,100,6,171,2,0,0,0,0,0,0,125,6, + 9,0,124,1,106,11,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,6,171,1,0,0,0,0, + 0,0,1,0,124,1,106,15,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,125,7,124,7,106,25,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,116,18,0,0,0,0, + 0,0,0,0,171,1,0,0,0,0,0,0,125,8,124,8, + 100,6,107,2,0,0,114,16,116,7,0,0,0,0,0,0, + 0,0,100,7,124,0,155,2,157,2,124,0,172,2,171,2, + 0,0,0,0,0,0,130,1,124,7,124,8,124,8,116,12, + 0,0,0,0,0,0,0,0,122,0,0,0,26,0,125,4, + 116,17,0,0,0,0,0,0,0,0,124,4,171,1,0,0, + 0,0,0,0,116,12,0,0,0,0,0,0,0,0,107,55, + 0,0,114,16,116,7,0,0,0,0,0,0,0,0,100,8, + 124,0,155,2,157,2,124,0,172,2,171,2,0,0,0,0, + 0,0,130,1,124,5,116,17,0,0,0,0,0,0,0,0, + 124,7,171,1,0,0,0,0,0,0,122,10,0,0,124,8, + 122,0,0,0,125,3,116,27,0,0,0,0,0,0,0,0, + 124,4,100,9,100,10,26,0,171,1,0,0,0,0,0,0, + 125,9,116,27,0,0,0,0,0,0,0,0,124,4,100,10, + 100,11,26,0,171,1,0,0,0,0,0,0,125,10,124,3, + 124,9,107,2,0,0,114,16,116,7,0,0,0,0,0,0, + 0,0,100,12,124,0,155,2,157,2,124,0,172,2,171,2, + 0,0,0,0,0,0,130,1,124,3,124,10,107,2,0,0, + 114,16,116,7,0,0,0,0,0,0,0,0,100,13,124,0, + 155,2,157,2,124,0,172,2,171,2,0,0,0,0,0,0, + 130,1,124,3,124,9,122,23,0,0,125,3,124,3,124,10, + 122,10,0,0,125,11,124,11,100,6,107,2,0,0,114,16, + 116,7,0,0,0,0,0,0,0,0,100,14,124,0,155,2, + 157,2,124,0,172,2,171,2,0,0,0,0,0,0,130,1, + 105,0,125,12,100,6,125,13,9,0,124,1,106,11,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,3,171,1,0,0,0,0,0,0,1,0,9,0,124,1, + 106,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,15,171,1,0,0,0,0,0,0,125,4, + 116,17,0,0,0,0,0,0,0,0,124,4,171,1,0,0, + 0,0,0,0,100,5,107,2,0,0,114,11,116,29,0,0, + 0,0,0,0,0,0,100,16,171,1,0,0,0,0,0,0, + 130,1,124,4,100,0,100,5,26,0,100,17,107,55,0,0, + 114,2,144,1,110,164,116,17,0,0,0,0,0,0,0,0, + 124,4,171,1,0,0,0,0,0,0,100,15,107,55,0,0, + 114,11,116,29,0,0,0,0,0,0,0,0,100,16,171,1, + 0,0,0,0,0,0,130,1,116,31,0,0,0,0,0,0, + 0,0,124,4,100,18,100,19,26,0,171,1,0,0,0,0, + 0,0,125,14,116,31,0,0,0,0,0,0,0,0,124,4, + 100,19,100,9,26,0,171,1,0,0,0,0,0,0,125,15, + 116,31,0,0,0,0,0,0,0,0,124,4,100,9,100,20, + 26,0,171,1,0,0,0,0,0,0,125,16,116,31,0,0, + 0,0,0,0,0,0,124,4,100,20,100,10,26,0,171,1, + 0,0,0,0,0,0,125,17,116,27,0,0,0,0,0,0, + 0,0,124,4,100,10,100,11,26,0,171,1,0,0,0,0, + 0,0,125,18,116,27,0,0,0,0,0,0,0,0,124,4, + 100,11,100,21,26,0,171,1,0,0,0,0,0,0,125,19, + 116,27,0,0,0,0,0,0,0,0,124,4,100,21,100,22, + 26,0,171,1,0,0,0,0,0,0,125,5,116,31,0,0, + 0,0,0,0,0,0,124,4,100,22,100,23,26,0,171,1, + 0,0,0,0,0,0,125,20,116,31,0,0,0,0,0,0, + 0,0,124,4,100,23,100,24,26,0,171,1,0,0,0,0, + 0,0,125,21,116,31,0,0,0,0,0,0,0,0,124,4, + 100,24,100,25,26,0,171,1,0,0,0,0,0,0,125,22, + 116,27,0,0,0,0,0,0,0,0,124,4,100,26,100,15, + 26,0,171,1,0,0,0,0,0,0,125,23,124,20,124,21, + 122,0,0,0,124,22,122,0,0,0,125,9,124,23,124,10, + 107,68,0,0,114,16,116,7,0,0,0,0,0,0,0,0, + 100,27,124,0,155,2,157,2,124,0,172,2,171,2,0,0, + 0,0,0,0,130,1,124,23,124,11,122,13,0,0,125,23, + 9,0,124,1,106,15,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,20,171,1,0,0,0,0, + 0,0,125,24,116,17,0,0,0,0,0,0,0,0,124,24, + 171,1,0,0,0,0,0,0,124,20,107,55,0,0,114,16, + 116,7,0,0,0,0,0,0,0,0,100,4,124,0,155,2, + 157,2,124,0,172,2,171,2,0,0,0,0,0,0,130,1, + 9,0,116,17,0,0,0,0,0,0,0,0,124,1,106,15, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,9,124,20,122,10,0,0,171,1,0,0,0,0, + 0,0,171,1,0,0,0,0,0,0,124,9,124,20,122,10, + 0,0,107,55,0,0,114,16,116,7,0,0,0,0,0,0, + 0,0,100,4,124,0,155,2,157,2,124,0,172,2,171,2, + 0,0,0,0,0,0,130,1,9,0,124,14,100,28,122,1, + 0,0,114,17,124,24,106,33,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0, + 0,0,125,24,110,18,9,0,124,24,106,33,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,29, + 171,1,0,0,0,0,0,0,125,24,124,24,106,41,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 100,31,116,42,0,0,0,0,0,0,0,0,171,2,0,0, + 0,0,0,0,125,24,116,45,0,0,0,0,0,0,0,0, + 106,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,0,124,24,171,2,0,0,0,0,0,0, + 125,25,124,25,124,15,124,19,124,5,124,23,124,16,124,17, + 124,18,102,8,125,26,124,26,124,12,124,24,60,0,0,0, + 124,13,100,32,122,13,0,0,125,13,144,1,140,216,9,0, + 124,1,106,11,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0, + 1,0,9,0,100,0,100,0,100,0,171,2,0,0,0,0, + 0,0,1,0,116,49,0,0,0,0,0,0,0,0,106,50, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,33,127,13,124,0,171,3,0,0,0,0,0,0, + 1,0,127,12,83,0,35,0,116,4,0,0,0,0,0,0, + 0,0,36,0,114,17,1,0,116,7,0,0,0,0,0,0, + 0,0,100,1,124,0,155,2,157,2,124,0,172,2,171,2, + 0,0,0,0,0,0,130,1,119,0,120,3,89,0,119,1, + 35,0,116,4,0,0,0,0,0,0,0,0,36,0,114,17, + 1,0,116,7,0,0,0,0,0,0,0,0,100,4,124,0, + 155,2,157,2,124,0,172,2,171,2,0,0,0,0,0,0, + 130,1,119,0,120,3,89,0,119,1,35,0,116,4,0,0, + 0,0,0,0,0,0,36,0,114,17,1,0,116,7,0,0, + 0,0,0,0,0,0,100,4,124,0,155,2,157,2,124,0, + 172,2,171,2,0,0,0,0,0,0,130,1,119,0,120,3, + 89,0,119,1,35,0,116,4,0,0,0,0,0,0,0,0, + 36,0,114,17,1,0,116,7,0,0,0,0,0,0,0,0, + 100,4,124,0,155,2,157,2,124,0,172,2,171,2,0,0, + 0,0,0,0,130,1,119,0,120,3,89,0,119,1,35,0, + 116,4,0,0,0,0,0,0,0,0,36,0,114,17,1,0, + 116,7,0,0,0,0,0,0,0,0,100,4,124,0,155,2, + 157,2,124,0,172,2,171,2,0,0,0,0,0,0,130,1, + 119,0,120,3,89,0,119,1,35,0,116,4,0,0,0,0, + 0,0,0,0,36,0,114,17,1,0,116,7,0,0,0,0, + 0,0,0,0,100,4,124,0,155,2,157,2,124,0,172,2, + 171,2,0,0,0,0,0,0,130,1,119,0,120,3,89,0, + 119,1,35,0,116,4,0,0,0,0,0,0,0,0,36,0, + 114,17,1,0,116,7,0,0,0,0,0,0,0,0,100,4, + 124,0,155,2,157,2,124,0,172,2,171,2,0,0,0,0, + 0,0,130,1,119,0,120,3,89,0,119,1,35,0,116,34, + 0,0,0,0,0,0,0,0,36,0,114,40,1,0,124,24, + 106,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,100,30,171,1,0,0,0,0,0,0,106,37, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,38,0,0,0,0,0,0,0,0,171,1,0,0, + 0,0,0,0,125,24,89,0,144,1,140,113,119,0,120,3, + 89,0,119,1,35,0,124,1,106,11,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,2,171,1, + 0,0,0,0,0,0,1,0,119,0,120,3,89,0,119,1, + 35,0,49,0,115,1,119,2,1,0,89,0,1,0,1,0, + 144,1,140,56,120,3,89,0,119,1,41,34,78,122,21,99, + 97,110,39,116,32,111,112,101,110,32,90,105,112,32,102,105, + 108,101,58,32,114,17,0,0,0,114,126,0,0,0,250,21, + 99,97,110,39,116,32,114,101,97,100,32,90,105,112,32,102, + 105,108,101,58,32,233,4,0,0,0,114,1,0,0,0,122, + 16,110,111,116,32,97,32,90,105,112,32,102,105,108,101,58, + 32,122,18,99,111,114,114,117,112,116,32,90,105,112,32,102, + 105,108,101,58,32,233,12,0,0,0,233,16,0,0,0,233, + 20,0,0,0,122,28,98,97,100,32,99,101,110,116,114,97, + 108,32,100,105,114,101,99,116,111,114,121,32,115,105,122,101, + 58,32,122,30,98,97,100,32,99,101,110,116,114,97,108,32, + 100,105,114,101,99,116,111,114,121,32,111,102,102,115,101,116, + 58,32,122,38,98,97,100,32,99,101,110,116,114,97,108,32, + 100,105,114,101,99,116,111,114,121,32,115,105,122,101,32,111, + 114,32,111,102,102,115,101,116,58,32,233,46,0,0,0,250, + 27,69,79,70,32,114,101,97,100,32,119,104,101,114,101,32, + 110,111,116,32,101,120,112,101,99,116,101,100,115,4,0,0, + 0,80,75,1,2,233,8,0,0,0,233,10,0,0,0,233, + 14,0,0,0,233,24,0,0,0,233,28,0,0,0,233,30, + 0,0,0,233,32,0,0,0,233,34,0,0,0,233,42,0, + 0,0,122,25,98,97,100,32,108,111,99,97,108,32,104,101, + 97,100,101,114,32,111,102,102,115,101,116,58,32,105,0,8, + 0,0,218,5,97,115,99,105,105,218,6,108,97,116,105,110, + 49,250,1,47,114,6,0,0,0,122,33,122,105,112,105,109, + 112,111,114,116,58,32,102,111,117,110,100,32,123,125,32,110, + 97,109,101,115,32,105,110,32,123,33,114,125,41,26,218,3, + 95,105,111,218,9,111,112,101,110,95,99,111,100,101,114,30, + 0,0,0,114,4,0,0,0,218,4,116,101,108,108,218,4, + 115,101,101,107,218,20,69,78,68,95,67,69,78,84,82,65, + 76,95,68,73,82,95,83,73,90,69,218,4,114,101,97,100, + 114,74,0,0,0,218,18,83,84,82,73,78,71,95,69,78, + 68,95,65,82,67,72,73,86,69,218,3,109,97,120,218,15, + 77,65,88,95,67,79,77,77,69,78,84,95,76,69,78,218, + 5,114,102,105,110,100,114,3,0,0,0,218,8,69,79,70, + 69,114,114,111,114,114,2,0,0,0,114,87,0,0,0,218, + 18,85,110,105,99,111,100,101,68,101,99,111,100,101,69,114, + 114,111,114,218,9,116,114,97,110,115,108,97,116,101,218,11, + 99,112,52,51,55,95,116,97,98,108,101,114,25,0,0,0, + 114,26,0,0,0,114,27,0,0,0,114,39,0,0,0,114, + 52,0,0,0,114,108,0,0,0,41,27,114,38,0,0,0, + 218,2,102,112,218,12,115,116,97,114,116,95,111,102,102,115, + 101,116,218,15,104,101,97,100,101,114,95,112,111,115,105,116, + 105,111,110,218,6,98,117,102,102,101,114,218,9,102,105,108, + 101,95,115,105,122,101,218,17,109,97,120,95,99,111,109,109, + 101,110,116,95,115,116,97,114,116,218,4,100,97,116,97,218, + 3,112,111,115,218,11,104,101,97,100,101,114,95,115,105,122, + 101,218,13,104,101,97,100,101,114,95,111,102,102,115,101,116, + 218,10,97,114,99,95,111,102,102,115,101,116,114,45,0,0, + 0,218,5,99,111,117,110,116,218,5,102,108,97,103,115,218, + 8,99,111,109,112,114,101,115,115,218,4,116,105,109,101,218, + 4,100,97,116,101,218,3,99,114,99,218,9,100,97,116,97, + 95,115,105,122,101,218,9,110,97,109,101,95,115,105,122,101, + 218,10,101,120,116,114,97,95,115,105,122,101,218,12,99,111, + 109,109,101,110,116,95,115,105,122,101,218,11,102,105,108,101, + 95,111,102,102,115,101,116,114,49,0,0,0,114,18,0,0, + 0,218,1,116,115,27,0,0,0,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,114,13,0,0,0,114,36,0,0,0,114,36, + 0,0,0,87,1,0,0,115,225,5,0,0,128,0,240,2, + 3,5,80,1,220,13,16,143,93,137,93,152,55,211,13,35, + 136,2,240,8,0,10,12,241,0,115,1,5,34,240,8,0, + 24,26,151,119,145,119,147,121,136,12,240,2,110,1,9,34, + 240,2,5,13,88,1,216,16,18,151,7,145,7,212,25,45, + 208,24,45,168,113,212,16,49,216,34,36,167,39,161,39,163, + 41,144,15,216,25,27,159,23,153,23,212,33,53,211,25,54, + 144,6,244,6,0,16,19,144,54,139,123,212,30,50,210,15, + 50,220,22,36,208,39,60,184,87,184,75,208,37,72,200,119, + 212,22,87,208,16,87,216,15,21,144,98,144,113,136,122,212, + 29,47,210,15,47,240,6,5,17,55,216,20,22,151,71,145, + 71,152,65,152,113,148,77,216,32,34,167,7,161,7,163,9, + 144,73,244,8,0,37,40,168,9,180,79,209,40,67,220,40, + 60,241,3,1,41,61,216,62,63,243,3,1,37,65,1,208, + 16,33,240,4,5,17,55,216,20,22,151,71,145,71,208,28, + 45,212,20,46,216,27,29,159,55,153,55,155,57,144,68,240, + 8,0,23,27,151,106,145,106,212,33,51,211,22,52,144,3, + 216,19,22,152,17,146,55,220,26,40,208,43,59,184,71,184, + 59,208,41,71,216,46,53,244,3,1,27,55,240,0,1,21, + 55,224,25,29,152,99,160,35,212,38,58,209,34,58,208,25, + 59,144,6,220,19,22,144,118,147,59,212,34,54,210,19,54, + 220,26,40,208,43,61,184,103,184,91,208,41,73,216,46,53, + 244,3,1,27,55,240,0,1,21,55,224,34,43,172,99,176, + 36,171,105,209,34,55,184,35,209,34,61,144,15,228,26,40, + 168,22,176,2,176,50,168,29,211,26,55,136,75,220,28,42, + 168,54,176,34,176,82,168,61,211,28,57,136,77,216,15,30, + 160,27,210,15,44,220,22,36,208,39,67,192,71,192,59,208, + 37,79,208,86,93,212,22,94,208,16,94,216,15,30,160,29, + 210,15,46,220,22,36,208,39,69,192,103,192,91,208,37,81, + 208,88,95,212,22,96,208,16,96,216,12,27,152,123,209,12, + 42,136,79,216,25,40,168,61,209,25,56,136,74,216,15,25, + 152,65,138,126,220,22,36,208,39,77,200,103,200,91,208,37, + 89,208,96,103,212,22,104,208,16,104,224,20,22,136,69,224, + 20,21,136,69,240,2,3,13,88,1,216,16,18,151,7,145, + 7,152,15,212,16,40,240,6,0,19,23,216,25,27,159,23, + 153,23,160,18,155,27,144,6,220,19,22,144,118,147,59,160, + 17,146,63,220,26,34,208,35,64,211,26,65,208,20,65,224, + 19,25,152,34,152,49,144,58,160,29,210,19,46,217,20,25, + 220,19,22,144,118,147,59,160,34,210,19,36,220,26,34,208, + 35,64,211,26,65,208,20,65,220,24,38,160,118,168,97,176, + 2,160,124,211,24,52,144,5,220,27,41,168,38,176,18,176, + 66,168,45,211,27,56,144,8,220,23,37,160,102,168,82,176, + 2,160,109,211,23,52,144,4,220,23,37,160,102,168,82,176, + 2,160,109,211,23,52,144,4,220,22,36,160,86,168,66,168, + 114,160,93,211,22,51,144,3,220,28,42,168,54,176,34,176, + 82,168,61,211,28,57,144,9,220,28,42,168,54,176,34,176, + 82,168,61,211,28,57,144,9,220,28,42,168,54,176,34,176, + 82,168,61,211,28,57,144,9,220,29,43,168,70,176,50,176, + 98,168,77,211,29,58,144,10,220,31,45,168,102,176,82,184, + 2,168,109,211,31,60,144,12,220,30,44,168,86,176,66,176, + 114,168,93,211,30,59,144,11,216,30,39,168,42,209,30,52, + 176,124,209,30,67,144,11,216,19,30,160,29,210,19,46,220, + 26,40,208,43,68,192,87,192,75,208,41,80,208,87,94,212, + 26,95,208,20,95,216,16,27,152,122,209,16,41,144,11,240, + 4,3,17,92,1,216,27,29,159,55,153,55,160,57,211,27, + 45,144,68,244,6,0,20,23,144,116,147,57,160,9,210,19, + 41,220,26,40,208,43,64,192,23,192,11,208,41,76,208,83, + 90,212,26,91,208,20,91,240,8,4,17,92,1,220,23,26, + 152,50,159,55,153,55,160,59,176,25,209,35,58,211,27,59, + 211,23,60,192,11,200,105,209,64,87,210,23,87,220,30,44, + 208,47,68,192,87,192,75,208,45,80,208,87,94,212,30,95, + 208,24,95,240,3,0,24,88,1,240,10,0,20,25,152,53, + 146,61,224,27,31,159,59,153,59,155,61,145,68,240,6,3, + 21,76,1,216,31,35,159,123,153,123,168,55,211,31,51,152, + 4,240,8,0,24,28,151,124,145,124,160,67,172,24,211,23, + 50,144,4,220,23,42,215,23,53,209,23,53,176,103,184,116, + 211,23,68,144,4,216,21,25,152,56,160,89,176,9,184,59, + 200,4,200,100,208,84,87,208,20,88,144,1,216,30,31,144, + 5,144,100,145,11,216,16,21,152,17,145,10,144,5,241,109, + 1,0,19,23,240,12,0,21,26,240,100,1,0,13,15,143, + 71,137,71,144,76,213,12,33,247,103,3,115,1,5,34,244, + 104,3,0,5,15,215,4,31,209,4,31,208,32,67,192,85, + 200,71,212,4,84,216,11,16,128,76,248,244,113,3,0,12, + 19,242,0,1,5,80,1,220,14,28,208,31,52,176,87,176, + 75,208,29,64,192,119,212,14,79,208,8,79,240,3,1,5, + 80,1,251,244,26,0,20,27,242,0,1,13,88,1,220,22, + 36,208,39,60,184,87,184,75,208,37,72,200,119,212,22,87, + 208,16,87,240,3,1,13,88,1,251,244,20,0,24,31,242, + 0,2,17,55,220,26,40,208,43,64,192,23,192,11,208,41, + 76,216,46,53,244,3,1,27,55,240,0,1,21,55,240,3, + 2,17,55,251,244,16,0,24,31,242,0,2,17,55,220,26, + 40,208,43,64,192,23,192,11,208,41,76,216,46,53,244,3, + 1,27,55,240,0,1,21,55,240,3,2,17,55,251,244,58, + 0,20,27,242,0,1,13,88,1,220,22,36,208,39,60,184, + 87,184,75,208,37,72,200,119,212,22,87,208,16,87,240,3, + 1,13,88,1,251,244,58,0,24,31,242,0,1,17,92,1, + 220,26,40,208,43,64,192,23,192,11,208,41,76,208,83,90, + 212,26,91,208,20,91,240,3,1,17,92,1,251,244,20,0, + 24,31,242,0,1,17,92,1,220,26,40,208,43,64,192,23, + 192,11,208,41,76,208,83,90,212,26,91,208,20,91,240,3, + 1,17,92,1,251,244,20,0,28,46,242,0,1,21,76,1, + 216,31,35,159,123,153,123,168,56,211,31,52,215,31,62,209, + 31,62,188,123,211,31,75,155,4,240,3,1,21,76,1,251, + 240,18,0,13,15,143,71,137,71,144,76,213,12,33,250,247, + 103,3,115,1,5,34,241,0,115,1,5,34,250,115,222,0, + 0,0,130,21,79,38,0,153,17,83,59,3,172,60,80,3, + 2,193,40,46,83,37,2,194,23,34,80,32,2,194,57,26, + 83,37,2,195,20,33,80,61,2,195,53,67,18,83,37,2, + 199,8,17,81,26,2,199,25,68,10,83,37,2,203,36,17, + 81,55,2,203,53,30,83,37,2,204,20,51,82,20,2,205, + 7,23,83,37,2,205,31,17,82,49,2,205,48,65,2,83, + 37,2,206,51,17,83,59,3,207,38,26,80,0,3,208,3, + 26,80,29,5,208,29,3,83,37,2,208,32,26,80,58,5, + 208,58,3,83,37,2,208,61,26,81,23,5,209,23,3,83, + 37,2,209,26,26,81,52,5,209,52,3,83,37,2,209,55, + 26,82,17,5,210,17,3,83,37,2,210,20,26,82,46,5, + 210,46,3,83,37,2,210,49,45,83,34,5,211,30,3,83, + 37,2,211,33,1,83,34,5,211,34,3,83,37,2,211,37, + 19,83,56,5,211,56,3,83,59,3,211,59,5,84,5,7, + 117,190,1,0,0,0,1,2,3,4,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42, + 43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58, + 59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74, + 75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90, + 91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106, + 107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122, + 123,124,125,126,127,195,135,195,188,195,169,195,162,195,164,195, + 160,195,165,195,167,195,170,195,171,195,168,195,175,195,174,195, + 172,195,132,195,133,195,137,195,166,195,134,195,180,195,182,195, + 178,195,187,195,185,195,191,195,150,195,156,194,162,194,163,194, + 165,226,130,167,198,146,195,161,195,173,195,179,195,186,195,177, + 195,145,194,170,194,186,194,191,226,140,144,194,172,194,189,194, + 188,194,161,194,171,194,187,226,150,145,226,150,146,226,150,147, + 226,148,130,226,148,164,226,149,161,226,149,162,226,149,150,226, + 149,149,226,149,163,226,149,145,226,149,151,226,149,157,226,149, + 156,226,149,155,226,148,144,226,148,148,226,148,180,226,148,172, + 226,148,156,226,148,128,226,148,188,226,149,158,226,149,159,226, + 149,154,226,149,148,226,149,169,226,149,166,226,149,160,226,149, + 144,226,149,172,226,149,167,226,149,168,226,149,164,226,149,165, + 226,149,153,226,149,152,226,149,146,226,149,147,226,149,171,226, + 149,170,226,148,152,226,148,140,226,150,136,226,150,132,226,150, + 140,226,150,144,226,150,128,206,177,195,159,206,147,207,128,206, + 163,207,131,194,181,207,132,206,166,206,152,206,169,206,180,226, + 136,158,207,134,206,181,226,136,169,226,137,161,194,177,226,137, + 165,226,137,164,226,140,160,226,140,161,195,183,226,137,136,194, + 176,226,136,153,194,183,226,136,154,226,129,191,194,178,226,150, + 160,194,160,99,0,0,0,0,0,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,243,252,0,0,0,151,0,116, + 0,0,0,0,0,0,0,0,0,114,32,116,3,0,0,0, + 0,0,0,0,0,106,4,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,1,171,1,0,0,0, + 0,0,0,1,0,116,7,0,0,0,0,0,0,0,0,100, + 2,171,1,0,0,0,0,0,0,130,1,100,3,97,0,9, + 0,100,4,100,5,108,4,109,5,125,0,1,0,9,0,100, + 6,97,0,116,3,0,0,0,0,0,0,0,0,106,4,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,7,171,1,0,0,0,0,0,0,1,0,124,0,83, + 0,35,0,116,12,0,0,0,0,0,0,0,0,36,0,114, + 33,1,0,116,3,0,0,0,0,0,0,0,0,106,4,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,100,1,171,1,0,0,0,0,0,0,1,0,116,7,0, + 0,0,0,0,0,0,0,100,2,171,1,0,0,0,0,0, + 0,130,1,119,0,120,3,89,0,119,1,35,0,100,6,97, + 0,119,0,120,3,89,0,119,1,41,8,78,122,27,122,105, + 112,105,109,112,111,114,116,58,32,122,108,105,98,32,85,78, + 65,86,65,73,76,65,66,76,69,250,41,99,97,110,39,116, + 32,100,101,99,111,109,112,114,101,115,115,32,100,97,116,97, + 59,32,122,108,105,98,32,110,111,116,32,97,118,97,105,108, + 97,98,108,101,84,114,1,0,0,0,169,1,218,10,100,101, + 99,111,109,112,114,101,115,115,70,122,25,122,105,112,105,109, + 112,111,114,116,58,32,122,108,105,98,32,97,118,97,105,108, + 97,98,108,101,41,7,218,15,95,105,109,112,111,114,116,105, + 110,103,95,122,108,105,98,114,52,0,0,0,114,108,0,0, + 0,114,4,0,0,0,218,4,122,108,105,98,114,194,0,0, + 0,218,9,69,120,99,101,112,116,105,111,110,114,193,0,0, + 0,115,1,0,0,0,32,114,13,0,0,0,218,20,95,103, + 101,116,95,100,101,99,111,109,112,114,101,115,115,95,102,117, + 110,99,114,198,0,0,0,252,1,0,0,115,129,0,0,0, + 128,0,229,7,22,244,6,0,9,19,215,8,35,209,8,35, + 208,36,65,212,8,66,220,14,28,208,29,72,211,14,73,208, + 8,73,224,22,26,128,79,240,2,6,5,32,222,8,35,240, + 10,0,27,32,136,15,228,4,14,215,4,31,209,4,31,208, + 32,59,212,4,60,216,11,21,208,4,21,248,244,15,0,12, + 21,242,0,2,5,74,1,220,8,18,215,8,35,209,8,35, + 208,36,65,212,8,66,220,14,28,208,29,72,211,14,73,208, + 8,73,240,5,2,5,74,1,251,240,8,0,27,32,137,15, + 250,115,23,0,0,0,170,6,65,10,0,193,10,42,65,52, + 3,193,52,3,65,55,0,193,55,4,65,59,3,99,2,0, + 0,0,0,0,0,0,0,0,0,0,8,0,0,0,3,0, + 0,0,243,218,2,0,0,151,0,124,1,92,8,0,0,125, + 2,125,3,125,4,125,5,125,6,125,7,125,8,125,9,124, + 4,100,1,107,2,0,0,114,11,116,1,0,0,0,0,0, + 0,0,0,100,2,171,1,0,0,0,0,0,0,130,1,116, + 3,0,0,0,0,0,0,0,0,106,4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,171, + 1,0,0,0,0,0,0,53,0,125,10,9,0,124,10,106, + 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,6,171,1,0,0,0,0,0,0,1,0,124, + 10,106,11,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,100,5,171,1,0,0,0,0,0,0,125, + 11,116,13,0,0,0,0,0,0,0,0,124,11,171,1,0, + 0,0,0,0,0,100,5,107,55,0,0,114,11,116,15,0, + 0,0,0,0,0,0,0,100,6,171,1,0,0,0,0,0, + 0,130,1,124,11,100,0,100,7,26,0,100,8,107,55,0, + 0,114,16,116,1,0,0,0,0,0,0,0,0,100,9,124, + 0,155,2,157,2,124,0,172,4,171,2,0,0,0,0,0, + 0,130,1,116,17,0,0,0,0,0,0,0,0,124,11,100, + 10,100,11,26,0,171,1,0,0,0,0,0,0,125,12,116, + 17,0,0,0,0,0,0,0,0,124,11,100,11,100,5,26, + 0,171,1,0,0,0,0,0,0,125,13,100,5,124,12,122, + 0,0,0,124,13,122,0,0,0,125,14,124,6,124,14,122, + 13,0,0,125,6,9,0,124,10,106,7,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,124,6,171, + 1,0,0,0,0,0,0,1,0,124,10,106,11,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124, + 4,171,1,0,0,0,0,0,0,125,15,116,13,0,0,0, + 0,0,0,0,0,124,15,171,1,0,0,0,0,0,0,124, + 4,107,55,0,0,114,11,116,9,0,0,0,0,0,0,0, + 0,100,12,171,1,0,0,0,0,0,0,130,1,9,0,100, + 0,100,0,100,0,171,2,0,0,0,0,0,0,1,0,124, + 3,100,1,107,40,0,0,114,2,127,15,83,0,9,0,116, + 19,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0, + 0,125,16,2,0,124,16,127,15,100,14,171,2,0,0,0, + 0,0,0,83,0,35,0,116,8,0,0,0,0,0,0,0, + 0,36,0,114,17,1,0,116,1,0,0,0,0,0,0,0, + 0,100,3,124,0,155,2,157,2,124,0,172,4,171,2,0, + 0,0,0,0,0,130,1,119,0,120,3,89,0,119,1,35, + 0,116,8,0,0,0,0,0,0,0,0,36,0,114,17,1, + 0,116,1,0,0,0,0,0,0,0,0,100,3,124,0,155, + 2,157,2,124,0,172,4,171,2,0,0,0,0,0,0,130, + 1,119,0,120,3,89,0,119,1,35,0,49,0,115,1,119, + 2,1,0,89,0,1,0,1,0,140,94,120,3,89,0,119, + 1,35,0,116,20,0,0,0,0,0,0,0,0,36,0,114, + 12,1,0,116,1,0,0,0,0,0,0,0,0,100,13,171, + 1,0,0,0,0,0,0,130,1,119,0,120,3,89,0,119, + 1,41,15,78,114,1,0,0,0,122,18,110,101,103,97,116, + 105,118,101,32,100,97,116,97,32,115,105,122,101,114,135,0, + 0,0,114,17,0,0,0,114,147,0,0,0,114,141,0,0, + 0,114,136,0,0,0,115,4,0,0,0,80,75,3,4,122, + 23,98,97,100,32,108,111,99,97,108,32,102,105,108,101,32, + 104,101,97,100,101,114,58,32,233,26,0,0,0,114,146,0, + 0,0,122,26,122,105,112,105,109,112,111,114,116,58,32,99, + 97,110,39,116,32,114,101,97,100,32,100,97,116,97,114,192, + 0,0,0,105,241,255,255,255,41,11,114,4,0,0,0,114, + 154,0,0,0,114,155,0,0,0,114,157,0,0,0,114,30, + 0,0,0,114,159,0,0,0,114,74,0,0,0,114,164,0, + 0,0,114,2,0,0,0,114,198,0,0,0,114,197,0,0, + 0,41,17,114,38,0,0,0,114,78,0,0,0,218,8,100, + 97,116,97,112,97,116,104,114,181,0,0,0,114,185,0,0, + 0,114,172,0,0,0,114,189,0,0,0,114,182,0,0,0, + 114,183,0,0,0,114,184,0,0,0,114,168,0,0,0,114, + 171,0,0,0,114,186,0,0,0,114,187,0,0,0,114,176, + 0,0,0,218,8,114,97,119,95,100,97,116,97,114,194,0, + 0,0,115,17,0,0,0,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,114,13,0,0,0,114,75,0, + 0,0,114,75,0,0,0,17,2,0,0,115,186,1,0,0, + 128,0,216,77,86,209,4,74,128,72,136,104,152,9,160,57, + 168,107,184,52,192,20,192,115,216,7,16,144,49,130,125,220, + 14,28,208,29,49,211,14,50,208,8,50,228,9,12,143,29, + 137,29,144,119,211,9,31,240,0,24,5,56,160,50,240,4, + 3,9,84,1,216,12,14,143,71,137,71,144,75,212,12,32, + 240,6,0,18,20,151,23,145,23,152,18,147,27,136,6,220, + 11,14,136,118,139,59,152,34,210,11,28,220,18,26,208,27, + 56,211,18,57,208,12,57,224,11,17,144,34,144,49,136,58, + 152,29,210,11,38,228,18,32,208,35,58,184,55,184,43,208, + 33,70,200,87,212,18,85,208,12,85,228,20,34,160,54,168, + 34,168,82,160,61,211,20,49,136,9,220,21,35,160,70,168, + 50,168,98,160,77,211,21,50,136,10,216,22,24,152,57,145, + 110,160,122,209,22,49,136,11,216,8,19,144,123,209,8,34, + 136,11,240,2,3,9,84,1,216,12,14,143,71,137,71,144, + 75,212,12,32,240,6,0,20,22,151,55,145,55,152,57,211, + 19,37,136,8,220,11,14,136,120,139,61,152,73,210,11,37, + 220,18,25,208,26,54,211,18,55,208,12,55,240,3,0,12, + 38,247,47,24,5,56,240,52,0,8,16,144,49,130,125,224, + 15,23,136,15,240,6,3,5,74,1,220,21,41,211,21,43, + 136,10,241,6,0,12,22,144,104,160,3,211,11,36,208,4, + 36,248,244,63,0,16,23,242,0,1,9,84,1,220,18,32, + 208,35,56,184,23,184,11,208,33,68,200,55,212,18,83,208, + 12,83,240,3,1,9,84,1,251,244,32,0,16,23,242,0, + 1,9,84,1,220,18,32,208,35,56,184,23,184,11,208,33, + 68,200,55,212,18,83,208,12,83,240,3,1,9,84,1,250, + 247,41,24,5,56,240,0,24,5,56,251,244,66,1,0,12, + 21,242,0,1,5,74,1,220,14,28,208,29,72,211,14,73, + 208,8,73,240,3,1,5,74,1,250,115,71,0,0,0,177, + 1,69,9,3,179,17,68,15,2,193,4,65,43,69,9,3, + 194,48,17,68,44,2,195,1,42,69,9,3,195,60,10,69, + 21,0,196,15,26,68,41,5,196,41,3,69,9,3,196,44, + 26,69,6,5,197,6,3,69,9,3,197,9,5,69,18,7, + 197,21,21,69,42,3,99,2,0,0,0,0,0,0,0,0, + 0,0,0,4,0,0,0,3,0,0,0,243,36,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,124,0,124,1, + 122,10,0,0,171,1,0,0,0,0,0,0,100,1,107,26, + 0,0,83,0,41,2,78,114,6,0,0,0,41,1,218,3, + 97,98,115,41,2,218,2,116,49,218,2,116,50,115,2,0, + 0,0,32,32,114,13,0,0,0,218,9,95,101,113,95,109, + 116,105,109,101,114,207,0,0,0,63,2,0,0,115,21,0, + 0,0,128,0,228,11,14,136,114,144,66,137,119,139,60,152, + 49,209,11,28,208,4,28,114,12,0,0,0,99,5,0,0, + 0,0,0,0,0,0,0,0,0,7,0,0,0,3,0,0, + 0,243,92,2,0,0,151,0,124,3,124,2,100,1,156,2, + 125,5,116,1,0,0,0,0,0,0,0,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,4,124,3,124,5,171,3,0,0,0,0,0,0,125,6, + 124,6,100,2,122,1,0,0,100,3,107,55,0,0,125,7, + 124,7,114,123,124,6,100,4,122,1,0,0,100,3,107,55, + 0,0,125,8,116,4,0,0,0,0,0,0,0,0,106,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,100,5,107,55,0,0,114,179,124,8,115,19,116,4, + 0,0,0,0,0,0,0,0,106,6,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,6,107,40, + 0,0,114,158,116,9,0,0,0,0,0,0,0,0,124,0, + 124,2,171,2,0,0,0,0,0,0,125,9,124,9,129,144, + 116,5,0,0,0,0,0,0,0,0,106,10,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0, + 0,0,0,0,0,0,0,0,106,12,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,124,9,171,2, + 0,0,0,0,0,0,125,10,116,1,0,0,0,0,0,0, + 0,0,106,14,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,4,124,10,124,3,124,5,171,4, + 0,0,0,0,0,0,1,0,110,83,116,17,0,0,0,0, + 0,0,0,0,124,0,124,2,171,2,0,0,0,0,0,0, + 92,2,0,0,125,11,125,12,124,11,114,66,116,19,0,0, + 0,0,0,0,0,0,116,21,0,0,0,0,0,0,0,0, + 124,4,100,7,100,8,26,0,171,1,0,0,0,0,0,0, + 124,11,171,2,0,0,0,0,0,0,114,17,116,21,0,0, + 0,0,0,0,0,0,124,4,100,8,100,9,26,0,171,1, + 0,0,0,0,0,0,124,12,107,55,0,0,114,25,116,23, + 0,0,0,0,0,0,0,0,106,24,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,100,10,124,3, + 155,2,157,2,171,1,0,0,0,0,0,0,1,0,121,0, + 116,27,0,0,0,0,0,0,0,0,106,28,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,4, + 100,9,100,0,26,0,171,1,0,0,0,0,0,0,125,13, + 116,31,0,0,0,0,0,0,0,0,124,13,116,32,0,0, + 0,0,0,0,0,0,171,2,0,0,0,0,0,0,115,15, + 116,35,0,0,0,0,0,0,0,0,100,11,124,1,155,2, + 100,12,157,3,171,1,0,0,0,0,0,0,130,1,124,13, + 83,0,41,13,78,41,2,114,49,0,0,0,114,18,0,0, + 0,114,6,0,0,0,114,1,0,0,0,114,126,0,0,0, + 218,5,110,101,118,101,114,218,6,97,108,119,97,121,115,114, + 142,0,0,0,114,137,0,0,0,114,138,0,0,0,122,22, + 98,121,116,101,99,111,100,101,32,105,115,32,115,116,97,108, + 101,32,102,111,114,32,122,16,99,111,109,112,105,108,101,100, + 32,109,111,100,117,108,101,32,122,21,32,105,115,32,110,111, + 116,32,97,32,99,111,100,101,32,111,98,106,101,99,116,41, + 18,114,27,0,0,0,218,13,95,99,108,97,115,115,105,102, + 121,95,112,121,99,218,4,95,105,109,112,218,21,99,104,101, + 99,107,95,104,97,115,104,95,98,97,115,101,100,95,112,121, + 99,115,218,15,95,103,101,116,95,112,121,99,95,115,111,117, + 114,99,101,218,11,115,111,117,114,99,101,95,104,97,115,104, + 218,17,95,82,65,87,95,77,65,71,73,67,95,78,85,77, + 66,69,82,218,18,95,118,97,108,105,100,97,116,101,95,104, + 97,115,104,95,112,121,99,218,29,95,103,101,116,95,109,116, + 105,109,101,95,97,110,100,95,115,105,122,101,95,111,102,95, + 115,111,117,114,99,101,114,207,0,0,0,114,3,0,0,0, + 114,52,0,0,0,114,108,0,0,0,218,7,109,97,114,115, + 104,97,108,218,5,108,111,97,100,115,114,20,0,0,0,218, + 10,95,99,111,100,101,95,116,121,112,101,114,22,0,0,0, + 41,14,114,41,0,0,0,114,76,0,0,0,114,89,0,0, + 0,114,58,0,0,0,114,174,0,0,0,218,11,101,120,99, + 95,100,101,116,97,105,108,115,114,180,0,0,0,218,10,104, + 97,115,104,95,98,97,115,101,100,218,12,99,104,101,99,107, + 95,115,111,117,114,99,101,218,12,115,111,117,114,99,101,95, + 98,121,116,101,115,114,215,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,68,0,0,0,115,14,0,0,0,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,114,13,0, + 0,0,218,15,95,117,110,109,97,114,115,104,97,108,95,99, + 111,100,101,114,228,0,0,0,71,2,0,0,115,65,1,0, + 0,128,0,224,16,24,216,16,24,241,5,3,19,6,128,75, + 244,10,0,13,32,215,12,45,209,12,45,168,100,176,72,184, + 107,211,12,74,128,69,224,17,22,152,19,145,27,160,1,209, + 17,33,128,74,217,7,17,216,23,28,152,116,145,124,160,113, + 209,23,40,136,12,220,12,16,215,12,38,209,12,38,168,39, + 210,12,49,217,17,29,164,20,215,33,59,209,33,59,184,120, + 210,33,71,220,27,42,168,52,176,24,211,27,58,136,76,216, + 15,27,208,15,39,220,30,34,215,30,46,209,30,46,220,20, + 39,215,20,57,209,20,57,216,20,32,243,5,3,31,18,144, + 11,244,10,0,17,36,215,16,54,209,16,54,216,20,24,152, + 43,160,120,176,27,245,3,1,17,62,244,8,0,13,42,168, + 36,176,8,211,12,57,241,3,0,9,34,136,12,144,107,241, + 6,0,12,24,244,6,0,21,30,156,110,168,84,176,33,176, + 66,168,90,211,30,56,184,44,212,20,71,220,20,34,160,52, + 168,2,168,50,160,59,211,20,47,176,59,210,20,62,220,16, + 26,215,16,43,209,16,43,216,22,44,168,88,168,76,208,20, + 57,244,3,1,17,59,224,23,27,228,11,18,143,61,137,61, + 152,20,152,98,152,99,152,25,211,11,35,128,68,220,11,21, + 144,100,156,74,212,11,39,220,14,23,208,26,42,168,56,168, + 44,208,54,75,208,24,76,211,14,77,208,8,77,216,11,15, + 128,75,114,12,0,0,0,99,1,0,0,0,0,0,0,0, + 0,0,0,0,4,0,0,0,3,0,0,0,243,78,0,0, + 0,151,0,124,0,106,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,100,1,100,2,171,2,0, + 0,0,0,0,0,125,0,124,0,106,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,100,3,100, + 2,171,2,0,0,0,0,0,0,125,0,124,0,83,0,41, + 4,78,115,2,0,0,0,13,10,243,1,0,0,0,10,243, + 1,0,0,0,13,41,1,114,25,0,0,0,41,1,218,6, + 115,111,117,114,99,101,115,1,0,0,0,32,114,13,0,0, + 0,218,23,95,110,111,114,109,97,108,105,122,101,95,108,105, + 110,101,95,101,110,100,105,110,103,115,114,233,0,0,0,116, + 2,0,0,115,39,0,0,0,128,0,216,13,19,143,94,137, + 94,152,71,160,85,211,13,43,128,70,216,13,19,143,94,137, + 94,152,69,160,53,211,13,41,128,70,216,11,17,128,77,114, + 12,0,0,0,99,2,0,0,0,0,0,0,0,0,0,0, + 0,6,0,0,0,3,0,0,0,243,54,0,0,0,151,0, + 116,1,0,0,0,0,0,0,0,0,124,1,171,1,0,0, + 0,0,0,0,125,1,116,3,0,0,0,0,0,0,0,0, + 124,1,124,0,100,1,100,2,172,3,171,4,0,0,0,0, + 0,0,83,0,41,4,78,114,106,0,0,0,84,41,1,218, + 12,100,111,110,116,95,105,110,104,101,114,105,116,41,2,114, + 233,0,0,0,218,7,99,111,109,112,105,108,101,41,2,114, + 76,0,0,0,114,232,0,0,0,115,2,0,0,0,32,32, + 114,13,0,0,0,218,15,95,99,111,109,112,105,108,101,95, + 115,111,117,114,99,101,114,237,0,0,0,123,2,0,0,115, + 29,0,0,0,128,0,220,13,36,160,86,211,13,44,128,70, + 220,11,18,144,54,152,56,160,86,184,36,212,11,63,208,4, + 63,114,12,0,0,0,99,2,0,0,0,0,0,0,0,0, + 0,0,0,11,0,0,0,3,0,0,0,243,122,0,0,0, + 151,0,116,1,0,0,0,0,0,0,0,0,106,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 124,0,100,1,122,9,0,0,100,2,122,0,0,0,124,0, + 100,3,122,9,0,0,100,4,122,1,0,0,124,0,100,5, + 122,1,0,0,124,1,100,6,122,9,0,0,124,1,100,3, + 122,9,0,0,100,7,122,1,0,0,124,1,100,5,122,1, + 0,0,100,8,122,5,0,0,100,9,100,9,100,9,102,9, + 171,1,0,0,0,0,0,0,83,0,41,10,78,233,9,0, + 0,0,105,188,7,0,0,233,5,0,0,0,233,15,0,0, + 0,233,31,0,0,0,233,11,0,0,0,233,63,0,0,0, + 114,126,0,0,0,114,19,0,0,0,41,2,114,182,0,0, + 0,218,6,109,107,116,105,109,101,41,2,218,1,100,114,190, + 0,0,0,115,2,0,0,0,32,32,114,13,0,0,0,218, + 14,95,112,97,114,115,101,95,100,111,115,116,105,109,101,114, + 247,0,0,0,129,2,0,0,115,89,0,0,0,128,0,220, + 11,15,143,59,137,59,216,9,10,136,97,137,22,144,52,137, + 15,216,9,10,136,97,137,22,144,51,137,14,216,8,9,136, + 68,137,8,216,8,9,136,82,137,7,216,9,10,136,97,137, + 22,144,52,137,15,216,9,10,136,84,137,24,144,81,137,14, + 216,8,10,136,66,144,2,240,15,7,24,20,243,0,7,12, + 21,240,0,7,5,21,114,12,0,0,0,99,2,0,0,0, + 0,0,0,0,0,0,0,0,5,0,0,0,3,0,0,0, + 243,172,0,0,0,151,0,9,0,124,1,100,1,100,0,26, + 0,100,2,118,0,115,2,74,0,130,1,124,1,100,0,100, + 1,26,0,125,1,124,0,106,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,124,1,25,0,0, + 0,125,2,124,2,100,3,25,0,0,0,125,3,124,2,100, + 4,25,0,0,0,125,4,124,2,100,5,25,0,0,0,125, + 5,116,3,0,0,0,0,0,0,0,0,124,4,124,3,171, + 2,0,0,0,0,0,0,124,5,102,2,83,0,35,0,116, + 4,0,0,0,0,0,0,0,0,116,6,0,0,0,0,0, + 0,0,0,116,8,0,0,0,0,0,0,0,0,102,3,36, + 0,114,3,1,0,89,0,121,6,119,0,120,3,89,0,119, + 1,41,7,78,114,19,0,0,0,169,2,218,1,99,218,1, + 111,114,240,0,0,0,233,6,0,0,0,233,3,0,0,0, + 41,2,114,1,0,0,0,114,1,0,0,0,41,5,114,37, + 0,0,0,114,247,0,0,0,114,35,0,0,0,218,10,73, + 110,100,101,120,69,114,114,111,114,114,22,0,0,0,41,6, + 114,41,0,0,0,114,18,0,0,0,114,78,0,0,0,114, + 182,0,0,0,114,183,0,0,0,218,17,117,110,99,111,109, + 112,114,101,115,115,101,100,95,115,105,122,101,115,6,0,0, + 0,32,32,32,32,32,32,114,13,0,0,0,114,218,0,0, + 0,114,218,0,0,0,142,2,0,0,115,123,0,0,0,128, + 0,240,2,12,5,20,224,15,19,144,66,144,67,136,121,152, + 74,209,15,38,209,8,38,216,15,19,144,67,144,82,136,121, + 136,4,216,20,24,151,75,145,75,160,4,209,20,37,136,9, + 240,6,0,16,25,152,17,137,124,136,4,216,15,24,152,17, + 137,124,136,4,216,28,37,160,97,153,76,208,8,25,220,15, + 29,152,100,160,68,211,15,41,208,43,60,208,15,60,208,8, + 60,248,220,12,20,148,106,164,41,208,11,44,242,0,1,5, + 20,217,15,19,240,3,1,5,20,250,115,15,0,0,0,130, + 57,60,0,188,20,65,19,3,193,18,1,65,19,3,99,2, + 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3, + 0,0,0,243,136,0,0,0,151,0,124,1,100,1,100,0, + 26,0,100,2,118,0,115,2,74,0,130,1,124,1,100,0, + 100,1,26,0,125,1,9,0,124,0,106,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1, + 25,0,0,0,125,2,116,3,0,0,0,0,0,0,0,0, + 124,0,106,4,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,2,171,2,0,0,0,0,0,0, + 83,0,35,0,116,6,0,0,0,0,0,0,0,0,36,0, + 114,3,1,0,89,0,121,0,119,0,120,3,89,0,119,1, + 41,3,78,114,19,0,0,0,114,249,0,0,0,41,4,114, + 37,0,0,0,114,75,0,0,0,114,38,0,0,0,114,35, + 0,0,0,41,3,114,41,0,0,0,114,18,0,0,0,114, + 78,0,0,0,115,3,0,0,0,32,32,32,114,13,0,0, + 0,114,214,0,0,0,114,214,0,0,0,161,2,0,0,115, + 88,0,0,0,128,0,224,11,15,144,2,144,3,136,57,152, + 10,209,11,34,209,4,34,216,11,15,144,3,144,18,136,57, + 128,68,240,4,5,5,50,216,20,24,151,75,145,75,160,4, + 209,20,37,136,9,244,8,0,16,25,152,20,159,28,153,28, + 160,121,211,15,49,208,8,49,248,244,7,0,12,20,242,0, + 1,5,20,217,15,19,240,3,1,5,20,250,115,15,0,0, + 0,144,15,53,0,181,9,65,1,3,193,0,1,65,1,3, + 99,2,0,0,0,0,0,0,0,0,0,0,0,8,0,0, + 0,3,0,0,0,243,226,1,0,0,151,0,116,1,0,0, + 0,0,0,0,0,0,124,0,124,1,171,2,0,0,0,0, + 0,0,125,2,100,0,125,3,116,2,0,0,0,0,0,0, + 0,0,68,0,93,141,0,0,92,3,0,0,125,4,125,5, + 125,6,124,2,124,4,122,0,0,0,125,7,116,5,0,0, + 0,0,0,0,0,0,106,6,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,100,1,124,0,106,8, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,116,10,0,0,0,0,0,0,0,0,124,7,100,2, + 172,3,171,5,0,0,0,0,0,0,1,0,9,0,124,0, + 106,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,124,7,25,0,0,0,125,8,124,8,100,4, + 25,0,0,0,125,9,116,15,0,0,0,0,0,0,0,0, + 124,0,106,8,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,124,8,171,2,0,0,0,0,0,0, + 125,10,100,0,125,11,124,5,114,17,9,0,116,17,0,0, + 0,0,0,0,0,0,124,0,124,9,124,7,124,1,124,10, + 171,5,0,0,0,0,0,0,125,11,110,12,116,21,0,0, + 0,0,0,0,0,0,124,9,124,10,171,2,0,0,0,0, + 0,0,125,11,124,11,128,1,140,131,124,8,100,4,25,0, + 0,0,125,9,124,11,124,6,124,9,102,3,99,2,1,0, + 83,0,4,0,124,3,114,19,100,5,124,3,155,0,157,2, + 125,13,116,25,0,0,0,0,0,0,0,0,124,13,124,1, + 172,6,171,2,0,0,0,0,0,0,124,3,130,2,116,25, + 0,0,0,0,0,0,0,0,100,7,124,1,155,2,157,2, + 124,1,172,6,171,2,0,0,0,0,0,0,130,1,35,0, + 116,18,0,0,0,0,0,0,0,0,36,0,114,12,125,12, + 124,12,125,3,89,0,100,0,125,12,126,12,140,69,100,0, + 125,12,126,12,119,1,119,0,120,3,89,0,119,1,35,0, + 116,22,0,0,0,0,0,0,0,0,36,0,114,3,1,0, + 89,0,140,216,119,0,120,3,89,0,119,1,41,8,78,122, + 13,116,114,121,105,110,103,32,123,125,123,125,123,125,114,126, + 0,0,0,41,1,218,9,118,101,114,98,111,115,105,116,121, + 114,1,0,0,0,122,20,109,111,100,117,108,101,32,108,111, + 97,100,32,102,97,105,108,101,100,58,32,114,84,0,0,0, + 114,83,0,0,0,41,13,114,54,0,0,0,114,131,0,0, + 0,114,52,0,0,0,114,108,0,0,0,114,38,0,0,0, + 114,26,0,0,0,114,37,0,0,0,114,75,0,0,0,114, + 228,0,0,0,114,107,0,0,0,114,237,0,0,0,114,35, + 0,0,0,114,4,0,0,0,41,14,114,41,0,0,0,114, + 58,0,0,0,114,18,0,0,0,218,12,105,109,112,111,114, + 116,95,101,114,114,111,114,114,132,0,0,0,114,133,0,0, + 0,114,69,0,0,0,114,89,0,0,0,114,78,0,0,0, + 114,61,0,0,0,114,174,0,0,0,114,68,0,0,0,218, + 3,101,120,99,114,109,0,0,0,115,14,0,0,0,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,114,13,0,0, + 0,114,66,0,0,0,114,66,0,0,0,176,2,0,0,115, + 41,1,0,0,128,0,220,11,27,152,68,160,40,211,11,43, + 128,68,216,19,23,128,76,220,41,57,242,0,29,5,83,1, + 209,8,37,136,6,144,10,152,73,216,19,23,152,38,145,61, + 136,8,220,8,18,215,8,35,209,8,35,160,79,176,84,183, + 92,177,92,196,56,200,88,208,97,98,213,8,99,240,2,20, + 9,44,216,24,28,159,11,153,11,160,72,209,24,45,136,73, + 240,8,0,23,32,160,1,145,108,136,71,220,19,28,152,84, + 159,92,153,92,168,57,211,19,53,136,68,216,19,23,136,68, + 217,15,25,240,2,3,17,39,220,27,42,168,52,176,23,184, + 40,192,72,200,100,211,27,83,145,68,244,8,0,24,39,160, + 119,176,4,211,23,53,144,4,216,15,19,136,124,240,6,0, + 17,25,216,22,31,160,1,145,108,136,71,216,19,23,152,25, + 160,71,208,19,43,210,12,43,240,47,29,5,83,1,241,50, + 0,12,24,216,20,40,168,28,168,14,208,18,55,136,67,220, + 18,32,160,19,168,56,212,18,52,184,44,208,12,70,228,18, + 32,208,35,53,176,104,176,92,208,33,66,200,24,212,18,82, + 208,12,82,248,244,31,0,24,35,242,0,1,17,39,216,35, + 38,149,76,251,240,3,1,17,39,251,244,19,0,16,24,242, + 0,1,9,17,217,12,16,240,3,1,9,17,250,115,42,0, + 0,0,193,10,15,67,34,2,193,57,15,67,10,2,195,10, + 9,67,31,5,195,19,2,67,26,5,195,26,5,67,31,5, + 195,34,9,67,46,5,195,45,1,67,46,5,41,46,114,123, + 0,0,0,218,26,95,102,114,111,122,101,110,95,105,109,112, + 111,114,116,108,105,98,95,101,120,116,101,114,110,97,108,114, + 27,0,0,0,114,2,0,0,0,114,3,0,0,0,218,17, + 95,102,114,111,122,101,110,95,105,109,112,111,114,116,108,105, + 98,114,52,0,0,0,114,212,0,0,0,114,154,0,0,0, + 114,219,0,0,0,114,97,0,0,0,114,182,0,0,0,114, + 94,0,0,0,218,7,95,95,97,108,108,95,95,114,26,0, + 0,0,218,15,112,97,116,104,95,115,101,112,97,114,97,116, + 111,114,115,114,24,0,0,0,114,107,0,0,0,114,4,0, + 0,0,114,34,0,0,0,114,23,0,0,0,114,100,0,0, + 0,114,158,0,0,0,114,160,0,0,0,114,162,0,0,0, + 218,13,95,76,111,97,100,101,114,66,97,115,105,99,115,114, + 5,0,0,0,114,131,0,0,0,114,54,0,0,0,114,55, + 0,0,0,114,51,0,0,0,114,36,0,0,0,114,167,0, + 0,0,114,195,0,0,0,114,198,0,0,0,114,75,0,0, + 0,114,207,0,0,0,114,228,0,0,0,218,8,95,95,99, + 111,100,101,95,95,114,221,0,0,0,114,233,0,0,0,114, + 237,0,0,0,114,247,0,0,0,114,218,0,0,0,114,214, + 0,0,0,114,66,0,0,0,114,11,0,0,0,114,12,0, + 0,0,114,13,0,0,0,250,8,60,109,111,100,117,108,101, + 62,114,11,1,0,0,1,0,0,0,115,51,1,0,0,240, + 3,1,1,1,241,2,12,1,4,243,32,0,1,57,223,0, + 69,219,0,38,219,0,11,219,0,10,219,0,14,219,0,10, + 219,0,11,219,0,16,224,11,27,152,93,208,10,43,128,7, + 240,6,0,12,31,215,11,39,209,11,39,128,8,216,15,34, + 215,15,50,209,15,50,176,49,176,50,208,15,54,128,12,244, + 6,1,1,9,144,91,244,0,1,1,9,240,8,0,24,26, + 208,0,20,225,15,19,144,67,139,121,128,12,224,23,25,208, + 0,20,216,21,34,208,0,18,216,18,31,128,15,244,4,108, + 3,1,79,1,208,18,37,215,18,51,209,18,51,244,0,108, + 3,1,79,1,240,106,7,0,6,14,144,14,209,5,30,160, + 4,160,100,208,4,43,216,5,13,144,13,209,5,29,152,117, + 160,100,208,4,43,216,4,25,216,4,25,240,9,5,20,2, + 208,0,16,242,18,1,1,53,242,8,6,1,34,242,18,6, + 1,16,242,62,123,1,1,17,240,74,4,24,5,47,240,5, + 0,1,12,240,58,0,19,24,128,15,242,10,18,1,22,242, + 42,40,1,37,242,92,1,2,1,29,242,16,38,1,16,241, + 80,1,0,14,18,144,47,215,18,42,209,18,42,211,13,43, + 128,10,242,10,3,1,18,242,14,2,1,64,1,242,12,8, + 1,21,242,26,13,1,20,242,38,10,1,50,243,30,32,1, + 83,1,114,12,0,0,0, +}; diff --git a/contrib/tools/python3/src/Python/future.c b/contrib/tools/python3/src/Python/future.c index d465608ca45..d56f7330964 100644 --- a/contrib/tools/python3/src/Python/future.c +++ b/contrib/tools/python3/src/Python/future.c @@ -2,8 +2,6 @@ #include "pycore_ast.h" // _PyAST_GetDocString() #define UNDEFINED_FUTURE_FEATURE "future feature %.100s is not defined" -#define ERR_LATE_FUTURE \ -"from __future__ imports must occur at the beginning of the file" static int future_check_features(PyFutureFeatures *ff, stmt_ty s, PyObject *filename) @@ -56,81 +54,56 @@ future_check_features(PyFutureFeatures *ff, stmt_ty s, PyObject *filename) static int future_parse(PyFutureFeatures *ff, mod_ty mod, PyObject *filename) { - int i, done = 0, prev_line = 0; - - if (!(mod->kind == Module_kind || mod->kind == Interactive_kind)) + if (!(mod->kind == Module_kind || mod->kind == Interactive_kind)) { return 1; + } - if (asdl_seq_LEN(mod->v.Module.body) == 0) + Py_ssize_t n = asdl_seq_LEN(mod->v.Module.body); + if (n == 0) { return 1; + } - /* A subsequent pass will detect future imports that don't - appear at the beginning of the file. There's one case, - however, that is easier to handle here: A series of imports - joined by semi-colons, where the first import is a future - statement but some subsequent import has the future form - but is preceded by a regular import. - */ - - i = 0; - if (_PyAST_GetDocString(mod->v.Module.body) != NULL) + Py_ssize_t i = 0; + if (_PyAST_GetDocString(mod->v.Module.body) != NULL) { i++; + } - for (; i < asdl_seq_LEN(mod->v.Module.body); i++) { + for (; i < n; i++) { stmt_ty s = (stmt_ty)asdl_seq_GET(mod->v.Module.body, i); - if (done && s->lineno > prev_line) - return 1; - prev_line = s->lineno; - - /* The tests below will return from this function unless it is - still possible to find a future statement. The only things - that can precede a future statement are another future - statement and a doc string. - */ + /* The only things that can precede a future statement + * are another future statement and a doc string. + */ if (s->kind == ImportFrom_kind) { identifier modname = s->v.ImportFrom.module; if (modname && _PyUnicode_EqualToASCIIString(modname, "__future__")) { - if (done) { - PyErr_SetString(PyExc_SyntaxError, - ERR_LATE_FUTURE); - PyErr_SyntaxLocationObject(filename, s->lineno, s->col_offset); + if (!future_check_features(ff, s, filename)) { return 0; } - if (!future_check_features(ff, s, filename)) - return 0; - ff->ff_lineno = s->lineno; + ff->ff_location = SRC_LOCATION_FROM_AST(s); } else { - done = 1; + return 1; } } else { - done = 1; + return 1; } } return 1; } -PyFutureFeatures * -_PyFuture_FromAST(mod_ty mod, PyObject *filename) +int +_PyFuture_FromAST(mod_ty mod, PyObject *filename, PyFutureFeatures *ff) { - PyFutureFeatures *ff; - - ff = (PyFutureFeatures *)PyObject_Malloc(sizeof(PyFutureFeatures)); - if (ff == NULL) { - PyErr_NoMemory(); - return NULL; - } ff->ff_features = 0; - ff->ff_lineno = -1; + ff->ff_location = (_PyCompilerSrcLocation){-1, -1, -1, -1}; if (!future_parse(ff, mod, filename)) { - PyObject_Free(ff); - return NULL; + return 0; } - return ff; + return 1; } diff --git a/contrib/tools/python3/src/Python/generated_cases.c.h b/contrib/tools/python3/src/Python/generated_cases.c.h new file mode 100644 index 00000000000..ea17c0410bc --- /dev/null +++ b/contrib/tools/python3/src/Python/generated_cases.c.h @@ -0,0 +1,4800 @@ +// This file is generated by Tools/cases_generator/generate_cases.py +// from: +// Python/bytecodes.c +// Do not edit! + + TARGET(NOP) { + DISPATCH(); + } + + TARGET(RESUME) { + #line 137 "Python/bytecodes.c" + assert(tstate->cframe == &cframe); + assert(frame == cframe.current_frame); + /* Possibly combine this with eval breaker */ + if (frame->f_code->_co_instrumentation_version != tstate->interp->monitoring_version) { + int err = _Py_Instrument(frame->f_code, tstate->interp); + if (err) goto error; + next_instr--; + } + else if (_Py_atomic_load_relaxed_int32(&tstate->interp->ceval.eval_breaker) && oparg < 2) { + goto handle_eval_breaker; + } + #line 24 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(INSTRUMENTED_RESUME) { + #line 151 "Python/bytecodes.c" + /* Possible performance enhancement: + * We need to check the eval breaker anyway, can we + * combine the instrument verison check and the eval breaker test? + */ + if (frame->f_code->_co_instrumentation_version != tstate->interp->monitoring_version) { + if (_Py_Instrument(frame->f_code, tstate->interp)) { + goto error; + } + next_instr--; + } + else { + _PyFrame_SetStackPointer(frame, stack_pointer); + int err = _Py_call_instrumentation( + tstate, oparg > 0, frame, next_instr-1); + stack_pointer = _PyFrame_GetStackPointer(frame); + if (err) goto error; + if (frame->prev_instr != next_instr-1) { + /* Instrumentation has jumped */ + next_instr = frame->prev_instr; + DISPATCH(); + } + if (_Py_atomic_load_relaxed_int32(&tstate->interp->ceval.eval_breaker) && oparg < 2) { + goto handle_eval_breaker; + } + } + #line 55 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(LOAD_CLOSURE) { + PyObject *value; + #line 179 "Python/bytecodes.c" + /* We keep LOAD_CLOSURE so that the bytecode stays more readable. */ + value = GETLOCAL(oparg); + if (value == NULL) goto unbound_local_error; + Py_INCREF(value); + #line 66 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = value; + DISPATCH(); + } + + TARGET(LOAD_FAST_CHECK) { + PyObject *value; + #line 186 "Python/bytecodes.c" + value = GETLOCAL(oparg); + if (value == NULL) goto unbound_local_error; + Py_INCREF(value); + #line 78 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = value; + DISPATCH(); + } + + TARGET(LOAD_FAST) { + PyObject *value; + #line 192 "Python/bytecodes.c" + value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + #line 90 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = value; + DISPATCH(); + } + + TARGET(LOAD_FAST_AND_CLEAR) { + PyObject *value; + #line 198 "Python/bytecodes.c" + value = GETLOCAL(oparg); + // do not use SETLOCAL here, it decrefs the old value + GETLOCAL(oparg) = NULL; + #line 102 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = value; + DISPATCH(); + } + + TARGET(LOAD_CONST) { + PREDICTED(LOAD_CONST); + PyObject *value; + #line 204 "Python/bytecodes.c" + value = GETITEM(frame->f_code->co_consts, oparg); + Py_INCREF(value); + #line 114 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = value; + DISPATCH(); + } + + TARGET(STORE_FAST) { + PyObject *value = stack_pointer[-1]; + #line 209 "Python/bytecodes.c" + SETLOCAL(oparg, value); + #line 124 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(LOAD_FAST__LOAD_FAST) { + PyObject *_tmp_1; + PyObject *_tmp_2; + { + PyObject *value; + #line 192 "Python/bytecodes.c" + value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + #line 138 "Python/generated_cases.c.h" + _tmp_2 = value; + } + oparg = (next_instr++)->op.arg; + { + PyObject *value; + #line 192 "Python/bytecodes.c" + value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + #line 148 "Python/generated_cases.c.h" + _tmp_1 = value; + } + STACK_GROW(2); + stack_pointer[-1] = _tmp_1; + stack_pointer[-2] = _tmp_2; + DISPATCH(); + } + + TARGET(LOAD_FAST__LOAD_CONST) { + PyObject *_tmp_1; + PyObject *_tmp_2; + { + PyObject *value; + #line 192 "Python/bytecodes.c" + value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + #line 166 "Python/generated_cases.c.h" + _tmp_2 = value; + } + oparg = (next_instr++)->op.arg; + { + PyObject *value; + #line 204 "Python/bytecodes.c" + value = GETITEM(frame->f_code->co_consts, oparg); + Py_INCREF(value); + #line 175 "Python/generated_cases.c.h" + _tmp_1 = value; + } + STACK_GROW(2); + stack_pointer[-1] = _tmp_1; + stack_pointer[-2] = _tmp_2; + DISPATCH(); + } + + TARGET(STORE_FAST__LOAD_FAST) { + PyObject *_tmp_1 = stack_pointer[-1]; + { + PyObject *value = _tmp_1; + #line 209 "Python/bytecodes.c" + SETLOCAL(oparg, value); + #line 190 "Python/generated_cases.c.h" + } + oparg = (next_instr++)->op.arg; + { + PyObject *value; + #line 192 "Python/bytecodes.c" + value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + #line 199 "Python/generated_cases.c.h" + _tmp_1 = value; + } + stack_pointer[-1] = _tmp_1; + DISPATCH(); + } + + TARGET(STORE_FAST__STORE_FAST) { + PyObject *_tmp_1 = stack_pointer[-1]; + PyObject *_tmp_2 = stack_pointer[-2]; + { + PyObject *value = _tmp_1; + #line 209 "Python/bytecodes.c" + SETLOCAL(oparg, value); + #line 213 "Python/generated_cases.c.h" + } + oparg = (next_instr++)->op.arg; + { + PyObject *value = _tmp_2; + #line 209 "Python/bytecodes.c" + SETLOCAL(oparg, value); + #line 220 "Python/generated_cases.c.h" + } + STACK_SHRINK(2); + DISPATCH(); + } + + TARGET(LOAD_CONST__LOAD_FAST) { + PyObject *_tmp_1; + PyObject *_tmp_2; + { + PyObject *value; + #line 204 "Python/bytecodes.c" + value = GETITEM(frame->f_code->co_consts, oparg); + Py_INCREF(value); + #line 234 "Python/generated_cases.c.h" + _tmp_2 = value; + } + oparg = (next_instr++)->op.arg; + { + PyObject *value; + #line 192 "Python/bytecodes.c" + value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + #line 244 "Python/generated_cases.c.h" + _tmp_1 = value; + } + STACK_GROW(2); + stack_pointer[-1] = _tmp_1; + stack_pointer[-2] = _tmp_2; + DISPATCH(); + } + + TARGET(POP_TOP) { + PyObject *value = stack_pointer[-1]; + #line 219 "Python/bytecodes.c" + #line 256 "Python/generated_cases.c.h" + Py_DECREF(value); + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(PUSH_NULL) { + PyObject *res; + #line 223 "Python/bytecodes.c" + res = NULL; + #line 266 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = res; + DISPATCH(); + } + + TARGET(END_FOR) { + PyObject *_tmp_1 = stack_pointer[-1]; + PyObject *_tmp_2 = stack_pointer[-2]; + { + PyObject *value = _tmp_1; + #line 219 "Python/bytecodes.c" + #line 278 "Python/generated_cases.c.h" + Py_DECREF(value); + } + { + PyObject *value = _tmp_2; + #line 219 "Python/bytecodes.c" + #line 284 "Python/generated_cases.c.h" + Py_DECREF(value); + } + STACK_SHRINK(2); + DISPATCH(); + } + + TARGET(INSTRUMENTED_END_FOR) { + PyObject *value = stack_pointer[-1]; + PyObject *receiver = stack_pointer[-2]; + #line 229 "Python/bytecodes.c" + /* Need to create a fake StopIteration error here, + * to conform to PEP 380 */ + if (PyGen_Check(receiver)) { + PyErr_SetObject(PyExc_StopIteration, value); + if (monitor_stop_iteration(tstate, frame, next_instr-1)) { + goto error; + } + PyErr_SetRaisedException(NULL); + } + #line 304 "Python/generated_cases.c.h" + Py_DECREF(receiver); + Py_DECREF(value); + STACK_SHRINK(2); + DISPATCH(); + } + + TARGET(END_SEND) { + PyObject *value = stack_pointer[-1]; + PyObject *receiver = stack_pointer[-2]; + #line 242 "Python/bytecodes.c" + Py_DECREF(receiver); + #line 316 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = value; + DISPATCH(); + } + + TARGET(INSTRUMENTED_END_SEND) { + PyObject *value = stack_pointer[-1]; + PyObject *receiver = stack_pointer[-2]; + #line 246 "Python/bytecodes.c" + if (PyGen_Check(receiver) || PyCoro_CheckExact(receiver)) { + PyErr_SetObject(PyExc_StopIteration, value); + if (monitor_stop_iteration(tstate, frame, next_instr-1)) { + goto error; + } + PyErr_SetRaisedException(NULL); + } + Py_DECREF(receiver); + #line 334 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = value; + DISPATCH(); + } + + TARGET(UNARY_NEGATIVE) { + PyObject *value = stack_pointer[-1]; + PyObject *res; + #line 257 "Python/bytecodes.c" + res = PyNumber_Negative(value); + #line 345 "Python/generated_cases.c.h" + Py_DECREF(value); + #line 259 "Python/bytecodes.c" + if (res == NULL) goto pop_1_error; + #line 349 "Python/generated_cases.c.h" + stack_pointer[-1] = res; + DISPATCH(); + } + + TARGET(UNARY_NOT) { + PyObject *value = stack_pointer[-1]; + PyObject *res; + #line 263 "Python/bytecodes.c" + int err = PyObject_IsTrue(value); + #line 359 "Python/generated_cases.c.h" + Py_DECREF(value); + #line 265 "Python/bytecodes.c" + if (err < 0) goto pop_1_error; + if (err == 0) { + res = Py_True; + } + else { + res = Py_False; + } + #line 369 "Python/generated_cases.c.h" + stack_pointer[-1] = res; + DISPATCH(); + } + + TARGET(UNARY_INVERT) { + PyObject *value = stack_pointer[-1]; + PyObject *res; + #line 275 "Python/bytecodes.c" + res = PyNumber_Invert(value); + #line 379 "Python/generated_cases.c.h" + Py_DECREF(value); + #line 277 "Python/bytecodes.c" + if (res == NULL) goto pop_1_error; + #line 383 "Python/generated_cases.c.h" + stack_pointer[-1] = res; + DISPATCH(); + } + + TARGET(BINARY_OP_MULTIPLY_INT) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *prod; + #line 294 "Python/bytecodes.c" + DEOPT_IF(!PyLong_CheckExact(left), BINARY_OP); + DEOPT_IF(!PyLong_CheckExact(right), BINARY_OP); + STAT_INC(BINARY_OP, hit); + prod = _PyLong_Multiply((PyLongObject *)left, (PyLongObject *)right); + _Py_DECREF_SPECIALIZED(right, (destructor)PyObject_Free); + _Py_DECREF_SPECIALIZED(left, (destructor)PyObject_Free); + if (prod == NULL) goto pop_2_error; + #line 400 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = prod; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_OP_MULTIPLY_FLOAT) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *prod; + #line 304 "Python/bytecodes.c" + DEOPT_IF(!PyFloat_CheckExact(left), BINARY_OP); + DEOPT_IF(!PyFloat_CheckExact(right), BINARY_OP); + STAT_INC(BINARY_OP, hit); + double dprod = ((PyFloatObject *)left)->ob_fval * + ((PyFloatObject *)right)->ob_fval; + DECREF_INPUTS_AND_REUSE_FLOAT(left, right, dprod, prod); + #line 418 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = prod; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_OP_SUBTRACT_INT) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *sub; + #line 313 "Python/bytecodes.c" + DEOPT_IF(!PyLong_CheckExact(left), BINARY_OP); + DEOPT_IF(!PyLong_CheckExact(right), BINARY_OP); + STAT_INC(BINARY_OP, hit); + sub = _PyLong_Subtract((PyLongObject *)left, (PyLongObject *)right); + _Py_DECREF_SPECIALIZED(right, (destructor)PyObject_Free); + _Py_DECREF_SPECIALIZED(left, (destructor)PyObject_Free); + if (sub == NULL) goto pop_2_error; + #line 437 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = sub; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_OP_SUBTRACT_FLOAT) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *sub; + #line 323 "Python/bytecodes.c" + DEOPT_IF(!PyFloat_CheckExact(left), BINARY_OP); + DEOPT_IF(!PyFloat_CheckExact(right), BINARY_OP); + STAT_INC(BINARY_OP, hit); + double dsub = ((PyFloatObject *)left)->ob_fval - ((PyFloatObject *)right)->ob_fval; + DECREF_INPUTS_AND_REUSE_FLOAT(left, right, dsub, sub); + #line 454 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = sub; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_OP_ADD_UNICODE) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *res; + #line 331 "Python/bytecodes.c" + DEOPT_IF(!PyUnicode_CheckExact(left), BINARY_OP); + DEOPT_IF(Py_TYPE(right) != Py_TYPE(left), BINARY_OP); + STAT_INC(BINARY_OP, hit); + res = PyUnicode_Concat(left, right); + _Py_DECREF_SPECIALIZED(left, _PyUnicode_ExactDealloc); + _Py_DECREF_SPECIALIZED(right, _PyUnicode_ExactDealloc); + if (res == NULL) goto pop_2_error; + #line 473 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_OP_INPLACE_ADD_UNICODE) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + #line 347 "Python/bytecodes.c" + DEOPT_IF(!PyUnicode_CheckExact(left), BINARY_OP); + DEOPT_IF(Py_TYPE(right) != Py_TYPE(left), BINARY_OP); + _Py_CODEUNIT true_next = next_instr[INLINE_CACHE_ENTRIES_BINARY_OP]; + assert(true_next.op.code == STORE_FAST || + true_next.op.code == STORE_FAST__LOAD_FAST); + PyObject **target_local = &GETLOCAL(true_next.op.arg); + DEOPT_IF(*target_local != left, BINARY_OP); + STAT_INC(BINARY_OP, hit); + /* Handle `left = left + right` or `left += right` for str. + * + * When possible, extend `left` in place rather than + * allocating a new PyUnicodeObject. This attempts to avoid + * quadratic behavior when one neglects to use str.join(). + * + * If `left` has only two references remaining (one from + * the stack, one in the locals), DECREFing `left` leaves + * only the locals reference, so PyUnicode_Append knows + * that the string is safe to mutate. + */ + assert(Py_REFCNT(left) >= 2); + _Py_DECREF_NO_DEALLOC(left); + PyUnicode_Append(target_local, right); + _Py_DECREF_SPECIALIZED(right, _PyUnicode_ExactDealloc); + if (*target_local == NULL) goto pop_2_error; + // The STORE_FAST is already done. + JUMPBY(INLINE_CACHE_ENTRIES_BINARY_OP + 1); + #line 510 "Python/generated_cases.c.h" + STACK_SHRINK(2); + DISPATCH(); + } + + TARGET(BINARY_OP_ADD_FLOAT) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *sum; + #line 376 "Python/bytecodes.c" + DEOPT_IF(!PyFloat_CheckExact(left), BINARY_OP); + DEOPT_IF(Py_TYPE(right) != Py_TYPE(left), BINARY_OP); + STAT_INC(BINARY_OP, hit); + double dsum = ((PyFloatObject *)left)->ob_fval + + ((PyFloatObject *)right)->ob_fval; + DECREF_INPUTS_AND_REUSE_FLOAT(left, right, dsum, sum); + #line 526 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = sum; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_OP_ADD_INT) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *sum; + #line 385 "Python/bytecodes.c" + DEOPT_IF(!PyLong_CheckExact(left), BINARY_OP); + DEOPT_IF(Py_TYPE(right) != Py_TYPE(left), BINARY_OP); + STAT_INC(BINARY_OP, hit); + sum = _PyLong_Add((PyLongObject *)left, (PyLongObject *)right); + _Py_DECREF_SPECIALIZED(right, (destructor)PyObject_Free); + _Py_DECREF_SPECIALIZED(left, (destructor)PyObject_Free); + if (sum == NULL) goto pop_2_error; + #line 545 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = sum; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_SUBSCR) { + PREDICTED(BINARY_SUBSCR); + static_assert(INLINE_CACHE_ENTRIES_BINARY_SUBSCR == 1, "incorrect cache size"); + PyObject *sub = stack_pointer[-1]; + PyObject *container = stack_pointer[-2]; + PyObject *res; + #line 403 "Python/bytecodes.c" + #if ENABLE_SPECIALIZATION + _PyBinarySubscrCache *cache = (_PyBinarySubscrCache *)next_instr; + if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) { + next_instr--; + _Py_Specialize_BinarySubscr(container, sub, next_instr); + DISPATCH_SAME_OPARG(); + } + STAT_INC(BINARY_SUBSCR, deferred); + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #endif /* ENABLE_SPECIALIZATION */ + res = PyObject_GetItem(container, sub); + #line 570 "Python/generated_cases.c.h" + Py_DECREF(container); + Py_DECREF(sub); + #line 415 "Python/bytecodes.c" + if (res == NULL) goto pop_2_error; + #line 575 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_SLICE) { + PyObject *stop = stack_pointer[-1]; + PyObject *start = stack_pointer[-2]; + PyObject *container = stack_pointer[-3]; + PyObject *res; + #line 419 "Python/bytecodes.c" + PyObject *slice = _PyBuildSlice_ConsumeRefs(start, stop); + // Can't use ERROR_IF() here, because we haven't + // DECREF'ed container yet, and we still own slice. + if (slice == NULL) { + res = NULL; + } + else { + res = PyObject_GetItem(container, slice); + Py_DECREF(slice); + } + Py_DECREF(container); + if (res == NULL) goto pop_3_error; + #line 600 "Python/generated_cases.c.h" + STACK_SHRINK(2); + stack_pointer[-1] = res; + DISPATCH(); + } + + TARGET(STORE_SLICE) { + PyObject *stop = stack_pointer[-1]; + PyObject *start = stack_pointer[-2]; + PyObject *container = stack_pointer[-3]; + PyObject *v = stack_pointer[-4]; + #line 434 "Python/bytecodes.c" + PyObject *slice = _PyBuildSlice_ConsumeRefs(start, stop); + int err; + if (slice == NULL) { + err = 1; + } + else { + err = PyObject_SetItem(container, slice, v); + Py_DECREF(slice); + } + Py_DECREF(v); + Py_DECREF(container); + if (err) goto pop_4_error; + #line 624 "Python/generated_cases.c.h" + STACK_SHRINK(4); + DISPATCH(); + } + + TARGET(BINARY_SUBSCR_LIST_INT) { + PyObject *sub = stack_pointer[-1]; + PyObject *list = stack_pointer[-2]; + PyObject *res; + #line 449 "Python/bytecodes.c" + DEOPT_IF(!PyLong_CheckExact(sub), BINARY_SUBSCR); + DEOPT_IF(!PyList_CheckExact(list), BINARY_SUBSCR); + + // Deopt unless 0 <= sub < PyList_Size(list) + DEOPT_IF(!_PyLong_IsNonNegativeCompact((PyLongObject *)sub), BINARY_SUBSCR); + Py_ssize_t index = ((PyLongObject*)sub)->long_value.ob_digit[0]; + DEOPT_IF(index >= PyList_GET_SIZE(list), BINARY_SUBSCR); + STAT_INC(BINARY_SUBSCR, hit); + res = PyList_GET_ITEM(list, index); + assert(res != NULL); + Py_INCREF(res); + _Py_DECREF_SPECIALIZED(sub, (destructor)PyObject_Free); + Py_DECREF(list); + #line 647 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_SUBSCR_TUPLE_INT) { + PyObject *sub = stack_pointer[-1]; + PyObject *tuple = stack_pointer[-2]; + PyObject *res; + #line 465 "Python/bytecodes.c" + DEOPT_IF(!PyLong_CheckExact(sub), BINARY_SUBSCR); + DEOPT_IF(!PyTuple_CheckExact(tuple), BINARY_SUBSCR); + + // Deopt unless 0 <= sub < PyTuple_Size(list) + DEOPT_IF(!_PyLong_IsNonNegativeCompact((PyLongObject *)sub), BINARY_SUBSCR); + Py_ssize_t index = ((PyLongObject*)sub)->long_value.ob_digit[0]; + DEOPT_IF(index >= PyTuple_GET_SIZE(tuple), BINARY_SUBSCR); + STAT_INC(BINARY_SUBSCR, hit); + res = PyTuple_GET_ITEM(tuple, index); + assert(res != NULL); + Py_INCREF(res); + _Py_DECREF_SPECIALIZED(sub, (destructor)PyObject_Free); + Py_DECREF(tuple); + #line 672 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_SUBSCR_DICT) { + PyObject *sub = stack_pointer[-1]; + PyObject *dict = stack_pointer[-2]; + PyObject *res; + #line 481 "Python/bytecodes.c" + DEOPT_IF(!PyDict_CheckExact(dict), BINARY_SUBSCR); + STAT_INC(BINARY_SUBSCR, hit); + res = PyDict_GetItemWithError(dict, sub); + if (res == NULL) { + if (!_PyErr_Occurred(tstate)) { + _PyErr_SetKeyError(sub); + } + #line 691 "Python/generated_cases.c.h" + Py_DECREF(dict); + Py_DECREF(sub); + #line 489 "Python/bytecodes.c" + if (true) goto pop_2_error; + } + Py_INCREF(res); // Do this before DECREF'ing dict, sub + #line 698 "Python/generated_cases.c.h" + Py_DECREF(dict); + Py_DECREF(sub); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 1; + DISPATCH(); + } + + TARGET(BINARY_SUBSCR_GETITEM) { + PyObject *sub = stack_pointer[-1]; + PyObject *container = stack_pointer[-2]; + #line 496 "Python/bytecodes.c" + DEOPT_IF(tstate->interp->eval_frame, BINARY_SUBSCR); + PyTypeObject *tp = Py_TYPE(container); + DEOPT_IF(!PyType_HasFeature(tp, Py_TPFLAGS_HEAPTYPE), BINARY_SUBSCR); + PyHeapTypeObject *ht = (PyHeapTypeObject *)tp; + PyObject *cached = ht->_spec_cache.getitem; + DEOPT_IF(cached == NULL, BINARY_SUBSCR); + assert(PyFunction_Check(cached)); + PyFunctionObject *getitem = (PyFunctionObject *)cached; + uint32_t cached_version = ht->_spec_cache.getitem_version; + DEOPT_IF(getitem->func_version != cached_version, BINARY_SUBSCR); + PyCodeObject *code = (PyCodeObject *)getitem->func_code; + assert(code->co_argcount == 2); + DEOPT_IF(!_PyThreadState_HasStackSpace(tstate, code->co_framesize), BINARY_SUBSCR); + STAT_INC(BINARY_SUBSCR, hit); + Py_INCREF(getitem); + _PyInterpreterFrame *new_frame = _PyFrame_PushUnchecked(tstate, getitem, 2); + STACK_SHRINK(2); + new_frame->localsplus[0] = container; + new_frame->localsplus[1] = sub; + JUMPBY(INLINE_CACHE_ENTRIES_BINARY_SUBSCR); + frame->return_offset = 0; + DISPATCH_INLINED(new_frame); + #line 733 "Python/generated_cases.c.h" + } + + TARGET(LIST_APPEND) { + PyObject *v = stack_pointer[-1]; + PyObject *list = stack_pointer[-(2 + (oparg-1))]; + #line 521 "Python/bytecodes.c" + if (_PyList_AppendTakeRef((PyListObject *)list, v) < 0) goto pop_1_error; + #line 741 "Python/generated_cases.c.h" + STACK_SHRINK(1); + PREDICT(JUMP_BACKWARD); + DISPATCH(); + } + + TARGET(SET_ADD) { + PyObject *v = stack_pointer[-1]; + PyObject *set = stack_pointer[-(2 + (oparg-1))]; + #line 526 "Python/bytecodes.c" + int err = PySet_Add(set, v); + #line 752 "Python/generated_cases.c.h" + Py_DECREF(v); + #line 528 "Python/bytecodes.c" + if (err) goto pop_1_error; + #line 756 "Python/generated_cases.c.h" + STACK_SHRINK(1); + PREDICT(JUMP_BACKWARD); + DISPATCH(); + } + + TARGET(STORE_SUBSCR) { + PREDICTED(STORE_SUBSCR); + static_assert(INLINE_CACHE_ENTRIES_STORE_SUBSCR == 1, "incorrect cache size"); + PyObject *sub = stack_pointer[-1]; + PyObject *container = stack_pointer[-2]; + PyObject *v = stack_pointer[-3]; + uint16_t counter = read_u16(&next_instr[0].cache); + #line 539 "Python/bytecodes.c" + #if ENABLE_SPECIALIZATION + if (ADAPTIVE_COUNTER_IS_ZERO(counter)) { + next_instr--; + _Py_Specialize_StoreSubscr(container, sub, next_instr); + DISPATCH_SAME_OPARG(); + } + STAT_INC(STORE_SUBSCR, deferred); + _PyStoreSubscrCache *cache = (_PyStoreSubscrCache *)next_instr; + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #else + (void)counter; // Unused. + #endif /* ENABLE_SPECIALIZATION */ + /* container[sub] = v */ + int err = PyObject_SetItem(container, sub, v); + #line 784 "Python/generated_cases.c.h" + Py_DECREF(v); + Py_DECREF(container); + Py_DECREF(sub); + #line 554 "Python/bytecodes.c" + if (err) goto pop_3_error; + #line 790 "Python/generated_cases.c.h" + STACK_SHRINK(3); + next_instr += 1; + DISPATCH(); + } + + TARGET(STORE_SUBSCR_LIST_INT) { + PyObject *sub = stack_pointer[-1]; + PyObject *list = stack_pointer[-2]; + PyObject *value = stack_pointer[-3]; + #line 558 "Python/bytecodes.c" + DEOPT_IF(!PyLong_CheckExact(sub), STORE_SUBSCR); + DEOPT_IF(!PyList_CheckExact(list), STORE_SUBSCR); + + // Ensure nonnegative, zero-or-one-digit ints. + DEOPT_IF(!_PyLong_IsNonNegativeCompact((PyLongObject *)sub), STORE_SUBSCR); + Py_ssize_t index = ((PyLongObject*)sub)->long_value.ob_digit[0]; + // Ensure index < len(list) + DEOPT_IF(index >= PyList_GET_SIZE(list), STORE_SUBSCR); + STAT_INC(STORE_SUBSCR, hit); + + PyObject *old_value = PyList_GET_ITEM(list, index); + PyList_SET_ITEM(list, index, value); + assert(old_value != NULL); + Py_DECREF(old_value); + _Py_DECREF_SPECIALIZED(sub, (destructor)PyObject_Free); + Py_DECREF(list); + #line 817 "Python/generated_cases.c.h" + STACK_SHRINK(3); + next_instr += 1; + DISPATCH(); + } + + TARGET(STORE_SUBSCR_DICT) { + PyObject *sub = stack_pointer[-1]; + PyObject *dict = stack_pointer[-2]; + PyObject *value = stack_pointer[-3]; + #line 577 "Python/bytecodes.c" + DEOPT_IF(!PyDict_CheckExact(dict), STORE_SUBSCR); + STAT_INC(STORE_SUBSCR, hit); + int err = _PyDict_SetItem_Take2((PyDictObject *)dict, sub, value); + Py_DECREF(dict); + if (err) goto pop_3_error; + #line 833 "Python/generated_cases.c.h" + STACK_SHRINK(3); + next_instr += 1; + DISPATCH(); + } + + TARGET(DELETE_SUBSCR) { + PyObject *sub = stack_pointer[-1]; + PyObject *container = stack_pointer[-2]; + #line 585 "Python/bytecodes.c" + /* del container[sub] */ + int err = PyObject_DelItem(container, sub); + #line 845 "Python/generated_cases.c.h" + Py_DECREF(container); + Py_DECREF(sub); + #line 588 "Python/bytecodes.c" + if (err) goto pop_2_error; + #line 850 "Python/generated_cases.c.h" + STACK_SHRINK(2); + DISPATCH(); + } + + TARGET(CALL_INTRINSIC_1) { + PyObject *value = stack_pointer[-1]; + PyObject *res; + #line 592 "Python/bytecodes.c" + assert(oparg <= MAX_INTRINSIC_1); + res = _PyIntrinsics_UnaryFunctions[oparg](tstate, value); + #line 861 "Python/generated_cases.c.h" + Py_DECREF(value); + #line 595 "Python/bytecodes.c" + if (res == NULL) goto pop_1_error; + #line 865 "Python/generated_cases.c.h" + stack_pointer[-1] = res; + DISPATCH(); + } + + TARGET(CALL_INTRINSIC_2) { + PyObject *value1 = stack_pointer[-1]; + PyObject *value2 = stack_pointer[-2]; + PyObject *res; + #line 599 "Python/bytecodes.c" + assert(oparg <= MAX_INTRINSIC_2); + res = _PyIntrinsics_BinaryFunctions[oparg](tstate, value2, value1); + #line 877 "Python/generated_cases.c.h" + Py_DECREF(value2); + Py_DECREF(value1); + #line 602 "Python/bytecodes.c" + if (res == NULL) goto pop_2_error; + #line 882 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + DISPATCH(); + } + + TARGET(RAISE_VARARGS) { + PyObject **args = (stack_pointer - oparg); + #line 606 "Python/bytecodes.c" + PyObject *cause = NULL, *exc = NULL; + switch (oparg) { + case 2: + cause = args[1]; + /* fall through */ + case 1: + exc = args[0]; + /* fall through */ + case 0: + if (do_raise(tstate, exc, cause)) { + assert(oparg == 0); + monitor_reraise(tstate, frame, next_instr-1); + goto exception_unwind; + } + break; + default: + _PyErr_SetString(tstate, PyExc_SystemError, + "bad RAISE_VARARGS oparg"); + break; + } + if (true) { STACK_SHRINK(oparg); goto error; } + #line 912 "Python/generated_cases.c.h" + } + + TARGET(INTERPRETER_EXIT) { + PyObject *retval = stack_pointer[-1]; + #line 630 "Python/bytecodes.c" + assert(frame == &entry_frame); + assert(_PyFrame_IsIncomplete(frame)); + STACK_SHRINK(1); // Since we're not going to DISPATCH() + assert(EMPTY()); + /* Restore previous cframe and return. */ + tstate->cframe = cframe.previous; + assert(tstate->cframe->current_frame == frame->previous); + assert(!_PyErr_Occurred(tstate)); + tstate->c_recursion_remaining += PY_EVAL_C_STACK_UNITS; + return retval; + #line 928 "Python/generated_cases.c.h" + } + + TARGET(RETURN_VALUE) { + PyObject *retval = stack_pointer[-1]; + #line 643 "Python/bytecodes.c" + STACK_SHRINK(1); + assert(EMPTY()); + _PyFrame_SetStackPointer(frame, stack_pointer); + _Py_LeaveRecursiveCallPy(tstate); + assert(frame != &entry_frame); + // GH-99729: We need to unlink the frame *before* clearing it: + _PyInterpreterFrame *dying = frame; + frame = cframe.current_frame = dying->previous; + _PyEvalFrameClearAndPop(tstate, dying); + frame->prev_instr += frame->return_offset; + _PyFrame_StackPush(frame, retval); + goto resume_frame; + #line 946 "Python/generated_cases.c.h" + } + + TARGET(INSTRUMENTED_RETURN_VALUE) { + PyObject *retval = stack_pointer[-1]; + #line 658 "Python/bytecodes.c" + int err = _Py_call_instrumentation_arg( + tstate, PY_MONITORING_EVENT_PY_RETURN, + frame, next_instr-1, retval); + if (err) goto error; + STACK_SHRINK(1); + assert(EMPTY()); + _PyFrame_SetStackPointer(frame, stack_pointer); + _Py_LeaveRecursiveCallPy(tstate); + assert(frame != &entry_frame); + // GH-99729: We need to unlink the frame *before* clearing it: + _PyInterpreterFrame *dying = frame; + frame = cframe.current_frame = dying->previous; + _PyEvalFrameClearAndPop(tstate, dying); + frame->prev_instr += frame->return_offset; + _PyFrame_StackPush(frame, retval); + goto resume_frame; + #line 968 "Python/generated_cases.c.h" + } + + TARGET(RETURN_CONST) { + #line 677 "Python/bytecodes.c" + PyObject *retval = GETITEM(frame->f_code->co_consts, oparg); + Py_INCREF(retval); + assert(EMPTY()); + _PyFrame_SetStackPointer(frame, stack_pointer); + _Py_LeaveRecursiveCallPy(tstate); + assert(frame != &entry_frame); + // GH-99729: We need to unlink the frame *before* clearing it: + _PyInterpreterFrame *dying = frame; + frame = cframe.current_frame = dying->previous; + _PyEvalFrameClearAndPop(tstate, dying); + frame->prev_instr += frame->return_offset; + _PyFrame_StackPush(frame, retval); + goto resume_frame; + #line 986 "Python/generated_cases.c.h" + } + + TARGET(INSTRUMENTED_RETURN_CONST) { + #line 693 "Python/bytecodes.c" + PyObject *retval = GETITEM(frame->f_code->co_consts, oparg); + int err = _Py_call_instrumentation_arg( + tstate, PY_MONITORING_EVENT_PY_RETURN, + frame, next_instr-1, retval); + if (err) goto error; + Py_INCREF(retval); + assert(EMPTY()); + _PyFrame_SetStackPointer(frame, stack_pointer); + _Py_LeaveRecursiveCallPy(tstate); + assert(frame != &entry_frame); + // GH-99729: We need to unlink the frame *before* clearing it: + _PyInterpreterFrame *dying = frame; + frame = cframe.current_frame = dying->previous; + _PyEvalFrameClearAndPop(tstate, dying); + frame->prev_instr += frame->return_offset; + _PyFrame_StackPush(frame, retval); + goto resume_frame; + #line 1008 "Python/generated_cases.c.h" + } + + TARGET(GET_AITER) { + PyObject *obj = stack_pointer[-1]; + PyObject *iter; + #line 713 "Python/bytecodes.c" + unaryfunc getter = NULL; + PyTypeObject *type = Py_TYPE(obj); + + if (type->tp_as_async != NULL) { + getter = type->tp_as_async->am_aiter; + } + + if (getter == NULL) { + _PyErr_Format(tstate, PyExc_TypeError, + "'async for' requires an object with " + "__aiter__ method, got %.100s", + type->tp_name); + #line 1027 "Python/generated_cases.c.h" + Py_DECREF(obj); + #line 726 "Python/bytecodes.c" + if (true) goto pop_1_error; + } + + iter = (*getter)(obj); + #line 1034 "Python/generated_cases.c.h" + Py_DECREF(obj); + #line 731 "Python/bytecodes.c" + if (iter == NULL) goto pop_1_error; + + if (Py_TYPE(iter)->tp_as_async == NULL || + Py_TYPE(iter)->tp_as_async->am_anext == NULL) { + + _PyErr_Format(tstate, PyExc_TypeError, + "'async for' received an object from __aiter__ " + "that does not implement __anext__: %.100s", + Py_TYPE(iter)->tp_name); + Py_DECREF(iter); + if (true) goto pop_1_error; + } + #line 1049 "Python/generated_cases.c.h" + stack_pointer[-1] = iter; + DISPATCH(); + } + + TARGET(GET_ANEXT) { + PyObject *aiter = stack_pointer[-1]; + PyObject *awaitable; + #line 746 "Python/bytecodes.c" + unaryfunc getter = NULL; + PyObject *next_iter = NULL; + PyTypeObject *type = Py_TYPE(aiter); + + if (PyAsyncGen_CheckExact(aiter)) { + awaitable = type->tp_as_async->am_anext(aiter); + if (awaitable == NULL) { + goto error; + } + } else { + if (type->tp_as_async != NULL){ + getter = type->tp_as_async->am_anext; + } + + if (getter != NULL) { + next_iter = (*getter)(aiter); + if (next_iter == NULL) { + goto error; + } + } + else { + _PyErr_Format(tstate, PyExc_TypeError, + "'async for' requires an iterator with " + "__anext__ method, got %.100s", + type->tp_name); + goto error; + } + + awaitable = _PyCoro_GetAwaitableIter(next_iter); + if (awaitable == NULL) { + _PyErr_FormatFromCause( + PyExc_TypeError, + "'async for' received an invalid object " + "from __anext__: %.100s", + Py_TYPE(next_iter)->tp_name); + + Py_DECREF(next_iter); + goto error; + } else { + Py_DECREF(next_iter); + } + } + + #line 1101 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = awaitable; + PREDICT(LOAD_CONST); + DISPATCH(); + } + + TARGET(GET_AWAITABLE) { + PREDICTED(GET_AWAITABLE); + PyObject *iterable = stack_pointer[-1]; + PyObject *iter; + #line 793 "Python/bytecodes.c" + iter = _PyCoro_GetAwaitableIter(iterable); + + if (iter == NULL) { + format_awaitable_error(tstate, Py_TYPE(iterable), oparg); + } + + #line 1119 "Python/generated_cases.c.h" + Py_DECREF(iterable); + #line 800 "Python/bytecodes.c" + + if (iter != NULL && PyCoro_CheckExact(iter)) { + PyObject *yf = _PyGen_yf((PyGenObject*)iter); + if (yf != NULL) { + /* `iter` is a coroutine object that is being + awaited, `yf` is a pointer to the current awaitable + being awaited on. */ + Py_DECREF(yf); + Py_CLEAR(iter); + _PyErr_SetString(tstate, PyExc_RuntimeError, + "coroutine is being awaited already"); + /* The code below jumps to `error` if `iter` is NULL. */ + } + } + + if (iter == NULL) goto pop_1_error; + + #line 1139 "Python/generated_cases.c.h" + stack_pointer[-1] = iter; + PREDICT(LOAD_CONST); + DISPATCH(); + } + + TARGET(SEND) { + PREDICTED(SEND); + static_assert(INLINE_CACHE_ENTRIES_SEND == 1, "incorrect cache size"); + PyObject *v = stack_pointer[-1]; + PyObject *receiver = stack_pointer[-2]; + PyObject *retval; + #line 826 "Python/bytecodes.c" + #if ENABLE_SPECIALIZATION + _PySendCache *cache = (_PySendCache *)next_instr; + if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) { + next_instr--; + _Py_Specialize_Send(receiver, next_instr); + DISPATCH_SAME_OPARG(); + } + STAT_INC(SEND, deferred); + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #endif /* ENABLE_SPECIALIZATION */ + assert(frame != &entry_frame); + if ((tstate->interp->eval_frame == NULL) && + (Py_TYPE(receiver) == &PyGen_Type || Py_TYPE(receiver) == &PyCoro_Type) && + ((PyGenObject *)receiver)->gi_frame_state < FRAME_EXECUTING) + { + PyGenObject *gen = (PyGenObject *)receiver; + _PyInterpreterFrame *gen_frame = (_PyInterpreterFrame *)gen->gi_iframe; + frame->return_offset = oparg; + STACK_SHRINK(1); + _PyFrame_StackPush(gen_frame, v); + gen->gi_frame_state = FRAME_EXECUTING; + gen->gi_exc_state.previous_item = tstate->exc_info; + tstate->exc_info = &gen->gi_exc_state; + JUMPBY(INLINE_CACHE_ENTRIES_SEND); + DISPATCH_INLINED(gen_frame); + } + if (Py_IsNone(v) && PyIter_Check(receiver)) { + retval = Py_TYPE(receiver)->tp_iternext(receiver); + } + else { + retval = PyObject_CallMethodOneArg(receiver, &_Py_ID(send), v); + } + if (retval == NULL) { + if (_PyErr_ExceptionMatches(tstate, PyExc_StopIteration) + ) { + monitor_raise(tstate, frame, next_instr-1); + } + if (_PyGen_FetchStopIterationValue(&retval) == 0) { + assert(retval != NULL); + JUMPBY(oparg); + } + else { + goto error; + } + } + Py_DECREF(v); + #line 1198 "Python/generated_cases.c.h" + stack_pointer[-1] = retval; + next_instr += 1; + DISPATCH(); + } + + TARGET(SEND_GEN) { + PyObject *v = stack_pointer[-1]; + PyObject *receiver = stack_pointer[-2]; + #line 875 "Python/bytecodes.c" + DEOPT_IF(tstate->interp->eval_frame, SEND); + PyGenObject *gen = (PyGenObject *)receiver; + DEOPT_IF(Py_TYPE(gen) != &PyGen_Type && + Py_TYPE(gen) != &PyCoro_Type, SEND); + DEOPT_IF(gen->gi_frame_state >= FRAME_EXECUTING, SEND); + STAT_INC(SEND, hit); + _PyInterpreterFrame *gen_frame = (_PyInterpreterFrame *)gen->gi_iframe; + frame->return_offset = oparg; + STACK_SHRINK(1); + _PyFrame_StackPush(gen_frame, v); + gen->gi_frame_state = FRAME_EXECUTING; + gen->gi_exc_state.previous_item = tstate->exc_info; + tstate->exc_info = &gen->gi_exc_state; + JUMPBY(INLINE_CACHE_ENTRIES_SEND); + DISPATCH_INLINED(gen_frame); + #line 1223 "Python/generated_cases.c.h" + } + + TARGET(INSTRUMENTED_YIELD_VALUE) { + PyObject *retval = stack_pointer[-1]; + #line 893 "Python/bytecodes.c" + assert(frame != &entry_frame); + PyGenObject *gen = _PyFrame_GetGenerator(frame); + gen->gi_frame_state = FRAME_SUSPENDED; + _PyFrame_SetStackPointer(frame, stack_pointer - 1); + int err = _Py_call_instrumentation_arg( + tstate, PY_MONITORING_EVENT_PY_YIELD, + frame, next_instr-1, retval); + if (err) goto error; + tstate->exc_info = gen->gi_exc_state.previous_item; + gen->gi_exc_state.previous_item = NULL; + _Py_LeaveRecursiveCallPy(tstate); + _PyInterpreterFrame *gen_frame = frame; + frame = cframe.current_frame = frame->previous; + gen_frame->previous = NULL; + _PyFrame_StackPush(frame, retval); + goto resume_frame; + #line 1245 "Python/generated_cases.c.h" + } + + TARGET(YIELD_VALUE) { + PyObject *retval = stack_pointer[-1]; + #line 912 "Python/bytecodes.c" + // NOTE: It's important that YIELD_VALUE never raises an exception! + // The compiler treats any exception raised here as a failed close() + // or throw() call. + assert(frame != &entry_frame); + PyGenObject *gen = _PyFrame_GetGenerator(frame); + gen->gi_frame_state = FRAME_SUSPENDED; + _PyFrame_SetStackPointer(frame, stack_pointer - 1); + tstate->exc_info = gen->gi_exc_state.previous_item; + gen->gi_exc_state.previous_item = NULL; + _Py_LeaveRecursiveCallPy(tstate); + _PyInterpreterFrame *gen_frame = frame; + frame = cframe.current_frame = frame->previous; + gen_frame->previous = NULL; + _PyFrame_StackPush(frame, retval); + goto resume_frame; + #line 1266 "Python/generated_cases.c.h" + } + + TARGET(POP_EXCEPT) { + PyObject *exc_value = stack_pointer[-1]; + #line 930 "Python/bytecodes.c" + _PyErr_StackItem *exc_info = tstate->exc_info; + Py_XSETREF(exc_info->exc_value, exc_value); + #line 1274 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(RERAISE) { + PyObject *exc = stack_pointer[-1]; + PyObject **values = (stack_pointer - (1 + oparg)); + #line 935 "Python/bytecodes.c" + assert(oparg >= 0 && oparg <= 2); + if (oparg) { + PyObject *lasti = values[0]; + if (PyLong_Check(lasti)) { + frame->prev_instr = _PyCode_CODE(frame->f_code) + PyLong_AsLong(lasti); + assert(!_PyErr_Occurred(tstate)); + } + else { + assert(PyLong_Check(lasti)); + _PyErr_SetString(tstate, PyExc_SystemError, "lasti is not an int"); + goto error; + } + } + assert(exc && PyExceptionInstance_Check(exc)); + Py_INCREF(exc); + _PyErr_SetRaisedException(tstate, exc); + monitor_reraise(tstate, frame, next_instr-1); + goto exception_unwind; + #line 1301 "Python/generated_cases.c.h" + } + + TARGET(END_ASYNC_FOR) { + PyObject *exc = stack_pointer[-1]; + PyObject *awaitable = stack_pointer[-2]; + #line 956 "Python/bytecodes.c" + assert(exc && PyExceptionInstance_Check(exc)); + if (PyErr_GivenExceptionMatches(exc, PyExc_StopAsyncIteration)) { + #line 1310 "Python/generated_cases.c.h" + Py_DECREF(awaitable); + Py_DECREF(exc); + #line 959 "Python/bytecodes.c" + } + else { + Py_INCREF(exc); + _PyErr_SetRaisedException(tstate, exc); + monitor_reraise(tstate, frame, next_instr-1); + goto exception_unwind; + } + #line 1321 "Python/generated_cases.c.h" + STACK_SHRINK(2); + DISPATCH(); + } + + TARGET(CLEANUP_THROW) { + PyObject *exc_value = stack_pointer[-1]; + PyObject *last_sent_val = stack_pointer[-2]; + PyObject *sub_iter = stack_pointer[-3]; + PyObject *none; + PyObject *value; + #line 969 "Python/bytecodes.c" + assert(throwflag); + assert(exc_value && PyExceptionInstance_Check(exc_value)); + if (PyErr_GivenExceptionMatches(exc_value, PyExc_StopIteration)) { + value = Py_NewRef(((PyStopIterationObject *)exc_value)->value); + #line 1337 "Python/generated_cases.c.h" + Py_DECREF(sub_iter); + Py_DECREF(last_sent_val); + Py_DECREF(exc_value); + #line 974 "Python/bytecodes.c" + none = Py_None; + } + else { + _PyErr_SetRaisedException(tstate, Py_NewRef(exc_value)); + monitor_reraise(tstate, frame, next_instr-1); + goto exception_unwind; + } + #line 1349 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = value; + stack_pointer[-2] = none; + DISPATCH(); + } + + TARGET(LOAD_ASSERTION_ERROR) { + PyObject *value; + #line 984 "Python/bytecodes.c" + value = Py_NewRef(PyExc_AssertionError); + #line 1360 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = value; + DISPATCH(); + } + + TARGET(LOAD_BUILD_CLASS) { + PyObject *bc; + #line 988 "Python/bytecodes.c" + if (PyDict_CheckExact(BUILTINS())) { + bc = _PyDict_GetItemWithError(BUILTINS(), + &_Py_ID(__build_class__)); + if (bc == NULL) { + if (!_PyErr_Occurred(tstate)) { + _PyErr_SetString(tstate, PyExc_NameError, + "__build_class__ not found"); + } + if (true) goto error; + } + Py_INCREF(bc); + } + else { + bc = PyObject_GetItem(BUILTINS(), &_Py_ID(__build_class__)); + if (bc == NULL) { + if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) + _PyErr_SetString(tstate, PyExc_NameError, + "__build_class__ not found"); + if (true) goto error; + } + } + #line 1390 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = bc; + DISPATCH(); + } + + TARGET(STORE_NAME) { + PyObject *v = stack_pointer[-1]; + #line 1013 "Python/bytecodes.c" + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + PyObject *ns = LOCALS(); + int err; + if (ns == NULL) { + _PyErr_Format(tstate, PyExc_SystemError, + "no locals found when storing %R", name); + #line 1405 "Python/generated_cases.c.h" + Py_DECREF(v); + #line 1020 "Python/bytecodes.c" + if (true) goto pop_1_error; + } + if (PyDict_CheckExact(ns)) + err = PyDict_SetItem(ns, name, v); + else + err = PyObject_SetItem(ns, name, v); + #line 1414 "Python/generated_cases.c.h" + Py_DECREF(v); + #line 1027 "Python/bytecodes.c" + if (err) goto pop_1_error; + #line 1418 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(DELETE_NAME) { + #line 1031 "Python/bytecodes.c" + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + PyObject *ns = LOCALS(); + int err; + if (ns == NULL) { + _PyErr_Format(tstate, PyExc_SystemError, + "no locals when deleting %R", name); + goto error; + } + err = PyObject_DelItem(ns, name); + // Can't use ERROR_IF here. + if (err != 0) { + format_exc_check_arg(tstate, PyExc_NameError, + NAME_ERROR_MSG, + name); + goto error; + } + #line 1441 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(UNPACK_SEQUENCE) { + PREDICTED(UNPACK_SEQUENCE); + static_assert(INLINE_CACHE_ENTRIES_UNPACK_SEQUENCE == 1, "incorrect cache size"); + PyObject *seq = stack_pointer[-1]; + #line 1057 "Python/bytecodes.c" + #if ENABLE_SPECIALIZATION + _PyUnpackSequenceCache *cache = (_PyUnpackSequenceCache *)next_instr; + if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) { + next_instr--; + _Py_Specialize_UnpackSequence(seq, next_instr, oparg); + DISPATCH_SAME_OPARG(); + } + STAT_INC(UNPACK_SEQUENCE, deferred); + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #endif /* ENABLE_SPECIALIZATION */ + PyObject **top = stack_pointer + oparg - 1; + int res = unpack_iterable(tstate, seq, oparg, -1, top); + #line 1462 "Python/generated_cases.c.h" + Py_DECREF(seq); + #line 1070 "Python/bytecodes.c" + if (res == 0) goto pop_1_error; + #line 1466 "Python/generated_cases.c.h" + STACK_SHRINK(1); + STACK_GROW(oparg); + next_instr += 1; + DISPATCH(); + } + + TARGET(UNPACK_SEQUENCE_TWO_TUPLE) { + PyObject *seq = stack_pointer[-1]; + PyObject **values = stack_pointer - (1); + #line 1074 "Python/bytecodes.c" + DEOPT_IF(!PyTuple_CheckExact(seq), UNPACK_SEQUENCE); + DEOPT_IF(PyTuple_GET_SIZE(seq) != 2, UNPACK_SEQUENCE); + assert(oparg == 2); + STAT_INC(UNPACK_SEQUENCE, hit); + values[0] = Py_NewRef(PyTuple_GET_ITEM(seq, 1)); + values[1] = Py_NewRef(PyTuple_GET_ITEM(seq, 0)); + #line 1483 "Python/generated_cases.c.h" + Py_DECREF(seq); + STACK_SHRINK(1); + STACK_GROW(oparg); + next_instr += 1; + DISPATCH(); + } + + TARGET(UNPACK_SEQUENCE_TUPLE) { + PyObject *seq = stack_pointer[-1]; + PyObject **values = stack_pointer - (1); + #line 1084 "Python/bytecodes.c" + DEOPT_IF(!PyTuple_CheckExact(seq), UNPACK_SEQUENCE); + DEOPT_IF(PyTuple_GET_SIZE(seq) != oparg, UNPACK_SEQUENCE); + STAT_INC(UNPACK_SEQUENCE, hit); + PyObject **items = _PyTuple_ITEMS(seq); + for (int i = oparg; --i >= 0; ) { + *values++ = Py_NewRef(items[i]); + } + #line 1502 "Python/generated_cases.c.h" + Py_DECREF(seq); + STACK_SHRINK(1); + STACK_GROW(oparg); + next_instr += 1; + DISPATCH(); + } + + TARGET(UNPACK_SEQUENCE_LIST) { + PyObject *seq = stack_pointer[-1]; + PyObject **values = stack_pointer - (1); + #line 1095 "Python/bytecodes.c" + DEOPT_IF(!PyList_CheckExact(seq), UNPACK_SEQUENCE); + DEOPT_IF(PyList_GET_SIZE(seq) != oparg, UNPACK_SEQUENCE); + STAT_INC(UNPACK_SEQUENCE, hit); + PyObject **items = _PyList_ITEMS(seq); + for (int i = oparg; --i >= 0; ) { + *values++ = Py_NewRef(items[i]); + } + #line 1521 "Python/generated_cases.c.h" + Py_DECREF(seq); + STACK_SHRINK(1); + STACK_GROW(oparg); + next_instr += 1; + DISPATCH(); + } + + TARGET(UNPACK_EX) { + PyObject *seq = stack_pointer[-1]; + #line 1106 "Python/bytecodes.c" + int totalargs = 1 + (oparg & 0xFF) + (oparg >> 8); + PyObject **top = stack_pointer + totalargs - 1; + int res = unpack_iterable(tstate, seq, oparg & 0xFF, oparg >> 8, top); + #line 1535 "Python/generated_cases.c.h" + Py_DECREF(seq); + #line 1110 "Python/bytecodes.c" + if (res == 0) goto pop_1_error; + #line 1539 "Python/generated_cases.c.h" + STACK_GROW((oparg & 0xFF) + (oparg >> 8)); + DISPATCH(); + } + + TARGET(STORE_ATTR) { + PREDICTED(STORE_ATTR); + static_assert(INLINE_CACHE_ENTRIES_STORE_ATTR == 4, "incorrect cache size"); + PyObject *owner = stack_pointer[-1]; + PyObject *v = stack_pointer[-2]; + uint16_t counter = read_u16(&next_instr[0].cache); + #line 1121 "Python/bytecodes.c" + #if ENABLE_SPECIALIZATION + if (ADAPTIVE_COUNTER_IS_ZERO(counter)) { + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + next_instr--; + _Py_Specialize_StoreAttr(owner, next_instr, name); + DISPATCH_SAME_OPARG(); + } + STAT_INC(STORE_ATTR, deferred); + _PyAttrCache *cache = (_PyAttrCache *)next_instr; + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #else + (void)counter; // Unused. + #endif /* ENABLE_SPECIALIZATION */ + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + int err = PyObject_SetAttr(owner, name, v); + #line 1566 "Python/generated_cases.c.h" + Py_DECREF(v); + Py_DECREF(owner); + #line 1137 "Python/bytecodes.c" + if (err) goto pop_2_error; + #line 1571 "Python/generated_cases.c.h" + STACK_SHRINK(2); + next_instr += 4; + DISPATCH(); + } + + TARGET(DELETE_ATTR) { + PyObject *owner = stack_pointer[-1]; + #line 1141 "Python/bytecodes.c" + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + int err = PyObject_SetAttr(owner, name, (PyObject *)NULL); + #line 1582 "Python/generated_cases.c.h" + Py_DECREF(owner); + #line 1144 "Python/bytecodes.c" + if (err) goto pop_1_error; + #line 1586 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(STORE_GLOBAL) { + PyObject *v = stack_pointer[-1]; + #line 1148 "Python/bytecodes.c" + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + int err = PyDict_SetItem(GLOBALS(), name, v); + #line 1596 "Python/generated_cases.c.h" + Py_DECREF(v); + #line 1151 "Python/bytecodes.c" + if (err) goto pop_1_error; + #line 1600 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(DELETE_GLOBAL) { + #line 1155 "Python/bytecodes.c" + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + int err; + err = PyDict_DelItem(GLOBALS(), name); + // Can't use ERROR_IF here. + if (err != 0) { + if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { + format_exc_check_arg(tstate, PyExc_NameError, + NAME_ERROR_MSG, name); + } + goto error; + } + #line 1618 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(LOAD_LOCALS) { + PyObject *locals; + #line 1169 "Python/bytecodes.c" + locals = LOCALS(); + if (locals == NULL) { + _PyErr_SetString(tstate, PyExc_SystemError, + "no locals found"); + if (true) goto error; + } + Py_INCREF(locals); + #line 1632 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = locals; + DISPATCH(); + } + + TARGET(LOAD_FROM_DICT_OR_GLOBALS) { + PyObject *mod_or_class_dict = stack_pointer[-1]; + PyObject *v; + #line 1179 "Python/bytecodes.c" + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + if (PyDict_CheckExact(mod_or_class_dict)) { + v = PyDict_GetItemWithError(mod_or_class_dict, name); + if (v != NULL) { + Py_INCREF(v); + } + else if (_PyErr_Occurred(tstate)) { + goto error; + } + } + else { + v = PyObject_GetItem(mod_or_class_dict, name); + if (v == NULL) { + if (!_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { + goto error; + } + _PyErr_Clear(tstate); + } + } + if (v == NULL) { + v = PyDict_GetItemWithError(GLOBALS(), name); + if (v != NULL) { + Py_INCREF(v); + } + else if (_PyErr_Occurred(tstate)) { + goto error; + } + else { + if (PyDict_CheckExact(BUILTINS())) { + v = PyDict_GetItemWithError(BUILTINS(), name); + if (v == NULL) { + if (!_PyErr_Occurred(tstate)) { + format_exc_check_arg( + tstate, PyExc_NameError, + NAME_ERROR_MSG, name); + } + goto error; + } + Py_INCREF(v); + } + else { + v = PyObject_GetItem(BUILTINS(), name); + if (v == NULL) { + if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { + format_exc_check_arg( + tstate, PyExc_NameError, + NAME_ERROR_MSG, name); + } + goto error; + } + } + } + } + #line 1695 "Python/generated_cases.c.h" + Py_DECREF(mod_or_class_dict); + stack_pointer[-1] = v; + DISPATCH(); + } + + TARGET(LOAD_NAME) { + PyObject *v; + #line 1236 "Python/bytecodes.c" + PyObject *mod_or_class_dict = LOCALS(); + if (mod_or_class_dict == NULL) { + _PyErr_SetString(tstate, PyExc_SystemError, + "no locals found"); + if (true) goto error; + } + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + if (PyDict_CheckExact(mod_or_class_dict)) { + v = PyDict_GetItemWithError(mod_or_class_dict, name); + if (v != NULL) { + Py_INCREF(v); + } + else if (_PyErr_Occurred(tstate)) { + goto error; + } + } + else { + v = PyObject_GetItem(mod_or_class_dict, name); + if (v == NULL) { + if (!_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { + goto error; + } + _PyErr_Clear(tstate); + } + } + if (v == NULL) { + v = PyDict_GetItemWithError(GLOBALS(), name); + if (v != NULL) { + Py_INCREF(v); + } + else if (_PyErr_Occurred(tstate)) { + goto error; + } + else { + if (PyDict_CheckExact(BUILTINS())) { + v = PyDict_GetItemWithError(BUILTINS(), name); + if (v == NULL) { + if (!_PyErr_Occurred(tstate)) { + format_exc_check_arg( + tstate, PyExc_NameError, + NAME_ERROR_MSG, name); + } + goto error; + } + Py_INCREF(v); + } + else { + v = PyObject_GetItem(BUILTINS(), name); + if (v == NULL) { + if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { + format_exc_check_arg( + tstate, PyExc_NameError, + NAME_ERROR_MSG, name); + } + goto error; + } + } + } + } + #line 1763 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = v; + DISPATCH(); + } + + TARGET(LOAD_GLOBAL) { + PREDICTED(LOAD_GLOBAL); + static_assert(INLINE_CACHE_ENTRIES_LOAD_GLOBAL == 4, "incorrect cache size"); + PyObject *null = NULL; + PyObject *v; + #line 1304 "Python/bytecodes.c" + #if ENABLE_SPECIALIZATION + _PyLoadGlobalCache *cache = (_PyLoadGlobalCache *)next_instr; + if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) { + PyObject *name = GETITEM(frame->f_code->co_names, oparg>>1); + next_instr--; + _Py_Specialize_LoadGlobal(GLOBALS(), BUILTINS(), next_instr, name); + DISPATCH_SAME_OPARG(); + } + STAT_INC(LOAD_GLOBAL, deferred); + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #endif /* ENABLE_SPECIALIZATION */ + PyObject *name = GETITEM(frame->f_code->co_names, oparg>>1); + if (PyDict_CheckExact(GLOBALS()) + && PyDict_CheckExact(BUILTINS())) + { + v = _PyDict_LoadGlobal((PyDictObject *)GLOBALS(), + (PyDictObject *)BUILTINS(), + name); + if (v == NULL) { + if (!_PyErr_Occurred(tstate)) { + /* _PyDict_LoadGlobal() returns NULL without raising + * an exception if the key doesn't exist */ + format_exc_check_arg(tstate, PyExc_NameError, + NAME_ERROR_MSG, name); + } + if (true) goto error; + } + Py_INCREF(v); + } + else { + /* Slow-path if globals or builtins is not a dict */ + + /* namespace 1: globals */ + v = PyObject_GetItem(GLOBALS(), name); + if (v == NULL) { + if (!_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) goto error; + _PyErr_Clear(tstate); + + /* namespace 2: builtins */ + v = PyObject_GetItem(BUILTINS(), name); + if (v == NULL) { + if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { + format_exc_check_arg( + tstate, PyExc_NameError, + NAME_ERROR_MSG, name); + } + if (true) goto error; + } + } + } + null = NULL; + #line 1826 "Python/generated_cases.c.h" + STACK_GROW(1); + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = v; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = null; } + next_instr += 4; + DISPATCH(); + } + + TARGET(LOAD_GLOBAL_MODULE) { + PyObject *null = NULL; + PyObject *res; + uint16_t index = read_u16(&next_instr[1].cache); + uint16_t version = read_u16(&next_instr[2].cache); + #line 1358 "Python/bytecodes.c" + DEOPT_IF(!PyDict_CheckExact(GLOBALS()), LOAD_GLOBAL); + PyDictObject *dict = (PyDictObject *)GLOBALS(); + DEOPT_IF(dict->ma_keys->dk_version != version, LOAD_GLOBAL); + assert(DK_IS_UNICODE(dict->ma_keys)); + PyDictUnicodeEntry *entries = DK_UNICODE_ENTRIES(dict->ma_keys); + res = entries[index].me_value; + DEOPT_IF(res == NULL, LOAD_GLOBAL); + Py_INCREF(res); + STAT_INC(LOAD_GLOBAL, hit); + null = NULL; + #line 1851 "Python/generated_cases.c.h" + STACK_GROW(1); + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = null; } + next_instr += 4; + DISPATCH(); + } + + TARGET(LOAD_GLOBAL_BUILTIN) { + PyObject *null = NULL; + PyObject *res; + uint16_t index = read_u16(&next_instr[1].cache); + uint16_t mod_version = read_u16(&next_instr[2].cache); + uint16_t bltn_version = read_u16(&next_instr[3].cache); + #line 1371 "Python/bytecodes.c" + DEOPT_IF(!PyDict_CheckExact(GLOBALS()), LOAD_GLOBAL); + DEOPT_IF(!PyDict_CheckExact(BUILTINS()), LOAD_GLOBAL); + PyDictObject *mdict = (PyDictObject *)GLOBALS(); + PyDictObject *bdict = (PyDictObject *)BUILTINS(); + assert(opcode == LOAD_GLOBAL_BUILTIN); + DEOPT_IF(mdict->ma_keys->dk_version != mod_version, LOAD_GLOBAL); + DEOPT_IF(bdict->ma_keys->dk_version != bltn_version, LOAD_GLOBAL); + assert(DK_IS_UNICODE(bdict->ma_keys)); + PyDictUnicodeEntry *entries = DK_UNICODE_ENTRIES(bdict->ma_keys); + res = entries[index].me_value; + DEOPT_IF(res == NULL, LOAD_GLOBAL); + Py_INCREF(res); + STAT_INC(LOAD_GLOBAL, hit); + null = NULL; + #line 1881 "Python/generated_cases.c.h" + STACK_GROW(1); + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = null; } + next_instr += 4; + DISPATCH(); + } + + TARGET(DELETE_FAST) { + #line 1388 "Python/bytecodes.c" + PyObject *v = GETLOCAL(oparg); + if (v == NULL) goto unbound_local_error; + SETLOCAL(oparg, NULL); + #line 1895 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(MAKE_CELL) { + #line 1394 "Python/bytecodes.c" + // "initial" is probably NULL but not if it's an arg (or set + // via PyFrame_LocalsToFast() before MAKE_CELL has run). + PyObject *initial = GETLOCAL(oparg); + PyObject *cell = PyCell_New(initial); + if (cell == NULL) { + goto resume_with_error; + } + SETLOCAL(oparg, cell); + #line 1909 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(DELETE_DEREF) { + #line 1405 "Python/bytecodes.c" + PyObject *cell = GETLOCAL(oparg); + PyObject *oldobj = PyCell_GET(cell); + // Can't use ERROR_IF here. + // Fortunately we don't need its superpower. + if (oldobj == NULL) { + format_exc_unbound(tstate, frame->f_code, oparg); + goto error; + } + PyCell_SET(cell, NULL); + Py_DECREF(oldobj); + #line 1925 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(LOAD_FROM_DICT_OR_DEREF) { + PyObject *class_dict = stack_pointer[-1]; + PyObject *value; + #line 1418 "Python/bytecodes.c" + PyObject *name; + assert(class_dict); + assert(oparg >= 0 && oparg < frame->f_code->co_nlocalsplus); + name = PyTuple_GET_ITEM(frame->f_code->co_localsplusnames, oparg); + if (PyDict_CheckExact(class_dict)) { + value = PyDict_GetItemWithError(class_dict, name); + if (value != NULL) { + Py_INCREF(value); + } + else if (_PyErr_Occurred(tstate)) { + goto error; + } + } + else { + value = PyObject_GetItem(class_dict, name); + if (value == NULL) { + if (!_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { + goto error; + } + _PyErr_Clear(tstate); + } + } + if (!value) { + PyObject *cell = GETLOCAL(oparg); + value = PyCell_GET(cell); + if (value == NULL) { + format_exc_unbound(tstate, frame->f_code, oparg); + goto error; + } + Py_INCREF(value); + } + Py_DECREF(class_dict); + #line 1965 "Python/generated_cases.c.h" + stack_pointer[-1] = value; + DISPATCH(); + } + + TARGET(LOAD_DEREF) { + PyObject *value; + #line 1453 "Python/bytecodes.c" + PyObject *cell = GETLOCAL(oparg); + value = PyCell_GET(cell); + if (value == NULL) { + format_exc_unbound(tstate, frame->f_code, oparg); + if (true) goto error; + } + Py_INCREF(value); + #line 1980 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = value; + DISPATCH(); + } + + TARGET(STORE_DEREF) { + PyObject *v = stack_pointer[-1]; + #line 1463 "Python/bytecodes.c" + PyObject *cell = GETLOCAL(oparg); + PyObject *oldobj = PyCell_GET(cell); + PyCell_SET(cell, v); + Py_XDECREF(oldobj); + #line 1993 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(COPY_FREE_VARS) { + #line 1470 "Python/bytecodes.c" + /* Copy closure variables to free variables */ + PyCodeObject *co = frame->f_code; + assert(PyFunction_Check(frame->f_funcobj)); + PyObject *closure = ((PyFunctionObject *)frame->f_funcobj)->func_closure; + assert(oparg == co->co_nfreevars); + int offset = co->co_nlocalsplus - oparg; + for (int i = 0; i < oparg; ++i) { + PyObject *o = PyTuple_GET_ITEM(closure, i); + frame->localsplus[offset + i] = Py_NewRef(o); + } + #line 2010 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(BUILD_STRING) { + PyObject **pieces = (stack_pointer - oparg); + PyObject *str; + #line 1483 "Python/bytecodes.c" + str = _PyUnicode_JoinArray(&_Py_STR(empty), pieces, oparg); + #line 2019 "Python/generated_cases.c.h" + for (int _i = oparg; --_i >= 0;) { + Py_DECREF(pieces[_i]); + } + #line 1485 "Python/bytecodes.c" + if (str == NULL) { STACK_SHRINK(oparg); goto error; } + #line 2025 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_GROW(1); + stack_pointer[-1] = str; + DISPATCH(); + } + + TARGET(BUILD_TUPLE) { + PyObject **values = (stack_pointer - oparg); + PyObject *tup; + #line 1489 "Python/bytecodes.c" + tup = _PyTuple_FromArraySteal(values, oparg); + if (tup == NULL) { STACK_SHRINK(oparg); goto error; } + #line 2038 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_GROW(1); + stack_pointer[-1] = tup; + DISPATCH(); + } + + TARGET(BUILD_LIST) { + PyObject **values = (stack_pointer - oparg); + PyObject *list; + #line 1494 "Python/bytecodes.c" + list = _PyList_FromArraySteal(values, oparg); + if (list == NULL) { STACK_SHRINK(oparg); goto error; } + #line 2051 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_GROW(1); + stack_pointer[-1] = list; + DISPATCH(); + } + + TARGET(LIST_EXTEND) { + PyObject *iterable = stack_pointer[-1]; + PyObject *list = stack_pointer[-(2 + (oparg-1))]; + #line 1499 "Python/bytecodes.c" + PyObject *none_val = _PyList_Extend((PyListObject *)list, iterable); + if (none_val == NULL) { + if (_PyErr_ExceptionMatches(tstate, PyExc_TypeError) && + (Py_TYPE(iterable)->tp_iter == NULL && !PySequence_Check(iterable))) + { + _PyErr_Clear(tstate); + _PyErr_Format(tstate, PyExc_TypeError, + "Value after * must be an iterable, not %.200s", + Py_TYPE(iterable)->tp_name); + } + #line 2072 "Python/generated_cases.c.h" + Py_DECREF(iterable); + #line 1510 "Python/bytecodes.c" + if (true) goto pop_1_error; + } + assert(Py_IsNone(none_val)); + #line 2078 "Python/generated_cases.c.h" + Py_DECREF(iterable); + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(SET_UPDATE) { + PyObject *iterable = stack_pointer[-1]; + PyObject *set = stack_pointer[-(2 + (oparg-1))]; + #line 1517 "Python/bytecodes.c" + int err = _PySet_Update(set, iterable); + #line 2089 "Python/generated_cases.c.h" + Py_DECREF(iterable); + #line 1519 "Python/bytecodes.c" + if (err < 0) goto pop_1_error; + #line 2093 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(BUILD_SET) { + PyObject **values = (stack_pointer - oparg); + PyObject *set; + #line 1523 "Python/bytecodes.c" + set = PySet_New(NULL); + if (set == NULL) + goto error; + int err = 0; + for (int i = 0; i < oparg; i++) { + PyObject *item = values[i]; + if (err == 0) + err = PySet_Add(set, item); + Py_DECREF(item); + } + if (err != 0) { + Py_DECREF(set); + if (true) { STACK_SHRINK(oparg); goto error; } + } + #line 2116 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_GROW(1); + stack_pointer[-1] = set; + DISPATCH(); + } + + TARGET(BUILD_MAP) { + PyObject **values = (stack_pointer - oparg*2); + PyObject *map; + #line 1540 "Python/bytecodes.c" + map = _PyDict_FromItems( + values, 2, + values+1, 2, + oparg); + #line 2131 "Python/generated_cases.c.h" + for (int _i = oparg*2; --_i >= 0;) { + Py_DECREF(values[_i]); + } + #line 1545 "Python/bytecodes.c" + if (map == NULL) { STACK_SHRINK(oparg*2); goto error; } + #line 2137 "Python/generated_cases.c.h" + STACK_SHRINK(oparg*2); + STACK_GROW(1); + stack_pointer[-1] = map; + DISPATCH(); + } + + TARGET(SETUP_ANNOTATIONS) { + #line 1549 "Python/bytecodes.c" + int err; + PyObject *ann_dict; + if (LOCALS() == NULL) { + _PyErr_Format(tstate, PyExc_SystemError, + "no locals found when setting up annotations"); + if (true) goto error; + } + /* check if __annotations__ in locals()... */ + if (PyDict_CheckExact(LOCALS())) { + ann_dict = _PyDict_GetItemWithError(LOCALS(), + &_Py_ID(__annotations__)); + if (ann_dict == NULL) { + if (_PyErr_Occurred(tstate)) goto error; + /* ...if not, create a new one */ + ann_dict = PyDict_New(); + if (ann_dict == NULL) goto error; + err = PyDict_SetItem(LOCALS(), &_Py_ID(__annotations__), + ann_dict); + Py_DECREF(ann_dict); + if (err) goto error; + } + } + else { + /* do the same if locals() is not a dict */ + ann_dict = PyObject_GetItem(LOCALS(), &_Py_ID(__annotations__)); + if (ann_dict == NULL) { + if (!_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) goto error; + _PyErr_Clear(tstate); + ann_dict = PyDict_New(); + if (ann_dict == NULL) goto error; + err = PyObject_SetItem(LOCALS(), &_Py_ID(__annotations__), + ann_dict); + Py_DECREF(ann_dict); + if (err) goto error; + } + else { + Py_DECREF(ann_dict); + } + } + #line 2185 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(BUILD_CONST_KEY_MAP) { + PyObject *keys = stack_pointer[-1]; + PyObject **values = (stack_pointer - (1 + oparg)); + PyObject *map; + #line 1591 "Python/bytecodes.c" + if (!PyTuple_CheckExact(keys) || + PyTuple_GET_SIZE(keys) != (Py_ssize_t)oparg) { + _PyErr_SetString(tstate, PyExc_SystemError, + "bad BUILD_CONST_KEY_MAP keys argument"); + goto error; // Pop the keys and values. + } + map = _PyDict_FromItems( + &PyTuple_GET_ITEM(keys, 0), 1, + values, 1, oparg); + #line 2203 "Python/generated_cases.c.h" + for (int _i = oparg; --_i >= 0;) { + Py_DECREF(values[_i]); + } + Py_DECREF(keys); + #line 1601 "Python/bytecodes.c" + if (map == NULL) { STACK_SHRINK(oparg); goto pop_1_error; } + #line 2210 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + stack_pointer[-1] = map; + DISPATCH(); + } + + TARGET(DICT_UPDATE) { + PyObject *update = stack_pointer[-1]; + #line 1605 "Python/bytecodes.c" + PyObject *dict = PEEK(oparg + 1); // update is still on the stack + if (PyDict_Update(dict, update) < 0) { + if (_PyErr_ExceptionMatches(tstate, PyExc_AttributeError)) { + _PyErr_Format(tstate, PyExc_TypeError, + "'%.200s' object is not a mapping", + Py_TYPE(update)->tp_name); + } + #line 2226 "Python/generated_cases.c.h" + Py_DECREF(update); + #line 1613 "Python/bytecodes.c" + if (true) goto pop_1_error; + } + #line 2231 "Python/generated_cases.c.h" + Py_DECREF(update); + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(DICT_MERGE) { + PyObject *update = stack_pointer[-1]; + #line 1619 "Python/bytecodes.c" + PyObject *dict = PEEK(oparg + 1); // update is still on the stack + + if (_PyDict_MergeEx(dict, update, 2) < 0) { + format_kwargs_error(tstate, PEEK(3 + oparg), update); + #line 2244 "Python/generated_cases.c.h" + Py_DECREF(update); + #line 1624 "Python/bytecodes.c" + if (true) goto pop_1_error; + } + #line 2249 "Python/generated_cases.c.h" + Py_DECREF(update); + STACK_SHRINK(1); + PREDICT(CALL_FUNCTION_EX); + DISPATCH(); + } + + TARGET(MAP_ADD) { + PyObject *value = stack_pointer[-1]; + PyObject *key = stack_pointer[-2]; + #line 1631 "Python/bytecodes.c" + PyObject *dict = PEEK(oparg + 2); // key, value are still on the stack + assert(PyDict_CheckExact(dict)); + /* dict[key] = value */ + // Do not DECREF INPUTS because the function steals the references + if (_PyDict_SetItem_Take2((PyDictObject *)dict, key, value) != 0) goto pop_2_error; + #line 2265 "Python/generated_cases.c.h" + STACK_SHRINK(2); + PREDICT(JUMP_BACKWARD); + DISPATCH(); + } + + TARGET(INSTRUMENTED_LOAD_SUPER_ATTR) { + #line 1640 "Python/bytecodes.c" + _PySuperAttrCache *cache = (_PySuperAttrCache *)next_instr; + // cancel out the decrement that will happen in LOAD_SUPER_ATTR; we + // don't want to specialize instrumented instructions + INCREMENT_ADAPTIVE_COUNTER(cache->counter); + GO_TO_INSTRUCTION(LOAD_SUPER_ATTR); + #line 2278 "Python/generated_cases.c.h" + } + + TARGET(LOAD_SUPER_ATTR) { + PREDICTED(LOAD_SUPER_ATTR); + static_assert(INLINE_CACHE_ENTRIES_LOAD_SUPER_ATTR == 1, "incorrect cache size"); + PyObject *self = stack_pointer[-1]; + PyObject *class = stack_pointer[-2]; + PyObject *global_super = stack_pointer[-3]; + PyObject *res2 = NULL; + PyObject *res; + #line 1654 "Python/bytecodes.c" + PyObject *name = GETITEM(frame->f_code->co_names, oparg >> 2); + int load_method = oparg & 1; + #if ENABLE_SPECIALIZATION + _PySuperAttrCache *cache = (_PySuperAttrCache *)next_instr; + if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) { + next_instr--; + _Py_Specialize_LoadSuperAttr(global_super, class, next_instr, load_method); + DISPATCH_SAME_OPARG(); + } + STAT_INC(LOAD_SUPER_ATTR, deferred); + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #endif /* ENABLE_SPECIALIZATION */ + + if (opcode == INSTRUMENTED_LOAD_SUPER_ATTR) { + PyObject *arg = oparg & 2 ? class : &_PyInstrumentation_MISSING; + int err = _Py_call_instrumentation_2args( + tstate, PY_MONITORING_EVENT_CALL, + frame, next_instr-1, global_super, arg); + if (err) goto pop_3_error; + } + + // we make no attempt to optimize here; specializations should + // handle any case whose performance we care about + PyObject *stack[] = {class, self}; + PyObject *super = PyObject_Vectorcall(global_super, stack, oparg & 2, NULL); + if (opcode == INSTRUMENTED_LOAD_SUPER_ATTR) { + PyObject *arg = oparg & 2 ? class : &_PyInstrumentation_MISSING; + if (super == NULL) { + _Py_call_instrumentation_exc2( + tstate, PY_MONITORING_EVENT_C_RAISE, + frame, next_instr-1, global_super, arg); + } + else { + int err = _Py_call_instrumentation_2args( + tstate, PY_MONITORING_EVENT_C_RETURN, + frame, next_instr-1, global_super, arg); + if (err < 0) { + Py_CLEAR(super); + } + } + } + #line 2331 "Python/generated_cases.c.h" + Py_DECREF(global_super); + Py_DECREF(class); + Py_DECREF(self); + #line 1696 "Python/bytecodes.c" + if (super == NULL) goto pop_3_error; + res = PyObject_GetAttr(super, name); + Py_DECREF(super); + if (res == NULL) goto pop_3_error; + #line 2340 "Python/generated_cases.c.h" + STACK_SHRINK(2); + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 1; + DISPATCH(); + } + + TARGET(LOAD_SUPER_ATTR_ATTR) { + PyObject *self = stack_pointer[-1]; + PyObject *class = stack_pointer[-2]; + PyObject *global_super = stack_pointer[-3]; + PyObject *res2 = NULL; + PyObject *res; + #line 1703 "Python/bytecodes.c" + assert(!(oparg & 1)); + DEOPT_IF(global_super != (PyObject *)&PySuper_Type, LOAD_SUPER_ATTR); + DEOPT_IF(!PyType_Check(class), LOAD_SUPER_ATTR); + STAT_INC(LOAD_SUPER_ATTR, hit); + PyObject *name = GETITEM(frame->f_code->co_names, oparg >> 2); + res = _PySuper_Lookup((PyTypeObject *)class, self, name, NULL); + #line 2362 "Python/generated_cases.c.h" + Py_DECREF(global_super); + Py_DECREF(class); + Py_DECREF(self); + #line 1710 "Python/bytecodes.c" + if (res == NULL) goto pop_3_error; + #line 2368 "Python/generated_cases.c.h" + STACK_SHRINK(2); + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 1; + DISPATCH(); + } + + TARGET(LOAD_SUPER_ATTR_METHOD) { + PyObject *self = stack_pointer[-1]; + PyObject *class = stack_pointer[-2]; + PyObject *global_super = stack_pointer[-3]; + PyObject *res2; + PyObject *res; + #line 1714 "Python/bytecodes.c" + assert(oparg & 1); + DEOPT_IF(global_super != (PyObject *)&PySuper_Type, LOAD_SUPER_ATTR); + DEOPT_IF(!PyType_Check(class), LOAD_SUPER_ATTR); + STAT_INC(LOAD_SUPER_ATTR, hit); + PyObject *name = GETITEM(frame->f_code->co_names, oparg >> 2); + PyTypeObject *cls = (PyTypeObject *)class; + int method_found = 0; + res2 = _PySuper_Lookup(cls, self, name, + Py_TYPE(self)->tp_getattro == PyObject_GenericGetAttr ? &method_found : NULL); + Py_DECREF(global_super); + Py_DECREF(class); + if (res2 == NULL) { + Py_DECREF(self); + if (true) goto pop_3_error; + } + if (method_found) { + res = self; // transfer ownership + } else { + Py_DECREF(self); + res = res2; + res2 = NULL; + } + #line 2406 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + stack_pointer[-2] = res2; + next_instr += 1; + DISPATCH(); + } + + TARGET(LOAD_ATTR) { + PREDICTED(LOAD_ATTR); + static_assert(INLINE_CACHE_ENTRIES_LOAD_ATTR == 9, "incorrect cache size"); + PyObject *owner = stack_pointer[-1]; + PyObject *res2 = NULL; + PyObject *res; + #line 1753 "Python/bytecodes.c" + #if ENABLE_SPECIALIZATION + _PyAttrCache *cache = (_PyAttrCache *)next_instr; + if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) { + PyObject *name = GETITEM(frame->f_code->co_names, oparg>>1); + next_instr--; + _Py_Specialize_LoadAttr(owner, next_instr, name); + DISPATCH_SAME_OPARG(); + } + STAT_INC(LOAD_ATTR, deferred); + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #endif /* ENABLE_SPECIALIZATION */ + PyObject *name = GETITEM(frame->f_code->co_names, oparg >> 1); + if (oparg & 1) { + /* Designed to work in tandem with CALL, pushes two values. */ + PyObject* meth = NULL; + if (_PyObject_GetMethod(owner, name, &meth)) { + /* We can bypass temporary bound method object. + meth is unbound method and obj is self. + + meth | self | arg1 | ... | argN + */ + assert(meth != NULL); // No errors on this branch + res2 = meth; + res = owner; // Transfer ownership + } + else { + /* meth is not an unbound method (but a regular attr, or + something was returned by a descriptor protocol). Set + the second element of the stack to NULL, to signal + CALL that it's not a method call. + + NULL | meth | arg1 | ... | argN + */ + #line 2454 "Python/generated_cases.c.h" + Py_DECREF(owner); + #line 1787 "Python/bytecodes.c" + if (meth == NULL) goto pop_1_error; + res2 = NULL; + res = meth; + } + } + else { + /* Classic, pushes one value. */ + res = PyObject_GetAttr(owner, name); + #line 2465 "Python/generated_cases.c.h" + Py_DECREF(owner); + #line 1796 "Python/bytecodes.c" + if (res == NULL) goto pop_1_error; + } + #line 2470 "Python/generated_cases.c.h" + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 9; + DISPATCH(); + } + + TARGET(LOAD_ATTR_INSTANCE_VALUE) { + PyObject *owner = stack_pointer[-1]; + PyObject *res2 = NULL; + PyObject *res; + uint32_t type_version = read_u32(&next_instr[1].cache); + uint16_t index = read_u16(&next_instr[3].cache); + #line 1801 "Python/bytecodes.c" + PyTypeObject *tp = Py_TYPE(owner); + assert(type_version != 0); + DEOPT_IF(tp->tp_version_tag != type_version, LOAD_ATTR); + assert(tp->tp_dictoffset < 0); + assert(tp->tp_flags & Py_TPFLAGS_MANAGED_DICT); + PyDictOrValues dorv = *_PyObject_DictOrValuesPointer(owner); + DEOPT_IF(!_PyDictOrValues_IsValues(dorv), LOAD_ATTR); + res = _PyDictOrValues_GetValues(dorv)->values[index]; + DEOPT_IF(res == NULL, LOAD_ATTR); + STAT_INC(LOAD_ATTR, hit); + Py_INCREF(res); + res2 = NULL; + #line 2497 "Python/generated_cases.c.h" + Py_DECREF(owner); + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 9; + DISPATCH(); + } + + TARGET(LOAD_ATTR_MODULE) { + PyObject *owner = stack_pointer[-1]; + PyObject *res2 = NULL; + PyObject *res; + uint32_t type_version = read_u32(&next_instr[1].cache); + uint16_t index = read_u16(&next_instr[3].cache); + #line 1817 "Python/bytecodes.c" + DEOPT_IF(!PyModule_CheckExact(owner), LOAD_ATTR); + PyDictObject *dict = (PyDictObject *)((PyModuleObject *)owner)->md_dict; + assert(dict != NULL); + DEOPT_IF(dict->ma_keys->dk_version != type_version, LOAD_ATTR); + assert(dict->ma_keys->dk_kind == DICT_KEYS_UNICODE); + assert(index < dict->ma_keys->dk_nentries); + PyDictUnicodeEntry *ep = DK_UNICODE_ENTRIES(dict->ma_keys) + index; + res = ep->me_value; + DEOPT_IF(res == NULL, LOAD_ATTR); + STAT_INC(LOAD_ATTR, hit); + Py_INCREF(res); + res2 = NULL; + #line 2525 "Python/generated_cases.c.h" + Py_DECREF(owner); + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 9; + DISPATCH(); + } + + TARGET(LOAD_ATTR_WITH_HINT) { + PyObject *owner = stack_pointer[-1]; + PyObject *res2 = NULL; + PyObject *res; + uint32_t type_version = read_u32(&next_instr[1].cache); + uint16_t index = read_u16(&next_instr[3].cache); + #line 1833 "Python/bytecodes.c" + PyTypeObject *tp = Py_TYPE(owner); + assert(type_version != 0); + DEOPT_IF(tp->tp_version_tag != type_version, LOAD_ATTR); + assert(tp->tp_flags & Py_TPFLAGS_MANAGED_DICT); + PyDictOrValues dorv = *_PyObject_DictOrValuesPointer(owner); + DEOPT_IF(_PyDictOrValues_IsValues(dorv), LOAD_ATTR); + PyDictObject *dict = (PyDictObject *)_PyDictOrValues_GetDict(dorv); + DEOPT_IF(dict == NULL, LOAD_ATTR); + assert(PyDict_CheckExact((PyObject *)dict)); + PyObject *name = GETITEM(frame->f_code->co_names, oparg>>1); + uint16_t hint = index; + DEOPT_IF(hint >= (size_t)dict->ma_keys->dk_nentries, LOAD_ATTR); + if (DK_IS_UNICODE(dict->ma_keys)) { + PyDictUnicodeEntry *ep = DK_UNICODE_ENTRIES(dict->ma_keys) + hint; + DEOPT_IF(ep->me_key != name, LOAD_ATTR); + res = ep->me_value; + } + else { + PyDictKeyEntry *ep = DK_ENTRIES(dict->ma_keys) + hint; + DEOPT_IF(ep->me_key != name, LOAD_ATTR); + res = ep->me_value; + } + DEOPT_IF(res == NULL, LOAD_ATTR); + STAT_INC(LOAD_ATTR, hit); + Py_INCREF(res); + res2 = NULL; + #line 2567 "Python/generated_cases.c.h" + Py_DECREF(owner); + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 9; + DISPATCH(); + } + + TARGET(LOAD_ATTR_SLOT) { + PyObject *owner = stack_pointer[-1]; + PyObject *res2 = NULL; + PyObject *res; + uint32_t type_version = read_u32(&next_instr[1].cache); + uint16_t index = read_u16(&next_instr[3].cache); + #line 1863 "Python/bytecodes.c" + PyTypeObject *tp = Py_TYPE(owner); + assert(type_version != 0); + DEOPT_IF(tp->tp_version_tag != type_version, LOAD_ATTR); + char *addr = (char *)owner + index; + res = *(PyObject **)addr; + DEOPT_IF(res == NULL, LOAD_ATTR); + STAT_INC(LOAD_ATTR, hit); + Py_INCREF(res); + res2 = NULL; + #line 2592 "Python/generated_cases.c.h" + Py_DECREF(owner); + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 9; + DISPATCH(); + } + + TARGET(LOAD_ATTR_CLASS) { + PyObject *cls = stack_pointer[-1]; + PyObject *res2 = NULL; + PyObject *res; + uint32_t type_version = read_u32(&next_instr[1].cache); + PyObject *descr = read_obj(&next_instr[5].cache); + #line 1876 "Python/bytecodes.c" + + DEOPT_IF(!PyType_Check(cls), LOAD_ATTR); + DEOPT_IF(((PyTypeObject *)cls)->tp_version_tag != type_version, + LOAD_ATTR); + assert(type_version != 0); + + STAT_INC(LOAD_ATTR, hit); + res2 = NULL; + res = descr; + assert(res != NULL); + Py_INCREF(res); + #line 2619 "Python/generated_cases.c.h" + Py_DECREF(cls); + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 9; + DISPATCH(); + } + + TARGET(LOAD_ATTR_PROPERTY) { + PyObject *owner = stack_pointer[-1]; + uint32_t type_version = read_u32(&next_instr[1].cache); + uint32_t func_version = read_u32(&next_instr[3].cache); + PyObject *fget = read_obj(&next_instr[5].cache); + #line 1891 "Python/bytecodes.c" + DEOPT_IF(tstate->interp->eval_frame, LOAD_ATTR); + + PyTypeObject *cls = Py_TYPE(owner); + DEOPT_IF(cls->tp_version_tag != type_version, LOAD_ATTR); + assert(type_version != 0); + assert(Py_IS_TYPE(fget, &PyFunction_Type)); + PyFunctionObject *f = (PyFunctionObject *)fget; + assert(func_version != 0); + DEOPT_IF(f->func_version != func_version, LOAD_ATTR); + PyCodeObject *code = (PyCodeObject *)f->func_code; + assert(code->co_argcount == 1); + DEOPT_IF(!_PyThreadState_HasStackSpace(tstate, code->co_framesize), LOAD_ATTR); + STAT_INC(LOAD_ATTR, hit); + Py_INCREF(fget); + _PyInterpreterFrame *new_frame = _PyFrame_PushUnchecked(tstate, f, 1); + // Manipulate stack directly because we exit with DISPATCH_INLINED(). + SET_TOP(NULL); + int shrink_stack = !(oparg & 1); + STACK_SHRINK(shrink_stack); + new_frame->localsplus[0] = owner; + JUMPBY(INLINE_CACHE_ENTRIES_LOAD_ATTR); + frame->return_offset = 0; + DISPATCH_INLINED(new_frame); + #line 2657 "Python/generated_cases.c.h" + } + + TARGET(LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN) { + PyObject *owner = stack_pointer[-1]; + uint32_t type_version = read_u32(&next_instr[1].cache); + uint32_t func_version = read_u32(&next_instr[3].cache); + PyObject *getattribute = read_obj(&next_instr[5].cache); + #line 1917 "Python/bytecodes.c" + DEOPT_IF(tstate->interp->eval_frame, LOAD_ATTR); + PyTypeObject *cls = Py_TYPE(owner); + DEOPT_IF(cls->tp_version_tag != type_version, LOAD_ATTR); + assert(type_version != 0); + assert(Py_IS_TYPE(getattribute, &PyFunction_Type)); + PyFunctionObject *f = (PyFunctionObject *)getattribute; + assert(func_version != 0); + DEOPT_IF(f->func_version != func_version, LOAD_ATTR); + PyCodeObject *code = (PyCodeObject *)f->func_code; + assert(code->co_argcount == 2); + DEOPT_IF(!_PyThreadState_HasStackSpace(tstate, code->co_framesize), LOAD_ATTR); + STAT_INC(LOAD_ATTR, hit); + + PyObject *name = GETITEM(frame->f_code->co_names, oparg >> 1); + Py_INCREF(f); + _PyInterpreterFrame *new_frame = _PyFrame_PushUnchecked(tstate, f, 2); + // Manipulate stack directly because we exit with DISPATCH_INLINED(). + SET_TOP(NULL); + int shrink_stack = !(oparg & 1); + STACK_SHRINK(shrink_stack); + new_frame->localsplus[0] = owner; + new_frame->localsplus[1] = Py_NewRef(name); + JUMPBY(INLINE_CACHE_ENTRIES_LOAD_ATTR); + frame->return_offset = 0; + DISPATCH_INLINED(new_frame); + #line 2691 "Python/generated_cases.c.h" + } + + TARGET(STORE_ATTR_INSTANCE_VALUE) { + PyObject *owner = stack_pointer[-1]; + PyObject *value = stack_pointer[-2]; + uint32_t type_version = read_u32(&next_instr[1].cache); + uint16_t index = read_u16(&next_instr[3].cache); + #line 1945 "Python/bytecodes.c" + PyTypeObject *tp = Py_TYPE(owner); + assert(type_version != 0); + DEOPT_IF(tp->tp_version_tag != type_version, STORE_ATTR); + assert(tp->tp_flags & Py_TPFLAGS_MANAGED_DICT); + PyDictOrValues dorv = *_PyObject_DictOrValuesPointer(owner); + DEOPT_IF(!_PyDictOrValues_IsValues(dorv), STORE_ATTR); + STAT_INC(STORE_ATTR, hit); + PyDictValues *values = _PyDictOrValues_GetValues(dorv); + PyObject *old_value = values->values[index]; + values->values[index] = value; + if (old_value == NULL) { + _PyDictValues_AddToInsertionOrder(values, index); + } + else { + Py_DECREF(old_value); + } + Py_DECREF(owner); + #line 2717 "Python/generated_cases.c.h" + STACK_SHRINK(2); + next_instr += 4; + DISPATCH(); + } + + TARGET(STORE_ATTR_WITH_HINT) { + PyObject *owner = stack_pointer[-1]; + PyObject *value = stack_pointer[-2]; + uint32_t type_version = read_u32(&next_instr[1].cache); + uint16_t hint = read_u16(&next_instr[3].cache); + #line 1965 "Python/bytecodes.c" + PyTypeObject *tp = Py_TYPE(owner); + assert(type_version != 0); + DEOPT_IF(tp->tp_version_tag != type_version, STORE_ATTR); + assert(tp->tp_flags & Py_TPFLAGS_MANAGED_DICT); + PyDictOrValues dorv = *_PyObject_DictOrValuesPointer(owner); + DEOPT_IF(_PyDictOrValues_IsValues(dorv), STORE_ATTR); + PyDictObject *dict = (PyDictObject *)_PyDictOrValues_GetDict(dorv); + DEOPT_IF(dict == NULL, STORE_ATTR); + assert(PyDict_CheckExact((PyObject *)dict)); + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + DEOPT_IF(hint >= (size_t)dict->ma_keys->dk_nentries, STORE_ATTR); + PyObject *old_value; + uint64_t new_version; + if (DK_IS_UNICODE(dict->ma_keys)) { + PyDictUnicodeEntry *ep = DK_UNICODE_ENTRIES(dict->ma_keys) + hint; + DEOPT_IF(ep->me_key != name, STORE_ATTR); + old_value = ep->me_value; + DEOPT_IF(old_value == NULL, STORE_ATTR); + new_version = _PyDict_NotifyEvent(tstate->interp, PyDict_EVENT_MODIFIED, dict, name, value); + ep->me_value = value; + } + else { + PyDictKeyEntry *ep = DK_ENTRIES(dict->ma_keys) + hint; + DEOPT_IF(ep->me_key != name, STORE_ATTR); + old_value = ep->me_value; + DEOPT_IF(old_value == NULL, STORE_ATTR); + new_version = _PyDict_NotifyEvent(tstate->interp, PyDict_EVENT_MODIFIED, dict, name, value); + ep->me_value = value; + } + Py_DECREF(old_value); + STAT_INC(STORE_ATTR, hit); + /* Ensure dict is GC tracked if it needs to be */ + if (!_PyObject_GC_IS_TRACKED(dict) && _PyObject_GC_MAY_BE_TRACKED(value)) { + _PyObject_GC_TRACK(dict); + } + /* PEP 509 */ + dict->ma_version_tag = new_version; + Py_DECREF(owner); + #line 2767 "Python/generated_cases.c.h" + STACK_SHRINK(2); + next_instr += 4; + DISPATCH(); + } + + TARGET(STORE_ATTR_SLOT) { + PyObject *owner = stack_pointer[-1]; + PyObject *value = stack_pointer[-2]; + uint32_t type_version = read_u32(&next_instr[1].cache); + uint16_t index = read_u16(&next_instr[3].cache); + #line 2006 "Python/bytecodes.c" + PyTypeObject *tp = Py_TYPE(owner); + assert(type_version != 0); + DEOPT_IF(tp->tp_version_tag != type_version, STORE_ATTR); + char *addr = (char *)owner + index; + STAT_INC(STORE_ATTR, hit); + PyObject *old_value = *(PyObject **)addr; + *(PyObject **)addr = value; + Py_XDECREF(old_value); + Py_DECREF(owner); + #line 2788 "Python/generated_cases.c.h" + STACK_SHRINK(2); + next_instr += 4; + DISPATCH(); + } + + TARGET(COMPARE_OP) { + PREDICTED(COMPARE_OP); + static_assert(INLINE_CACHE_ENTRIES_COMPARE_OP == 1, "incorrect cache size"); + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *res; + #line 2025 "Python/bytecodes.c" + #if ENABLE_SPECIALIZATION + _PyCompareOpCache *cache = (_PyCompareOpCache *)next_instr; + if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) { + next_instr--; + _Py_Specialize_CompareOp(left, right, next_instr, oparg); + DISPATCH_SAME_OPARG(); + } + STAT_INC(COMPARE_OP, deferred); + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #endif /* ENABLE_SPECIALIZATION */ + assert((oparg >> 4) <= Py_GE); + res = PyObject_RichCompare(left, right, oparg>>4); + #line 2813 "Python/generated_cases.c.h" + Py_DECREF(left); + Py_DECREF(right); + #line 2038 "Python/bytecodes.c" + if (res == NULL) goto pop_2_error; + #line 2818 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 1; + DISPATCH(); + } + + TARGET(COMPARE_OP_FLOAT) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *res; + #line 2042 "Python/bytecodes.c" + DEOPT_IF(!PyFloat_CheckExact(left), COMPARE_OP); + DEOPT_IF(!PyFloat_CheckExact(right), COMPARE_OP); + STAT_INC(COMPARE_OP, hit); + double dleft = PyFloat_AS_DOUBLE(left); + double dright = PyFloat_AS_DOUBLE(right); + // 1 if NaN, 2 if <, 4 if >, 8 if ==; this matches low four bits of the oparg + int sign_ish = COMPARISON_BIT(dleft, dright); + _Py_DECREF_SPECIALIZED(left, _PyFloat_ExactDealloc); + _Py_DECREF_SPECIALIZED(right, _PyFloat_ExactDealloc); + res = (sign_ish & oparg) ? Py_True : Py_False; + #line 2840 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 1; + DISPATCH(); + } + + TARGET(COMPARE_OP_INT) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *res; + #line 2056 "Python/bytecodes.c" + DEOPT_IF(!PyLong_CheckExact(left), COMPARE_OP); + DEOPT_IF(!PyLong_CheckExact(right), COMPARE_OP); + DEOPT_IF(!_PyLong_IsCompact((PyLongObject *)left), COMPARE_OP); + DEOPT_IF(!_PyLong_IsCompact((PyLongObject *)right), COMPARE_OP); + STAT_INC(COMPARE_OP, hit); + assert(_PyLong_DigitCount((PyLongObject *)left) <= 1 && + _PyLong_DigitCount((PyLongObject *)right) <= 1); + Py_ssize_t ileft = _PyLong_CompactValue((PyLongObject *)left); + Py_ssize_t iright = _PyLong_CompactValue((PyLongObject *)right); + // 2 if <, 4 if >, 8 if ==; this matches the low 4 bits of the oparg + int sign_ish = COMPARISON_BIT(ileft, iright); + _Py_DECREF_SPECIALIZED(left, (destructor)PyObject_Free); + _Py_DECREF_SPECIALIZED(right, (destructor)PyObject_Free); + res = (sign_ish & oparg) ? Py_True : Py_False; + #line 2866 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 1; + DISPATCH(); + } + + TARGET(COMPARE_OP_STR) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *res; + #line 2074 "Python/bytecodes.c" + DEOPT_IF(!PyUnicode_CheckExact(left), COMPARE_OP); + DEOPT_IF(!PyUnicode_CheckExact(right), COMPARE_OP); + STAT_INC(COMPARE_OP, hit); + int eq = _PyUnicode_Equal(left, right); + assert((oparg >>4) == Py_EQ || (oparg >>4) == Py_NE); + _Py_DECREF_SPECIALIZED(left, _PyUnicode_ExactDealloc); + _Py_DECREF_SPECIALIZED(right, _PyUnicode_ExactDealloc); + assert(eq == 0 || eq == 1); + assert((oparg & 0xf) == COMPARISON_NOT_EQUALS || (oparg & 0xf) == COMPARISON_EQUALS); + assert(COMPARISON_NOT_EQUALS + 1 == COMPARISON_EQUALS); + res = ((COMPARISON_NOT_EQUALS + eq) & oparg) ? Py_True : Py_False; + #line 2889 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 1; + DISPATCH(); + } + + TARGET(IS_OP) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *b; + #line 2088 "Python/bytecodes.c" + int res = Py_Is(left, right) ^ oparg; + #line 2902 "Python/generated_cases.c.h" + Py_DECREF(left); + Py_DECREF(right); + #line 2090 "Python/bytecodes.c" + b = res ? Py_True : Py_False; + #line 2907 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = b; + DISPATCH(); + } + + TARGET(CONTAINS_OP) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *b; + #line 2094 "Python/bytecodes.c" + int res = PySequence_Contains(right, left); + #line 2919 "Python/generated_cases.c.h" + Py_DECREF(left); + Py_DECREF(right); + #line 2096 "Python/bytecodes.c" + if (res < 0) goto pop_2_error; + b = (res ^ oparg) ? Py_True : Py_False; + #line 2925 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = b; + DISPATCH(); + } + + TARGET(CHECK_EG_MATCH) { + PyObject *match_type = stack_pointer[-1]; + PyObject *exc_value = stack_pointer[-2]; + PyObject *rest; + PyObject *match; + #line 2101 "Python/bytecodes.c" + if (check_except_star_type_valid(tstate, match_type) < 0) { + #line 2938 "Python/generated_cases.c.h" + Py_DECREF(exc_value); + Py_DECREF(match_type); + #line 2103 "Python/bytecodes.c" + if (true) goto pop_2_error; + } + + match = NULL; + rest = NULL; + int res = exception_group_match(exc_value, match_type, + &match, &rest); + #line 2949 "Python/generated_cases.c.h" + Py_DECREF(exc_value); + Py_DECREF(match_type); + #line 2111 "Python/bytecodes.c" + if (res < 0) goto pop_2_error; + + assert((match == NULL) == (rest == NULL)); + if (match == NULL) goto pop_2_error; + + if (!Py_IsNone(match)) { + PyErr_SetHandledException(match); + } + #line 2961 "Python/generated_cases.c.h" + stack_pointer[-1] = match; + stack_pointer[-2] = rest; + DISPATCH(); + } + + TARGET(CHECK_EXC_MATCH) { + PyObject *right = stack_pointer[-1]; + PyObject *left = stack_pointer[-2]; + PyObject *b; + #line 2122 "Python/bytecodes.c" + assert(PyExceptionInstance_Check(left)); + if (check_except_type_valid(tstate, right) < 0) { + #line 2974 "Python/generated_cases.c.h" + Py_DECREF(right); + #line 2125 "Python/bytecodes.c" + if (true) goto pop_1_error; + } + + int res = PyErr_GivenExceptionMatches(left, right); + #line 2981 "Python/generated_cases.c.h" + Py_DECREF(right); + #line 2130 "Python/bytecodes.c" + b = res ? Py_True : Py_False; + #line 2985 "Python/generated_cases.c.h" + stack_pointer[-1] = b; + DISPATCH(); + } + + TARGET(IMPORT_NAME) { + PyObject *fromlist = stack_pointer[-1]; + PyObject *level = stack_pointer[-2]; + PyObject *res; + #line 2134 "Python/bytecodes.c" + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + res = import_name(tstate, frame, name, fromlist, level); + #line 2997 "Python/generated_cases.c.h" + Py_DECREF(level); + Py_DECREF(fromlist); + #line 2137 "Python/bytecodes.c" + if (res == NULL) goto pop_2_error; + #line 3002 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + DISPATCH(); + } + + TARGET(IMPORT_FROM) { + PyObject *from = stack_pointer[-1]; + PyObject *res; + #line 2141 "Python/bytecodes.c" + PyObject *name = GETITEM(frame->f_code->co_names, oparg); + res = import_from(tstate, from, name); + if (res == NULL) goto error; + #line 3015 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = res; + DISPATCH(); + } + + TARGET(JUMP_FORWARD) { + #line 2147 "Python/bytecodes.c" + JUMPBY(oparg); + #line 3024 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(JUMP_BACKWARD) { + PREDICTED(JUMP_BACKWARD); + #line 2151 "Python/bytecodes.c" + assert(oparg < INSTR_OFFSET()); + JUMPBY(-oparg); + #line 3033 "Python/generated_cases.c.h" + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(POP_JUMP_IF_FALSE) { + PREDICTED(POP_JUMP_IF_FALSE); + PyObject *cond = stack_pointer[-1]; + #line 2157 "Python/bytecodes.c" + if (Py_IsFalse(cond)) { + JUMPBY(oparg); + } + else if (!Py_IsTrue(cond)) { + int err = PyObject_IsTrue(cond); + #line 3047 "Python/generated_cases.c.h" + Py_DECREF(cond); + #line 2163 "Python/bytecodes.c" + if (err == 0) { + JUMPBY(oparg); + } + else { + if (err < 0) goto pop_1_error; + } + } + #line 3057 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(POP_JUMP_IF_TRUE) { + PyObject *cond = stack_pointer[-1]; + #line 2173 "Python/bytecodes.c" + if (Py_IsTrue(cond)) { + JUMPBY(oparg); + } + else if (!Py_IsFalse(cond)) { + int err = PyObject_IsTrue(cond); + #line 3070 "Python/generated_cases.c.h" + Py_DECREF(cond); + #line 2179 "Python/bytecodes.c" + if (err > 0) { + JUMPBY(oparg); + } + else { + if (err < 0) goto pop_1_error; + } + } + #line 3080 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(POP_JUMP_IF_NOT_NONE) { + PyObject *value = stack_pointer[-1]; + #line 2189 "Python/bytecodes.c" + if (!Py_IsNone(value)) { + #line 3089 "Python/generated_cases.c.h" + Py_DECREF(value); + #line 2191 "Python/bytecodes.c" + JUMPBY(oparg); + } + #line 3094 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(POP_JUMP_IF_NONE) { + PyObject *value = stack_pointer[-1]; + #line 2196 "Python/bytecodes.c" + if (Py_IsNone(value)) { + JUMPBY(oparg); + } + else { + #line 3106 "Python/generated_cases.c.h" + Py_DECREF(value); + #line 2201 "Python/bytecodes.c" + } + #line 3110 "Python/generated_cases.c.h" + STACK_SHRINK(1); + DISPATCH(); + } + + TARGET(JUMP_BACKWARD_NO_INTERRUPT) { + #line 2205 "Python/bytecodes.c" + /* This bytecode is used in the `yield from` or `await` loop. + * If there is an interrupt, we want it handled in the innermost + * generator or coroutine, so we deliberately do not check it here. + * (see bpo-30039). + */ + JUMPBY(-oparg); + #line 3123 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(GET_LEN) { + PyObject *obj = stack_pointer[-1]; + PyObject *len_o; + #line 2214 "Python/bytecodes.c" + // PUSH(len(TOS)) + Py_ssize_t len_i = PyObject_Length(obj); + if (len_i < 0) goto error; + len_o = PyLong_FromSsize_t(len_i); + if (len_o == NULL) goto error; + #line 3136 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = len_o; + DISPATCH(); + } + + TARGET(MATCH_CLASS) { + PyObject *names = stack_pointer[-1]; + PyObject *type = stack_pointer[-2]; + PyObject *subject = stack_pointer[-3]; + PyObject *attrs; + #line 2222 "Python/bytecodes.c" + // Pop TOS and TOS1. Set TOS to a tuple of attributes on success, or + // None on failure. + assert(PyTuple_CheckExact(names)); + attrs = match_class(tstate, subject, type, oparg, names); + #line 3152 "Python/generated_cases.c.h" + Py_DECREF(subject); + Py_DECREF(type); + Py_DECREF(names); + #line 2227 "Python/bytecodes.c" + if (attrs) { + assert(PyTuple_CheckExact(attrs)); // Success! + } + else { + if (_PyErr_Occurred(tstate)) goto pop_3_error; + attrs = Py_None; // Failure! + } + #line 3164 "Python/generated_cases.c.h" + STACK_SHRINK(2); + stack_pointer[-1] = attrs; + DISPATCH(); + } + + TARGET(MATCH_MAPPING) { + PyObject *subject = stack_pointer[-1]; + PyObject *res; + #line 2237 "Python/bytecodes.c" + int match = Py_TYPE(subject)->tp_flags & Py_TPFLAGS_MAPPING; + res = match ? Py_True : Py_False; + #line 3176 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = res; + PREDICT(POP_JUMP_IF_FALSE); + DISPATCH(); + } + + TARGET(MATCH_SEQUENCE) { + PyObject *subject = stack_pointer[-1]; + PyObject *res; + #line 2243 "Python/bytecodes.c" + int match = Py_TYPE(subject)->tp_flags & Py_TPFLAGS_SEQUENCE; + res = match ? Py_True : Py_False; + #line 3189 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = res; + PREDICT(POP_JUMP_IF_FALSE); + DISPATCH(); + } + + TARGET(MATCH_KEYS) { + PyObject *keys = stack_pointer[-1]; + PyObject *subject = stack_pointer[-2]; + PyObject *values_or_none; + #line 2249 "Python/bytecodes.c" + // On successful match, PUSH(values). Otherwise, PUSH(None). + values_or_none = match_keys(tstate, subject, keys); + if (values_or_none == NULL) goto error; + #line 3204 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = values_or_none; + DISPATCH(); + } + + TARGET(GET_ITER) { + PyObject *iterable = stack_pointer[-1]; + PyObject *iter; + #line 2255 "Python/bytecodes.c" + /* before: [obj]; after [getiter(obj)] */ + iter = PyObject_GetIter(iterable); + #line 3216 "Python/generated_cases.c.h" + Py_DECREF(iterable); + #line 2258 "Python/bytecodes.c" + if (iter == NULL) goto pop_1_error; + #line 3220 "Python/generated_cases.c.h" + stack_pointer[-1] = iter; + DISPATCH(); + } + + TARGET(GET_YIELD_FROM_ITER) { + PyObject *iterable = stack_pointer[-1]; + PyObject *iter; + #line 2262 "Python/bytecodes.c" + /* before: [obj]; after [getiter(obj)] */ + if (PyCoro_CheckExact(iterable)) { + /* `iterable` is a coroutine */ + if (!(frame->f_code->co_flags & (CO_COROUTINE | CO_ITERABLE_COROUTINE))) { + /* and it is used in a 'yield from' expression of a + regular generator. */ + _PyErr_SetString(tstate, PyExc_TypeError, + "cannot 'yield from' a coroutine object " + "in a non-coroutine generator"); + goto error; + } + iter = iterable; + } + else if (PyGen_CheckExact(iterable)) { + iter = iterable; + } + else { + /* `iterable` is not a generator. */ + iter = PyObject_GetIter(iterable); + if (iter == NULL) { + goto error; + } + #line 3251 "Python/generated_cases.c.h" + Py_DECREF(iterable); + #line 2285 "Python/bytecodes.c" + } + #line 3255 "Python/generated_cases.c.h" + stack_pointer[-1] = iter; + PREDICT(LOAD_CONST); + DISPATCH(); + } + + TARGET(FOR_ITER) { + PREDICTED(FOR_ITER); + static_assert(INLINE_CACHE_ENTRIES_FOR_ITER == 1, "incorrect cache size"); + PyObject *iter = stack_pointer[-1]; + PyObject *next; + #line 2304 "Python/bytecodes.c" + #if ENABLE_SPECIALIZATION + _PyForIterCache *cache = (_PyForIterCache *)next_instr; + if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) { + next_instr--; + _Py_Specialize_ForIter(iter, next_instr, oparg); + DISPATCH_SAME_OPARG(); + } + STAT_INC(FOR_ITER, deferred); + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #endif /* ENABLE_SPECIALIZATION */ + /* before: [iter]; after: [iter, iter()] *or* [] (and jump over END_FOR.) */ + next = (*Py_TYPE(iter)->tp_iternext)(iter); + if (next == NULL) { + if (_PyErr_Occurred(tstate)) { + if (!_PyErr_ExceptionMatches(tstate, PyExc_StopIteration)) { + goto error; + } + monitor_raise(tstate, frame, next_instr-1); + _PyErr_Clear(tstate); + } + /* iterator ended normally */ + assert(next_instr[INLINE_CACHE_ENTRIES_FOR_ITER + oparg].op.code == END_FOR || + next_instr[INLINE_CACHE_ENTRIES_FOR_ITER + oparg].op.code == INSTRUMENTED_END_FOR); + Py_DECREF(iter); + STACK_SHRINK(1); + /* Jump forward oparg, then skip following END_FOR instruction */ + JUMPBY(INLINE_CACHE_ENTRIES_FOR_ITER + oparg + 1); + DISPATCH(); + } + // Common case: no jump, leave it to the code generator + #line 3297 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = next; + next_instr += 1; + DISPATCH(); + } + + TARGET(INSTRUMENTED_FOR_ITER) { + #line 2337 "Python/bytecodes.c" + _Py_CODEUNIT *here = next_instr-1; + _Py_CODEUNIT *target; + PyObject *iter = TOP(); + PyObject *next = (*Py_TYPE(iter)->tp_iternext)(iter); + if (next != NULL) { + PUSH(next); + target = next_instr + INLINE_CACHE_ENTRIES_FOR_ITER; + } + else { + if (_PyErr_Occurred(tstate)) { + if (!_PyErr_ExceptionMatches(tstate, PyExc_StopIteration)) { + goto error; + } + monitor_raise(tstate, frame, here); + _PyErr_Clear(tstate); + } + /* iterator ended normally */ + assert(next_instr[INLINE_CACHE_ENTRIES_FOR_ITER + oparg].op.code == END_FOR || + next_instr[INLINE_CACHE_ENTRIES_FOR_ITER + oparg].op.code == INSTRUMENTED_END_FOR); + STACK_SHRINK(1); + Py_DECREF(iter); + /* Skip END_FOR */ + target = next_instr + INLINE_CACHE_ENTRIES_FOR_ITER + oparg + 1; + } + INSTRUMENTED_JUMP(here, target, PY_MONITORING_EVENT_BRANCH); + #line 3331 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(FOR_ITER_LIST) { + PyObject *iter = stack_pointer[-1]; + PyObject *next; + #line 2365 "Python/bytecodes.c" + DEOPT_IF(Py_TYPE(iter) != &PyListIter_Type, FOR_ITER); + _PyListIterObject *it = (_PyListIterObject *)iter; + STAT_INC(FOR_ITER, hit); + PyListObject *seq = it->it_seq; + if (seq) { + if (it->it_index < PyList_GET_SIZE(seq)) { + next = Py_NewRef(PyList_GET_ITEM(seq, it->it_index++)); + goto end_for_iter_list; // End of this instruction + } + it->it_seq = NULL; + Py_DECREF(seq); + } + Py_DECREF(iter); + STACK_SHRINK(1); + /* Jump forward oparg, then skip following END_FOR instruction */ + JUMPBY(INLINE_CACHE_ENTRIES_FOR_ITER + oparg + 1); + DISPATCH(); + end_for_iter_list: + // Common case: no jump, leave it to the code generator + #line 3358 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = next; + next_instr += 1; + DISPATCH(); + } + + TARGET(FOR_ITER_TUPLE) { + PyObject *iter = stack_pointer[-1]; + PyObject *next; + #line 2387 "Python/bytecodes.c" + _PyTupleIterObject *it = (_PyTupleIterObject *)iter; + DEOPT_IF(Py_TYPE(it) != &PyTupleIter_Type, FOR_ITER); + STAT_INC(FOR_ITER, hit); + PyTupleObject *seq = it->it_seq; + if (seq) { + if (it->it_index < PyTuple_GET_SIZE(seq)) { + next = Py_NewRef(PyTuple_GET_ITEM(seq, it->it_index++)); + goto end_for_iter_tuple; // End of this instruction + } + it->it_seq = NULL; + Py_DECREF(seq); + } + Py_DECREF(iter); + STACK_SHRINK(1); + /* Jump forward oparg, then skip following END_FOR instruction */ + JUMPBY(INLINE_CACHE_ENTRIES_FOR_ITER + oparg + 1); + DISPATCH(); + end_for_iter_tuple: + // Common case: no jump, leave it to the code generator + #line 3388 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = next; + next_instr += 1; + DISPATCH(); + } + + TARGET(FOR_ITER_RANGE) { + PyObject *iter = stack_pointer[-1]; + PyObject *next; + #line 2409 "Python/bytecodes.c" + _PyRangeIterObject *r = (_PyRangeIterObject *)iter; + DEOPT_IF(Py_TYPE(r) != &PyRangeIter_Type, FOR_ITER); + STAT_INC(FOR_ITER, hit); + if (r->len <= 0) { + STACK_SHRINK(1); + Py_DECREF(r); + // Jump over END_FOR instruction. + JUMPBY(INLINE_CACHE_ENTRIES_FOR_ITER + oparg + 1); + DISPATCH(); + } + long value = r->start; + r->start = value + r->step; + r->len--; + next = PyLong_FromLong(value); + if (next == NULL) { + goto error; + } + #line 3416 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = next; + next_instr += 1; + DISPATCH(); + } + + TARGET(FOR_ITER_GEN) { + PyObject *iter = stack_pointer[-1]; + #line 2429 "Python/bytecodes.c" + DEOPT_IF(tstate->interp->eval_frame, FOR_ITER); + PyGenObject *gen = (PyGenObject *)iter; + DEOPT_IF(Py_TYPE(gen) != &PyGen_Type, FOR_ITER); + DEOPT_IF(gen->gi_frame_state >= FRAME_EXECUTING, FOR_ITER); + STAT_INC(FOR_ITER, hit); + _PyInterpreterFrame *gen_frame = (_PyInterpreterFrame *)gen->gi_iframe; + frame->return_offset = oparg; + _PyFrame_StackPush(gen_frame, Py_None); + gen->gi_frame_state = FRAME_EXECUTING; + gen->gi_exc_state.previous_item = tstate->exc_info; + tstate->exc_info = &gen->gi_exc_state; + JUMPBY(INLINE_CACHE_ENTRIES_FOR_ITER); + assert(next_instr[oparg].op.code == END_FOR || + next_instr[oparg].op.code == INSTRUMENTED_END_FOR); + DISPATCH_INLINED(gen_frame); + #line 3441 "Python/generated_cases.c.h" + } + + TARGET(BEFORE_ASYNC_WITH) { + PyObject *mgr = stack_pointer[-1]; + PyObject *exit; + PyObject *res; + #line 2447 "Python/bytecodes.c" + PyObject *enter = _PyObject_LookupSpecial(mgr, &_Py_ID(__aenter__)); + if (enter == NULL) { + if (!_PyErr_Occurred(tstate)) { + _PyErr_Format(tstate, PyExc_TypeError, + "'%.200s' object does not support the " + "asynchronous context manager protocol", + Py_TYPE(mgr)->tp_name); + } + goto error; + } + exit = _PyObject_LookupSpecial(mgr, &_Py_ID(__aexit__)); + if (exit == NULL) { + if (!_PyErr_Occurred(tstate)) { + _PyErr_Format(tstate, PyExc_TypeError, + "'%.200s' object does not support the " + "asynchronous context manager protocol " + "(missed __aexit__ method)", + Py_TYPE(mgr)->tp_name); + } + Py_DECREF(enter); + goto error; + } + #line 3471 "Python/generated_cases.c.h" + Py_DECREF(mgr); + #line 2470 "Python/bytecodes.c" + res = _PyObject_CallNoArgs(enter); + Py_DECREF(enter); + if (res == NULL) { + Py_DECREF(exit); + if (true) goto pop_1_error; + } + #line 3480 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = res; + stack_pointer[-2] = exit; + PREDICT(GET_AWAITABLE); + DISPATCH(); + } + + TARGET(BEFORE_WITH) { + PyObject *mgr = stack_pointer[-1]; + PyObject *exit; + PyObject *res; + #line 2480 "Python/bytecodes.c" + /* pop the context manager, push its __exit__ and the + * value returned from calling its __enter__ + */ + PyObject *enter = _PyObject_LookupSpecial(mgr, &_Py_ID(__enter__)); + if (enter == NULL) { + if (!_PyErr_Occurred(tstate)) { + _PyErr_Format(tstate, PyExc_TypeError, + "'%.200s' object does not support the " + "context manager protocol", + Py_TYPE(mgr)->tp_name); + } + goto error; + } + exit = _PyObject_LookupSpecial(mgr, &_Py_ID(__exit__)); + if (exit == NULL) { + if (!_PyErr_Occurred(tstate)) { + _PyErr_Format(tstate, PyExc_TypeError, + "'%.200s' object does not support the " + "context manager protocol " + "(missed __exit__ method)", + Py_TYPE(mgr)->tp_name); + } + Py_DECREF(enter); + goto error; + } + #line 3518 "Python/generated_cases.c.h" + Py_DECREF(mgr); + #line 2506 "Python/bytecodes.c" + res = _PyObject_CallNoArgs(enter); + Py_DECREF(enter); + if (res == NULL) { + Py_DECREF(exit); + if (true) goto pop_1_error; + } + #line 3527 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = res; + stack_pointer[-2] = exit; + DISPATCH(); + } + + TARGET(WITH_EXCEPT_START) { + PyObject *val = stack_pointer[-1]; + PyObject *lasti = stack_pointer[-3]; + PyObject *exit_func = stack_pointer[-4]; + PyObject *res; + #line 2515 "Python/bytecodes.c" + /* At the top of the stack are 4 values: + - val: TOP = exc_info() + - unused: SECOND = previous exception + - lasti: THIRD = lasti of exception in exc_info() + - exit_func: FOURTH = the context.__exit__ bound method + We call FOURTH(type(TOP), TOP, GetTraceback(TOP)). + Then we push the __exit__ return value. + */ + PyObject *exc, *tb; + + assert(val && PyExceptionInstance_Check(val)); + exc = PyExceptionInstance_Class(val); + tb = PyException_GetTraceback(val); + if (tb == NULL) { + tb = Py_None; + } + else { + Py_DECREF(tb); + } + assert(PyLong_Check(lasti)); + (void)lasti; // Shut up compiler warning if asserts are off + PyObject *stack[4] = {NULL, exc, val, tb}; + res = PyObject_Vectorcall(exit_func, stack + 1, + 3 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); + if (res == NULL) goto error; + #line 3565 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = res; + DISPATCH(); + } + + TARGET(PUSH_EXC_INFO) { + PyObject *new_exc = stack_pointer[-1]; + PyObject *prev_exc; + #line 2543 "Python/bytecodes.c" + _PyErr_StackItem *exc_info = tstate->exc_info; + if (exc_info->exc_value != NULL) { + prev_exc = exc_info->exc_value; + } + else { + prev_exc = Py_None; + } + assert(PyExceptionInstance_Check(new_exc)); + exc_info->exc_value = Py_NewRef(new_exc); + #line 3584 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = new_exc; + stack_pointer[-2] = prev_exc; + DISPATCH(); + } + + TARGET(LOAD_ATTR_METHOD_WITH_VALUES) { + PyObject *self = stack_pointer[-1]; + PyObject *res2 = NULL; + PyObject *res; + uint32_t type_version = read_u32(&next_instr[1].cache); + uint32_t keys_version = read_u32(&next_instr[3].cache); + PyObject *descr = read_obj(&next_instr[5].cache); + #line 2555 "Python/bytecodes.c" + /* Cached method object */ + PyTypeObject *self_cls = Py_TYPE(self); + assert(type_version != 0); + DEOPT_IF(self_cls->tp_version_tag != type_version, LOAD_ATTR); + assert(self_cls->tp_flags & Py_TPFLAGS_MANAGED_DICT); + PyDictOrValues dorv = *_PyObject_DictOrValuesPointer(self); + DEOPT_IF(!_PyDictOrValues_IsValues(dorv), LOAD_ATTR); + PyHeapTypeObject *self_heap_type = (PyHeapTypeObject *)self_cls; + DEOPT_IF(self_heap_type->ht_cached_keys->dk_version != + keys_version, LOAD_ATTR); + STAT_INC(LOAD_ATTR, hit); + assert(descr != NULL); + res2 = Py_NewRef(descr); + assert(_PyType_HasFeature(Py_TYPE(res2), Py_TPFLAGS_METHOD_DESCRIPTOR)); + res = self; + assert(oparg & 1); + #line 3615 "Python/generated_cases.c.h" + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 9; + DISPATCH(); + } + + TARGET(LOAD_ATTR_METHOD_NO_DICT) { + PyObject *self = stack_pointer[-1]; + PyObject *res2 = NULL; + PyObject *res; + uint32_t type_version = read_u32(&next_instr[1].cache); + PyObject *descr = read_obj(&next_instr[5].cache); + #line 2574 "Python/bytecodes.c" + PyTypeObject *self_cls = Py_TYPE(self); + DEOPT_IF(self_cls->tp_version_tag != type_version, LOAD_ATTR); + assert(self_cls->tp_dictoffset == 0); + STAT_INC(LOAD_ATTR, hit); + assert(descr != NULL); + assert(_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR)); + res2 = Py_NewRef(descr); + res = self; + assert(oparg & 1); + #line 3639 "Python/generated_cases.c.h" + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 9; + DISPATCH(); + } + + TARGET(LOAD_ATTR_METHOD_LAZY_DICT) { + PyObject *self = stack_pointer[-1]; + PyObject *res2 = NULL; + PyObject *res; + uint32_t type_version = read_u32(&next_instr[1].cache); + PyObject *descr = read_obj(&next_instr[5].cache); + #line 2586 "Python/bytecodes.c" + PyTypeObject *self_cls = Py_TYPE(self); + DEOPT_IF(self_cls->tp_version_tag != type_version, LOAD_ATTR); + Py_ssize_t dictoffset = self_cls->tp_dictoffset; + assert(dictoffset > 0); + PyObject *dict = *(PyObject **)((char *)self + dictoffset); + /* This object has a __dict__, just not yet created */ + DEOPT_IF(dict != NULL, LOAD_ATTR); + STAT_INC(LOAD_ATTR, hit); + assert(descr != NULL); + assert(_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR)); + res2 = Py_NewRef(descr); + res = self; + assert(oparg & 1); + #line 3667 "Python/generated_cases.c.h" + STACK_GROW(((oparg & 1) ? 1 : 0)); + stack_pointer[-1] = res; + if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; } + next_instr += 9; + DISPATCH(); + } + + TARGET(KW_NAMES) { + #line 2602 "Python/bytecodes.c" + assert(kwnames == NULL); + assert(oparg < PyTuple_GET_SIZE(frame->f_code->co_consts)); + kwnames = GETITEM(frame->f_code->co_consts, oparg); + #line 3680 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(INSTRUMENTED_CALL) { + #line 2608 "Python/bytecodes.c" + int is_meth = PEEK(oparg+2) != NULL; + int total_args = oparg + is_meth; + PyObject *function = PEEK(total_args + 1); + PyObject *arg = total_args == 0 ? + &_PyInstrumentation_MISSING : PEEK(total_args); + int err = _Py_call_instrumentation_2args( + tstate, PY_MONITORING_EVENT_CALL, + frame, next_instr-1, function, arg); + if (err) goto error; + _PyCallCache *cache = (_PyCallCache *)next_instr; + INCREMENT_ADAPTIVE_COUNTER(cache->counter); + GO_TO_INSTRUCTION(CALL); + #line 3698 "Python/generated_cases.c.h" + } + + TARGET(CALL) { + PREDICTED(CALL); + static_assert(INLINE_CACHE_ENTRIES_CALL == 3, "incorrect cache size"); + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 2653 "Python/bytecodes.c" + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + callable = method; + args--; + total_args++; + } + #if ENABLE_SPECIALIZATION + _PyCallCache *cache = (_PyCallCache *)next_instr; + if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) { + next_instr--; + _Py_Specialize_Call(callable, next_instr, total_args, kwnames); + DISPATCH_SAME_OPARG(); + } + STAT_INC(CALL, deferred); + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #endif /* ENABLE_SPECIALIZATION */ + if (!is_meth && Py_TYPE(callable) == &PyMethod_Type) { + is_meth = 1; // For consistenct; it's dead, though + args--; + total_args++; + PyObject *self = ((PyMethodObject *)callable)->im_self; + args[0] = Py_NewRef(self); + method = ((PyMethodObject *)callable)->im_func; + args[-1] = Py_NewRef(method); + Py_DECREF(callable); + callable = method; + } + int positional_args = total_args - KWNAMES_LEN(); + // Check if the call can be inlined or not + if (Py_TYPE(callable) == &PyFunction_Type && + tstate->interp->eval_frame == NULL && + ((PyFunctionObject *)callable)->vectorcall == _PyFunction_Vectorcall) + { + int code_flags = ((PyCodeObject*)PyFunction_GET_CODE(callable))->co_flags; + PyObject *locals = code_flags & CO_OPTIMIZED ? NULL : Py_NewRef(PyFunction_GET_GLOBALS(callable)); + _PyInterpreterFrame *new_frame = _PyEvalFramePushAndInit( + tstate, (PyFunctionObject *)callable, locals, + args, positional_args, kwnames + ); + kwnames = NULL; + // Manipulate stack directly since we leave using DISPATCH_INLINED(). + STACK_SHRINK(oparg + 2); + // The frame has stolen all the arguments from the stack, + // so there is no need to clean them up. + if (new_frame == NULL) { + goto error; + } + JUMPBY(INLINE_CACHE_ENTRIES_CALL); + frame->return_offset = 0; + DISPATCH_INLINED(new_frame); + } + /* Callable is not a normal Python function */ + res = PyObject_Vectorcall( + callable, args, + positional_args | PY_VECTORCALL_ARGUMENTS_OFFSET, + kwnames); + if (opcode == INSTRUMENTED_CALL) { + PyObject *arg = total_args == 0 ? + &_PyInstrumentation_MISSING : PEEK(total_args); + if (res == NULL) { + _Py_call_instrumentation_exc2( + tstate, PY_MONITORING_EVENT_C_RAISE, + frame, next_instr-1, callable, arg); + } + else { + int err = _Py_call_instrumentation_2args( + tstate, PY_MONITORING_EVENT_C_RETURN, + frame, next_instr-1, callable, arg); + if (err < 0) { + Py_CLEAR(res); + } + } + } + kwnames = NULL; + assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); + Py_DECREF(callable); + for (int i = 0; i < total_args; i++) { + Py_DECREF(args[i]); + } + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 3790 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(CALL_BOUND_METHOD_EXACT_ARGS) { + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + #line 2741 "Python/bytecodes.c" + DEOPT_IF(method != NULL, CALL); + DEOPT_IF(Py_TYPE(callable) != &PyMethod_Type, CALL); + STAT_INC(CALL, hit); + PyObject *self = ((PyMethodObject *)callable)->im_self; + PEEK(oparg + 1) = Py_NewRef(self); // callable + PyObject *meth = ((PyMethodObject *)callable)->im_func; + PEEK(oparg + 2) = Py_NewRef(meth); // method + Py_DECREF(callable); + GO_TO_INSTRUCTION(CALL_PY_EXACT_ARGS); + #line 3812 "Python/generated_cases.c.h" + } + + TARGET(CALL_PY_EXACT_ARGS) { + PREDICTED(CALL_PY_EXACT_ARGS); + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + uint32_t func_version = read_u32(&next_instr[1].cache); + #line 2753 "Python/bytecodes.c" + assert(kwnames == NULL); + DEOPT_IF(tstate->interp->eval_frame, CALL); + int is_meth = method != NULL; + int argcount = oparg; + if (is_meth) { + callable = method; + args--; + argcount++; + } + DEOPT_IF(!PyFunction_Check(callable), CALL); + PyFunctionObject *func = (PyFunctionObject *)callable; + DEOPT_IF(func->func_version != func_version, CALL); + PyCodeObject *code = (PyCodeObject *)func->func_code; + DEOPT_IF(code->co_argcount != argcount, CALL); + DEOPT_IF(!_PyThreadState_HasStackSpace(tstate, code->co_framesize), CALL); + STAT_INC(CALL, hit); + _PyInterpreterFrame *new_frame = _PyFrame_PushUnchecked(tstate, func, argcount); + for (int i = 0; i < argcount; i++) { + new_frame->localsplus[i] = args[i]; + } + // Manipulate stack directly since we leave using DISPATCH_INLINED(). + STACK_SHRINK(oparg + 2); + JUMPBY(INLINE_CACHE_ENTRIES_CALL); + frame->return_offset = 0; + DISPATCH_INLINED(new_frame); + #line 3847 "Python/generated_cases.c.h" + } + + TARGET(CALL_PY_WITH_DEFAULTS) { + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + uint32_t func_version = read_u32(&next_instr[1].cache); + #line 2781 "Python/bytecodes.c" + assert(kwnames == NULL); + DEOPT_IF(tstate->interp->eval_frame, CALL); + int is_meth = method != NULL; + int argcount = oparg; + if (is_meth) { + callable = method; + args--; + argcount++; + } + DEOPT_IF(!PyFunction_Check(callable), CALL); + PyFunctionObject *func = (PyFunctionObject *)callable; + DEOPT_IF(func->func_version != func_version, CALL); + PyCodeObject *code = (PyCodeObject *)func->func_code; + assert(func->func_defaults); + assert(PyTuple_CheckExact(func->func_defaults)); + int defcount = (int)PyTuple_GET_SIZE(func->func_defaults); + assert(defcount <= code->co_argcount); + int min_args = code->co_argcount - defcount; + DEOPT_IF(argcount > code->co_argcount, CALL); + DEOPT_IF(argcount < min_args, CALL); + DEOPT_IF(!_PyThreadState_HasStackSpace(tstate, code->co_framesize), CALL); + STAT_INC(CALL, hit); + _PyInterpreterFrame *new_frame = _PyFrame_PushUnchecked(tstate, func, code->co_argcount); + for (int i = 0; i < argcount; i++) { + new_frame->localsplus[i] = args[i]; + } + for (int i = argcount; i < code->co_argcount; i++) { + PyObject *def = PyTuple_GET_ITEM(func->func_defaults, i - min_args); + new_frame->localsplus[i] = Py_NewRef(def); + } + // Manipulate stack and cache directly since we leave using DISPATCH_INLINED(). + STACK_SHRINK(oparg + 2); + JUMPBY(INLINE_CACHE_ENTRIES_CALL); + frame->return_offset = 0; + DISPATCH_INLINED(new_frame); + #line 3891 "Python/generated_cases.c.h" + } + + TARGET(CALL_NO_KW_TYPE_1) { + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *null = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 2819 "Python/bytecodes.c" + assert(kwnames == NULL); + assert(oparg == 1); + DEOPT_IF(null != NULL, CALL); + PyObject *obj = args[0]; + DEOPT_IF(callable != (PyObject *)&PyType_Type, CALL); + STAT_INC(CALL, hit); + res = Py_NewRef(Py_TYPE(obj)); + Py_DECREF(obj); + Py_DECREF(&PyType_Type); // I.e., callable + #line 3909 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + DISPATCH(); + } + + TARGET(CALL_NO_KW_STR_1) { + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *null = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 2831 "Python/bytecodes.c" + assert(kwnames == NULL); + assert(oparg == 1); + DEOPT_IF(null != NULL, CALL); + DEOPT_IF(callable != (PyObject *)&PyUnicode_Type, CALL); + STAT_INC(CALL, hit); + PyObject *arg = args[0]; + res = PyObject_Str(arg); + Py_DECREF(arg); + Py_DECREF(&PyUnicode_Type); // I.e., callable + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 3933 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(CALL_NO_KW_TUPLE_1) { + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *null = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 2845 "Python/bytecodes.c" + assert(kwnames == NULL); + assert(oparg == 1); + DEOPT_IF(null != NULL, CALL); + DEOPT_IF(callable != (PyObject *)&PyTuple_Type, CALL); + STAT_INC(CALL, hit); + PyObject *arg = args[0]; + res = PySequence_Tuple(arg); + Py_DECREF(arg); + Py_DECREF(&PyTuple_Type); // I.e., tuple + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 3958 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(CALL_BUILTIN_CLASS) { + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 2859 "Python/bytecodes.c" + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + callable = method; + args--; + total_args++; + } + int kwnames_len = KWNAMES_LEN(); + DEOPT_IF(!PyType_Check(callable), CALL); + PyTypeObject *tp = (PyTypeObject *)callable; + DEOPT_IF(tp->tp_vectorcall == NULL, CALL); + STAT_INC(CALL, hit); + res = tp->tp_vectorcall((PyObject *)tp, args, + total_args - kwnames_len, kwnames); + kwnames = NULL; + /* Free the arguments. */ + for (int i = 0; i < total_args; i++) { + Py_DECREF(args[i]); + } + Py_DECREF(tp); + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 3994 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(CALL_NO_KW_BUILTIN_O) { + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 2884 "Python/bytecodes.c" + /* Builtin METH_O functions */ + assert(kwnames == NULL); + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + callable = method; + args--; + total_args++; + } + DEOPT_IF(total_args != 1, CALL); + DEOPT_IF(!PyCFunction_CheckExact(callable), CALL); + DEOPT_IF(PyCFunction_GET_FLAGS(callable) != METH_O, CALL); + STAT_INC(CALL, hit); + PyCFunction cfunc = PyCFunction_GET_FUNCTION(callable); + // This is slower but CPython promises to check all non-vectorcall + // function calls. + if (_Py_EnterRecursiveCallTstate(tstate, " while calling a Python object")) { + goto error; + } + PyObject *arg = args[0]; + res = _PyCFunction_TrampolineCall(cfunc, PyCFunction_GET_SELF(callable), arg); + _Py_LeaveRecursiveCallTstate(tstate); + assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); + + Py_DECREF(arg); + Py_DECREF(callable); + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 4036 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(CALL_NO_KW_BUILTIN_FAST) { + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 2915 "Python/bytecodes.c" + /* Builtin METH_FASTCALL functions, without keywords */ + assert(kwnames == NULL); + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + callable = method; + args--; + total_args++; + } + DEOPT_IF(!PyCFunction_CheckExact(callable), CALL); + DEOPT_IF(PyCFunction_GET_FLAGS(callable) != METH_FASTCALL, CALL); + STAT_INC(CALL, hit); + PyCFunction cfunc = PyCFunction_GET_FUNCTION(callable); + /* res = func(self, args, nargs) */ + res = ((_PyCFunctionFast)(void(*)(void))cfunc)( + PyCFunction_GET_SELF(callable), + args, + total_args); + assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); + + /* Free the arguments. */ + for (int i = 0; i < total_args; i++) { + Py_DECREF(args[i]); + } + Py_DECREF(callable); + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + /* Not deopting because this doesn't mean our optimization was + wrong. `res` can be NULL for valid reasons. Eg. getattr(x, + 'invalid'). In those cases an exception is set, so we must + handle it. + */ + #line 4082 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(CALL_BUILTIN_FAST_WITH_KEYWORDS) { + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 2950 "Python/bytecodes.c" + /* Builtin METH_FASTCALL | METH_KEYWORDS functions */ + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + callable = method; + args--; + total_args++; + } + DEOPT_IF(!PyCFunction_CheckExact(callable), CALL); + DEOPT_IF(PyCFunction_GET_FLAGS(callable) != + (METH_FASTCALL | METH_KEYWORDS), CALL); + STAT_INC(CALL, hit); + /* res = func(self, args, nargs, kwnames) */ + _PyCFunctionFastWithKeywords cfunc = + (_PyCFunctionFastWithKeywords)(void(*)(void)) + PyCFunction_GET_FUNCTION(callable); + res = cfunc( + PyCFunction_GET_SELF(callable), + args, + total_args - KWNAMES_LEN(), + kwnames + ); + assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); + kwnames = NULL; + + /* Free the arguments. */ + for (int i = 0; i < total_args; i++) { + Py_DECREF(args[i]); + } + Py_DECREF(callable); + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 4128 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(CALL_NO_KW_LEN) { + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 2985 "Python/bytecodes.c" + assert(kwnames == NULL); + /* len(o) */ + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + callable = method; + args--; + total_args++; + } + DEOPT_IF(total_args != 1, CALL); + PyInterpreterState *interp = _PyInterpreterState_GET(); + DEOPT_IF(callable != interp->callable_cache.len, CALL); + STAT_INC(CALL, hit); + PyObject *arg = args[0]; + Py_ssize_t len_i = PyObject_Length(arg); + if (len_i < 0) { + goto error; + } + res = PyLong_FromSsize_t(len_i); + assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); + + Py_DECREF(callable); + Py_DECREF(arg); + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 4167 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + DISPATCH(); + } + + TARGET(CALL_NO_KW_ISINSTANCE) { + PyObject **args = (stack_pointer - oparg); + PyObject *callable = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 3012 "Python/bytecodes.c" + assert(kwnames == NULL); + /* isinstance(o, o2) */ + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + callable = method; + args--; + total_args++; + } + DEOPT_IF(total_args != 2, CALL); + PyInterpreterState *interp = _PyInterpreterState_GET(); + DEOPT_IF(callable != interp->callable_cache.isinstance, CALL); + STAT_INC(CALL, hit); + PyObject *cls = args[1]; + PyObject *inst = args[0]; + int retval = PyObject_IsInstance(inst, cls); + if (retval < 0) { + goto error; + } + res = PyBool_FromLong(retval); + assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); + + Py_DECREF(inst); + Py_DECREF(cls); + Py_DECREF(callable); + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 4207 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + DISPATCH(); + } + + TARGET(CALL_NO_KW_LIST_APPEND) { + PyObject **args = (stack_pointer - oparg); + PyObject *self = stack_pointer[-(1 + oparg)]; + PyObject *method = stack_pointer[-(2 + oparg)]; + #line 3042 "Python/bytecodes.c" + assert(kwnames == NULL); + assert(oparg == 1); + PyInterpreterState *interp = _PyInterpreterState_GET(); + DEOPT_IF(method != interp->callable_cache.list_append, CALL); + assert(self != NULL); + DEOPT_IF(!PyList_Check(self), CALL); + STAT_INC(CALL, hit); + if (_PyList_AppendTakeRef((PyListObject *)self, args[0]) < 0) { + goto pop_1_error; // Since arg is DECREF'ed already + } + Py_DECREF(self); + Py_DECREF(method); + STACK_SHRINK(3); + // CALL + POP_TOP + JUMPBY(INLINE_CACHE_ENTRIES_CALL + 1); + assert(next_instr[-1].op.code == POP_TOP); + DISPATCH(); + #line 4237 "Python/generated_cases.c.h" + } + + TARGET(CALL_NO_KW_METHOD_DESCRIPTOR_O) { + PyObject **args = (stack_pointer - oparg); + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 3062 "Python/bytecodes.c" + assert(kwnames == NULL); + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + args--; + total_args++; + } + PyMethodDescrObject *callable = + (PyMethodDescrObject *)PEEK(total_args + 1); + DEOPT_IF(total_args != 2, CALL); + DEOPT_IF(!Py_IS_TYPE(callable, &PyMethodDescr_Type), CALL); + PyMethodDef *meth = callable->d_method; + DEOPT_IF(meth->ml_flags != METH_O, CALL); + PyObject *arg = args[1]; + PyObject *self = args[0]; + DEOPT_IF(!Py_IS_TYPE(self, callable->d_common.d_type), CALL); + STAT_INC(CALL, hit); + PyCFunction cfunc = meth->ml_meth; + // This is slower but CPython promises to check all non-vectorcall + // function calls. + if (_Py_EnterRecursiveCallTstate(tstate, " while calling a Python object")) { + goto error; + } + res = _PyCFunction_TrampolineCall(cfunc, self, arg); + _Py_LeaveRecursiveCallTstate(tstate); + assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); + Py_DECREF(self); + Py_DECREF(arg); + Py_DECREF(callable); + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 4275 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS) { + PyObject **args = (stack_pointer - oparg); + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 3096 "Python/bytecodes.c" + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + args--; + total_args++; + } + PyMethodDescrObject *callable = + (PyMethodDescrObject *)PEEK(total_args + 1); + DEOPT_IF(!Py_IS_TYPE(callable, &PyMethodDescr_Type), CALL); + PyMethodDef *meth = callable->d_method; + DEOPT_IF(meth->ml_flags != (METH_FASTCALL|METH_KEYWORDS), CALL); + PyTypeObject *d_type = callable->d_common.d_type; + PyObject *self = args[0]; + DEOPT_IF(!Py_IS_TYPE(self, d_type), CALL); + STAT_INC(CALL, hit); + int nargs = total_args - 1; + _PyCFunctionFastWithKeywords cfunc = + (_PyCFunctionFastWithKeywords)(void(*)(void))meth->ml_meth; + res = cfunc(self, args + 1, nargs - KWNAMES_LEN(), kwnames); + assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); + kwnames = NULL; + + /* Free the arguments. */ + for (int i = 0; i < total_args; i++) { + Py_DECREF(args[i]); + } + Py_DECREF(callable); + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 4317 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS) { + PyObject **args = (stack_pointer - oparg); + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 3128 "Python/bytecodes.c" + assert(kwnames == NULL); + assert(oparg == 0 || oparg == 1); + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + args--; + total_args++; + } + DEOPT_IF(total_args != 1, CALL); + PyMethodDescrObject *callable = (PyMethodDescrObject *)SECOND(); + DEOPT_IF(!Py_IS_TYPE(callable, &PyMethodDescr_Type), CALL); + PyMethodDef *meth = callable->d_method; + PyObject *self = args[0]; + DEOPT_IF(!Py_IS_TYPE(self, callable->d_common.d_type), CALL); + DEOPT_IF(meth->ml_flags != METH_NOARGS, CALL); + STAT_INC(CALL, hit); + PyCFunction cfunc = meth->ml_meth; + // This is slower but CPython promises to check all non-vectorcall + // function calls. + if (_Py_EnterRecursiveCallTstate(tstate, " while calling a Python object")) { + goto error; + } + res = _PyCFunction_TrampolineCall(cfunc, self, NULL); + _Py_LeaveRecursiveCallTstate(tstate); + assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); + Py_DECREF(self); + Py_DECREF(callable); + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 4359 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(CALL_NO_KW_METHOD_DESCRIPTOR_FAST) { + PyObject **args = (stack_pointer - oparg); + PyObject *method = stack_pointer[-(2 + oparg)]; + PyObject *res; + #line 3160 "Python/bytecodes.c" + assert(kwnames == NULL); + int is_meth = method != NULL; + int total_args = oparg; + if (is_meth) { + args--; + total_args++; + } + PyMethodDescrObject *callable = + (PyMethodDescrObject *)PEEK(total_args + 1); + /* Builtin METH_FASTCALL methods, without keywords */ + DEOPT_IF(!Py_IS_TYPE(callable, &PyMethodDescr_Type), CALL); + PyMethodDef *meth = callable->d_method; + DEOPT_IF(meth->ml_flags != METH_FASTCALL, CALL); + PyObject *self = args[0]; + DEOPT_IF(!Py_IS_TYPE(self, callable->d_common.d_type), CALL); + STAT_INC(CALL, hit); + _PyCFunctionFast cfunc = + (_PyCFunctionFast)(void(*)(void))meth->ml_meth; + int nargs = total_args - 1; + res = cfunc(self, args + 1, nargs); + assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL)); + /* Clear the stack of the arguments. */ + for (int i = 0; i < total_args; i++) { + Py_DECREF(args[i]); + } + Py_DECREF(callable); + if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; } + #line 4400 "Python/generated_cases.c.h" + STACK_SHRINK(oparg); + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 3; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(INSTRUMENTED_CALL_FUNCTION_EX) { + #line 3191 "Python/bytecodes.c" + GO_TO_INSTRUCTION(CALL_FUNCTION_EX); + #line 4412 "Python/generated_cases.c.h" + } + + TARGET(CALL_FUNCTION_EX) { + PREDICTED(CALL_FUNCTION_EX); + PyObject *kwargs = (oparg & 1) ? stack_pointer[-(((oparg & 1) ? 1 : 0))] : NULL; + PyObject *callargs = stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))]; + PyObject *func = stack_pointer[-(2 + ((oparg & 1) ? 1 : 0))]; + PyObject *result; + #line 3195 "Python/bytecodes.c" + // DICT_MERGE is called before this opcode if there are kwargs. + // It converts all dict subtypes in kwargs into regular dicts. + assert(kwargs == NULL || PyDict_CheckExact(kwargs)); + if (!PyTuple_CheckExact(callargs)) { + if (check_args_iterable(tstate, func, callargs) < 0) { + goto error; + } + PyObject *tuple = PySequence_Tuple(callargs); + if (tuple == NULL) { + goto error; + } + Py_SETREF(callargs, tuple); + } + assert(PyTuple_CheckExact(callargs)); + EVAL_CALL_STAT_INC_IF_FUNCTION(EVAL_CALL_FUNCTION_EX, func); + if (opcode == INSTRUMENTED_CALL_FUNCTION_EX && + !PyFunction_Check(func) && !PyMethod_Check(func) + ) { + PyObject *arg = PyTuple_GET_SIZE(callargs) > 0 ? + PyTuple_GET_ITEM(callargs, 0) : Py_None; + int err = _Py_call_instrumentation_2args( + tstate, PY_MONITORING_EVENT_CALL, + frame, next_instr-1, func, arg); + if (err) goto error; + result = PyObject_Call(func, callargs, kwargs); + if (result == NULL) { + _Py_call_instrumentation_exc2( + tstate, PY_MONITORING_EVENT_C_RAISE, + frame, next_instr-1, func, arg); + } + else { + int err = _Py_call_instrumentation_2args( + tstate, PY_MONITORING_EVENT_C_RETURN, + frame, next_instr-1, func, arg); + if (err < 0) { + Py_CLEAR(result); + } + } + } + else { + if (Py_TYPE(func) == &PyFunction_Type && + tstate->interp->eval_frame == NULL && + ((PyFunctionObject *)func)->vectorcall == _PyFunction_Vectorcall) { + assert(PyTuple_CheckExact(callargs)); + Py_ssize_t nargs = PyTuple_GET_SIZE(callargs); + int code_flags = ((PyCodeObject *)PyFunction_GET_CODE(func))->co_flags; + PyObject *locals = code_flags & CO_OPTIMIZED ? NULL : Py_NewRef(PyFunction_GET_GLOBALS(func)); + + _PyInterpreterFrame *new_frame = _PyEvalFramePushAndInit_Ex(tstate, + (PyFunctionObject *)func, locals, + nargs, callargs, kwargs); + // Need to manually shrink the stack since we exit with DISPATCH_INLINED. + STACK_SHRINK(oparg + 3); + if (new_frame == NULL) { + goto error; + } + frame->return_offset = 0; + DISPATCH_INLINED(new_frame); + } + result = PyObject_Call(func, callargs, kwargs); + } + #line 4483 "Python/generated_cases.c.h" + Py_DECREF(func); + Py_DECREF(callargs); + Py_XDECREF(kwargs); + #line 3257 "Python/bytecodes.c" + assert(PEEK(3 + (oparg & 1)) == NULL); + if (result == NULL) { STACK_SHRINK(((oparg & 1) ? 1 : 0)); goto pop_3_error; } + #line 4490 "Python/generated_cases.c.h" + STACK_SHRINK(((oparg & 1) ? 1 : 0)); + STACK_SHRINK(2); + stack_pointer[-1] = result; + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(MAKE_FUNCTION) { + PyObject *codeobj = stack_pointer[-1]; + PyObject *closure = (oparg & 0x08) ? stack_pointer[-(1 + ((oparg & 0x08) ? 1 : 0))] : NULL; + PyObject *annotations = (oparg & 0x04) ? stack_pointer[-(1 + ((oparg & 0x08) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0))] : NULL; + PyObject *kwdefaults = (oparg & 0x02) ? stack_pointer[-(1 + ((oparg & 0x08) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0) + ((oparg & 0x02) ? 1 : 0))] : NULL; + PyObject *defaults = (oparg & 0x01) ? stack_pointer[-(1 + ((oparg & 0x08) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0) + ((oparg & 0x02) ? 1 : 0) + ((oparg & 0x01) ? 1 : 0))] : NULL; + PyObject *func; + #line 3267 "Python/bytecodes.c" + + PyFunctionObject *func_obj = (PyFunctionObject *) + PyFunction_New(codeobj, GLOBALS()); + + Py_DECREF(codeobj); + if (func_obj == NULL) { + goto error; + } + + if (oparg & 0x08) { + assert(PyTuple_CheckExact(closure)); + func_obj->func_closure = closure; + } + if (oparg & 0x04) { + assert(PyTuple_CheckExact(annotations)); + func_obj->func_annotations = annotations; + } + if (oparg & 0x02) { + assert(PyDict_CheckExact(kwdefaults)); + func_obj->func_kwdefaults = kwdefaults; + } + if (oparg & 0x01) { + assert(PyTuple_CheckExact(defaults)); + func_obj->func_defaults = defaults; + } + + func_obj->func_version = ((PyCodeObject *)codeobj)->co_version; + func = (PyObject *)func_obj; + #line 4534 "Python/generated_cases.c.h" + STACK_SHRINK(((oparg & 0x01) ? 1 : 0) + ((oparg & 0x02) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0) + ((oparg & 0x08) ? 1 : 0)); + stack_pointer[-1] = func; + DISPATCH(); + } + + TARGET(RETURN_GENERATOR) { + #line 3298 "Python/bytecodes.c" + assert(PyFunction_Check(frame->f_funcobj)); + PyFunctionObject *func = (PyFunctionObject *)frame->f_funcobj; + PyGenObject *gen = (PyGenObject *)_Py_MakeCoro(func); + if (gen == NULL) { + goto error; + } + assert(EMPTY()); + _PyFrame_SetStackPointer(frame, stack_pointer); + _PyInterpreterFrame *gen_frame = (_PyInterpreterFrame *)gen->gi_iframe; + _PyFrame_Copy(frame, gen_frame); + assert(frame->frame_obj == NULL); + gen->gi_frame_state = FRAME_CREATED; + gen_frame->owner = FRAME_OWNED_BY_GENERATOR; + _Py_LeaveRecursiveCallPy(tstate); + assert(frame != &entry_frame); + _PyInterpreterFrame *prev = frame->previous; + _PyThreadState_PopFrame(tstate, frame); + frame = cframe.current_frame = prev; + _PyFrame_StackPush(frame, (PyObject *)gen); + goto resume_frame; + #line 4562 "Python/generated_cases.c.h" + } + + TARGET(BUILD_SLICE) { + PyObject *step = (oparg == 3) ? stack_pointer[-(((oparg == 3) ? 1 : 0))] : NULL; + PyObject *stop = stack_pointer[-(1 + ((oparg == 3) ? 1 : 0))]; + PyObject *start = stack_pointer[-(2 + ((oparg == 3) ? 1 : 0))]; + PyObject *slice; + #line 3321 "Python/bytecodes.c" + slice = PySlice_New(start, stop, step); + #line 4572 "Python/generated_cases.c.h" + Py_DECREF(start); + Py_DECREF(stop); + Py_XDECREF(step); + #line 3323 "Python/bytecodes.c" + if (slice == NULL) { STACK_SHRINK(((oparg == 3) ? 1 : 0)); goto pop_2_error; } + #line 4578 "Python/generated_cases.c.h" + STACK_SHRINK(((oparg == 3) ? 1 : 0)); + STACK_SHRINK(1); + stack_pointer[-1] = slice; + DISPATCH(); + } + + TARGET(FORMAT_VALUE) { + PyObject *fmt_spec = ((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? stack_pointer[-((((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? 1 : 0))] : NULL; + PyObject *value = stack_pointer[-(1 + (((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? 1 : 0))]; + PyObject *result; + #line 3327 "Python/bytecodes.c" + /* Handles f-string value formatting. */ + PyObject *(*conv_fn)(PyObject *); + int which_conversion = oparg & FVC_MASK; + + /* See if any conversion is specified. */ + switch (which_conversion) { + case FVC_NONE: conv_fn = NULL; break; + case FVC_STR: conv_fn = PyObject_Str; break; + case FVC_REPR: conv_fn = PyObject_Repr; break; + case FVC_ASCII: conv_fn = PyObject_ASCII; break; + default: + _PyErr_Format(tstate, PyExc_SystemError, + "unexpected conversion flag %d", + which_conversion); + goto error; + } + + /* If there's a conversion function, call it and replace + value with that result. Otherwise, just use value, + without conversion. */ + if (conv_fn != NULL) { + result = conv_fn(value); + Py_DECREF(value); + if (result == NULL) { + Py_XDECREF(fmt_spec); + if (true) { STACK_SHRINK((((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? 1 : 0)); goto pop_1_error; } + } + value = result; + } + + result = PyObject_Format(value, fmt_spec); + Py_DECREF(value); + Py_XDECREF(fmt_spec); + if (result == NULL) { STACK_SHRINK((((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? 1 : 0)); goto pop_1_error; } + #line 4624 "Python/generated_cases.c.h" + STACK_SHRINK((((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? 1 : 0)); + stack_pointer[-1] = result; + DISPATCH(); + } + + TARGET(COPY) { + PyObject *bottom = stack_pointer[-(1 + (oparg-1))]; + PyObject *top; + #line 3364 "Python/bytecodes.c" + assert(oparg > 0); + top = Py_NewRef(bottom); + #line 4636 "Python/generated_cases.c.h" + STACK_GROW(1); + stack_pointer[-1] = top; + DISPATCH(); + } + + TARGET(BINARY_OP) { + PREDICTED(BINARY_OP); + static_assert(INLINE_CACHE_ENTRIES_BINARY_OP == 1, "incorrect cache size"); + PyObject *rhs = stack_pointer[-1]; + PyObject *lhs = stack_pointer[-2]; + PyObject *res; + #line 3369 "Python/bytecodes.c" + #if ENABLE_SPECIALIZATION + _PyBinaryOpCache *cache = (_PyBinaryOpCache *)next_instr; + if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) { + next_instr--; + _Py_Specialize_BinaryOp(lhs, rhs, next_instr, oparg, &GETLOCAL(0)); + DISPATCH_SAME_OPARG(); + } + STAT_INC(BINARY_OP, deferred); + DECREMENT_ADAPTIVE_COUNTER(cache->counter); + #endif /* ENABLE_SPECIALIZATION */ + assert(0 <= oparg); + assert((unsigned)oparg < Py_ARRAY_LENGTH(binary_ops)); + assert(binary_ops[oparg]); + res = binary_ops[oparg](lhs, rhs); + #line 4663 "Python/generated_cases.c.h" + Py_DECREF(lhs); + Py_DECREF(rhs); + #line 3384 "Python/bytecodes.c" + if (res == NULL) goto pop_2_error; + #line 4668 "Python/generated_cases.c.h" + STACK_SHRINK(1); + stack_pointer[-1] = res; + next_instr += 1; + DISPATCH(); + } + + TARGET(SWAP) { + PyObject *top = stack_pointer[-1]; + PyObject *bottom = stack_pointer[-(2 + (oparg-2))]; + #line 3389 "Python/bytecodes.c" + assert(oparg >= 2); + #line 4680 "Python/generated_cases.c.h" + stack_pointer[-1] = bottom; + stack_pointer[-(2 + (oparg-2))] = top; + DISPATCH(); + } + + TARGET(INSTRUMENTED_INSTRUCTION) { + #line 3393 "Python/bytecodes.c" + int next_opcode = _Py_call_instrumentation_instruction( + tstate, frame, next_instr-1); + if (next_opcode < 0) goto error; + next_instr--; + if (_PyOpcode_Caches[next_opcode]) { + _PyBinaryOpCache *cache = (_PyBinaryOpCache *)(next_instr+1); + INCREMENT_ADAPTIVE_COUNTER(cache->counter); + } + assert(next_opcode > 0 && next_opcode < 256); + opcode = next_opcode; + DISPATCH_GOTO(); + #line 4699 "Python/generated_cases.c.h" + } + + TARGET(INSTRUMENTED_JUMP_FORWARD) { + #line 3407 "Python/bytecodes.c" + INSTRUMENTED_JUMP(next_instr-1, next_instr+oparg, PY_MONITORING_EVENT_JUMP); + #line 4705 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(INSTRUMENTED_JUMP_BACKWARD) { + #line 3411 "Python/bytecodes.c" + INSTRUMENTED_JUMP(next_instr-1, next_instr-oparg, PY_MONITORING_EVENT_JUMP); + #line 4712 "Python/generated_cases.c.h" + CHECK_EVAL_BREAKER(); + DISPATCH(); + } + + TARGET(INSTRUMENTED_POP_JUMP_IF_TRUE) { + #line 3416 "Python/bytecodes.c" + PyObject *cond = POP(); + int err = PyObject_IsTrue(cond); + Py_DECREF(cond); + if (err < 0) goto error; + _Py_CODEUNIT *here = next_instr-1; + assert(err == 0 || err == 1); + int offset = err*oparg; + INSTRUMENTED_JUMP(here, next_instr + offset, PY_MONITORING_EVENT_BRANCH); + #line 4727 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(INSTRUMENTED_POP_JUMP_IF_FALSE) { + #line 3427 "Python/bytecodes.c" + PyObject *cond = POP(); + int err = PyObject_IsTrue(cond); + Py_DECREF(cond); + if (err < 0) goto error; + _Py_CODEUNIT *here = next_instr-1; + assert(err == 0 || err == 1); + int offset = (1-err)*oparg; + INSTRUMENTED_JUMP(here, next_instr + offset, PY_MONITORING_EVENT_BRANCH); + #line 4741 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(INSTRUMENTED_POP_JUMP_IF_NONE) { + #line 3438 "Python/bytecodes.c" + PyObject *value = POP(); + _Py_CODEUNIT *here = next_instr-1; + int offset; + if (Py_IsNone(value)) { + offset = oparg; + } + else { + Py_DECREF(value); + offset = 0; + } + INSTRUMENTED_JUMP(here, next_instr + offset, PY_MONITORING_EVENT_BRANCH); + #line 4758 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(INSTRUMENTED_POP_JUMP_IF_NOT_NONE) { + #line 3452 "Python/bytecodes.c" + PyObject *value = POP(); + _Py_CODEUNIT *here = next_instr-1; + int offset; + if (Py_IsNone(value)) { + offset = 0; + } + else { + Py_DECREF(value); + offset = oparg; + } + INSTRUMENTED_JUMP(here, next_instr + offset, PY_MONITORING_EVENT_BRANCH); + #line 4775 "Python/generated_cases.c.h" + DISPATCH(); + } + + TARGET(EXTENDED_ARG) { + #line 3466 "Python/bytecodes.c" + assert(oparg); + opcode = next_instr->op.code; + oparg = oparg << 8 | next_instr->op.arg; + PRE_DISPATCH_GOTO(); + DISPATCH_GOTO(); + #line 4786 "Python/generated_cases.c.h" + } + + TARGET(CACHE) { + #line 3474 "Python/bytecodes.c" + assert(0 && "Executing a cache."); + Py_UNREACHABLE(); + #line 4793 "Python/generated_cases.c.h" + } + + TARGET(RESERVED) { + #line 3479 "Python/bytecodes.c" + assert(0 && "Executing RESERVED instruction."); + Py_UNREACHABLE(); + #line 4800 "Python/generated_cases.c.h" + } diff --git a/contrib/tools/python3/src/Python/getargs.c b/contrib/tools/python3/src/Python/getargs.c index e18d7719929..066739f21fc 100644 --- a/contrib/tools/python3/src/Python/getargs.c +++ b/contrib/tools/python3/src/Python/getargs.c @@ -1012,58 +1012,6 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags, break; } - case 'u': /* raw unicode buffer (Py_UNICODE *) */ - case 'Z': /* raw unicode buffer or None */ - { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "getargs: The '%c' format is deprecated. Use 'U' instead.", c)) { - RETURN_ERR_OCCURRED; - } -_Py_COMP_DIAG_PUSH -_Py_COMP_DIAG_IGNORE_DEPR_DECLS - Py_UNICODE **p = va_arg(*p_va, Py_UNICODE **); - - if (*format == '#') { - /* "u#" or "Z#" */ - REQUIRE_PY_SSIZE_T_CLEAN; - Py_ssize_t *psize = va_arg(*p_va, Py_ssize_t*); - - if (c == 'Z' && arg == Py_None) { - *p = NULL; - *psize = 0; - } - else if (PyUnicode_Check(arg)) { - Py_ssize_t len; - *p = PyUnicode_AsUnicodeAndSize(arg, &len); - if (*p == NULL) - RETURN_ERR_OCCURRED; - *psize = len; - } - else - return converterr(c == 'Z' ? "str or None" : "str", - arg, msgbuf, bufsize); - format++; - } else { - /* "u" or "Z" */ - if (c == 'Z' && arg == Py_None) - *p = NULL; - else if (PyUnicode_Check(arg)) { - Py_ssize_t len; - *p = PyUnicode_AsUnicodeAndSize(arg, &len); - if (*p == NULL) - RETURN_ERR_OCCURRED; - if (wcslen(*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); - } - break; -_Py_COMP_DIAG_POP - } - case 'e': {/* encoded string */ char **buffer; const char *encoding; @@ -1098,8 +1046,7 @@ _Py_COMP_DIAG_POP /* Encode object */ if (!recode_strings && (PyBytes_Check(arg) || PyByteArray_Check(arg))) { - s = arg; - Py_INCREF(s); + s = Py_NewRef(arg); if (PyBytes_Check(arg)) { size = PyBytes_GET_SIZE(s); ptr = PyBytes_AS_STRING(s); @@ -1899,133 +1846,214 @@ vgetargskeywords(PyObject *args, PyObject *kwargs, const char *format, } -/* List of static parsers. */ -static struct _PyArg_Parser *static_arg_parsers = NULL; - static int -parser_init(struct _PyArg_Parser *parser) +scan_keywords(const char * const *keywords, int *ptotal, int *pposonly) { - const char * const *keywords; - const char *format, *msg; - int i, len, min, max, nkw; - PyObject *kwtuple; - - assert(parser->keywords != NULL); - if (parser->kwtuple != NULL) { - return 1; - } - - keywords = parser->keywords; /* scan keywords and count the number of positional-only parameters */ + int i; for (i = 0; keywords[i] && !*keywords[i]; i++) { } - parser->pos = i; + *pposonly = i; + /* scan keywords and get greatest possible nbr of args */ for (; keywords[i]; i++) { if (!*keywords[i]) { PyErr_SetString(PyExc_SystemError, "Empty keyword parameter name"); - return 0; + return -1; } } - len = i; + *ptotal = i; + return 0; +} - format = parser->format; - if (format) { - /* grab the function name or custom error msg first (mutually exclusive) */ - parser->fname = strchr(parser->format, ':'); - if (parser->fname) { - parser->fname++; - parser->custom_msg = NULL; +static int +parse_format(const char *format, int total, int npos, + const char **pfname, const char **pcustommsg, + int *pmin, int *pmax) +{ + /* grab the function name or custom error msg first (mutually exclusive) */ + const char *custommsg; + const char *fname = strchr(format, ':'); + if (fname) { + fname++; + custommsg = NULL; + } + else { + custommsg = strchr(format,';'); + if (custommsg) { + custommsg++; } - else { - parser->custom_msg = strchr(parser->format,';'); - if (parser->custom_msg) - parser->custom_msg++; - } - - min = max = INT_MAX; - for (i = 0; i < len; i++) { - if (*format == '|') { - if (min != INT_MAX) { - PyErr_SetString(PyExc_SystemError, - "Invalid format string (| specified twice)"); - return 0; - } - if (max != INT_MAX) { - PyErr_SetString(PyExc_SystemError, - "Invalid format string ($ before |)"); - return 0; - } - min = i; - format++; + } + + int min = INT_MAX; + int max = INT_MAX; + for (int i = 0; i < total; i++) { + if (*format == '|') { + if (min != INT_MAX) { + PyErr_SetString(PyExc_SystemError, + "Invalid format string (| specified twice)"); + return -1; } - if (*format == '$') { - if (max != INT_MAX) { - PyErr_SetString(PyExc_SystemError, - "Invalid format string ($ specified twice)"); - return 0; - } - if (i < parser->pos) { - PyErr_SetString(PyExc_SystemError, - "Empty parameter name after $"); - return 0; - } - max = i; - format++; + if (max != INT_MAX) { + PyErr_SetString(PyExc_SystemError, + "Invalid format string ($ before |)"); + return -1; } - if (IS_END_OF_FORMAT(*format)) { - PyErr_Format(PyExc_SystemError, - "More keyword list entries (%d) than " - "format specifiers (%d)", len, i); - return 0; + min = i; + format++; + } + if (*format == '$') { + if (max != INT_MAX) { + PyErr_SetString(PyExc_SystemError, + "Invalid format string ($ specified twice)"); + return -1; } - - msg = skipitem(&format, NULL, 0); - if (msg) { - PyErr_Format(PyExc_SystemError, "%s: '%s'", msg, - format); - return 0; + if (i < npos) { + PyErr_SetString(PyExc_SystemError, + "Empty parameter name after $"); + return -1; } + max = i; + format++; } - parser->min = Py_MIN(min, len); - parser->max = Py_MIN(max, len); - - if (!IS_END_OF_FORMAT(*format) && (*format != '|') && (*format != '$')) { + if (IS_END_OF_FORMAT(*format)) { PyErr_Format(PyExc_SystemError, - "more argument specifiers than keyword list entries " - "(remaining format:'%s')", format); - return 0; + "More keyword list entries (%d) than " + "format specifiers (%d)", total, i); + return -1; + } + + const char *msg = skipitem(&format, NULL, 0); + if (msg) { + PyErr_Format(PyExc_SystemError, "%s: '%s'", msg, + format); + return -1; } } + min = Py_MIN(min, total); + max = Py_MIN(max, total); - nkw = len - parser->pos; - kwtuple = PyTuple_New(nkw); + if (!IS_END_OF_FORMAT(*format) && (*format != '|') && (*format != '$')) { + PyErr_Format(PyExc_SystemError, + "more argument specifiers than keyword list entries " + "(remaining format:'%s')", format); + return -1; + } + + *pfname = fname; + *pcustommsg = custommsg; + *pmin = min; + *pmax = max; + return 0; +} + +static PyObject * +new_kwtuple(const char * const *keywords, int total, int pos) +{ + int nkw = total - pos; + PyObject *kwtuple = PyTuple_New(nkw); if (kwtuple == NULL) { - return 0; + return NULL; } - keywords = parser->keywords + parser->pos; - for (i = 0; i < nkw; i++) { + keywords += pos; + for (int i = 0; i < nkw; i++) { PyObject *str = PyUnicode_FromString(keywords[i]); if (str == NULL) { Py_DECREF(kwtuple); - return 0; + return NULL; } PyUnicode_InternInPlace(&str); PyTuple_SET_ITEM(kwtuple, i, str); } + return kwtuple; +} + +static int +_parser_init(struct _PyArg_Parser *parser) +{ + const char * const *keywords = parser->keywords; + assert(keywords != NULL); + assert(parser->pos == 0 && + (parser->format == NULL || parser->fname == NULL) && + parser->custom_msg == NULL && + parser->min == 0 && + parser->max == 0); + + int len, pos; + if (scan_keywords(keywords, &len, &pos) < 0) { + return 0; + } + + const char *fname, *custommsg = NULL; + int min = 0, max = 0; + if (parser->format) { + assert(parser->fname == NULL); + if (parse_format(parser->format, len, pos, + &fname, &custommsg, &min, &max) < 0) { + return 0; + } + } + else { + assert(parser->fname != NULL); + fname = parser->fname; + } + + int owned; + PyObject *kwtuple = parser->kwtuple; + if (kwtuple == NULL) { + kwtuple = new_kwtuple(keywords, len, pos); + if (kwtuple == NULL) { + return 0; + } + owned = 1; + } + else { + owned = 0; + } + + parser->pos = pos; + parser->fname = fname; + parser->custom_msg = custommsg; + parser->min = min; + parser->max = max; parser->kwtuple = kwtuple; + parser->initialized = owned ? 1 : -1; assert(parser->next == NULL); - parser->next = static_arg_parsers; - static_arg_parsers = parser; + parser->next = _PyRuntime.getargs.static_parsers; + _PyRuntime.getargs.static_parsers = parser; return 1; } +static int +parser_init(struct _PyArg_Parser *parser) +{ + // volatile as it can be modified by other threads + // and should not be optimized or reordered by compiler + if (*((volatile int *)&parser->initialized)) { + assert(parser->kwtuple != NULL); + return 1; + } + PyThread_acquire_lock(_PyRuntime.getargs.mutex, WAIT_LOCK); + // Check again if another thread initialized the parser + // while we were waiting for the lock. + if (*((volatile int *)&parser->initialized)) { + assert(parser->kwtuple != NULL); + PyThread_release_lock(_PyRuntime.getargs.mutex); + return 1; + } + int ret = _parser_init(parser); + PyThread_release_lock(_PyRuntime.getargs.mutex); + return ret; +} + static void parser_clear(struct _PyArg_Parser *parser) { - Py_CLEAR(parser->kwtuple); + if (parser->initialized == 1) { + Py_CLEAR(parser->kwtuple); + } } static PyObject* @@ -2152,6 +2180,7 @@ vgetargskeywordsfast_impl(PyObject *const *args, Py_ssize_t nargs, } format = parser->format; + assert(format != NULL || len == 0); /* convert tuple args and keyword args in same loop, using kwtuple to drive process */ for (i = 0; i < len; i++) { if (*format == '|') { @@ -2542,8 +2571,7 @@ _PyArg_UnpackKeywordsWithVararg(PyObject *const *args, Py_ssize_t nargs, /* copy tuple args */ for (i = 0; i < nargs; i++) { if (i >= vararg) { - Py_INCREF(args[i]); - PyTuple_SET_ITEM(buf[vararg], i - vararg, args[i]); + PyTuple_SET_ITEM(buf[vararg], i - vararg, Py_NewRef(args[i])); continue; } else { @@ -2675,8 +2703,6 @@ skipitem(const char **p_format, va_list *p_va, int flags) case 's': /* string */ case 'z': /* string or None */ case 'y': /* bytes */ - case 'u': /* unicode string */ - case 'Z': /* unicode string or None */ case 'w': /* buffer, read-write */ { if (p_va != NULL) { @@ -2834,11 +2860,7 @@ PyArg_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t m stack = _PyTuple_ITEMS(args); nargs = PyTuple_GET_SIZE(args); -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, max); -#else - va_start(vargs); -#endif retval = unpack_stack(stack, nargs, name, min, max, vargs); va_end(vargs); return retval; @@ -2851,11 +2873,7 @@ _PyArg_UnpackStack(PyObject *const *args, Py_ssize_t nargs, const char *name, int retval; va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, max); -#else - va_start(vargs); -#endif retval = unpack_stack(args, nargs, name, min, max, vargs); va_end(vargs); return retval; @@ -2927,14 +2945,14 @@ _PyArg_NoKwnames(const char *funcname, PyObject *kwnames) void _PyArg_Fini(void) { - struct _PyArg_Parser *tmp, *s = static_arg_parsers; + struct _PyArg_Parser *tmp, *s = _PyRuntime.getargs.static_parsers; while (s) { tmp = s->next; s->next = NULL; parser_clear(s); s = tmp; } - static_arg_parsers = NULL; + _PyRuntime.getargs.static_parsers = NULL; } #ifdef __cplusplus diff --git a/contrib/tools/python3/src/Python/getversion.c b/contrib/tools/python3/src/Python/getversion.c index 46910451fdf..5db836ab4bf 100644 --- a/contrib/tools/python3/src/Python/getversion.c +++ b/contrib/tools/python3/src/Python/getversion.c @@ -5,12 +5,23 @@ #include "patchlevel.h" -const char * -Py_GetVersion(void) +static int initialized = 0; +static char version[250]; + +void _Py_InitVersion(void) { - static char version[250]; + if (initialized) { + return; + } + initialized = 1; PyOS_snprintf(version, sizeof(version), "%.80s (%.80s) %.80s", PY_VERSION, Py_GetBuildInfo(), Py_GetCompiler()); +} + +const char * +Py_GetVersion(void) +{ + _Py_InitVersion(); return version; } diff --git a/contrib/tools/python3/src/Python/hamt.c b/contrib/tools/python3/src/Python/hamt.c index 908c2531870..8cb94641bef 100644 --- a/contrib/tools/python3/src/Python/hamt.c +++ b/contrib/tools/python3/src/Python/hamt.c @@ -319,13 +319,6 @@ typedef struct { } PyHamtNode_Array; -typedef struct { - PyObject_VAR_HEAD - uint32_t b_bitmap; - PyObject *b_array[1]; -} PyHamtNode_Bitmap; - - typedef struct { PyObject_VAR_HEAD int32_t c_hash; @@ -333,10 +326,6 @@ typedef struct { } PyHamtNode_Collision; -static PyHamtNode_Bitmap *_empty_bitmap_node; -static PyHamtObject *_empty_hamt; - - static PyHamtObject * hamt_alloc(void); @@ -496,11 +485,7 @@ _hamt_dump_format(_PyUnicodeWriter *writer, const char *format, ...) int ret; va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif msg = PyUnicode_FromFormatV(format, vargs); va_end(vargs); @@ -525,14 +510,16 @@ hamt_node_bitmap_new(Py_ssize_t size) PyHamtNode_Bitmap *node; Py_ssize_t i; + if (size == 0) { + /* Since bitmap nodes are immutable, we can cache the instance + for size=0 and reuse it whenever we need an empty bitmap node. + */ + return (PyHamtNode *)Py_NewRef(&_Py_SINGLETON(hamt_bitmap_node_empty)); + } + assert(size >= 0); assert(size % 2 == 0); - if (size == 0 && _empty_bitmap_node != NULL) { - Py_INCREF(_empty_bitmap_node); - return (PyHamtNode *)_empty_bitmap_node; - } - /* No freelist; allocate a new bitmap node */ node = PyObject_GC_NewVar( PyHamtNode_Bitmap, &_PyHamt_BitmapNode_Type, size); @@ -550,14 +537,6 @@ hamt_node_bitmap_new(Py_ssize_t size) _PyObject_GC_TRACK(node); - if (size == 0 && _empty_bitmap_node == NULL) { - /* Since bitmap nodes are immutable, we can cache the instance - for size=0 and reuse it whenever we need an empty bitmap node. - */ - _empty_bitmap_node = node; - Py_INCREF(_empty_bitmap_node); - } - return (PyHamtNode *)node; } @@ -581,8 +560,7 @@ hamt_node_bitmap_clone(PyHamtNode_Bitmap *node) } for (i = 0; i < Py_SIZE(node); i++) { - Py_XINCREF(node->b_array[i]); - clone->b_array[i] = node->b_array[i]; + clone->b_array[i] = Py_XNewRef(node->b_array[i]); } clone->b_bitmap = node->b_bitmap; @@ -607,14 +585,12 @@ hamt_node_bitmap_clone_without(PyHamtNode_Bitmap *o, uint32_t bit) uint32_t i; for (i = 0; i < key_idx; i++) { - Py_XINCREF(o->b_array[i]); - new->b_array[i] = o->b_array[i]; + new->b_array[i] = Py_XNewRef(o->b_array[i]); } assert(Py_SIZE(o) >= 0 && Py_SIZE(o) <= 32); for (i = val_idx + 1; i < (uint32_t)Py_SIZE(o); i++) { - Py_XINCREF(o->b_array[i]); - new->b_array[i - 2] = o->b_array[i]; + new->b_array[i - 2] = Py_XNewRef(o->b_array[i]); } new->b_bitmap = o->b_bitmap & ~bit; @@ -647,15 +623,11 @@ hamt_node_new_bitmap_or_collision(uint32_t shift, return NULL; } - Py_INCREF(key1); - n->c_array[0] = key1; - Py_INCREF(val1); - n->c_array[1] = val1; + n->c_array[0] = Py_NewRef(key1); + n->c_array[1] = Py_NewRef(val1); - Py_INCREF(key2); - n->c_array[2] = key2; - Py_INCREF(val2); - n->c_array[3] = val2; + n->c_array[2] = Py_NewRef(key2); + n->c_array[3] = Py_NewRef(val2); return (PyHamtNode *)n; } @@ -740,8 +712,7 @@ hamt_node_bitmap_assoc(PyHamtNode_Bitmap *self, if (val_or_node == (PyObject *)sub_node) { Py_DECREF(sub_node); - Py_INCREF(self); - return (PyHamtNode *)self; + return (PyHamtNode *)Py_NewRef(self); } PyHamtNode_Bitmap *ret = hamt_node_bitmap_clone(self); @@ -763,8 +734,7 @@ hamt_node_bitmap_assoc(PyHamtNode_Bitmap *self, if (comp_err == 1) { /* key == key_or_null */ if (val == val_or_node) { /* we already have the same key/val pair; return self. */ - Py_INCREF(self); - return (PyHamtNode *)self; + return (PyHamtNode *)Py_NewRef(self); } /* We're setting a new value for the key we had before. @@ -773,8 +743,7 @@ hamt_node_bitmap_assoc(PyHamtNode_Bitmap *self, if (ret == NULL) { return NULL; } - Py_INCREF(val); - Py_SETREF(ret->b_array[val_idx], val); + Py_SETREF(ret->b_array[val_idx], Py_NewRef(val)); return (PyHamtNode *)ret; } @@ -869,8 +838,7 @@ hamt_node_bitmap_assoc(PyHamtNode_Bitmap *self, if (self->b_array[j] == NULL) { new_node->a_array[i] = - (PyHamtNode *)self->b_array[j + 1]; - Py_INCREF(new_node->a_array[i]); + (PyHamtNode *)Py_NewRef(self->b_array[j + 1]); } else { int32_t rehash = hamt_hash(self->b_array[j]); @@ -927,22 +895,18 @@ hamt_node_bitmap_assoc(PyHamtNode_Bitmap *self, /* Copy all keys/values that will be before the new key/value we are adding. */ for (i = 0; i < key_idx; i++) { - Py_XINCREF(self->b_array[i]); - new_node->b_array[i] = self->b_array[i]; + new_node->b_array[i] = Py_XNewRef(self->b_array[i]); } /* Set the new key/value to the new Bitmap node. */ - Py_INCREF(key); - new_node->b_array[key_idx] = key; - Py_INCREF(val); - new_node->b_array[val_idx] = val; + new_node->b_array[key_idx] = Py_NewRef(key); + new_node->b_array[val_idx] = Py_NewRef(val); /* Copy all keys/values that will be after the new key/value we are adding. */ assert(Py_SIZE(self) >= 0 && Py_SIZE(self) <= 32); for (i = key_idx; i < (uint32_t)Py_SIZE(self); i++) { - Py_XINCREF(self->b_array[i]); - new_node->b_array[i + 2] = self->b_array[i]; + new_node->b_array[i + 2] = Py_XNewRef(self->b_array[i]); } new_node->b_bitmap = self->b_bitmap | bit; @@ -1023,10 +987,8 @@ hamt_node_bitmap_without(PyHamtNode_Bitmap *self, PyObject *key = sub_tree->b_array[0]; PyObject *val = sub_tree->b_array[1]; - Py_INCREF(key); - Py_XSETREF(clone->b_array[key_idx], key); - Py_INCREF(val); - Py_SETREF(clone->b_array[val_idx], val); + Py_XSETREF(clone->b_array[key_idx], Py_NewRef(key)); + Py_SETREF(clone->b_array[val_idx], Py_NewRef(val)); Py_DECREF(sub_tree); @@ -1164,6 +1126,16 @@ hamt_node_bitmap_dealloc(PyHamtNode_Bitmap *self) Py_ssize_t len = Py_SIZE(self); Py_ssize_t i; + if (Py_SIZE(self) == 0) { + /* The empty node is statically allocated. */ + assert(self == &_Py_SINGLETON(hamt_bitmap_node_empty)); +#ifdef Py_DEBUG + _Py_FatalRefcountError("deallocating the empty hamt node bitmap singleton"); +#else + return; +#endif + } + PyObject_GC_UnTrack(self); Py_TRASHCAN_BEGIN(self, hamt_node_bitmap_dealloc) @@ -1347,14 +1319,11 @@ hamt_node_collision_assoc(PyHamtNode_Collision *self, } for (i = 0; i < Py_SIZE(self); i++) { - Py_INCREF(self->c_array[i]); - new_node->c_array[i] = self->c_array[i]; + new_node->c_array[i] = Py_NewRef(self->c_array[i]); } - Py_INCREF(key); - new_node->c_array[i] = key; - Py_INCREF(val); - new_node->c_array[i + 1] = val; + new_node->c_array[i] = Py_NewRef(key); + new_node->c_array[i + 1] = Py_NewRef(val); *added_leaf = 1; return (PyHamtNode *)new_node; @@ -1368,8 +1337,7 @@ hamt_node_collision_assoc(PyHamtNode_Collision *self, if (self->c_array[val_idx] == val) { /* We're setting a key/value pair that's already set. */ - Py_INCREF(self); - return (PyHamtNode *)self; + return (PyHamtNode *)Py_NewRef(self); } /* We need to replace old value for the key @@ -1382,14 +1350,11 @@ hamt_node_collision_assoc(PyHamtNode_Collision *self, /* Copy all elements of the old node to the new one. */ for (i = 0; i < Py_SIZE(self); i++) { - Py_INCREF(self->c_array[i]); - new_node->c_array[i] = self->c_array[i]; + new_node->c_array[i] = Py_NewRef(self->c_array[i]); } /* Replace the old value with the new value for the our key. */ - Py_DECREF(new_node->c_array[val_idx]); - Py_INCREF(val); - new_node->c_array[val_idx] = val; + Py_SETREF(new_node->c_array[val_idx], Py_NewRef(val)); return (PyHamtNode *)new_node; @@ -1414,8 +1379,7 @@ hamt_node_collision_assoc(PyHamtNode_Collision *self, return NULL; } new_node->b_bitmap = hamt_bitpos(self->c_hash, shift); - Py_INCREF(self); - new_node->b_array[1] = (PyObject*) self; + new_node->b_array[1] = Py_NewRef(self); assoc_res = hamt_node_bitmap_assoc( new_node, shift, hash, key, val, added_leaf); @@ -1477,17 +1441,13 @@ hamt_node_collision_without(PyHamtNode_Collision *self, } if (key_idx == 0) { - Py_INCREF(self->c_array[2]); - node->b_array[0] = self->c_array[2]; - Py_INCREF(self->c_array[3]); - node->b_array[1] = self->c_array[3]; + node->b_array[0] = Py_NewRef(self->c_array[2]); + node->b_array[1] = Py_NewRef(self->c_array[3]); } else { assert(key_idx == 2); - Py_INCREF(self->c_array[0]); - node->b_array[0] = self->c_array[0]; - Py_INCREF(self->c_array[1]); - node->b_array[1] = self->c_array[1]; + node->b_array[0] = Py_NewRef(self->c_array[0]); + node->b_array[1] = Py_NewRef(self->c_array[1]); } node->b_bitmap = hamt_bitpos(hash, shift); @@ -1508,12 +1468,10 @@ hamt_node_collision_without(PyHamtNode_Collision *self, /* Copy all other keys from `self` to `new` */ Py_ssize_t i; for (i = 0; i < key_idx; i++) { - Py_INCREF(self->c_array[i]); - new->c_array[i] = self->c_array[i]; + new->c_array[i] = Py_NewRef(self->c_array[i]); } for (i = key_idx + 2; i < Py_SIZE(self); i++) { - Py_INCREF(self->c_array[i]); - new->c_array[i - 2] = self->c_array[i]; + new->c_array[i - 2] = Py_NewRef(self->c_array[i]); } *new_node = (PyHamtNode*)new; @@ -1665,8 +1623,7 @@ hamt_node_array_clone(PyHamtNode_Array *node) /* Copy all elements from the current Array node to the new one. */ for (i = 0; i < HAMT_ARRAY_NODE_SIZE; i++) { - Py_XINCREF(node->a_array[i]); - clone->a_array[i] = node->a_array[i]; + clone->a_array[i] = (PyHamtNode*)Py_XNewRef(node->a_array[i]); } VALIDATE_ARRAY_NODE(clone) @@ -1723,8 +1680,7 @@ hamt_node_array_assoc(PyHamtNode_Array *self, /* Copy all elements from the current Array node to the new one. */ for (i = 0; i < HAMT_ARRAY_NODE_SIZE; i++) { - Py_XINCREF(self->a_array[i]); - new_node->a_array[i] = self->a_array[i]; + new_node->a_array[i] = (PyHamtNode*)Py_XNewRef(self->a_array[i]); } assert(new_node->a_array[idx] == NULL); @@ -1872,15 +1828,12 @@ hamt_node_array_without(PyHamtNode_Array *self, PyObject *key = child->b_array[0]; PyObject *val = child->b_array[1]; - Py_INCREF(key); - new->b_array[new_i] = key; - Py_INCREF(val); - new->b_array[new_i + 1] = val; + new->b_array[new_i] = Py_NewRef(key); + new->b_array[new_i + 1] = Py_NewRef(val); } else { new->b_array[new_i] = NULL; - Py_INCREF(node); - new->b_array[new_i + 1] = (PyObject*)node; + new->b_array[new_i + 1] = Py_NewRef(node); } } else { @@ -1898,8 +1851,7 @@ hamt_node_array_without(PyHamtNode_Array *self, /* Just copy the node into our new Bitmap */ new->b_array[new_i] = NULL; - Py_INCREF(node); - new->b_array[new_i + 1] = (PyObject*)node; + new->b_array[new_i + 1] = Py_NewRef(node); } new_i += 2; @@ -2315,8 +2267,7 @@ _PyHamt_Assoc(PyHamtObject *o, PyObject *key, PyObject *val) if (new_root == o->h_root) { Py_DECREF(new_root); - Py_INCREF(o); - return o; + return (PyHamtObject*)Py_NewRef(o); } new_o = hamt_alloc(); @@ -2352,8 +2303,7 @@ _PyHamt_Without(PyHamtObject *o, PyObject *key) case W_EMPTY: return _PyHamt_New(); case W_NOT_FOUND: - Py_INCREF(o); - return o; + return (PyHamtObject*)Py_NewRef(o); case W_NEWNODE: { assert(new_root != NULL); @@ -2474,35 +2424,15 @@ hamt_alloc(void) return o; } +#define _empty_hamt \ + (&_Py_INTERP_SINGLETON(_PyInterpreterState_Get(), hamt_empty)) + PyHamtObject * _PyHamt_New(void) { - if (_empty_hamt != NULL) { - /* HAMT is an immutable object so we can easily cache an - empty instance. */ - Py_INCREF(_empty_hamt); - return _empty_hamt; - } - - PyHamtObject *o = hamt_alloc(); - if (o == NULL) { - return NULL; - } - - o->h_root = hamt_node_bitmap_new(0); - if (o->h_root == NULL) { - Py_DECREF(o); - return NULL; - } - - o->h_count = 0; - - if (_empty_hamt == NULL) { - Py_INCREF(o); - _empty_hamt = o; - } - - return o; + /* HAMT is an immutable object so we can easily cache an + empty instance. */ + return (PyHamtObject*)Py_NewRef(_empty_hamt); } #ifdef Py_DEBUG @@ -2595,8 +2525,7 @@ hamt_baseiter_new(PyTypeObject *type, binaryfunc yield, PyHamtObject *o) return NULL; } - Py_INCREF(o); - it->hi_obj = o; + it->hi_obj = (PyHamtObject*)Py_NewRef(o); it->hi_yield = yield; hamt_iterator_init(&it->hi_iter, o->h_root); @@ -2652,8 +2581,7 @@ PyTypeObject _PyHamtKeys_Type = { static PyObject * hamt_iter_yield_keys(PyObject *key, PyObject *val) { - Py_INCREF(key); - return key; + return Py_NewRef(key); } PyObject * @@ -2676,8 +2604,7 @@ PyTypeObject _PyHamtValues_Type = { static PyObject * hamt_iter_yield_values(PyObject *key, PyObject *val) { - Py_INCREF(val); - return val; + return Py_NewRef(val); } PyObject * @@ -2721,6 +2648,15 @@ hamt_tp_traverse(PyHamtObject *self, visitproc visit, void *arg) static void hamt_tp_dealloc(PyHamtObject *self) { + if (self == _empty_hamt) { + /* The empty one is statically allocated. */ +#ifdef Py_DEBUG + _Py_FatalRefcountError("deallocating the empty hamt singleton"); +#else + return; +#endif + } + PyObject_GC_UnTrack(self); if (self->h_weakreflist != NULL) { PyObject_ClearWeakRefs((PyObject*)self); @@ -2770,8 +2706,7 @@ hamt_tp_subscript(PyHamtObject *self, PyObject *key) case F_ERROR: return NULL; case F_FOUND: - Py_INCREF(val); - return val; + return Py_NewRef(val); case F_NOT_FOUND: PyErr_SetObject(PyExc_KeyError, key); return NULL; @@ -2821,14 +2756,12 @@ hamt_py_get(PyHamtObject *self, PyObject *args) case F_ERROR: return NULL; case F_FOUND: - Py_INCREF(val); - return val; + return Py_NewRef(val); case F_NOT_FOUND: if (def == NULL) { Py_RETURN_NONE; } - Py_INCREF(def); - return def; + return Py_NewRef(def); default: Py_UNREACHABLE(); } @@ -2959,11 +2892,3 @@ PyTypeObject _PyHamt_CollisionNode_Type = { .tp_free = PyObject_GC_Del, .tp_hash = PyObject_HashNotImplemented, }; - - -void -_PyHamt_Fini(PyInterpreterState *interp) -{ - Py_CLEAR(_empty_hamt); - Py_CLEAR(_empty_bitmap_node); -} diff --git a/contrib/tools/python3/src/Python/hashtable.c b/contrib/tools/python3/src/Python/hashtable.c index 09501de199b..9f005c7ad96 100644 --- a/contrib/tools/python3/src/Python/hashtable.c +++ b/contrib/tools/python3/src/Python/hashtable.c @@ -128,6 +128,13 @@ _Py_hashtable_size(const _Py_hashtable_t *ht) } +size_t +_Py_hashtable_len(const _Py_hashtable_t *ht) +{ + return ht->nentries; +} + + _Py_hashtable_entry_t * _Py_hashtable_get_entry_generic(_Py_hashtable_t *ht, const void *key) { diff --git a/contrib/tools/python3/src/Python/import.c b/contrib/tools/python3/src/Python/import.c index 2151bc09f11..76b418840e7 100644 --- a/contrib/tools/python3/src/Python/import.c +++ b/contrib/tools/python3/src/Python/import.c @@ -2,10 +2,12 @@ #include "Python.h" +#include "pycore_hashtable.h" // _Py_hashtable_new_full() #include "pycore_import.h" // _PyImport_BootstrapImp() #include "pycore_initconfig.h" // _PyStatus_OK() -#include "pycore_interp.h" // _PyInterpreterState_ClearModules() +#include "pycore_interp.h" // struct _import_runtime_state #include "pycore_namespace.h" // _PyNamespace_Type +#include "pycore_object.h" // _Py_SetImmortal() #include "pycore_pyerrors.h" // _PyErr_SetString() #include "pycore_pyhash.h" // _Py_KeyedHash() #include "pycore_pylifecycle.h" @@ -24,129 +26,121 @@ extern "C" { #endif -/* Forward references */ -static PyObject *import_add_module(PyThreadState *tstate, PyObject *name); -/* See _PyImport_FixupExtensionObject() below */ -static PyObject *extensions = NULL; +/*[clinic input] +module _imp +[clinic start generated code]*/ +/*[clinic end generated code: output=da39a3ee5e6b4b0d input=9c332475d8686284]*/ + +#include "clinic/import.c.h" + + +/*******************************/ +/* process-global import state */ +/*******************************/ /* This table is defined in config.c: */ extern struct _inittab _PyImport_Inittab[]; +// This is not used after Py_Initialize() is called. +// (See _PyRuntimeState.imports.inittab.) struct _inittab *PyImport_Inittab = _PyImport_Inittab; +// When we dynamically allocate a larger table for PyImport_ExtendInittab(), +// we track the pointer here so we can deallocate it during finalization. static struct _inittab *inittab_copy = NULL; -/*[clinic input] -module _imp -[clinic start generated code]*/ -/*[clinic end generated code: output=da39a3ee5e6b4b0d input=9c332475d8686284]*/ -#include "clinic/import.c.h" +/*******************************/ +/* runtime-global import state */ +/*******************************/ -/* Initialize things */ +#define INITTAB _PyRuntime.imports.inittab +#define LAST_MODULE_INDEX _PyRuntime.imports.last_module_index +#define EXTENSIONS _PyRuntime.imports.extensions -PyStatus -_PyImportZip_Init(PyThreadState *tstate) -{ - PyObject *path_hooks, *zipimport; - int err = 0; +#define PKGCONTEXT (_PyRuntime.imports.pkgcontext) - path_hooks = PySys_GetObject("path_hooks"); - if (path_hooks == NULL) { - _PyErr_SetString(tstate, PyExc_RuntimeError, - "unable to get sys.path_hooks"); - goto error; - } - int verbose = _PyInterpreterState_GetConfig(tstate->interp)->verbose; - if (verbose) { - PySys_WriteStderr("# installing zipimport hook\n"); - } +/*******************************/ +/* interpreter import state */ +/*******************************/ - zipimport = PyImport_ImportModule("zipimport"); - if (zipimport == NULL) { - _PyErr_Clear(tstate); /* No zip import module -- okay */ - if (verbose) { - PySys_WriteStderr("# can't import zipimport\n"); - } - } - else { - PyObject *zipimporter = PyObject_GetAttr(zipimport, &_Py_ID(zipimporter)); - Py_DECREF(zipimport); - if (zipimporter == NULL) { - _PyErr_Clear(tstate); /* No zipimporter object -- okay */ - if (verbose) { - PySys_WriteStderr("# can't import zipimport.zipimporter\n"); - } - } - else { - /* sys.path_hooks.insert(0, zipimporter) */ - err = PyList_Insert(path_hooks, 0, zipimporter); - Py_DECREF(zipimporter); - if (err < 0) { - goto error; - } - if (verbose) { - PySys_WriteStderr("# installed zipimport hook\n"); - } - } - } +#define MODULES(interp) \ + (interp)->imports.modules +#define MODULES_BY_INDEX(interp) \ + (interp)->imports.modules_by_index +#define IMPORTLIB(interp) \ + (interp)->imports.importlib +#define OVERRIDE_MULTI_INTERP_EXTENSIONS_CHECK(interp) \ + (interp)->imports.override_multi_interp_extensions_check +#define OVERRIDE_FROZEN_MODULES(interp) \ + (interp)->imports.override_frozen_modules +#ifdef HAVE_DLOPEN +# define DLOPENFLAGS(interp) \ + (interp)->imports.dlopenflags +#endif +#define IMPORT_FUNC(interp) \ + (interp)->imports.import_func - return _PyStatus_OK(); +#define IMPORT_LOCK(interp) \ + (interp)->imports.lock.mutex +#define IMPORT_LOCK_THREAD(interp) \ + (interp)->imports.lock.thread +#define IMPORT_LOCK_LEVEL(interp) \ + (interp)->imports.lock.level - error: - PyErr_Print(); - return _PyStatus_ERR("initializing zipimport failed"); -} +#define FIND_AND_LOAD(interp) \ + (interp)->imports.find_and_load + + +/*******************/ +/* the import lock */ +/*******************/ /* Locking primitives to prevent parallel imports of the same module in different threads to return with a partially loaded module. These calls are serialized by the global interpreter lock. */ -static PyThread_type_lock import_lock = NULL; -static unsigned long import_lock_thread = PYTHREAD_INVALID_THREAD_ID; -static int import_lock_level = 0; - void -_PyImport_AcquireLock(void) +_PyImport_AcquireLock(PyInterpreterState *interp) { unsigned long me = PyThread_get_thread_ident(); if (me == PYTHREAD_INVALID_THREAD_ID) return; /* Too bad */ - if (import_lock == NULL) { - import_lock = PyThread_allocate_lock(); - if (import_lock == NULL) + if (IMPORT_LOCK(interp) == NULL) { + IMPORT_LOCK(interp) = PyThread_allocate_lock(); + if (IMPORT_LOCK(interp) == NULL) return; /* Nothing much we can do. */ } - if (import_lock_thread == me) { - import_lock_level++; + if (IMPORT_LOCK_THREAD(interp) == me) { + IMPORT_LOCK_LEVEL(interp)++; return; } - if (import_lock_thread != PYTHREAD_INVALID_THREAD_ID || - !PyThread_acquire_lock(import_lock, 0)) + if (IMPORT_LOCK_THREAD(interp) != PYTHREAD_INVALID_THREAD_ID || + !PyThread_acquire_lock(IMPORT_LOCK(interp), 0)) { PyThreadState *tstate = PyEval_SaveThread(); - PyThread_acquire_lock(import_lock, WAIT_LOCK); + PyThread_acquire_lock(IMPORT_LOCK(interp), WAIT_LOCK); PyEval_RestoreThread(tstate); } - assert(import_lock_level == 0); - import_lock_thread = me; - import_lock_level = 1; + assert(IMPORT_LOCK_LEVEL(interp) == 0); + IMPORT_LOCK_THREAD(interp) = me; + IMPORT_LOCK_LEVEL(interp) = 1; } int -_PyImport_ReleaseLock(void) +_PyImport_ReleaseLock(PyInterpreterState *interp) { unsigned long me = PyThread_get_thread_ident(); - if (me == PYTHREAD_INVALID_THREAD_ID || import_lock == NULL) + if (me == PYTHREAD_INVALID_THREAD_ID || IMPORT_LOCK(interp) == NULL) return 0; /* Too bad */ - if (import_lock_thread != me) + if (IMPORT_LOCK_THREAD(interp) != me) return -1; - import_lock_level--; - assert(import_lock_level >= 0); - if (import_lock_level == 0) { - import_lock_thread = PYTHREAD_INVALID_THREAD_ID; - PyThread_release_lock(import_lock); + IMPORT_LOCK_LEVEL(interp)--; + assert(IMPORT_LOCK_LEVEL(interp) >= 0); + if (IMPORT_LOCK_LEVEL(interp) == 0) { + IMPORT_LOCK_THREAD(interp) = PYTHREAD_INVALID_THREAD_ID; + PyThread_release_lock(IMPORT_LOCK(interp)); } return 1; } @@ -157,131 +151,67 @@ _PyImport_ReleaseLock(void) We now acquire the import lock around fork() calls but on some platforms (Solaris 9 and earlier? see isue7242) that still left us with problems. */ PyStatus -_PyImport_ReInitLock(void) +_PyImport_ReInitLock(PyInterpreterState *interp) { - if (import_lock != NULL) { - if (_PyThread_at_fork_reinit(&import_lock) < 0) { + if (IMPORT_LOCK(interp) != NULL) { + if (_PyThread_at_fork_reinit(&IMPORT_LOCK(interp)) < 0) { return _PyStatus_ERR("failed to create a new lock"); } } - if (import_lock_level > 1) { + if (IMPORT_LOCK_LEVEL(interp) > 1) { /* Forked as a side effect of import */ unsigned long me = PyThread_get_thread_ident(); - PyThread_acquire_lock(import_lock, WAIT_LOCK); - import_lock_thread = me; - import_lock_level--; + PyThread_acquire_lock(IMPORT_LOCK(interp), WAIT_LOCK); + IMPORT_LOCK_THREAD(interp) = me; + IMPORT_LOCK_LEVEL(interp)--; } else { - import_lock_thread = PYTHREAD_INVALID_THREAD_ID; - import_lock_level = 0; + IMPORT_LOCK_THREAD(interp) = PYTHREAD_INVALID_THREAD_ID; + IMPORT_LOCK_LEVEL(interp) = 0; } return _PyStatus_OK(); } #endif -/*[clinic input] -_imp.lock_held - -Return True if the import lock is currently held, else False. - -On platforms without threads, return False. -[clinic start generated code]*/ - -static PyObject * -_imp_lock_held_impl(PyObject *module) -/*[clinic end generated code: output=8b89384b5e1963fc input=9b088f9b217d9bdf]*/ -{ - return PyBool_FromLong(import_lock_thread != PYTHREAD_INVALID_THREAD_ID); -} - -/*[clinic input] -_imp.acquire_lock - -Acquires the interpreter's import lock for the current thread. - -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]*/ - -static PyObject * -_imp_acquire_lock_impl(PyObject *module) -/*[clinic end generated code: output=1aff58cb0ee1b026 input=4a2d4381866d5fdc]*/ -{ - _PyImport_AcquireLock(); - Py_RETURN_NONE; -} - -/*[clinic input] -_imp.release_lock - -Release the interpreter's import lock. -On platforms without threads, this function does nothing. -[clinic start generated code]*/ +/***************/ +/* sys.modules */ +/***************/ -static PyObject * -_imp_release_lock_impl(PyObject *module) -/*[clinic end generated code: output=7faab6d0be178b0a input=934fb11516dd778b]*/ +PyObject * +_PyImport_InitModules(PyInterpreterState *interp) { - if (_PyImport_ReleaseLock() < 0) { - PyErr_SetString(PyExc_RuntimeError, - "not holding the import lock"); + assert(MODULES(interp) == NULL); + MODULES(interp) = PyDict_New(); + if (MODULES(interp) == NULL) { return NULL; } - Py_RETURN_NONE; + return MODULES(interp); } -void -_PyImport_Fini(void) +PyObject * +_PyImport_GetModules(PyInterpreterState *interp) { - Py_CLEAR(extensions); - if (import_lock != NULL) { - PyThread_free_lock(import_lock); - import_lock = NULL; - } + return MODULES(interp); } void -_PyImport_Fini2(void) +_PyImport_ClearModules(PyInterpreterState *interp) { - /* Use the same memory allocator than PyImport_ExtendInittab(). */ - PyMemAllocatorEx old_alloc; - _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - - // Reset PyImport_Inittab - PyImport_Inittab = _PyImport_Inittab; - - /* Free memory allocated by PyImport_ExtendInittab() */ - PyMem_RawFree(inittab_copy); - inittab_copy = NULL; - - PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); + Py_SETREF(MODULES(interp), NULL); } -/* Helper for sys */ - PyObject * PyImport_GetModuleDict(void) { PyInterpreterState *interp = _PyInterpreterState_GET(); - if (interp->modules == NULL) { + if (MODULES(interp) == NULL) { Py_FatalError("interpreter has no modules dictionary"); } - return interp->modules; -} - -/* In some corner cases it is important to be sure that the import - machinery has been initialized (or not cleaned up yet). For - example, see issue #4236 and PyModule_Create2(). */ - -int -_PyImport_IsInitialized(PyInterpreterState *interp) -{ - if (interp->modules == NULL) - return 0; - return 1; + return MODULES(interp); } +// This is only kept around for extensions that use _Py_IDENTIFIER. PyObject * _PyImport_GetModuleId(_Py_Identifier *nameid) { @@ -296,7 +226,7 @@ int _PyImport_SetModule(PyObject *name, PyObject *m) { PyInterpreterState *interp = _PyInterpreterState_GET(); - PyObject *modules = interp->modules; + PyObject *modules = MODULES(interp); return PyObject_SetItem(modules, name, m); } @@ -304,14 +234,14 @@ int _PyImport_SetModuleString(const char *name, PyObject *m) { PyInterpreterState *interp = _PyInterpreterState_GET(); - PyObject *modules = interp->modules; + PyObject *modules = MODULES(interp); return PyMapping_SetItemString(modules, name, m); } static PyObject * import_get_module(PyThreadState *tstate, PyObject *name) { - PyObject *modules = tstate->interp->modules; + PyObject *modules = MODULES(tstate->interp); if (modules == NULL) { _PyErr_SetString(tstate, PyExc_RuntimeError, "unable to get sys.modules"); @@ -334,7 +264,6 @@ import_get_module(PyThreadState *tstate, PyObject *name) return m; } - static int import_ensure_initialized(PyInterpreterState *interp, PyObject *mod, PyObject *name) { @@ -351,7 +280,7 @@ import_ensure_initialized(PyInterpreterState *interp, PyObject *mod, PyObject *n if (busy) { /* Wait until module is done importing. */ PyObject *value = _PyObject_CallMethodOneArg( - interp->importlib, &_Py_ID(_lock_unlock_module), name); + IMPORTLIB(interp), &_Py_ID(_lock_unlock_module), name); if (value == NULL) { return -1; } @@ -360,224 +289,52 @@ import_ensure_initialized(PyInterpreterState *interp, PyObject *mod, PyObject *n return 0; } +static void remove_importlib_frames(PyThreadState *tstate); -/* Helper for pythonrun.c -- return magic number and tag. */ - -long -PyImport_GetMagicNumber(void) -{ - long res; - PyInterpreterState *interp = _PyInterpreterState_GET(); - PyObject *external, *pyc_magic; - - external = PyObject_GetAttrString(interp->importlib, "_bootstrap_external"); - if (external == NULL) - return -1; - pyc_magic = PyObject_GetAttrString(external, "_RAW_MAGIC_NUMBER"); - Py_DECREF(external); - if (pyc_magic == NULL) - return -1; - res = PyLong_AsLong(pyc_magic); - Py_DECREF(pyc_magic); - return res; -} - - -extern const char * _PySys_ImplCacheTag; - -const char * -PyImport_GetMagicTag(void) -{ - return _PySys_ImplCacheTag; -} - - -/* Magic for extension modules (built-in as well as dynamically - loaded). To prevent initializing an extension module more than - once, we keep a static dictionary 'extensions' keyed by the tuple - (module name, module name) (for built-in modules) or by - (filename, module name) (for dynamically loaded modules), containing these - modules. A copy of the module's dictionary is stored by calling - _PyImport_FixupExtensionObject() immediately after the module initialization - function succeeds. A copy can be retrieved from there by calling - import_find_extension(). - - Modules which do support multiple initialization set their m_size - field to a non-negative number (indicating the size of the - module-specific state). They are still recorded in the extensions - dictionary, to avoid loading shared libraries twice. -*/ - -int -_PyImport_FixupExtensionObject(PyObject *mod, PyObject *name, - PyObject *filename, PyObject *modules) +PyObject * +PyImport_GetModule(PyObject *name) { - if (mod == NULL || !PyModule_Check(mod)) { - PyErr_BadInternalCall(); - return -1; - } - - struct PyModuleDef *def = PyModule_GetDef(mod); - if (!def) { - PyErr_BadInternalCall(); - return -1; - } - PyThreadState *tstate = _PyThreadState_GET(); - if (PyObject_SetItem(modules, name, mod) < 0) { - return -1; - } - if (_PyState_AddModule(tstate, mod, def) < 0) { - PyMapping_DelItem(modules, name); - return -1; - } - - // bpo-44050: Extensions and def->m_base.m_copy can be updated - // when the extension module doesn't support sub-interpreters. - if (_Py_IsMainInterpreter(tstate->interp) || def->m_size == -1) { - if (def->m_size == -1) { - if (def->m_base.m_copy) { - /* Somebody already imported the module, - likely under a different name. - XXX this should really not happen. */ - Py_CLEAR(def->m_base.m_copy); - } - PyObject *dict = PyModule_GetDict(mod); - if (dict == NULL) { - return -1; - } - def->m_base.m_copy = PyDict_Copy(dict); - if (def->m_base.m_copy == NULL) { - return -1; - } - } - - if (extensions == NULL) { - extensions = PyDict_New(); - if (extensions == NULL) { - return -1; - } - } + PyObject *mod; - PyObject *key = PyTuple_Pack(2, filename, name); - if (key == NULL) { - return -1; - } - int res = PyDict_SetItem(extensions, key, (PyObject *)def); - Py_DECREF(key); - if (res < 0) { - return -1; + mod = import_get_module(tstate, name); + if (mod != NULL && mod != Py_None) { + if (import_ensure_initialized(tstate->interp, mod, name) < 0) { + Py_DECREF(mod); + remove_importlib_frames(tstate); + return NULL; } } - - return 0; + return mod; } -int -_PyImport_FixupBuiltin(PyObject *mod, const char *name, PyObject *modules) -{ - int res; - PyObject *nameobj; - nameobj = PyUnicode_InternFromString(name); - if (nameobj == NULL) - return -1; - res = _PyImport_FixupExtensionObject(mod, nameobj, nameobj, modules); - Py_DECREF(nameobj); - return res; -} +/* Get the module object corresponding to a module name. + First check the modules dictionary if there's one there, + if not, create a new one and insert it in the modules dictionary. */ static PyObject * -import_find_extension(PyThreadState *tstate, PyObject *name, - PyObject *filename) +import_add_module(PyThreadState *tstate, PyObject *name) { - if (extensions == NULL) { + PyObject *modules = MODULES(tstate->interp); + if (modules == NULL) { + _PyErr_SetString(tstate, PyExc_RuntimeError, + "no import module dictionary"); return NULL; } - PyObject *key = PyTuple_Pack(2, filename, name); - if (key == NULL) { - return NULL; + PyObject *m; + if (PyDict_CheckExact(modules)) { + m = Py_XNewRef(PyDict_GetItemWithError(modules, name)); } - PyModuleDef* def = (PyModuleDef *)PyDict_GetItemWithError(extensions, key); - Py_DECREF(key); - if (def == NULL) { - return NULL; - } - - PyObject *mod, *mdict; - PyObject *modules = tstate->interp->modules; - - if (def->m_size == -1) { - /* Module does not support repeated initialization */ - if (def->m_base.m_copy == NULL) - return NULL; - mod = import_add_module(tstate, name); - if (mod == NULL) - return NULL; - mdict = PyModule_GetDict(mod); - if (mdict == NULL) { - Py_DECREF(mod); - return NULL; - } - if (PyDict_Update(mdict, def->m_base.m_copy)) { - Py_DECREF(mod); - return NULL; - } - } - else { - if (def->m_base.m_init == NULL) - return NULL; - mod = _PyImport_InitFunc_TrampolineCall(def->m_base.m_init); - if (mod == NULL) - return NULL; - if (PyObject_SetItem(modules, name, mod) == -1) { - Py_DECREF(mod); - return NULL; - } - } - if (_PyState_AddModule(tstate, mod, def) < 0) { - PyMapping_DelItem(modules, name); - Py_DECREF(mod); - return NULL; - } - - int verbose = _PyInterpreterState_GetConfig(tstate->interp)->verbose; - if (verbose) { - PySys_FormatStderr("import %U # previously loaded (%R)\n", - name, filename); - } - return mod; -} - - -/* Get the module object corresponding to a module name. - First check the modules dictionary if there's one there, - if not, create a new one and insert it in the modules dictionary. */ - -static PyObject * -import_add_module(PyThreadState *tstate, PyObject *name) -{ - PyObject *modules = tstate->interp->modules; - if (modules == NULL) { - _PyErr_SetString(tstate, PyExc_RuntimeError, - "no import module dictionary"); - return NULL; - } - - PyObject *m; - if (PyDict_CheckExact(modules)) { - m = PyDict_GetItemWithError(modules, name); - Py_XINCREF(m); - } - else { - m = PyObject_GetItem(modules, name); - // For backward-compatibility we copy the behavior - // of PyDict_GetItemWithError(). - if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { - _PyErr_Clear(tstate); - } - } - if (_PyErr_Occurred(tstate)) { + else { + m = PyObject_GetItem(modules, name); + // For backward-compatibility we copy the behavior + // of PyDict_GetItemWithError(). + if (_PyErr_ExceptionMatches(tstate, PyExc_KeyError)) { + _PyErr_Clear(tstate); + } + } + if (_PyErr_Occurred(tstate)) { return NULL; } if (m != NULL && PyModule_Check(m)) { @@ -634,10 +391,9 @@ PyImport_AddModule(const char *name) static void remove_module(PyThreadState *tstate, PyObject *name) { - PyObject *type, *value, *traceback; - _PyErr_Fetch(tstate, &type, &value, &traceback); + PyObject *exc = _PyErr_GetRaisedException(tstate); - PyObject *modules = tstate->interp->modules; + PyObject *modules = MODULES(tstate->interp); if (PyDict_CheckExact(modules)) { PyObject *mod = _PyDict_Pop(modules, name, Py_None); Py_XDECREF(mod); @@ -648,410 +404,1404 @@ remove_module(PyThreadState *tstate, PyObject *name) } } - _PyErr_ChainExceptions(type, value, traceback); + _PyErr_ChainExceptions1(exc); } -/* Execute a code object in a module and return the module object - * WITH INCREMENTED REFERENCE COUNT. If an error occurs, name is - * removed from sys.modules, to avoid leaving damaged module objects - * in sys.modules. The caller may wish to restore the original - * module object (if any) in this case; PyImport_ReloadModule is an - * example. - * - * Note that PyImport_ExecCodeModuleWithPathnames() is the preferred, richer - * interface. The other two exist primarily for backward compatibility. - */ -PyObject * -PyImport_ExecCodeModule(const char *name, PyObject *co) +/************************************/ +/* per-interpreter modules-by-index */ +/************************************/ + +Py_ssize_t +_PyImport_GetNextModuleIndex(void) { - return PyImport_ExecCodeModuleWithPathnames( - name, co, (char *)NULL, (char *)NULL); + PyThread_acquire_lock(EXTENSIONS.mutex, WAIT_LOCK); + LAST_MODULE_INDEX++; + Py_ssize_t index = LAST_MODULE_INDEX; + PyThread_release_lock(EXTENSIONS.mutex); + return index; } -PyObject * -PyImport_ExecCodeModuleEx(const char *name, PyObject *co, const char *pathname) +static const char * +_modules_by_index_check(PyInterpreterState *interp, Py_ssize_t index) { - return PyImport_ExecCodeModuleWithPathnames( - name, co, pathname, (char *)NULL); + if (index == 0) { + return "invalid module index"; + } + if (MODULES_BY_INDEX(interp) == NULL) { + return "Interpreters module-list not accessible."; + } + if (index > PyList_GET_SIZE(MODULES_BY_INDEX(interp))) { + return "Module index out of bounds."; + } + return NULL; } -PyObject * -PyImport_ExecCodeModuleWithPathnames(const char *name, PyObject *co, - const char *pathname, - const char *cpathname) +static PyObject * +_modules_by_index_get(PyInterpreterState *interp, PyModuleDef *def) { - PyObject *m = NULL; - PyObject *nameobj, *pathobj = NULL, *cpathobj = NULL, *external= NULL; - - nameobj = PyUnicode_FromString(name); - if (nameobj == NULL) + Py_ssize_t index = def->m_base.m_index; + if (_modules_by_index_check(interp, index) != NULL) { return NULL; - - if (cpathname != NULL) { - cpathobj = PyUnicode_DecodeFSDefault(cpathname); - if (cpathobj == NULL) - goto error; } - else - cpathobj = NULL; + PyObject *res = PyList_GET_ITEM(MODULES_BY_INDEX(interp), index); + return res==Py_None ? NULL : res; +} - if (pathname != NULL) { - pathobj = PyUnicode_DecodeFSDefault(pathname); - if (pathobj == NULL) - goto error; - } - else if (cpathobj != NULL) { - PyInterpreterState *interp = _PyInterpreterState_GET(); +static int +_modules_by_index_set(PyInterpreterState *interp, + PyModuleDef *def, PyObject *module) +{ + assert(def != NULL); + assert(def->m_slots == NULL); + assert(def->m_base.m_index > 0); - if (interp == NULL) { - Py_FatalError("no current interpreter"); + if (MODULES_BY_INDEX(interp) == NULL) { + MODULES_BY_INDEX(interp) = PyList_New(0); + if (MODULES_BY_INDEX(interp) == NULL) { + return -1; } + } - external= PyObject_GetAttrString(interp->importlib, - "_bootstrap_external"); - if (external != NULL) { - pathobj = _PyObject_CallMethodOneArg( - external, &_Py_ID(_get_sourcefile), cpathobj); - Py_DECREF(external); + Py_ssize_t index = def->m_base.m_index; + while (PyList_GET_SIZE(MODULES_BY_INDEX(interp)) <= index) { + if (PyList_Append(MODULES_BY_INDEX(interp), Py_None) < 0) { + return -1; } - if (pathobj == NULL) - PyErr_Clear(); } - else - pathobj = NULL; - m = PyImport_ExecCodeModuleObject(nameobj, co, pathobj, cpathobj); -error: - Py_DECREF(nameobj); - Py_XDECREF(pathobj); - Py_XDECREF(cpathobj); - return m; + return PyList_SetItem(MODULES_BY_INDEX(interp), index, Py_NewRef(module)); } -static PyObject * -module_dict_for_exec(PyThreadState *tstate, PyObject *name) +static int +_modules_by_index_clear_one(PyInterpreterState *interp, PyModuleDef *def) { - PyObject *m, *d; - - m = import_add_module(tstate, name); - if (m == NULL) - return NULL; - /* If the module is being reloaded, we get the old module back - and re-use its dict to exec the new code. */ - d = PyModule_GetDict(m); - int r = PyDict_Contains(d, &_Py_ID(__builtins__)); - if (r == 0) { - r = PyDict_SetItem(d, &_Py_ID(__builtins__), PyEval_GetBuiltins()); + Py_ssize_t index = def->m_base.m_index; + const char *err = _modules_by_index_check(interp, index); + if (err != NULL) { + Py_FatalError(err); + return -1; } - if (r < 0) { - remove_module(tstate, name); - Py_DECREF(m); + return PyList_SetItem(MODULES_BY_INDEX(interp), index, Py_NewRef(Py_None)); +} + + +PyObject* +PyState_FindModule(PyModuleDef* module) +{ + PyInterpreterState *interp = _PyInterpreterState_GET(); + if (module->m_slots) { return NULL; } + return _modules_by_index_get(interp, module); +} - Py_INCREF(d); - Py_DECREF(m); - return d; +/* _PyState_AddModule() has been completely removed from the C-API + (and was removed from the limited API in 3.6). However, we're + playing it safe and keeping it around for any stable ABI extensions + built against 3.2-3.5. */ +int +_PyState_AddModule(PyThreadState *tstate, PyObject* module, PyModuleDef* def) +{ + if (!def) { + assert(_PyErr_Occurred(tstate)); + return -1; + } + if (def->m_slots) { + _PyErr_SetString(tstate, + PyExc_SystemError, + "PyState_AddModule called on module with slots"); + return -1; + } + return _modules_by_index_set(tstate->interp, def, module); } -static PyObject * -exec_code_in_module(PyThreadState *tstate, PyObject *name, - PyObject *module_dict, PyObject *code_object) +int +PyState_AddModule(PyObject* module, PyModuleDef* def) { - PyObject *v, *m; + if (!def) { + Py_FatalError("module definition is NULL"); + return -1; + } - v = PyEval_EvalCode(code_object, module_dict, module_dict); - if (v == NULL) { - remove_module(tstate, name); - return NULL; + PyThreadState *tstate = _PyThreadState_GET(); + if (def->m_slots) { + _PyErr_SetString(tstate, + PyExc_SystemError, + "PyState_AddModule called on module with slots"); + return -1; } - Py_DECREF(v); - m = import_get_module(tstate, name); - if (m == NULL && !_PyErr_Occurred(tstate)) { - _PyErr_Format(tstate, PyExc_ImportError, - "Loaded module %R not found in sys.modules", - name); + PyInterpreterState *interp = tstate->interp; + Py_ssize_t index = def->m_base.m_index; + if (MODULES_BY_INDEX(interp) && + index < PyList_GET_SIZE(MODULES_BY_INDEX(interp)) && + module == PyList_GET_ITEM(MODULES_BY_INDEX(interp), index)) + { + _Py_FatalErrorFormat(__func__, "module %p already added", module); + return -1; } - return m; + return _modules_by_index_set(interp, def, module); } -PyObject* -PyImport_ExecCodeModuleObject(PyObject *name, PyObject *co, PyObject *pathname, - PyObject *cpathname) +int +PyState_RemoveModule(PyModuleDef* def) { PyThreadState *tstate = _PyThreadState_GET(); - PyObject *d, *external, *res; - - d = module_dict_for_exec(tstate, name); - if (d == NULL) { - return NULL; + if (def->m_slots) { + _PyErr_SetString(tstate, + PyExc_SystemError, + "PyState_RemoveModule called on module with slots"); + return -1; } + return _modules_by_index_clear_one(tstate->interp, def); +} - if (pathname == NULL) { - pathname = ((PyCodeObject *)co)->co_filename; - } - external = PyObject_GetAttrString(tstate->interp->importlib, - "_bootstrap_external"); - if (external == NULL) { - Py_DECREF(d); - return NULL; + +// Used by finalize_modules() +void +_PyImport_ClearModulesByIndex(PyInterpreterState *interp) +{ + if (!MODULES_BY_INDEX(interp)) { + return; } - res = PyObject_CallMethodObjArgs(external, &_Py_ID(_fix_up_module), - d, name, pathname, cpathname, NULL); - Py_DECREF(external); - if (res != NULL) { - Py_DECREF(res); - res = exec_code_in_module(tstate, name, d, co); + + Py_ssize_t i; + for (i = 0; i < PyList_GET_SIZE(MODULES_BY_INDEX(interp)); i++) { + PyObject *m = PyList_GET_ITEM(MODULES_BY_INDEX(interp), i); + if (PyModule_Check(m)) { + /* cleanup the saved copy of module dicts */ + PyModuleDef *md = PyModule_GetDef(m); + if (md) { + Py_CLEAR(md->m_base.m_copy); + } + } } - Py_DECREF(d); - return res; -} + /* Setting modules_by_index to NULL could be dangerous, so we + clear the list instead. */ + if (PyList_SetSlice(MODULES_BY_INDEX(interp), + 0, PyList_GET_SIZE(MODULES_BY_INDEX(interp)), + NULL)) { + PyErr_WriteUnraisable(MODULES_BY_INDEX(interp)); + } +} + + +/*********************/ +/* extension modules */ +/*********************/ + +/* + It may help to have a big picture view of what happens + when an extension is loaded. This includes when it is imported + for the first time. + + Here's a summary, using importlib._boostrap._load() as a starting point. + + 1. importlib._bootstrap._load() + 2. _load(): acquire import lock + 3. _load() -> importlib._bootstrap._load_unlocked() + 4. _load_unlocked() -> importlib._bootstrap.module_from_spec() + 5. module_from_spec() -> ExtensionFileLoader.create_module() + 6. create_module() -> _imp.create_dynamic() + (see below) + 7. module_from_spec() -> importlib._bootstrap._init_module_attrs() + 8. _load_unlocked(): sys.modules[name] = module + 9. _load_unlocked() -> ExtensionFileLoader.exec_module() + 10. exec_module() -> _imp.exec_dynamic() + (see below) + 11. _load(): release import lock + + + ...for single-phase init modules, where m_size == -1: + + (6). first time (not found in _PyRuntime.imports.extensions): + 1. _imp_create_dynamic_impl() -> import_find_extension() + 2. _imp_create_dynamic_impl() -> _PyImport_LoadDynamicModuleWithSpec() + 3. _PyImport_LoadDynamicModuleWithSpec(): load + 4. _PyImport_LoadDynamicModuleWithSpec(): call + 5. -> PyModule_Create() -> PyModule_Create2() -> PyModule_CreateInitialized() + 6. PyModule_CreateInitialized() -> PyModule_New() + 7. PyModule_CreateInitialized(): allocate mod->md_state + 8. PyModule_CreateInitialized() -> PyModule_AddFunctions() + 9. PyModule_CreateInitialized() -> PyModule_SetDocString() + 10. PyModule_CreateInitialized(): set mod->md_def + 11. : initialize the module + 12. _PyImport_LoadDynamicModuleWithSpec() -> _PyImport_CheckSubinterpIncompatibleExtensionAllowed() + 13. _PyImport_LoadDynamicModuleWithSpec(): set def->m_base.m_init + 14. _PyImport_LoadDynamicModuleWithSpec(): set __file__ + 15. _PyImport_LoadDynamicModuleWithSpec() -> _PyImport_FixupExtensionObject() + 16. _PyImport_FixupExtensionObject(): add it to interp->imports.modules_by_index + 17. _PyImport_FixupExtensionObject(): copy __dict__ into def->m_base.m_copy + 18. _PyImport_FixupExtensionObject(): add it to _PyRuntime.imports.extensions + + (6). subsequent times (found in _PyRuntime.imports.extensions): + 1. _imp_create_dynamic_impl() -> import_find_extension() + 2. import_find_extension() -> import_add_module() + 3. if name in sys.modules: use that module + 4. else: + 1. import_add_module() -> PyModule_NewObject() + 2. import_add_module(): set it on sys.modules + 5. import_find_extension(): copy the "m_copy" dict into __dict__ + 6. _imp_create_dynamic_impl() -> _PyImport_CheckSubinterpIncompatibleExtensionAllowed() + + (10). (every time): + 1. noop + + + ...for single-phase init modules, where m_size >= 0: + + (6). not main interpreter and never loaded there - every time (not found in _PyRuntime.imports.extensions): + 1-16. (same as for m_size == -1) + + (6). main interpreter - first time (not found in _PyRuntime.imports.extensions): + 1-16. (same as for m_size == -1) + 17. _PyImport_FixupExtensionObject(): add it to _PyRuntime.imports.extensions + + (6). previously loaded in main interpreter (found in _PyRuntime.imports.extensions): + 1. _imp_create_dynamic_impl() -> import_find_extension() + 2. import_find_extension(): call def->m_base.m_init + 3. import_find_extension(): add the module to sys.modules + + (10). every time: + 1. noop + + + ...for multi-phase init modules: + + (6). every time: + 1. _imp_create_dynamic_impl() -> import_find_extension() (not found) + 2. _imp_create_dynamic_impl() -> _PyImport_LoadDynamicModuleWithSpec() + 3. _PyImport_LoadDynamicModuleWithSpec(): load module init func + 4. _PyImport_LoadDynamicModuleWithSpec(): call module init func + 5. _PyImport_LoadDynamicModuleWithSpec() -> PyModule_FromDefAndSpec() + 6. PyModule_FromDefAndSpec(): gather/check moduledef slots + 7. if there's a Py_mod_create slot: + 1. PyModule_FromDefAndSpec(): call its function + 8. else: + 1. PyModule_FromDefAndSpec() -> PyModule_NewObject() + 9: PyModule_FromDefAndSpec(): set mod->md_def + 10. PyModule_FromDefAndSpec() -> _add_methods_to_object() + 11. PyModule_FromDefAndSpec() -> PyModule_SetDocString() + + (10). every time: + 1. _imp_exec_dynamic_impl() -> exec_builtin_or_dynamic() + 2. if mod->md_state == NULL (including if m_size == 0): + 1. exec_builtin_or_dynamic() -> PyModule_ExecDef() + 2. PyModule_ExecDef(): allocate mod->md_state + 3. if there's a Py_mod_exec slot: + 1. PyModule_ExecDef(): call its function + */ -static void -update_code_filenames(PyCodeObject *co, PyObject *oldname, PyObject *newname) -{ - PyObject *constants, *tmp; - Py_ssize_t i, n; - if (PyUnicode_Compare(co->co_filename, oldname)) - return; +/* Make sure name is fully qualified. - Py_INCREF(newname); - Py_XSETREF(co->co_filename, newname); + This is a bit of a hack: when the shared library is loaded, + the module name is "package.module", but the module calls + PyModule_Create*() with just "module" for the name. The shared + library loader squirrels away the true name of the module in + _PyRuntime.imports.pkgcontext, and PyModule_Create*() will + substitute this (if the name actually matches). +*/ - constants = co->co_consts; - n = PyTuple_GET_SIZE(constants); - for (i = 0; i < n; i++) { - tmp = PyTuple_GET_ITEM(constants, i); - if (PyCode_Check(tmp)) - update_code_filenames((PyCodeObject *)tmp, - oldname, newname); +#ifdef HAVE_THREAD_LOCAL +_Py_thread_local const char *pkgcontext = NULL; +# undef PKGCONTEXT +# define PKGCONTEXT pkgcontext +#endif + +const char * +_PyImport_ResolveNameWithPackageContext(const char *name) +{ +#ifndef HAVE_THREAD_LOCAL + PyThread_acquire_lock(EXTENSIONS.mutex, WAIT_LOCK); +#endif + if (PKGCONTEXT != NULL) { + const char *p = strrchr(PKGCONTEXT, '.'); + if (p != NULL && strcmp(name, p+1) == 0) { + name = PKGCONTEXT; + PKGCONTEXT = NULL; + } } +#ifndef HAVE_THREAD_LOCAL + PyThread_release_lock(EXTENSIONS.mutex); +#endif + return name; } -static void -update_compiled_module(PyCodeObject *co, PyObject *newname) +const char * +_PyImport_SwapPackageContext(const char *newcontext) { - PyObject *oldname; - - if (PyUnicode_Compare(co->co_filename, newname) == 0) - return; +#ifndef HAVE_THREAD_LOCAL + PyThread_acquire_lock(EXTENSIONS.mutex, WAIT_LOCK); +#endif + const char *oldcontext = PKGCONTEXT; + PKGCONTEXT = newcontext; +#ifndef HAVE_THREAD_LOCAL + PyThread_release_lock(EXTENSIONS.mutex); +#endif + return oldcontext; +} - oldname = co->co_filename; - Py_INCREF(oldname); - update_code_filenames(co, oldname, newname); - Py_DECREF(oldname); +#ifdef HAVE_DLOPEN +int +_PyImport_GetDLOpenFlags(PyInterpreterState *interp) +{ + return DLOPENFLAGS(interp); } -/*[clinic input] -_imp._fix_co_filename +void +_PyImport_SetDLOpenFlags(PyInterpreterState *interp, int new_val) +{ + DLOPENFLAGS(interp) = new_val; +} +#endif // HAVE_DLOPEN - code: object(type="PyCodeObject *", subclass_of="&PyCode_Type") - Code object to change. - path: unicode - File path to use. - / +/* Common implementation for _imp.exec_dynamic and _imp.exec_builtin */ +static int +exec_builtin_or_dynamic(PyObject *mod) { + PyModuleDef *def; + void *state; -Changes code.co_filename to specify the passed-in file path. -[clinic start generated code]*/ + if (!PyModule_Check(mod)) { + return 0; + } -static PyObject * -_imp__fix_co_filename_impl(PyObject *module, PyCodeObject *code, - PyObject *path) -/*[clinic end generated code: output=1d002f100235587d input=895ba50e78b82f05]*/ + def = PyModule_GetDef(mod); + if (def == NULL) { + return 0; + } -{ - update_compiled_module(code, path); + state = PyModule_GetState(mod); + if (state) { + /* Already initialized; skip reload */ + return 0; + } - Py_RETURN_NONE; + return PyModule_ExecDef(mod, def); } -/* Helper to test for built-in module */ +static int clear_singlephase_extension(PyInterpreterState *interp, + PyObject *name, PyObject *filename); -static int -is_builtin(PyObject *name) +// Currently, this is only used for testing. +// (See _testinternalcapi.clear_extension().) +int +_PyImport_ClearExtension(PyObject *name, PyObject *filename) { - int i; - for (i = 0; PyImport_Inittab[i].name != NULL; i++) { - if (_PyUnicode_EqualToASCIIString(name, PyImport_Inittab[i].name)) { - if (PyImport_Inittab[i].initfunc == NULL) - return -1; - else - return 1; - } + PyInterpreterState *interp = _PyInterpreterState_GET(); + + /* Clearing a module's C globals is up to the module. */ + if (clear_singlephase_extension(interp, name, filename) < 0) { + return -1; } + + // In the future we'll probably also make sure the extension's + // file handle (and DL handle) is closed (requires saving it). + return 0; } -/* Return a finder object for a sys.path/pkg.__path__ item 'p', - possibly by fetching it from the path_importer_cache dict. If it - wasn't yet cached, traverse path_hooks until a hook is found - that can handle the path item. Return None if no hook could; - this tells our caller that the path based finder could not find - a finder for this path item. Cache the result in - path_importer_cache. */ +/*******************/ -static PyObject * -get_path_importer(PyThreadState *tstate, PyObject *path_importer_cache, - PyObject *path_hooks, PyObject *p) -{ - PyObject *importer; - Py_ssize_t j, nhooks; +#if defined(__EMSCRIPTEN__) && defined(PY_CALL_TRAMPOLINE) +#error #include +EM_JS(PyObject*, _PyImport_InitFunc_TrampolineCall, (PyModInitFunction func), { + return wasmTable.get(func)(); +}); +#endif // __EMSCRIPTEN__ && PY_CALL_TRAMPOLINE - /* These conditions are the caller's responsibility: */ - assert(PyList_Check(path_hooks)); - assert(PyDict_Check(path_importer_cache)); - nhooks = PyList_Size(path_hooks); - if (nhooks < 0) - return NULL; /* Shouldn't happen */ +/*****************************/ +/* single-phase init modules */ +/*****************************/ + +/* +We support a number of kinds of single-phase init builtin/extension modules: + +* "basic" + * no module state (PyModuleDef.m_size == -1) + * does not support repeated init (we use PyModuleDef.m_base.m_copy) + * may have process-global state + * the module's def is cached in _PyRuntime.imports.extensions, + by (name, filename) +* "reinit" + * no module state (PyModuleDef.m_size == 0) + * supports repeated init (m_copy is never used) + * should not have any process-global state + * its def is never cached in _PyRuntime.imports.extensions + (except, currently, under the main interpreter, for some reason) +* "with state" (almost the same as reinit) + * has module state (PyModuleDef.m_size > 0) + * supports repeated init (m_copy is never used) + * should not have any process-global state + * its def is never cached in _PyRuntime.imports.extensions + (except, currently, under the main interpreter, for some reason) + +There are also variants within those classes: + +* two or more modules share a PyModuleDef + * a module's init func uses another module's PyModuleDef + * a module's init func calls another's module's init func + * a module's init "func" is actually a variable statically initialized + to another module's init func +* two or modules share "methods" + * a module's init func copies another module's PyModuleDef + (with a different name) +* (basic-only) two or modules share process-global state + +In the first case, where modules share a PyModuleDef, the following +notable weirdness happens: + +* the module's __name__ matches the def, not the requested name +* the last module (with the same def) to be imported for the first time wins + * returned by PyState_Find_Module() (via interp->modules_by_index) + * (non-basic-only) its init func is used when re-loading any of them + (via the def's m_init) + * (basic-only) the copy of its __dict__ is used when re-loading any of them + (via the def's m_copy) + +However, the following happens as expected: + +* a new module object (with its own __dict__) is created for each request +* the module's __spec__ has the requested name +* the loaded module is cached in sys.modules under the requested name +* the m_index field of the shared def is not changed, + so at least PyState_FindModule() will always look in the same place + +For "basic" modules there are other quirks: + +* (whether sharing a def or not) when loaded the first time, + m_copy is set before _init_module_attrs() is called + in importlib._bootstrap.module_from_spec(), + so when the module is re-loaded, the previous value + for __wpec__ (and others) is reset, possibly unexpectedly. + +Generally, when multiple interpreters are involved, some of the above +gets even messier. +*/ - importer = PyDict_GetItemWithError(path_importer_cache, p); - if (importer != NULL || _PyErr_Occurred(tstate)) { - Py_XINCREF(importer); - return importer; - } +static inline void +extensions_lock_acquire(void) +{ + PyThread_acquire_lock(_PyRuntime.imports.extensions.mutex, WAIT_LOCK); +} - /* set path_importer_cache[p] to None to avoid recursion */ - if (PyDict_SetItem(path_importer_cache, p, Py_None) != 0) - return NULL; +static inline void +extensions_lock_release(void) +{ + PyThread_release_lock(_PyRuntime.imports.extensions.mutex); +} - for (j = 0; j < nhooks; j++) { - PyObject *hook = PyList_GetItem(path_hooks, j); - if (hook == NULL) - return NULL; - importer = PyObject_CallOneArg(hook, p); - if (importer != NULL) - break; +/* Magic for extension modules (built-in as well as dynamically + loaded). To prevent initializing an extension module more than + once, we keep a static dictionary 'extensions' keyed by the tuple + (module name, module name) (for built-in modules) or by + (filename, module name) (for dynamically loaded modules), containing these + modules. A copy of the module's dictionary is stored by calling + _PyImport_FixupExtensionObject() immediately after the module initialization + function succeeds. A copy can be retrieved from there by calling + import_find_extension(). - if (!_PyErr_ExceptionMatches(tstate, PyExc_ImportError)) { - return NULL; - } - _PyErr_Clear(tstate); - } - if (importer == NULL) { - Py_RETURN_NONE; - } - if (PyDict_SetItem(path_importer_cache, p, importer) < 0) { - Py_DECREF(importer); - return NULL; - } - return importer; -} + Modules which do support multiple initialization set their m_size + field to a non-negative number (indicating the size of the + module-specific state). They are still recorded in the extensions + dictionary, to avoid loading shared libraries twice. +*/ -PyObject * -PyImport_GetImporter(PyObject *path) +static void * +hashtable_key_from_2_strings(PyObject *str1, PyObject *str2, const char sep) { - PyThreadState *tstate = _PyThreadState_GET(); - PyObject *path_importer_cache = PySys_GetObject("path_importer_cache"); - if (path_importer_cache == NULL) { - PyErr_SetString(PyExc_RuntimeError, "lost sys.path_importer_cache"); + Py_ssize_t str1_len, str2_len; + const char *str1_data = PyUnicode_AsUTF8AndSize(str1, &str1_len); + const char *str2_data = PyUnicode_AsUTF8AndSize(str2, &str2_len); + if (str1_data == NULL || str2_data == NULL) { return NULL; } - Py_INCREF(path_importer_cache); - PyObject *path_hooks = PySys_GetObject("path_hooks"); - if (path_hooks == NULL) { - PyErr_SetString(PyExc_RuntimeError, "lost sys.path_hooks"); - Py_DECREF(path_importer_cache); + /* Make sure sep and the NULL byte won't cause an overflow. */ + assert(SIZE_MAX - str1_len - str2_len > 2); + size_t size = str1_len + 1 + str2_len + 1; + + char *key = PyMem_RawMalloc(size); + if (key == NULL) { + PyErr_NoMemory(); return NULL; } - Py_INCREF(path_hooks); - PyObject *importer = get_path_importer(tstate, path_importer_cache, path_hooks, path); - Py_DECREF(path_hooks); - Py_DECREF(path_importer_cache); - return importer; + + strncpy(key, str1_data, str1_len); + key[str1_len] = sep; + strncpy(key + str1_len + 1, str2_data, str2_len + 1); + assert(strlen(key) == size - 1); + return key; } -#if defined(__EMSCRIPTEN__) && defined(PY_CALL_TRAMPOLINE) -#error #include -EM_JS(PyObject*, _PyImport_InitFunc_TrampolineCall, (PyModInitFunction func), { - return wasmTable.get(func)(); -}); -#endif // __EMSCRIPTEN__ && PY_CALL_TRAMPOLINE +static Py_uhash_t +hashtable_hash_str(const void *key) +{ + return _Py_HashBytes(key, strlen((const char *)key)); +} -static PyObject* -create_builtin(PyThreadState *tstate, PyObject *name, PyObject *spec) +static int +hashtable_compare_str(const void *key1, const void *key2) { - PyObject *mod = import_find_extension(tstate, name, name); - if (mod || _PyErr_Occurred(tstate)) { - return mod; - } + return strcmp((const char *)key1, (const char *)key2) == 0; +} - PyObject *modules = tstate->interp->modules; - for (struct _inittab *p = PyImport_Inittab; p->name != NULL; p++) { - if (_PyUnicode_EqualToASCIIString(name, p->name)) { - if (p->initfunc == NULL) { - /* Cannot re-init internal module ("sys" or "builtins") */ - mod = PyImport_AddModuleObject(name); - return Py_XNewRef(mod); - } - mod = _PyImport_InitFunc_TrampolineCall(*p->initfunc); - if (mod == NULL) { - return NULL; - } +static void +hashtable_destroy_str(void *ptr) +{ + PyMem_RawFree(ptr); +} - if (PyObject_TypeCheck(mod, &PyModuleDef_Type)) { - return PyModule_FromDefAndSpec((PyModuleDef*)mod, spec); - } - else { - /* Remember pointer to module init function. */ - PyModuleDef *def = PyModule_GetDef(mod); - if (def == NULL) { - return NULL; - } +#define HTSEP ':' - def->m_base.m_init = p->initfunc; - if (_PyImport_FixupExtensionObject(mod, name, name, - modules) < 0) { - return NULL; - } - return mod; - } - } +static PyModuleDef * +_extensions_cache_get(PyObject *filename, PyObject *name) +{ + PyModuleDef *def = NULL; + void *key = NULL; + extensions_lock_acquire(); + + if (EXTENSIONS.hashtable == NULL) { + goto finally; } - // not found - Py_RETURN_NONE; + key = hashtable_key_from_2_strings(filename, name, HTSEP); + if (key == NULL) { + goto finally; + } + _Py_hashtable_entry_t *entry = _Py_hashtable_get_entry( + EXTENSIONS.hashtable, key); + if (entry == NULL) { + goto finally; + } + def = (PyModuleDef *)entry->value; + +finally: + extensions_lock_release(); + if (key != NULL) { + PyMem_RawFree(key); + } + return def; } +static int +_extensions_cache_set(PyObject *filename, PyObject *name, PyModuleDef *def) +{ + int res = -1; + extensions_lock_acquire(); + if (EXTENSIONS.hashtable == NULL) { + _Py_hashtable_allocator_t alloc = {PyMem_RawMalloc, PyMem_RawFree}; + EXTENSIONS.hashtable = _Py_hashtable_new_full( + hashtable_hash_str, + hashtable_compare_str, + hashtable_destroy_str, // key + /* There's no need to decref the def since it's immortal. */ + NULL, // value + &alloc + ); + if (EXTENSIONS.hashtable == NULL) { + PyErr_NoMemory(); + goto finally; + } + } -/*[clinic input] -_imp.create_builtin + void *key = hashtable_key_from_2_strings(filename, name, HTSEP); + if (key == NULL) { + goto finally; + } - spec: object - / + int already_set = 0; + _Py_hashtable_entry_t *entry = _Py_hashtable_get_entry( + EXTENSIONS.hashtable, key); + if (entry == NULL) { + if (_Py_hashtable_set(EXTENSIONS.hashtable, key, def) < 0) { + PyMem_RawFree(key); + PyErr_NoMemory(); + goto finally; + } + } + else { + if (entry->value == NULL) { + entry->value = def; + } + else { + /* We expect it to be static, so it must be the same pointer. */ + assert((PyModuleDef *)entry->value == def); + already_set = 1; + } + PyMem_RawFree(key); + } + if (!already_set) { + /* We assume that all module defs are statically allocated + and will never be freed. Otherwise, we would incref here. */ + _Py_SetImmortal(def); + } + res = 0; -Create an extension module. -[clinic start generated code]*/ +finally: + extensions_lock_release(); + return res; +} -static PyObject * -_imp_create_builtin(PyObject *module, PyObject *spec) -/*[clinic end generated code: output=ace7ff22271e6f39 input=37f966f890384e47]*/ +static void +_extensions_cache_delete(PyObject *filename, PyObject *name) { - PyThreadState *tstate = _PyThreadState_GET(); + void *key = NULL; + extensions_lock_acquire(); - PyObject *name = PyObject_GetAttrString(spec, "name"); - if (name == NULL) { - return NULL; + if (EXTENSIONS.hashtable == NULL) { + /* It was never added. */ + goto finally; } - PyObject *mod = create_builtin(tstate, name, spec); - Py_DECREF(name); - return mod; + key = hashtable_key_from_2_strings(filename, name, HTSEP); + if (key == NULL) { + goto finally; + } + + _Py_hashtable_entry_t *entry = _Py_hashtable_get_entry( + EXTENSIONS.hashtable, key); + if (entry == NULL) { + /* It was never added. */ + goto finally; + } + if (entry->value == NULL) { + /* It was already removed. */ + goto finally; + } + /* If we hadn't made the stored defs immortal, we would decref here. + However, this decref would be problematic if the module def were + dynamically allocated, it were the last ref, and this function + were called with an interpreter other than the def's owner. */ + assert(_Py_IsImmortal(entry->value)); + entry->value = NULL; + +finally: + extensions_lock_release(); + if (key != NULL) { + PyMem_RawFree(key); + } } +static void +_extensions_cache_clear_all(void) +{ + /* The runtime (i.e. main interpreter) must be finalizing, + so we don't need to worry about the lock. */ + _Py_hashtable_destroy(EXTENSIONS.hashtable); + EXTENSIONS.hashtable = NULL; +} -/* Return true if the name is an alias. In that case, "alias" is set - to the original module name. If it is an alias but the original - module isn't known then "alias" is set to NULL while true is returned. */ +#undef HTSEP + + +static bool +check_multi_interp_extensions(PyInterpreterState *interp) +{ + int override = OVERRIDE_MULTI_INTERP_EXTENSIONS_CHECK(interp); + if (override < 0) { + return false; + } + else if (override > 0) { + return true; + } + else if (_PyInterpreterState_HasFeature( + interp, Py_RTFLAGS_MULTI_INTERP_EXTENSIONS)) { + return true; + } + return false; +} + +int +_PyImport_CheckSubinterpIncompatibleExtensionAllowed(const char *name) +{ + PyInterpreterState *interp = _PyInterpreterState_Get(); + if (check_multi_interp_extensions(interp)) { + assert(!_Py_IsMainInterpreter(interp)); + PyErr_Format(PyExc_ImportError, + "module %s does not support loading in subinterpreters", + name); + return -1; + } + return 0; +} + +static PyObject * +get_core_module_dict(PyInterpreterState *interp, + PyObject *name, PyObject *filename) +{ + /* Only builtin modules are core. */ + if (filename == name) { + assert(!PyErr_Occurred()); + if (PyUnicode_CompareWithASCIIString(name, "sys") == 0) { + return interp->sysdict_copy; + } + assert(!PyErr_Occurred()); + if (PyUnicode_CompareWithASCIIString(name, "builtins") == 0) { + return interp->builtins_copy; + } + assert(!PyErr_Occurred()); + } + return NULL; +} + +static inline int +is_core_module(PyInterpreterState *interp, PyObject *name, PyObject *filename) +{ + /* This might be called before the core dict copies are in place, + so we can't rely on get_core_module_dict() here. */ + if (filename == name) { + if (PyUnicode_CompareWithASCIIString(name, "sys") == 0) { + return 1; + } + if (PyUnicode_CompareWithASCIIString(name, "builtins") == 0) { + return 1; + } + } + return 0; +} + +static int +fix_up_extension(PyObject *mod, PyObject *name, PyObject *filename) +{ + if (mod == NULL || !PyModule_Check(mod)) { + PyErr_BadInternalCall(); + return -1; + } + + struct PyModuleDef *def = PyModule_GetDef(mod); + if (!def) { + PyErr_BadInternalCall(); + return -1; + } + + PyThreadState *tstate = _PyThreadState_GET(); + if (_modules_by_index_set(tstate->interp, def, mod) < 0) { + return -1; + } + + // bpo-44050: Extensions and def->m_base.m_copy can be updated + // when the extension module doesn't support sub-interpreters. + if (def->m_size == -1) { + if (!is_core_module(tstate->interp, name, filename)) { + assert(PyUnicode_CompareWithASCIIString(name, "sys") != 0); + assert(PyUnicode_CompareWithASCIIString(name, "builtins") != 0); + if (def->m_base.m_copy) { + /* Somebody already imported the module, + likely under a different name. + XXX this should really not happen. */ + Py_CLEAR(def->m_base.m_copy); + } + PyObject *dict = PyModule_GetDict(mod); + if (dict == NULL) { + return -1; + } + def->m_base.m_copy = PyDict_Copy(dict); + if (def->m_base.m_copy == NULL) { + return -1; + } + } + } + + // XXX Why special-case the main interpreter? + if (_Py_IsMainInterpreter(tstate->interp) || def->m_size == -1) { + if (_extensions_cache_set(filename, name, def) < 0) { + return -1; + } + } + + return 0; +} + +int +_PyImport_FixupExtensionObject(PyObject *mod, PyObject *name, + PyObject *filename, PyObject *modules) +{ + if (PyObject_SetItem(modules, name, mod) < 0) { + return -1; + } + if (fix_up_extension(mod, name, filename) < 0) { + PyMapping_DelItem(modules, name); + return -1; + } + return 0; +} + + +static PyObject * +import_find_extension(PyThreadState *tstate, PyObject *name, + PyObject *filename) +{ + /* Only single-phase init modules will be in the cache. */ + PyModuleDef *def = _extensions_cache_get(filename, name); + if (def == NULL) { + return NULL; + } + + /* It may have been successfully imported previously + in an interpreter that allows legacy modules + but is not allowed in the current interpreter. */ + const char *name_buf = PyUnicode_AsUTF8(name); + assert(name_buf != NULL); + if (_PyImport_CheckSubinterpIncompatibleExtensionAllowed(name_buf) < 0) { + return NULL; + } + + PyObject *mod, *mdict; + PyObject *modules = MODULES(tstate->interp); + + if (def->m_size == -1) { + PyObject *m_copy = def->m_base.m_copy; + /* Module does not support repeated initialization */ + if (m_copy == NULL) { + /* It might be a core module (e.g. sys & builtins), + for which we don't set m_copy. */ + m_copy = get_core_module_dict(tstate->interp, name, filename); + if (m_copy == NULL) { + return NULL; + } + } + mod = import_add_module(tstate, name); + if (mod == NULL) { + return NULL; + } + mdict = PyModule_GetDict(mod); + if (mdict == NULL) { + Py_DECREF(mod); + return NULL; + } + if (PyDict_Update(mdict, m_copy)) { + Py_DECREF(mod); + return NULL; + } + } + else { + if (def->m_base.m_init == NULL) + return NULL; + mod = _PyImport_InitFunc_TrampolineCall(def->m_base.m_init); + if (mod == NULL) + return NULL; + if (PyObject_SetItem(modules, name, mod) == -1) { + Py_DECREF(mod); + return NULL; + } + } + if (_modules_by_index_set(tstate->interp, def, mod) < 0) { + PyMapping_DelItem(modules, name); + Py_DECREF(mod); + return NULL; + } + + int verbose = _PyInterpreterState_GetConfig(tstate->interp)->verbose; + if (verbose) { + PySys_FormatStderr("import %U # previously loaded (%R)\n", + name, filename); + } + return mod; +} + +static int +clear_singlephase_extension(PyInterpreterState *interp, + PyObject *name, PyObject *filename) +{ + PyModuleDef *def = _extensions_cache_get(filename, name); + if (def == NULL) { + if (PyErr_Occurred()) { + return -1; + } + return 0; + } + + /* Clear data set when the module was initially loaded. */ + def->m_base.m_init = NULL; + Py_CLEAR(def->m_base.m_copy); + // We leave m_index alone since there's no reason to reset it. + + /* Clear the PyState_*Module() cache entry. */ + if (_modules_by_index_check(interp, def->m_base.m_index) == NULL) { + if (_modules_by_index_clear_one(interp, def) < 0) { + return -1; + } + } + + /* Clear the cached module def. */ + _extensions_cache_delete(filename, name); + + return 0; +} + + +/*******************/ +/* builtin modules */ +/*******************/ + +int +_PyImport_FixupBuiltin(PyObject *mod, const char *name, PyObject *modules) +{ + int res = -1; + PyObject *nameobj; + nameobj = PyUnicode_InternFromString(name); + if (nameobj == NULL) { + return -1; + } + if (PyObject_SetItem(modules, nameobj, mod) < 0) { + goto finally; + } + if (fix_up_extension(mod, nameobj, nameobj) < 0) { + PyMapping_DelItem(modules, nameobj); + goto finally; + } + res = 0; + +finally: + Py_DECREF(nameobj); + return res; +} + +/* Helper to test for built-in module */ + +static int +is_builtin(PyObject *name) +{ + int i; + struct _inittab *inittab = INITTAB; + for (i = 0; inittab[i].name != NULL; i++) { + if (_PyUnicode_EqualToASCIIString(name, inittab[i].name)) { + if (inittab[i].initfunc == NULL) + return -1; + else + return 1; + } + } + return 0; +} + +static PyObject* +create_builtin(PyThreadState *tstate, PyObject *name, PyObject *spec) +{ + PyObject *mod = import_find_extension(tstate, name, name); + if (mod || _PyErr_Occurred(tstate)) { + return mod; + } + + PyObject *modules = MODULES(tstate->interp); + for (struct _inittab *p = INITTAB; p->name != NULL; p++) { + if (_PyUnicode_EqualToASCIIString(name, p->name)) { + if (p->initfunc == NULL) { + /* Cannot re-init internal module ("sys" or "builtins") */ + mod = PyImport_AddModuleObject(name); + return Py_XNewRef(mod); + } + mod = _PyImport_InitFunc_TrampolineCall(*p->initfunc); + if (mod == NULL) { + return NULL; + } + + if (PyObject_TypeCheck(mod, &PyModuleDef_Type)) { + return PyModule_FromDefAndSpec((PyModuleDef*)mod, spec); + } + else { + /* Remember pointer to module init function. */ + PyModuleDef *def = PyModule_GetDef(mod); + if (def == NULL) { + return NULL; + } + + def->m_base.m_init = p->initfunc; + if (_PyImport_FixupExtensionObject(mod, name, name, + modules) < 0) { + return NULL; + } + return mod; + } + } + } + + // not found + Py_RETURN_NONE; +} + + +/*****************************/ +/* the builtin modules table */ +/*****************************/ + +/* API for embedding applications that want to add their own entries + to the table of built-in modules. This should normally be called + *before* Py_Initialize(). When the table resize fails, -1 is + returned and the existing table is unchanged. + + After a similar function by Just van Rossum. */ + +int +PyImport_ExtendInittab(struct _inittab *newtab) +{ + struct _inittab *p; + size_t i, n; + int res = 0; + + if (INITTAB != NULL) { + Py_FatalError("PyImport_ExtendInittab() may not be called after Py_Initialize()"); + } + + /* Count the number of entries in both tables */ + for (n = 0; newtab[n].name != NULL; n++) + ; + if (n == 0) + return 0; /* Nothing to do */ + for (i = 0; PyImport_Inittab[i].name != NULL; i++) + ; + + /* Force default raw memory allocator to get a known allocator to be able + to release the memory in _PyImport_Fini2() */ + PyMemAllocatorEx old_alloc; + _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); + + /* Allocate new memory for the combined table */ + p = NULL; + if (i + n <= SIZE_MAX / sizeof(struct _inittab) - 1) { + size_t size = sizeof(struct _inittab) * (i + n + 1); + p = PyMem_RawRealloc(inittab_copy, size); + } + if (p == NULL) { + res = -1; + goto done; + } + + /* Copy the tables into the new memory at the first call + to PyImport_ExtendInittab(). */ + if (inittab_copy != PyImport_Inittab) { + memcpy(p, PyImport_Inittab, (i+1) * sizeof(struct _inittab)); + } + memcpy(p + i, newtab, (n + 1) * sizeof(struct _inittab)); + PyImport_Inittab = inittab_copy = p; + +done: + PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); + return res; +} + +/* Shorthand to add a single entry given a name and a function */ + +int +PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void)) +{ + struct _inittab newtab[2]; + + if (INITTAB != NULL) { + Py_FatalError("PyImport_AppendInittab() may not be called after Py_Initialize()"); + } + + memset(newtab, '\0', sizeof newtab); + + newtab[0].name = name; + newtab[0].initfunc = initfunc; + + return PyImport_ExtendInittab(newtab); +} + + +/* the internal table */ + +static int +init_builtin_modules_table(void) +{ + size_t size; + for (size = 0; PyImport_Inittab[size].name != NULL; size++) + ; + size++; + + /* Make the copy. */ + struct _inittab *copied = PyMem_RawMalloc(size * sizeof(struct _inittab)); + if (copied == NULL) { + return -1; + } + memcpy(copied, PyImport_Inittab, size * sizeof(struct _inittab)); + INITTAB = copied; + return 0; +} + +static void +fini_builtin_modules_table(void) +{ + struct _inittab *inittab = INITTAB; + INITTAB = NULL; + PyMem_RawFree(inittab); +} + +PyObject * +_PyImport_GetBuiltinModuleNames(void) +{ + PyObject *list = PyList_New(0); + if (list == NULL) { + return NULL; + } + struct _inittab *inittab = INITTAB; + for (Py_ssize_t i = 0; inittab[i].name != NULL; i++) { + PyObject *name = PyUnicode_FromString(inittab[i].name); + if (name == NULL) { + Py_DECREF(list); + return NULL; + } + if (PyList_Append(list, name) < 0) { + Py_DECREF(name); + Py_DECREF(list); + return NULL; + } + Py_DECREF(name); + } + return list; +} + + +/********************/ +/* the magic number */ +/********************/ + +/* Helper for pythonrun.c -- return magic number and tag. */ + +long +PyImport_GetMagicNumber(void) +{ + long res; + PyInterpreterState *interp = _PyInterpreterState_GET(); + PyObject *external, *pyc_magic; + + external = PyObject_GetAttrString(IMPORTLIB(interp), "_bootstrap_external"); + if (external == NULL) + return -1; + pyc_magic = PyObject_GetAttrString(external, "_RAW_MAGIC_NUMBER"); + Py_DECREF(external); + if (pyc_magic == NULL) + return -1; + res = PyLong_AsLong(pyc_magic); + Py_DECREF(pyc_magic); + return res; +} + + +extern const char * _PySys_ImplCacheTag; + +const char * +PyImport_GetMagicTag(void) +{ + return _PySys_ImplCacheTag; +} + + +/*********************************/ +/* a Python module's code object */ +/*********************************/ + +/* Execute a code object in a module and return the module object + * WITH INCREMENTED REFERENCE COUNT. If an error occurs, name is + * removed from sys.modules, to avoid leaving damaged module objects + * in sys.modules. The caller may wish to restore the original + * module object (if any) in this case; PyImport_ReloadModule is an + * example. + * + * Note that PyImport_ExecCodeModuleWithPathnames() is the preferred, richer + * interface. The other two exist primarily for backward compatibility. + */ +PyObject * +PyImport_ExecCodeModule(const char *name, PyObject *co) +{ + return PyImport_ExecCodeModuleWithPathnames( + name, co, (char *)NULL, (char *)NULL); +} + +PyObject * +PyImport_ExecCodeModuleEx(const char *name, PyObject *co, const char *pathname) +{ + return PyImport_ExecCodeModuleWithPathnames( + name, co, pathname, (char *)NULL); +} + +PyObject * +PyImport_ExecCodeModuleWithPathnames(const char *name, PyObject *co, + const char *pathname, + const char *cpathname) +{ + PyObject *m = NULL; + PyObject *nameobj, *pathobj = NULL, *cpathobj = NULL, *external= NULL; + + nameobj = PyUnicode_FromString(name); + if (nameobj == NULL) + return NULL; + + if (cpathname != NULL) { + cpathobj = PyUnicode_DecodeFSDefault(cpathname); + if (cpathobj == NULL) + goto error; + } + else + cpathobj = NULL; + + if (pathname != NULL) { + pathobj = PyUnicode_DecodeFSDefault(pathname); + if (pathobj == NULL) + goto error; + } + else if (cpathobj != NULL) { + PyInterpreterState *interp = _PyInterpreterState_GET(); + + if (interp == NULL) { + Py_FatalError("no current interpreter"); + } + + external= PyObject_GetAttrString(IMPORTLIB(interp), + "_bootstrap_external"); + if (external != NULL) { + pathobj = _PyObject_CallMethodOneArg( + external, &_Py_ID(_get_sourcefile), cpathobj); + Py_DECREF(external); + } + if (pathobj == NULL) + PyErr_Clear(); + } + else + pathobj = NULL; + + m = PyImport_ExecCodeModuleObject(nameobj, co, pathobj, cpathobj); +error: + Py_DECREF(nameobj); + Py_XDECREF(pathobj); + Py_XDECREF(cpathobj); + return m; +} + +static PyObject * +module_dict_for_exec(PyThreadState *tstate, PyObject *name) +{ + PyObject *m, *d; + + m = import_add_module(tstate, name); + if (m == NULL) + return NULL; + /* If the module is being reloaded, we get the old module back + and re-use its dict to exec the new code. */ + d = PyModule_GetDict(m); + int r = PyDict_Contains(d, &_Py_ID(__builtins__)); + if (r == 0) { + r = PyDict_SetItem(d, &_Py_ID(__builtins__), PyEval_GetBuiltins()); + } + if (r < 0) { + remove_module(tstate, name); + Py_DECREF(m); + return NULL; + } + + Py_INCREF(d); + Py_DECREF(m); + return d; +} + +static PyObject * +exec_code_in_module(PyThreadState *tstate, PyObject *name, + PyObject *module_dict, PyObject *code_object) +{ + PyObject *v, *m; + + v = PyEval_EvalCode(code_object, module_dict, module_dict); + if (v == NULL) { + remove_module(tstate, name); + return NULL; + } + Py_DECREF(v); + + m = import_get_module(tstate, name); + if (m == NULL && !_PyErr_Occurred(tstate)) { + _PyErr_Format(tstate, PyExc_ImportError, + "Loaded module %R not found in sys.modules", + name); + } + + return m; +} + +PyObject* +PyImport_ExecCodeModuleObject(PyObject *name, PyObject *co, PyObject *pathname, + PyObject *cpathname) +{ + PyThreadState *tstate = _PyThreadState_GET(); + PyObject *d, *external, *res; + + d = module_dict_for_exec(tstate, name); + if (d == NULL) { + return NULL; + } + + if (pathname == NULL) { + pathname = ((PyCodeObject *)co)->co_filename; + } + external = PyObject_GetAttrString(IMPORTLIB(tstate->interp), + "_bootstrap_external"); + if (external == NULL) { + Py_DECREF(d); + return NULL; + } + res = PyObject_CallMethodObjArgs(external, &_Py_ID(_fix_up_module), + d, name, pathname, cpathname, NULL); + Py_DECREF(external); + if (res != NULL) { + Py_DECREF(res); + res = exec_code_in_module(tstate, name, d, co); + } + Py_DECREF(d); + return res; +} + + +static void +update_code_filenames(PyCodeObject *co, PyObject *oldname, PyObject *newname) +{ + PyObject *constants, *tmp; + Py_ssize_t i, n; + + if (PyUnicode_Compare(co->co_filename, oldname)) + return; + + Py_XSETREF(co->co_filename, Py_NewRef(newname)); + + constants = co->co_consts; + n = PyTuple_GET_SIZE(constants); + for (i = 0; i < n; i++) { + tmp = PyTuple_GET_ITEM(constants, i); + if (PyCode_Check(tmp)) + update_code_filenames((PyCodeObject *)tmp, + oldname, newname); + } +} + +static void +update_compiled_module(PyCodeObject *co, PyObject *newname) +{ + PyObject *oldname; + + if (PyUnicode_Compare(co->co_filename, newname) == 0) + return; + + oldname = co->co_filename; + Py_INCREF(oldname); + update_code_filenames(co, oldname, newname); + Py_DECREF(oldname); +} + + +/******************/ +/* frozen modules */ +/******************/ + +/* Return true if the name is an alias. In that case, "alias" is set + to the original module name. If it is an alias but the original + module isn't known then "alias" is set to NULL while true is returned. */ static bool resolve_module_alias(const char *name, const struct _module_alias *aliases, const char **alias) @@ -1071,14 +1821,11 @@ resolve_module_alias(const char *name, const struct _module_alias *aliases, } } - -/* Frozen modules */ - static bool use_frozen(void) { PyInterpreterState *interp = _PyInterpreterState_GET(); - int override = interp->override_frozen_modules; + int override = OVERRIDE_FROZEN_MODULES(interp); if (override > 0) { return true; } @@ -1328,9 +2075,9 @@ find_frozen(PyObject *nameobj, struct frozen_info *info) } static PyObject * -unmarshal_frozen_code(struct frozen_info *info) +unmarshal_frozen_code(PyInterpreterState *interp, struct frozen_info *info) { - if (info->get_code) { + if (info->get_code && _Py_IsMainInterpreter(interp)) { PyObject *code = info->get_code(); assert(code != NULL); return code; @@ -1378,7 +2125,7 @@ PyImport_ImportFrozenModuleObject(PyObject *name) set_frozen_error(status, name); return -1; } - co = unmarshal_frozen_code(&info); + co = unmarshal_frozen_code(tstate->interp, &info); if (co == NULL) { return -1; } @@ -1418,35 +2165,318 @@ PyImport_ImportFrozenModuleObject(PyObject *name) } } else { - Py_INCREF(Py_None); - origname = Py_None; + origname = Py_NewRef(Py_None); } err = PyDict_SetItemString(d, "__origname__", origname); Py_DECREF(origname); if (err != 0) { goto err_return; } - Py_DECREF(d); - Py_DECREF(co); - return 1; - -err_return: - Py_XDECREF(d); - Py_DECREF(co); - return -1; + Py_DECREF(d); + Py_DECREF(co); + return 1; + +err_return: + Py_XDECREF(d); + Py_DECREF(co); + return -1; +} + +int +PyImport_ImportFrozenModule(const char *name) +{ + PyObject *nameobj; + int ret; + nameobj = PyUnicode_InternFromString(name); + if (nameobj == NULL) + return -1; + ret = PyImport_ImportFrozenModuleObject(nameobj); + Py_DECREF(nameobj); + return ret; +} + + +/*************/ +/* importlib */ +/*************/ + +/* Import the _imp extension by calling manually _imp.create_builtin() and + _imp.exec_builtin() since importlib is not initialized yet. Initializing + importlib requires the _imp module: this function fix the bootstrap issue. + */ +static PyObject* +bootstrap_imp(PyThreadState *tstate) +{ + PyObject *name = PyUnicode_FromString("_imp"); + if (name == NULL) { + return NULL; + } + + // Mock a ModuleSpec object just good enough for PyModule_FromDefAndSpec(): + // an object with just a name attribute. + // + // _imp.__spec__ is overridden by importlib._bootstrap._instal() anyway. + PyObject *attrs = Py_BuildValue("{sO}", "name", name); + if (attrs == NULL) { + goto error; + } + PyObject *spec = _PyNamespace_New(attrs); + Py_DECREF(attrs); + if (spec == NULL) { + goto error; + } + + // Create the _imp module from its definition. + PyObject *mod = create_builtin(tstate, name, spec); + Py_CLEAR(name); + Py_DECREF(spec); + if (mod == NULL) { + goto error; + } + assert(mod != Py_None); // not found + + // Execute the _imp module: call imp_module_exec(). + if (exec_builtin_or_dynamic(mod) < 0) { + Py_DECREF(mod); + goto error; + } + return mod; + +error: + Py_XDECREF(name); + return NULL; +} + +/* Global initializations. Can be undone by Py_FinalizeEx(). Don't + call this twice without an intervening Py_FinalizeEx() 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 +init_importlib(PyThreadState *tstate, PyObject *sysmod) +{ + assert(!_PyErr_Occurred(tstate)); + + PyInterpreterState *interp = tstate->interp; + int verbose = _PyInterpreterState_GetConfig(interp)->verbose; + + // Import _importlib through its frozen version, _frozen_importlib. + if (verbose) { + PySys_FormatStderr("import _frozen_importlib # frozen\n"); + } + if (PyImport_ImportFrozenModule("_frozen_importlib") <= 0) { + return -1; + } + PyObject *importlib = PyImport_AddModule("_frozen_importlib"); // borrowed + if (importlib == NULL) { + return -1; + } + IMPORTLIB(interp) = Py_NewRef(importlib); + + // Import the _imp module + if (verbose) { + PySys_FormatStderr("import _imp # builtin\n"); + } + PyObject *imp_mod = bootstrap_imp(tstate); + if (imp_mod == NULL) { + return -1; + } + if (_PyImport_SetModuleString("_imp", imp_mod) < 0) { + Py_DECREF(imp_mod); + return -1; + } + + // Install importlib as the implementation of import + PyObject *value = PyObject_CallMethod(importlib, "_install", + "OO", sysmod, imp_mod); + Py_DECREF(imp_mod); + if (value == NULL) { + return -1; + } + Py_DECREF(value); + + assert(!_PyErr_Occurred(tstate)); + return 0; +} + + +static int +init_importlib_external(PyInterpreterState *interp) +{ + PyObject *value; + value = PyObject_CallMethod(IMPORTLIB(interp), + "_install_external_importers", ""); + if (value == NULL) { + return -1; + } + Py_DECREF(value); + + value = PyImport_ImportModule("__res"); + if (value == NULL) { + return -1; + } + Py_DECREF(value); + + return 0; +} + +PyObject * +_PyImport_GetImportlibLoader(PyInterpreterState *interp, + const char *loader_name) +{ + return PyObject_GetAttrString(IMPORTLIB(interp), loader_name); +} + +PyObject * +_PyImport_GetImportlibExternalLoader(PyInterpreterState *interp, + const char *loader_name) +{ + PyObject *bootstrap = PyObject_GetAttrString(IMPORTLIB(interp), + "_bootstrap_external"); + if (bootstrap == NULL) { + return NULL; + } + + PyObject *loader_type = PyObject_GetAttrString(bootstrap, loader_name); + Py_DECREF(bootstrap); + return loader_type; +} + +PyObject * +_PyImport_BlessMyLoader(PyInterpreterState *interp, PyObject *module_globals) +{ + PyObject *external = PyObject_GetAttrString(IMPORTLIB(interp), + "_bootstrap_external"); + if (external == NULL) { + return NULL; + } + + PyObject *loader = PyObject_CallMethod(external, "_bless_my_loader", + "O", module_globals, NULL); + Py_DECREF(external); + return loader; +} + +PyObject * +_PyImport_ImportlibModuleRepr(PyInterpreterState *interp, PyObject *m) +{ + return PyObject_CallMethod(IMPORTLIB(interp), "_module_repr", "O", m); +} + + +/*******************/ + +/* Return a finder object for a sys.path/pkg.__path__ item 'p', + possibly by fetching it from the path_importer_cache dict. If it + wasn't yet cached, traverse path_hooks until a hook is found + that can handle the path item. Return None if no hook could; + this tells our caller that the path based finder could not find + a finder for this path item. Cache the result in + path_importer_cache. */ + +static PyObject * +get_path_importer(PyThreadState *tstate, PyObject *path_importer_cache, + PyObject *path_hooks, PyObject *p) +{ + PyObject *importer; + Py_ssize_t j, nhooks; + + if (!PyList_Check(path_hooks)) { + PyErr_SetString(PyExc_RuntimeError, "sys.path_hooks is not a list"); + return NULL; + } + if (!PyDict_Check(path_importer_cache)) { + PyErr_SetString(PyExc_RuntimeError, "sys.path_importer_cache is not a dict"); + return NULL; + } + + nhooks = PyList_Size(path_hooks); + if (nhooks < 0) + return NULL; /* Shouldn't happen */ + + importer = PyDict_GetItemWithError(path_importer_cache, p); + if (importer != NULL || _PyErr_Occurred(tstate)) { + return Py_XNewRef(importer); + } + + /* set path_importer_cache[p] to None to avoid recursion */ + if (PyDict_SetItem(path_importer_cache, p, Py_None) != 0) + return NULL; + + for (j = 0; j < nhooks; j++) { + PyObject *hook = PyList_GetItem(path_hooks, j); + if (hook == NULL) + return NULL; + importer = PyObject_CallOneArg(hook, p); + if (importer != NULL) + break; + + if (!_PyErr_ExceptionMatches(tstate, PyExc_ImportError)) { + return NULL; + } + _PyErr_Clear(tstate); + } + if (importer == NULL) { + Py_RETURN_NONE; + } + if (PyDict_SetItem(path_importer_cache, p, importer) < 0) { + Py_DECREF(importer); + return NULL; + } + return importer; +} + +PyObject * +PyImport_GetImporter(PyObject *path) +{ + PyThreadState *tstate = _PyThreadState_GET(); + PyObject *path_importer_cache = PySys_GetObject("path_importer_cache"); + if (path_importer_cache == NULL) { + PyErr_SetString(PyExc_RuntimeError, "lost sys.path_importer_cache"); + return NULL; + } + Py_INCREF(path_importer_cache); + PyObject *path_hooks = PySys_GetObject("path_hooks"); + if (path_hooks == NULL) { + PyErr_SetString(PyExc_RuntimeError, "lost sys.path_hooks"); + Py_DECREF(path_importer_cache); + return NULL; + } + Py_INCREF(path_hooks); + PyObject *importer = get_path_importer(tstate, path_importer_cache, path_hooks, path); + Py_DECREF(path_hooks); + Py_DECREF(path_importer_cache); + return importer; } + +/*********************/ +/* importing modules */ +/*********************/ + int -PyImport_ImportFrozenModule(const char *name) +_PyImport_InitDefaultImportFunc(PyInterpreterState *interp) { - PyObject *nameobj; - int ret; - nameobj = PyUnicode_InternFromString(name); - if (nameobj == NULL) + // Get the __import__ function + PyObject *import_func = _PyDict_GetItemStringWithError(interp->builtins, + "__import__"); + if (import_func == NULL) { return -1; - ret = PyImport_ImportFrozenModuleObject(nameobj); - Py_DECREF(nameobj); - return ret; + } + IMPORT_FUNC(interp) = Py_NewRef(import_func); + return 0; +} + +int +_PyImport_IsDefaultImportFunc(PyInterpreterState *interp, PyObject *func) +{ + return func == IMPORT_FUNC(interp); } @@ -1495,566 +2525,919 @@ remove_importlib_frames(PyThreadState *tstate) const char *remove_frames = "_call_with_frames_removed"; int always_trim = 0; int in_importlib = 0; - PyObject *exception, *value, *base_tb, *tb; PyObject **prev_link, **outer_link = NULL; + PyObject *base_tb = NULL; + + /* Synopsis: if it's an ImportError, we trim all importlib chunks + from the traceback. We always trim chunks + which end with a call to "_call_with_frames_removed". */ + + PyObject *exc = _PyErr_GetRaisedException(tstate); + if (exc == NULL || _PyInterpreterState_GetConfig(tstate->interp)->verbose) { + goto done; + } + + if (PyType_IsSubtype(Py_TYPE(exc), (PyTypeObject *) PyExc_ImportError)) { + always_trim = 1; + } + + assert(PyExceptionInstance_Check(exc)); + base_tb = PyException_GetTraceback(exc); + prev_link = &base_tb; + PyObject *tb = base_tb; + while (tb != NULL) { + assert(PyTraceBack_Check(tb)); + PyTracebackObject *traceback = (PyTracebackObject *)tb; + PyObject *next = (PyObject *) traceback->tb_next; + PyFrameObject *frame = traceback->tb_frame; + PyCodeObject *code = PyFrame_GetCode(frame); + int now_in_importlib; + + now_in_importlib = _PyUnicode_EqualToASCIIString(code->co_filename, importlib_filename) || + _PyUnicode_EqualToASCIIString(code->co_filename, external_filename) || + _PyUnicode_EqualToASCIIString(code->co_filename, importer_filename); + if (now_in_importlib && !in_importlib) { + /* This is the link to this chunk of importlib tracebacks */ + outer_link = prev_link; + } + in_importlib = now_in_importlib; + + if (in_importlib && + (always_trim || + _PyUnicode_EqualToASCIIString(code->co_name, remove_frames))) { + Py_XSETREF(*outer_link, Py_XNewRef(next)); + prev_link = outer_link; + } + else { + prev_link = (PyObject **) &traceback->tb_next; + } + Py_DECREF(code); + tb = next; + } + if (base_tb == NULL) { + base_tb = Py_None; + Py_INCREF(Py_None); + } + PyException_SetTraceback(exc, base_tb); +done: + Py_XDECREF(base_tb); + _PyErr_SetRaisedException(tstate, exc); +} + + +static PyObject * +resolve_name(PyThreadState *tstate, PyObject *name, PyObject *globals, int level) +{ + PyObject *abs_name; + PyObject *package = NULL; + PyObject *spec; + Py_ssize_t last_dot; + PyObject *base; + int level_up; + + if (globals == NULL) { + _PyErr_SetString(tstate, PyExc_KeyError, "'__name__' not in globals"); + goto error; + } + if (!PyDict_Check(globals)) { + _PyErr_SetString(tstate, PyExc_TypeError, "globals must be a dict"); + goto error; + } + package = PyDict_GetItemWithError(globals, &_Py_ID(__package__)); + if (package == Py_None) { + package = NULL; + } + else if (package == NULL && _PyErr_Occurred(tstate)) { + goto error; + } + spec = PyDict_GetItemWithError(globals, &_Py_ID(__spec__)); + if (spec == NULL && _PyErr_Occurred(tstate)) { + goto error; + } + + if (package != NULL) { + Py_INCREF(package); + if (!PyUnicode_Check(package)) { + _PyErr_SetString(tstate, PyExc_TypeError, + "package must be a string"); + goto error; + } + else if (spec != NULL && spec != Py_None) { + int equal; + PyObject *parent = PyObject_GetAttr(spec, &_Py_ID(parent)); + if (parent == NULL) { + goto error; + } + + equal = PyObject_RichCompareBool(package, parent, Py_EQ); + Py_DECREF(parent); + if (equal < 0) { + goto error; + } + else if (equal == 0) { + if (PyErr_WarnEx(PyExc_DeprecationWarning, + "__package__ != __spec__.parent", 1) < 0) { + goto error; + } + } + } + } + else if (spec != NULL && spec != Py_None) { + package = PyObject_GetAttr(spec, &_Py_ID(parent)); + if (package == NULL) { + goto error; + } + else if (!PyUnicode_Check(package)) { + _PyErr_SetString(tstate, PyExc_TypeError, + "__spec__.parent must be a string"); + goto error; + } + } + else { + if (PyErr_WarnEx(PyExc_ImportWarning, + "can't resolve package from __spec__ or __package__, " + "falling back on __name__ and __path__", 1) < 0) { + goto error; + } + + package = PyDict_GetItemWithError(globals, &_Py_ID(__name__)); + if (package == NULL) { + if (!_PyErr_Occurred(tstate)) { + _PyErr_SetString(tstate, PyExc_KeyError, + "'__name__' not in globals"); + } + goto error; + } + + Py_INCREF(package); + if (!PyUnicode_Check(package)) { + _PyErr_SetString(tstate, PyExc_TypeError, + "__name__ must be a string"); + goto error; + } + + int haspath = PyDict_Contains(globals, &_Py_ID(__path__)); + if (haspath < 0) { + goto error; + } + if (!haspath) { + Py_ssize_t dot; + + if (PyUnicode_READY(package) < 0) { + goto error; + } + + dot = PyUnicode_FindChar(package, '.', + 0, PyUnicode_GET_LENGTH(package), -1); + if (dot == -2) { + goto error; + } + else if (dot == -1) { + goto no_parent_error; + } + PyObject *substr = PyUnicode_Substring(package, 0, dot); + if (substr == NULL) { + goto error; + } + Py_SETREF(package, substr); + } + } + + last_dot = PyUnicode_GET_LENGTH(package); + if (last_dot == 0) { + goto no_parent_error; + } + + for (level_up = 1; level_up < level; level_up += 1) { + last_dot = PyUnicode_FindChar(package, '.', 0, last_dot, -1); + if (last_dot == -2) { + goto error; + } + else if (last_dot == -1) { + _PyErr_SetString(tstate, PyExc_ImportError, + "attempted relative import beyond top-level " + "package"); + goto error; + } + } + + base = PyUnicode_Substring(package, 0, last_dot); + Py_DECREF(package); + if (base == NULL || PyUnicode_GET_LENGTH(name) == 0) { + return base; + } + + abs_name = PyUnicode_FromFormat("%U.%U", base, name); + Py_DECREF(base); + return abs_name; + + no_parent_error: + _PyErr_SetString(tstate, PyExc_ImportError, + "attempted relative import " + "with no known parent package"); + + error: + Py_XDECREF(package); + return NULL; +} + +static PyObject * +import_find_and_load(PyThreadState *tstate, PyObject *abs_name) +{ + PyObject *mod = NULL; + PyInterpreterState *interp = tstate->interp; + int import_time = _PyInterpreterState_GetConfig(interp)->import_time; +#define import_level FIND_AND_LOAD(interp).import_level +#define accumulated FIND_AND_LOAD(interp).accumulated + + _PyTime_t t1 = 0, accumulated_copy = accumulated; + + PyObject *sys_path = PySys_GetObject("path"); + PyObject *sys_meta_path = PySys_GetObject("meta_path"); + PyObject *sys_path_hooks = PySys_GetObject("path_hooks"); + if (_PySys_Audit(tstate, "import", "OOOOO", + abs_name, Py_None, sys_path ? sys_path : Py_None, + sys_meta_path ? sys_meta_path : Py_None, + sys_path_hooks ? sys_path_hooks : Py_None) < 0) { + return NULL; + } - /* Synopsis: if it's an ImportError, we trim all importlib chunks - from the traceback. We always trim chunks - which end with a call to "_call_with_frames_removed". */ - _PyErr_Fetch(tstate, &exception, &value, &base_tb); - if (!exception || _PyInterpreterState_GetConfig(tstate->interp)->verbose) { - goto done; + /* XOptions is initialized after first some imports. + * So we can't have negative cache before completed initialization. + * Anyway, importlib._find_and_load is much slower than + * _PyDict_GetItemIdWithError(). + */ + if (import_time) { +#define header FIND_AND_LOAD(interp).header + if (header) { + fputs("import time: self [us] | cumulative | imported package\n", + stderr); + header = 0; + } +#undef header + + import_level++; + t1 = _PyTime_GetPerfCounter(); + accumulated = 0; } - if (PyType_IsSubtype((PyTypeObject *) exception, - (PyTypeObject *) PyExc_ImportError)) - always_trim = 1; + if (PyDTrace_IMPORT_FIND_LOAD_START_ENABLED()) + PyDTrace_IMPORT_FIND_LOAD_START(PyUnicode_AsUTF8(abs_name)); - prev_link = &base_tb; - tb = base_tb; - while (tb != NULL) { - PyTracebackObject *traceback = (PyTracebackObject *)tb; - PyObject *next = (PyObject *) traceback->tb_next; - PyFrameObject *frame = traceback->tb_frame; - PyCodeObject *code = PyFrame_GetCode(frame); - int now_in_importlib; + mod = PyObject_CallMethodObjArgs(IMPORTLIB(interp), &_Py_ID(_find_and_load), + abs_name, IMPORT_FUNC(interp), NULL); - assert(PyTraceBack_Check(tb)); - now_in_importlib = _PyUnicode_EqualToASCIIString(code->co_filename, importlib_filename) || - _PyUnicode_EqualToASCIIString(code->co_filename, external_filename) || - _PyUnicode_EqualToASCIIString(code->co_filename, importer_filename); - if (now_in_importlib && !in_importlib) { - /* This is the link to this chunk of importlib tracebacks */ - outer_link = prev_link; - } - in_importlib = now_in_importlib; + if (PyDTrace_IMPORT_FIND_LOAD_DONE_ENABLED()) + PyDTrace_IMPORT_FIND_LOAD_DONE(PyUnicode_AsUTF8(abs_name), + mod != NULL); - if (in_importlib && - (always_trim || - _PyUnicode_EqualToASCIIString(code->co_name, remove_frames))) { - Py_XINCREF(next); - Py_XSETREF(*outer_link, next); - prev_link = outer_link; - } - else { - prev_link = (PyObject **) &traceback->tb_next; - } - Py_DECREF(code); - tb = next; + if (import_time) { + _PyTime_t cum = _PyTime_GetPerfCounter() - t1; + + import_level--; + fprintf(stderr, "import time: %9ld | %10ld | %*s%s\n", + (long)_PyTime_AsMicroseconds(cum - accumulated, _PyTime_ROUND_CEILING), + (long)_PyTime_AsMicroseconds(cum, _PyTime_ROUND_CEILING), + import_level*2, "", PyUnicode_AsUTF8(abs_name)); + + accumulated = accumulated_copy + cum; } -done: - _PyErr_Restore(tstate, exception, value, base_tb); -} + return mod; +#undef import_level +#undef accumulated +} -static PyObject * -resolve_name(PyThreadState *tstate, PyObject *name, PyObject *globals, int level) +PyObject * +PyImport_ImportModuleLevelObject(PyObject *name, PyObject *globals, + PyObject *locals, PyObject *fromlist, + int level) { - PyObject *abs_name; + PyThreadState *tstate = _PyThreadState_GET(); + PyObject *abs_name = NULL; + PyObject *final_mod = NULL; + PyObject *mod = NULL; PyObject *package = NULL; - PyObject *spec; - Py_ssize_t last_dot; - PyObject *base; - int level_up; + PyInterpreterState *interp = tstate->interp; + int has_from; - if (globals == NULL) { - _PyErr_SetString(tstate, PyExc_KeyError, "'__name__' not in globals"); + if (name == NULL) { + _PyErr_SetString(tstate, PyExc_ValueError, "Empty module name"); goto error; } - if (!PyDict_Check(globals)) { - _PyErr_SetString(tstate, PyExc_TypeError, "globals must be a dict"); + + /* The below code is importlib.__import__() & _gcd_import(), ported to C + for added performance. */ + + if (!PyUnicode_Check(name)) { + _PyErr_SetString(tstate, PyExc_TypeError, + "module name must be a string"); goto error; } - package = PyDict_GetItemWithError(globals, &_Py_ID(__package__)); - if (package == Py_None) { - package = NULL; + if (PyUnicode_READY(name) < 0) { + goto error; } - else if (package == NULL && _PyErr_Occurred(tstate)) { + if (level < 0) { + _PyErr_SetString(tstate, PyExc_ValueError, "level must be >= 0"); goto error; } - spec = PyDict_GetItemWithError(globals, &_Py_ID(__spec__)); - if (spec == NULL && _PyErr_Occurred(tstate)) { + + if (level > 0) { + abs_name = resolve_name(tstate, name, globals, level); + if (abs_name == NULL) + goto error; + } + else { /* level == 0 */ + if (PyUnicode_GET_LENGTH(name) == 0) { + _PyErr_SetString(tstate, PyExc_ValueError, "Empty module name"); + goto error; + } + abs_name = Py_NewRef(name); + } + + mod = import_get_module(tstate, abs_name); + if (mod == NULL && _PyErr_Occurred(tstate)) { goto error; } - if (package != NULL) { - Py_INCREF(package); - if (!PyUnicode_Check(package)) { - _PyErr_SetString(tstate, PyExc_TypeError, - "package must be a string"); + if (mod != NULL && mod != Py_None) { + if (import_ensure_initialized(tstate->interp, mod, abs_name) < 0) { goto error; } - else if (spec != NULL && spec != Py_None) { - int equal; - PyObject *parent = PyObject_GetAttr(spec, &_Py_ID(parent)); - if (parent == NULL) { + } + else { + Py_XDECREF(mod); + mod = import_find_and_load(tstate, abs_name); + if (mod == NULL) { + goto error; + } + } + + has_from = 0; + if (fromlist != NULL && fromlist != Py_None) { + has_from = PyObject_IsTrue(fromlist); + if (has_from < 0) + goto error; + } + if (!has_from) { + Py_ssize_t len = PyUnicode_GET_LENGTH(name); + if (level == 0 || len > 0) { + Py_ssize_t dot; + + dot = PyUnicode_FindChar(name, '.', 0, len, 1); + if (dot == -2) { goto error; } - equal = PyObject_RichCompareBool(package, parent, Py_EQ); - Py_DECREF(parent); - if (equal < 0) { + if (dot == -1) { + /* No dot in module name, simple exit */ + final_mod = Py_NewRef(mod); goto error; } - else if (equal == 0) { - if (PyErr_WarnEx(PyExc_ImportWarning, - "__package__ != __spec__.parent", 1) < 0) { + + if (level == 0) { + PyObject *front = PyUnicode_Substring(name, 0, dot); + if (front == NULL) { + goto error; + } + + final_mod = PyImport_ImportModuleLevelObject(front, NULL, NULL, NULL, 0); + Py_DECREF(front); + } + else { + Py_ssize_t cut_off = len - dot; + Py_ssize_t abs_name_len = PyUnicode_GET_LENGTH(abs_name); + PyObject *to_return = PyUnicode_Substring(abs_name, 0, + abs_name_len - cut_off); + if (to_return == NULL) { + goto error; + } + + final_mod = import_get_module(tstate, to_return); + Py_DECREF(to_return); + if (final_mod == NULL) { + if (!_PyErr_Occurred(tstate)) { + _PyErr_Format(tstate, PyExc_KeyError, + "%R not in sys.modules as expected", + to_return); + } goto error; } } } - } - else if (spec != NULL && spec != Py_None) { - package = PyObject_GetAttr(spec, &_Py_ID(parent)); - if (package == NULL) { - goto error; - } - else if (!PyUnicode_Check(package)) { - _PyErr_SetString(tstate, PyExc_TypeError, - "__spec__.parent must be a string"); - goto error; + else { + final_mod = Py_NewRef(mod); } } else { - if (PyErr_WarnEx(PyExc_ImportWarning, - "can't resolve package from __spec__ or __package__, " - "falling back on __name__ and __path__", 1) < 0) { + PyObject *path; + if (_PyObject_LookupAttr(mod, &_Py_ID(__path__), &path) < 0) { goto error; } - - package = PyDict_GetItemWithError(globals, &_Py_ID(__name__)); - if (package == NULL) { - if (!_PyErr_Occurred(tstate)) { - _PyErr_SetString(tstate, PyExc_KeyError, - "'__name__' not in globals"); - } - goto error; + if (path) { + Py_DECREF(path); + final_mod = PyObject_CallMethodObjArgs( + IMPORTLIB(interp), &_Py_ID(_handle_fromlist), + mod, fromlist, IMPORT_FUNC(interp), NULL); + } + else { + final_mod = Py_NewRef(mod); } + } - Py_INCREF(package); - if (!PyUnicode_Check(package)) { - _PyErr_SetString(tstate, PyExc_TypeError, - "__name__ must be a string"); - goto error; + error: + Py_XDECREF(abs_name); + Py_XDECREF(mod); + Py_XDECREF(package); + if (final_mod == NULL) { + remove_importlib_frames(tstate); + } + return final_mod; +} + +PyObject * +PyImport_ImportModuleLevel(const char *name, PyObject *globals, PyObject *locals, + PyObject *fromlist, int level) +{ + PyObject *nameobj, *mod; + nameobj = PyUnicode_FromString(name); + if (nameobj == NULL) + return NULL; + mod = PyImport_ImportModuleLevelObject(nameobj, globals, locals, + fromlist, level); + Py_DECREF(nameobj); + return mod; +} + + +/* Re-import a module of any kind and return its module object, WITH + INCREMENTED REFERENCE COUNT */ + +PyObject * +PyImport_ReloadModule(PyObject *m) +{ + PyObject *reloaded_module = NULL; + PyObject *importlib = PyImport_GetModule(&_Py_ID(importlib)); + if (importlib == NULL) { + if (PyErr_Occurred()) { + return NULL; } - int haspath = PyDict_Contains(globals, &_Py_ID(__path__)); - if (haspath < 0) { - goto error; + importlib = PyImport_ImportModule("importlib"); + if (importlib == NULL) { + return NULL; } - if (!haspath) { - Py_ssize_t dot; + } - if (PyUnicode_READY(package) < 0) { - goto error; - } + reloaded_module = PyObject_CallMethodOneArg(importlib, &_Py_ID(reload), m); + Py_DECREF(importlib); + return reloaded_module; +} - dot = PyUnicode_FindChar(package, '.', - 0, PyUnicode_GET_LENGTH(package), -1); - if (dot == -2) { - goto error; - } - else if (dot == -1) { - goto no_parent_error; - } - PyObject *substr = PyUnicode_Substring(package, 0, dot); - if (substr == NULL) { - goto error; - } - Py_SETREF(package, substr); - } - } - last_dot = PyUnicode_GET_LENGTH(package); - if (last_dot == 0) { - goto no_parent_error; +/* Higher-level import emulator which emulates the "import" statement + more accurately -- it invokes the __import__() function from the + builtins of the current globals. This means that the import is + done using whatever import hooks are installed in the current + environment. + A dummy list ["__doc__"] is passed as the 4th argument so that + e.g. PyImport_Import(PyUnicode_FromString("win32com.client.gencache")) + will return instead of . */ + +PyObject * +PyImport_Import(PyObject *module_name) +{ + PyThreadState *tstate = _PyThreadState_GET(); + PyObject *globals = NULL; + PyObject *import = NULL; + PyObject *builtins = NULL; + PyObject *r = NULL; + + PyObject *from_list = PyList_New(0); + if (from_list == NULL) { + goto err; } - for (level_up = 1; level_up < level; level_up += 1) { - last_dot = PyUnicode_FindChar(package, '.', 0, last_dot, -1); - if (last_dot == -2) { - goto error; - } - else if (last_dot == -1) { - _PyErr_SetString(tstate, PyExc_ImportError, - "attempted relative import beyond top-level " - "package"); - goto error; + /* Get the builtins from current globals */ + globals = PyEval_GetGlobals(); + if (globals != NULL) { + Py_INCREF(globals); + builtins = PyObject_GetItem(globals, &_Py_ID(__builtins__)); + if (builtins == NULL) + goto err; + } + else { + /* No globals -- use standard builtins, and fake globals */ + builtins = PyImport_ImportModuleLevel("builtins", + NULL, NULL, NULL, 0); + if (builtins == NULL) { + goto err; } + globals = Py_BuildValue("{OO}", &_Py_ID(__builtins__), builtins); + if (globals == NULL) + goto err; } - base = PyUnicode_Substring(package, 0, last_dot); - Py_DECREF(package); - if (base == NULL || PyUnicode_GET_LENGTH(name) == 0) { - return base; + /* Get the __import__ function from the builtins */ + if (PyDict_Check(builtins)) { + import = PyObject_GetItem(builtins, &_Py_ID(__import__)); + if (import == NULL) { + _PyErr_SetObject(tstate, PyExc_KeyError, &_Py_ID(__import__)); + } } + else + import = PyObject_GetAttr(builtins, &_Py_ID(__import__)); + if (import == NULL) + goto err; - abs_name = PyUnicode_FromFormat("%U.%U", base, name); - Py_DECREF(base); - return abs_name; + /* Call the __import__ function with the proper argument list + Always use absolute import here. + Calling for side-effect of import. */ + r = PyObject_CallFunction(import, "OOOOi", module_name, globals, + globals, from_list, 0, NULL); + if (r == NULL) + goto err; + Py_DECREF(r); - no_parent_error: - _PyErr_SetString(tstate, PyExc_ImportError, - "attempted relative import " - "with no known parent package"); + r = import_get_module(tstate, module_name); + if (r == NULL && !_PyErr_Occurred(tstate)) { + _PyErr_SetObject(tstate, PyExc_KeyError, module_name); + } - error: - Py_XDECREF(package); - return NULL; + err: + Py_XDECREF(globals); + Py_XDECREF(builtins); + Py_XDECREF(import); + Py_XDECREF(from_list); + + return r; } -static PyObject * -import_find_and_load(PyThreadState *tstate, PyObject *abs_name) -{ - PyObject *mod = NULL; - PyInterpreterState *interp = tstate->interp; - int import_time = _PyInterpreterState_GetConfig(interp)->import_time; - static int import_level; - static _PyTime_t accumulated; - _PyTime_t t1 = 0, accumulated_copy = accumulated; +/*********************/ +/* runtime lifecycle */ +/*********************/ - PyObject *sys_path = PySys_GetObject("path"); - PyObject *sys_meta_path = PySys_GetObject("meta_path"); - PyObject *sys_path_hooks = PySys_GetObject("path_hooks"); - if (_PySys_Audit(tstate, "import", "OOOOO", - abs_name, Py_None, sys_path ? sys_path : Py_None, - sys_meta_path ? sys_meta_path : Py_None, - sys_path_hooks ? sys_path_hooks : Py_None) < 0) { - return NULL; +PyStatus +_PyImport_Init(void) +{ + if (INITTAB != NULL) { + return _PyStatus_ERR("global import state already initialized"); } + PyStatus status = _PyStatus_OK(); - /* XOptions is initialized after first some imports. - * So we can't have negative cache before completed initialization. - * Anyway, importlib._find_and_load is much slower than - * _PyDict_GetItemIdWithError(). - */ - if (import_time) { - static int header = 1; - if (header) { - fputs("import time: self [us] | cumulative | imported package\n", - stderr); - header = 0; - } + /* Force default raw memory allocator to get a known allocator to be able + to release the memory in _PyImport_Fini() */ + PyMemAllocatorEx old_alloc; + _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - import_level++; - t1 = _PyTime_GetPerfCounter(); - accumulated = 0; + if (init_builtin_modules_table() != 0) { + status = PyStatus_NoMemory(); + goto done; } - if (PyDTrace_IMPORT_FIND_LOAD_START_ENABLED()) - PyDTrace_IMPORT_FIND_LOAD_START(PyUnicode_AsUTF8(abs_name)); +done: + PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); + return status; +} - mod = PyObject_CallMethodObjArgs(interp->importlib, &_Py_ID(_find_and_load), - abs_name, interp->import_func, NULL); +void +_PyImport_Fini(void) +{ + /* Destroy the database used by _PyImport_{Fixup,Find}Extension */ + // XXX Should we actually leave them (mostly) intact, since we don't + // ever dlclose() the module files? + _extensions_cache_clear_all(); - if (PyDTrace_IMPORT_FIND_LOAD_DONE_ENABLED()) - PyDTrace_IMPORT_FIND_LOAD_DONE(PyUnicode_AsUTF8(abs_name), - mod != NULL); + /* Use the same memory allocator as _PyImport_Init(). */ + PyMemAllocatorEx old_alloc; + _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - if (import_time) { - _PyTime_t cum = _PyTime_GetPerfCounter() - t1; + /* Free memory allocated by _PyImport_Init() */ + fini_builtin_modules_table(); - import_level--; - fprintf(stderr, "import time: %9ld | %10ld | %*s%s\n", - (long)_PyTime_AsMicroseconds(cum - accumulated, _PyTime_ROUND_CEILING), - (long)_PyTime_AsMicroseconds(cum, _PyTime_ROUND_CEILING), - import_level*2, "", PyUnicode_AsUTF8(abs_name)); + PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); +} - accumulated = accumulated_copy + cum; - } +void +_PyImport_Fini2(void) +{ + /* Use the same memory allocator than PyImport_ExtendInittab(). */ + PyMemAllocatorEx old_alloc; + _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - return mod; + // Reset PyImport_Inittab + PyImport_Inittab = _PyImport_Inittab; + + /* Free memory allocated by PyImport_ExtendInittab() */ + PyMem_RawFree(inittab_copy); + inittab_copy = NULL; + + PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); } -PyObject * -PyImport_GetModule(PyObject *name) + +/*************************/ +/* interpreter lifecycle */ +/*************************/ + +PyStatus +_PyImport_InitCore(PyThreadState *tstate, PyObject *sysmod, int importlib) { - PyThreadState *tstate = _PyThreadState_GET(); - PyObject *mod; + // XXX Initialize here: interp->modules and interp->import_func. + // XXX Initialize here: sys.modules and sys.meta_path. - mod = import_get_module(tstate, name); - if (mod != NULL && mod != Py_None) { - if (import_ensure_initialized(tstate->interp, mod, name) < 0) { - Py_DECREF(mod); - remove_importlib_frames(tstate); - return NULL; + if (importlib) { + /* This call sets up builtin and frozen import support */ + if (init_importlib(tstate, sysmod) < 0) { + return _PyStatus_ERR("failed to initialize importlib"); } } - return mod; + + return _PyStatus_OK(); } -PyObject * -PyImport_ImportModuleLevelObject(PyObject *name, PyObject *globals, - PyObject *locals, PyObject *fromlist, - int level) -{ - PyThreadState *tstate = _PyThreadState_GET(); - PyObject *abs_name = NULL; - PyObject *final_mod = NULL; - PyObject *mod = NULL; - PyObject *package = NULL; - PyInterpreterState *interp = tstate->interp; - int has_from; +/* In some corner cases it is important to be sure that the import + machinery has been initialized (or not cleaned up yet). For + example, see issue #4236 and PyModule_Create2(). */ - if (name == NULL) { - _PyErr_SetString(tstate, PyExc_ValueError, "Empty module name"); - goto error; - } +int +_PyImport_IsInitialized(PyInterpreterState *interp) +{ + if (MODULES(interp) == NULL) + return 0; + return 1; +} - /* The below code is importlib.__import__() & _gcd_import(), ported to C - for added performance. */ +/* Clear the direct per-interpreter import state, if not cleared already. */ +void +_PyImport_ClearCore(PyInterpreterState *interp) +{ + /* interp->modules should have been cleaned up and cleared already + by _PyImport_FiniCore(). */ + Py_CLEAR(MODULES(interp)); + Py_CLEAR(MODULES_BY_INDEX(interp)); + Py_CLEAR(IMPORTLIB(interp)); + Py_CLEAR(IMPORT_FUNC(interp)); +} - if (!PyUnicode_Check(name)) { - _PyErr_SetString(tstate, PyExc_TypeError, - "module name must be a string"); - goto error; - } - if (PyUnicode_READY(name) < 0) { - goto error; +void +_PyImport_FiniCore(PyInterpreterState *interp) +{ + int verbose = _PyInterpreterState_GetConfig(interp)->verbose; + + if (_PySys_ClearAttrString(interp, "meta_path", verbose) < 0) { + PyErr_WriteUnraisable(NULL); } - if (level < 0) { - _PyErr_SetString(tstate, PyExc_ValueError, "level must be >= 0"); - goto error; + + // XXX Pull in most of finalize_modules() in pylifecycle.c. + + if (_PySys_ClearAttrString(interp, "modules", verbose) < 0) { + PyErr_WriteUnraisable(NULL); } - if (level > 0) { - abs_name = resolve_name(tstate, name, globals, level); - if (abs_name == NULL) - goto error; + if (IMPORT_LOCK(interp) != NULL) { + PyThread_free_lock(IMPORT_LOCK(interp)); + IMPORT_LOCK(interp) = NULL; } - else { /* level == 0 */ - if (PyUnicode_GET_LENGTH(name) == 0) { - _PyErr_SetString(tstate, PyExc_ValueError, "Empty module name"); - goto error; - } - abs_name = name; - Py_INCREF(abs_name); + + _PyImport_ClearCore(interp); +} + +// XXX Add something like _PyImport_Disable() for use early in interp fini? + + +/* "external" imports */ + +static int +init_zipimport(PyThreadState *tstate, int verbose) +{ + PyObject *path_hooks = PySys_GetObject("path_hooks"); + if (path_hooks == NULL) { + _PyErr_SetString(tstate, PyExc_RuntimeError, + "unable to get sys.path_hooks"); + return -1; } - mod = import_get_module(tstate, abs_name); - if (mod == NULL && _PyErr_Occurred(tstate)) { - goto error; + if (verbose) { + PySys_WriteStderr("# installing zipimport hook\n"); } - if (mod != NULL && mod != Py_None) { - if (import_ensure_initialized(tstate->interp, mod, abs_name) < 0) { - goto error; + PyObject *zipimporter = _PyImport_GetModuleAttrString("zipimport", "zipimporter"); + if (zipimporter == NULL) { + _PyErr_Clear(tstate); /* No zipimporter object -- okay */ + if (verbose) { + PySys_WriteStderr("# can't import zipimport.zipimporter\n"); } } else { - Py_XDECREF(mod); - mod = import_find_and_load(tstate, abs_name); - if (mod == NULL) { - goto error; + /* sys.path_hooks.insert(0, zipimporter) */ + int err = PyList_Insert(path_hooks, 0, zipimporter); + Py_DECREF(zipimporter); + if (err < 0) { + return -1; + } + if (verbose) { + PySys_WriteStderr("# installed zipimport hook\n"); } } - has_from = 0; - if (fromlist != NULL && fromlist != Py_None) { - has_from = PyObject_IsTrue(fromlist); - if (has_from < 0) - goto error; + return 0; +} + +PyStatus +_PyImport_InitExternal(PyThreadState *tstate) +{ + int verbose = _PyInterpreterState_GetConfig(tstate->interp)->verbose; + + // XXX Initialize here: sys.path_hooks and sys.path_importer_cache. + + if (init_importlib_external(tstate->interp) != 0) { + _PyErr_Print(tstate); + return _PyStatus_ERR("external importer setup failed"); } - if (!has_from) { - Py_ssize_t len = PyUnicode_GET_LENGTH(name); - if (level == 0 || len > 0) { - Py_ssize_t dot; - dot = PyUnicode_FindChar(name, '.', 0, len, 1); - if (dot == -2) { - goto error; - } + if (init_zipimport(tstate, verbose) != 0) { + PyErr_Print(); + return _PyStatus_ERR("initializing zipimport failed"); + } - if (dot == -1) { - /* No dot in module name, simple exit */ - final_mod = mod; - Py_INCREF(mod); - goto error; - } + return _PyStatus_OK(); +} - if (level == 0) { - PyObject *front = PyUnicode_Substring(name, 0, dot); - if (front == NULL) { - goto error; - } +void +_PyImport_FiniExternal(PyInterpreterState *interp) +{ + int verbose = _PyInterpreterState_GetConfig(interp)->verbose; - final_mod = PyImport_ImportModuleLevelObject(front, NULL, NULL, NULL, 0); - Py_DECREF(front); - } - else { - Py_ssize_t cut_off = len - dot; - Py_ssize_t abs_name_len = PyUnicode_GET_LENGTH(abs_name); - PyObject *to_return = PyUnicode_Substring(abs_name, 0, - abs_name_len - cut_off); - if (to_return == NULL) { - goto error; - } + // XXX Uninstall importlib metapath importers here? - final_mod = import_get_module(tstate, to_return); - Py_DECREF(to_return); - if (final_mod == NULL) { - if (!_PyErr_Occurred(tstate)) { - _PyErr_Format(tstate, PyExc_KeyError, - "%R not in sys.modules as expected", - to_return); - } - goto error; - } - } - } - else { - final_mod = mod; - Py_INCREF(mod); - } + if (_PySys_ClearAttrString(interp, "path_importer_cache", verbose) < 0) { + PyErr_WriteUnraisable(NULL); } - else { - PyObject *path; - if (_PyObject_LookupAttr(mod, &_Py_ID(__path__), &path) < 0) { - goto error; - } - if (path) { - Py_DECREF(path); - final_mod = PyObject_CallMethodObjArgs( - interp->importlib, &_Py_ID(_handle_fromlist), - mod, fromlist, interp->import_func, NULL); - } - else { - final_mod = mod; - Py_INCREF(mod); - } + if (_PySys_ClearAttrString(interp, "path_hooks", verbose) < 0) { + PyErr_WriteUnraisable(NULL); } +} - error: - Py_XDECREF(abs_name); - Py_XDECREF(mod); - Py_XDECREF(package); - if (final_mod == NULL) { - remove_importlib_frames(tstate); + +/******************/ +/* module helpers */ +/******************/ + +PyObject * +_PyImport_GetModuleAttr(PyObject *modname, PyObject *attrname) +{ + PyObject *mod = PyImport_Import(modname); + if (mod == NULL) { + return NULL; } - return final_mod; + PyObject *result = PyObject_GetAttr(mod, attrname); + Py_DECREF(mod); + return result; } PyObject * -PyImport_ImportModuleLevel(const char *name, PyObject *globals, PyObject *locals, - PyObject *fromlist, int level) +_PyImport_GetModuleAttrString(const char *modname, const char *attrname) { - PyObject *nameobj, *mod; - nameobj = PyUnicode_FromString(name); - if (nameobj == NULL) + PyObject *pmodname = PyUnicode_FromString(modname); + if (pmodname == NULL) { return NULL; - mod = PyImport_ImportModuleLevelObject(nameobj, globals, locals, - fromlist, level); - Py_DECREF(nameobj); - return mod; + } + PyObject *pattrname = PyUnicode_FromString(attrname); + if (pattrname == NULL) { + Py_DECREF(pmodname); + return NULL; + } + PyObject *result = _PyImport_GetModuleAttr(pmodname, pattrname); + Py_DECREF(pattrname); + Py_DECREF(pmodname); + return result; } -/* Re-import a module of any kind and return its module object, WITH - INCREMENTED REFERENCE COUNT */ +/**************/ +/* the module */ +/**************/ -PyObject * -PyImport_ReloadModule(PyObject *m) +/*[clinic input] +_imp.lock_held + +Return True if the import lock is currently held, else False. + +On platforms without threads, return False. +[clinic start generated code]*/ + +static PyObject * +_imp_lock_held_impl(PyObject *module) +/*[clinic end generated code: output=8b89384b5e1963fc input=9b088f9b217d9bdf]*/ { - PyObject *reloaded_module = NULL; - PyObject *importlib = PyImport_GetModule(&_Py_ID(importlib)); - if (importlib == NULL) { - if (PyErr_Occurred()) { - return NULL; - } + PyInterpreterState *interp = _PyInterpreterState_GET(); + return PyBool_FromLong( + IMPORT_LOCK_THREAD(interp) != PYTHREAD_INVALID_THREAD_ID); +} - importlib = PyImport_ImportModule("importlib"); - if (importlib == NULL) { - return NULL; - } - } +/*[clinic input] +_imp.acquire_lock - reloaded_module = PyObject_CallMethodOneArg(importlib, &_Py_ID(reload), m); - Py_DECREF(importlib); - return reloaded_module; +Acquires the interpreter's import lock for the current thread. + +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]*/ + +static PyObject * +_imp_acquire_lock_impl(PyObject *module) +/*[clinic end generated code: output=1aff58cb0ee1b026 input=4a2d4381866d5fdc]*/ +{ + PyInterpreterState *interp = _PyInterpreterState_GET(); + _PyImport_AcquireLock(interp); + Py_RETURN_NONE; } +/*[clinic input] +_imp.release_lock -/* Higher-level import emulator which emulates the "import" statement - more accurately -- it invokes the __import__() function from the - builtins of the current globals. This means that the import is - done using whatever import hooks are installed in the current - environment. - A dummy list ["__doc__"] is passed as the 4th argument so that - e.g. PyImport_Import(PyUnicode_FromString("win32com.client.gencache")) - will return instead of . */ +Release the interpreter's import lock. -PyObject * -PyImport_Import(PyObject *module_name) +On platforms without threads, this function does nothing. +[clinic start generated code]*/ + +static PyObject * +_imp_release_lock_impl(PyObject *module) +/*[clinic end generated code: output=7faab6d0be178b0a input=934fb11516dd778b]*/ { - PyThreadState *tstate = _PyThreadState_GET(); - PyObject *globals = NULL; - PyObject *import = NULL; - PyObject *builtins = NULL; - PyObject *r = NULL; + PyInterpreterState *interp = _PyInterpreterState_GET(); + if (_PyImport_ReleaseLock(interp) < 0) { + PyErr_SetString(PyExc_RuntimeError, + "not holding the import lock"); + return NULL; + } + Py_RETURN_NONE; +} + + +/*[clinic input] +_imp._fix_co_filename + + code: object(type="PyCodeObject *", subclass_of="&PyCode_Type") + Code object to change. + + path: unicode + File path to use. + / + +Changes code.co_filename to specify the passed-in file path. +[clinic start generated code]*/ + +static PyObject * +_imp__fix_co_filename_impl(PyObject *module, PyCodeObject *code, + PyObject *path) +/*[clinic end generated code: output=1d002f100235587d input=895ba50e78b82f05]*/ + +{ + update_compiled_module(code, path); + + Py_RETURN_NONE; +} - PyObject *from_list = PyList_New(0); - if (from_list == NULL) { - goto err; - } - /* Get the builtins from current globals */ - globals = PyEval_GetGlobals(); - if (globals != NULL) { - Py_INCREF(globals); - builtins = PyObject_GetItem(globals, &_Py_ID(__builtins__)); - if (builtins == NULL) - goto err; - } - else { - /* No globals -- use standard builtins, and fake globals */ - builtins = PyImport_ImportModuleLevel("builtins", - NULL, NULL, NULL, 0); - if (builtins == NULL) { - goto err; - } - globals = Py_BuildValue("{OO}", &_Py_ID(__builtins__), builtins); - if (globals == NULL) - goto err; - } +/*[clinic input] +_imp.create_builtin - /* Get the __import__ function from the builtins */ - if (PyDict_Check(builtins)) { - import = PyObject_GetItem(builtins, &_Py_ID(__import__)); - if (import == NULL) { - _PyErr_SetObject(tstate, PyExc_KeyError, &_Py_ID(__import__)); - } - } - else - import = PyObject_GetAttr(builtins, &_Py_ID(__import__)); - if (import == NULL) - goto err; + spec: object + / - /* Call the __import__ function with the proper argument list - Always use absolute import here. - Calling for side-effect of import. */ - r = PyObject_CallFunction(import, "OOOOi", module_name, globals, - globals, from_list, 0, NULL); - if (r == NULL) - goto err; - Py_DECREF(r); +Create an extension module. +[clinic start generated code]*/ - r = import_get_module(tstate, module_name); - if (r == NULL && !_PyErr_Occurred(tstate)) { - _PyErr_SetObject(tstate, PyExc_KeyError, module_name); +static PyObject * +_imp_create_builtin(PyObject *module, PyObject *spec) +/*[clinic end generated code: output=ace7ff22271e6f39 input=37f966f890384e47]*/ +{ + PyThreadState *tstate = _PyThreadState_GET(); + + PyObject *name = PyObject_GetAttrString(spec, "name"); + if (name == NULL) { + return NULL; } - err: - Py_XDECREF(globals); - Py_XDECREF(builtins); - Py_XDECREF(import); - Py_XDECREF(from_list); + if (!PyUnicode_Check(name)) { + PyErr_Format(PyExc_TypeError, + "name must be string, not %.200s", + Py_TYPE(name)->tp_name); + Py_DECREF(name); + return NULL; + } - return r; + PyObject *mod = create_builtin(tstate, name, spec); + Py_DECREF(name); + return mod; } + /*[clinic input] _imp.extension_suffixes @@ -2223,7 +3606,8 @@ _imp_get_frozen_object_impl(PyObject *module, PyObject *name, return NULL; } - PyObject *codeobj = unmarshal_frozen_code(&info); + PyInterpreterState *interp = _PyInterpreterState_GET(); + PyObject *codeobj = unmarshal_frozen_code(interp, &info); if (dataobj != Py_None) { PyBuffer_Release(&buf); } @@ -2319,32 +3703,36 @@ _imp__override_frozen_modules_for_tests_impl(PyObject *module, int override) /*[clinic end generated code: output=36d5cb1594160811 input=8f1f95a3ef21aec3]*/ { PyInterpreterState *interp = _PyInterpreterState_GET(); - interp->override_frozen_modules = override; + OVERRIDE_FROZEN_MODULES(interp) = override; Py_RETURN_NONE; } -/* Common implementation for _imp.exec_dynamic and _imp.exec_builtin */ -static int -exec_builtin_or_dynamic(PyObject *mod) { - PyModuleDef *def; - void *state; +/*[clinic input] +_imp._override_multi_interp_extensions_check - if (!PyModule_Check(mod)) { - return 0; - } + override: int + / - def = PyModule_GetDef(mod); - if (def == NULL) { - return 0; - } +(internal-only) Override PyInterpreterConfig.check_multi_interp_extensions. - state = PyModule_GetState(mod); - if (state) { - /* Already initialized; skip reload */ - return 0; - } +(-1: "never", 1: "always", 0: no override) +[clinic start generated code]*/ - return PyModule_ExecDef(mod, def); +static PyObject * +_imp__override_multi_interp_extensions_check_impl(PyObject *module, + int override) +/*[clinic end generated code: output=3ff043af52bbf280 input=e086a2ea181f92ae]*/ +{ + PyInterpreterState *interp = _PyInterpreterState_GET(); + if (_Py_IsMainInterpreter(interp)) { + PyErr_SetString(PyExc_RuntimeError, + "_imp._override_multi_interp_extensions_check() " + "cannot be used in the main interpreter"); + return NULL; + } + int oldvalue = OVERRIDE_MULTI_INTERP_EXTENSIONS_CHECK(interp); + OVERRIDE_MULTI_INTERP_EXTENSIONS_CHECK(interp) = override; + return PyLong_FromLong(oldvalue); } #ifdef HAVE_DYNAMIC_LOADING @@ -2379,18 +3767,15 @@ _imp_create_dynamic_impl(PyObject *module, PyObject *spec, PyObject *file) PyThreadState *tstate = _PyThreadState_GET(); mod = import_find_extension(tstate, name, path); - if (mod != NULL || PyErr_Occurred()) { - Py_DECREF(name); - Py_DECREF(path); - return mod; + if (mod != NULL || _PyErr_Occurred(tstate)) { + assert(mod == NULL || !_PyErr_Occurred(tstate)); + goto finally; } if (file != NULL) { fp = _Py_fopen_obj(path, "r"); if (fp == NULL) { - Py_DECREF(name); - Py_DECREF(path); - return NULL; + goto finally; } } else @@ -2398,10 +3783,12 @@ _imp_create_dynamic_impl(PyObject *module, PyObject *spec, PyObject *file) mod = _PyImport_LoadDynamicModuleWithSpec(spec, fp); - Py_DECREF(name); - Py_DECREF(path); if (fp) fclose(fp); + +finally: + Py_DECREF(name); + Py_DECREF(path); return mod; } @@ -2470,7 +3857,7 @@ _imp_source_hash_impl(PyObject *module, long key, Py_buffer *source) PyDoc_STRVAR(doc_imp, -"(Extremely) low-level import machinery bits as used by importlib and imp."); +"(Extremely) low-level import machinery bits as used by importlib."); static PyMethodDef imp_methods[] = { _IMP_EXTENSION_SUFFIXES_METHODDEF @@ -2486,6 +3873,7 @@ static PyMethodDef imp_methods[] = { _IMP_IS_FROZEN_METHODDEF _IMP__FROZEN_MODULE_NAMES_METHODDEF _IMP__OVERRIDE_FROZEN_MODULES_FOR_TESTS_METHODDEF + _IMP__OVERRIDE_MULTI_INTERP_EXTENSIONS_CHECK_METHODDEF _IMP_CREATE_DYNAMIC_METHODDEF _IMP_EXEC_DYNAMIC_METHODDEF _IMP_EXEC_BUILTIN_METHODDEF @@ -2515,6 +3903,7 @@ imp_module_exec(PyObject *module) static PyModuleDef_Slot imp_slots[] = { {Py_mod_exec, imp_module_exec}, + {Py_mod_multiple_interpreters, Py_MOD_PER_INTERPRETER_GIL_SUPPORTED}, {0, NULL} }; @@ -2534,150 +3923,6 @@ PyInit__imp(void) } -// Import the _imp extension by calling manually _imp.create_builtin() and -// _imp.exec_builtin() since importlib is not initialized yet. Initializing -// importlib requires the _imp module: this function fix the bootstrap issue. -PyObject* -_PyImport_BootstrapImp(PyThreadState *tstate) -{ - PyObject *name = PyUnicode_FromString("_imp"); - if (name == NULL) { - return NULL; - } - - // Mock a ModuleSpec object just good enough for PyModule_FromDefAndSpec(): - // an object with just a name attribute. - // - // _imp.__spec__ is overridden by importlib._bootstrap._instal() anyway. - PyObject *attrs = Py_BuildValue("{sO}", "name", name); - if (attrs == NULL) { - goto error; - } - PyObject *spec = _PyNamespace_New(attrs); - Py_DECREF(attrs); - if (spec == NULL) { - goto error; - } - - // Create the _imp module from its definition. - PyObject *mod = create_builtin(tstate, name, spec); - Py_CLEAR(name); - Py_DECREF(spec); - if (mod == NULL) { - goto error; - } - assert(mod != Py_None); // not found - - // Execute the _imp module: call imp_module_exec(). - if (exec_builtin_or_dynamic(mod) < 0) { - Py_DECREF(mod); - goto error; - } - return mod; - -error: - Py_XDECREF(name); - return NULL; -} - - -/* API for embedding applications that want to add their own entries - to the table of built-in modules. This should normally be called - *before* Py_Initialize(). When the table resize fails, -1 is - returned and the existing table is unchanged. - - After a similar function by Just van Rossum. */ - -int -PyImport_ExtendInittab(struct _inittab *newtab) -{ - struct _inittab *p; - size_t i, n; - int res = 0; - - /* Count the number of entries in both tables */ - for (n = 0; newtab[n].name != NULL; n++) - ; - if (n == 0) - return 0; /* Nothing to do */ - for (i = 0; PyImport_Inittab[i].name != NULL; i++) - ; - - /* Force default raw memory allocator to get a known allocator to be able - to release the memory in _PyImport_Fini2() */ - PyMemAllocatorEx old_alloc; - _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - - /* Allocate new memory for the combined table */ - p = NULL; - if (i + n <= SIZE_MAX / sizeof(struct _inittab) - 1) { - size_t size = sizeof(struct _inittab) * (i + n + 1); - p = PyMem_RawRealloc(inittab_copy, size); - } - if (p == NULL) { - res = -1; - goto done; - } - - /* Copy the tables into the new memory at the first call - to PyImport_ExtendInittab(). */ - if (inittab_copy != PyImport_Inittab) { - memcpy(p, PyImport_Inittab, (i+1) * sizeof(struct _inittab)); - } - memcpy(p + i, newtab, (n + 1) * sizeof(struct _inittab)); - PyImport_Inittab = inittab_copy = p; - -done: - PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - return res; -} - -/* Shorthand to add a single entry given a name and a function */ - -int -PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void)) -{ - struct _inittab newtab[2]; - - memset(newtab, '\0', sizeof newtab); - - newtab[0].name = name; - newtab[0].initfunc = initfunc; - - return PyImport_ExtendInittab(newtab); -} - - -PyObject * -_PyImport_GetModuleAttr(PyObject *modname, PyObject *attrname) -{ - PyObject *mod = PyImport_Import(modname); - if (mod == NULL) { - return NULL; - } - PyObject *result = PyObject_GetAttr(mod, attrname); - Py_DECREF(mod); - return result; -} - -PyObject * -_PyImport_GetModuleAttrString(const char *modname, const char *attrname) -{ - PyObject *pmodname = PyUnicode_FromString(modname); - if (pmodname == NULL) { - return NULL; - } - PyObject *pattrname = PyUnicode_FromString(attrname); - if (pattrname == NULL) { - Py_DECREF(pmodname); - return NULL; - } - PyObject *result = _PyImport_GetModuleAttr(pmodname, pattrname); - Py_DECREF(pattrname); - Py_DECREF(pmodname); - return result; -} - #ifdef __cplusplus } #endif diff --git a/contrib/tools/python3/src/Python/importdl.c b/contrib/tools/python3/src/Python/importdl.c index 870ae273007..3a3a30ddbdc 100644 --- a/contrib/tools/python3/src/Python/importdl.c +++ b/contrib/tools/python3/src/Python/importdl.c @@ -3,6 +3,7 @@ #include "Python.h" #include "pycore_call.h" +#include "pycore_import.h" #include "pycore_pystate.h" #include "pycore_runtime.h" @@ -99,7 +100,7 @@ _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp) #endif PyObject *name_unicode = NULL, *name = NULL, *path = NULL, *m = NULL; const char *name_buf, *hook_prefix; - const char *oldcontext; + const char *oldcontext, *newcontext; dl_funcptr exportfunc; PyModuleDef *def; PyModInitFunction p0; @@ -113,6 +114,10 @@ _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp) "spec.name must be a string"); goto error; } + newcontext = PyUnicode_AsUTF8(name_unicode); + if (newcontext == NULL) { + goto error; + } name = get_encoded_name(name_unicode, &hook_prefix); if (name == NULL) { @@ -160,14 +165,9 @@ _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp) p0 = (PyModInitFunction)exportfunc; /* Package context is needed for single-phase init */ - oldcontext = _Py_PackageContext; - _Py_PackageContext = PyUnicode_AsUTF8(name_unicode); - if (_Py_PackageContext == NULL) { - _Py_PackageContext = oldcontext; - goto error; - } + oldcontext = _PyImport_SwapPackageContext(newcontext); m = _PyImport_InitFunc_TrampolineCall(p0); - _Py_PackageContext = oldcontext; + _PyImport_SwapPackageContext(oldcontext); if (m == NULL) { if (!PyErr_Occurred()) { @@ -178,8 +178,7 @@ _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp) } goto error; } else if (PyErr_Occurred()) { - PyErr_Clear(); - PyErr_Format( + _PyErr_FormatFromCause( PyExc_SystemError, "initialization of %s raised unreported exception", name_buf); @@ -205,6 +204,10 @@ _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp) /* Fall back to single-phase init mechanism */ + if (_PyImport_CheckSubinterpIncompatibleExtensionAllowed(name_buf) < 0) { + goto error; + } + if (hook_prefix == nonascii_prefix) { /* don't allow legacy init for non-ASCII module names */ PyErr_Format( diff --git a/contrib/tools/python3/src/Python/initconfig.c b/contrib/tools/python3/src/Python/initconfig.c index 73328794462..a1256a542a6 100644 --- a/contrib/tools/python3/src/Python/initconfig.c +++ b/contrib/tools/python3/src/Python/initconfig.c @@ -5,7 +5,7 @@ #include "pycore_interp.h" // _PyInterpreterState.runtime #include "pycore_long.h" // _PY_LONG_MAX_STR_DIGITS_THRESHOLD #include "pycore_pathconfig.h" // _Py_path_config -#include "pycore_pyerrors.h" // _PyErr_Fetch() +#include "pycore_pyerrors.h" // _PyErr_GetRaisedException() #include "pycore_pylifecycle.h" // _Py_PreInitializeFromConfig() #include "pycore_pymem.h" // _PyMem_SetDefaultAllocator() #include "pycore_pystate.h" // _PyThreadState_GET() @@ -119,12 +119,24 @@ The following implementation-specific options are available:\n\ files are desired as well as suppressing the extra visual location indicators \n\ when the interpreter displays tracebacks.\n\ \n\ +-X perf: activate support for the Linux \"perf\" profiler by activating the \"perf\"\n\ + trampoline. When this option is activated, the Linux \"perf\" profiler will be \n\ + able to report Python calls. This option is only available on some platforms and will \n\ + do nothing if is not supported on the current system. The default value is \"off\".\n\ +\n\ -X frozen_modules=[on|off]: whether or not frozen modules should be used.\n\ The default is \"on\" (or \"off\" if you are running a local build).\n\ \n\ -X int_max_str_digits=number: limit the size of int<->str conversions.\n\ This helps avoid denial of service attacks when parsing untrusted data.\n\ - The default is sys.int_info.default_max_str_digits. 0 disables."; + The default is sys.int_info.default_max_str_digits. 0 disables." + +#ifdef Py_STATS +"\n\ +\n\ +-X pystats: Enable pystats collection at startup." +#endif +; /* Envvars that don't have equivalent command-line options are listed first */ static const char usage_envvars[] = @@ -191,7 +203,7 @@ int Py_UTF8Mode = 0; int Py_DebugFlag = 0; /* Needed by parser.c */ int Py_VerboseFlag = 0; /* Needed by import.c */ int Py_QuietFlag = 0; /* Needed by sysmodule.c */ -int Py_InteractiveFlag = 0; /* Needed by Py_FdIsInteractive() below */ +int Py_InteractiveFlag = 0; /* Previously, was used by Py_FdIsInteractive() */ int Py_InspectFlag = 0; /* Needed to determine whether to exit at SystemExit */ int Py_OptimizeFlag = 0; /* Needed by compile.c */ int Py_NoSiteFlag = 0; /* Suppress 'import site' */ @@ -212,6 +224,8 @@ int Py_LegacyWindowsStdioFlag = 0; /* Uses FileIO instead of WindowsConsoleIO */ static PyObject * _Py_GetGlobalVariablesAsDict(void) { +_Py_COMP_DIAG_PUSH +_Py_COMP_DIAG_IGNORE_DEPR_DECLS PyObject *dict, *obj; dict = PyDict_New(); @@ -236,7 +250,7 @@ _Py_GetGlobalVariablesAsDict(void) #define FROM_STRING(STR) \ ((STR != NULL) ? \ PyUnicode_FromString(STR) \ - : (Py_INCREF(Py_None), Py_None)) + : Py_NewRef(Py_None)) #define SET_ITEM_STR(VAR) \ SET_ITEM(#VAR, FROM_STRING(VAR)) @@ -278,15 +292,19 @@ fail: #undef SET_ITEM #undef SET_ITEM_INT #undef SET_ITEM_STR +_Py_COMP_DIAG_POP } char* Py_GETENV(const char *name) { +_Py_COMP_DIAG_PUSH +_Py_COMP_DIAG_IGNORE_DEPR_DECLS if (Py_IgnoreEnvironmentFlag) { return NULL; } return getenv(name); +_Py_COMP_DIAG_POP } /* --- PyStatus ----------------------------------------------- */ @@ -548,8 +566,11 @@ Py_SetStandardStreamEncoding(const char *encoding, const char *errors) } #ifdef MS_WINDOWS if (_Py_StandardStreamEncoding) { +_Py_COMP_DIAG_PUSH +_Py_COMP_DIAG_IGNORE_DEPR_DECLS /* Overriding the stream encoding implies legacy streams */ Py_LegacyWindowsStdioFlag = 1; +_Py_COMP_DIAG_POP } #endif @@ -583,17 +604,13 @@ _Py_ClearStandardStreamEncoding(void) /* --- Py_GetArgcArgv() ------------------------------------------- */ -/* For Py_GetArgcArgv(); set by _Py_SetArgcArgv() */ -static PyWideStringList orig_argv = {.length = 0, .items = NULL}; - - void _Py_ClearArgcArgv(void) { PyMemAllocatorEx old_alloc; _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - _PyWideStringList_Clear(&orig_argv); + _PyWideStringList_Clear(&_PyRuntime.orig_argv); PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); } @@ -608,7 +625,9 @@ _Py_SetArgcArgv(Py_ssize_t argc, wchar_t * const *argv) PyMemAllocatorEx old_alloc; _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - res = _PyWideStringList_Copy(&orig_argv, &argv_list); + // XXX _PyRuntime.orig_argv only gets cleared by Py_Main(), + // so it it currently leaks for embedders. + res = _PyWideStringList_Copy(&_PyRuntime.orig_argv, &argv_list); PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); return res; @@ -619,8 +638,8 @@ _Py_SetArgcArgv(Py_ssize_t argc, wchar_t * const *argv) void Py_GetArgcArgv(int *argc, wchar_t ***argv) { - *argc = (int)orig_argv.length; - *argv = orig_argv.items; + *argc = (int)_PyRuntime.orig_argv.length; + *argv = _PyRuntime.orig_argv.items; } @@ -683,6 +702,7 @@ config_check_consistency(const PyConfig *config) assert(config->pathconfig_warnings >= 0); assert(config->_is_python_build >= 0); assert(config->safe_path >= 0); + assert(config->int_max_str_digits >= 0); // config->use_frozen_modules is initialized later // by _PyConfig_InitImportConfig(). return 1; @@ -747,6 +767,7 @@ _PyConfig_InitCompatConfig(PyConfig *config) config->use_hash_seed = -1; config->faulthandler = -1; config->tracemalloc = -1; + config->perf_profiling = -1; config->module_search_paths_set = 0; config->parse_argv = 0; config->site_import = -1; @@ -766,7 +787,6 @@ _PyConfig_InitCompatConfig(PyConfig *config) config->check_hash_pycs_mode = NULL; config->pathconfig_warnings = -1; config->_init_main = 1; - config->_isolated_interpreter = 0; #ifdef MS_WINDOWS config->legacy_windows_stdio = -1; #endif @@ -776,14 +796,11 @@ _PyConfig_InitCompatConfig(PyConfig *config) config->use_frozen_modules = 1; #endif config->safe_path = 0; + config->int_max_str_digits = -1; config->_is_python_build = 0; config->code_debug_ranges = 1; } -/* Excluded from public struct PyConfig for backporting reasons. */ -/* default to unconfigured, _PyLong_InitTypes() does the rest */ -int _Py_global_config_int_max_str_digits = -1; - static void config_init_defaults(PyConfig *config) @@ -835,6 +852,8 @@ PyConfig_InitIsolatedConfig(PyConfig *config) config->use_hash_seed = 0; config->faulthandler = 0; config->tracemalloc = 0; + config->perf_profiling = 0; + config->int_max_str_digits = _PY_LONG_DEFAULT_MAX_STR_DIGITS; config->safe_path = 1; config->pathconfig_warnings = 0; #ifdef MS_WINDOWS @@ -946,6 +965,7 @@ _PyConfig_Copy(PyConfig *config, const PyConfig *config2) COPY_ATTR(_install_importlib); COPY_ATTR(faulthandler); COPY_ATTR(tracemalloc); + COPY_ATTR(perf_profiling); COPY_ATTR(import_time); COPY_ATTR(code_debug_ranges); COPY_ATTR(show_ref_count); @@ -1001,11 +1021,11 @@ _PyConfig_Copy(PyConfig *config, const PyConfig *config2) COPY_WSTR_ATTR(check_hash_pycs_mode); COPY_ATTR(pathconfig_warnings); COPY_ATTR(_init_main); - COPY_ATTR(_isolated_interpreter); COPY_ATTR(use_frozen_modules); COPY_ATTR(safe_path); COPY_WSTRLIST(orig_argv); COPY_ATTR(_is_python_build); + COPY_ATTR(int_max_str_digits); #undef COPY_ATTR #undef COPY_WSTR_ATTR @@ -1041,7 +1061,7 @@ _PyConfig_AsDict(const PyConfig *config) #define FROM_WSTRING(STR) \ ((STR != NULL) ? \ PyUnicode_FromWideChar(STR, -1) \ - : (Py_INCREF(Py_None), Py_None)) + : Py_NewRef(Py_None)) #define SET_ITEM_WSTR(ATTR) \ SET_ITEM(#ATTR, FROM_WSTRING(config->ATTR)) #define SET_ITEM_WSTRLIST(LIST) \ @@ -1056,6 +1076,7 @@ _PyConfig_AsDict(const PyConfig *config) SET_ITEM_UINT(hash_seed); SET_ITEM_INT(faulthandler); SET_ITEM_INT(tracemalloc); + SET_ITEM_INT(perf_profiling); SET_ITEM_INT(import_time); SET_ITEM_INT(code_debug_ranges); SET_ITEM_INT(show_ref_count); @@ -1107,11 +1128,11 @@ _PyConfig_AsDict(const PyConfig *config) SET_ITEM_WSTR(check_hash_pycs_mode); SET_ITEM_INT(pathconfig_warnings); SET_ITEM_INT(_init_main); - SET_ITEM_INT(_isolated_interpreter); SET_ITEM_WSTRLIST(orig_argv); SET_ITEM_INT(use_frozen_modules); SET_ITEM_INT(safe_path); SET_ITEM_INT(_is_python_build); + SET_ITEM_INT(int_max_str_digits); return dict; @@ -1301,6 +1322,12 @@ _PyConfig_FromDict(PyConfig *config, PyObject *dict) } \ CHECK_VALUE(#KEY, config->KEY >= 0); \ } while (0) +#define GET_INT(KEY) \ + do { \ + if (config_dict_get_int(dict, #KEY, &config->KEY) < 0) { \ + return -1; \ + } \ + } while (0) #define GET_WSTR(KEY) \ do { \ if (config_dict_get_wstr(dict, #KEY, config, &config->KEY) < 0) { \ @@ -1337,6 +1364,7 @@ _PyConfig_FromDict(PyConfig *config, PyObject *dict) CHECK_VALUE("hash_seed", config->hash_seed <= MAX_HASH_SEED); GET_UINT(faulthandler); GET_UINT(tracemalloc); + GET_UINT(perf_profiling); GET_UINT(import_time); GET_UINT(code_debug_ranges); GET_UINT(show_ref_count); @@ -1394,13 +1422,14 @@ _PyConfig_FromDict(PyConfig *config, PyObject *dict) GET_UINT(_install_importlib); GET_UINT(_init_main); - GET_UINT(_isolated_interpreter); GET_UINT(use_frozen_modules); GET_UINT(safe_path); GET_UINT(_is_python_build); + GET_INT(int_max_str_digits); #undef CHECK_VALUE #undef GET_UINT +#undef GET_INT #undef GET_WSTR #undef GET_WSTR_OPT return 0; @@ -1458,6 +1487,8 @@ config_get_env_dup(PyConfig *config, static void config_get_global_vars(PyConfig *config) { +_Py_COMP_DIAG_PUSH +_Py_COMP_DIAG_IGNORE_DEPR_DECLS if (config->_config_init != _PyConfig_INIT_COMPAT) { /* Python and Isolated configuration ignore global variables */ return; @@ -1493,6 +1524,7 @@ config_get_global_vars(PyConfig *config) #undef COPY_FLAG #undef COPY_NOT_FLAG +_Py_COMP_DIAG_POP } @@ -1500,6 +1532,8 @@ config_get_global_vars(PyConfig *config) static void config_set_global_vars(const PyConfig *config) { +_Py_COMP_DIAG_PUSH +_Py_COMP_DIAG_IGNORE_DEPR_DECLS #define COPY_FLAG(ATTR, VAR) \ if (config->ATTR != -1) { \ VAR = config->ATTR; \ @@ -1534,6 +1568,7 @@ config_set_global_vars(const PyConfig *config) #undef COPY_FLAG #undef COPY_NOT_FLAG +_Py_COMP_DIAG_POP } @@ -1687,6 +1722,26 @@ config_read_env_vars(PyConfig *config) return _PyStatus_OK(); } +static PyStatus +config_init_perf_profiling(PyConfig *config) +{ + int active = 0; + const char *env = config_get_env(config, "PYTHONPERFSUPPORT"); + if (env) { + if (_Py_str_to_int(env, &active) != 0) { + active = 0; + } + if (active) { + config->perf_profiling = 1; + } + } + const wchar_t *xoption = config_get_xoption(config, L"perf"); + if (xoption) { + config->perf_profiling = 1; + } + return _PyStatus_OK(); + +} static PyStatus config_init_tracemalloc(PyConfig *config) @@ -1739,7 +1794,7 @@ config_init_int_max_str_digits(PyConfig *config) const char *env = config_get_env(config, "PYTHONINTMAXSTRDIGITS"); if (env) { - int valid = 0; + bool valid = 0; if (!_Py_str_to_int(env, &maxdigits)) { valid = ((maxdigits == 0) || (maxdigits >= _PY_LONG_MAX_STR_DIGITS_THRESHOLD)); } @@ -1751,13 +1806,13 @@ config_init_int_max_str_digits(PyConfig *config) STRINGIFY(_PY_LONG_MAX_STR_DIGITS_THRESHOLD) " or 0 for unlimited."); } - _Py_global_config_int_max_str_digits = maxdigits; + config->int_max_str_digits = maxdigits; } const wchar_t *xoption = config_get_xoption(config, L"int_max_str_digits"); if (xoption) { const wchar_t *sep = wcschr(xoption, L'='); - int valid = 0; + bool valid = 0; if (sep) { if (!config_wstr_to_int(sep + 1, &maxdigits)) { valid = ((maxdigits == 0) || (maxdigits >= _PY_LONG_MAX_STR_DIGITS_THRESHOLD)); @@ -1771,7 +1826,10 @@ config_init_int_max_str_digits(PyConfig *config) #undef _STRINGIFY #undef STRINGIFY } - _Py_global_config_int_max_str_digits = maxdigits; + config->int_max_str_digits = maxdigits; + } + if (config->int_max_str_digits < 0) { + config->int_max_str_digits = _PY_LONG_DEFAULT_MAX_STR_DIGITS; } return _PyStatus_OK(); } @@ -1831,7 +1889,15 @@ config_read_complex_options(PyConfig *config) return status; } } - if (_Py_global_config_int_max_str_digits < 0) { + + if (config->perf_profiling < 0) { + status = config_init_perf_profiling(config); + if (_PyStatus_EXCEPTION(status)) { + return status; + } + } + + if (config->int_max_str_digits < 0) { status = config_init_int_max_str_digits(config); if (_PyStatus_EXCEPTION(status)) { return status; @@ -2129,6 +2195,12 @@ config_read(PyConfig *config, int compute_path_config) config->show_ref_count = 1; } +#ifdef Py_STATS + if (config_get_xoption(config, L"pystats")) { + _py_stats = &_py_stats_struct; + } +#endif + status = config_read_complex_options(config); if (_PyStatus_EXCEPTION(status)) { return status; @@ -2153,6 +2225,9 @@ config_read(PyConfig *config, int compute_path_config) if (config->tracemalloc < 0) { config->tracemalloc = 0; } + if (config->perf_profiling < 0) { + config->perf_profiling = 0; + } if (config->use_hash_seed < 0) { config->use_hash_seed = 0; config->hash_seed = 0; @@ -2280,13 +2355,13 @@ config_usage(int error, const wchar_t* program) } static void -config_envvars_usage() +config_envvars_usage(void) { printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP); } static void -config_xoptions_usage() +config_xoptions_usage(void) { puts(usage_xoptions); } @@ -3068,8 +3143,7 @@ init_dump_ascii_wstr(const wchar_t *str) void _Py_DumpPathConfig(PyThreadState *tstate) { - PyObject *exc_type, *exc_value, *exc_tb; - _PyErr_Fetch(tstate, &exc_type, &exc_value, &exc_tb); + PyObject *exc = _PyErr_GetRaisedException(tstate); PySys_WriteStderr("Python path configuration:\n"); @@ -3127,5 +3201,5 @@ _Py_DumpPathConfig(PyThreadState *tstate) PySys_WriteStderr(" ]\n"); } - _PyErr_Restore(tstate, exc_type, exc_value, exc_tb); + _PyErr_SetRaisedException(tstate, exc); } diff --git a/contrib/tools/python3/src/Python/instrumentation.c b/contrib/tools/python3/src/Python/instrumentation.c new file mode 100644 index 00000000000..a6ff7a8a985 --- /dev/null +++ b/contrib/tools/python3/src/Python/instrumentation.c @@ -0,0 +1,2178 @@ + + + + +#include "Python.h" +#include "pycore_call.h" +#include "pycore_frame.h" +#include "pycore_interp.h" +#include "pycore_long.h" +#include "pycore_namespace.h" +#include "pycore_object.h" +#include "pycore_opcode.h" +#include "pycore_pyerrors.h" +#include "pycore_pystate.h" + +/* Uncomment this to dump debugging output when assertions fail */ +// #define INSTRUMENT_DEBUG 1 + +PyObject _PyInstrumentation_DISABLE = +{ + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBaseObject_Type +}; + +PyObject _PyInstrumentation_MISSING = +{ + .ob_refcnt = _Py_IMMORTAL_REFCNT, + .ob_type = &PyBaseObject_Type +}; + +static const int8_t EVENT_FOR_OPCODE[256] = { + [RETURN_CONST] = PY_MONITORING_EVENT_PY_RETURN, + [INSTRUMENTED_RETURN_CONST] = PY_MONITORING_EVENT_PY_RETURN, + [RETURN_VALUE] = PY_MONITORING_EVENT_PY_RETURN, + [INSTRUMENTED_RETURN_VALUE] = PY_MONITORING_EVENT_PY_RETURN, + [CALL] = PY_MONITORING_EVENT_CALL, + [INSTRUMENTED_CALL] = PY_MONITORING_EVENT_CALL, + [CALL_FUNCTION_EX] = PY_MONITORING_EVENT_CALL, + [INSTRUMENTED_CALL_FUNCTION_EX] = PY_MONITORING_EVENT_CALL, + [LOAD_SUPER_ATTR] = PY_MONITORING_EVENT_CALL, + [INSTRUMENTED_LOAD_SUPER_ATTR] = PY_MONITORING_EVENT_CALL, + [RESUME] = -1, + [YIELD_VALUE] = PY_MONITORING_EVENT_PY_YIELD, + [INSTRUMENTED_YIELD_VALUE] = PY_MONITORING_EVENT_PY_YIELD, + [JUMP_FORWARD] = PY_MONITORING_EVENT_JUMP, + [JUMP_BACKWARD] = PY_MONITORING_EVENT_JUMP, + [POP_JUMP_IF_FALSE] = PY_MONITORING_EVENT_BRANCH, + [POP_JUMP_IF_TRUE] = PY_MONITORING_EVENT_BRANCH, + [POP_JUMP_IF_NONE] = PY_MONITORING_EVENT_BRANCH, + [POP_JUMP_IF_NOT_NONE] = PY_MONITORING_EVENT_BRANCH, + [INSTRUMENTED_JUMP_FORWARD] = PY_MONITORING_EVENT_JUMP, + [INSTRUMENTED_JUMP_BACKWARD] = PY_MONITORING_EVENT_JUMP, + [INSTRUMENTED_POP_JUMP_IF_FALSE] = PY_MONITORING_EVENT_BRANCH, + [INSTRUMENTED_POP_JUMP_IF_TRUE] = PY_MONITORING_EVENT_BRANCH, + [INSTRUMENTED_POP_JUMP_IF_NONE] = PY_MONITORING_EVENT_BRANCH, + [INSTRUMENTED_POP_JUMP_IF_NOT_NONE] = PY_MONITORING_EVENT_BRANCH, + [FOR_ITER] = PY_MONITORING_EVENT_BRANCH, + [INSTRUMENTED_FOR_ITER] = PY_MONITORING_EVENT_BRANCH, + [END_FOR] = PY_MONITORING_EVENT_STOP_ITERATION, + [INSTRUMENTED_END_FOR] = PY_MONITORING_EVENT_STOP_ITERATION, + [END_SEND] = PY_MONITORING_EVENT_STOP_ITERATION, + [INSTRUMENTED_END_SEND] = PY_MONITORING_EVENT_STOP_ITERATION, +}; + +static const uint8_t DE_INSTRUMENT[256] = { + [INSTRUMENTED_RESUME] = RESUME, + [INSTRUMENTED_RETURN_VALUE] = RETURN_VALUE, + [INSTRUMENTED_RETURN_CONST] = RETURN_CONST, + [INSTRUMENTED_CALL] = CALL, + [INSTRUMENTED_CALL_FUNCTION_EX] = CALL_FUNCTION_EX, + [INSTRUMENTED_YIELD_VALUE] = YIELD_VALUE, + [INSTRUMENTED_JUMP_FORWARD] = JUMP_FORWARD, + [INSTRUMENTED_JUMP_BACKWARD] = JUMP_BACKWARD, + [INSTRUMENTED_POP_JUMP_IF_FALSE] = POP_JUMP_IF_FALSE, + [INSTRUMENTED_POP_JUMP_IF_TRUE] = POP_JUMP_IF_TRUE, + [INSTRUMENTED_POP_JUMP_IF_NONE] = POP_JUMP_IF_NONE, + [INSTRUMENTED_POP_JUMP_IF_NOT_NONE] = POP_JUMP_IF_NOT_NONE, + [INSTRUMENTED_FOR_ITER] = FOR_ITER, + [INSTRUMENTED_END_FOR] = END_FOR, + [INSTRUMENTED_END_SEND] = END_SEND, + [INSTRUMENTED_LOAD_SUPER_ATTR] = LOAD_SUPER_ATTR, +}; + +static const uint8_t INSTRUMENTED_OPCODES[256] = { + [RETURN_CONST] = INSTRUMENTED_RETURN_CONST, + [INSTRUMENTED_RETURN_CONST] = INSTRUMENTED_RETURN_CONST, + [RETURN_VALUE] = INSTRUMENTED_RETURN_VALUE, + [INSTRUMENTED_RETURN_VALUE] = INSTRUMENTED_RETURN_VALUE, + [CALL] = INSTRUMENTED_CALL, + [INSTRUMENTED_CALL] = INSTRUMENTED_CALL, + [CALL_FUNCTION_EX] = INSTRUMENTED_CALL_FUNCTION_EX, + [INSTRUMENTED_CALL_FUNCTION_EX] = INSTRUMENTED_CALL_FUNCTION_EX, + [YIELD_VALUE] = INSTRUMENTED_YIELD_VALUE, + [INSTRUMENTED_YIELD_VALUE] = INSTRUMENTED_YIELD_VALUE, + [RESUME] = INSTRUMENTED_RESUME, + [INSTRUMENTED_RESUME] = INSTRUMENTED_RESUME, + [JUMP_FORWARD] = INSTRUMENTED_JUMP_FORWARD, + [INSTRUMENTED_JUMP_FORWARD] = INSTRUMENTED_JUMP_FORWARD, + [JUMP_BACKWARD] = INSTRUMENTED_JUMP_BACKWARD, + [INSTRUMENTED_JUMP_BACKWARD] = INSTRUMENTED_JUMP_BACKWARD, + [POP_JUMP_IF_FALSE] = INSTRUMENTED_POP_JUMP_IF_FALSE, + [INSTRUMENTED_POP_JUMP_IF_FALSE] = INSTRUMENTED_POP_JUMP_IF_FALSE, + [POP_JUMP_IF_TRUE] = INSTRUMENTED_POP_JUMP_IF_TRUE, + [INSTRUMENTED_POP_JUMP_IF_TRUE] = INSTRUMENTED_POP_JUMP_IF_TRUE, + [POP_JUMP_IF_NONE] = INSTRUMENTED_POP_JUMP_IF_NONE, + [INSTRUMENTED_POP_JUMP_IF_NONE] = INSTRUMENTED_POP_JUMP_IF_NONE, + [POP_JUMP_IF_NOT_NONE] = INSTRUMENTED_POP_JUMP_IF_NOT_NONE, + [INSTRUMENTED_POP_JUMP_IF_NOT_NONE] = INSTRUMENTED_POP_JUMP_IF_NOT_NONE, + [END_FOR] = INSTRUMENTED_END_FOR, + [INSTRUMENTED_END_FOR] = INSTRUMENTED_END_FOR, + [END_SEND] = INSTRUMENTED_END_SEND, + [INSTRUMENTED_END_SEND] = INSTRUMENTED_END_SEND, + [FOR_ITER] = INSTRUMENTED_FOR_ITER, + [INSTRUMENTED_FOR_ITER] = INSTRUMENTED_FOR_ITER, + [LOAD_SUPER_ATTR] = INSTRUMENTED_LOAD_SUPER_ATTR, + [INSTRUMENTED_LOAD_SUPER_ATTR] = INSTRUMENTED_LOAD_SUPER_ATTR, + + [INSTRUMENTED_LINE] = INSTRUMENTED_LINE, + [INSTRUMENTED_INSTRUCTION] = INSTRUMENTED_INSTRUCTION, +}; + +static inline bool +opcode_has_event(int opcode) +{ + return ( + opcode < INSTRUMENTED_LINE && + INSTRUMENTED_OPCODES[opcode] > 0 + ); +} + +static inline bool +is_instrumented(int opcode) +{ + assert(opcode != 0); + assert(opcode != RESERVED); + return opcode >= MIN_INSTRUMENTED_OPCODE; +} + +#ifndef NDEBUG +static inline bool +monitors_equals(_Py_LocalMonitors a, _Py_LocalMonitors b) +{ + for (int i = 0; i < _PY_MONITORING_LOCAL_EVENTS; i++) { + if (a.tools[i] != b.tools[i]) { + return false; + } + } + return true; +} +#endif + +static inline _Py_LocalMonitors +monitors_sub(_Py_LocalMonitors a, _Py_LocalMonitors b) +{ + _Py_LocalMonitors res; + for (int i = 0; i < _PY_MONITORING_LOCAL_EVENTS; i++) { + res.tools[i] = a.tools[i] & ~b.tools[i]; + } + return res; +} + +#ifndef NDEBUG +static inline _Py_LocalMonitors +monitors_and(_Py_LocalMonitors a, _Py_LocalMonitors b) +{ + _Py_LocalMonitors res; + for (int i = 0; i < _PY_MONITORING_LOCAL_EVENTS; i++) { + res.tools[i] = a.tools[i] & b.tools[i]; + } + return res; +} +#endif + +/* The union of the *local* events in a and b. + * Global events like RAISE are ignored. + * Used for instrumentation, as only local + * events get instrumented. + */ +static inline _Py_LocalMonitors +local_union(_Py_GlobalMonitors a, _Py_LocalMonitors b) +{ + _Py_LocalMonitors res; + for (int i = 0; i < _PY_MONITORING_LOCAL_EVENTS; i++) { + res.tools[i] = a.tools[i] | b.tools[i]; + } + return res; +} + +static inline bool +monitors_are_empty(_Py_LocalMonitors m) +{ + for (int i = 0; i < _PY_MONITORING_LOCAL_EVENTS; i++) { + if (m.tools[i]) { + return false; + } + } + return true; +} + +static inline bool +multiple_tools(_Py_LocalMonitors *m) +{ + for (int i = 0; i < _PY_MONITORING_LOCAL_EVENTS; i++) { + if (_Py_popcount32(m->tools[i]) > 1) { + return true; + } + } + return false; +} + +static inline _PyMonitoringEventSet +get_local_events(_Py_LocalMonitors *m, int tool_id) +{ + _PyMonitoringEventSet result = 0; + for (int e = 0; e < _PY_MONITORING_LOCAL_EVENTS; e++) { + if ((m->tools[e] >> tool_id) & 1) { + result |= (1 << e); + } + } + return result; +} + +static inline _PyMonitoringEventSet +get_events(_Py_GlobalMonitors *m, int tool_id) +{ + _PyMonitoringEventSet result = 0; + for (int e = 0; e < _PY_MONITORING_UNGROUPED_EVENTS; e++) { + if ((m->tools[e] >> tool_id) & 1) { + result |= (1 << e); + } + } + return result; +} + +/* Line delta. + * 8 bit value. + * if line_delta == -128: + * line = None # represented as -1 + * elif line_delta == -127: + * line = PyCode_Addr2Line(code, offset * sizeof(_Py_CODEUNIT)); + * else: + * line = first_line + (offset >> OFFSET_SHIFT) + line_delta; + */ + +#define NO_LINE -128 +#define COMPUTED_LINE -127 + +#define OFFSET_SHIFT 4 + +static int8_t +compute_line_delta(PyCodeObject *code, int offset, int line) +{ + if (line < 0) { + return NO_LINE; + } + int delta = line - code->co_firstlineno - (offset >> OFFSET_SHIFT); + if (delta <= INT8_MAX && delta > COMPUTED_LINE) { + return delta; + } + return COMPUTED_LINE; +} + +static int +compute_line(PyCodeObject *code, int offset, int8_t line_delta) +{ + if (line_delta > COMPUTED_LINE) { + return code->co_firstlineno + (offset >> OFFSET_SHIFT) + line_delta; + } + if (line_delta == NO_LINE) { + + return -1; + } + assert(line_delta == COMPUTED_LINE); + /* Look it up */ + return PyCode_Addr2Line(code, offset * sizeof(_Py_CODEUNIT)); +} + +static int +instruction_length(PyCodeObject *code, int offset) +{ + int opcode = _PyCode_CODE(code)[offset].op.code; + assert(opcode != 0); + assert(opcode != RESERVED); + if (opcode == INSTRUMENTED_LINE) { + opcode = code->_co_monitoring->lines[offset].original_opcode; + } + if (opcode == INSTRUMENTED_INSTRUCTION) { + opcode = code->_co_monitoring->per_instruction_opcodes[offset]; + } + int deinstrumented = DE_INSTRUMENT[opcode]; + if (deinstrumented) { + opcode = deinstrumented; + } + else { + opcode = _PyOpcode_Deopt[opcode]; + } + assert(opcode != 0); + assert(!is_instrumented(opcode)); + assert(opcode == _PyOpcode_Deopt[opcode]); + return 1 + _PyOpcode_Caches[opcode]; +} + +#ifdef INSTRUMENT_DEBUG + +static void +dump_instrumentation_data_tools(PyCodeObject *code, uint8_t *tools, int i, FILE*out) +{ + if (tools == NULL) { + fprintf(out, "tools = NULL"); + } + else { + fprintf(out, "tools = %d", tools[i]); + } +} + +static void +dump_instrumentation_data_lines(PyCodeObject *code, _PyCoLineInstrumentationData *lines, int i, FILE*out) +{ + if (lines == NULL) { + fprintf(out, ", lines = NULL"); + } + else if (lines[i].original_opcode == 0) { + fprintf(out, ", lines = {original_opcode = No LINE (0), line_delta = %d)", lines[i].line_delta); + } + else { + fprintf(out, ", lines = {original_opcode = %s, line_delta = %d)", _PyOpcode_OpName[lines[i].original_opcode], lines[i].line_delta); + } +} + +static void +dump_instrumentation_data_line_tools(PyCodeObject *code, uint8_t *line_tools, int i, FILE*out) +{ + if (line_tools == NULL) { + fprintf(out, ", line_tools = NULL"); + } + else { + fprintf(out, ", line_tools = %d", line_tools[i]); + } +} + +static void +dump_instrumentation_data_per_instruction(PyCodeObject *code, _PyCoMonitoringData *data, int i, FILE*out) +{ + if (data->per_instruction_opcodes == NULL) { + fprintf(out, ", per-inst opcode = NULL"); + } + else { + fprintf(out, ", per-inst opcode = %s", _PyOpcode_OpName[data->per_instruction_opcodes[i]]); + } + if (data->per_instruction_tools == NULL) { + fprintf(out, ", per-inst tools = NULL"); + } + else { + fprintf(out, ", per-inst tools = %d", data->per_instruction_tools[i]); + } +} + +static void +dump_global_monitors(const char *prefix, _Py_GlobalMonitors monitors, FILE*out) +{ + fprintf(out, "%s monitors:\n", prefix); + for (int event = 0; event < _PY_MONITORING_UNGROUPED_EVENTS; event++) { + fprintf(out, " Event %d: Tools %x\n", event, monitors.tools[event]); + } +} + +static void +dump_local_monitors(const char *prefix, _Py_LocalMonitors monitors, FILE*out) +{ + fprintf(out, "%s monitors:\n", prefix); + for (int event = 0; event < _PY_MONITORING_LOCAL_EVENTS; event++) { + fprintf(out, " Event %d: Tools %x\n", event, monitors.tools[event]); + } +} + +/* No error checking -- Don't use this for anything but experimental debugging */ +static void +dump_instrumentation_data(PyCodeObject *code, int star, FILE*out) +{ + _PyCoMonitoringData *data = code->_co_monitoring; + fprintf(out, "\n"); + PyObject_Print(code->co_name, out, Py_PRINT_RAW); + fprintf(out, "\n"); + if (data == NULL) { + fprintf(out, "NULL\n"); + return; + } + dump_global_monitors("Global", _PyInterpreterState_GET()->monitors, out); + dump_local_monitors("Code", data->local_monitors, out); + dump_local_monitors("Active", data->active_monitors, out); + int code_len = (int)Py_SIZE(code); + bool starred = false; + for (int i = 0; i < code_len; i += instruction_length(code, i)) { + _Py_CODEUNIT *instr = &_PyCode_CODE(code)[i]; + int opcode = instr->op.code; + if (i == star) { + fprintf(out, "** "); + starred = true; + } + fprintf(out, "Offset: %d, line: %d %s: ", i, PyCode_Addr2Line(code, i*2), _PyOpcode_OpName[opcode]); + dump_instrumentation_data_tools(code, data->tools, i, out); + dump_instrumentation_data_lines(code, data->lines, i, out); + dump_instrumentation_data_line_tools(code, data->line_tools, i, out); + dump_instrumentation_data_per_instruction(code, data, i, out); + fprintf(out, "\n"); + ; + } + if (!starred && star >= 0) { + fprintf(out, "Error offset not at valid instruction offset: %d\n", star); + fprintf(out, " "); + dump_instrumentation_data_tools(code, data->tools, star, out); + dump_instrumentation_data_lines(code, data->lines, star, out); + dump_instrumentation_data_line_tools(code, data->line_tools, star, out); + dump_instrumentation_data_per_instruction(code, data, star, out); + fprintf(out, "\n"); + } +} + +#define CHECK(test) do { \ + if (!(test)) { \ + dump_instrumentation_data(code, i, stderr); \ + } \ + assert(test); \ +} while (0) + +static bool +valid_opcode(int opcode) +{ + if (opcode > 0 && + opcode != RESERVED && + opcode < 255 && + _PyOpcode_OpName[opcode] && + _PyOpcode_OpName[opcode][0] != '<') + { + return true; + } + return false; +} + +static void +sanity_check_instrumentation(PyCodeObject *code) +{ + _PyCoMonitoringData *data = code->_co_monitoring; + if (data == NULL) { + return; + } + _Py_GlobalMonitors global_monitors = _PyInterpreterState_GET()->monitors; + _Py_LocalMonitors active_monitors; + if (code->_co_monitoring) { + _Py_LocalMonitors local_monitors = code->_co_monitoring->local_monitors; + active_monitors = local_union(global_monitors, local_monitors); + } + else { + _Py_LocalMonitors empty = (_Py_LocalMonitors) { 0 }; + active_monitors = local_union(global_monitors, empty); + } + assert(monitors_equals( + code->_co_monitoring->active_monitors, + active_monitors)); + int code_len = (int)Py_SIZE(code); + for (int i = 0; i < code_len;) { + _Py_CODEUNIT *instr = &_PyCode_CODE(code)[i]; + int opcode = instr->op.code; + int base_opcode = _Py_GetBaseOpcode(code, i); + CHECK(valid_opcode(opcode)); + CHECK(valid_opcode(base_opcode)); + if (opcode == INSTRUMENTED_INSTRUCTION) { + opcode = data->per_instruction_opcodes[i]; + if (!is_instrumented(opcode)) { + CHECK(_PyOpcode_Deopt[opcode] == opcode); + } + if (data->per_instruction_tools) { + uint8_t tools = active_monitors.tools[PY_MONITORING_EVENT_INSTRUCTION]; + CHECK((tools & data->per_instruction_tools[i]) == data->per_instruction_tools[i]); + } + } + if (opcode == INSTRUMENTED_LINE) { + CHECK(data->lines); + CHECK(valid_opcode(data->lines[i].original_opcode)); + opcode = data->lines[i].original_opcode; + CHECK(opcode != END_FOR); + CHECK(opcode != RESUME); + CHECK(opcode != RESUME_CHECK); + CHECK(opcode != INSTRUMENTED_RESUME); + if (!is_instrumented(opcode)) { + CHECK(_PyOpcode_Deopt[opcode] == opcode); + } + CHECK(opcode != INSTRUMENTED_LINE); + } + else if (data->lines) { + /* If original_opcode is INSTRUMENTED_INSTRUCTION + * *and* we are executing a INSTRUMENTED_LINE instruction + * that has de-instrumented itself, then we will execute + * an invalid INSTRUMENTED_INSTRUCTION */ + CHECK(data->lines[i].original_opcode != INSTRUMENTED_INSTRUCTION); + } + if (opcode == INSTRUMENTED_INSTRUCTION) { + CHECK(data->per_instruction_opcodes[i] != 0); + opcode = data->per_instruction_opcodes[i]; + } + if (is_instrumented(opcode)) { + CHECK(DE_INSTRUMENT[opcode] == base_opcode); + int event = EVENT_FOR_OPCODE[DE_INSTRUMENT[opcode]]; + if (event < 0) { + /* RESUME fixup */ + event = instr->op.arg ? 1: 0; + } + CHECK(active_monitors.tools[event] != 0); + } + if (data->lines && base_opcode != END_FOR) { + int line1 = compute_line(code, i, data->lines[i].line_delta); + int line2 = PyCode_Addr2Line(code, i*sizeof(_Py_CODEUNIT)); + CHECK(line1 == line2); + } + CHECK(valid_opcode(opcode)); + if (data->tools) { + uint8_t local_tools = data->tools[i]; + if (opcode_has_event(base_opcode)) { + int event = EVENT_FOR_OPCODE[base_opcode]; + if (event == -1) { + /* RESUME fixup */ + event = _PyCode_CODE(code)[i].op.arg; + } + CHECK((active_monitors.tools[event] & local_tools) == local_tools); + } + else { + CHECK(local_tools == 0xff); + } + } + i += instruction_length(code, i); + assert(i <= code_len); + } +} +#else + +#define CHECK(test) assert(test) + +#endif + +/* Get the underlying opcode, stripping instrumentation */ +int _Py_GetBaseOpcode(PyCodeObject *code, int i) +{ + int opcode = _PyCode_CODE(code)[i].op.code; + if (opcode == INSTRUMENTED_LINE) { + opcode = code->_co_monitoring->lines[i].original_opcode; + } + if (opcode == INSTRUMENTED_INSTRUCTION) { + opcode = code->_co_monitoring->per_instruction_opcodes[i]; + } + CHECK(opcode != INSTRUMENTED_INSTRUCTION); + CHECK(opcode != INSTRUMENTED_LINE); + int deinstrumented = DE_INSTRUMENT[opcode]; + if (deinstrumented) { + return deinstrumented; + } + return _PyOpcode_Deopt[opcode]; +} + +static void +de_instrument(PyCodeObject *code, int i, int event) +{ + assert(event != PY_MONITORING_EVENT_INSTRUCTION); + assert(event != PY_MONITORING_EVENT_LINE); + + _Py_CODEUNIT *instr = &_PyCode_CODE(code)[i]; + uint8_t *opcode_ptr = &instr->op.code; + int opcode = *opcode_ptr; + if (opcode == INSTRUMENTED_LINE) { + opcode_ptr = &code->_co_monitoring->lines[i].original_opcode; + opcode = *opcode_ptr; + } + if (opcode == INSTRUMENTED_INSTRUCTION) { + opcode_ptr = &code->_co_monitoring->per_instruction_opcodes[i]; + opcode = *opcode_ptr; + } + int deinstrumented = DE_INSTRUMENT[opcode]; + if (deinstrumented == 0) { + return; + } + CHECK(_PyOpcode_Deopt[deinstrumented] == deinstrumented); + *opcode_ptr = deinstrumented; + if (_PyOpcode_Caches[deinstrumented]) { + instr[1].cache = adaptive_counter_warmup(); + } +} + +static void +de_instrument_line(PyCodeObject *code, int i) +{ + _Py_CODEUNIT *instr = &_PyCode_CODE(code)[i]; + int opcode = instr->op.code; + if (opcode != INSTRUMENTED_LINE) { + return; + } + _PyCoLineInstrumentationData *lines = &code->_co_monitoring->lines[i]; + int original_opcode = lines->original_opcode; + if (original_opcode == INSTRUMENTED_INSTRUCTION) { + lines->original_opcode = code->_co_monitoring->per_instruction_opcodes[i]; + } + CHECK(original_opcode != 0); + CHECK(original_opcode == _PyOpcode_Deopt[original_opcode]); + instr->op.code = original_opcode; + if (_PyOpcode_Caches[original_opcode]) { + instr[1].cache = adaptive_counter_warmup(); + } + assert(instr->op.code != INSTRUMENTED_LINE); +} + +static void +de_instrument_per_instruction(PyCodeObject *code, int i) +{ + _Py_CODEUNIT *instr = &_PyCode_CODE(code)[i]; + uint8_t *opcode_ptr = &instr->op.code; + int opcode = *opcode_ptr; + if (opcode == INSTRUMENTED_LINE) { + opcode_ptr = &code->_co_monitoring->lines[i].original_opcode; + opcode = *opcode_ptr; + } + if (opcode != INSTRUMENTED_INSTRUCTION) { + return; + } + int original_opcode = code->_co_monitoring->per_instruction_opcodes[i]; + CHECK(original_opcode != 0); + CHECK(original_opcode == _PyOpcode_Deopt[original_opcode]); + *opcode_ptr = original_opcode; + if (_PyOpcode_Caches[original_opcode]) { + instr[1].cache = adaptive_counter_warmup(); + } + assert(*opcode_ptr != INSTRUMENTED_INSTRUCTION); + assert(instr->op.code != INSTRUMENTED_INSTRUCTION); + /* Keep things clean for sanity check */ + code->_co_monitoring->per_instruction_opcodes[i] = 0; +} + + +static void +instrument(PyCodeObject *code, int i) +{ + _Py_CODEUNIT *instr = &_PyCode_CODE(code)[i]; + uint8_t *opcode_ptr = &instr->op.code; + int opcode =*opcode_ptr; + if (opcode == INSTRUMENTED_LINE) { + _PyCoLineInstrumentationData *lines = &code->_co_monitoring->lines[i]; + opcode_ptr = &lines->original_opcode; + opcode = *opcode_ptr; + } + if (opcode == INSTRUMENTED_INSTRUCTION) { + opcode_ptr = &code->_co_monitoring->per_instruction_opcodes[i]; + opcode = *opcode_ptr; + CHECK(opcode != INSTRUMENTED_INSTRUCTION && opcode != INSTRUMENTED_LINE); + CHECK(opcode == _PyOpcode_Deopt[opcode]); + } + CHECK(opcode != 0); + if (!is_instrumented(opcode)) { + int deopt = _PyOpcode_Deopt[opcode]; + int instrumented = INSTRUMENTED_OPCODES[deopt]; + assert(instrumented); + *opcode_ptr = instrumented; + if (_PyOpcode_Caches[deopt]) { + instr[1].cache = adaptive_counter_warmup(); + } + } +} + +static void +instrument_line(PyCodeObject *code, int i) +{ + uint8_t *opcode_ptr = &_PyCode_CODE(code)[i].op.code; + int opcode = *opcode_ptr; + if (opcode == INSTRUMENTED_LINE) { + return; + } + _PyCoLineInstrumentationData *lines = &code->_co_monitoring->lines[i]; + lines->original_opcode = _PyOpcode_Deopt[opcode]; + CHECK(lines->original_opcode > 0); + *opcode_ptr = INSTRUMENTED_LINE; +} + +static void +instrument_per_instruction(PyCodeObject *code, int i) +{ + _Py_CODEUNIT *instr = &_PyCode_CODE(code)[i]; + uint8_t *opcode_ptr = &instr->op.code; + int opcode = *opcode_ptr; + if (opcode == INSTRUMENTED_LINE) { + _PyCoLineInstrumentationData *lines = &code->_co_monitoring->lines[i]; + opcode_ptr = &lines->original_opcode; + opcode = *opcode_ptr; + } + if (opcode == INSTRUMENTED_INSTRUCTION) { + assert(code->_co_monitoring->per_instruction_opcodes[i] > 0); + return; + } + CHECK(opcode != 0); + if (is_instrumented(opcode)) { + code->_co_monitoring->per_instruction_opcodes[i] = opcode; + } + else { + assert(opcode != 0); + assert(_PyOpcode_Deopt[opcode] != 0); + assert(_PyOpcode_Deopt[opcode] != RESUME); + code->_co_monitoring->per_instruction_opcodes[i] = _PyOpcode_Deopt[opcode]; + } + assert(code->_co_monitoring->per_instruction_opcodes[i] > 0); + *opcode_ptr = INSTRUMENTED_INSTRUCTION; +} + +static void +remove_tools(PyCodeObject * code, int offset, int event, int tools) +{ + assert(event != PY_MONITORING_EVENT_LINE); + assert(event != PY_MONITORING_EVENT_INSTRUCTION); + assert(PY_MONITORING_IS_INSTRUMENTED_EVENT(event)); + assert(opcode_has_event(_Py_GetBaseOpcode(code, offset))); + _PyCoMonitoringData *monitoring = code->_co_monitoring; + if (monitoring && monitoring->tools) { + monitoring->tools[offset] &= ~tools; + if (monitoring->tools[offset] == 0) { + de_instrument(code, offset, event); + } + } + else { + /* Single tool */ + uint8_t single_tool = code->_co_monitoring->active_monitors.tools[event]; + assert(_Py_popcount32(single_tool) <= 1); + if (((single_tool & tools) == single_tool)) { + de_instrument(code, offset, event); + } + } +} + +#ifndef NDEBUG +static bool +tools_is_subset_for_event(PyCodeObject * code, int event, int tools) +{ + int global_tools = PyInterpreterState_Get()->monitors.tools[event]; + int local_tools = code->_co_monitoring->local_monitors.tools[event]; + return tools == ((global_tools | local_tools) & tools); +} +#endif + +static void +remove_line_tools(PyCodeObject * code, int offset, int tools) +{ + assert(code->_co_monitoring); + if (code->_co_monitoring->line_tools) + { + uint8_t *toolsptr = &code->_co_monitoring->line_tools[offset]; + *toolsptr &= ~tools; + if (*toolsptr == 0 ) { + de_instrument_line(code, offset); + } + } + else { + /* Single tool */ + uint8_t single_tool = code->_co_monitoring->active_monitors.tools[PY_MONITORING_EVENT_LINE]; + assert(_Py_popcount32(single_tool) <= 1); + if (((single_tool & tools) == single_tool)) { + de_instrument_line(code, offset); + } + } +} + +static void +add_tools(PyCodeObject * code, int offset, int event, int tools) +{ + assert(event != PY_MONITORING_EVENT_LINE); + assert(event != PY_MONITORING_EVENT_INSTRUCTION); + assert(PY_MONITORING_IS_INSTRUMENTED_EVENT(event)); + assert(code->_co_monitoring); + if (code->_co_monitoring && + code->_co_monitoring->tools + ) { + code->_co_monitoring->tools[offset] |= tools; + } + else { + /* Single tool */ + assert(_Py_popcount32(tools) == 1); + assert(tools_is_subset_for_event(code, event, tools)); + } + instrument(code, offset); +} + +static void +add_line_tools(PyCodeObject * code, int offset, int tools) +{ + assert(tools_is_subset_for_event(code, PY_MONITORING_EVENT_LINE, tools)); + assert(code->_co_monitoring); + if (code->_co_monitoring->line_tools) { + code->_co_monitoring->line_tools[offset] |= tools; + } + else { + /* Single tool */ + assert(_Py_popcount32(tools) == 1); + } + instrument_line(code, offset); +} + + +static void +add_per_instruction_tools(PyCodeObject * code, int offset, int tools) +{ + assert(tools_is_subset_for_event(code, PY_MONITORING_EVENT_INSTRUCTION, tools)); + assert(code->_co_monitoring); + if (code->_co_monitoring->per_instruction_tools) { + code->_co_monitoring->per_instruction_tools[offset] |= tools; + } + else { + /* Single tool */ + assert(_Py_popcount32(tools) == 1); + } + instrument_per_instruction(code, offset); +} + + +static void +remove_per_instruction_tools(PyCodeObject * code, int offset, int tools) +{ + assert(code->_co_monitoring); + if (code->_co_monitoring->per_instruction_tools) { + uint8_t *toolsptr = &code->_co_monitoring->per_instruction_tools[offset]; + *toolsptr &= ~tools; + if (*toolsptr == 0) { + de_instrument_per_instruction(code, offset); + } + } + else { + /* Single tool */ + uint8_t single_tool = code->_co_monitoring->active_monitors.tools[PY_MONITORING_EVENT_INSTRUCTION]; + assert(_Py_popcount32(single_tool) <= 1); + if (((single_tool & tools) == single_tool)) { + de_instrument_per_instruction(code, offset); + } + } +} + + +/* Return 1 if DISABLE returned, -1 if error, 0 otherwise */ +static int +call_one_instrument( + PyInterpreterState *interp, PyThreadState *tstate, PyObject **args, + Py_ssize_t nargsf, int8_t tool, int event) +{ + assert(0 <= tool && tool < 8); + assert(tstate->tracing == 0); + PyObject *instrument = interp->monitoring_callables[tool][event]; + if (instrument == NULL) { + return 0; + } + int old_what = tstate->what_event; + tstate->what_event = event; + tstate->tracing++; + PyObject *res = _PyObject_VectorcallTstate(tstate, instrument, args, nargsf, NULL); + tstate->tracing--; + tstate->what_event = old_what; + if (res == NULL) { + return -1; + } + Py_DECREF(res); + return (res == &_PyInstrumentation_DISABLE); +} + +static const int8_t MOST_SIGNIFICANT_BITS[16] = { + -1, 0, 1, 1, + 2, 2, 2, 2, + 3, 3, 3, 3, + 3, 3, 3, 3, +}; + +/* We could use _Py_bit_length here, but that is designed for larger (32/64) + * bit ints, and can perform relatively poorly on platforms without the + * necessary intrinsics. */ +static inline int most_significant_bit(uint8_t bits) { + assert(bits != 0); + if (bits > 15) { + return MOST_SIGNIFICANT_BITS[bits>>4]+4; + } + return MOST_SIGNIFICANT_BITS[bits]; +} + +static bool +is_version_up_to_date(PyCodeObject *code, PyInterpreterState *interp) +{ + return interp->monitoring_version == code->_co_instrumentation_version; +} + +#ifndef NDEBUG +static bool +instrumentation_cross_checks(PyInterpreterState *interp, PyCodeObject *code) +{ + _Py_LocalMonitors expected = local_union( + interp->monitors, + code->_co_monitoring->local_monitors); + return monitors_equals(code->_co_monitoring->active_monitors, expected); +} +#endif + +static inline uint8_t +get_tools_for_instruction(PyCodeObject *code, PyInterpreterState *interp, int i, int event) +{ + uint8_t tools; + assert(event != PY_MONITORING_EVENT_LINE); + assert(event != PY_MONITORING_EVENT_INSTRUCTION); + if (event >= _PY_MONITORING_UNGROUPED_EVENTS) { + assert(event == PY_MONITORING_EVENT_C_RAISE || + event == PY_MONITORING_EVENT_C_RETURN); + event = PY_MONITORING_EVENT_CALL; + } + if (PY_MONITORING_IS_INSTRUMENTED_EVENT(event)) { + CHECK(is_version_up_to_date(code, interp)); + CHECK(instrumentation_cross_checks(interp, code)); + if (code->_co_monitoring->tools) { + tools = code->_co_monitoring->tools[i]; + } + else { + tools = code->_co_monitoring->active_monitors.tools[event]; + } + } + else { + tools = interp->monitors.tools[event]; + } + return tools; +} + +static const char *const event_names [] = { + [PY_MONITORING_EVENT_PY_START] = "PY_START", + [PY_MONITORING_EVENT_PY_RESUME] = "PY_RESUME", + [PY_MONITORING_EVENT_PY_RETURN] = "PY_RETURN", + [PY_MONITORING_EVENT_PY_YIELD] = "PY_YIELD", + [PY_MONITORING_EVENT_CALL] = "CALL", + [PY_MONITORING_EVENT_LINE] = "LINE", + [PY_MONITORING_EVENT_INSTRUCTION] = "INSTRUCTION", + [PY_MONITORING_EVENT_JUMP] = "JUMP", + [PY_MONITORING_EVENT_BRANCH] = "BRANCH", + [PY_MONITORING_EVENT_C_RETURN] = "C_RETURN", + [PY_MONITORING_EVENT_PY_THROW] = "PY_THROW", + [PY_MONITORING_EVENT_RAISE] = "RAISE", + [PY_MONITORING_EVENT_RERAISE] = "RERAISE", + [PY_MONITORING_EVENT_EXCEPTION_HANDLED] = "EXCEPTION_HANDLED", + [PY_MONITORING_EVENT_C_RAISE] = "C_RAISE", + [PY_MONITORING_EVENT_PY_UNWIND] = "PY_UNWIND", + [PY_MONITORING_EVENT_STOP_ITERATION] = "STOP_ITERATION", +}; + +static int +call_instrumentation_vector( + PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, Py_ssize_t nargs, PyObject *args[]) +{ + if (tstate->tracing) { + return 0; + } + assert(!_PyErr_Occurred(tstate)); + assert(args[0] == NULL); + PyCodeObject *code = frame->f_code; + assert(code->_co_instrumentation_version == tstate->interp->monitoring_version); + assert(is_version_up_to_date(code, tstate->interp)); + assert(instrumentation_cross_checks(tstate->interp, code)); + assert(args[1] == NULL); + args[1] = (PyObject *)code; + int offset = (int)(instr - _PyCode_CODE(code)); + /* Offset visible to user should be the offset in bytes, as that is the + * convention for APIs involving code offsets. */ + int bytes_offset = offset * (int)sizeof(_Py_CODEUNIT); + PyObject *offset_obj = PyLong_FromSsize_t(bytes_offset); + if (offset_obj == NULL) { + return -1; + } + assert(args[2] == NULL); + args[2] = offset_obj; + PyInterpreterState *interp = tstate->interp; + uint8_t tools = get_tools_for_instruction(code, interp, offset, event); + Py_ssize_t nargsf = nargs | PY_VECTORCALL_ARGUMENTS_OFFSET; + PyObject **callargs = &args[1]; + int err = 0; + while (tools) { + int tool = most_significant_bit(tools); + assert(tool >= 0 && tool < 8); + assert(tools & (1 << tool)); + tools ^= (1 << tool); + int res = call_one_instrument(interp, tstate, callargs, nargsf, tool, event); + if (res == 0) { + /* Nothing to do */ + } + else if (res < 0) { + /* error */ + err = -1; + break; + } + else { + /* DISABLE */ + if (!PY_MONITORING_IS_INSTRUMENTED_EVENT(event)) { + PyErr_Format(PyExc_ValueError, + "Cannot disable %s events. Callback removed.", + event_names[event]); + /* Clear tool to prevent infinite loop */ + Py_CLEAR(interp->monitoring_callables[tool][event]); + err = -1; + break; + } + else { + remove_tools(code, offset, event, 1 << tool); + } + } + } + Py_DECREF(offset_obj); + return err; +} + +int +_Py_call_instrumentation( + PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr) +{ + PyObject *args[3] = { NULL, NULL, NULL }; + return call_instrumentation_vector(tstate, event, frame, instr, 2, args); +} + +int +_Py_call_instrumentation_arg( + PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg) +{ + PyObject *args[4] = { NULL, NULL, NULL, arg }; + return call_instrumentation_vector(tstate, event, frame, instr, 3, args); +} + +int +_Py_call_instrumentation_2args( + PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg0, PyObject *arg1) +{ + PyObject *args[5] = { NULL, NULL, NULL, arg0, arg1 }; + return call_instrumentation_vector(tstate, event, frame, instr, 4, args); +} + +_Py_CODEUNIT * +_Py_call_instrumentation_jump( + PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, _Py_CODEUNIT *target) +{ + assert(event == PY_MONITORING_EVENT_JUMP || + event == PY_MONITORING_EVENT_BRANCH); + assert(frame->prev_instr == instr); + /* Event should occur after the jump */ + frame->prev_instr = target; + PyCodeObject *code = frame->f_code; + int to = (int)(target - _PyCode_CODE(code)); + PyObject *to_obj = PyLong_FromLong(to * (int)sizeof(_Py_CODEUNIT)); + if (to_obj == NULL) { + return NULL; + } + PyObject *args[4] = { NULL, NULL, NULL, to_obj }; + int err = call_instrumentation_vector(tstate, event, frame, instr, 3, args); + Py_DECREF(to_obj); + if (err) { + return NULL; + } + if (frame->prev_instr != target) { + /* The callback has caused a jump (by setting the line number) */ + return frame->prev_instr; + } + /* Reset prev_instr for INSTRUMENTED_LINE */ + frame->prev_instr = instr; + return target; +} + +static void +call_instrumentation_vector_protected( + PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, Py_ssize_t nargs, PyObject *args[]) +{ + assert(_PyErr_Occurred(tstate)); + PyObject *exc = _PyErr_GetRaisedException(tstate); + int err = call_instrumentation_vector(tstate, event, frame, instr, nargs, args); + if (err) { + Py_XDECREF(exc); + } + else { + _PyErr_SetRaisedException(tstate, exc); + } + assert(_PyErr_Occurred(tstate)); +} + +void +_Py_call_instrumentation_exc2( + PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg0, PyObject *arg1) +{ + assert(_PyErr_Occurred(tstate)); + PyObject *args[5] = { NULL, NULL, NULL, arg0, arg1 }; + call_instrumentation_vector_protected(tstate, event, frame, instr, 4, args); +} + + +int +_Py_Instrumentation_GetLine(PyCodeObject *code, int index) +{ + _PyCoMonitoringData *monitoring = code->_co_monitoring; + assert(monitoring != NULL); + assert(monitoring->lines != NULL); + assert(index >= code->_co_firsttraceable); + assert(index < Py_SIZE(code)); + _PyCoLineInstrumentationData *line_data = &monitoring->lines[index]; + int8_t line_delta = line_data->line_delta; + int line = compute_line(code, index, line_delta); + return line; +} + +int +_Py_call_instrumentation_line(PyThreadState *tstate, _PyInterpreterFrame* frame, _Py_CODEUNIT *instr, _Py_CODEUNIT *prev) +{ + frame->prev_instr = instr; + PyCodeObject *code = frame->f_code; + assert(is_version_up_to_date(code, tstate->interp)); + assert(instrumentation_cross_checks(tstate->interp, code)); + int i = (int)(instr - _PyCode_CODE(code)); + + _PyCoMonitoringData *monitoring = code->_co_monitoring; + _PyCoLineInstrumentationData *line_data = &monitoring->lines[i]; + if (tstate->tracing) { + goto done; + } + PyInterpreterState *interp = tstate->interp; + int8_t line_delta = line_data->line_delta; + int line = compute_line(code, i, line_delta); + assert(line >= 0); + int prev_index = (int)(prev - _PyCode_CODE(code)); + int prev_line = _Py_Instrumentation_GetLine(code, prev_index); + if (prev_line == line) { + int prev_opcode = _PyCode_CODE(code)[prev_index].op.code; + /* RESUME and INSTRUMENTED_RESUME are needed for the operation of + * instrumentation, so must never be hidden by an INSTRUMENTED_LINE. + */ + if (prev_opcode != RESUME && prev_opcode != INSTRUMENTED_RESUME) { + goto done; + } + } + uint8_t tools = code->_co_monitoring->line_tools != NULL ? + code->_co_monitoring->line_tools[i] : + (interp->monitors.tools[PY_MONITORING_EVENT_LINE] | + code->_co_monitoring->local_monitors.tools[PY_MONITORING_EVENT_LINE] + ); + PyObject *line_obj = PyLong_FromSsize_t(line); + if (line_obj == NULL) { + return -1; + } + PyObject *args[3] = { NULL, (PyObject *)code, line_obj }; + while (tools) { + int tool = most_significant_bit(tools); + assert(tool >= 0 && tool < 8); + assert(tools & (1 << tool)); + tools &= ~(1 << tool); + int res = call_one_instrument(interp, tstate, &args[1], + 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, + tool, PY_MONITORING_EVENT_LINE); + if (res == 0) { + /* Nothing to do */ + } + else if (res < 0) { + /* error */ + Py_DECREF(line_obj); + return -1; + } + else { + /* DISABLE */ + remove_line_tools(code, i, 1 << tool); + } + } + Py_DECREF(line_obj); + uint8_t original_opcode; +done: + original_opcode = line_data->original_opcode; + assert(original_opcode != 0); + assert(original_opcode < INSTRUMENTED_LINE); + assert(_PyOpcode_Deopt[original_opcode] == original_opcode); + return original_opcode; +} + +int +_Py_call_instrumentation_instruction(PyThreadState *tstate, _PyInterpreterFrame* frame, _Py_CODEUNIT *instr) +{ + PyCodeObject *code = frame->f_code; + assert(is_version_up_to_date(code, tstate->interp)); + assert(instrumentation_cross_checks(tstate->interp, code)); + int offset = (int)(instr - _PyCode_CODE(code)); + _PyCoMonitoringData *instrumentation_data = code->_co_monitoring; + assert(instrumentation_data->per_instruction_opcodes); + int next_opcode = instrumentation_data->per_instruction_opcodes[offset]; + if (tstate->tracing) { + return next_opcode; + } + PyInterpreterState *interp = tstate->interp; + uint8_t tools = instrumentation_data->per_instruction_tools != NULL ? + instrumentation_data->per_instruction_tools[offset] : + (interp->monitors.tools[PY_MONITORING_EVENT_INSTRUCTION] | + code->_co_monitoring->local_monitors.tools[PY_MONITORING_EVENT_INSTRUCTION] + ); + int bytes_offset = offset * (int)sizeof(_Py_CODEUNIT); + PyObject *offset_obj = PyLong_FromSsize_t(bytes_offset); + if (offset_obj == NULL) { + return -1; + } + PyObject *args[3] = { NULL, (PyObject *)code, offset_obj }; + while (tools) { + int tool = most_significant_bit(tools); + assert(tool >= 0 && tool < 8); + assert(tools & (1 << tool)); + tools &= ~(1 << tool); + int res = call_one_instrument(interp, tstate, &args[1], + 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, + tool, PY_MONITORING_EVENT_INSTRUCTION); + if (res == 0) { + /* Nothing to do */ + } + else if (res < 0) { + /* error */ + Py_DECREF(offset_obj); + return -1; + } + else { + /* DISABLE */ + remove_per_instruction_tools(code, offset, 1 << tool); + } + } + Py_DECREF(offset_obj); + assert(next_opcode != 0); + return next_opcode; +} + + +PyObject * +_PyMonitoring_RegisterCallback(int tool_id, int event_id, PyObject *obj) +{ + PyInterpreterState *is = _PyInterpreterState_Get(); + assert(0 <= tool_id && tool_id < PY_MONITORING_TOOL_IDS); + assert(0 <= event_id && event_id < _PY_MONITORING_EVENTS); + PyObject *callback = is->monitoring_callables[tool_id][event_id]; + is->monitoring_callables[tool_id][event_id] = Py_XNewRef(obj); + return callback; +} + +static void +initialize_tools(PyCodeObject *code) +{ + uint8_t* tools = code->_co_monitoring->tools; + assert(tools != NULL); + int code_len = (int)Py_SIZE(code); + for (int i = 0; i < code_len; i++) { + _Py_CODEUNIT *instr = &_PyCode_CODE(code)[i]; + int opcode = instr->op.code; + if (opcode == INSTRUMENTED_LINE) { + opcode = code->_co_monitoring->lines[i].original_opcode; + } + if (opcode == INSTRUMENTED_INSTRUCTION) { + opcode = code->_co_monitoring->per_instruction_opcodes[i]; + } + bool instrumented = is_instrumented(opcode); + if (instrumented) { + opcode = DE_INSTRUMENT[opcode]; + assert(opcode != 0); + } + opcode = _PyOpcode_Deopt[opcode]; + if (opcode_has_event(opcode)) { + if (instrumented) { + int8_t event; + if (opcode == RESUME) { + event = instr->op.arg != 0; + } + else { + event = EVENT_FOR_OPCODE[opcode]; + assert(event > 0); + } + assert(event >= 0); + assert(PY_MONITORING_IS_INSTRUMENTED_EVENT(event)); + tools[i] = code->_co_monitoring->active_monitors.tools[event]; + CHECK(tools[i] != 0); + } + else { + tools[i] = 0; + } + } +#ifdef Py_DEBUG + /* Initialize tools for invalid locations to all ones to try to catch errors */ + else { + tools[i] = 0xff; + } + for (int j = 1; j <= _PyOpcode_Caches[opcode]; j++) { + tools[i+j] = 0xff; + } +#endif + i += _PyOpcode_Caches[opcode]; + } +} + +#define NO_LINE -128 + +static void +initialize_lines(PyCodeObject *code) +{ + _PyCoLineInstrumentationData *line_data = code->_co_monitoring->lines; + assert(line_data != NULL); + int code_len = (int)Py_SIZE(code); + PyCodeAddressRange range; + _PyCode_InitAddressRange(code, &range); + for (int i = 0; i < code->_co_firsttraceable && i < code_len; i++) { + line_data[i].original_opcode = 0; + line_data[i].line_delta = -127; + } + int current_line = -1; + for (int i = code->_co_firsttraceable; i < code_len; ) { + int opcode = _Py_GetBaseOpcode(code, i); + int line = _PyCode_CheckLineNumber(i*(int)sizeof(_Py_CODEUNIT), &range); + line_data[i].line_delta = compute_line_delta(code, i, line); + int length = instruction_length(code, i); + switch (opcode) { + case END_ASYNC_FOR: + case END_FOR: + case END_SEND: + case RESUME: + /* END_FOR cannot start a line, as it is skipped by FOR_ITER + * END_SEND cannot start a line, as it is skipped by SEND + * RESUME must not be instrumented with INSTRUMENT_LINE */ + line_data[i].original_opcode = 0; + break; + default: + /* Set original_opcode to the opcode iff the instruction + * starts a line, and thus should be instrumented. + * This saves having to perform this check every time the + * we turn instrumentation on or off, and serves as a sanity + * check when debugging. + */ + if (line != current_line && line >= 0) { + line_data[i].original_opcode = opcode; + } + else { + line_data[i].original_opcode = 0; + } + current_line = line; + } + for (int j = 1; j < length; j++) { + line_data[i+j].original_opcode = 0; + line_data[i+j].line_delta = NO_LINE; + } + i += length; + } + for (int i = code->_co_firsttraceable; i < code_len; ) { + int opcode = _Py_GetBaseOpcode(code, i); + int oparg = 0; + while (opcode == EXTENDED_ARG) { + oparg = (oparg << 8) | _PyCode_CODE(code)[i].op.arg; + i++; + opcode = _Py_GetBaseOpcode(code, i); + } + oparg = (oparg << 8) | _PyCode_CODE(code)[i].op.arg; + i += instruction_length(code, i); + int target = -1; + switch (opcode) { + case POP_JUMP_IF_FALSE: + case POP_JUMP_IF_TRUE: + case POP_JUMP_IF_NONE: + case POP_JUMP_IF_NOT_NONE: + case JUMP_FORWARD: + { + target = i + oparg; + break; + } + case FOR_ITER: + case SEND: + { + /* Skip over END_FOR/END_SEND */ + target = i + oparg + 1; + break; + } + case JUMP_BACKWARD: + case JUMP_BACKWARD_NO_INTERRUPT: + { + target = i - oparg; + break; + } + default: + continue; + } + assert(target >= 0); + if (line_data[target].line_delta != NO_LINE) { + line_data[target].original_opcode = _Py_GetBaseOpcode(code, target); + } + } + /* Scan exception table */ + unsigned char *start = (unsigned char *)PyBytes_AS_STRING(code->co_exceptiontable); + unsigned char *end = start + PyBytes_GET_SIZE(code->co_exceptiontable); + unsigned char *scan = start; + while (scan < end) { + int start_offset, size, handler; + scan = parse_varint(scan, &start_offset); + assert(start_offset >= 0 && start_offset < code_len); + scan = parse_varint(scan, &size); + assert(size >= 0 && start_offset+size <= code_len); + scan = parse_varint(scan, &handler); + assert(handler >= 0 && handler < code_len); + int depth_and_lasti; + scan = parse_varint(scan, &depth_and_lasti); + int original_opcode = _Py_GetBaseOpcode(code, handler); + /* Skip if not the start of a line. + * END_ASYNC_FOR is a bit special as it marks the end of + * an `async for` loop, which should not generate its own + * line event. */ + if (line_data[handler].line_delta != NO_LINE && + original_opcode != END_ASYNC_FOR) { + line_data[handler].original_opcode = original_opcode; + } + } +} + +static void +initialize_line_tools(PyCodeObject *code, _Py_LocalMonitors *all_events) +{ + uint8_t *line_tools = code->_co_monitoring->line_tools; + assert(line_tools != NULL); + int code_len = (int)Py_SIZE(code); + for (int i = 0; i < code_len; i++) { + line_tools[i] = all_events->tools[PY_MONITORING_EVENT_LINE]; + } +} + +static int +allocate_instrumentation_data(PyCodeObject *code) +{ + + if (code->_co_monitoring == NULL) { + code->_co_monitoring = PyMem_Malloc(sizeof(_PyCoMonitoringData)); + if (code->_co_monitoring == NULL) { + PyErr_NoMemory(); + return -1; + } + code->_co_monitoring->local_monitors = (_Py_LocalMonitors){ 0 }; + code->_co_monitoring->active_monitors = (_Py_LocalMonitors){ 0 }; + code->_co_monitoring->tools = NULL; + code->_co_monitoring->lines = NULL; + code->_co_monitoring->line_tools = NULL; + code->_co_monitoring->per_instruction_opcodes = NULL; + code->_co_monitoring->per_instruction_tools = NULL; + } + return 0; +} + +static int +update_instrumentation_data(PyCodeObject *code, PyInterpreterState *interp) +{ + int code_len = (int)Py_SIZE(code); + if (allocate_instrumentation_data(code)) { + return -1; + } + _Py_LocalMonitors all_events = local_union( + interp->monitors, + code->_co_monitoring->local_monitors); + bool multitools = multiple_tools(&all_events); + if (code->_co_monitoring->tools == NULL && multitools) { + code->_co_monitoring->tools = PyMem_Malloc(code_len); + if (code->_co_monitoring->tools == NULL) { + PyErr_NoMemory(); + return -1; + } + initialize_tools(code); + } + if (all_events.tools[PY_MONITORING_EVENT_LINE]) { + if (code->_co_monitoring->lines == NULL) { + code->_co_monitoring->lines = PyMem_Malloc(code_len * sizeof(_PyCoLineInstrumentationData)); + if (code->_co_monitoring->lines == NULL) { + PyErr_NoMemory(); + return -1; + } + initialize_lines(code); + } + if (multitools && code->_co_monitoring->line_tools == NULL) { + code->_co_monitoring->line_tools = PyMem_Malloc(code_len); + if (code->_co_monitoring->line_tools == NULL) { + PyErr_NoMemory(); + return -1; + } + initialize_line_tools(code, &all_events); + } + } + if (all_events.tools[PY_MONITORING_EVENT_INSTRUCTION]) { + if (code->_co_monitoring->per_instruction_opcodes == NULL) { + code->_co_monitoring->per_instruction_opcodes = PyMem_Malloc(code_len * sizeof(_PyCoLineInstrumentationData)); + if (code->_co_monitoring->per_instruction_opcodes == NULL) { + PyErr_NoMemory(); + return -1; + } + /* This may not be necessary, as we can initialize this memory lazily, but it helps catch errors. */ + for (int i = 0; i < code_len; i++) { + code->_co_monitoring->per_instruction_opcodes[i] = 0; + } + } + if (multitools && code->_co_monitoring->per_instruction_tools == NULL) { + code->_co_monitoring->per_instruction_tools = PyMem_Malloc(code_len); + if (code->_co_monitoring->per_instruction_tools == NULL) { + PyErr_NoMemory(); + return -1; + } + /* This may not be necessary, as we can initialize this memory lazily, but it helps catch errors. */ + for (int i = 0; i < code_len; i++) { + code->_co_monitoring->per_instruction_tools[i] = 0; + } + } + } + return 0; +} + +static const uint8_t super_instructions[256] = { + [LOAD_FAST__LOAD_FAST] = 1, + [LOAD_FAST__LOAD_CONST] = 1, + [STORE_FAST__LOAD_FAST] = 1, + [STORE_FAST__STORE_FAST] = 1, + [LOAD_CONST__LOAD_FAST] = 1, +}; + +/* Should use instruction metadata for this */ +static bool +is_super_instruction(uint8_t opcode) { + return super_instructions[opcode] != 0; +} + +int +_Py_Instrument(PyCodeObject *code, PyInterpreterState *interp) +{ + + if (is_version_up_to_date(code, interp)) { + assert( + interp->monitoring_version == 0 || + instrumentation_cross_checks(interp, code) + ); + return 0; + } + int code_len = (int)Py_SIZE(code); + /* code->_co_firsttraceable >= code_len indicates + * that no instrumentation can be inserted. + * Exit early to avoid creating instrumentation + * data for potential statically allocated code + * objects. + * See https://github.com/python/cpython/issues/108390 */ + if (code->_co_firsttraceable >= code_len) { + return 0; + } + if (update_instrumentation_data(code, interp)) { + return -1; + } + _Py_LocalMonitors active_events = local_union( + interp->monitors, + code->_co_monitoring->local_monitors); + _Py_LocalMonitors new_events; + _Py_LocalMonitors removed_events; + + bool restarted = interp->last_restart_version > code->_co_instrumentation_version; + if (restarted) { + removed_events = code->_co_monitoring->active_monitors; + new_events = active_events; + } + else { + removed_events = monitors_sub(code->_co_monitoring->active_monitors, active_events); + new_events = monitors_sub(active_events, code->_co_monitoring->active_monitors); + assert(monitors_are_empty(monitors_and(new_events, removed_events))); + } + code->_co_monitoring->active_monitors = active_events; + code->_co_instrumentation_version = interp->monitoring_version; + if (monitors_are_empty(new_events) && monitors_are_empty(removed_events)) { +#ifdef INSTRUMENT_DEBUG + sanity_check_instrumentation(code); +#endif + return 0; + } + /* Insert instrumentation */ + for (int i = 0; i < code_len; i+= instruction_length(code, i)) { + _Py_CODEUNIT *instr = &_PyCode_CODE(code)[i]; + if (is_super_instruction(instr->op.code)) { + instr->op.code = _PyOpcode_Deopt[instr->op.code]; + } + CHECK(instr->op.code != 0); + int base_opcode = _Py_GetBaseOpcode(code, i); + if (opcode_has_event(base_opcode)) { + int8_t event; + if (base_opcode == RESUME) { + event = instr->op.arg > 0; + } + else { + event = EVENT_FOR_OPCODE[base_opcode]; + assert(event > 0); + } + uint8_t removed_tools = removed_events.tools[event]; + if (removed_tools) { + remove_tools(code, i, event, removed_tools); + } + uint8_t new_tools = new_events.tools[event]; + if (new_tools) { + add_tools(code, i, event, new_tools); + } + } + } + + // GH-103845: We need to remove both the line and instruction instrumentation before + // adding new ones, otherwise we may remove the newly added instrumentation. + + uint8_t removed_line_tools = removed_events.tools[PY_MONITORING_EVENT_LINE]; + uint8_t removed_per_instruction_tools = removed_events.tools[PY_MONITORING_EVENT_INSTRUCTION]; + + if (removed_line_tools) { + _PyCoLineInstrumentationData *line_data = code->_co_monitoring->lines; + for (int i = code->_co_firsttraceable; i < code_len;) { + if (line_data[i].original_opcode) { + if (removed_line_tools) { + remove_line_tools(code, i, removed_line_tools); + } + } + i += instruction_length(code, i); + } + } + if (removed_per_instruction_tools) { + for (int i = code->_co_firsttraceable; i < code_len;) { + int opcode = _Py_GetBaseOpcode(code, i); + if (opcode == RESUME || opcode == END_FOR) { + i += instruction_length(code, i); + continue; + } + if (removed_per_instruction_tools) { + remove_per_instruction_tools(code, i, removed_per_instruction_tools); + } + i += instruction_length(code, i); + } + } +#ifdef INSTRUMENT_DEBUG + sanity_check_instrumentation(code); +#endif + uint8_t new_line_tools = new_events.tools[PY_MONITORING_EVENT_LINE]; + uint8_t new_per_instruction_tools = new_events.tools[PY_MONITORING_EVENT_INSTRUCTION]; + + if (new_line_tools) { + _PyCoLineInstrumentationData *line_data = code->_co_monitoring->lines; + for (int i = code->_co_firsttraceable; i < code_len;) { + if (line_data[i].original_opcode) { + if (new_line_tools) { + add_line_tools(code, i, new_line_tools); + } + } + i += instruction_length(code, i); + } + } + if (new_per_instruction_tools) { + for (int i = code->_co_firsttraceable; i < code_len;) { + int opcode = _Py_GetBaseOpcode(code, i); + if (opcode == RESUME || opcode == END_FOR) { + i += instruction_length(code, i); + continue; + } + if (new_per_instruction_tools) { + add_per_instruction_tools(code, i, new_per_instruction_tools); + } + i += instruction_length(code, i); + } + } +#ifdef INSTRUMENT_DEBUG + sanity_check_instrumentation(code); +#endif + return 0; +} + +#define C_RETURN_EVENTS \ + ((1 << PY_MONITORING_EVENT_C_RETURN) | \ + (1 << PY_MONITORING_EVENT_C_RAISE)) + +#define C_CALL_EVENTS \ + (C_RETURN_EVENTS | (1 << PY_MONITORING_EVENT_CALL)) + + +static int +instrument_all_executing_code_objects(PyInterpreterState *interp) { + _PyRuntimeState *runtime = &_PyRuntime; + HEAD_LOCK(runtime); + PyThreadState* ts = PyInterpreterState_ThreadHead(interp); + HEAD_UNLOCK(runtime); + while (ts) { + _PyInterpreterFrame *frame = ts->cframe->current_frame; + while (frame) { + if (frame->owner != FRAME_OWNED_BY_CSTACK) { + if (_Py_Instrument(frame->f_code, interp)) { + return -1; + } + } + frame = frame->previous; + } + HEAD_LOCK(runtime); + ts = PyThreadState_Next(ts); + HEAD_UNLOCK(runtime); + } + return 0; +} + +static void +set_events(_Py_GlobalMonitors *m, int tool_id, _PyMonitoringEventSet events) +{ + assert(0 <= tool_id && tool_id < PY_MONITORING_TOOL_IDS); + for (int e = 0; e < _PY_MONITORING_UNGROUPED_EVENTS; e++) { + uint8_t *tools = &m->tools[e]; + int active = (events >> e) & 1; + *tools &= ~(1 << tool_id); + *tools |= (active << tool_id); + } +} + +static void +set_local_events(_Py_LocalMonitors *m, int tool_id, _PyMonitoringEventSet events) +{ + assert(0 <= tool_id && tool_id < PY_MONITORING_TOOL_IDS); + for (int e = 0; e < _PY_MONITORING_LOCAL_EVENTS; e++) { + uint8_t *tools = &m->tools[e]; + int val = (events >> e) & 1; + *tools &= ~(1 << tool_id); + *tools |= (val << tool_id); + } +} + +static int +check_tool(PyInterpreterState *interp, int tool_id) +{ + if (tool_id < PY_MONITORING_SYS_PROFILE_ID && + interp->monitoring_tool_names[tool_id] == NULL) + { + PyErr_Format(PyExc_ValueError, "tool %d is not in use", tool_id); + return -1; + } + return 0; +} + +int +_PyMonitoring_SetEvents(int tool_id, _PyMonitoringEventSet events) +{ + assert(0 <= tool_id && tool_id < PY_MONITORING_TOOL_IDS); + PyInterpreterState *interp = _PyInterpreterState_Get(); + assert(events < (1 << _PY_MONITORING_UNGROUPED_EVENTS)); + if (check_tool(interp, tool_id)) { + return -1; + } + uint32_t existing_events = get_events(&interp->monitors, tool_id); + if (existing_events == events) { + return 0; + } + set_events(&interp->monitors, tool_id, events); + interp->monitoring_version++; + return instrument_all_executing_code_objects(interp); +} + +int +_PyMonitoring_SetLocalEvents(PyCodeObject *code, int tool_id, _PyMonitoringEventSet events) +{ + assert(0 <= tool_id && tool_id < PY_MONITORING_TOOL_IDS); + PyInterpreterState *interp = _PyInterpreterState_Get(); + assert(events < (1 << _PY_MONITORING_LOCAL_EVENTS)); + if (code->_co_firsttraceable >= Py_SIZE(code)) { + PyErr_Format(PyExc_SystemError, "cannot instrument shim code object '%U'", code->co_name); + return -1; + } + if (check_tool(interp, tool_id)) { + return -1; + } + if (allocate_instrumentation_data(code)) { + return -1; + } + _Py_LocalMonitors *local = &code->_co_monitoring->local_monitors; + uint32_t existing_events = get_local_events(local, tool_id); + if (existing_events == events) { + return 0; + } + set_local_events(local, tool_id, events); + if (is_version_up_to_date(code, interp)) { + /* Force instrumentation update */ + code->_co_instrumentation_version = UINT64_MAX; + } + if (_Py_Instrument(code, interp)) { + return -1; + } + return 0; +} + +/*[clinic input] +module monitoring +[clinic start generated code]*/ +/*[clinic end generated code: output=da39a3ee5e6b4b0d input=37257f5987a360cf]*/ +/*[clinic end generated code]*/ + +#include "clinic/instrumentation.c.h" + +static int +check_valid_tool(int tool_id) +{ + if (tool_id < 0 || tool_id >= PY_MONITORING_SYS_PROFILE_ID) { + PyErr_Format(PyExc_ValueError, "invalid tool %d (must be between 0 and 5)", tool_id); + return -1; + } + return 0; +} + +/*[clinic input] +monitoring.use_tool_id + + tool_id: int + name: object + / + +[clinic start generated code]*/ + +static PyObject * +monitoring_use_tool_id_impl(PyObject *module, int tool_id, PyObject *name) +/*[clinic end generated code: output=30d76dc92b7cd653 input=ebc453761c621be1]*/ +{ + if (check_valid_tool(tool_id)) { + return NULL; + } + if (!PyUnicode_Check(name)) { + PyErr_SetString(PyExc_ValueError, "tool name must be a str"); + return NULL; + } + PyInterpreterState *interp = _PyInterpreterState_Get(); + if (interp->monitoring_tool_names[tool_id] != NULL) { + PyErr_Format(PyExc_ValueError, "tool %d is already in use", tool_id); + return NULL; + } + interp->monitoring_tool_names[tool_id] = Py_NewRef(name); + Py_RETURN_NONE; +} + +/*[clinic input] +monitoring.free_tool_id + + tool_id: int + / + +[clinic start generated code]*/ + +static PyObject * +monitoring_free_tool_id_impl(PyObject *module, int tool_id) +/*[clinic end generated code: output=86c2d2a1219a8591 input=a23fb6be3a8618e9]*/ +{ + if (check_valid_tool(tool_id)) { + return NULL; + } + PyInterpreterState *interp = _PyInterpreterState_Get(); + Py_CLEAR(interp->monitoring_tool_names[tool_id]); + Py_RETURN_NONE; +} + +/*[clinic input] +monitoring.get_tool + + tool_id: int + / + +[clinic start generated code]*/ + +static PyObject * +monitoring_get_tool_impl(PyObject *module, int tool_id) +/*[clinic end generated code: output=1c05a98b404a9a16 input=eeee9bebd0bcae9d]*/ + +/*[clinic end generated code]*/ +{ + if (check_valid_tool(tool_id)) { + return NULL; + } + PyInterpreterState *interp = _PyInterpreterState_Get(); + PyObject *name = interp->monitoring_tool_names[tool_id]; + if (name == NULL) { + Py_RETURN_NONE; + } + return Py_NewRef(name); +} + +/*[clinic input] +monitoring.register_callback + + + tool_id: int + event: int + func: object + / + +[clinic start generated code]*/ + +static PyObject * +monitoring_register_callback_impl(PyObject *module, int tool_id, int event, + PyObject *func) +/*[clinic end generated code: output=e64daa363004030c input=df6d70ea4cf81007]*/ +{ + if (check_valid_tool(tool_id)) { + return NULL; + } + if (_Py_popcount32(event) != 1) { + PyErr_SetString(PyExc_ValueError, "The callback can only be set for one event at a time"); + return NULL; + } + int event_id = _Py_bit_length(event)-1; + if (event_id < 0 || event_id >= _PY_MONITORING_EVENTS) { + PyErr_Format(PyExc_ValueError, "invalid event %d", event); + return NULL; + } + if (PySys_Audit("sys.monitoring.register_callback", "O", func) < 0) { + return NULL; + } + if (func == Py_None) { + func = NULL; + } + func = _PyMonitoring_RegisterCallback(tool_id, event_id, func); + if (func == NULL) { + Py_RETURN_NONE; + } + return func; +} + +/*[clinic input] +monitoring.get_events -> int + + tool_id: int + / + +[clinic start generated code]*/ + +static int +monitoring_get_events_impl(PyObject *module, int tool_id) +/*[clinic end generated code: output=4450cc13f826c8c0 input=a64b238f76c4b2f7]*/ +{ + if (check_valid_tool(tool_id)) { + return -1; + } + _Py_GlobalMonitors *m = &_PyInterpreterState_GET()->monitors; + _PyMonitoringEventSet event_set = get_events(m, tool_id); + return event_set; +} + +/*[clinic input] +monitoring.set_events + + tool_id: int + event_set: int + / + +[clinic start generated code]*/ + +static PyObject * +monitoring_set_events_impl(PyObject *module, int tool_id, int event_set) +/*[clinic end generated code: output=1916c1e49cfb5bdb input=a77ba729a242142b]*/ +{ + if (check_valid_tool(tool_id)) { + return NULL; + } + if (event_set < 0 || event_set >= (1 << _PY_MONITORING_EVENTS)) { + PyErr_Format(PyExc_ValueError, "invalid event set 0x%x", event_set); + return NULL; + } + if ((event_set & C_RETURN_EVENTS) && (event_set & C_CALL_EVENTS) != C_CALL_EVENTS) { + PyErr_Format(PyExc_ValueError, "cannot set C_RETURN or C_RAISE events independently"); + return NULL; + } + event_set &= ~C_RETURN_EVENTS; + if (_PyMonitoring_SetEvents(tool_id, event_set)) { + return NULL; + } + Py_RETURN_NONE; +} + +/*[clinic input] +monitoring.get_local_events -> int + + tool_id: int + code: object + / + +[clinic start generated code]*/ + +static int +monitoring_get_local_events_impl(PyObject *module, int tool_id, + PyObject *code) +/*[clinic end generated code: output=d3e92c1c9c1de8f9 input=bb0f927530386a94]*/ +{ + if (!PyCode_Check(code)) { + PyErr_Format( + PyExc_TypeError, + "code must be a code object" + ); + return -1; + } + if (check_valid_tool(tool_id)) { + return -1; + } + _PyMonitoringEventSet event_set = 0; + _PyCoMonitoringData *data = ((PyCodeObject *)code)->_co_monitoring; + if (data != NULL) { + for (int e = 0; e < _PY_MONITORING_LOCAL_EVENTS; e++) { + if ((data->local_monitors.tools[e] >> tool_id) & 1) { + event_set |= (1 << e); + } + } + } + return event_set; +} + +/*[clinic input] +monitoring.set_local_events + + tool_id: int + code: object + event_set: int + / + +[clinic start generated code]*/ + +static PyObject * +monitoring_set_local_events_impl(PyObject *module, int tool_id, + PyObject *code, int event_set) +/*[clinic end generated code: output=68cc755a65dfea99 input=5655ecd78d937a29]*/ +{ + if (!PyCode_Check(code)) { + PyErr_Format( + PyExc_TypeError, + "code must be a code object" + ); + return NULL; + } + if (check_valid_tool(tool_id)) { + return NULL; + } + if ((event_set & C_RETURN_EVENTS) && (event_set & C_CALL_EVENTS) != C_CALL_EVENTS) { + PyErr_Format(PyExc_ValueError, "cannot set C_RETURN or C_RAISE events independently"); + return NULL; + } + event_set &= ~C_RETURN_EVENTS; + if (event_set < 0 || event_set >= (1 << _PY_MONITORING_LOCAL_EVENTS)) { + PyErr_Format(PyExc_ValueError, "invalid local event set 0x%x", event_set); + return NULL; + } + + if (_PyMonitoring_SetLocalEvents((PyCodeObject*)code, tool_id, event_set)) { + return NULL; + } + Py_RETURN_NONE; +} + +/*[clinic input] +monitoring.restart_events + +[clinic start generated code]*/ + +static PyObject * +monitoring_restart_events_impl(PyObject *module) +/*[clinic end generated code: output=e025dd5ba33314c4 input=add8a855063c8008]*/ +{ + /* We want to ensure that: + * last restart version > instrumented version for all code objects + * last restart version < current version + */ + PyInterpreterState *interp = _PyInterpreterState_Get(); + interp->last_restart_version = interp->monitoring_version + 1; + interp->monitoring_version = interp->last_restart_version + 1; + if (instrument_all_executing_code_objects(interp)) { + return NULL; + } + Py_RETURN_NONE; +} + +static int +add_power2_constant(PyObject *obj, const char *name, int i) +{ + PyObject *val = PyLong_FromLong(1<monitors.tools[e]; + if (tools == 0) { + continue; + } + PyObject *tools_obj = PyLong_FromLong(tools); + assert(tools_obj != NULL); + int err = PyDict_SetItemString(res, event_names[e], tools_obj); + Py_DECREF(tools_obj); + if (err < 0) { + Py_DECREF(res); + return NULL; + } + } + return res; +} + +static PyMethodDef methods[] = { + MONITORING_USE_TOOL_ID_METHODDEF + MONITORING_FREE_TOOL_ID_METHODDEF + MONITORING_GET_TOOL_METHODDEF + MONITORING_REGISTER_CALLBACK_METHODDEF + MONITORING_GET_EVENTS_METHODDEF + MONITORING_SET_EVENTS_METHODDEF + MONITORING_GET_LOCAL_EVENTS_METHODDEF + MONITORING_SET_LOCAL_EVENTS_METHODDEF + MONITORING_RESTART_EVENTS_METHODDEF + MONITORING__ALL_EVENTS_METHODDEF + {NULL, NULL} // sentinel +}; + +static struct PyModuleDef monitoring_module = { + PyModuleDef_HEAD_INIT, + .m_name = "sys.monitoring", + .m_size = -1, /* multiple "initialization" just copies the module dict. */ + .m_methods = methods, +}; + +PyObject *_Py_CreateMonitoringObject(void) +{ + PyObject *mod = _PyModule_CreateInitialized(&monitoring_module, PYTHON_API_VERSION); + if (mod == NULL) { + return NULL; + } + if (PyObject_SetAttrString(mod, "DISABLE", &_PyInstrumentation_DISABLE)) { + goto error; + } + if (PyObject_SetAttrString(mod, "MISSING", &_PyInstrumentation_MISSING)) { + goto error; + } + PyObject *events = _PyNamespace_New(NULL); + if (events == NULL) { + goto error; + } + int err = PyObject_SetAttrString(mod, "events", events); + Py_DECREF(events); + if (err) { + goto error; + } + for (int i = 0; i < _PY_MONITORING_EVENTS; i++) { + if (add_power2_constant(events, event_names[i], i)) { + goto error; + } + } + err = PyObject_SetAttrString(events, "NO_EVENTS", _PyLong_GetZero()); + if (err) goto error; + PyObject *val = PyLong_FromLong(PY_MONITORING_DEBUGGER_ID); + err = PyObject_SetAttrString(mod, "DEBUGGER_ID", val); + Py_DECREF(val); + if (err) goto error; + val = PyLong_FromLong(PY_MONITORING_COVERAGE_ID); + err = PyObject_SetAttrString(mod, "COVERAGE_ID", val); + Py_DECREF(val); + if (err) goto error; + val = PyLong_FromLong(PY_MONITORING_PROFILER_ID); + err = PyObject_SetAttrString(mod, "PROFILER_ID", val); + Py_DECREF(val); + if (err) goto error; + val = PyLong_FromLong(PY_MONITORING_OPTIMIZER_ID); + err = PyObject_SetAttrString(mod, "OPTIMIZER_ID", val); + Py_DECREF(val); + if (err) goto error; + return mod; +error: + Py_DECREF(mod); + return NULL; +} diff --git a/contrib/tools/python3/src/Python/intrinsics.c b/contrib/tools/python3/src/Python/intrinsics.c new file mode 100644 index 00000000000..c6f5ac5402d --- /dev/null +++ b/contrib/tools/python3/src/Python/intrinsics.c @@ -0,0 +1,260 @@ + +#define _PY_INTERPRETER + +#include "Python.h" +#include "pycore_frame.h" +#include "pycore_function.h" +#include "pycore_runtime.h" +#include "pycore_global_objects.h" +#include "pycore_intrinsics.h" +#include "pycore_pyerrors.h" +#include "pycore_typevarobject.h" + + +/******** Unary functions ********/ + +static PyObject * +no_intrinsic(PyThreadState* tstate, PyObject *unused) +{ + _PyErr_SetString(tstate, PyExc_SystemError, "invalid intrinsic function"); + return NULL; +} + +static PyObject * +print_expr(PyThreadState* tstate, PyObject *value) +{ + PyObject *hook = _PySys_GetAttr(tstate, &_Py_ID(displayhook)); + // Can't use ERROR_IF here. + if (hook == NULL) { + _PyErr_SetString(tstate, PyExc_RuntimeError, + "lost sys.displayhook"); + return NULL; + } + return PyObject_CallOneArg(hook, value); +} + +static int +import_all_from(PyThreadState *tstate, PyObject *locals, PyObject *v) +{ + PyObject *all, *dict, *name, *value; + int skip_leading_underscores = 0; + int pos, err; + + if (_PyObject_LookupAttr(v, &_Py_ID(__all__), &all) < 0) { + return -1; /* Unexpected error */ + } + if (all == NULL) { + if (_PyObject_LookupAttr(v, &_Py_ID(__dict__), &dict) < 0) { + return -1; + } + if (dict == NULL) { + _PyErr_SetString(tstate, PyExc_ImportError, + "from-import-* object has no __dict__ and no __all__"); + return -1; + } + all = PyMapping_Keys(dict); + Py_DECREF(dict); + if (all == NULL) + return -1; + skip_leading_underscores = 1; + } + + for (pos = 0, err = 0; ; pos++) { + name = PySequence_GetItem(all, pos); + if (name == NULL) { + if (!_PyErr_ExceptionMatches(tstate, PyExc_IndexError)) { + err = -1; + } + else { + _PyErr_Clear(tstate); + } + break; + } + if (!PyUnicode_Check(name)) { + PyObject *modname = PyObject_GetAttr(v, &_Py_ID(__name__)); + if (modname == NULL) { + Py_DECREF(name); + err = -1; + break; + } + if (!PyUnicode_Check(modname)) { + _PyErr_Format(tstate, PyExc_TypeError, + "module __name__ must be a string, not %.100s", + Py_TYPE(modname)->tp_name); + } + else { + _PyErr_Format(tstate, PyExc_TypeError, + "%s in %U.%s must be str, not %.100s", + skip_leading_underscores ? "Key" : "Item", + modname, + skip_leading_underscores ? "__dict__" : "__all__", + Py_TYPE(name)->tp_name); + } + Py_DECREF(modname); + Py_DECREF(name); + err = -1; + break; + } + if (skip_leading_underscores) { + if (PyUnicode_READY(name) == -1) { + Py_DECREF(name); + err = -1; + break; + } + if (PyUnicode_READ_CHAR(name, 0) == '_') { + Py_DECREF(name); + continue; + } + } + value = PyObject_GetAttr(v, name); + if (value == NULL) + err = -1; + else if (PyDict_CheckExact(locals)) + err = PyDict_SetItem(locals, name, value); + else + err = PyObject_SetItem(locals, name, value); + Py_DECREF(name); + Py_XDECREF(value); + if (err < 0) + break; + } + Py_DECREF(all); + return err; +} + +static PyObject * +import_star(PyThreadState* tstate, PyObject *from) +{ + _PyInterpreterFrame *frame = tstate->cframe->current_frame; + if (_PyFrame_FastToLocalsWithError(frame) < 0) { + return NULL; + } + + PyObject *locals = frame->f_locals; + if (locals == NULL) { + _PyErr_SetString(tstate, PyExc_SystemError, + "no locals found during 'import *'"); + return NULL; + } + int err = import_all_from(tstate, locals, from); + _PyFrame_LocalsToFast(frame, 0); + if (err < 0) { + return NULL; + } + Py_RETURN_NONE; +} + +static PyObject * +stopiteration_error(PyThreadState* tstate, PyObject *exc) +{ + _PyInterpreterFrame *frame = tstate->cframe->current_frame; + assert(frame->owner == FRAME_OWNED_BY_GENERATOR); + assert(PyExceptionInstance_Check(exc)); + const char *msg = NULL; + if (PyErr_GivenExceptionMatches(exc, PyExc_StopIteration)) { + msg = "generator raised StopIteration"; + if (frame->f_code->co_flags & CO_ASYNC_GENERATOR) { + msg = "async generator raised StopIteration"; + } + else if (frame->f_code->co_flags & CO_COROUTINE) { + msg = "coroutine raised StopIteration"; + } + } + else if ((frame->f_code->co_flags & CO_ASYNC_GENERATOR) && + PyErr_GivenExceptionMatches(exc, PyExc_StopAsyncIteration)) + { + /* code in `gen` raised a StopAsyncIteration error: + raise a RuntimeError. + */ + msg = "async generator raised StopAsyncIteration"; + } + if (msg != NULL) { + PyObject *message = _PyUnicode_FromASCII(msg, strlen(msg)); + if (message == NULL) { + return NULL; + } + PyObject *error = PyObject_CallOneArg(PyExc_RuntimeError, message); + if (error == NULL) { + Py_DECREF(message); + return NULL; + } + assert(PyExceptionInstance_Check(error)); + PyException_SetCause(error, Py_NewRef(exc)); + // Steal exc reference, rather than Py_NewRef+Py_DECREF + PyException_SetContext(error, Py_NewRef(exc)); + Py_DECREF(message); + return error; + } + return Py_NewRef(exc); +} + +static PyObject * +unary_pos(PyThreadState* unused, PyObject *value) +{ + return PyNumber_Positive(value); +} + +static PyObject * +list_to_tuple(PyThreadState* unused, PyObject *v) +{ + assert(PyList_Check(v)); + return _PyTuple_FromArray(((PyListObject *)v)->ob_item, Py_SIZE(v)); +} + +static PyObject * +make_typevar(PyThreadState* Py_UNUSED(ignored), PyObject *v) +{ + assert(PyUnicode_Check(v)); + return _Py_make_typevar(v, NULL, NULL); +} + +const instrinsic_func1 +_PyIntrinsics_UnaryFunctions[] = { + [0] = no_intrinsic, + [INTRINSIC_PRINT] = print_expr, + [INTRINSIC_IMPORT_STAR] = import_star, + [INTRINSIC_STOPITERATION_ERROR] = stopiteration_error, + [INTRINSIC_ASYNC_GEN_WRAP] = _PyAsyncGenValueWrapperNew, + [INTRINSIC_UNARY_POSITIVE] = unary_pos, + [INTRINSIC_LIST_TO_TUPLE] = list_to_tuple, + [INTRINSIC_TYPEVAR] = make_typevar, + [INTRINSIC_PARAMSPEC] = _Py_make_paramspec, + [INTRINSIC_TYPEVARTUPLE] = _Py_make_typevartuple, + [INTRINSIC_SUBSCRIPT_GENERIC] = _Py_subscript_generic, + [INTRINSIC_TYPEALIAS] = _Py_make_typealias, +}; + + +/******** Binary functions ********/ + + +static PyObject * +prep_reraise_star(PyThreadState* unused, PyObject *orig, PyObject *excs) +{ + assert(PyList_Check(excs)); + return _PyExc_PrepReraiseStar(orig, excs); +} + +static PyObject * +make_typevar_with_bound(PyThreadState* Py_UNUSED(ignored), PyObject *name, + PyObject *evaluate_bound) +{ + assert(PyUnicode_Check(name)); + return _Py_make_typevar(name, evaluate_bound, NULL); +} + +static PyObject * +make_typevar_with_constraints(PyThreadState* Py_UNUSED(ignored), PyObject *name, + PyObject *evaluate_constraints) +{ + assert(PyUnicode_Check(name)); + return _Py_make_typevar(name, NULL, evaluate_constraints); +} + +const instrinsic_func2 +_PyIntrinsics_BinaryFunctions[] = { + [INTRINSIC_PREP_RERAISE_STAR] = prep_reraise_star, + [INTRINSIC_TYPEVAR_WITH_BOUND] = make_typevar_with_bound, + [INTRINSIC_TYPEVAR_WITH_CONSTRAINTS] = make_typevar_with_constraints, + [INTRINSIC_SET_FUNCTION_TYPE_PARAMS] = _Py_set_function_type_params, +}; diff --git a/contrib/tools/python3/src/Python/legacy_tracing.c b/contrib/tools/python3/src/Python/legacy_tracing.c new file mode 100644 index 00000000000..43fa5910ef6 --- /dev/null +++ b/contrib/tools/python3/src/Python/legacy_tracing.c @@ -0,0 +1,519 @@ +/* Support for legacy tracing on top of PEP 669 instrumentation + * Provides callables to forward PEP 669 events to legacy events. + */ + +#include +#include "Python.h" +#include "opcode.h" +#include "pycore_ceval.h" +#include "pycore_object.h" +#include "pycore_sysmodule.h" + +typedef struct _PyLegacyEventHandler { + PyObject_HEAD + vectorcallfunc vectorcall; + int event; +} _PyLegacyEventHandler; + +/* The Py_tracefunc function expects the following arguments: + * obj: the trace object (PyObject *) + * frame: the current frame (PyFrameObject *) + * kind: the kind of event, see PyTrace_XXX #defines (int) + * arg: The arg (a PyObject *) + */ + +static PyObject * +call_profile_func(_PyLegacyEventHandler *self, PyObject *arg) +{ + PyThreadState *tstate = _PyThreadState_GET(); + if (tstate->c_profilefunc == NULL) { + Py_RETURN_NONE; + } + PyFrameObject *frame = PyEval_GetFrame(); + if (frame == NULL) { + PyErr_SetString(PyExc_SystemError, + "Missing frame when calling profile function."); + return NULL; + } + Py_INCREF(frame); + int err = tstate->c_profilefunc(tstate->c_profileobj, frame, self->event, arg); + Py_DECREF(frame); + if (err) { + return NULL; + } + Py_RETURN_NONE; +} + +static PyObject * +sys_profile_func2( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + assert(PyVectorcall_NARGS(nargsf) == 2); + return call_profile_func(self, Py_None); +} + +static PyObject * +sys_profile_func3( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + assert(PyVectorcall_NARGS(nargsf) == 3); + return call_profile_func(self, args[2]); +} + +static PyObject * +sys_profile_unwind( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + assert(PyVectorcall_NARGS(nargsf) == 3); + return call_profile_func(self, Py_None); +} + +static PyObject * +sys_profile_call_or_return( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + assert(PyVectorcall_NARGS(nargsf) == 4); + PyObject *callable = args[2]; + if (PyCFunction_Check(callable)) { + return call_profile_func(self, callable); + } + if (Py_TYPE(callable) == &PyMethodDescr_Type) { + PyObject *self_arg = args[3]; + /* For backwards compatibility need to + * convert to builtin method */ + + /* If no arg, skip */ + if (self_arg == &_PyInstrumentation_MISSING) { + Py_RETURN_NONE; + } + PyObject *meth = Py_TYPE(callable)->tp_descr_get( + callable, self_arg, (PyObject*)Py_TYPE(self_arg)); + if (meth == NULL) { + return NULL; + } + PyObject *res = call_profile_func(self, meth); + Py_DECREF(meth); + return res; + } + Py_RETURN_NONE; +} + +static PyObject * +call_trace_func(_PyLegacyEventHandler *self, PyObject *arg) +{ + PyThreadState *tstate = _PyThreadState_GET(); + if (tstate->c_tracefunc == NULL) { + Py_RETURN_NONE; + } + PyFrameObject *frame = PyEval_GetFrame(); + if (frame == NULL) { + PyErr_SetString(PyExc_SystemError, + "Missing frame when calling trace function."); + return NULL; + } + Py_INCREF(frame); + int err = tstate->c_tracefunc(tstate->c_traceobj, frame, self->event, arg); + Py_DECREF(frame); + if (err) { + return NULL; + } + Py_RETURN_NONE; +} + +static PyObject * +sys_trace_exception_func( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + assert(PyVectorcall_NARGS(nargsf) == 3); + PyObject *exc = args[2]; + assert(PyExceptionInstance_Check(exc)); + PyObject *type = (PyObject *)Py_TYPE(exc); + PyObject *tb = PyException_GetTraceback(exc); + if (tb == NULL) { + tb = Py_NewRef(Py_None); + } + PyObject *tuple = PyTuple_Pack(3, type, exc, tb); + Py_DECREF(tb); + if (tuple == NULL) { + return NULL; + } + PyObject *res = call_trace_func(self, tuple); + Py_DECREF(tuple); + return res; +} + +static PyObject * +sys_trace_func2( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + assert(PyVectorcall_NARGS(nargsf) == 2); + return call_trace_func(self, Py_None); +} + +static PyObject * +sys_trace_func3( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + assert(PyVectorcall_NARGS(nargsf) == 3); + return call_trace_func(self, Py_None); +} + +static PyObject * +sys_trace_return( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(!PyErr_Occurred()); + assert(kwnames == NULL); + assert(PyVectorcall_NARGS(nargsf) == 3); + assert(PyCode_Check(args[0])); + PyObject *val = args[2]; + PyObject *res = call_trace_func(self, val); + return res; +} + +static PyObject * +sys_trace_yield( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + assert(PyVectorcall_NARGS(nargsf) == 3); + return call_trace_func(self, args[2]); +} + +static PyObject * +sys_trace_instruction_func( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + assert(PyVectorcall_NARGS(nargsf) == 2); + PyFrameObject *frame = PyEval_GetFrame(); + if (frame == NULL) { + PyErr_SetString(PyExc_SystemError, + "Missing frame when calling trace function."); + return NULL; + } + if (!frame->f_trace_opcodes) { + Py_RETURN_NONE; + } + Py_INCREF(frame); + PyThreadState *tstate = _PyThreadState_GET(); + int err = tstate->c_tracefunc(tstate->c_traceobj, frame, self->event, Py_None); + frame->f_lineno = 0; + Py_DECREF(frame); + if (err) { + return NULL; + } + Py_RETURN_NONE; +} + +static PyObject * +trace_line( + PyThreadState *tstate, _PyLegacyEventHandler *self, + PyFrameObject *frame, int line +) { + if (!frame->f_trace_lines) { + Py_RETURN_NONE; + } + if (line < 0) { + Py_RETURN_NONE; + } + Py_INCREF(frame); + frame->f_lineno = line; + int err = tstate->c_tracefunc(tstate->c_traceobj, frame, self->event, Py_None); + frame->f_lineno = 0; + Py_DECREF(frame); + if (err) { + return NULL; + } + Py_RETURN_NONE; +} + +static PyObject * +sys_trace_line_func( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + PyThreadState *tstate = _PyThreadState_GET(); + if (tstate->c_tracefunc == NULL) { + Py_RETURN_NONE; + } + assert(PyVectorcall_NARGS(nargsf) == 2); + int line = _PyLong_AsInt(args[1]); + assert(line >= 0); + PyFrameObject *frame = PyEval_GetFrame(); + if (frame == NULL) { + PyErr_SetString(PyExc_SystemError, + "Missing frame when calling trace function."); + return NULL; + } + assert(args[0] == (PyObject *)frame->f_frame->f_code); + return trace_line(tstate, self, frame, line); +} + +/* sys.settrace generates line events for all backward + * edges, even if on the same line. + * Handle that case here */ +static PyObject * +sys_trace_jump_func( + _PyLegacyEventHandler *self, PyObject *const *args, + size_t nargsf, PyObject *kwnames +) { + assert(kwnames == NULL); + PyThreadState *tstate = _PyThreadState_GET(); + if (tstate->c_tracefunc == NULL) { + Py_RETURN_NONE; + } + assert(PyVectorcall_NARGS(nargsf) == 3); + int from = _PyLong_AsInt(args[1])/sizeof(_Py_CODEUNIT); + assert(from >= 0); + int to = _PyLong_AsInt(args[2])/sizeof(_Py_CODEUNIT); + assert(to >= 0); + if (to > from) { + /* Forward jump */ + return &_PyInstrumentation_DISABLE; + } + PyCodeObject *code = (PyCodeObject *)args[0]; + assert(PyCode_Check(code)); + /* We can call _Py_Instrumentation_GetLine because we always set + * line events for tracing */ + int to_line = _Py_Instrumentation_GetLine(code, to); + int from_line = _Py_Instrumentation_GetLine(code, from); + if (to_line != from_line) { + /* Will be handled by target INSTRUMENTED_LINE */ + return &_PyInstrumentation_DISABLE; + } + PyFrameObject *frame = PyEval_GetFrame(); + if (frame == NULL) { + PyErr_SetString(PyExc_SystemError, + "Missing frame when calling trace function."); + return NULL; + } + assert(code == frame->f_frame->f_code); + if (!frame->f_trace_lines) { + Py_RETURN_NONE; + } + return trace_line(tstate, self, frame, to_line); +} + +PyTypeObject _PyLegacyEventHandler_Type = { + PyVarObject_HEAD_INIT(&PyType_Type, 0) + "sys.legacy_event_handler", + sizeof(_PyLegacyEventHandler), + .tp_dealloc = (destructor)PyObject_Free, + .tp_vectorcall_offset = offsetof(_PyLegacyEventHandler, vectorcall), + .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | + Py_TPFLAGS_HAVE_VECTORCALL | Py_TPFLAGS_DISALLOW_INSTANTIATION, + .tp_call = PyVectorcall_Call, +}; + +static int +set_callbacks(int tool, vectorcallfunc vectorcall, int legacy_event, int event1, int event2) +{ + _PyLegacyEventHandler *callback = + PyObject_NEW(_PyLegacyEventHandler, &_PyLegacyEventHandler_Type); + if (callback == NULL) { + return -1; + } + callback->vectorcall = vectorcall; + callback->event = legacy_event; + Py_XDECREF(_PyMonitoring_RegisterCallback(tool, event1, (PyObject *)callback)); + if (event2 >= 0) { + Py_XDECREF(_PyMonitoring_RegisterCallback(tool, event2, (PyObject *)callback)); + } + Py_DECREF(callback); + return 0; +} + +#ifndef NDEBUG +/* Ensure that tstate is valid: sanity check for PyEval_AcquireThread() and + PyEval_RestoreThread(). Detect if tstate memory was freed. It can happen + when a thread continues to run after Python finalization, especially + daemon threads. */ +static int +is_tstate_valid(PyThreadState *tstate) +{ + assert(!_PyMem_IsPtrFreed(tstate)); + assert(!_PyMem_IsPtrFreed(tstate->interp)); + return 1; +} +#endif + +int +_PyEval_SetProfile(PyThreadState *tstate, Py_tracefunc func, PyObject *arg) +{ + assert(is_tstate_valid(tstate)); + /* The caller must hold the GIL */ + assert(PyGILState_Check()); + + /* Call _PySys_Audit() in the context of the current thread state, + even if tstate is not the current thread state. */ + PyThreadState *current_tstate = _PyThreadState_GET(); + if (_PySys_Audit(current_tstate, "sys.setprofile", NULL) < 0) { + return -1; + } + /* Setup PEP 669 monitoring callbacks and events. */ + if (!tstate->interp->sys_profile_initialized) { + tstate->interp->sys_profile_initialized = true; + if (set_callbacks(PY_MONITORING_SYS_PROFILE_ID, + (vectorcallfunc)sys_profile_func2, PyTrace_CALL, + PY_MONITORING_EVENT_PY_START, PY_MONITORING_EVENT_PY_RESUME)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_PROFILE_ID, + (vectorcallfunc)sys_profile_func3, PyTrace_CALL, + PY_MONITORING_EVENT_PY_THROW, -1)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_PROFILE_ID, + (vectorcallfunc)sys_profile_func3, PyTrace_RETURN, + PY_MONITORING_EVENT_PY_RETURN, PY_MONITORING_EVENT_PY_YIELD)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_PROFILE_ID, + (vectorcallfunc)sys_profile_unwind, PyTrace_RETURN, + PY_MONITORING_EVENT_PY_UNWIND, -1)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_PROFILE_ID, + (vectorcallfunc)sys_profile_call_or_return, PyTrace_C_CALL, + PY_MONITORING_EVENT_CALL, -1)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_PROFILE_ID, + (vectorcallfunc)sys_profile_call_or_return, PyTrace_C_RETURN, + PY_MONITORING_EVENT_C_RETURN, -1)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_PROFILE_ID, + (vectorcallfunc)sys_profile_call_or_return, PyTrace_C_EXCEPTION, + PY_MONITORING_EVENT_C_RAISE, -1)) { + return -1; + } + } + + int delta = (func != NULL) - (tstate->c_profilefunc != NULL); + tstate->c_profilefunc = func; + PyObject *old_profileobj = tstate->c_profileobj; + tstate->c_profileobj = Py_XNewRef(arg); + Py_XDECREF(old_profileobj); + tstate->interp->sys_profiling_threads += delta; + assert(tstate->interp->sys_profiling_threads >= 0); + + uint32_t events = 0; + if (tstate->interp->sys_profiling_threads) { + events = + (1 << PY_MONITORING_EVENT_PY_START) | (1 << PY_MONITORING_EVENT_PY_RESUME) | + (1 << PY_MONITORING_EVENT_PY_RETURN) | (1 << PY_MONITORING_EVENT_PY_YIELD) | + (1 << PY_MONITORING_EVENT_CALL) | (1 << PY_MONITORING_EVENT_PY_UNWIND) | + (1 << PY_MONITORING_EVENT_PY_THROW); + } + return _PyMonitoring_SetEvents(PY_MONITORING_SYS_PROFILE_ID, events); +} + +int +_PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg) +{ + assert(is_tstate_valid(tstate)); + /* The caller must hold the GIL */ + assert(PyGILState_Check()); + + /* Call _PySys_Audit() in the context of the current thread state, + even if tstate is not the current thread state. */ + PyThreadState *current_tstate = _PyThreadState_GET(); + if (_PySys_Audit(current_tstate, "sys.settrace", NULL) < 0) { + return -1; + } + + assert(tstate->interp->sys_tracing_threads >= 0); + /* Setup PEP 669 monitoring callbacks and events. */ + if (!tstate->interp->sys_trace_initialized) { + tstate->interp->sys_trace_initialized = true; + if (set_callbacks(PY_MONITORING_SYS_TRACE_ID, + (vectorcallfunc)sys_trace_func2, PyTrace_CALL, + PY_MONITORING_EVENT_PY_START, PY_MONITORING_EVENT_PY_RESUME)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_TRACE_ID, + (vectorcallfunc)sys_trace_func3, PyTrace_CALL, + PY_MONITORING_EVENT_PY_THROW, -1)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_TRACE_ID, + (vectorcallfunc)sys_trace_return, PyTrace_RETURN, + PY_MONITORING_EVENT_PY_RETURN, -1)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_TRACE_ID, + (vectorcallfunc)sys_trace_yield, PyTrace_RETURN, + PY_MONITORING_EVENT_PY_YIELD, -1)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_TRACE_ID, + (vectorcallfunc)sys_trace_exception_func, PyTrace_EXCEPTION, + PY_MONITORING_EVENT_RAISE, PY_MONITORING_EVENT_STOP_ITERATION)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_TRACE_ID, + (vectorcallfunc)sys_trace_line_func, PyTrace_LINE, + PY_MONITORING_EVENT_LINE, -1)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_TRACE_ID, + (vectorcallfunc)sys_trace_func3, PyTrace_RETURN, + PY_MONITORING_EVENT_PY_UNWIND, -1)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_TRACE_ID, + (vectorcallfunc)sys_trace_jump_func, PyTrace_LINE, + PY_MONITORING_EVENT_JUMP, -1)) { + return -1; + } + if (set_callbacks(PY_MONITORING_SYS_TRACE_ID, + (vectorcallfunc)sys_trace_instruction_func, PyTrace_OPCODE, + PY_MONITORING_EVENT_INSTRUCTION, -1)) { + return -1; + } + } + + int delta = (func != NULL) - (tstate->c_tracefunc != NULL); + tstate->c_tracefunc = func; + PyObject *old_traceobj = tstate->c_traceobj; + tstate->c_traceobj = Py_XNewRef(arg); + Py_XDECREF(old_traceobj); + tstate->interp->sys_tracing_threads += delta; + assert(tstate->interp->sys_tracing_threads >= 0); + + uint32_t events = 0; + if (tstate->interp->sys_tracing_threads) { + events = + (1 << PY_MONITORING_EVENT_PY_START) | (1 << PY_MONITORING_EVENT_PY_RESUME) | + (1 << PY_MONITORING_EVENT_PY_RETURN) | (1 << PY_MONITORING_EVENT_PY_YIELD) | + (1 << PY_MONITORING_EVENT_RAISE) | (1 << PY_MONITORING_EVENT_LINE) | + (1 << PY_MONITORING_EVENT_JUMP) | (1 << PY_MONITORING_EVENT_BRANCH) | + (1 << PY_MONITORING_EVENT_PY_UNWIND) | (1 << PY_MONITORING_EVENT_PY_THROW) | + (1 << PY_MONITORING_EVENT_STOP_ITERATION) | + (1 << PY_MONITORING_EVENT_EXCEPTION_HANDLED); + if (tstate->interp->f_opcode_trace_set) { + events |= (1 << PY_MONITORING_EVENT_INSTRUCTION); + } + } + return _PyMonitoring_SetEvents(PY_MONITORING_SYS_TRACE_ID, events); +} diff --git a/contrib/tools/python3/src/Python/marshal.c b/contrib/tools/python3/src/Python/marshal.c index 29f3bab60a5..90953cbb728 100644 --- a/contrib/tools/python3/src/Python/marshal.c +++ b/contrib/tools/python3/src/Python/marshal.c @@ -11,6 +11,7 @@ #include "Python.h" #include "pycore_call.h" // _PyObject_CallNoArgs() #include "pycore_code.h" // _PyCode_New() +#include "pycore_long.h" // _PyLong_DigitCount #include "pycore_hashtable.h" // _Py_hashtable_t #include "marshal.h" // Py_MARSHAL_VERSION @@ -232,15 +233,15 @@ w_PyLong(const PyLongObject *ob, char flag, WFILE *p) digit d; W_TYPE(TYPE_LONG, p); - if (Py_SIZE(ob) == 0) { + if (_PyLong_IsZero(ob)) { w_long((long)0, p); return; } /* set l to number of base PyLong_MARSHAL_BASE digits */ - n = Py_ABS(Py_SIZE(ob)); + n = _PyLong_DigitCount(ob); l = (n-1) * PyLong_MARSHAL_RATIO; - d = ob->ob_digit[n-1]; + d = ob->long_value.ob_digit[n-1]; assert(d != 0); /* a PyLong is always normalized */ do { d >>= PyLong_MARSHAL_SHIFT; @@ -251,17 +252,17 @@ w_PyLong(const PyLongObject *ob, char flag, WFILE *p) p->error = WFERR_UNMARSHALLABLE; return; } - w_long((long)(Py_SIZE(ob) > 0 ? l : -l), p); + w_long((long)(_PyLong_IsNegative(ob) ? -l : l), p); for (i=0; i < n-1; i++) { - d = ob->ob_digit[i]; + d = ob->long_value.ob_digit[i]; for (j=0; j < PyLong_MARSHAL_RATIO; j++) { w_short(d & PyLong_MARSHAL_MASK, p); d >>= PyLong_MARSHAL_SHIFT; } assert (d == 0); } - d = ob->ob_digit[n-1]; + d = ob->long_value.ob_digit[n-1]; do { w_short(d & PyLong_MARSHAL_MASK, p); d >>= PyLong_MARSHAL_SHIFT; @@ -326,8 +327,8 @@ w_ref(PyObject *v, char *flag, WFILE *p) goto err; } w = (int)s; - Py_INCREF(v); - if (_Py_hashtable_set(p->hashtable, v, (void *)(uintptr_t)w) < 0) { + if (_Py_hashtable_set(p->hashtable, Py_NewRef(v), + (void *)(uintptr_t)w) < 0) { Py_DECREF(v); goto err; } @@ -849,7 +850,7 @@ r_PyLong(RFILE *p) if (ob == NULL) return NULL; - Py_SET_SIZE(ob, n > 0 ? size : -size); + _PyLong_SetSignAndDigitCount(ob, n < 0 ? -1 : 1, size); for (i = 0; i < size-1; i++) { d = 0; @@ -859,7 +860,7 @@ r_PyLong(RFILE *p) goto bad_digit; d += (digit)md << j*PyLong_MARSHAL_SHIFT; } - ob->ob_digit[i] = d; + ob->long_value.ob_digit[i] = d; } d = 0; @@ -879,7 +880,7 @@ r_PyLong(RFILE *p) assert(!PyErr_Occurred()); /* top digit should be nonzero, else the resulting PyLong won't be normalized */ - ob->ob_digit[size-1] = d; + ob->long_value.ob_digit[size-1] = d; return (PyObject *)ob; bad_digit: Py_DECREF(ob); @@ -950,8 +951,7 @@ r_ref_insert(PyObject *o, Py_ssize_t idx, int flag, RFILE *p) { if (o != NULL && flag) { /* currently only FLAG_REF is defined */ PyObject *tmp = PyList_GET_ITEM(p->refs, idx); - Py_INCREF(o); - PyList_SET_ITEM(p->refs, idx, o); + PyList_SET_ITEM(p->refs, idx, Py_NewRef(o)); Py_DECREF(tmp); } return o; @@ -1016,28 +1016,23 @@ r_object(RFILE *p) break; case TYPE_NONE: - Py_INCREF(Py_None); - retval = Py_None; + retval = Py_NewRef(Py_None); break; case TYPE_STOPITER: - Py_INCREF(PyExc_StopIteration); - retval = PyExc_StopIteration; + retval = Py_NewRef(PyExc_StopIteration); break; case TYPE_ELLIPSIS: - Py_INCREF(Py_Ellipsis); - retval = Py_Ellipsis; + retval = Py_NewRef(Py_Ellipsis); break; case TYPE_FALSE: - Py_INCREF(Py_False); - retval = Py_False; + retval = Py_NewRef(Py_False); break; case TYPE_TRUE: - Py_INCREF(Py_True); - retval = Py_True; + retval = Py_NewRef(Py_True); break; case TYPE_INT: @@ -1230,8 +1225,7 @@ r_object(RFILE *p) if (!PyErr_Occurred()) PyErr_SetString(PyExc_TypeError, "NULL object in marshal data for tuple"); - Py_DECREF(v); - v = NULL; + Py_SETREF(v, NULL); break; } PyTuple_SET_ITEM(v, i, v2); @@ -1258,8 +1252,7 @@ r_object(RFILE *p) if (!PyErr_Occurred()) PyErr_SetString(PyExc_TypeError, "NULL object in marshal data for list"); - Py_DECREF(v); - v = NULL; + Py_SETREF(v, NULL); break; } PyList_SET_ITEM(v, i, v2); @@ -1291,8 +1284,7 @@ r_object(RFILE *p) Py_DECREF(val); } if (PyErr_Occurred()) { - Py_DECREF(v); - v = NULL; + Py_SETREF(v, NULL); } retval = v; break; @@ -1337,8 +1329,7 @@ r_object(RFILE *p) if (!PyErr_Occurred()) PyErr_SetString(PyExc_TypeError, "NULL object in marshal data for set"); - Py_DECREF(v); - v = NULL; + Py_SETREF(v, NULL); break; } if (PySet_Add(v, v2) == -1) { @@ -1500,8 +1491,7 @@ r_object(RFILE *p) PyErr_SetString(PyExc_ValueError, "bad marshal data (invalid reference)"); break; } - Py_INCREF(v); - retval = v; + retval = Py_NewRef(v); break; default: @@ -1894,6 +1884,7 @@ marshal_module_exec(PyObject *mod) static PyModuleDef_Slot marshalmodule_slots[] = { {Py_mod_exec, marshal_module_exec}, + {Py_mod_multiple_interpreters, Py_MOD_PER_INTERPRETER_GIL_SUPPORTED}, {0, NULL} }; diff --git a/contrib/tools/python3/src/Python/modsupport.c b/contrib/tools/python3/src/Python/modsupport.c index 89ffae8c0f1..df4ae35a525 100644 --- a/contrib/tools/python3/src/Python/modsupport.c +++ b/contrib/tools/python3/src/Python/modsupport.c @@ -3,6 +3,7 @@ #include "Python.h" #include "pycore_abstract.h" // _PyIndex_Check() +#include "pycore_object.h" // _PyType_IsReady() #define FLAG_SIZE_T 1 typedef double va_double; @@ -10,9 +11,6 @@ typedef double va_double; static PyObject *va_build_value(const char *, va_list, int); static PyObject **va_build_stack(PyObject **small_stack, Py_ssize_t small_stack_len, const char *, va_list, int, Py_ssize_t*); -/* Package context -- the full module name for package imports */ -const char *_Py_PackageContext = NULL; - int _Py_convert_optional_to_ssize_t(PyObject *obj, void *result) @@ -96,16 +94,12 @@ static PyObject *do_mkvalue(const char**, va_list *, int); static void do_ignore(const char **p_format, va_list *p_va, char endchar, Py_ssize_t n, int flags) { - PyObject *v; - Py_ssize_t i; assert(PyErr_Occurred()); - v = PyTuple_New(n); - for (i = 0; i < n; i++) { - PyObject *exception, *value, *tb, *w; - - PyErr_Fetch(&exception, &value, &tb); - w = do_mkvalue(p_format, p_va, flags); - PyErr_Restore(exception, value, tb); + PyObject *v = PyTuple_New(n); + for (Py_ssize_t i = 0; i < n; i++) { + PyObject *exc = PyErr_GetRaisedException(); + PyObject *w = do_mkvalue(p_format, p_va, flags); + PyErr_SetRaisedException(exc); if (w != NULL) { if (v != NULL) { PyTuple_SET_ITEM(v, i, w); @@ -359,8 +353,7 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags) else n = -1; if (u == NULL) { - v = Py_None; - Py_INCREF(v); + v = Py_NewRef(Py_None); } else { if (n < 0) @@ -410,8 +403,7 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags) else n = -1; if (str == NULL) { - v = Py_None; - Py_INCREF(v); + v = Py_NewRef(Py_None); } else { if (n < 0) { @@ -446,8 +438,7 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags) else n = -1; if (str == NULL) { - v = Py_None; - Py_INCREF(v); + v = Py_NewRef(Py_None); } else { if (n < 0) { @@ -694,7 +685,7 @@ PyModule_AddStringConstant(PyObject *m, const char *name, const char *value) int PyModule_AddType(PyObject *module, PyTypeObject *type) { - if (PyType_Ready(type) < 0) { + if (!_PyType_IsReady(type) && PyType_Ready(type) < 0) { return -1; } diff --git a/contrib/tools/python3/src/Python/opcode_metadata.h b/contrib/tools/python3/src/Python/opcode_metadata.h new file mode 100644 index 00000000000..f9b1c928cd4 --- /dev/null +++ b/contrib/tools/python3/src/Python/opcode_metadata.h @@ -0,0 +1,1001 @@ +// This file is generated by Tools/cases_generator/generate_cases.py +// from: +// Python/bytecodes.c +// Do not edit! + +#ifndef NEED_OPCODE_METADATA +extern int _PyOpcode_num_popped(int opcode, int oparg, bool jump); +#else +int +_PyOpcode_num_popped(int opcode, int oparg, bool jump) { + switch(opcode) { + case NOP: + return 0; + case RESUME: + return 0; + case INSTRUMENTED_RESUME: + return 0; + case LOAD_CLOSURE: + return 0; + case LOAD_FAST_CHECK: + return 0; + case LOAD_FAST: + return 0; + case LOAD_FAST_AND_CLEAR: + return 0; + case LOAD_CONST: + return 0; + case STORE_FAST: + return 1; + case LOAD_FAST__LOAD_FAST: + return 0+0; + case LOAD_FAST__LOAD_CONST: + return 0+0; + case STORE_FAST__LOAD_FAST: + return 1+0; + case STORE_FAST__STORE_FAST: + return 1+1; + case LOAD_CONST__LOAD_FAST: + return 0+0; + case POP_TOP: + return 1; + case PUSH_NULL: + return 0; + case END_FOR: + return 1+1; + case INSTRUMENTED_END_FOR: + return 2; + case END_SEND: + return 2; + case INSTRUMENTED_END_SEND: + return 2; + case UNARY_NEGATIVE: + return 1; + case UNARY_NOT: + return 1; + case UNARY_INVERT: + return 1; + case BINARY_OP_MULTIPLY_INT: + return 2; + case BINARY_OP_MULTIPLY_FLOAT: + return 2; + case BINARY_OP_SUBTRACT_INT: + return 2; + case BINARY_OP_SUBTRACT_FLOAT: + return 2; + case BINARY_OP_ADD_UNICODE: + return 2; + case BINARY_OP_INPLACE_ADD_UNICODE: + return 2; + case BINARY_OP_ADD_FLOAT: + return 2; + case BINARY_OP_ADD_INT: + return 2; + case BINARY_SUBSCR: + return 2; + case BINARY_SLICE: + return 3; + case STORE_SLICE: + return 4; + case BINARY_SUBSCR_LIST_INT: + return 2; + case BINARY_SUBSCR_TUPLE_INT: + return 2; + case BINARY_SUBSCR_DICT: + return 2; + case BINARY_SUBSCR_GETITEM: + return 2; + case LIST_APPEND: + return (oparg-1) + 2; + case SET_ADD: + return (oparg-1) + 2; + case STORE_SUBSCR: + return 3; + case STORE_SUBSCR_LIST_INT: + return 3; + case STORE_SUBSCR_DICT: + return 3; + case DELETE_SUBSCR: + return 2; + case CALL_INTRINSIC_1: + return 1; + case CALL_INTRINSIC_2: + return 2; + case RAISE_VARARGS: + return oparg; + case INTERPRETER_EXIT: + return 1; + case RETURN_VALUE: + return 1; + case INSTRUMENTED_RETURN_VALUE: + return 1; + case RETURN_CONST: + return 0; + case INSTRUMENTED_RETURN_CONST: + return 0; + case GET_AITER: + return 1; + case GET_ANEXT: + return 1; + case GET_AWAITABLE: + return 1; + case SEND: + return 2; + case SEND_GEN: + return 2; + case INSTRUMENTED_YIELD_VALUE: + return 1; + case YIELD_VALUE: + return 1; + case POP_EXCEPT: + return 1; + case RERAISE: + return oparg + 1; + case END_ASYNC_FOR: + return 2; + case CLEANUP_THROW: + return 3; + case LOAD_ASSERTION_ERROR: + return 0; + case LOAD_BUILD_CLASS: + return 0; + case STORE_NAME: + return 1; + case DELETE_NAME: + return 0; + case UNPACK_SEQUENCE: + return 1; + case UNPACK_SEQUENCE_TWO_TUPLE: + return 1; + case UNPACK_SEQUENCE_TUPLE: + return 1; + case UNPACK_SEQUENCE_LIST: + return 1; + case UNPACK_EX: + return 1; + case STORE_ATTR: + return 2; + case DELETE_ATTR: + return 1; + case STORE_GLOBAL: + return 1; + case DELETE_GLOBAL: + return 0; + case LOAD_LOCALS: + return 0; + case LOAD_FROM_DICT_OR_GLOBALS: + return 1; + case LOAD_NAME: + return 0; + case LOAD_GLOBAL: + return 0; + case LOAD_GLOBAL_MODULE: + return 0; + case LOAD_GLOBAL_BUILTIN: + return 0; + case DELETE_FAST: + return 0; + case MAKE_CELL: + return 0; + case DELETE_DEREF: + return 0; + case LOAD_FROM_DICT_OR_DEREF: + return 1; + case LOAD_DEREF: + return 0; + case STORE_DEREF: + return 1; + case COPY_FREE_VARS: + return 0; + case BUILD_STRING: + return oparg; + case BUILD_TUPLE: + return oparg; + case BUILD_LIST: + return oparg; + case LIST_EXTEND: + return (oparg-1) + 2; + case SET_UPDATE: + return (oparg-1) + 2; + case BUILD_SET: + return oparg; + case BUILD_MAP: + return oparg*2; + case SETUP_ANNOTATIONS: + return 0; + case BUILD_CONST_KEY_MAP: + return oparg + 1; + case DICT_UPDATE: + return 1; + case DICT_MERGE: + return 1; + case MAP_ADD: + return 2; + case INSTRUMENTED_LOAD_SUPER_ATTR: + return 3; + case LOAD_SUPER_ATTR: + return 3; + case LOAD_SUPER_ATTR_ATTR: + return 3; + case LOAD_SUPER_ATTR_METHOD: + return 3; + case LOAD_ATTR: + return 1; + case LOAD_ATTR_INSTANCE_VALUE: + return 1; + case LOAD_ATTR_MODULE: + return 1; + case LOAD_ATTR_WITH_HINT: + return 1; + case LOAD_ATTR_SLOT: + return 1; + case LOAD_ATTR_CLASS: + return 1; + case LOAD_ATTR_PROPERTY: + return 1; + case LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN: + return 1; + case STORE_ATTR_INSTANCE_VALUE: + return 2; + case STORE_ATTR_WITH_HINT: + return 2; + case STORE_ATTR_SLOT: + return 2; + case COMPARE_OP: + return 2; + case COMPARE_OP_FLOAT: + return 2; + case COMPARE_OP_INT: + return 2; + case COMPARE_OP_STR: + return 2; + case IS_OP: + return 2; + case CONTAINS_OP: + return 2; + case CHECK_EG_MATCH: + return 2; + case CHECK_EXC_MATCH: + return 2; + case IMPORT_NAME: + return 2; + case IMPORT_FROM: + return 1; + case JUMP_FORWARD: + return 0; + case JUMP_BACKWARD: + return 0; + case POP_JUMP_IF_FALSE: + return 1; + case POP_JUMP_IF_TRUE: + return 1; + case POP_JUMP_IF_NOT_NONE: + return 1; + case POP_JUMP_IF_NONE: + return 1; + case JUMP_BACKWARD_NO_INTERRUPT: + return 0; + case GET_LEN: + return 1; + case MATCH_CLASS: + return 3; + case MATCH_MAPPING: + return 1; + case MATCH_SEQUENCE: + return 1; + case MATCH_KEYS: + return 2; + case GET_ITER: + return 1; + case GET_YIELD_FROM_ITER: + return 1; + case FOR_ITER: + return 1; + case INSTRUMENTED_FOR_ITER: + return 0; + case FOR_ITER_LIST: + return 1; + case FOR_ITER_TUPLE: + return 1; + case FOR_ITER_RANGE: + return 1; + case FOR_ITER_GEN: + return 1; + case BEFORE_ASYNC_WITH: + return 1; + case BEFORE_WITH: + return 1; + case WITH_EXCEPT_START: + return 4; + case PUSH_EXC_INFO: + return 1; + case LOAD_ATTR_METHOD_WITH_VALUES: + return 1; + case LOAD_ATTR_METHOD_NO_DICT: + return 1; + case LOAD_ATTR_METHOD_LAZY_DICT: + return 1; + case KW_NAMES: + return 0; + case INSTRUMENTED_CALL: + return 0; + case CALL: + return oparg + 2; + case CALL_BOUND_METHOD_EXACT_ARGS: + return oparg + 2; + case CALL_PY_EXACT_ARGS: + return oparg + 2; + case CALL_PY_WITH_DEFAULTS: + return oparg + 2; + case CALL_NO_KW_TYPE_1: + return oparg + 2; + case CALL_NO_KW_STR_1: + return oparg + 2; + case CALL_NO_KW_TUPLE_1: + return oparg + 2; + case CALL_BUILTIN_CLASS: + return oparg + 2; + case CALL_NO_KW_BUILTIN_O: + return oparg + 2; + case CALL_NO_KW_BUILTIN_FAST: + return oparg + 2; + case CALL_BUILTIN_FAST_WITH_KEYWORDS: + return oparg + 2; + case CALL_NO_KW_LEN: + return oparg + 2; + case CALL_NO_KW_ISINSTANCE: + return oparg + 2; + case CALL_NO_KW_LIST_APPEND: + return oparg + 2; + case CALL_NO_KW_METHOD_DESCRIPTOR_O: + return oparg + 2; + case CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS: + return oparg + 2; + case CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS: + return oparg + 2; + case CALL_NO_KW_METHOD_DESCRIPTOR_FAST: + return oparg + 2; + case INSTRUMENTED_CALL_FUNCTION_EX: + return 0; + case CALL_FUNCTION_EX: + return ((oparg & 1) ? 1 : 0) + 3; + case MAKE_FUNCTION: + return ((oparg & 0x01) ? 1 : 0) + ((oparg & 0x02) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0) + ((oparg & 0x08) ? 1 : 0) + 1; + case RETURN_GENERATOR: + return 0; + case BUILD_SLICE: + return ((oparg == 3) ? 1 : 0) + 2; + case FORMAT_VALUE: + return (((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? 1 : 0) + 1; + case COPY: + return (oparg-1) + 1; + case BINARY_OP: + return 2; + case SWAP: + return (oparg-2) + 2; + case INSTRUMENTED_INSTRUCTION: + return 0; + case INSTRUMENTED_JUMP_FORWARD: + return 0; + case INSTRUMENTED_JUMP_BACKWARD: + return 0; + case INSTRUMENTED_POP_JUMP_IF_TRUE: + return 0; + case INSTRUMENTED_POP_JUMP_IF_FALSE: + return 0; + case INSTRUMENTED_POP_JUMP_IF_NONE: + return 0; + case INSTRUMENTED_POP_JUMP_IF_NOT_NONE: + return 0; + case EXTENDED_ARG: + return 0; + case CACHE: + return 0; + case RESERVED: + return 0; + default: + return -1; + } +} +#endif + +#ifndef NEED_OPCODE_METADATA +extern int _PyOpcode_num_pushed(int opcode, int oparg, bool jump); +#else +int +_PyOpcode_num_pushed(int opcode, int oparg, bool jump) { + switch(opcode) { + case NOP: + return 0; + case RESUME: + return 0; + case INSTRUMENTED_RESUME: + return 0; + case LOAD_CLOSURE: + return 1; + case LOAD_FAST_CHECK: + return 1; + case LOAD_FAST: + return 1; + case LOAD_FAST_AND_CLEAR: + return 1; + case LOAD_CONST: + return 1; + case STORE_FAST: + return 0; + case LOAD_FAST__LOAD_FAST: + return 1+1; + case LOAD_FAST__LOAD_CONST: + return 1+1; + case STORE_FAST__LOAD_FAST: + return 0+1; + case STORE_FAST__STORE_FAST: + return 0+0; + case LOAD_CONST__LOAD_FAST: + return 1+1; + case POP_TOP: + return 0; + case PUSH_NULL: + return 1; + case END_FOR: + return 0+0; + case INSTRUMENTED_END_FOR: + return 0; + case END_SEND: + return 1; + case INSTRUMENTED_END_SEND: + return 1; + case UNARY_NEGATIVE: + return 1; + case UNARY_NOT: + return 1; + case UNARY_INVERT: + return 1; + case BINARY_OP_MULTIPLY_INT: + return 1; + case BINARY_OP_MULTIPLY_FLOAT: + return 1; + case BINARY_OP_SUBTRACT_INT: + return 1; + case BINARY_OP_SUBTRACT_FLOAT: + return 1; + case BINARY_OP_ADD_UNICODE: + return 1; + case BINARY_OP_INPLACE_ADD_UNICODE: + return 0; + case BINARY_OP_ADD_FLOAT: + return 1; + case BINARY_OP_ADD_INT: + return 1; + case BINARY_SUBSCR: + return 1; + case BINARY_SLICE: + return 1; + case STORE_SLICE: + return 0; + case BINARY_SUBSCR_LIST_INT: + return 1; + case BINARY_SUBSCR_TUPLE_INT: + return 1; + case BINARY_SUBSCR_DICT: + return 1; + case BINARY_SUBSCR_GETITEM: + return 1; + case LIST_APPEND: + return (oparg-1) + 1; + case SET_ADD: + return (oparg-1) + 1; + case STORE_SUBSCR: + return 0; + case STORE_SUBSCR_LIST_INT: + return 0; + case STORE_SUBSCR_DICT: + return 0; + case DELETE_SUBSCR: + return 0; + case CALL_INTRINSIC_1: + return 1; + case CALL_INTRINSIC_2: + return 1; + case RAISE_VARARGS: + return 0; + case INTERPRETER_EXIT: + return 0; + case RETURN_VALUE: + return 0; + case INSTRUMENTED_RETURN_VALUE: + return 0; + case RETURN_CONST: + return 0; + case INSTRUMENTED_RETURN_CONST: + return 0; + case GET_AITER: + return 1; + case GET_ANEXT: + return 2; + case GET_AWAITABLE: + return 1; + case SEND: + return 2; + case SEND_GEN: + return 2; + case INSTRUMENTED_YIELD_VALUE: + return 1; + case YIELD_VALUE: + return 1; + case POP_EXCEPT: + return 0; + case RERAISE: + return oparg; + case END_ASYNC_FOR: + return 0; + case CLEANUP_THROW: + return 2; + case LOAD_ASSERTION_ERROR: + return 1; + case LOAD_BUILD_CLASS: + return 1; + case STORE_NAME: + return 0; + case DELETE_NAME: + return 0; + case UNPACK_SEQUENCE: + return oparg; + case UNPACK_SEQUENCE_TWO_TUPLE: + return oparg; + case UNPACK_SEQUENCE_TUPLE: + return oparg; + case UNPACK_SEQUENCE_LIST: + return oparg; + case UNPACK_EX: + return (oparg & 0xFF) + (oparg >> 8) + 1; + case STORE_ATTR: + return 0; + case DELETE_ATTR: + return 0; + case STORE_GLOBAL: + return 0; + case DELETE_GLOBAL: + return 0; + case LOAD_LOCALS: + return 1; + case LOAD_FROM_DICT_OR_GLOBALS: + return 1; + case LOAD_NAME: + return 1; + case LOAD_GLOBAL: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_GLOBAL_MODULE: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_GLOBAL_BUILTIN: + return ((oparg & 1) ? 1 : 0) + 1; + case DELETE_FAST: + return 0; + case MAKE_CELL: + return 0; + case DELETE_DEREF: + return 0; + case LOAD_FROM_DICT_OR_DEREF: + return 1; + case LOAD_DEREF: + return 1; + case STORE_DEREF: + return 0; + case COPY_FREE_VARS: + return 0; + case BUILD_STRING: + return 1; + case BUILD_TUPLE: + return 1; + case BUILD_LIST: + return 1; + case LIST_EXTEND: + return (oparg-1) + 1; + case SET_UPDATE: + return (oparg-1) + 1; + case BUILD_SET: + return 1; + case BUILD_MAP: + return 1; + case SETUP_ANNOTATIONS: + return 0; + case BUILD_CONST_KEY_MAP: + return 1; + case DICT_UPDATE: + return 0; + case DICT_MERGE: + return 0; + case MAP_ADD: + return 0; + case INSTRUMENTED_LOAD_SUPER_ATTR: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_SUPER_ATTR: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_SUPER_ATTR_ATTR: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_SUPER_ATTR_METHOD: + return 2; + case LOAD_ATTR: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_ATTR_INSTANCE_VALUE: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_ATTR_MODULE: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_ATTR_WITH_HINT: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_ATTR_SLOT: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_ATTR_CLASS: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_ATTR_PROPERTY: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN: + return ((oparg & 1) ? 1 : 0) + 1; + case STORE_ATTR_INSTANCE_VALUE: + return 0; + case STORE_ATTR_WITH_HINT: + return 0; + case STORE_ATTR_SLOT: + return 0; + case COMPARE_OP: + return 1; + case COMPARE_OP_FLOAT: + return 1; + case COMPARE_OP_INT: + return 1; + case COMPARE_OP_STR: + return 1; + case IS_OP: + return 1; + case CONTAINS_OP: + return 1; + case CHECK_EG_MATCH: + return 2; + case CHECK_EXC_MATCH: + return 2; + case IMPORT_NAME: + return 1; + case IMPORT_FROM: + return 2; + case JUMP_FORWARD: + return 0; + case JUMP_BACKWARD: + return 0; + case POP_JUMP_IF_FALSE: + return 0; + case POP_JUMP_IF_TRUE: + return 0; + case POP_JUMP_IF_NOT_NONE: + return 0; + case POP_JUMP_IF_NONE: + return 0; + case JUMP_BACKWARD_NO_INTERRUPT: + return 0; + case GET_LEN: + return 2; + case MATCH_CLASS: + return 1; + case MATCH_MAPPING: + return 2; + case MATCH_SEQUENCE: + return 2; + case MATCH_KEYS: + return 3; + case GET_ITER: + return 1; + case GET_YIELD_FROM_ITER: + return 1; + case FOR_ITER: + return 2; + case INSTRUMENTED_FOR_ITER: + return 0; + case FOR_ITER_LIST: + return 2; + case FOR_ITER_TUPLE: + return 2; + case FOR_ITER_RANGE: + return 2; + case FOR_ITER_GEN: + return 2; + case BEFORE_ASYNC_WITH: + return 2; + case BEFORE_WITH: + return 2; + case WITH_EXCEPT_START: + return 5; + case PUSH_EXC_INFO: + return 2; + case LOAD_ATTR_METHOD_WITH_VALUES: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_ATTR_METHOD_NO_DICT: + return ((oparg & 1) ? 1 : 0) + 1; + case LOAD_ATTR_METHOD_LAZY_DICT: + return ((oparg & 1) ? 1 : 0) + 1; + case KW_NAMES: + return 0; + case INSTRUMENTED_CALL: + return 0; + case CALL: + return 1; + case CALL_BOUND_METHOD_EXACT_ARGS: + return 1; + case CALL_PY_EXACT_ARGS: + return 1; + case CALL_PY_WITH_DEFAULTS: + return 1; + case CALL_NO_KW_TYPE_1: + return 1; + case CALL_NO_KW_STR_1: + return 1; + case CALL_NO_KW_TUPLE_1: + return 1; + case CALL_BUILTIN_CLASS: + return 1; + case CALL_NO_KW_BUILTIN_O: + return 1; + case CALL_NO_KW_BUILTIN_FAST: + return 1; + case CALL_BUILTIN_FAST_WITH_KEYWORDS: + return 1; + case CALL_NO_KW_LEN: + return 1; + case CALL_NO_KW_ISINSTANCE: + return 1; + case CALL_NO_KW_LIST_APPEND: + return 1; + case CALL_NO_KW_METHOD_DESCRIPTOR_O: + return 1; + case CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS: + return 1; + case CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS: + return 1; + case CALL_NO_KW_METHOD_DESCRIPTOR_FAST: + return 1; + case INSTRUMENTED_CALL_FUNCTION_EX: + return 0; + case CALL_FUNCTION_EX: + return 1; + case MAKE_FUNCTION: + return 1; + case RETURN_GENERATOR: + return 0; + case BUILD_SLICE: + return 1; + case FORMAT_VALUE: + return 1; + case COPY: + return (oparg-1) + 2; + case BINARY_OP: + return 1; + case SWAP: + return (oparg-2) + 2; + case INSTRUMENTED_INSTRUCTION: + return 0; + case INSTRUMENTED_JUMP_FORWARD: + return 0; + case INSTRUMENTED_JUMP_BACKWARD: + return 0; + case INSTRUMENTED_POP_JUMP_IF_TRUE: + return 0; + case INSTRUMENTED_POP_JUMP_IF_FALSE: + return 0; + case INSTRUMENTED_POP_JUMP_IF_NONE: + return 0; + case INSTRUMENTED_POP_JUMP_IF_NOT_NONE: + return 0; + case EXTENDED_ARG: + return 0; + case CACHE: + return 0; + case RESERVED: + return 0; + default: + return -1; + } +} +#endif + +enum InstructionFormat { INSTR_FMT_IB, INSTR_FMT_IBC, INSTR_FMT_IBC00, INSTR_FMT_IBC000, INSTR_FMT_IBC00000000, INSTR_FMT_IBIB, INSTR_FMT_IX, INSTR_FMT_IXC, INSTR_FMT_IXC000 }; +struct opcode_metadata { + bool valid_entry; + enum InstructionFormat instr_format; +}; + +#ifndef NEED_OPCODE_METADATA +extern const struct opcode_metadata _PyOpcode_opcode_metadata[256]; +#else +const struct opcode_metadata _PyOpcode_opcode_metadata[256] = { + [NOP] = { true, INSTR_FMT_IX }, + [RESUME] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_RESUME] = { true, INSTR_FMT_IB }, + [LOAD_CLOSURE] = { true, INSTR_FMT_IB }, + [LOAD_FAST_CHECK] = { true, INSTR_FMT_IB }, + [LOAD_FAST] = { true, INSTR_FMT_IB }, + [LOAD_FAST_AND_CLEAR] = { true, INSTR_FMT_IB }, + [LOAD_CONST] = { true, INSTR_FMT_IB }, + [STORE_FAST] = { true, INSTR_FMT_IB }, + [LOAD_FAST__LOAD_FAST] = { true, INSTR_FMT_IBIB }, + [LOAD_FAST__LOAD_CONST] = { true, INSTR_FMT_IBIB }, + [STORE_FAST__LOAD_FAST] = { true, INSTR_FMT_IBIB }, + [STORE_FAST__STORE_FAST] = { true, INSTR_FMT_IBIB }, + [LOAD_CONST__LOAD_FAST] = { true, INSTR_FMT_IBIB }, + [POP_TOP] = { true, INSTR_FMT_IX }, + [PUSH_NULL] = { true, INSTR_FMT_IX }, + [END_FOR] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_END_FOR] = { true, INSTR_FMT_IX }, + [END_SEND] = { true, INSTR_FMT_IX }, + [INSTRUMENTED_END_SEND] = { true, INSTR_FMT_IX }, + [UNARY_NEGATIVE] = { true, INSTR_FMT_IX }, + [UNARY_NOT] = { true, INSTR_FMT_IX }, + [UNARY_INVERT] = { true, INSTR_FMT_IX }, + [BINARY_OP_MULTIPLY_INT] = { true, INSTR_FMT_IXC }, + [BINARY_OP_MULTIPLY_FLOAT] = { true, INSTR_FMT_IXC }, + [BINARY_OP_SUBTRACT_INT] = { true, INSTR_FMT_IXC }, + [BINARY_OP_SUBTRACT_FLOAT] = { true, INSTR_FMT_IXC }, + [BINARY_OP_ADD_UNICODE] = { true, INSTR_FMT_IXC }, + [BINARY_OP_INPLACE_ADD_UNICODE] = { true, INSTR_FMT_IX }, + [BINARY_OP_ADD_FLOAT] = { true, INSTR_FMT_IXC }, + [BINARY_OP_ADD_INT] = { true, INSTR_FMT_IXC }, + [BINARY_SUBSCR] = { true, INSTR_FMT_IXC }, + [BINARY_SLICE] = { true, INSTR_FMT_IX }, + [STORE_SLICE] = { true, INSTR_FMT_IX }, + [BINARY_SUBSCR_LIST_INT] = { true, INSTR_FMT_IXC }, + [BINARY_SUBSCR_TUPLE_INT] = { true, INSTR_FMT_IXC }, + [BINARY_SUBSCR_DICT] = { true, INSTR_FMT_IXC }, + [BINARY_SUBSCR_GETITEM] = { true, INSTR_FMT_IXC }, + [LIST_APPEND] = { true, INSTR_FMT_IB }, + [SET_ADD] = { true, INSTR_FMT_IB }, + [STORE_SUBSCR] = { true, INSTR_FMT_IXC }, + [STORE_SUBSCR_LIST_INT] = { true, INSTR_FMT_IXC }, + [STORE_SUBSCR_DICT] = { true, INSTR_FMT_IXC }, + [DELETE_SUBSCR] = { true, INSTR_FMT_IX }, + [CALL_INTRINSIC_1] = { true, INSTR_FMT_IB }, + [CALL_INTRINSIC_2] = { true, INSTR_FMT_IB }, + [RAISE_VARARGS] = { true, INSTR_FMT_IB }, + [INTERPRETER_EXIT] = { true, INSTR_FMT_IX }, + [RETURN_VALUE] = { true, INSTR_FMT_IX }, + [INSTRUMENTED_RETURN_VALUE] = { true, INSTR_FMT_IX }, + [RETURN_CONST] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_RETURN_CONST] = { true, INSTR_FMT_IB }, + [GET_AITER] = { true, INSTR_FMT_IX }, + [GET_ANEXT] = { true, INSTR_FMT_IX }, + [GET_AWAITABLE] = { true, INSTR_FMT_IB }, + [SEND] = { true, INSTR_FMT_IBC }, + [SEND_GEN] = { true, INSTR_FMT_IBC }, + [INSTRUMENTED_YIELD_VALUE] = { true, INSTR_FMT_IX }, + [YIELD_VALUE] = { true, INSTR_FMT_IX }, + [POP_EXCEPT] = { true, INSTR_FMT_IX }, + [RERAISE] = { true, INSTR_FMT_IB }, + [END_ASYNC_FOR] = { true, INSTR_FMT_IX }, + [CLEANUP_THROW] = { true, INSTR_FMT_IX }, + [LOAD_ASSERTION_ERROR] = { true, INSTR_FMT_IX }, + [LOAD_BUILD_CLASS] = { true, INSTR_FMT_IX }, + [STORE_NAME] = { true, INSTR_FMT_IB }, + [DELETE_NAME] = { true, INSTR_FMT_IB }, + [UNPACK_SEQUENCE] = { true, INSTR_FMT_IBC }, + [UNPACK_SEQUENCE_TWO_TUPLE] = { true, INSTR_FMT_IBC }, + [UNPACK_SEQUENCE_TUPLE] = { true, INSTR_FMT_IBC }, + [UNPACK_SEQUENCE_LIST] = { true, INSTR_FMT_IBC }, + [UNPACK_EX] = { true, INSTR_FMT_IB }, + [STORE_ATTR] = { true, INSTR_FMT_IBC000 }, + [DELETE_ATTR] = { true, INSTR_FMT_IB }, + [STORE_GLOBAL] = { true, INSTR_FMT_IB }, + [DELETE_GLOBAL] = { true, INSTR_FMT_IB }, + [LOAD_LOCALS] = { true, INSTR_FMT_IX }, + [LOAD_FROM_DICT_OR_GLOBALS] = { true, INSTR_FMT_IB }, + [LOAD_NAME] = { true, INSTR_FMT_IB }, + [LOAD_GLOBAL] = { true, INSTR_FMT_IBC000 }, + [LOAD_GLOBAL_MODULE] = { true, INSTR_FMT_IBC000 }, + [LOAD_GLOBAL_BUILTIN] = { true, INSTR_FMT_IBC000 }, + [DELETE_FAST] = { true, INSTR_FMT_IB }, + [MAKE_CELL] = { true, INSTR_FMT_IB }, + [DELETE_DEREF] = { true, INSTR_FMT_IB }, + [LOAD_FROM_DICT_OR_DEREF] = { true, INSTR_FMT_IB }, + [LOAD_DEREF] = { true, INSTR_FMT_IB }, + [STORE_DEREF] = { true, INSTR_FMT_IB }, + [COPY_FREE_VARS] = { true, INSTR_FMT_IB }, + [BUILD_STRING] = { true, INSTR_FMT_IB }, + [BUILD_TUPLE] = { true, INSTR_FMT_IB }, + [BUILD_LIST] = { true, INSTR_FMT_IB }, + [LIST_EXTEND] = { true, INSTR_FMT_IB }, + [SET_UPDATE] = { true, INSTR_FMT_IB }, + [BUILD_SET] = { true, INSTR_FMT_IB }, + [BUILD_MAP] = { true, INSTR_FMT_IB }, + [SETUP_ANNOTATIONS] = { true, INSTR_FMT_IX }, + [BUILD_CONST_KEY_MAP] = { true, INSTR_FMT_IB }, + [DICT_UPDATE] = { true, INSTR_FMT_IB }, + [DICT_MERGE] = { true, INSTR_FMT_IB }, + [MAP_ADD] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_LOAD_SUPER_ATTR] = { true, INSTR_FMT_IBC00000000 }, + [LOAD_SUPER_ATTR] = { true, INSTR_FMT_IBC }, + [LOAD_SUPER_ATTR_ATTR] = { true, INSTR_FMT_IBC }, + [LOAD_SUPER_ATTR_METHOD] = { true, INSTR_FMT_IBC }, + [LOAD_ATTR] = { true, INSTR_FMT_IBC00000000 }, + [LOAD_ATTR_INSTANCE_VALUE] = { true, INSTR_FMT_IBC00000000 }, + [LOAD_ATTR_MODULE] = { true, INSTR_FMT_IBC00000000 }, + [LOAD_ATTR_WITH_HINT] = { true, INSTR_FMT_IBC00000000 }, + [LOAD_ATTR_SLOT] = { true, INSTR_FMT_IBC00000000 }, + [LOAD_ATTR_CLASS] = { true, INSTR_FMT_IBC00000000 }, + [LOAD_ATTR_PROPERTY] = { true, INSTR_FMT_IBC00000000 }, + [LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN] = { true, INSTR_FMT_IBC00000000 }, + [STORE_ATTR_INSTANCE_VALUE] = { true, INSTR_FMT_IXC000 }, + [STORE_ATTR_WITH_HINT] = { true, INSTR_FMT_IBC000 }, + [STORE_ATTR_SLOT] = { true, INSTR_FMT_IXC000 }, + [COMPARE_OP] = { true, INSTR_FMT_IBC }, + [COMPARE_OP_FLOAT] = { true, INSTR_FMT_IBC }, + [COMPARE_OP_INT] = { true, INSTR_FMT_IBC }, + [COMPARE_OP_STR] = { true, INSTR_FMT_IBC }, + [IS_OP] = { true, INSTR_FMT_IB }, + [CONTAINS_OP] = { true, INSTR_FMT_IB }, + [CHECK_EG_MATCH] = { true, INSTR_FMT_IX }, + [CHECK_EXC_MATCH] = { true, INSTR_FMT_IX }, + [IMPORT_NAME] = { true, INSTR_FMT_IB }, + [IMPORT_FROM] = { true, INSTR_FMT_IB }, + [JUMP_FORWARD] = { true, INSTR_FMT_IB }, + [JUMP_BACKWARD] = { true, INSTR_FMT_IB }, + [POP_JUMP_IF_FALSE] = { true, INSTR_FMT_IB }, + [POP_JUMP_IF_TRUE] = { true, INSTR_FMT_IB }, + [POP_JUMP_IF_NOT_NONE] = { true, INSTR_FMT_IB }, + [POP_JUMP_IF_NONE] = { true, INSTR_FMT_IB }, + [JUMP_BACKWARD_NO_INTERRUPT] = { true, INSTR_FMT_IB }, + [GET_LEN] = { true, INSTR_FMT_IX }, + [MATCH_CLASS] = { true, INSTR_FMT_IB }, + [MATCH_MAPPING] = { true, INSTR_FMT_IX }, + [MATCH_SEQUENCE] = { true, INSTR_FMT_IX }, + [MATCH_KEYS] = { true, INSTR_FMT_IX }, + [GET_ITER] = { true, INSTR_FMT_IX }, + [GET_YIELD_FROM_ITER] = { true, INSTR_FMT_IX }, + [FOR_ITER] = { true, INSTR_FMT_IBC }, + [INSTRUMENTED_FOR_ITER] = { true, INSTR_FMT_IB }, + [FOR_ITER_LIST] = { true, INSTR_FMT_IBC }, + [FOR_ITER_TUPLE] = { true, INSTR_FMT_IBC }, + [FOR_ITER_RANGE] = { true, INSTR_FMT_IBC }, + [FOR_ITER_GEN] = { true, INSTR_FMT_IBC }, + [BEFORE_ASYNC_WITH] = { true, INSTR_FMT_IX }, + [BEFORE_WITH] = { true, INSTR_FMT_IX }, + [WITH_EXCEPT_START] = { true, INSTR_FMT_IX }, + [PUSH_EXC_INFO] = { true, INSTR_FMT_IX }, + [LOAD_ATTR_METHOD_WITH_VALUES] = { true, INSTR_FMT_IBC00000000 }, + [LOAD_ATTR_METHOD_NO_DICT] = { true, INSTR_FMT_IBC00000000 }, + [LOAD_ATTR_METHOD_LAZY_DICT] = { true, INSTR_FMT_IBC00000000 }, + [KW_NAMES] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_CALL] = { true, INSTR_FMT_IB }, + [CALL] = { true, INSTR_FMT_IBC00 }, + [CALL_BOUND_METHOD_EXACT_ARGS] = { true, INSTR_FMT_IBC00 }, + [CALL_PY_EXACT_ARGS] = { true, INSTR_FMT_IBC00 }, + [CALL_PY_WITH_DEFAULTS] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_TYPE_1] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_STR_1] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_TUPLE_1] = { true, INSTR_FMT_IBC00 }, + [CALL_BUILTIN_CLASS] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_BUILTIN_O] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_BUILTIN_FAST] = { true, INSTR_FMT_IBC00 }, + [CALL_BUILTIN_FAST_WITH_KEYWORDS] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_LEN] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_ISINSTANCE] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_LIST_APPEND] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_METHOD_DESCRIPTOR_O] = { true, INSTR_FMT_IBC00 }, + [CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS] = { true, INSTR_FMT_IBC00 }, + [CALL_NO_KW_METHOD_DESCRIPTOR_FAST] = { true, INSTR_FMT_IBC00 }, + [INSTRUMENTED_CALL_FUNCTION_EX] = { true, INSTR_FMT_IX }, + [CALL_FUNCTION_EX] = { true, INSTR_FMT_IB }, + [MAKE_FUNCTION] = { true, INSTR_FMT_IB }, + [RETURN_GENERATOR] = { true, INSTR_FMT_IX }, + [BUILD_SLICE] = { true, INSTR_FMT_IB }, + [FORMAT_VALUE] = { true, INSTR_FMT_IB }, + [COPY] = { true, INSTR_FMT_IB }, + [BINARY_OP] = { true, INSTR_FMT_IBC }, + [SWAP] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_INSTRUCTION] = { true, INSTR_FMT_IX }, + [INSTRUMENTED_JUMP_FORWARD] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_JUMP_BACKWARD] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_POP_JUMP_IF_TRUE] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_POP_JUMP_IF_FALSE] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_POP_JUMP_IF_NONE] = { true, INSTR_FMT_IB }, + [INSTRUMENTED_POP_JUMP_IF_NOT_NONE] = { true, INSTR_FMT_IB }, + [EXTENDED_ARG] = { true, INSTR_FMT_IB }, + [CACHE] = { true, INSTR_FMT_IX }, + [RESERVED] = { true, INSTR_FMT_IX }, +}; +#endif diff --git a/contrib/tools/python3/src/Python/opcode_targets.h b/contrib/tools/python3/src/Python/opcode_targets.h index d37c1326247..3add0636271 100644 --- a/contrib/tools/python3/src/Python/opcode_targets.h +++ b/contrib/tools/python3/src/Python/opcode_targets.h @@ -2,92 +2,92 @@ static void *opcode_targets[256] = { &&TARGET_CACHE, &&TARGET_POP_TOP, &&TARGET_PUSH_NULL, - &&TARGET_BINARY_OP_ADAPTIVE, + &&TARGET_INTERPRETER_EXIT, + &&TARGET_END_FOR, + &&TARGET_END_SEND, &&TARGET_BINARY_OP_ADD_FLOAT, &&TARGET_BINARY_OP_ADD_INT, &&TARGET_BINARY_OP_ADD_UNICODE, - &&TARGET_BINARY_OP_INPLACE_ADD_UNICODE, - &&TARGET_BINARY_OP_MULTIPLY_FLOAT, &&TARGET_NOP, - &&TARGET_UNARY_POSITIVE, + &&TARGET_BINARY_OP_INPLACE_ADD_UNICODE, &&TARGET_UNARY_NEGATIVE, &&TARGET_UNARY_NOT, + &&TARGET_BINARY_OP_MULTIPLY_FLOAT, &&TARGET_BINARY_OP_MULTIPLY_INT, - &&TARGET_BINARY_OP_SUBTRACT_FLOAT, &&TARGET_UNARY_INVERT, + &&TARGET_BINARY_OP_SUBTRACT_FLOAT, + &&TARGET_RESERVED, &&TARGET_BINARY_OP_SUBTRACT_INT, - &&TARGET_BINARY_SUBSCR_ADAPTIVE, &&TARGET_BINARY_SUBSCR_DICT, &&TARGET_BINARY_SUBSCR_GETITEM, &&TARGET_BINARY_SUBSCR_LIST_INT, &&TARGET_BINARY_SUBSCR_TUPLE_INT, - &&TARGET_CALL_ADAPTIVE, &&TARGET_CALL_PY_EXACT_ARGS, &&TARGET_CALL_PY_WITH_DEFAULTS, &&TARGET_BINARY_SUBSCR, - &&TARGET_COMPARE_OP_ADAPTIVE, - &&TARGET_COMPARE_OP_FLOAT_JUMP, - &&TARGET_COMPARE_OP_INT_JUMP, - &&TARGET_COMPARE_OP_STR_JUMP, + &&TARGET_BINARY_SLICE, + &&TARGET_STORE_SLICE, + &&TARGET_CALL_BOUND_METHOD_EXACT_ARGS, + &&TARGET_CALL_BUILTIN_CLASS, &&TARGET_GET_LEN, &&TARGET_MATCH_MAPPING, &&TARGET_MATCH_SEQUENCE, &&TARGET_MATCH_KEYS, - &&TARGET_EXTENDED_ARG_QUICK, + &&TARGET_CALL_BUILTIN_FAST_WITH_KEYWORDS, &&TARGET_PUSH_EXC_INFO, &&TARGET_CHECK_EXC_MATCH, &&TARGET_CHECK_EG_MATCH, - &&TARGET_JUMP_BACKWARD_QUICK, - &&TARGET_LOAD_ATTR_ADAPTIVE, - &&TARGET_LOAD_ATTR_INSTANCE_VALUE, - &&TARGET_LOAD_ATTR_MODULE, - &&TARGET_LOAD_ATTR_SLOT, - &&TARGET_LOAD_ATTR_WITH_HINT, - &&TARGET_LOAD_CONST__LOAD_FAST, - &&TARGET_LOAD_FAST__LOAD_CONST, - &&TARGET_LOAD_FAST__LOAD_FAST, - &&TARGET_LOAD_GLOBAL_ADAPTIVE, - &&TARGET_LOAD_GLOBAL_BUILTIN, + &&TARGET_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS, + &&TARGET_CALL_NO_KW_BUILTIN_FAST, + &&TARGET_CALL_NO_KW_BUILTIN_O, + &&TARGET_CALL_NO_KW_ISINSTANCE, + &&TARGET_CALL_NO_KW_LEN, + &&TARGET_CALL_NO_KW_LIST_APPEND, + &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_FAST, + &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS, + &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_O, + &&TARGET_CALL_NO_KW_STR_1, + &&TARGET_CALL_NO_KW_TUPLE_1, &&TARGET_WITH_EXCEPT_START, &&TARGET_GET_AITER, &&TARGET_GET_ANEXT, &&TARGET_BEFORE_ASYNC_WITH, &&TARGET_BEFORE_WITH, &&TARGET_END_ASYNC_FOR, - &&TARGET_LOAD_GLOBAL_MODULE, - &&TARGET_LOAD_METHOD_ADAPTIVE, - &&TARGET_LOAD_METHOD_CLASS, - &&TARGET_LOAD_METHOD_MODULE, - &&TARGET_LOAD_METHOD_NO_DICT, + &&TARGET_CLEANUP_THROW, + &&TARGET_CALL_NO_KW_TYPE_1, + &&TARGET_COMPARE_OP_FLOAT, + &&TARGET_COMPARE_OP_INT, + &&TARGET_COMPARE_OP_STR, &&TARGET_STORE_SUBSCR, &&TARGET_DELETE_SUBSCR, - &&TARGET_LOAD_METHOD_WITH_DICT, - &&TARGET_LOAD_METHOD_WITH_VALUES, - &&TARGET_PRECALL_ADAPTIVE, - &&TARGET_PRECALL_BOUND_METHOD, - &&TARGET_PRECALL_BUILTIN_CLASS, - &&TARGET_PRECALL_BUILTIN_FAST_WITH_KEYWORDS, + &&TARGET_FOR_ITER_LIST, + &&TARGET_FOR_ITER_TUPLE, + &&TARGET_FOR_ITER_RANGE, + &&TARGET_FOR_ITER_GEN, + &&TARGET_LOAD_SUPER_ATTR_ATTR, + &&TARGET_LOAD_SUPER_ATTR_METHOD, &&TARGET_GET_ITER, &&TARGET_GET_YIELD_FROM_ITER, - &&TARGET_PRINT_EXPR, + &&TARGET_LOAD_ATTR_CLASS, &&TARGET_LOAD_BUILD_CLASS, - &&TARGET_PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS, - &&TARGET_PRECALL_NO_KW_BUILTIN_FAST, + &&TARGET_LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN, + &&TARGET_LOAD_ATTR_INSTANCE_VALUE, &&TARGET_LOAD_ASSERTION_ERROR, &&TARGET_RETURN_GENERATOR, - &&TARGET_PRECALL_NO_KW_BUILTIN_O, - &&TARGET_PRECALL_NO_KW_ISINSTANCE, - &&TARGET_PRECALL_NO_KW_LEN, - &&TARGET_PRECALL_NO_KW_LIST_APPEND, - &&TARGET_PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST, - &&TARGET_PRECALL_NO_KW_METHOD_DESCRIPTOR_NOARGS, - &&TARGET_LIST_TO_TUPLE, + &&TARGET_LOAD_ATTR_MODULE, + &&TARGET_LOAD_ATTR_PROPERTY, + &&TARGET_LOAD_ATTR_SLOT, + &&TARGET_LOAD_ATTR_WITH_HINT, + &&TARGET_LOAD_ATTR_METHOD_LAZY_DICT, + &&TARGET_LOAD_ATTR_METHOD_NO_DICT, + &&TARGET_LOAD_ATTR_METHOD_WITH_VALUES, &&TARGET_RETURN_VALUE, - &&TARGET_IMPORT_STAR, + &&TARGET_LOAD_CONST__LOAD_FAST, &&TARGET_SETUP_ANNOTATIONS, - &&TARGET_YIELD_VALUE, - &&TARGET_ASYNC_GEN_WRAP, - &&TARGET_PREP_RERAISE_STAR, + &&TARGET_LOAD_FAST__LOAD_CONST, + &&TARGET_LOAD_LOCALS, + &&TARGET_LOAD_FAST__LOAD_FAST, &&TARGET_POP_EXCEPT, &&TARGET_STORE_NAME, &&TARGET_DELETE_NAME, @@ -110,25 +110,25 @@ static void *opcode_targets[256] = { &&TARGET_IMPORT_NAME, &&TARGET_IMPORT_FROM, &&TARGET_JUMP_FORWARD, - &&TARGET_JUMP_IF_FALSE_OR_POP, - &&TARGET_JUMP_IF_TRUE_OR_POP, - &&TARGET_PRECALL_NO_KW_METHOD_DESCRIPTOR_O, - &&TARGET_POP_JUMP_FORWARD_IF_FALSE, - &&TARGET_POP_JUMP_FORWARD_IF_TRUE, + &&TARGET_LOAD_GLOBAL_BUILTIN, + &&TARGET_LOAD_GLOBAL_MODULE, + &&TARGET_STORE_ATTR_INSTANCE_VALUE, + &&TARGET_POP_JUMP_IF_FALSE, + &&TARGET_POP_JUMP_IF_TRUE, &&TARGET_LOAD_GLOBAL, &&TARGET_IS_OP, &&TARGET_CONTAINS_OP, &&TARGET_RERAISE, &&TARGET_COPY, - &&TARGET_PRECALL_NO_KW_STR_1, + &&TARGET_RETURN_CONST, &&TARGET_BINARY_OP, &&TARGET_SEND, &&TARGET_LOAD_FAST, &&TARGET_STORE_FAST, &&TARGET_DELETE_FAST, - &&TARGET_PRECALL_NO_KW_TUPLE_1, - &&TARGET_POP_JUMP_FORWARD_IF_NOT_NONE, - &&TARGET_POP_JUMP_FORWARD_IF_NONE, + &&TARGET_LOAD_FAST_CHECK, + &&TARGET_POP_JUMP_IF_NOT_NONE, + &&TARGET_POP_JUMP_IF_NONE, &&TARGET_RAISE_VARARGS, &&TARGET_GET_AWAITABLE, &&TARGET_MAKE_FUNCTION, @@ -140,48 +140,42 @@ static void *opcode_targets[256] = { &&TARGET_STORE_DEREF, &&TARGET_DELETE_DEREF, &&TARGET_JUMP_BACKWARD, - &&TARGET_PRECALL_NO_KW_TYPE_1, + &&TARGET_LOAD_SUPER_ATTR, &&TARGET_CALL_FUNCTION_EX, - &&TARGET_PRECALL_PYFUNC, + &&TARGET_LOAD_FAST_AND_CLEAR, &&TARGET_EXTENDED_ARG, &&TARGET_LIST_APPEND, &&TARGET_SET_ADD, &&TARGET_MAP_ADD, - &&TARGET_LOAD_CLASSDEREF, + &&TARGET_STORE_ATTR_SLOT, &&TARGET_COPY_FREE_VARS, - &&TARGET_RESUME_QUICK, + &&TARGET_YIELD_VALUE, &&TARGET_RESUME, &&TARGET_MATCH_CLASS, - &&TARGET_STORE_ATTR_ADAPTIVE, - &&TARGET_STORE_ATTR_INSTANCE_VALUE, + &&TARGET_STORE_ATTR_WITH_HINT, + &&TARGET_STORE_FAST__LOAD_FAST, &&TARGET_FORMAT_VALUE, &&TARGET_BUILD_CONST_KEY_MAP, &&TARGET_BUILD_STRING, - &&TARGET_STORE_ATTR_SLOT, - &&TARGET_STORE_ATTR_WITH_HINT, - &&TARGET_LOAD_METHOD, - &&TARGET_STORE_FAST__LOAD_FAST, - &&TARGET_LIST_EXTEND, - &&TARGET_SET_UPDATE, - &&TARGET_DICT_MERGE, - &&TARGET_DICT_UPDATE, - &&TARGET_PRECALL, &&TARGET_STORE_FAST__STORE_FAST, - &&TARGET_STORE_SUBSCR_ADAPTIVE, &&TARGET_STORE_SUBSCR_DICT, &&TARGET_STORE_SUBSCR_LIST_INT, - &&TARGET_CALL, - &&TARGET_KW_NAMES, - &&TARGET_POP_JUMP_BACKWARD_IF_NOT_NONE, - &&TARGET_POP_JUMP_BACKWARD_IF_NONE, - &&TARGET_POP_JUMP_BACKWARD_IF_FALSE, - &&TARGET_POP_JUMP_BACKWARD_IF_TRUE, - &&TARGET_UNPACK_SEQUENCE_ADAPTIVE, &&TARGET_UNPACK_SEQUENCE_LIST, + &&TARGET_LIST_EXTEND, + &&TARGET_SET_UPDATE, + &&TARGET_DICT_MERGE, + &&TARGET_DICT_UPDATE, &&TARGET_UNPACK_SEQUENCE_TUPLE, &&TARGET_UNPACK_SEQUENCE_TWO_TUPLE, + &&TARGET_SEND_GEN, &&_unknown_opcode, &&_unknown_opcode, + &&TARGET_CALL, + &&TARGET_KW_NAMES, + &&TARGET_CALL_INTRINSIC_1, + &&TARGET_CALL_INTRINSIC_2, + &&TARGET_LOAD_FROM_DICT_OR_GLOBALS, + &&TARGET_LOAD_FROM_DICT_OR_DEREF, &&_unknown_opcode, &&_unknown_opcode, &&_unknown_opcode, @@ -242,17 +236,23 @@ static void *opcode_targets[256] = { &&_unknown_opcode, &&_unknown_opcode, &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&_unknown_opcode, - &&TARGET_DO_TRACING + &&TARGET_INSTRUMENTED_LOAD_SUPER_ATTR, + &&TARGET_INSTRUMENTED_POP_JUMP_IF_NONE, + &&TARGET_INSTRUMENTED_POP_JUMP_IF_NOT_NONE, + &&TARGET_INSTRUMENTED_RESUME, + &&TARGET_INSTRUMENTED_CALL, + &&TARGET_INSTRUMENTED_RETURN_VALUE, + &&TARGET_INSTRUMENTED_YIELD_VALUE, + &&TARGET_INSTRUMENTED_CALL_FUNCTION_EX, + &&TARGET_INSTRUMENTED_JUMP_FORWARD, + &&TARGET_INSTRUMENTED_JUMP_BACKWARD, + &&TARGET_INSTRUMENTED_RETURN_CONST, + &&TARGET_INSTRUMENTED_FOR_ITER, + &&TARGET_INSTRUMENTED_POP_JUMP_IF_FALSE, + &&TARGET_INSTRUMENTED_POP_JUMP_IF_TRUE, + &&TARGET_INSTRUMENTED_END_FOR, + &&TARGET_INSTRUMENTED_END_SEND, + &&TARGET_INSTRUMENTED_INSTRUCTION, + &&TARGET_INSTRUMENTED_LINE, + &&_unknown_opcode }; diff --git a/contrib/tools/python3/src/Python/perf_trampoline.c b/contrib/tools/python3/src/Python/perf_trampoline.c new file mode 100644 index 00000000000..ea9dc83dd0f --- /dev/null +++ b/contrib/tools/python3/src/Python/perf_trampoline.c @@ -0,0 +1,493 @@ +/* + +Perf trampoline instrumentation +=============================== + +This file contains instrumentation to allow to associate +calls to the CPython eval loop back to the names of the Python +functions and filename being executed. + +Many native performance profilers like the Linux perf tools are +only available to 'see' the C stack when sampling from the profiled +process. This means that if we have the following python code: + + import time + def foo(n): + # Some CPU intensive code + + def bar(n): + foo(n) + + def baz(n): + bar(n) + + baz(10000000) + +A performance profiler that is only able to see native frames will +produce the following backtrace when sampling from foo(): + + _PyEval_EvalFrameDefault -----> Evaluation frame of foo() + _PyEval_Vector + _PyFunction_Vectorcall + PyObject_Vectorcall + call_function + + _PyEval_EvalFrameDefault ------> Evaluation frame of bar() + _PyEval_EvalFrame + _PyEval_Vector + _PyFunction_Vectorcall + PyObject_Vectorcall + call_function + + _PyEval_EvalFrameDefault -------> Evaluation frame of baz() + _PyEval_EvalFrame + _PyEval_Vector + _PyFunction_Vectorcall + PyObject_Vectorcall + call_function + + ... + + Py_RunMain + +Because the profiler is only able to see the native frames and the native +function that runs the evaluation loop is the same (_PyEval_EvalFrameDefault) +then the profiler and any reporter generated by it will not be able to +associate the names of the Python functions and the filenames associated with +those calls, rendering the results useless in the Python world. + +To fix this problem, we introduce the concept of a trampoline frame. A +trampoline frame is a piece of code that is unique per Python code object that +is executed before entering the CPython eval loop. This piece of code just +calls the original Python evaluation function (_PyEval_EvalFrameDefault) and +forwards all the arguments received. In this way, when a profiler samples +frames from the previous example it will see; + + _PyEval_EvalFrameDefault -----> Evaluation frame of foo() + [Jit compiled code 3] + _PyEval_Vector + _PyFunction_Vectorcall + PyObject_Vectorcall + call_function + + _PyEval_EvalFrameDefault ------> Evaluation frame of bar() + [Jit compiled code 2] + _PyEval_EvalFrame + _PyEval_Vector + _PyFunction_Vectorcall + PyObject_Vectorcall + call_function + + _PyEval_EvalFrameDefault -------> Evaluation frame of baz() + [Jit compiled code 1] + _PyEval_EvalFrame + _PyEval_Vector + _PyFunction_Vectorcall + PyObject_Vectorcall + call_function + + ... + + Py_RunMain + +When we generate every unique copy of the trampoline (what here we called "[Jit +compiled code N]") we write the relationship between the compiled code and the +Python function that is associated with it. Every profiler requires this +information in a different format. For example, the Linux "perf" profiler +requires a file in "/tmp/perf-PID.map" (name and location not configurable) +with the following format: + + + +If this file is available when "perf" generates reports, it will automatically +associate every trampoline with the Python function that it is associated with +allowing it to generate reports that include Python information. These reports +then can also be filtered in a way that *only* Python information appears. + +Notice that for this to work, there must be a unique copied of the trampoline +per Python code object even if the code in the trampoline is the same. To +achieve this we have a assembly template in Objects/asm_trampiline.S that is +compiled into the Python executable/shared library. This template generates a +symbol that maps the start of the assembly code and another that marks the end +of the assembly code for the trampoline. Then, every time we need a unique +trampoline for a Python code object, we copy the assembly code into a mmaped +area that has executable permissions and we return the start of that area as +our trampoline function. + +Asking for a mmap-ed memory area for trampoline is very wasteful so we +allocate big arenas of memory in a single mmap call, we populate the entire +arena with copies of the trampoline (this allows us to now have to invalidate +the icache for the instructions in the page) and then we return the next +available chunk every time someone asks for a new trampoline. We keep a linked +list of arenas in case the current memory arena is exhausted and another one is +needed. + +For the best results, Python should be compiled with +CFLAGS="-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" as this allows +profilers to unwind using only the frame pointer and not on DWARF debug +information (note that as trampilines are dynamically generated there won't be +any DWARF information available for them). +*/ + +#include "Python.h" +#include "pycore_ceval.h" +#include "pycore_frame.h" +#include "pycore_interp.h" + + +#ifdef PY_HAVE_PERF_TRAMPOLINE + +#include +#include +#include +#include +#include +#include + +#if defined(__arm__) || defined(__arm64__) || defined(__aarch64__) +#define PY_HAVE_INVALIDATE_ICACHE + +#if defined(__clang__) || defined(__GNUC__) +extern void __clear_cache(void *, void*); +#endif + +static void invalidate_icache(char* begin, char*end) { +#if defined(__clang__) || defined(__GNUC__) + return __clear_cache(begin, end); +#else + return; +#endif +} +#endif + +/* The function pointer is passed as last argument. The other three arguments + * are passed in the same order as the function requires. This results in + * shorter, more efficient ASM code for trampoline. + */ +typedef PyObject *(*py_evaluator)(PyThreadState *, _PyInterpreterFrame *, + int throwflag); +typedef PyObject *(*py_trampoline)(PyThreadState *, _PyInterpreterFrame *, int, + py_evaluator); + +extern void *_Py_trampoline_func_start; // Start of the template of the + // assembly trampoline +extern void * + _Py_trampoline_func_end; // End of the template of the assembly trampoline + +struct code_arena_st { + char *start_addr; // Start of the memory arena + char *current_addr; // Address of the current trampoline within the arena + size_t size; // Size of the memory arena + size_t size_left; // Remaining size of the memory arena + size_t code_size; // Size of the code of every trampoline in the arena + struct code_arena_st + *prev; // Pointer to the arena or NULL if this is the first arena. +}; + +typedef struct code_arena_st code_arena_t; +typedef struct trampoline_api_st trampoline_api_t; + +#define perf_status _PyRuntime.ceval.perf.status +#define extra_code_index _PyRuntime.ceval.perf.extra_code_index +#define perf_code_arena _PyRuntime.ceval.perf.code_arena +#define trampoline_api _PyRuntime.ceval.perf.trampoline_api +#define perf_map_file _PyRuntime.ceval.perf.map_file + + +static void +perf_map_write_entry(void *state, const void *code_addr, + unsigned int code_size, PyCodeObject *co) +{ + const char *entry = ""; + if (co->co_qualname != NULL) { + entry = PyUnicode_AsUTF8(co->co_qualname); + } + const char *filename = ""; + if (co->co_filename != NULL) { + filename = PyUnicode_AsUTF8(co->co_filename); + } + size_t perf_map_entry_size = snprintf(NULL, 0, "py::%s:%s", entry, filename) + 1; + char* perf_map_entry = (char*) PyMem_RawMalloc(perf_map_entry_size); + if (perf_map_entry == NULL) { + return; + } + snprintf(perf_map_entry, perf_map_entry_size, "py::%s:%s", entry, filename); + PyUnstable_WritePerfMapEntry(code_addr, code_size, perf_map_entry); + PyMem_RawFree(perf_map_entry); +} + +static void* +perf_map_init_state(void) +{ + PyUnstable_PerfMapState_Init(); + return NULL; +} + +static int +perf_map_free_state(void *state) +{ + PyUnstable_PerfMapState_Fini(); + return 0; +} + +_PyPerf_Callbacks _Py_perfmap_callbacks = { + &perf_map_init_state, + &perf_map_write_entry, + &perf_map_free_state, +}; + +static int +new_code_arena(void) +{ + // non-trivial programs typically need 64 to 256 kiB. + size_t mem_size = 4096 * 16; + assert(mem_size % sysconf(_SC_PAGESIZE) == 0); + char *memory = + mmap(NULL, // address + mem_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, + -1, // fd (not used here) + 0); // offset (not used here) + if (memory == MAP_FAILED) { + PyErr_SetFromErrno(PyExc_OSError); + _PyErr_WriteUnraisableMsg( + "Failed to create new mmap for perf trampoline", NULL); + perf_status = PERF_STATUS_FAILED; + return -1; + } + void *start = &_Py_trampoline_func_start; + void *end = &_Py_trampoline_func_end; + size_t code_size = end - start; + // TODO: Check the effect of alignment of the code chunks. Initial investigation + // showed that this has no effect on performance in x86-64 or aarch64 and the current + // version has the advantage that the unwinder in GDB can unwind across JIT-ed code. + // + // We should check the values in the future and see if there is a + // measurable performance improvement by rounding trampolines up to 32-bit + // or 64-bit alignment. + + size_t n_copies = mem_size / code_size; + for (size_t i = 0; i < n_copies; i++) { + memcpy(memory + i * code_size, start, code_size * sizeof(char)); + } + // Some systems may prevent us from creating executable code on the fly. + int res = mprotect(memory, mem_size, PROT_READ | PROT_EXEC); + if (res == -1) { + PyErr_SetFromErrno(PyExc_OSError); + munmap(memory, mem_size); + _PyErr_WriteUnraisableMsg( + "Failed to set mmap for perf trampoline to PROT_READ | PROT_EXEC", + NULL); + return -1; + } + +#ifdef PY_HAVE_INVALIDATE_ICACHE + // Before the JIT can run a block of code that has been emitted it must invalidate + // the instruction cache on some platforms like arm and aarch64. + invalidate_icache(memory, memory + mem_size); +#endif + + code_arena_t *new_arena = PyMem_RawCalloc(1, sizeof(code_arena_t)); + if (new_arena == NULL) { + PyErr_NoMemory(); + munmap(memory, mem_size); + _PyErr_WriteUnraisableMsg("Failed to allocate new code arena struct", + NULL); + return -1; + } + + new_arena->start_addr = memory; + new_arena->current_addr = memory; + new_arena->size = mem_size; + new_arena->size_left = mem_size; + new_arena->code_size = code_size; + new_arena->prev = perf_code_arena; + perf_code_arena = new_arena; + return 0; +} + +static void +free_code_arenas(void) +{ + code_arena_t *cur = perf_code_arena; + code_arena_t *prev; + perf_code_arena = NULL; // invalid static pointer + while (cur) { + munmap(cur->start_addr, cur->size); + prev = cur->prev; + PyMem_RawFree(cur); + cur = prev; + } +} + +static inline py_trampoline +code_arena_new_code(code_arena_t *code_arena) +{ + py_trampoline trampoline = (py_trampoline)code_arena->current_addr; + code_arena->size_left -= code_arena->code_size; + code_arena->current_addr += code_arena->code_size; + return trampoline; +} + +static inline py_trampoline +compile_trampoline(void) +{ + if ((perf_code_arena == NULL) || + (perf_code_arena->size_left <= perf_code_arena->code_size)) { + if (new_code_arena() < 0) { + return NULL; + } + } + assert(perf_code_arena->size_left <= perf_code_arena->size); + return code_arena_new_code(perf_code_arena); +} + +static PyObject * +py_trampoline_evaluator(PyThreadState *ts, _PyInterpreterFrame *frame, + int throw) +{ + if (perf_status == PERF_STATUS_FAILED || + perf_status == PERF_STATUS_NO_INIT) { + goto default_eval; + } + PyCodeObject *co = frame->f_code; + py_trampoline f = NULL; + assert(extra_code_index != -1); + int ret = _PyCode_GetExtra((PyObject *)co, extra_code_index, (void **)&f); + if (ret != 0 || f == NULL) { + // This is the first time we see this code object so we need + // to compile a trampoline for it. + py_trampoline new_trampoline = compile_trampoline(); + if (new_trampoline == NULL) { + goto default_eval; + } + trampoline_api.write_state(trampoline_api.state, new_trampoline, + perf_code_arena->code_size, co); + _PyCode_SetExtra((PyObject *)co, extra_code_index, + (void *)new_trampoline); + f = new_trampoline; + } + assert(f != NULL); + return f(ts, frame, throw, _PyEval_EvalFrameDefault); +default_eval: + // Something failed, fall back to the default evaluator. + return _PyEval_EvalFrameDefault(ts, frame, throw); +} +#endif // PY_HAVE_PERF_TRAMPOLINE + +int +_PyIsPerfTrampolineActive(void) +{ +#ifdef PY_HAVE_PERF_TRAMPOLINE + PyThreadState *tstate = _PyThreadState_GET(); + return tstate->interp->eval_frame == py_trampoline_evaluator; +#endif + return 0; +} + +void +_PyPerfTrampoline_GetCallbacks(_PyPerf_Callbacks *callbacks) +{ + if (callbacks == NULL) { + return; + } +#ifdef PY_HAVE_PERF_TRAMPOLINE + callbacks->init_state = trampoline_api.init_state; + callbacks->write_state = trampoline_api.write_state; + callbacks->free_state = trampoline_api.free_state; +#endif + return; +} + +int +_PyPerfTrampoline_SetCallbacks(_PyPerf_Callbacks *callbacks) +{ + if (callbacks == NULL) { + return -1; + } +#ifdef PY_HAVE_PERF_TRAMPOLINE + if (trampoline_api.state) { + _PyPerfTrampoline_Fini(); + } + trampoline_api.init_state = callbacks->init_state; + trampoline_api.write_state = callbacks->write_state; + trampoline_api.free_state = callbacks->free_state; + trampoline_api.state = NULL; +#endif + return 0; +} + +void _PyPerfTrampoline_FreeArenas(void) { +#ifdef PY_HAVE_PERF_TRAMPOLINE + free_code_arenas(); +#endif + return; +} + +int +_PyPerfTrampoline_Init(int activate) +{ +#ifdef PY_HAVE_PERF_TRAMPOLINE + PyThreadState *tstate = _PyThreadState_GET(); + if (tstate->interp->eval_frame && + tstate->interp->eval_frame != py_trampoline_evaluator) { + PyErr_SetString(PyExc_RuntimeError, + "Trampoline cannot be initialized as a custom eval " + "frame is already present"); + return -1; + } + if (!activate) { + tstate->interp->eval_frame = NULL; + perf_status = PERF_STATUS_NO_INIT; + } + else { + tstate->interp->eval_frame = py_trampoline_evaluator; + if (new_code_arena() < 0) { + return -1; + } + extra_code_index = _PyEval_RequestCodeExtraIndex(NULL); + if (extra_code_index == -1) { + return -1; + } + if (trampoline_api.state == NULL && trampoline_api.init_state != NULL) { + trampoline_api.state = trampoline_api.init_state(); + } + perf_status = PERF_STATUS_OK; + } +#endif + return 0; +} + +int +_PyPerfTrampoline_Fini(void) +{ +#ifdef PY_HAVE_PERF_TRAMPOLINE + if (perf_status != PERF_STATUS_OK) { + return 0; + } + PyThreadState *tstate = _PyThreadState_GET(); + if (tstate->interp->eval_frame == py_trampoline_evaluator) { + tstate->interp->eval_frame = NULL; + } + if (perf_status == PERF_STATUS_OK) { + trampoline_api.free_state(trampoline_api.state); + } + extra_code_index = -1; + perf_status = PERF_STATUS_NO_INIT; +#endif + return 0; +} + +PyStatus +_PyPerfTrampoline_AfterFork_Child(void) +{ +#ifdef PY_HAVE_PERF_TRAMPOLINE + // Restart trampoline in file in child. + int was_active = _PyIsPerfTrampolineActive(); + _PyPerfTrampoline_Fini(); + PyUnstable_PerfMapState_Fini(); + if (was_active) { + _PyPerfTrampoline_Init(1); + } +#endif + return PyStatus_Ok(); +} diff --git a/contrib/tools/python3/src/Python/preconfig.c b/contrib/tools/python3/src/Python/preconfig.c index 0deb07a893d..77a86d651eb 100644 --- a/contrib/tools/python3/src/Python/preconfig.c +++ b/contrib/tools/python3/src/Python/preconfig.c @@ -24,6 +24,8 @@ int _Py_HasFileSystemDefaultEncodeErrors = 0; void _Py_ClearFileSystemEncoding(void) { +_Py_COMP_DIAG_PUSH +_Py_COMP_DIAG_IGNORE_DEPR_DECLS if (!Py_HasFileSystemDefaultEncoding && Py_FileSystemDefaultEncoding) { PyMem_RawFree((char*)Py_FileSystemDefaultEncoding); Py_FileSystemDefaultEncoding = NULL; @@ -32,6 +34,7 @@ _Py_ClearFileSystemEncoding(void) PyMem_RawFree((char*)Py_FileSystemDefaultEncodeErrors); Py_FileSystemDefaultEncodeErrors = NULL; } +_Py_COMP_DIAG_POP } @@ -56,11 +59,14 @@ _Py_SetFileSystemEncoding(const char *encoding, const char *errors) _Py_ClearFileSystemEncoding(); +_Py_COMP_DIAG_PUSH +_Py_COMP_DIAG_IGNORE_DEPR_DECLS Py_FileSystemDefaultEncoding = encoding2; Py_HasFileSystemDefaultEncoding = 0; Py_FileSystemDefaultEncodeErrors = errors2; _Py_HasFileSystemDefaultEncodeErrors = 0; +_Py_COMP_DIAG_POP return 0; } @@ -472,6 +478,8 @@ preconfig_get_global_vars(PyPreConfig *config) config->ATTR = !(VALUE); \ } +_Py_COMP_DIAG_PUSH +_Py_COMP_DIAG_IGNORE_DEPR_DECLS COPY_FLAG(isolated, Py_IsolatedFlag); COPY_NOT_FLAG(use_environment, Py_IgnoreEnvironmentFlag); if (Py_UTF8Mode > 0) { @@ -480,6 +488,7 @@ preconfig_get_global_vars(PyPreConfig *config) #ifdef MS_WINDOWS COPY_FLAG(legacy_windows_fs_encoding, Py_LegacyWindowsFSEncodingFlag); #endif +_Py_COMP_DIAG_POP #undef COPY_FLAG #undef COPY_NOT_FLAG @@ -498,12 +507,15 @@ preconfig_set_global_vars(const PyPreConfig *config) VAR = !config->ATTR; \ } +_Py_COMP_DIAG_PUSH +_Py_COMP_DIAG_IGNORE_DEPR_DECLS COPY_FLAG(isolated, Py_IsolatedFlag); COPY_NOT_FLAG(use_environment, Py_IgnoreEnvironmentFlag); #ifdef MS_WINDOWS COPY_FLAG(legacy_windows_fs_encoding, Py_LegacyWindowsFSEncodingFlag); #endif COPY_FLAG(utf8_mode, Py_UTF8Mode); +_Py_COMP_DIAG_POP #undef COPY_FLAG #undef COPY_NOT_FLAG @@ -816,12 +828,10 @@ _PyPreConfig_Read(PyPreConfig *config, const _PyArgv *args) _Py_SetLocaleFromEnv(LC_CTYPE); } - _PyPreCmdline cmdline = _PyPreCmdline_INIT; - int init_utf8_mode = Py_UTF8Mode; -#ifdef MS_WINDOWS - int init_legacy_encoding = Py_LegacyWindowsFSEncodingFlag; -#endif + PyPreConfig save_runtime_config; + preconfig_copy(&save_runtime_config, &_PyRuntime.preconfig); + _PyPreCmdline cmdline = _PyPreCmdline_INIT; int locale_coerced = 0; int loops = 0; @@ -837,11 +847,9 @@ _PyPreConfig_Read(PyPreConfig *config, const _PyArgv *args) } /* bpo-34207: Py_DecodeLocale() and Py_EncodeLocale() depend - on Py_UTF8Mode and Py_LegacyWindowsFSEncodingFlag. */ - Py_UTF8Mode = config->utf8_mode; -#ifdef MS_WINDOWS - Py_LegacyWindowsFSEncodingFlag = config->legacy_windows_fs_encoding; -#endif + on the utf8_mode and legacy_windows_fs_encoding members + of _PyRuntime.preconfig. */ + preconfig_copy(&_PyRuntime.preconfig, config); if (args) { // Set command line arguments at each iteration. If they are bytes @@ -904,14 +912,10 @@ _PyPreConfig_Read(PyPreConfig *config, const _PyArgv *args) status = _PyStatus_OK(); done: - if (init_ctype_locale != NULL) { - setlocale(LC_CTYPE, init_ctype_locale); - PyMem_RawFree(init_ctype_locale); - } - Py_UTF8Mode = init_utf8_mode ; -#ifdef MS_WINDOWS - Py_LegacyWindowsFSEncodingFlag = init_legacy_encoding; -#endif + // Revert side effects + setlocale(LC_CTYPE, init_ctype_locale); + PyMem_RawFree(init_ctype_locale); + preconfig_copy(&_PyRuntime.preconfig, &save_runtime_config); _PyPreCmdline_Clear(&cmdline); return status; } diff --git a/contrib/tools/python3/src/Python/pylifecycle.c b/contrib/tools/python3/src/Python/pylifecycle.c index 4a6787d36de..a0130fde15d 100644 --- a/contrib/tools/python3/src/Python/pylifecycle.c +++ b/contrib/tools/python3/src/Python/pylifecycle.c @@ -2,7 +2,6 @@ #include "Python.h" -#include "pycore_bytesobject.h" // _PyBytes_InitTypes() #include "pycore_ceval.h" // _PyEval_FiniGIL() #include "pycore_context.h" // _PyContext_Init() #include "pycore_exceptions.h" // _PyExc_InitTypes() @@ -10,6 +9,7 @@ #include "pycore_fileutils.h" // _Py_ResetForceASCII() #include "pycore_floatobject.h" // _PyFloat_InitTypes() #include "pycore_genobject.h" // _PyAsyncGen_Fini() +#include "pycore_global_objects_fini_generated.h" // "_PyStaticObjects_CheckRefcnt() #include "pycore_import.h" // _PyImport_BootstrapImp() #include "pycore_initconfig.h" // _PyStatus_OK() #include "pycore_list.h" // _PyList_Fini() @@ -25,11 +25,10 @@ #include "pycore_sliceobject.h" // _PySlice_Fini() #include "pycore_sysmodule.h" // _PySys_ClearAuditHooks() #include "pycore_traceback.h" // _Py_DumpTracebackThreads() -#include "pycore_tuple.h" // _PyTuple_InitTypes() #include "pycore_typeobject.h" // _PyTypes_InitTypes() +#include "pycore_typevarobject.h" // _Py_clear_generic_types() #include "pycore_unicodeobject.h" // _PyUnicode_InitTypes() - -extern void _PyIO_Fini(void); +#include "opcode.h" #include // setlocale() #include // getenv() @@ -52,11 +51,6 @@ extern void _PyIO_Fini(void); #ifdef MS_WINDOWS # undef BYTE -# include "windows.h" - - extern PyTypeObject PyWindowsConsoleIO_Type; -# define PyWindowsConsoleIO_Check(op) \ - (PyObject_TypeCheck((op), &PyWindowsConsoleIO_Type)) #endif #define PUTS(fd, str) _Py_write_noraise(fd, str, (int)strlen(str)) @@ -75,8 +69,6 @@ static PyStatus init_sys_streams(PyThreadState *tstate); static void wait_for_thread_shutdown(PyThreadState *tstate); static void call_ll_exitfuncs(_PyRuntimeState *runtime); -int _Py_UnhandledKeyboardInterrupt = 0; - /* The following places the `_PyRuntime` structure in a location that can be * found without any external information. This is meant to ease access to the * interpreter state for various runtime debugging tools, but is *not* an @@ -103,7 +95,7 @@ _PyRuntimeState _PyRuntime #if defined(__linux__) && (defined(__GNUC__) || defined(__clang__)) __attribute__ ((section (".PyRuntime"))) #endif -= _PyRuntimeState_INIT; += _PyRuntimeState_INIT(_PyRuntime); _Py_COMP_DIAG_POP static int runtime_initialized = 0; @@ -161,87 +153,6 @@ Py_IsInitialized(void) } -/* Global initializations. Can be undone by Py_FinalizeEx(). Don't - call this twice without an intervening Py_FinalizeEx() 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 -init_importlib(PyThreadState *tstate, PyObject *sysmod) -{ - assert(!_PyErr_Occurred(tstate)); - - PyInterpreterState *interp = tstate->interp; - int verbose = _PyInterpreterState_GetConfig(interp)->verbose; - - // Import _importlib through its frozen version, _frozen_importlib. - if (verbose) { - PySys_FormatStderr("import _frozen_importlib # frozen\n"); - } - if (PyImport_ImportFrozenModule("_frozen_importlib") <= 0) { - return -1; - } - PyObject *importlib = PyImport_AddModule("_frozen_importlib"); // borrowed - if (importlib == NULL) { - return -1; - } - interp->importlib = Py_NewRef(importlib); - - // Import the _imp module - if (verbose) { - PySys_FormatStderr("import _imp # builtin\n"); - } - PyObject *imp_mod = _PyImport_BootstrapImp(tstate); - if (imp_mod == NULL) { - return -1; - } - if (_PyImport_SetModuleString("_imp", imp_mod) < 0) { - Py_DECREF(imp_mod); - return -1; - } - - // Install importlib as the implementation of import - PyObject *value = PyObject_CallMethod(importlib, "_install", - "OO", sysmod, imp_mod); - Py_DECREF(imp_mod); - if (value == NULL) { - return -1; - } - Py_DECREF(value); - - assert(!_PyErr_Occurred(tstate)); - return 0; -} - - -static PyStatus -init_importlib_external(PyThreadState *tstate) -{ - PyObject *value; - value = PyObject_CallMethod(tstate->interp->importlib, - "_install_external_importers", ""); - if (value == NULL) { - _PyErr_Print(tstate); - return _PyStatus_ERR("external importer setup failed"); - } - Py_DECREF(value); - - value = PyImport_ImportModule("__res"); - if (value == NULL) { - PyErr_Print(); - return _PyStatus_ERR("can't import __res"); - } - Py_DECREF(value); - - return _PyImportZip_Init(tstate); -} - /* Helper functions to better handle the legacy C locale * * The legacy C locale assumes ASCII as the default text encoding, which @@ -489,6 +400,8 @@ interpreter_update_config(PyThreadState *tstate, int only_update_path_config) } } + tstate->interp->long_state.max_str_digits = config->int_max_str_digits; + // Update the sys module for the new configuration if (_PySys_UpdateConfig(tstate) < 0) { return -1; @@ -605,11 +518,23 @@ pycore_init_runtime(_PyRuntimeState *runtime, */ _PyRuntimeState_SetFinalizing(runtime, NULL); + _Py_InitVersion(); + status = _Py_HashRandomization_Init(config); if (_PyStatus_EXCEPTION(status)) { return status; } + status = _PyTime_Init(); + if (_PyStatus_EXCEPTION(status)) { + return status; + } + + status = _PyImport_Init(); + if (_PyStatus_EXCEPTION(status)) { + return status; + } + status = _PyInterpreterState_Enable(runtime); if (_PyStatus_EXCEPTION(status)) { return status; @@ -619,12 +544,54 @@ pycore_init_runtime(_PyRuntimeState *runtime, static PyStatus -init_interp_create_gil(PyThreadState *tstate) +init_interp_settings(PyInterpreterState *interp, + const PyInterpreterConfig *config) +{ + assert(interp->feature_flags == 0); + + if (config->use_main_obmalloc) { + interp->feature_flags |= Py_RTFLAGS_USE_MAIN_OBMALLOC; + } + else if (!config->check_multi_interp_extensions) { + /* The reason: PyModuleDef.m_base.m_copy leaks objects between + interpreters. */ + return _PyStatus_ERR("per-interpreter obmalloc does not support " + "single-phase init extension modules"); + } + + if (config->allow_fork) { + interp->feature_flags |= Py_RTFLAGS_FORK; + } + if (config->allow_exec) { + interp->feature_flags |= Py_RTFLAGS_EXEC; + } + // Note that fork+exec is always allowed. + + if (config->allow_threads) { + interp->feature_flags |= Py_RTFLAGS_THREADS; + } + if (config->allow_daemon_threads) { + interp->feature_flags |= Py_RTFLAGS_DAEMON_THREADS; + } + + if (config->check_multi_interp_extensions) { + interp->feature_flags |= Py_RTFLAGS_MULTI_INTERP_EXTENSIONS; + } + + /* We check "gil" in init_interp_create_gil(). */ + + return _PyStatus_OK(); +} + + +static PyStatus +init_interp_create_gil(PyThreadState *tstate, int gil) { PyStatus status; /* finalize_interp_delete() comment explains why _PyEval_FiniGIL() is only called here. */ + // XXX This is broken with a per-interpreter GIL. _PyEval_FiniGIL(tstate->interp); /* Auto-thread-state API */ @@ -633,8 +600,17 @@ init_interp_create_gil(PyThreadState *tstate) return status; } + int own_gil; + switch (gil) { + case PyInterpreterConfig_DEFAULT_GIL: own_gil = 0; break; + case PyInterpreterConfig_SHARED_GIL: own_gil = 0; break; + case PyInterpreterConfig_OWN_GIL: own_gil = 1; break; + default: + return _PyStatus_ERR("invalid interpreter config 'gil' value"); + } + /* Create the GIL and take it */ - status = _PyEval_InitGIL(tstate); + status = _PyEval_InitGIL(tstate, own_gil); if (_PyStatus_EXCEPTION(status)) { return status; } @@ -645,33 +621,44 @@ init_interp_create_gil(PyThreadState *tstate) static PyStatus pycore_create_interpreter(_PyRuntimeState *runtime, - const PyConfig *config, + const PyConfig *src_config, PyThreadState **tstate_p) { - /* Auto-thread-state API */ - PyStatus status = _PyGILState_Init(runtime); - if (_PyStatus_EXCEPTION(status)) { - return status; - } - + PyStatus status; PyInterpreterState *interp = PyInterpreterState_New(); if (interp == NULL) { return _PyStatus_ERR("can't make main interpreter"); } assert(_Py_IsMainInterpreter(interp)); - status = _PyConfig_Copy(&interp->config, config); + status = _PyConfig_Copy(&interp->config, src_config); + if (_PyStatus_EXCEPTION(status)) { + return status; + } + + /* Auto-thread-state API */ + status = _PyGILState_Init(interp); if (_PyStatus_EXCEPTION(status)) { return status; } - PyThreadState *tstate = PyThreadState_New(interp); + PyInterpreterConfig config = _PyInterpreterConfig_LEGACY_INIT; + // The main interpreter always has its own GIL. + config.gil = PyInterpreterConfig_OWN_GIL; + status = init_interp_settings(interp, &config); + if (_PyStatus_EXCEPTION(status)) { + return status; + } + + PyThreadState *tstate = _PyThreadState_New(interp); if (tstate == NULL) { return _PyStatus_ERR("can't make first thread"); } - (void) PyThreadState_Swap(tstate); + _PyThreadState_Bind(tstate); + // XXX For now we do this before the GIL is created. + (void) _PyThreadState_SwapNoGIL(tstate); - status = init_interp_create_gil(tstate); + status = init_interp_create_gil(tstate, config.gil); if (_PyStatus_EXCEPTION(status)) { return status; } @@ -704,21 +691,11 @@ pycore_init_types(PyInterpreterState *interp) { PyStatus status; - status = _PyTypes_InitState(interp); - if (_PyStatus_EXCEPTION(status)) { - return status; - } - status = _PyTypes_InitTypes(interp); if (_PyStatus_EXCEPTION(status)) { return status; } - status = _PyBytes_InitTypes(interp); - if (_PyStatus_EXCEPTION(status)) { - return status; - } - status = _PyLong_InitTypes(interp); if (_PyStatus_EXCEPTION(status)) { return status; @@ -734,11 +711,6 @@ pycore_init_types(PyInterpreterState *interp) return status; } - status = _PyTuple_InitTypes(interp); - if (_PyStatus_EXCEPTION(status)) { - return status; - } - if (_PyExc_InitTypes(interp) < 0) { return _PyStatus_ERR("failed to initialize an exception type"); } @@ -765,6 +737,21 @@ pycore_init_types(PyInterpreterState *interp) return _PyStatus_OK(); } +static const uint8_t INTERPRETER_TRAMPOLINE_INSTRUCTIONS[] = { + /* Put a NOP at the start, so that the IP points into + * the code, rather than before it */ + NOP, 0, + INTERPRETER_EXIT, 0, + /* RESUME at end makes sure that the frame appears incomplete */ + RESUME, 0 +}; + +static const _PyShimCodeDef INTERPRETER_TRAMPOLINE_CODEDEF = { + INTERPRETER_TRAMPOLINE_INSTRUCTIONS, + sizeof(INTERPRETER_TRAMPOLINE_INSTRUCTIONS), + 1, + "" +}; static PyStatus pycore_init_builtins(PyThreadState *tstate) @@ -776,7 +763,8 @@ pycore_init_builtins(PyThreadState *tstate) goto error; } - if (_PyImport_FixupBuiltin(bimod, "builtins", interp->modules) < 0) { + PyObject *modules = _PyImport_GetModules(interp); + if (_PyImport_FixupBuiltin(bimod, "builtins", modules) < 0) { goto error; } @@ -784,8 +772,7 @@ pycore_init_builtins(PyThreadState *tstate) if (builtins_dict == NULL) { goto error; } - Py_INCREF(builtins_dict); - interp->builtins = builtins_dict; + interp->builtins = Py_NewRef(builtins_dict); PyObject *isinstance = PyDict_GetItem(builtins_dict, &_Py_ID(isinstance)); assert(isinstance); @@ -796,7 +783,13 @@ pycore_init_builtins(PyThreadState *tstate) PyObject *list_append = _PyType_Lookup(&PyList_Type, &_Py_ID(append)); assert(list_append); interp->callable_cache.list_append = list_append; - + PyObject *object__getattribute__ = _PyType_Lookup(&PyBaseObject_Type, &_Py_ID(__getattribute__)); + assert(object__getattribute__); + interp->callable_cache.object__getattribute__ = object__getattribute__; + interp->interpreter_trampoline = _Py_MakeShimCode(&INTERPRETER_TRAMPOLINE_CODEDEF); + if (interp->interpreter_trampoline == NULL) { + return _PyStatus_ERR("failed to create interpreter trampoline."); + } if (_PyBuiltins_AddExceptions(bimod) < 0) { return _PyStatus_ERR("failed to add exceptions to builtins"); } @@ -807,13 +800,9 @@ pycore_init_builtins(PyThreadState *tstate) } Py_DECREF(bimod); - // Get the __import__ function - PyObject *import_func = _PyDict_GetItemStringWithError(interp->builtins, - "__import__"); - if (import_func == NULL) { + if (_PyImport_InitDefaultImportFunc(interp) < 0) { goto error; } - interp->import_func = Py_NewRef(import_func); assert(!_PyErr_Occurred(tstate)); return _PyStatus_OK(); @@ -875,11 +864,10 @@ pycore_interp_init(PyThreadState *tstate) } const PyConfig *config = _PyInterpreterState_GetConfig(interp); - if (config->_install_importlib) { - /* This call sets up builtin and frozen import support */ - if (init_importlib(tstate, sysmod) < 0) { - return _PyStatus_ERR("failed to initialize importlib"); - } + + status = _PyImport_InitCore(tstate, sysmod, config->_install_importlib); + if (_PyStatus_EXCEPTION(status)) { + goto done; } done: @@ -1100,8 +1088,6 @@ pyinit_main_reconfigure(PyThreadState *tstate) static PyStatus init_interp_main(PyThreadState *tstate) { - extern void _PyThread_debug_deprecation(void); - assert(!_PyErr_Occurred(tstate)); PyStatus status; @@ -1131,7 +1117,7 @@ init_interp_main(PyThreadState *tstate) return _PyStatus_ERR("failed to update the Python config"); } - status = init_importlib_external(tstate); + status = _PyImport_InitExternal(tstate); if (_PyStatus_EXCEPTION(status)) { return status; } @@ -1154,9 +1140,20 @@ init_interp_main(PyThreadState *tstate) return _PyStatus_ERR("can't initialize signals"); } - if (_PyTraceMalloc_Init(config->tracemalloc) < 0) { - return _PyStatus_ERR("can't initialize tracemalloc"); + if (config->tracemalloc) { + if (_PyTraceMalloc_Start(config->tracemalloc) < 0) { + return _PyStatus_ERR("can't start tracemalloc"); + } + } + +#ifdef PY_HAVE_PERF_TRAMPOLINE + if (config->perf_profiling) { + if (_PyPerfTrampoline_SetCallbacks(&_Py_perfmap_callbacks) < 0 || + _PyPerfTrampoline_Init(config->perf_profiling) < 0) { + return _PyStatus_ERR("can't initialize the perf trampoline"); + } } +#endif } status = init_sys_streams(tstate); @@ -1203,8 +1200,31 @@ init_interp_main(PyThreadState *tstate) #endif } - // Warn about PYTHONTHREADDEBUG deprecation - _PyThread_debug_deprecation(); + if (!is_main_interp) { + // The main interpreter is handled in Py_Main(), for now. + wchar_t *sys_path_0 = interp->runtime->sys_path_0; + if (sys_path_0 != NULL) { + PyObject *path0 = PyUnicode_FromWideChar(sys_path_0, -1); + if (path0 == NULL) { + return _PyStatus_ERR("can't initialize sys.path[0]"); + } + PyObject *sysdict = interp->sysdict; + if (sysdict == NULL) { + Py_DECREF(path0); + return _PyStatus_ERR("can't initialize sys.path[0]"); + } + PyObject *sys_path = PyDict_GetItemWithError(sysdict, &_Py_ID(path)); + if (sys_path == NULL) { + Py_DECREF(path0); + return _PyStatus_ERR("can't initialize sys.path[0]"); + } + int res = PyList_Insert(sys_path, 0, path0); + Py_DECREF(path0); + if (res) { + return _PyStatus_ERR("can't initialize sys.path[0]"); + } + } + } assert(!_PyErr_Occurred(tstate)); @@ -1318,8 +1338,7 @@ _Py_InitializeMain(void) if (_PyStatus_EXCEPTION(status)) { return status; } - _PyRuntimeState *runtime = &_PyRuntime; - PyThreadState *tstate = _PyRuntimeState_GetThreadState(runtime); + PyThreadState *tstate = _PyThreadState_GET(); return pyinit_main(tstate); } @@ -1329,10 +1348,13 @@ finalize_modules_delete_special(PyThreadState *tstate, int verbose) { // List of names to clear in sys static const char * const sys_deletes[] = { - "path", "argv", "ps1", "ps2", + "path", "argv", "ps1", "ps2", "last_exc", "last_type", "last_value", "last_traceback", - "path_hooks", "path_importer_cache", "meta_path", "__interactivehook__", + // path_hooks and path_importer_cache are cleared + // by _PyImport_FiniExternal(). + // XXX Clear meta_path in _PyImport_FiniCore(). + "meta_path", NULL }; @@ -1353,10 +1375,7 @@ finalize_modules_delete_special(PyThreadState *tstate, int verbose) const char * const *p; for (p = sys_deletes; *p != NULL; p++) { - if (verbose) { - PySys_WriteStderr("# clear sys.%s\n", *p); - } - if (PyDict_SetItemString(interp->sysdict, *p, Py_None) < 0) { + if (_PySys_ClearAttrString(interp, *p, verbose) < 0) { PyErr_WriteUnraisable(NULL); } } @@ -1477,7 +1496,7 @@ finalize_restore_builtins(PyThreadState *tstate) } PyDict_Clear(interp->builtins); if (PyDict_Update(interp->builtins, interp->builtins_copy)) { - _PyErr_Clear(tstate); + PyErr_WriteUnraisable(NULL); } Py_XDECREF(dict); } @@ -1528,11 +1547,12 @@ finalize_clear_sys_builtins_dict(PyInterpreterState *interp, int verbose) /* Clear modules, as good as we can */ +// XXX Move most of this to import.c. static void finalize_modules(PyThreadState *tstate) { PyInterpreterState *interp = tstate->interp; - PyObject *modules = interp->modules; + PyObject *modules = _PyImport_GetModules(interp); if (modules == NULL) { // Already done return; @@ -1597,12 +1617,12 @@ finalize_modules(PyThreadState *tstate) // clear PyInterpreterState.modules_by_index and // clear PyModuleDef.m_base.m_copy (of extensions not using the multi-phase // initialization API) - _PyInterpreterState_ClearModules(interp); + _PyImport_ClearModulesByIndex(interp); // Clear and delete the modules directory. Actual modules will // still be there only if imported during the execution of some // destructor. - Py_SETREF(interp->modules, NULL); + _PyImport_ClearModules(interp); // Collect garbage once more _PyGC_CollectNoFail(tstate); @@ -1679,17 +1699,20 @@ static void finalize_interp_types(PyInterpreterState *interp) { _PyUnicode_FiniTypes(interp); - _PySys_Fini(interp); + _PySys_FiniTypes(interp); _PyExc_Fini(interp); _PyAsyncGen_Fini(interp); _PyContext_Fini(interp); _PyFloat_FiniType(interp); _PyLong_FiniTypes(interp); _PyThread_FiniType(interp); + // XXX fini collections module static types (_PyStaticType_Dealloc()) + // XXX fini IO module static types (_PyStaticType_Dealloc()) _PyErr_FiniTypes(interp); - _PyTypes_Fini(interp); _PyTypes_FiniTypes(interp); + _PyTypes_Fini(interp); + // Call _PyUnicode_ClearInterned() before _PyDict_Fini() since it uses // a dict internally. _PyUnicode_ClearInterned(interp); @@ -1702,6 +1725,9 @@ finalize_interp_types(PyInterpreterState *interp) _PyUnicode_Fini(interp); _PyFloat_Fini(interp); +#ifdef Py_DEBUG + _PyStaticObjects_CheckRefcnt(interp); +#endif } @@ -1711,14 +1737,11 @@ finalize_interp_clear(PyThreadState *tstate) int is_main_interp = _Py_IsMainInterpreter(tstate->interp); _PyExc_ClearExceptionGroupType(tstate->interp); + _Py_clear_generic_types(tstate->interp); /* Clear interpreter state and all thread states */ _PyInterpreterState_Clear(tstate); - if (is_main_interp) { - _PyIO_Fini(); - } - /* Clear all loghooks */ /* Both _PySys_Audit function and users still need PyObject, such as tuple. Call _PySys_ClearAuditHooks when PyObject available. */ @@ -1731,6 +1754,8 @@ finalize_interp_clear(PyThreadState *tstate) _PyArg_Fini(); _Py_ClearFileSystemEncoding(); _Py_Deepfreeze_Fini(); + _PyPerfTrampoline_Fini(); + _PyPerfTrampoline_FreeArenas(); } finalize_interp_types(tstate->interp); @@ -1740,10 +1765,8 @@ finalize_interp_clear(PyThreadState *tstate) static void finalize_interp_delete(PyInterpreterState *interp) { - if (_Py_IsMainInterpreter(interp)) { - /* Cleanup auto-thread-state */ - _PyGILState_Fini(interp); - } + /* Cleanup auto-thread-state */ + _PyGILState_Fini(interp); /* We can't call _PyEval_FiniGIL() here because destroying the GIL lock can fail when it is being awaited by another running daemon thread (see @@ -1766,7 +1789,12 @@ Py_FinalizeEx(void) } /* Get current thread state and interpreter pointer */ - PyThreadState *tstate = _PyRuntimeState_GetThreadState(runtime); + PyThreadState *tstate = _PyThreadState_GET(); + // XXX assert(_Py_IsMainInterpreter(tstate->interp)); + // XXX assert(_Py_IsMainThread()); + + // Block some operations. + tstate->interp->finalizing = 1; // Wrap up existing "threading"-module-created, non-daemon threads. wait_for_thread_shutdown(tstate); @@ -1801,10 +1829,13 @@ Py_FinalizeEx(void) /* Remaining daemon threads will automatically exit when they attempt to take the GIL (ex: PyEval_RestoreThread()). */ + _PyInterpreterState_SetFinalizing(tstate->interp, tstate); _PyRuntimeState_SetFinalizing(runtime, tstate); runtime->initialized = 0; runtime->core_initialized = 0; + // XXX Call something like _PyImport_Disable() here? + /* Destroy the state of all threads of the interpreter, except of the current thread. In practice, only daemon threads should still be alive, except if wait_for_thread_shutdown() has been cancelled by CTRL+C. @@ -1813,7 +1844,23 @@ Py_FinalizeEx(void) _PyRuntimeState_SetFinalizing() has been called, no other Python thread can take the GIL at this point: if they try, they will exit immediately. */ - _PyThreadState_DeleteExcept(runtime, tstate); + _PyThreadState_DeleteExcept(tstate); + + /* At this point no Python code should be running at all. + The only thread state left should be the main thread of the main + interpreter (AKA tstate), in which this code is running right now. + There may be other OS threads running but none of them will have + thread states associated with them, nor will be able to create + new thread states. + + Thus tstate is the only possible thread state from here on out. + It may still be used during finalization to run Python code as + needed or provide runtime state (e.g. sys.modules) but that will + happen sparingly. Furthermore, the order of finalization aims + to not need a thread (or interpreter) state as soon as possible. + */ + // XXX Make sure we are preventing the creating of any new thread states + // (or interpreters). /* Flush sys.stdout and sys.stderr */ if (flush_std_files() < 0) { @@ -1838,6 +1885,7 @@ Py_FinalizeEx(void) PyGC_Collect(); /* Destroy all modules */ + _PyImport_FiniExternal(tstate->interp); finalize_modules(tstate); /* Print debug stats if any */ @@ -1871,7 +1919,9 @@ Py_FinalizeEx(void) so it is possible to use tracemalloc in objects destructor. */ _PyTraceMalloc_Fini(); - /* Destroy the database used by _PyImport_{Fixup,Find}Extension */ + /* Finalize any remaining import state */ + // XXX Move these up to where finalize_modules() is currently. + _PyImport_FiniCore(tstate->interp); _PyImport_Fini(); /* unload faulthandler module */ @@ -1896,14 +1946,28 @@ Py_FinalizeEx(void) } if (dump_refs) { - _Py_PrintReferences(stderr); + _Py_PrintReferences(tstate->interp, stderr); } if (dump_refs_fp != NULL) { - _Py_PrintReferences(dump_refs_fp); + _Py_PrintReferences(tstate->interp, dump_refs_fp); } #endif /* Py_TRACE_REFS */ + /* At this point there's almost no other Python code that will run, + nor interpreter state needed. The only possibility is the + finalizers of the objects stored on tstate (and tstate->interp), + which are triggered via finalize_interp_clear(). + + For now we operate as though none of those finalizers actually + need an operational thread state or interpreter. In reality, + those finalizers may rely on some part of tstate or + tstate->interp, and/or may raise exceptions + or otherwise fail. + */ + // XXX Do this sooner during finalization. + // XXX Ensure finalizer errors are handled properly. + finalize_interp_clear(tstate); finalize_interp_delete(tstate->interp); @@ -1911,7 +1975,9 @@ Py_FinalizeEx(void) if (show_ref_count) { _PyDebug_PrintTotalRefs(); } + _Py_FinalizeRefTotal(runtime); #endif + _Py_FinalizeAllocatedBlocks(runtime); #ifdef Py_TRACE_REFS /* Display addresses (& refcnts) of all objects still alive. @@ -1920,11 +1986,11 @@ Py_FinalizeEx(void) */ if (dump_refs) { - _Py_PrintReferenceAddresses(stderr); + _Py_PrintReferenceAddresses(tstate->interp, stderr); } if (dump_refs_fp != NULL) { - _Py_PrintReferenceAddresses(dump_refs_fp); + _Py_PrintReferenceAddresses(tstate->interp, dump_refs_fp); fclose(dump_refs_fp); } #endif /* Py_TRACE_REFS */ @@ -1961,7 +2027,7 @@ Py_Finalize(void) */ static PyStatus -new_interpreter(PyThreadState **tstate_p, int isolated_subinterpreter) +new_interpreter(PyThreadState **tstate_p, const PyInterpreterConfig *config) { PyStatus status; @@ -1985,38 +2051,56 @@ new_interpreter(PyThreadState **tstate_p, int isolated_subinterpreter) return _PyStatus_OK(); } - PyThreadState *tstate = PyThreadState_New(interp); + PyThreadState *tstate = _PyThreadState_New(interp); if (tstate == NULL) { PyInterpreterState_Delete(interp); *tstate_p = NULL; return _PyStatus_OK(); } + _PyThreadState_Bind(tstate); - PyThreadState *save_tstate = PyThreadState_Swap(tstate); + // XXX For now we do this before the GIL is created. + PyThreadState *save_tstate = _PyThreadState_SwapNoGIL(tstate); + int has_gil = 0; + + /* From this point until the init_interp_create_gil() call, + we must not do anything that requires that the GIL be held + (or otherwise exist). That applies whether or not the new + interpreter has its own GIL (e.g. the main interpreter). */ /* Copy the current interpreter config into the new interpreter */ - const PyConfig *config; + const PyConfig *src_config; if (save_tstate != NULL) { - config = _PyInterpreterState_GetConfig(save_tstate->interp); + // XXX Might new_interpreter() have been called without the GIL held? + _PyEval_ReleaseLock(save_tstate->interp, save_tstate); + src_config = _PyInterpreterState_GetConfig(save_tstate->interp); } else { /* No current thread state, copy from the main interpreter */ PyInterpreterState *main_interp = _PyInterpreterState_Main(); - config = _PyInterpreterState_GetConfig(main_interp); + src_config = _PyInterpreterState_GetConfig(main_interp); } + /* This does not require that the GIL be held. */ + status = _PyConfig_Copy(&interp->config, src_config); + if (_PyStatus_EXCEPTION(status)) { + goto error; + } - status = _PyConfig_Copy(&interp->config, config); + /* This does not require that the GIL be held. */ + status = init_interp_settings(interp, config); if (_PyStatus_EXCEPTION(status)) { goto error; } - interp->config._isolated_interpreter = isolated_subinterpreter; - status = init_interp_create_gil(tstate); + status = init_interp_create_gil(tstate, config->gil); if (_PyStatus_EXCEPTION(status)) { goto error; } + has_gil = 1; + + /* No objects have been created yet. */ status = pycore_interp_init(tstate); if (_PyStatus_EXCEPTION(status)) { @@ -2036,7 +2120,12 @@ error: /* Oops, it didn't work. Undo it all. */ PyErr_PrintEx(0); - PyThreadState_Swap(save_tstate); + if (has_gil) { + PyThreadState_Swap(save_tstate); + } + else { + _PyThreadState_SwapNoGIL(save_tstate); + } PyThreadState_Clear(tstate); PyThreadState_Delete(tstate); PyInterpreterState_Delete(interp); @@ -2044,22 +2133,23 @@ error: return status; } +PyStatus +Py_NewInterpreterFromConfig(PyThreadState **tstate_p, + const PyInterpreterConfig *config) +{ + return new_interpreter(tstate_p, config); +} + PyThreadState * -_Py_NewInterpreter(int isolated_subinterpreter) +Py_NewInterpreter(void) { PyThreadState *tstate = NULL; - PyStatus status = new_interpreter(&tstate, isolated_subinterpreter); + const PyInterpreterConfig config = _PyInterpreterConfig_LEGACY_INIT; + PyStatus status = new_interpreter(&tstate, &config); if (_PyStatus_EXCEPTION(status)) { Py_ExitStatusException(status); } return tstate; - -} - -PyThreadState * -Py_NewInterpreter(void) -{ - return _Py_NewInterpreter(0); } /* Delete an interpreter and its last thread. This requires that the @@ -2090,18 +2180,41 @@ Py_EndInterpreter(PyThreadState *tstate) // Wrap up existing "threading"-module-created, non-daemon threads. wait_for_thread_shutdown(tstate); + // Make any remaining pending calls. + _Py_FinishPendingCalls(tstate); + _PyAtExit_Call(tstate->interp); if (tstate != interp->threads.head || tstate->next != NULL) { Py_FatalError("not the last thread"); } + /* Remaining daemon threads will automatically exit + when they attempt to take the GIL (ex: PyEval_RestoreThread()). */ + _PyInterpreterState_SetFinalizing(interp, tstate); + + // XXX Call something like _PyImport_Disable() here? + + _PyImport_FiniExternal(tstate->interp); finalize_modules(tstate); + _PyImport_FiniCore(tstate->interp); finalize_interp_clear(tstate); finalize_interp_delete(tstate->interp); } +int +_Py_IsInterpreterFinalizing(PyInterpreterState *interp) +{ + /* We check the runtime first since, in a daemon thread, + interp might be dangling pointer. */ + PyThreadState *finalizing = _PyRuntimeState_GetFinalizing(&_PyRuntime); + if (finalizing == NULL) { + finalizing = _PyInterpreterState_GetFinalizing(interp); + } + return finalizing != NULL; +} + /* Add the __main__ module */ static PyStatus @@ -2134,10 +2247,9 @@ add_main_module(PyInterpreterState *interp) 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 + /* Main is a little special - BuiltinImporter is 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_GetItemStringWithError(d, "__loader__"); @@ -2145,8 +2257,8 @@ add_main_module(PyInterpreterState *interp) if (PyErr_Occurred()) { return _PyStatus_ERR("Failed to test __main__.__loader__"); } - PyObject *loader = PyObject_GetAttrString(interp->importlib, - "BuiltinImporter"); + PyObject *loader = _PyImport_GetImportlibLoader(interp, + "BuiltinImporter"); if (loader == NULL) { return _PyStatus_ERR("Failed to retrieve BuiltinImporter"); } @@ -2262,14 +2374,21 @@ create_stdio(const PyConfig *config, PyObject* io, goto error; } else { - raw = buf; - Py_INCREF(raw); + raw = Py_NewRef(buf); } -#ifdef MS_WINDOWS +#ifdef HAVE_WINDOWS_CONSOLE_IO /* Windows console IO is always UTF-8 encoded */ - if (PyWindowsConsoleIO_Check(raw)) + PyTypeObject *winconsoleio_type = (PyTypeObject *)_PyImport_GetModuleAttr( + &_Py_ID(_io), &_Py_ID(_WindowsConsoleIO)); + if (winconsoleio_type == NULL) { + goto error; + } + int is_subclass = PyObject_TypeCheck(raw, winconsoleio_type); + Py_DECREF(winconsoleio_type); + if (is_subclass) { encoding = L"utf-8"; + } #endif text = PyUnicode_FromString(name); @@ -2357,19 +2476,15 @@ error: static PyStatus init_set_builtins_open(void) { - PyObject *iomod = NULL, *wrapper; + PyObject *wrapper; PyObject *bimod = NULL; PyStatus res = _PyStatus_OK(); - if (!(iomod = PyImport_ImportModule("io"))) { - goto error; - } - if (!(bimod = PyImport_ImportModule("builtins"))) { goto error; } - if (!(wrapper = PyObject_GetAttrString(iomod, "open"))) { + if (!(wrapper = _PyImport_GetModuleAttrString("io", "open"))) { goto error; } @@ -2386,7 +2501,6 @@ error: done: Py_XDECREF(bimod); - Py_XDECREF(iomod); return res; } @@ -2511,42 +2625,29 @@ _Py_FatalError_DumpTracebacks(int fd, PyInterpreterState *interp, static int _Py_FatalError_PrintExc(PyThreadState *tstate) { - PyObject *ferr, *res; - PyObject *exception, *v, *tb; - int has_tb; - - _PyErr_Fetch(tstate, &exception, &v, &tb); - if (exception == NULL) { + PyObject *exc = _PyErr_GetRaisedException(tstate); + if (exc == NULL) { /* No current exception */ return 0; } - ferr = _PySys_GetAttr(tstate, &_Py_ID(stderr)); + PyObject *ferr = _PySys_GetAttr(tstate, &_Py_ID(stderr)); if (ferr == NULL || ferr == Py_None) { /* sys.stderr is not set yet or set to None, no need to try to display the exception */ + Py_DECREF(exc); return 0; } - _PyErr_NormalizeException(tstate, &exception, &v, &tb); - if (tb == NULL) { - tb = Py_None; - Py_INCREF(tb); - } - PyException_SetTraceback(v, tb); - if (exception == NULL) { - /* PyErr_NormalizeException() failed */ - return 0; - } + PyErr_DisplayException(exc); - has_tb = (tb != Py_None); - PyErr_Display(exception, v, tb); - Py_XDECREF(exception); - Py_XDECREF(v); + PyObject *tb = PyException_GetTraceback(exc); + int has_tb = (tb != NULL) && (tb != Py_None); Py_XDECREF(tb); + Py_DECREF(exc); /* sys.stderr may be buffered: call sys.stderr.flush() */ - res = PyObject_CallMethodNoArgs(ferr, &_Py_ID(flush)); + PyObject *res = PyObject_CallMethodNoArgs(ferr, &_Py_ID(flush)); if (res == NULL) { _PyErr_Clear(tstate); } @@ -2651,7 +2752,7 @@ _Py_DumpExtensionModules(int fd, PyInterpreterState *interp) if (interp == NULL) { return; } - PyObject *modules = interp->modules; + PyObject *modules = _PyImport_GetModules(interp); if (modules == NULL || !PyDict_Check(modules)) { return; } @@ -2772,7 +2873,7 @@ fatal_error(int fd, int header, const char *prefix, const char *msg, tss_tstate != tstate if the current Python thread does not hold the GIL. */ - PyThreadState *tstate = _PyRuntimeState_GetThreadState(runtime); + PyThreadState *tstate = _PyThreadState_GET(); PyInterpreterState *interp = NULL; PyThreadState *tss_tstate = PyGILState_GetThisThreadState(); if (tstate != NULL) { @@ -2851,11 +2952,7 @@ _Py_FatalErrorFormat(const char *func, const char *format, ...) } va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, format); -#else - va_start(vargs); -#endif vfprintf(stream, format, vargs); va_end(vargs); @@ -2917,26 +3014,37 @@ wait_for_thread_shutdown(PyThreadState *tstate) Py_DECREF(threading); } -#define NEXITFUNCS 32 int Py_AtExit(void (*func)(void)) { - if (_PyRuntime.nexitfuncs >= NEXITFUNCS) + struct _atexit_runtime_state *state = &_PyRuntime.atexit; + PyThread_acquire_lock(state->mutex, WAIT_LOCK); + if (state->ncallbacks >= NEXITFUNCS) { + PyThread_release_lock(state->mutex); return -1; - _PyRuntime.exitfuncs[_PyRuntime.nexitfuncs++] = func; + } + state->callbacks[state->ncallbacks++] = func; + PyThread_release_lock(state->mutex); return 0; } static void call_ll_exitfuncs(_PyRuntimeState *runtime) { - while (runtime->nexitfuncs > 0) { + atexit_callbackfunc exitfunc; + struct _atexit_runtime_state *state = &runtime->atexit; + + PyThread_acquire_lock(state->mutex, WAIT_LOCK); + while (state->ncallbacks > 0) { /* pop last function from the list */ - runtime->nexitfuncs--; - void (*exitfunc)(void) = runtime->exitfuncs[runtime->nexitfuncs]; - runtime->exitfuncs[runtime->nexitfuncs] = NULL; + state->ncallbacks--; + exitfunc = state->callbacks[state->ncallbacks]; + state->callbacks[state->ncallbacks] = NULL; + PyThread_release_lock(state->mutex); exitfunc(); + PyThread_acquire_lock(state->mutex, WAIT_LOCK); } + PyThread_release_lock(state->mutex); fflush(stdout); fflush(stderr); @@ -2962,28 +3070,30 @@ Py_Exit(int sts) int Py_FdIsInteractive(FILE *fp, const char *filename) { - if (isatty((int)fileno(fp))) + if (isatty(fileno(fp))) { return 1; - if (!Py_InteractiveFlag) + } + if (!_Py_GetConfig()->interactive) { return 0; - return (filename == NULL) || - (strcmp(filename, "") == 0) || - (strcmp(filename, "???") == 0); + } + return ((filename == NULL) + || (strcmp(filename, "") == 0) + || (strcmp(filename, "???") == 0)); } int _Py_FdIsInteractive(FILE *fp, PyObject *filename) { - if (isatty((int)fileno(fp))) { + if (isatty(fileno(fp))) { return 1; } - if (!Py_InteractiveFlag) { + if (!_Py_GetConfig()->interactive) { return 0; } - return (filename == NULL) || - (PyUnicode_CompareWithASCIIString(filename, "") == 0) || - (PyUnicode_CompareWithASCIIString(filename, "???") == 0); + return ((filename == NULL) + || (PyUnicode_CompareWithASCIIString(filename, "") == 0) + || (PyUnicode_CompareWithASCIIString(filename, "???") == 0)); } diff --git a/contrib/tools/python3/src/Python/pystate.c b/contrib/tools/python3/src/Python/pystate.c index db2ce878af6..0ebbdfbfb41 100644 --- a/contrib/tools/python3/src/Python/pystate.c +++ b/contrib/tools/python3/src/Python/pystate.c @@ -3,14 +3,15 @@ #include "Python.h" #include "pycore_ceval.h" -#include "pycore_code.h" // stats +#include "pycore_code.h" // stats +#include "pycore_dtoa.h" // _dtoa_state_INIT() #include "pycore_frame.h" #include "pycore_initconfig.h" #include "pycore_object.h" // _PyType_InitCache() #include "pycore_pyerrors.h" #include "pycore_pylifecycle.h" #include "pycore_pymem.h" // _PyMem_SetDefaultAllocator() -#include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_pystate.h" #include "pycore_runtime_init.h" // _PyRuntimeState_INIT #include "pycore_sysmodule.h" @@ -37,56 +38,388 @@ to avoid the expense of doing their own locking). extern "C" { #endif -#define _PyRuntimeGILState_GetThreadState(gilstate) \ - ((PyThreadState*)_Py_atomic_load_relaxed(&(gilstate)->tstate_current)) -#define _PyRuntimeGILState_SetThreadState(gilstate, value) \ - _Py_atomic_store_relaxed(&(gilstate)->tstate_current, \ - (uintptr_t)(value)) -/* Forward declarations */ -static PyThreadState *_PyGILState_GetThisThreadState(struct _gilstate_runtime_state *gilstate); -static void _PyThreadState_Delete(PyThreadState *tstate, int check_current); +/****************************************/ +/* helpers for the current thread state */ +/****************************************/ + +// API for the current thread state is further down. + +/* "current" means one of: + - bound to the current OS thread + - holds the GIL + */ + +//------------------------------------------------- +// a highly efficient lookup for the current thread +//------------------------------------------------- + +/* + The stored thread state is set by PyThreadState_Swap(). + + For each of these functions, the GIL must be held by the current thread. + */ + + +#ifdef HAVE_THREAD_LOCAL +_Py_thread_local PyThreadState *_Py_tss_tstate = NULL; +#endif + +static inline PyThreadState * +current_fast_get(_PyRuntimeState *Py_UNUSED(runtime)) +{ +#ifdef HAVE_THREAD_LOCAL + return _Py_tss_tstate; +#else + // XXX Fall back to the PyThread_tss_*() API. +# error "no supported thread-local variable storage classifier" +#endif +} + +static inline void +current_fast_set(_PyRuntimeState *Py_UNUSED(runtime), PyThreadState *tstate) +{ + assert(tstate != NULL); +#ifdef HAVE_THREAD_LOCAL + _Py_tss_tstate = tstate; +#else + // XXX Fall back to the PyThread_tss_*() API. +# error "no supported thread-local variable storage classifier" +#endif +} + +static inline void +current_fast_clear(_PyRuntimeState *Py_UNUSED(runtime)) +{ +#ifdef HAVE_THREAD_LOCAL + _Py_tss_tstate = NULL; +#else + // XXX Fall back to the PyThread_tss_*() API. +# error "no supported thread-local variable storage classifier" +#endif +} + +#define tstate_verify_not_active(tstate) \ + if (tstate == current_fast_get((tstate)->interp->runtime)) { \ + _Py_FatalErrorFormat(__func__, "tstate %p is still current", tstate); \ + } + +PyThreadState * +_PyThreadState_GetCurrent(void) +{ + return current_fast_get(&_PyRuntime); +} + + +//------------------------------------------------ +// the thread state bound to the current OS thread +//------------------------------------------------ + +static inline int +tstate_tss_initialized(Py_tss_t *key) +{ + return PyThread_tss_is_created(key); +} + +static inline int +tstate_tss_init(Py_tss_t *key) +{ + assert(!tstate_tss_initialized(key)); + return PyThread_tss_create(key); +} + +static inline void +tstate_tss_fini(Py_tss_t *key) +{ + assert(tstate_tss_initialized(key)); + PyThread_tss_delete(key); +} + +static inline PyThreadState * +tstate_tss_get(Py_tss_t *key) +{ + assert(tstate_tss_initialized(key)); + return (PyThreadState *)PyThread_tss_get(key); +} + +static inline int +tstate_tss_set(Py_tss_t *key, PyThreadState *tstate) +{ + assert(tstate != NULL); + assert(tstate_tss_initialized(key)); + return PyThread_tss_set(key, (void *)tstate); +} + +static inline int +tstate_tss_clear(Py_tss_t *key) +{ + assert(tstate_tss_initialized(key)); + return PyThread_tss_set(key, (void *)NULL); +} + +#ifdef HAVE_FORK +/* Reset the TSS key - called by PyOS_AfterFork_Child(). + * This should not be necessary, but some - buggy - pthread implementations + * don't reset TSS upon fork(), see issue #10517. + */ +static PyStatus +tstate_tss_reinit(Py_tss_t *key) +{ + if (!tstate_tss_initialized(key)) { + return _PyStatus_OK(); + } + PyThreadState *tstate = tstate_tss_get(key); + + tstate_tss_fini(key); + if (tstate_tss_init(key) != 0) { + return _PyStatus_NO_MEMORY(); + } + + /* If the thread had an associated auto thread state, reassociate it with + * the new key. */ + if (tstate && tstate_tss_set(key, tstate) != 0) { + return _PyStatus_ERR("failed to re-set autoTSSkey"); + } + return _PyStatus_OK(); +} +#endif + + +/* + The stored thread state is set by bind_tstate() (AKA PyThreadState_Bind(). + + The GIL does no need to be held for these. + */ + +#define gilstate_tss_initialized(runtime) \ + tstate_tss_initialized(&(runtime)->autoTSSkey) +#define gilstate_tss_init(runtime) \ + tstate_tss_init(&(runtime)->autoTSSkey) +#define gilstate_tss_fini(runtime) \ + tstate_tss_fini(&(runtime)->autoTSSkey) +#define gilstate_tss_get(runtime) \ + tstate_tss_get(&(runtime)->autoTSSkey) +#define _gilstate_tss_set(runtime, tstate) \ + tstate_tss_set(&(runtime)->autoTSSkey, tstate) +#define _gilstate_tss_clear(runtime) \ + tstate_tss_clear(&(runtime)->autoTSSkey) +#define gilstate_tss_reinit(runtime) \ + tstate_tss_reinit(&(runtime)->autoTSSkey) + +static inline void +gilstate_tss_set(_PyRuntimeState *runtime, PyThreadState *tstate) +{ + assert(tstate != NULL && tstate->interp->runtime == runtime); + if (_gilstate_tss_set(runtime, tstate) != 0) { + Py_FatalError("failed to set current tstate (TSS)"); + } +} + +static inline void +gilstate_tss_clear(_PyRuntimeState *runtime) +{ + if (_gilstate_tss_clear(runtime) != 0) { + Py_FatalError("failed to clear current tstate (TSS)"); + } +} + + +#ifndef NDEBUG +static inline int tstate_is_alive(PyThreadState *tstate); + +static inline int +tstate_is_bound(PyThreadState *tstate) +{ + return tstate->_status.bound && !tstate->_status.unbound; +} +#endif // !NDEBUG + +static void bind_gilstate_tstate(PyThreadState *); +static void unbind_gilstate_tstate(PyThreadState *); + +static void +bind_tstate(PyThreadState *tstate) +{ + assert(tstate != NULL); + assert(tstate_is_alive(tstate) && !tstate->_status.bound); + assert(!tstate->_status.unbound); // just in case + assert(!tstate->_status.bound_gilstate); + assert(tstate != gilstate_tss_get(tstate->interp->runtime)); + assert(!tstate->_status.active); + assert(tstate->thread_id == 0); + assert(tstate->native_thread_id == 0); + + // Currently we don't necessarily store the thread state + // in thread-local storage (e.g. per-interpreter). + + tstate->thread_id = PyThread_get_thread_ident(); +#ifdef PY_HAVE_THREAD_NATIVE_ID + tstate->native_thread_id = PyThread_get_thread_native_id(); +#endif + + tstate->_status.bound = 1; +} + +static void +unbind_tstate(PyThreadState *tstate) +{ + assert(tstate != NULL); + assert(tstate_is_bound(tstate)); +#ifndef HAVE_PTHREAD_STUBS + assert(tstate->thread_id > 0); +#endif +#ifdef PY_HAVE_THREAD_NATIVE_ID + assert(tstate->native_thread_id > 0); +#endif + + // We leave thread_id and native_thread_id alone + // since they can be useful for debugging. + // Check the `_status` field to know if these values + // are still valid. + + // We leave tstate->_status.bound set to 1 + // to indicate it was previously bound. + tstate->_status.unbound = 1; +} + + +/* Stick the thread state for this thread in thread specific storage. + + When a thread state is created for a thread by some mechanism + other than PyGILState_Ensure(), it's important that the GILState + machinery knows about it so it doesn't try to create another + thread state for the thread. + (This is a better fix for SF bug #1010677 than the first one attempted.) + + The only situation where you can legitimately have more than one + thread state for an OS level thread is when there are multiple + interpreters. + + Before 3.12, the PyGILState_*() APIs didn't work with multiple + interpreters (see bpo-10915 and bpo-15751), so this function used + to set TSS only once. Thus, the first thread state created for that + given OS level thread would "win", which seemed reasonable behaviour. +*/ + +static void +bind_gilstate_tstate(PyThreadState *tstate) +{ + assert(tstate != NULL); + assert(tstate_is_alive(tstate)); + assert(tstate_is_bound(tstate)); + // XXX assert(!tstate->_status.active); + assert(!tstate->_status.bound_gilstate); + + _PyRuntimeState *runtime = tstate->interp->runtime; + PyThreadState *tcur = gilstate_tss_get(runtime); + assert(tstate != tcur); + + if (tcur != NULL) { + tcur->_status.bound_gilstate = 0; + } + gilstate_tss_set(runtime, tstate); + tstate->_status.bound_gilstate = 1; +} + +static void +unbind_gilstate_tstate(PyThreadState *tstate) +{ + assert(tstate != NULL); + // XXX assert(tstate_is_alive(tstate)); + assert(tstate_is_bound(tstate)); + // XXX assert(!tstate->_status.active); + assert(tstate->_status.bound_gilstate); + assert(tstate == gilstate_tss_get(tstate->interp->runtime)); + + gilstate_tss_clear(tstate->interp->runtime); + tstate->_status.bound_gilstate = 0; +} + + +//---------------------------------------------- +// the thread state that currently holds the GIL +//---------------------------------------------- + +/* This is not exported, as it is not reliable! It can only + ever be compared to the state for the *current* thread. + * If not equal, then it doesn't matter that the actual + value may change immediately after comparison, as it can't + possibly change to the current thread's state. + * If equal, then the current thread holds the lock, so the value can't + change until we yield the lock. +*/ +static int +holds_gil(PyThreadState *tstate) +{ + // XXX Fall back to tstate->interp->runtime->ceval.gil.last_holder + // (and tstate->interp->runtime->ceval.gil.locked). + assert(tstate != NULL); +#ifndef NDEBUG + if (!tstate_is_alive(tstate)) { + return 0; + } +#endif + _PyRuntimeState *runtime = tstate->interp->runtime; + /* Must be the tstate for this thread */ + assert(tstate == gilstate_tss_get(runtime)); + return tstate == current_fast_get(runtime); +} + + +/****************************/ +/* the global runtime state */ +/****************************/ + +//---------- +// lifecycle +//---------- /* Suppress deprecation warning for PyBytesObject.ob_shash */ _Py_COMP_DIAG_PUSH _Py_COMP_DIAG_IGNORE_DEPR_DECLS /* We use "initial" if the runtime gets re-used - (e.g. Py_Finalize() followed by Py_Initialize(). */ -static const _PyRuntimeState initial = _PyRuntimeState_INIT; + (e.g. Py_Finalize() followed by Py_Initialize(). + Note that we initialize "initial" relative to _PyRuntime, + to ensure pre-initialized pointers point to the active + runtime state (and not "initial"). */ +static const _PyRuntimeState initial = _PyRuntimeState_INIT(_PyRuntime); _Py_COMP_DIAG_POP +#define NUMLOCKS 9 +#define LOCKS_INIT(runtime) \ + { \ + &(runtime)->interpreters.mutex, \ + &(runtime)->xidregistry.mutex, \ + &(runtime)->getargs.mutex, \ + &(runtime)->unicode_state.ids.lock, \ + &(runtime)->imports.extensions.mutex, \ + &(runtime)->ceval.pending_mainthread.lock, \ + &(runtime)->atexit.mutex, \ + &(runtime)->audit_hooks.mutex, \ + &(runtime)->allocators.mutex, \ + } + static int -alloc_for_runtime(PyThread_type_lock *plock1, PyThread_type_lock *plock2, - PyThread_type_lock *plock3) +alloc_for_runtime(PyThread_type_lock locks[NUMLOCKS]) { /* Force default allocator, since _PyRuntimeState_Fini() must use the same allocator than this function. */ PyMemAllocatorEx old_alloc; _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - PyThread_type_lock lock1 = PyThread_allocate_lock(); - if (lock1 == NULL) { - return -1; - } - - PyThread_type_lock lock2 = PyThread_allocate_lock(); - if (lock2 == NULL) { - PyThread_free_lock(lock1); - return -1; - } - - PyThread_type_lock lock3 = PyThread_allocate_lock(); - if (lock3 == NULL) { - PyThread_free_lock(lock1); - PyThread_free_lock(lock2); - return -1; + for (int i = 0; i < NUMLOCKS; i++) { + PyThread_type_lock lock = PyThread_allocate_lock(); + if (lock == NULL) { + for (int j = 0; j < i; j++) { + PyThread_free_lock(locks[j]); + locks[j] = NULL; + } + break; + } + locks[i] = lock; } PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - - *plock1 = lock1; - *plock2 = lock2; - *plock3 = lock3; return 0; } @@ -95,9 +428,7 @@ init_runtime(_PyRuntimeState *runtime, void *open_code_hook, void *open_code_userdata, _Py_AuditHookEntry *audit_hook_head, Py_ssize_t unicode_next_index, - PyThread_type_lock unicode_ids_mutex, - PyThread_type_lock interpreters_mutex, - PyThread_type_lock xidregistry_mutex) + PyThread_type_lock locks[NUMLOCKS]) { if (runtime->_initialized) { Py_FatalError("runtime already initialized"); @@ -109,21 +440,20 @@ init_runtime(_PyRuntimeState *runtime, runtime->open_code_hook = open_code_hook; runtime->open_code_userdata = open_code_userdata; - runtime->audit_hook_head = audit_hook_head; - - _PyEval_InitRuntimeState(&runtime->ceval); + runtime->audit_hooks.head = audit_hook_head; PyPreConfig_InitPythonConfig(&runtime->preconfig); - runtime->interpreters.mutex = interpreters_mutex; - - runtime->xidregistry.mutex = xidregistry_mutex; + PyThread_type_lock *lockptrs[NUMLOCKS] = LOCKS_INIT(runtime); + for (int i = 0; i < NUMLOCKS; i++) { + assert(locks[i] != NULL); + *lockptrs[i] = locks[i]; + } // Set it to the ID of the main thread of the main interpreter. runtime->main_thread = PyThread_get_thread_ident(); - runtime->unicode_ids.next_index = unicode_next_index; - runtime->unicode_ids.lock = unicode_ids_mutex; + runtime->unicode_state.ids.next_index = unicode_next_index; runtime->_initialized = 1; } @@ -136,13 +466,13 @@ _PyRuntimeState_Init(_PyRuntimeState *runtime) initialization and interpreter initialization. */ void *open_code_hook = runtime->open_code_hook; void *open_code_userdata = runtime->open_code_userdata; - _Py_AuditHookEntry *audit_hook_head = runtime->audit_hook_head; + _Py_AuditHookEntry *audit_hook_head = runtime->audit_hooks.head; // bpo-42882: Preserve next_index value if Py_Initialize()/Py_Finalize() // is called multiple times. - Py_ssize_t unicode_next_index = runtime->unicode_ids.next_index; + Py_ssize_t unicode_next_index = runtime->unicode_state.ids.next_index; - PyThread_type_lock lock1, lock2, lock3; - if (alloc_for_runtime(&lock1, &lock2, &lock3) != 0) { + PyThread_type_lock locks[NUMLOCKS]; + if (alloc_for_runtime(locks) != 0) { return _PyStatus_NO_MEMORY(); } @@ -151,15 +481,43 @@ _PyRuntimeState_Init(_PyRuntimeState *runtime) // Reset to _PyRuntimeState_INIT. memcpy(runtime, &initial, sizeof(*runtime)); } + + if (gilstate_tss_init(runtime) != 0) { + _PyRuntimeState_Fini(runtime); + return _PyStatus_NO_MEMORY(); + } + + if (PyThread_tss_create(&runtime->trashTSSkey) != 0) { + _PyRuntimeState_Fini(runtime); + return _PyStatus_NO_MEMORY(); + } + init_runtime(runtime, open_code_hook, open_code_userdata, audit_hook_head, - unicode_next_index, lock1, lock2, lock3); + unicode_next_index, locks); return _PyStatus_OK(); } +static void _xidregistry_clear(struct _xidregistry *); + void _PyRuntimeState_Fini(_PyRuntimeState *runtime) { +#ifdef Py_REF_DEBUG + /* The count is cleared by _Py_FinalizeRefTotal(). */ + assert(runtime->object_state.interpreter_leaks == 0); +#endif + + _xidregistry_clear(&runtime->xidregistry); + + if (gilstate_tss_initialized(runtime)) { + gilstate_tss_fini(runtime); + } + + if (PyThread_tss_is_created(&runtime->trashTSSkey)) { + PyThread_tss_delete(&runtime->trashTSSkey); + } + /* Force the allocator used by _PyRuntimeState_Init(). */ PyMemAllocatorEx old_alloc; _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); @@ -169,11 +527,16 @@ _PyRuntimeState_Fini(_PyRuntimeState *runtime) LOCK = NULL; \ } - FREE_LOCK(runtime->interpreters.mutex); - FREE_LOCK(runtime->xidregistry.mutex); - FREE_LOCK(runtime->unicode_ids.lock); + PyThread_type_lock *lockptrs[NUMLOCKS] = LOCKS_INIT(runtime); + for (int i = 0; i < NUMLOCKS; i++) { + FREE_LOCK(*lockptrs[i]); + } #undef FREE_LOCK + if (runtime->sys_path_0 != NULL) { + PyMem_RawFree(runtime->sys_path_0); + runtime->sys_path_0 = NULL; + } PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); } @@ -191,36 +554,53 @@ _PyRuntimeState_ReInitThreads(_PyRuntimeState *runtime) PyMemAllocatorEx old_alloc; _PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc); - int reinit_interp = _PyThread_at_fork_reinit(&runtime->interpreters.mutex); - int reinit_xidregistry = _PyThread_at_fork_reinit(&runtime->xidregistry.mutex); - int reinit_unicode_ids = _PyThread_at_fork_reinit(&runtime->unicode_ids.lock); + PyThread_type_lock *lockptrs[NUMLOCKS] = LOCKS_INIT(runtime); + int reinit_err = 0; + for (int i = 0; i < NUMLOCKS; i++) { + reinit_err += _PyThread_at_fork_reinit(lockptrs[i]); + } + /* PyOS_AfterFork_Child(), which calls this function, later calls + _PyInterpreterState_DeleteExceptMain(), so we only need to update + the main interpreter here. */ + assert(runtime->interpreters.main != NULL); + runtime->interpreters.main->xidregistry.mutex = runtime->xidregistry.mutex; PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); /* bpo-42540: id_mutex is freed by _PyInterpreterState_Delete, which does * not force the default allocator. */ - int reinit_main_id = _PyThread_at_fork_reinit(&runtime->interpreters.main->id_mutex); + reinit_err += _PyThread_at_fork_reinit(&runtime->interpreters.main->id_mutex); - if (reinit_interp < 0 - || reinit_main_id < 0 - || reinit_xidregistry < 0 - || reinit_unicode_ids < 0) - { + if (reinit_err < 0) { return _PyStatus_ERR("Failed to reinitialize runtime locks"); + } + PyStatus status = gilstate_tss_reinit(runtime); + if (_PyStatus_EXCEPTION(status)) { + return status; + } + + if (PyThread_tss_is_created(&runtime->trashTSSkey)) { + PyThread_tss_delete(&runtime->trashTSSkey); + } + if (PyThread_tss_create(&runtime->trashTSSkey) != 0) { + return _PyStatus_NO_MEMORY(); } + return _PyStatus_OK(); } #endif -#define HEAD_LOCK(runtime) \ - PyThread_acquire_lock((runtime)->interpreters.mutex, WAIT_LOCK) -#define HEAD_UNLOCK(runtime) \ - PyThread_release_lock((runtime)->interpreters.mutex) -/* Forward declaration */ -static void _PyGILState_NoteThreadState( - struct _gilstate_runtime_state *gilstate, PyThreadState* tstate); +/*************************************/ +/* the per-interpreter runtime state */ +/*************************************/ + +//---------- +// lifecycle +//---------- + +/* Calling this indicates that the runtime is ready to create interpreters. */ PyStatus _PyInterpreterState_Enable(_PyRuntimeState *runtime) @@ -248,6 +628,7 @@ _PyInterpreterState_Enable(_PyRuntimeState *runtime) return _PyStatus_OK(); } + static PyInterpreterState * alloc_interpreter(void) { @@ -257,7 +638,9 @@ alloc_interpreter(void) static void free_interpreter(PyInterpreterState *interp) { - if (!interp->_static) { + // The main interpreter is statically allocated so + // should not be freed. + if (interp != &_PyRuntime._main_interpreter) { PyMem_RawFree(interp); } } @@ -268,8 +651,19 @@ free_interpreter(PyInterpreterState *interp) e.g. by PyMem_RawCalloc() or memset(), or otherwise pre-initialized. The runtime state is not manipulated. Instead it is assumed that the interpreter is getting added to the runtime. - */ + Note that the main interpreter was statically initialized as part + of the runtime and most state is already set properly. That leaves + a small number of fields to initialize dynamically, as well as some + that are initialized lazily. + + For subinterpreters we memcpy() the main interpreter in + PyInterpreterState_New(), leaving it in the same mostly-initialized + state. The only difference is that the interpreter has some + self-referential state that is statically initializexd to the + main interpreter. We fix those fields here, in addition + to the other dynamically initialized fields. + */ static void init_interpreter(PyInterpreterState *interp, _PyRuntimeState *runtime, int64_t id, @@ -290,10 +684,38 @@ init_interpreter(PyInterpreterState *interp, assert(next != NULL || (interp == runtime->interpreters.main)); interp->next = next; - _PyEval_InitState(&interp->ceval, pending_lock); + /* Initialize obmalloc, but only for subinterpreters, + since the main interpreter is initialized statically. */ + if (interp != &runtime->_main_interpreter) { + poolp temp[OBMALLOC_USED_POOLS_SIZE] = \ + _obmalloc_pools_INIT(interp->obmalloc.pools); + memcpy(&interp->obmalloc.pools.used, temp, sizeof(temp)); + } + _PyObject_InitState(interp); + + _PyEval_InitState(interp, pending_lock); _PyGC_InitState(&interp->gc); PyConfig_InitPythonConfig(&interp->config); _PyType_InitCache(interp); + for (int i = 0; i < _PY_MONITORING_UNGROUPED_EVENTS; i++) { + interp->monitors.tools[i] = 0; + } + for (int t = 0; t < PY_MONITORING_TOOL_IDS; t++) { + for (int e = 0; e < _PY_MONITORING_EVENTS; e++) { + interp->monitoring_callables[t][e] = NULL; + + } + } + interp->sys_profile_initialized = false; + interp->sys_trace_initialized = false; + if (interp != &runtime->_main_interpreter) { + /* Fix the self-referential, statically initialized fields. */ + interp->dtoa = (struct _dtoa_state)_dtoa_state_INIT(interp); + } + interp->f_opcode_trace_set = false; + + assert(runtime->xidregistry.mutex != NULL); + interp->xidregistry.mutex = runtime->xidregistry.mutex; interp->_initialized = 1; } @@ -302,7 +724,8 @@ PyInterpreterState * PyInterpreterState_New(void) { PyInterpreterState *interp; - PyThreadState *tstate = _PyThreadState_GET(); + _PyRuntimeState *runtime = &_PyRuntime; + PyThreadState *tstate = current_fast_get(runtime); /* tstate is NULL when Py_InitializeFromConfig() calls PyInterpreterState_New() to create the main interpreter. */ @@ -319,7 +742,6 @@ PyInterpreterState_New(void) } /* Don't get runtime from tstate since tstate can be NULL. */ - _PyRuntimeState *runtime = &_PyRuntime; struct pyinterpreters *interpreters = &runtime->interpreters; /* We completely serialize creation of multiple interpreters, since @@ -341,7 +763,6 @@ PyInterpreterState_New(void) interp = &runtime->_main_interpreter; assert(interp->id == 0); assert(interp->next == NULL); - assert(interp->_static); interpreters->main = interp; } @@ -356,9 +777,6 @@ PyInterpreterState_New(void) // Set to _PyInterpreterState_INIT. memcpy(interp, &initial._main_interpreter, sizeof(*interp)); - // We need to adjust any fields that are different from the initial - // interpreter (as defined in _PyInterpreterState_INIT): - interp->_static = false; if (id < 0) { /* overflow or Py_Initialize() not called yet! */ @@ -390,8 +808,20 @@ error: static void interpreter_clear(PyInterpreterState *interp, PyThreadState *tstate) { + assert(interp != NULL); + assert(tstate != NULL); _PyRuntimeState *runtime = interp->runtime; + /* XXX Conditions we need to enforce: + + * the GIL must be held by the current thread + * tstate must be the "current" thread state (current_fast_get()) + * tstate->interp must be interp + * for the main interpreter, tstate must be the main thread + */ + // XXX Ideally, we would not rely on any thread state in this function + // (and we would drop the "tstate" argument). + if (_PySys_Audit(tstate, "cpython.PyInterpreterState_Clear", NULL) < 0) { _PyErr_Clear(tstate); } @@ -409,18 +839,48 @@ interpreter_clear(PyInterpreterState *interp, PyThreadState *tstate) p = p->next; HEAD_UNLOCK(runtime); } + if (tstate->interp == interp) { + /* We fix tstate->_status below when we for sure aren't using it + (e.g. no longer need the GIL). */ + // XXX Eliminate the need to do this. + tstate->_status.cleared = 0; + } + + /* It is possible that any of the objects below have a finalizer + that runs Python code or otherwise relies on a thread state + or even the interpreter state. For now we trust that isn't + a problem. + */ + // XXX Make sure we properly deal with problematic finalizers. Py_CLEAR(interp->audit_hooks); + for (int i = 0; i < _PY_MONITORING_UNGROUPED_EVENTS; i++) { + interp->monitors.tools[i] = 0; + } + for (int t = 0; t < PY_MONITORING_TOOL_IDS; t++) { + for (int e = 0; e < _PY_MONITORING_EVENTS; e++) { + Py_CLEAR(interp->monitoring_callables[t][e]); + } + } + interp->sys_profile_initialized = false; + interp->sys_trace_initialized = false; + for (int t = 0; t < PY_MONITORING_TOOL_IDS; t++) { + Py_CLEAR(interp->monitoring_tool_names[t]); + } + PyConfig_Clear(&interp->config); Py_CLEAR(interp->codec_search_path); Py_CLEAR(interp->codec_search_cache); Py_CLEAR(interp->codec_error_registry); - Py_CLEAR(interp->modules); - Py_CLEAR(interp->modules_by_index); + + assert(interp->imports.modules == NULL); + assert(interp->imports.modules_by_index == NULL); + assert(interp->imports.importlib == NULL); + assert(interp->imports.import_func == NULL); + + Py_CLEAR(interp->sysdict_copy); Py_CLEAR(interp->builtins_copy); - Py_CLEAR(interp->importlib); - Py_CLEAR(interp->import_func); Py_CLEAR(interp->dict); #ifdef HAVE_FORK Py_CLEAR(interp->before_forkers); @@ -447,7 +907,36 @@ interpreter_clear(PyInterpreterState *interp, PyThreadState *tstate) PyDict_Clear(interp->builtins); Py_CLEAR(interp->sysdict); Py_CLEAR(interp->builtins); + Py_CLEAR(interp->interpreter_trampoline); + + _xidregistry_clear(&interp->xidregistry); + /* The lock is owned by the runtime, so we don't free it here. */ + interp->xidregistry.mutex = NULL; + + if (tstate->interp == interp) { + /* We are now safe to fix tstate->_status.cleared. */ + // XXX Do this (much) earlier? + tstate->_status.cleared = 1; + } + + for (int i=0; i < DICT_MAX_WATCHERS; i++) { + interp->dict_state.watchers[i] = NULL; + } + for (int i=0; i < TYPE_MAX_WATCHERS; i++) { + interp->type_watchers[i] = NULL; + } + + for (int i=0; i < FUNC_MAX_WATCHERS; i++) { + interp->func_watchers[i] = NULL; + } + interp->active_func_watchers = 0; + + for (int i=0; i < CODE_MAX_WATCHERS; i++) { + interp->code_watchers[i] = NULL; + } + interp->active_code_watchers = 0; + interp->f_opcode_trace_set = false; // XXX Once we have one allocator per interpreter (i.e. // per-interpreter GC) we must ensure that all of the interpreter's // objects have been cleaned up at the point. @@ -460,8 +949,8 @@ PyInterpreterState_Clear(PyInterpreterState *interp) // Use the current Python thread state to call audit hooks and to collect // garbage. It can be different than the current Python thread state // of 'interp'. - PyThreadState *current_tstate = _PyThreadState_GET(); - + PyThreadState *current_tstate = current_fast_get(interp->runtime); + _PyImport_ClearCore(interp); interpreter_clear(interp, current_tstate); } @@ -469,33 +958,40 @@ PyInterpreterState_Clear(PyInterpreterState *interp) void _PyInterpreterState_Clear(PyThreadState *tstate) { + _PyImport_ClearCore(tstate->interp); interpreter_clear(tstate->interp, tstate); } -static void -zapthreads(PyInterpreterState *interp, int check_current) -{ - PyThreadState *tstate; - /* No need to lock the mutex here because this should only happen - when the threads are all really dead (XXX famous last words). */ - while ((tstate = interp->threads.head) != NULL) { - _PyThreadState_Delete(tstate, check_current); - } -} - +static inline void tstate_deactivate(PyThreadState *tstate); +static void zapthreads(PyInterpreterState *interp); void PyInterpreterState_Delete(PyInterpreterState *interp) { _PyRuntimeState *runtime = interp->runtime; struct pyinterpreters *interpreters = &runtime->interpreters; - zapthreads(interp, 0); + + // XXX Clearing the "current" thread state should happen before + // we start finalizing the interpreter (or the current thread state). + PyThreadState *tcur = current_fast_get(runtime); + if (tcur != NULL && interp == tcur->interp) { + /* Unset current thread. After this, many C API calls become crashy. */ + current_fast_clear(runtime); + tstate_deactivate(tcur); + _PyEval_ReleaseLock(interp, NULL); + } + + zapthreads(interp); _PyEval_FiniState(&interp->ceval); - /* Delete current thread. After this, many C API calls become crashy. */ - _PyThreadState_Swap(&runtime->gilstate, NULL); + // XXX These two calls should be done at the end of clear_interpreter(), + // but currently some objects get decref'ed after that. +#ifdef Py_REF_DEBUG + _PyInterpreterState_FinalizeRefTotal(interp); +#endif + _PyInterpreterState_FinalizeAllocatedBlocks(interp); HEAD_LOCK(runtime); PyInterpreterState **p; @@ -535,10 +1031,9 @@ PyInterpreterState_Delete(PyInterpreterState *interp) PyStatus _PyInterpreterState_DeleteExceptMain(_PyRuntimeState *runtime) { - struct _gilstate_runtime_state *gilstate = &runtime->gilstate; struct pyinterpreters *interpreters = &runtime->interpreters; - PyThreadState *tstate = _PyThreadState_Swap(gilstate, NULL); + PyThreadState *tstate = _PyThreadState_Swap(runtime, NULL); if (tstate != NULL && tstate->interp != interpreters->main) { return _PyStatus_ERR("not main interpreter"); } @@ -554,8 +1049,10 @@ _PyInterpreterState_DeleteExceptMain(_PyRuntimeState *runtime) continue; } + // XXX Won't this fail since PyInterpreterState_Clear() requires + // the "current" tstate to be set? PyInterpreterState_Clear(interp); // XXX must activate? - zapthreads(interp, 1); + zapthreads(interp); if (interp->id_mutex != NULL) { PyThread_free_lock(interp->id_mutex); } @@ -568,24 +1065,48 @@ _PyInterpreterState_DeleteExceptMain(_PyRuntimeState *runtime) if (interpreters->head == NULL) { return _PyStatus_ERR("missing main interpreter"); } - _PyThreadState_Swap(gilstate, tstate); + _PyThreadState_Swap(runtime, tstate); return _PyStatus_OK(); } #endif -PyInterpreterState * -PyInterpreterState_Get(void) +int +_PyInterpreterState_SetRunningMain(PyInterpreterState *interp) { - PyThreadState *tstate = _PyThreadState_GET(); + if (interp->threads_main != NULL) { + PyErr_SetString(PyExc_RuntimeError, + "interpreter already running"); + return -1; + } + PyThreadState *tstate = current_fast_get(&_PyRuntime); _Py_EnsureTstateNotNULL(tstate); - PyInterpreterState *interp = tstate->interp; - if (interp == NULL) { - Py_FatalError("no current interpreter"); + if (tstate->interp != interp) { + PyErr_SetString(PyExc_RuntimeError, + "current tstate has wrong interpreter"); + return -1; } - return interp; + interp->threads_main = tstate; + return 0; } +void +_PyInterpreterState_SetNotRunningMain(PyInterpreterState *interp) +{ + assert(interp->threads_main == current_fast_get(&_PyRuntime)); + interp->threads_main = NULL; +} + +int +_PyInterpreterState_IsRunningMain(PyInterpreterState *interp) +{ + return (interp->threads_main != NULL); +} + + +//---------- +// accessors +//---------- int64_t PyInterpreterState_GetID(PyInterpreterState *interp) @@ -598,41 +1119,6 @@ PyInterpreterState_GetID(PyInterpreterState *interp) } -static PyInterpreterState * -interp_look_up_id(_PyRuntimeState *runtime, int64_t requested_id) -{ - PyInterpreterState *interp = runtime->interpreters.head; - while (interp != NULL) { - int64_t id = PyInterpreterState_GetID(interp); - if (id < 0) { - return NULL; - } - if (requested_id == id) { - return interp; - } - interp = PyInterpreterState_Next(interp); - } - return NULL; -} - -PyInterpreterState * -_PyInterpreterState_LookUpID(int64_t requested_id) -{ - PyInterpreterState *interp = NULL; - if (requested_id >= 0) { - _PyRuntimeState *runtime = &_PyRuntime; - HEAD_LOCK(runtime); - interp = interp_look_up_id(runtime, requested_id); - HEAD_UNLOCK(runtime); - } - if (interp == NULL && !PyErr_Occurred()) { - PyErr_Format(PyExc_RuntimeError, - "unrecognized interpreter ID %lld", requested_id); - } - return interp; -} - - int _PyInterpreterState_IDInitref(PyInterpreterState *interp) { @@ -668,8 +1154,8 @@ void _PyInterpreterState_IDDecref(PyInterpreterState *interp) { assert(interp->id_mutex != NULL); + _PyRuntimeState *runtime = interp->runtime; - struct _gilstate_runtime_state *gilstate = &_PyRuntime.gilstate; PyThread_acquire_lock(interp->id_mutex, WAIT_LOCK); assert(interp->id_refcount != 0); interp->id_refcount -= 1; @@ -680,9 +1166,9 @@ _PyInterpreterState_IDDecref(PyInterpreterState *interp) // XXX Using the "head" thread isn't strictly correct. PyThreadState *tstate = PyInterpreterState_ThreadHead(interp); // XXX Possible GILState issues? - PyThreadState *save_tstate = _PyThreadState_Swap(gilstate, tstate); + PyThreadState *save_tstate = _PyThreadState_Swap(runtime, tstate); Py_EndInterpreter(tstate); - _PyThreadState_Swap(gilstate, save_tstate); + _PyThreadState_Swap(runtime, save_tstate); } } @@ -701,11 +1187,12 @@ _PyInterpreterState_RequireIDRef(PyInterpreterState *interp, int required) PyObject * _PyInterpreterState_GetMainModule(PyInterpreterState *interp) { - if (interp->modules == NULL) { + PyObject *modules = _PyImport_GetModules(interp); + if (modules == NULL) { PyErr_SetString(PyExc_RuntimeError, "interpreter not initialized"); return NULL; } - return PyMapping_GetItemString(interp->modules, "__main__"); + return PyMapping_GetItemString(modules, "__main__"); } PyObject * @@ -721,6 +1208,88 @@ PyInterpreterState_GetDict(PyInterpreterState *interp) return interp->dict; } + +//----------------------------- +// look up an interpreter state +//----------------------------- + +/* Return the interpreter associated with the current OS thread. + + The GIL must be held. + */ + +PyInterpreterState * +PyInterpreterState_Get(void) +{ + PyThreadState *tstate = current_fast_get(&_PyRuntime); + _Py_EnsureTstateNotNULL(tstate); + PyInterpreterState *interp = tstate->interp; + if (interp == NULL) { + Py_FatalError("no current interpreter"); + } + return interp; +} + + +static PyInterpreterState * +interp_look_up_id(_PyRuntimeState *runtime, int64_t requested_id) +{ + PyInterpreterState *interp = runtime->interpreters.head; + while (interp != NULL) { + int64_t id = PyInterpreterState_GetID(interp); + if (id < 0) { + return NULL; + } + if (requested_id == id) { + return interp; + } + interp = PyInterpreterState_Next(interp); + } + return NULL; +} + +/* Return the interpreter state with the given ID. + + Fail with RuntimeError if the interpreter is not found. */ + +PyInterpreterState * +_PyInterpreterState_LookUpID(int64_t requested_id) +{ + PyInterpreterState *interp = NULL; + if (requested_id >= 0) { + _PyRuntimeState *runtime = &_PyRuntime; + HEAD_LOCK(runtime); + interp = interp_look_up_id(runtime, requested_id); + HEAD_UNLOCK(runtime); + } + if (interp == NULL && !PyErr_Occurred()) { + PyErr_Format(PyExc_RuntimeError, + "unrecognized interpreter ID %lld", requested_id); + } + return interp; +} + + +/********************************/ +/* the per-thread runtime state */ +/********************************/ + +#ifndef NDEBUG +static inline int +tstate_is_alive(PyThreadState *tstate) +{ + return (tstate->_status.initialized && + !tstate->_status.finalized && + !tstate->_status.cleared && + !tstate->_status.finalizing); +} +#endif + + +//---------- +// lifecycle +//---------- + /* Minimum size of data stack chunk */ #define DATA_STACK_CHUNK_SIZE (16*1024) @@ -747,7 +1316,9 @@ alloc_threadstate(void) static void free_threadstate(PyThreadState *tstate) { - if (!tstate->_static) { + // The initial thread state of the interpreter is allocated + // as part of the interpreter state so should not be freed. + if (tstate != &tstate->interp->_initial_thread) { PyMem_RawFree(tstate); } } @@ -762,44 +1333,57 @@ free_threadstate(PyThreadState *tstate) static void init_threadstate(PyThreadState *tstate, - PyInterpreterState *interp, uint64_t id, - PyThreadState *next) + PyInterpreterState *interp, uint64_t id) { - if (tstate->_initialized) { + if (tstate->_status.initialized) { Py_FatalError("thread state already initialized"); } assert(interp != NULL); tstate->interp = interp; + // next/prev are set in add_threadstate(). + assert(tstate->next == NULL); + assert(tstate->prev == NULL); + assert(id > 0); tstate->id = id; - assert(interp->threads.head == tstate); - assert((next != NULL && id != 1) || (next == NULL && id == 1)); - if (next != NULL) { - assert(next->prev == NULL || next->prev == tstate); - next->prev = tstate; - } - tstate->next = next; - assert(tstate->prev == NULL); - - tstate->thread_id = PyThread_get_thread_ident(); -#ifdef PY_HAVE_THREAD_NATIVE_ID - tstate->native_thread_id = PyThread_get_thread_native_id(); -#endif + // thread_id and native_thread_id are set in bind_tstate(). - tstate->recursion_limit = interp->ceval.recursion_limit, - tstate->recursion_remaining = interp->ceval.recursion_limit, + tstate->py_recursion_limit = interp->ceval.recursion_limit, + tstate->py_recursion_remaining = interp->ceval.recursion_limit, + tstate->c_recursion_remaining = C_RECURSION_LIMIT; tstate->exc_info = &tstate->exc_state; + // PyGILState_Release must not try to delete this thread state. + // This is cleared when PyGILState_Ensure() creates the thread state. + tstate->gilstate_counter = 1; + tstate->cframe = &tstate->root_cframe; tstate->datastack_chunk = NULL; tstate->datastack_top = NULL; tstate->datastack_limit = NULL; + tstate->what_event = -1; + + tstate->_status.initialized = 1; +} - tstate->_initialized = 1; +static void +add_threadstate(PyInterpreterState *interp, PyThreadState *tstate, + PyThreadState *next) +{ + assert(interp->threads.head != tstate); + assert((next != NULL && tstate->id != 1) || + (next == NULL && tstate->id == 1)); + if (next != NULL) { + assert(next->prev == NULL || next->prev == tstate); + next->prev = tstate; + } + tstate->next = next; + assert(tstate->prev == NULL); + interp->threads.head = tstate; } static PyThreadState * @@ -829,7 +1413,6 @@ new_threadstate(PyInterpreterState *interp) assert(id == 1); used_newtstate = 0; tstate = &interp->_initial_thread; - assert(tstate->_static); } else { // Every valid interpreter must have at least one thread. @@ -841,13 +1424,10 @@ new_threadstate(PyInterpreterState *interp) memcpy(tstate, &initial._main_interpreter._initial_thread, sizeof(*tstate)); - // We need to adjust any fields that are different from the initial - // thread (as defined in _PyThreadState_INIT): - tstate->_static = false; } - interp->threads.head = tstate; - init_threadstate(tstate, interp, id, old_head); + init_threadstate(tstate, interp, id); + add_threadstate(interp, tstate, old_head); HEAD_UNLOCK(runtime); if (!used_newtstate) { @@ -861,189 +1441,99 @@ PyThreadState * PyThreadState_New(PyInterpreterState *interp) { PyThreadState *tstate = new_threadstate(interp); - _PyThreadState_SetCurrent(tstate); + if (tstate) { + bind_tstate(tstate); + // This makes sure there's a gilstate tstate bound + // as soon as possible. + if (gilstate_tss_get(tstate->interp->runtime) == NULL) { + bind_gilstate_tstate(tstate); + } + } return tstate; } +// This must be followed by a call to _PyThreadState_Bind(); PyThreadState * -_PyThreadState_Prealloc(PyInterpreterState *interp) +_PyThreadState_New(PyInterpreterState *interp) { return new_threadstate(interp); } -// We keep this around for (accidental) stable ABI compatibility. -// Realisically, no extensions are using it. -void -_PyThreadState_Init(PyThreadState *tstate) +// We keep this for stable ABI compabibility. +PyThreadState * +_PyThreadState_Prealloc(PyInterpreterState *interp) { - Py_FatalError("_PyThreadState_Init() is for internal use only"); + return _PyThreadState_New(interp); } +// We keep this around for (accidental) stable ABI compatibility. +// Realistically, no extensions are using it. void -_PyThreadState_SetCurrent(PyThreadState *tstate) -{ - // gh-104690: If Python is being finalized and PyInterpreterState_Delete() - // was called, tstate becomes a dangling pointer. - assert(_PyThreadState_CheckConsistency(tstate)); - - _PyGILState_NoteThreadState(&tstate->interp->runtime->gilstate, tstate); -} - -PyObject* -PyState_FindModule(PyModuleDef* module) -{ - Py_ssize_t index = module->m_base.m_index; - PyInterpreterState *state = _PyInterpreterState_GET(); - PyObject *res; - if (module->m_slots) { - return NULL; - } - if (index == 0) - return NULL; - if (state->modules_by_index == NULL) - return NULL; - if (index >= PyList_GET_SIZE(state->modules_by_index)) - return NULL; - res = PyList_GET_ITEM(state->modules_by_index, index); - return res==Py_None ? NULL : res; -} - -int -_PyState_AddModule(PyThreadState *tstate, PyObject* module, PyModuleDef* def) +_PyThreadState_Init(PyThreadState *tstate) { - if (!def) { - assert(_PyErr_Occurred(tstate)); - return -1; - } - if (def->m_slots) { - _PyErr_SetString(tstate, - PyExc_SystemError, - "PyState_AddModule called on module with slots"); - return -1; - } - - PyInterpreterState *interp = tstate->interp; - if (!interp->modules_by_index) { - interp->modules_by_index = PyList_New(0); - if (!interp->modules_by_index) { - return -1; - } - } - - while (PyList_GET_SIZE(interp->modules_by_index) <= def->m_base.m_index) { - if (PyList_Append(interp->modules_by_index, Py_None) < 0) { - return -1; - } - } - - Py_INCREF(module); - return PyList_SetItem(interp->modules_by_index, - def->m_base.m_index, module); + Py_FatalError("_PyThreadState_Init() is for internal use only"); } -int -PyState_AddModule(PyObject* module, PyModuleDef* def) -{ - if (!def) { - Py_FatalError("module definition is NULL"); - return -1; - } - - PyThreadState *tstate = _PyThreadState_GET(); - PyInterpreterState *interp = tstate->interp; - Py_ssize_t index = def->m_base.m_index; - if (interp->modules_by_index && - index < PyList_GET_SIZE(interp->modules_by_index) && - module == PyList_GET_ITEM(interp->modules_by_index, index)) - { - _Py_FatalErrorFormat(__func__, "module %p already added", module); - return -1; - } - return _PyState_AddModule(tstate, module, def); -} -int -PyState_RemoveModule(PyModuleDef* def) +static void +clear_datastack(PyThreadState *tstate) { - PyThreadState *tstate = _PyThreadState_GET(); - PyInterpreterState *interp = tstate->interp; - - if (def->m_slots) { - _PyErr_SetString(tstate, - PyExc_SystemError, - "PyState_RemoveModule called on module with slots"); - return -1; - } - - Py_ssize_t index = def->m_base.m_index; - if (index == 0) { - Py_FatalError("invalid module index"); - } - if (interp->modules_by_index == NULL) { - Py_FatalError("Interpreters module-list not accessible."); - } - if (index > PyList_GET_SIZE(interp->modules_by_index)) { - Py_FatalError("Module index out of bounds."); + _PyStackChunk *chunk = tstate->datastack_chunk; + tstate->datastack_chunk = NULL; + while (chunk != NULL) { + _PyStackChunk *prev = chunk->previous; + _PyObject_VirtualFree(chunk, chunk->size); + chunk = prev; } - - Py_INCREF(Py_None); - return PyList_SetItem(interp->modules_by_index, index, Py_None); } -// Used by finalize_modules() void -_PyInterpreterState_ClearModules(PyInterpreterState *interp) +PyThreadState_Clear(PyThreadState *tstate) { - if (!interp->modules_by_index) { - return; - } + assert(tstate->_status.initialized && !tstate->_status.cleared); + // XXX assert(!tstate->_status.bound || tstate->_status.unbound); + tstate->_status.finalizing = 1; // just in case - Py_ssize_t i; - for (i = 0; i < PyList_GET_SIZE(interp->modules_by_index); i++) { - PyObject *m = PyList_GET_ITEM(interp->modules_by_index, i); - if (PyModule_Check(m)) { - /* cleanup the saved copy of module dicts */ - PyModuleDef *md = PyModule_GetDef(m); - if (md) { - Py_CLEAR(md->m_base.m_copy); - } - } - } + /* XXX Conditions we need to enforce: - /* Setting modules_by_index to NULL could be dangerous, so we - clear the list instead. */ - if (PyList_SetSlice(interp->modules_by_index, - 0, PyList_GET_SIZE(interp->modules_by_index), - NULL)) { - PyErr_WriteUnraisable(interp->modules_by_index); - } -} + * the GIL must be held by the current thread + * current_fast_get()->interp must match tstate->interp + * for the main interpreter, current_fast_get() must be the main thread + */ -void -PyThreadState_Clear(PyThreadState *tstate) -{ int verbose = _PyInterpreterState_GetConfig(tstate->interp)->verbose; if (verbose && tstate->cframe->current_frame != NULL) { /* bpo-20526: After the main thread calls - _PyRuntimeState_SetFinalizing() in Py_FinalizeEx(), threads must - exit when trying to take the GIL. If a thread exit in the middle of - _PyEval_EvalFrameDefault(), tstate->frame is not reset to its - previous value. It is more likely with daemon threads, but it can - happen with regular threads if threading._shutdown() fails + _PyInterpreterState_SetFinalizing() in Py_FinalizeEx() + (or in Py_EndInterpreter() for subinterpreters), + threads must exit when trying to take the GIL. + If a thread exit in the middle of _PyEval_EvalFrameDefault(), + tstate->frame is not reset to its previous value. + It is more likely with daemon threads, but it can happen + with regular threads if threading._shutdown() fails (ex: interrupted by CTRL+C). */ fprintf(stderr, "PyThreadState_Clear: warning: thread still has a frame\n"); } + /* At this point tstate shouldn't be used any more, + neither to run Python code nor for other uses. + + This is tricky when current_fast_get() == tstate, in the same way + as noted in interpreter_clear() above. The below finalizers + can possibly run Python code or otherwise use the partially + cleared thread state. For now we trust that isn't a problem + in practice. + */ + // XXX Deal with the possibility of problematic finalizers. + /* Don't clear tstate->pyframe: it is a borrowed reference */ Py_CLEAR(tstate->dict); Py_CLEAR(tstate->async_exc); - Py_CLEAR(tstate->curexc_type); - Py_CLEAR(tstate->curexc_value); - Py_CLEAR(tstate->curexc_traceback); + Py_CLEAR(tstate->current_exception); Py_CLEAR(tstate->exc_state.exc_value); @@ -1053,8 +1543,14 @@ PyThreadState_Clear(PyThreadState *tstate) "PyThreadState_Clear: warning: thread still has a generator\n"); } - tstate->c_profilefunc = NULL; - tstate->c_tracefunc = NULL; + if (tstate->c_profilefunc != NULL) { + tstate->interp->sys_profiling_threads--; + tstate->c_profilefunc = NULL; + } + if (tstate->c_tracefunc != NULL) { + tstate->interp->sys_tracing_threads--; + tstate->c_tracefunc = NULL; + } Py_CLEAR(tstate->c_profileobj); Py_CLEAR(tstate->c_traceobj); @@ -1066,15 +1562,19 @@ PyThreadState_Clear(PyThreadState *tstate) if (tstate->on_delete != NULL) { tstate->on_delete(tstate->on_delete_data); } -} + tstate->_status.cleared = 1; + + // XXX Call _PyThreadStateSwap(runtime, NULL) here if "current". + // XXX Do it as early in the function as possible. +} /* Common code for PyThreadState_Delete() and PyThreadState_DeleteCurrent() */ static void -tstate_delete_common(PyThreadState *tstate, - struct _gilstate_runtime_state *gilstate) +tstate_delete_common(PyThreadState *tstate) { - _Py_EnsureTstateNotNULL(tstate); + assert(tstate->_status.cleared && !tstate->_status.finalized); + PyInterpreterState *interp = tstate->interp; if (interp == NULL) { Py_FatalError("NULL interpreter"); @@ -1093,38 +1593,40 @@ tstate_delete_common(PyThreadState *tstate, } HEAD_UNLOCK(runtime); - if (gilstate->autoInterpreterState && - PyThread_tss_get(&gilstate->autoTSSkey) == tstate) - { - PyThread_tss_set(&gilstate->autoTSSkey, NULL); - } - _PyStackChunk *chunk = tstate->datastack_chunk; - tstate->datastack_chunk = NULL; - while (chunk != NULL) { - _PyStackChunk *prev = chunk->previous; - _PyObject_VirtualFree(chunk, chunk->size); - chunk = prev; + // XXX Unbind in PyThreadState_Clear(), or earlier + // (and assert not-equal here)? + if (tstate->_status.bound_gilstate) { + unbind_gilstate_tstate(tstate); } + unbind_tstate(tstate); + + // XXX Move to PyThreadState_Clear()? + clear_datastack(tstate); + + tstate->_status.finalized = 1; } static void -_PyThreadState_Delete(PyThreadState *tstate, int check_current) +zapthreads(PyInterpreterState *interp) { - struct _gilstate_runtime_state *gilstate = &tstate->interp->runtime->gilstate; - if (check_current) { - if (tstate == _PyRuntimeGILState_GetThreadState(gilstate)) { - _Py_FatalErrorFormat(__func__, "tstate %p is still current", tstate); - } + PyThreadState *tstate; + /* No need to lock the mutex here because this should only happen + when the threads are all really dead (XXX famous last words). */ + while ((tstate = interp->threads.head) != NULL) { + tstate_verify_not_active(tstate); + tstate_delete_common(tstate); + free_threadstate(tstate); } - tstate_delete_common(tstate, gilstate); - free_threadstate(tstate); } void PyThreadState_Delete(PyThreadState *tstate) { - _PyThreadState_Delete(tstate, 1); + _Py_EnsureTstateNotNULL(tstate); + tstate_verify_not_active(tstate); + tstate_delete_common(tstate); + free_threadstate(tstate); } @@ -1132,18 +1634,16 @@ void _PyThreadState_DeleteCurrent(PyThreadState *tstate) { _Py_EnsureTstateNotNULL(tstate); - struct _gilstate_runtime_state *gilstate = &tstate->interp->runtime->gilstate; - tstate_delete_common(tstate, gilstate); - _PyRuntimeGILState_SetThreadState(gilstate, NULL); - _PyEval_ReleaseLock(tstate); + tstate_delete_common(tstate); + current_fast_clear(tstate->interp->runtime); + _PyEval_ReleaseLock(tstate->interp, NULL); free_threadstate(tstate); } void PyThreadState_DeleteCurrent(void) { - struct _gilstate_runtime_state *gilstate = &_PyRuntime.gilstate; - PyThreadState *tstate = _PyRuntimeGILState_GetThreadState(gilstate); + PyThreadState *tstate = current_fast_get(&_PyRuntime); _PyThreadState_DeleteCurrent(tstate); } @@ -1156,9 +1656,11 @@ PyThreadState_DeleteCurrent(void) * be kept in those other interpreters. */ void -_PyThreadState_DeleteExcept(_PyRuntimeState *runtime, PyThreadState *tstate) +_PyThreadState_DeleteExcept(PyThreadState *tstate) { + assert(tstate != NULL); PyInterpreterState *interp = tstate->interp; + _PyRuntimeState *runtime = interp->runtime; HEAD_LOCK(runtime); /* Remove all thread states, except tstate, from the linked list of @@ -1190,52 +1692,9 @@ _PyThreadState_DeleteExcept(_PyRuntimeState *runtime, PyThreadState *tstate) } -PyThreadState * -_PyThreadState_UncheckedGet(void) -{ - return _PyThreadState_GET(); -} - - -PyThreadState * -PyThreadState_Get(void) -{ - PyThreadState *tstate = _PyThreadState_GET(); - _Py_EnsureTstateNotNULL(tstate); - return tstate; -} - - -PyThreadState * -_PyThreadState_Swap(struct _gilstate_runtime_state *gilstate, PyThreadState *newts) -{ - PyThreadState *oldts = _PyRuntimeGILState_GetThreadState(gilstate); - - _PyRuntimeGILState_SetThreadState(gilstate, newts); - /* It should not be possible for more than one thread state - to be used for a thread. Check this the best we can in debug - builds. - */ -#if defined(Py_DEBUG) - if (newts) { - /* This can be called from PyEval_RestoreThread(). Similar - to it, we need to ensure errno doesn't change. - */ - int err = errno; - PyThreadState *check = _PyGILState_GetThisThreadState(gilstate); - if (check && check->interp == newts->interp && check != newts) - Py_FatalError("Invalid thread state for this thread"); - errno = err; - } -#endif - return oldts; -} - -PyThreadState * -PyThreadState_Swap(PyThreadState *newts) -{ - return _PyThreadState_Swap(&_PyRuntime.gilstate, newts); -} +//---------- +// accessors +//---------- /* An extension mechanism to store arbitrary additional per-thread state. PyThreadState_GetDict() returns a dictionary that can be used to hold such @@ -1260,7 +1719,7 @@ _PyThreadState_GetDict(PyThreadState *tstate) PyObject * PyThreadState_GetDict(void) { - PyThreadState *tstate = _PyThreadState_GET(); + PyThreadState *tstate = current_fast_get(&_PyRuntime); if (tstate == NULL) { return NULL; } @@ -1280,10 +1739,7 @@ PyFrameObject* PyThreadState_GetFrame(PyThreadState *tstate) { assert(tstate != NULL); - _PyInterpreterFrame *f = tstate->cframe->current_frame; - while (f && _PyFrame_IsIncomplete(f)) { - f = f->previous; - } + _PyInterpreterFrame *f = _PyThreadState_GetFrame(tstate); if (f == NULL) { return NULL; } @@ -1291,8 +1747,7 @@ PyThreadState_GetFrame(PyThreadState *tstate) if (frame == NULL) { PyErr_Clear(); } - Py_XINCREF(frame); - return frame; + return (PyFrameObject*)Py_XNewRef(frame); } @@ -1304,6 +1759,42 @@ PyThreadState_GetID(PyThreadState *tstate) } +static inline void +tstate_activate(PyThreadState *tstate) +{ + assert(tstate != NULL); + // XXX assert(tstate_is_alive(tstate)); + assert(tstate_is_bound(tstate)); + assert(!tstate->_status.active); + + assert(!tstate->_status.bound_gilstate || + tstate == gilstate_tss_get((tstate->interp->runtime))); + if (!tstate->_status.bound_gilstate) { + bind_gilstate_tstate(tstate); + } + + tstate->_status.active = 1; +} + +static inline void +tstate_deactivate(PyThreadState *tstate) +{ + assert(tstate != NULL); + // XXX assert(tstate_is_alive(tstate)); + assert(tstate_is_bound(tstate)); + assert(tstate->_status.active); + + tstate->_status.active = 0; + + // We do not unbind the gilstate tstate here. + // It will still be used in PyGILState_Ensure(). +} + + +//---------- +// other API +//---------- + /* Asynchronously raise an exception in a thread. Requested by Just van Rossum and Alex Martelli. To prevent naive misuse, you must write your own extension @@ -1312,11 +1803,13 @@ PyThreadState_GetID(PyThreadState *tstate) match any known thread id). Can be called with exc=NULL to clear an existing async exception. This raises no exceptions. */ +// XXX Move this to Python/ceval_gil.c? +// XXX Deprecate this. int PyThreadState_SetAsyncExc(unsigned long id, PyObject *exc) { _PyRuntimeState *runtime = &_PyRuntime; - PyInterpreterState *interp = _PyRuntimeState_GetThreadState(runtime)->interp; + PyInterpreterState *interp = _PyInterpreterState_GET(); /* Although the GIL is held, a few C API functions can be called * without the GIL held, and in particular some that create and @@ -1338,8 +1831,7 @@ PyThreadState_SetAsyncExc(unsigned long id, PyObject *exc) * the decref. */ PyObject *old_exc = tstate->async_exc; - Py_XINCREF(exc); - tstate->async_exc = exc; + tstate->async_exc = Py_XNewRef(exc); HEAD_UNLOCK(runtime); Py_XDECREF(old_exc); @@ -1350,8 +1842,109 @@ PyThreadState_SetAsyncExc(unsigned long id, PyObject *exc) return 0; } -/* Routines for advanced debuggers, requested by David Beazley. - Don't use unless you know what you are doing! */ + +//--------------------------------- +// API for the current thread state +//--------------------------------- + +PyThreadState * +_PyThreadState_UncheckedGet(void) +{ + return current_fast_get(&_PyRuntime); +} + + +PyThreadState * +PyThreadState_Get(void) +{ + PyThreadState *tstate = current_fast_get(&_PyRuntime); + _Py_EnsureTstateNotNULL(tstate); + return tstate; +} + + +static void +_swap_thread_states(_PyRuntimeState *runtime, + PyThreadState *oldts, PyThreadState *newts) +{ + // XXX Do this only if oldts != NULL? + current_fast_clear(runtime); + + if (oldts != NULL) { + // XXX assert(tstate_is_alive(oldts) && tstate_is_bound(oldts)); + tstate_deactivate(oldts); + } + + if (newts != NULL) { + // XXX assert(tstate_is_alive(newts)); + assert(tstate_is_bound(newts)); + current_fast_set(runtime, newts); + tstate_activate(newts); + } +} + +PyThreadState * +_PyThreadState_SwapNoGIL(PyThreadState *newts) +{ +#if defined(Py_DEBUG) + /* This can be called from PyEval_RestoreThread(). Similar + to it, we need to ensure errno doesn't change. + */ + int err = errno; +#endif + + PyThreadState *oldts = current_fast_get(&_PyRuntime); + _swap_thread_states(&_PyRuntime, oldts, newts); + +#if defined(Py_DEBUG) + errno = err; +#endif + return oldts; +} + +PyThreadState * +_PyThreadState_Swap(_PyRuntimeState *runtime, PyThreadState *newts) +{ + PyThreadState *oldts = current_fast_get(runtime); + if (oldts != NULL) { + _PyEval_ReleaseLock(oldts->interp, oldts); + } + _swap_thread_states(runtime, oldts, newts); + if (newts != NULL) { + _PyEval_AcquireLock(newts); + } + return oldts; +} + +PyThreadState * +PyThreadState_Swap(PyThreadState *newts) +{ + return _PyThreadState_Swap(&_PyRuntime, newts); +} + + +void +_PyThreadState_Bind(PyThreadState *tstate) +{ + // gh-104690: If Python is being finalized and PyInterpreterState_Delete() + // was called, tstate becomes a dangling pointer. + assert(_PyThreadState_CheckConsistency(tstate)); + + bind_tstate(tstate); + // This makes sure there's a gilstate tstate bound + // as soon as possible. + if (gilstate_tss_get(tstate->interp->runtime) == NULL) { + bind_gilstate_tstate(tstate); + } +} + + +/***********************************/ +/* routines for advanced debuggers */ +/***********************************/ + +// (requested by David Beazley) +// Don't use unless you know what you are doing! PyInterpreterState * PyInterpreterState_Head(void) @@ -1380,6 +1973,11 @@ PyThreadState_Next(PyThreadState *tstate) { return tstate->next; } + +/********************************************/ +/* reporting execution state of all threads */ +/********************************************/ + /* The implementation of sys._current_frames(). This is intended to be called with the GIL held, as it will be when called via sys._current_frames(). It's possible it would work fine even without @@ -1388,7 +1986,8 @@ PyThreadState_Next(PyThreadState *tstate) { PyObject * _PyThread_CurrentFrames(void) { - PyThreadState *tstate = _PyThreadState_GET(); + _PyRuntimeState *runtime = &_PyRuntime; + PyThreadState *tstate = current_fast_get(runtime); if (_PySys_Audit(tstate, "sys._current_frames", NULL) < 0) { return NULL; } @@ -1404,16 +2003,13 @@ _PyThread_CurrentFrames(void) * Because these lists can mutate even when the GIL is held, we * need to grab head_mutex for the duration. */ - _PyRuntimeState *runtime = tstate->interp->runtime; HEAD_LOCK(runtime); PyInterpreterState *i; for (i = runtime->interpreters.head; i != NULL; i = i->next) { PyThreadState *t; for (t = i->threads.head; t != NULL; t = t->next) { _PyInterpreterFrame *frame = t->cframe->current_frame; - while (frame && _PyFrame_IsIncomplete(frame)) { - frame = frame->previous; - } + frame = _PyFrame_GetFirstComplete(frame); if (frame == NULL) { continue; } @@ -1443,10 +2039,16 @@ done: return result; } +/* The implementation of sys._current_exceptions(). This is intended to be + called with the GIL held, as it will be when called via + sys._current_exceptions(). It's possible it would work fine even without + the GIL held, but haven't thought enough about that. +*/ PyObject * _PyThread_CurrentExceptions(void) { - PyThreadState *tstate = _PyThreadState_GET(); + _PyRuntimeState *runtime = &_PyRuntime; + PyThreadState *tstate = current_fast_get(runtime); _Py_EnsureTstateNotNULL(tstate); @@ -1465,7 +2067,6 @@ _PyThread_CurrentExceptions(void) * Because these lists can mutate even when the GIL is held, we * need to grab head_mutex for the duration. */ - _PyRuntimeState *runtime = tstate->interp->runtime; HEAD_LOCK(runtime); PyInterpreterState *i; for (i = runtime->interpreters.head; i != NULL; i = i->next) { @@ -1479,14 +2080,13 @@ _PyThread_CurrentExceptions(void) if (id == NULL) { goto fail; } - PyObject *exc_info = _PyErr_StackItemToExcInfoTuple(err_info); - if (exc_info == NULL) { - Py_DECREF(id); - goto fail; - } - int stat = PyDict_SetItem(result, id, exc_info); + PyObject *exc = err_info->exc_value; + assert(exc == NULL || + exc == Py_None || + PyExceptionInstance_Check(exc)); + + int stat = PyDict_SetItem(result, id, exc == NULL ? Py_None : exc); Py_DECREF(id); - Py_DECREF(exc_info); if (stat < 0) { goto fail; } @@ -1502,183 +2102,108 @@ done: return result; } -/* Python "auto thread state" API. */ -/* Keep this as a static, as it is not reliable! It can only - ever be compared to the state for the *current* thread. - * If not equal, then it doesn't matter that the actual - value may change immediately after comparison, as it can't - possibly change to the current thread's state. - * If equal, then the current thread holds the lock, so the value can't - change until we yield the lock. -*/ -static int -PyThreadState_IsCurrent(PyThreadState *tstate) -{ - /* Must be the tstate for this thread */ - struct _gilstate_runtime_state *gilstate = &_PyRuntime.gilstate; - assert(_PyGILState_GetThisThreadState(gilstate) == tstate); - return tstate == _PyRuntimeGILState_GetThreadState(gilstate); -} +/***********************************/ +/* Python "auto thread state" API. */ +/***********************************/ /* Internal initialization/finalization functions called by Py_Initialize/Py_FinalizeEx */ PyStatus -_PyGILState_Init(_PyRuntimeState *runtime) -{ - struct _gilstate_runtime_state *gilstate = &runtime->gilstate; - if (PyThread_tss_create(&gilstate->autoTSSkey) != 0) { - return _PyStatus_NO_MEMORY(); - } - // PyThreadState_New() calls _PyGILState_NoteThreadState() which does - // nothing before autoInterpreterState is set. - assert(gilstate->autoInterpreterState == NULL); - return _PyStatus_OK(); -} - - -PyStatus -_PyGILState_SetTstate(PyThreadState *tstate) +_PyGILState_Init(PyInterpreterState *interp) { - if (!_Py_IsMainInterpreter(tstate->interp)) { + if (!_Py_IsMainInterpreter(interp)) { /* Currently, PyGILState is shared by all interpreters. The main * interpreter is responsible to initialize it. */ return _PyStatus_OK(); } - - /* must init with valid states */ - assert(tstate != NULL); - assert(tstate->interp != NULL); - - struct _gilstate_runtime_state *gilstate = &tstate->interp->runtime->gilstate; - - gilstate->autoInterpreterState = tstate->interp; - assert(PyThread_tss_get(&gilstate->autoTSSkey) == NULL); - assert(tstate->gilstate_counter == 0); - - _PyGILState_NoteThreadState(gilstate, tstate); + _PyRuntimeState *runtime = interp->runtime; + assert(gilstate_tss_get(runtime) == NULL); + assert(runtime->gilstate.autoInterpreterState == NULL); + runtime->gilstate.autoInterpreterState = interp; return _PyStatus_OK(); } -PyInterpreterState * -_PyGILState_GetInterpreterStateUnsafe(void) -{ - return _PyRuntime.gilstate.autoInterpreterState; -} - void _PyGILState_Fini(PyInterpreterState *interp) { - struct _gilstate_runtime_state *gilstate = &interp->runtime->gilstate; - PyThread_tss_delete(&gilstate->autoTSSkey); - gilstate->autoInterpreterState = NULL; + if (!_Py_IsMainInterpreter(interp)) { + /* Currently, PyGILState is shared by all interpreters. The main + * interpreter is responsible to initialize it. */ + return; + } + interp->runtime->gilstate.autoInterpreterState = NULL; } -#ifdef HAVE_FORK -/* Reset the TSS key - called by PyOS_AfterFork_Child(). - * This should not be necessary, but some - buggy - pthread implementations - * don't reset TSS upon fork(), see issue #10517. - */ + +// XXX Drop this. PyStatus -_PyGILState_Reinit(_PyRuntimeState *runtime) +_PyGILState_SetTstate(PyThreadState *tstate) { - struct _gilstate_runtime_state *gilstate = &runtime->gilstate; - PyThreadState *tstate = _PyGILState_GetThisThreadState(gilstate); + /* must init with valid states */ + assert(tstate != NULL); + assert(tstate->interp != NULL); - PyThread_tss_delete(&gilstate->autoTSSkey); - if (PyThread_tss_create(&gilstate->autoTSSkey) != 0) { - return _PyStatus_NO_MEMORY(); + if (!_Py_IsMainInterpreter(tstate->interp)) { + /* Currently, PyGILState is shared by all interpreters. The main + * interpreter is responsible to initialize it. */ + return _PyStatus_OK(); } - /* If the thread had an associated auto thread state, reassociate it with - * the new key. */ - if (tstate && - PyThread_tss_set(&gilstate->autoTSSkey, (void *)tstate) != 0) - { - return _PyStatus_ERR("failed to set autoTSSkey"); - } +#ifndef NDEBUG + _PyRuntimeState *runtime = tstate->interp->runtime; + + assert(runtime->gilstate.autoInterpreterState == tstate->interp); + assert(gilstate_tss_get(runtime) == tstate); + assert(tstate->gilstate_counter == 1); +#endif + return _PyStatus_OK(); } -#endif -/* When a thread state is created for a thread by some mechanism other than - PyGILState_Ensure, it's important that the GILState machinery knows about - it so it doesn't try to create another thread state for the thread (this is - a better fix for SF bug #1010677 than the first one attempted). -*/ -static void -_PyGILState_NoteThreadState(struct _gilstate_runtime_state *gilstate, PyThreadState* tstate) +PyInterpreterState * +_PyGILState_GetInterpreterStateUnsafe(void) { - /* If autoTSSkey isn't initialized, this must be the very first - threadstate created in Py_Initialize(). Don't do anything for now - (we'll be back here when _PyGILState_Init is called). */ - if (!gilstate->autoInterpreterState) { - return; - } - - /* Stick the thread state for this thread in thread specific storage. - - The only situation where you can legitimately have more than one - thread state for an OS level thread is when there are multiple - interpreters. - - You shouldn't really be using the PyGILState_ APIs anyway (see issues - #10915 and #15751). - - The first thread state created for that given OS level thread will - "win", which seems reasonable behaviour. - */ - if (PyThread_tss_get(&gilstate->autoTSSkey) == NULL) { - if ((PyThread_tss_set(&gilstate->autoTSSkey, (void *)tstate)) != 0) { - Py_FatalError("Couldn't create autoTSSkey mapping"); - } - } - - /* PyGILState_Release must not try to delete this thread state. */ - tstate->gilstate_counter = 1; + return _PyRuntime.gilstate.autoInterpreterState; } /* The public functions */ -static PyThreadState * -_PyGILState_GetThisThreadState(struct _gilstate_runtime_state *gilstate) -{ - if (gilstate->autoInterpreterState == NULL) - return NULL; - return (PyThreadState *)PyThread_tss_get(&gilstate->autoTSSkey); -} PyThreadState * PyGILState_GetThisThreadState(void) { - return _PyGILState_GetThisThreadState(&_PyRuntime.gilstate); + _PyRuntimeState *runtime = &_PyRuntime; + if (!gilstate_tss_initialized(runtime)) { + return NULL; + } + return gilstate_tss_get(runtime); } int PyGILState_Check(void) { - struct _gilstate_runtime_state *gilstate = &_PyRuntime.gilstate; - if (!gilstate->check_enabled) { + _PyRuntimeState *runtime = &_PyRuntime; + if (!runtime->gilstate.check_enabled) { return 1; } - if (!PyThread_tss_is_created(&gilstate->autoTSSkey)) { + if (!gilstate_tss_initialized(runtime)) { return 1; } - PyThreadState *tstate = _PyRuntimeGILState_GetThreadState(gilstate); + PyThreadState *tstate = current_fast_get(runtime); if (tstate == NULL) { return 0; } - return (tstate == _PyGILState_GetThisThreadState(gilstate)); + return (tstate == gilstate_tss_get(runtime)); } PyGILState_STATE PyGILState_Ensure(void) { _PyRuntimeState *runtime = &_PyRuntime; - struct _gilstate_runtime_state *gilstate = &runtime->gilstate; /* Note that we do not auto-init Python here - apart from potential races with 2 threads auto-initializing, pep-311 @@ -1687,28 +2212,32 @@ PyGILState_Ensure(void) /* Ensure that _PyEval_InitThreads() and _PyGILState_Init() have been called by Py_Initialize() */ - assert(_PyEval_ThreadsInitialized(runtime)); - assert(gilstate->autoInterpreterState); + assert(_PyEval_ThreadsInitialized()); + assert(gilstate_tss_initialized(runtime)); + assert(runtime->gilstate.autoInterpreterState != NULL); - PyThreadState *tcur = (PyThreadState *)PyThread_tss_get(&gilstate->autoTSSkey); - int current; + PyThreadState *tcur = gilstate_tss_get(runtime); + int has_gil; if (tcur == NULL) { /* Create a new Python thread state for this thread */ - tcur = PyThreadState_New(gilstate->autoInterpreterState); + tcur = new_threadstate(runtime->gilstate.autoInterpreterState); if (tcur == NULL) { Py_FatalError("Couldn't create thread-state for new thread"); } + bind_tstate(tcur); + bind_gilstate_tstate(tcur); /* This is our thread state! We'll need to delete it in the matching call to PyGILState_Release(). */ + assert(tcur->gilstate_counter == 1); tcur->gilstate_counter = 0; - current = 0; /* new thread state is never current */ + has_gil = 0; /* new thread state is never current */ } else { - current = PyThreadState_IsCurrent(tcur); + has_gil = holds_gil(tcur); } - if (current == 0) { + if (!has_gil) { PyEval_RestoreThread(tcur); } @@ -1719,14 +2248,14 @@ PyGILState_Ensure(void) */ ++tcur->gilstate_counter; - return current ? PyGILState_LOCKED : PyGILState_UNLOCKED; + return has_gil ? PyGILState_LOCKED : PyGILState_UNLOCKED; } void PyGILState_Release(PyGILState_STATE oldstate) { _PyRuntimeState *runtime = &_PyRuntime; - PyThreadState *tstate = PyThread_tss_get(&runtime->gilstate.autoTSSkey); + PyThreadState *tstate = gilstate_tss_get(runtime); if (tstate == NULL) { Py_FatalError("auto-releasing thread-state, " "but no thread-state for this thread"); @@ -1737,12 +2266,12 @@ PyGILState_Release(PyGILState_STATE oldstate) but while this is very new (April 2003), the extra check by release-only users can't hurt. */ - if (!PyThreadState_IsCurrent(tstate)) { + if (!holds_gil(tstate)) { _Py_FatalErrorFormat(__func__, "thread state %p must be current when releasing", tstate); } - assert(PyThreadState_IsCurrent(tstate)); + assert(holds_gil(tstate)); --tstate->gilstate_counter; assert(tstate->gilstate_counter >= 0); /* illegal counter value */ @@ -1752,18 +2281,20 @@ PyGILState_Release(PyGILState_STATE oldstate) if (tstate->gilstate_counter == 0) { /* can't have been locked when we created it */ assert(oldstate == PyGILState_UNLOCKED); + // XXX Unbind tstate here. PyThreadState_Clear(tstate); /* Delete the thread-state. Note this releases the GIL too! * It's vital that the GIL be held here, to avoid shutdown * races; see bugs 225673 and 1061968 (that nasty bug has a * habit of coming back). */ - assert(_PyRuntimeGILState_GetThreadState(&runtime->gilstate) == tstate); + assert(current_fast_get(runtime) == tstate); _PyThreadState_DeleteCurrent(tstate); } /* Release the lock if necessary */ - else if (oldstate == PyGILState_UNLOCKED) + else if (oldstate == PyGILState_UNLOCKED) { PyEval_SaveThread(); + } } @@ -1773,30 +2304,84 @@ PyGILState_Release(PyGILState_STATE oldstate) /* cross-interpreter data */ -crossinterpdatafunc _PyCrossInterpreterData_Lookup(PyObject *); +static inline void +_xidata_init(_PyCrossInterpreterData *data) +{ + // If the value is being reused + // then _xidata_clear() should have been called already. + assert(data->data == NULL); + assert(data->obj == NULL); + *data = (_PyCrossInterpreterData){0}; + data->interp = -1; +} -/* This is a separate func from _PyCrossInterpreterData_Lookup in order - to keep the registry code separate. */ -static crossinterpdatafunc -_lookup_getdata(PyObject *obj) +static inline void +_xidata_clear(_PyCrossInterpreterData *data) { - crossinterpdatafunc getdata = _PyCrossInterpreterData_Lookup(obj); - if (getdata == NULL && PyErr_Occurred() == 0) - PyErr_Format(PyExc_ValueError, - "%S does not support cross-interpreter data", obj); - return getdata; + // _PyCrossInterpreterData only has two members that need to be + // cleaned up, if set: "data" must be freed and "obj" must be decref'ed. + // In both cases the original (owning) interpreter must be used, + // which is the caller's responsibility to ensure. + if (data->data != NULL) { + if (data->free != NULL) { + data->free(data->data); + } + data->data = NULL; + } + Py_CLEAR(data->obj); +} + +void +_PyCrossInterpreterData_Init(_PyCrossInterpreterData *data, + PyInterpreterState *interp, + void *shared, PyObject *obj, + xid_newobjectfunc new_object) +{ + assert(data != NULL); + assert(new_object != NULL); + _xidata_init(data); + data->data = shared; + if (obj != NULL) { + assert(interp != NULL); + // released in _PyCrossInterpreterData_Clear() + data->obj = Py_NewRef(obj); + } + // Ideally every object would know its owning interpreter. + // Until then, we have to rely on the caller to identify it + // (but we don't need it in all cases). + data->interp = (interp != NULL) ? interp->id : -1; + data->new_object = new_object; } int -_PyObject_CheckCrossInterpreterData(PyObject *obj) -{ - crossinterpdatafunc getdata = _lookup_getdata(obj); - if (getdata == NULL) { +_PyCrossInterpreterData_InitWithSize(_PyCrossInterpreterData *data, + PyInterpreterState *interp, + const size_t size, PyObject *obj, + xid_newobjectfunc new_object) +{ + assert(size > 0); + // For now we always free the shared data in the same interpreter + // where it was allocated, so the interpreter is required. + assert(interp != NULL); + _PyCrossInterpreterData_Init(data, interp, NULL, obj, new_object); + data->data = PyMem_RawMalloc(size); + if (data->data == NULL) { return -1; } + data->free = PyMem_RawFree; return 0; } +void +_PyCrossInterpreterData_Clear(PyInterpreterState *interp, + _PyCrossInterpreterData *data) +{ + assert(data != NULL); + // This must be called in the owning interpreter. + assert(interp == NULL || data->interp == interp->id); + _xidata_clear(data); +} + static int _check_xidata(PyThreadState *tstate, _PyCrossInterpreterData *data) { @@ -1819,10 +2404,35 @@ _check_xidata(PyThreadState *tstate, _PyCrossInterpreterData *data) return 0; } +crossinterpdatafunc _PyCrossInterpreterData_Lookup(PyObject *); + +/* This is a separate func from _PyCrossInterpreterData_Lookup in order + to keep the registry code separate. */ +static crossinterpdatafunc +_lookup_getdata(PyObject *obj) +{ + crossinterpdatafunc getdata = _PyCrossInterpreterData_Lookup(obj); + if (getdata == NULL && PyErr_Occurred() == 0) + PyErr_Format(PyExc_ValueError, + "%S does not support cross-interpreter data", obj); + return getdata; +} + +int +_PyObject_CheckCrossInterpreterData(PyObject *obj) +{ + crossinterpdatafunc getdata = _lookup_getdata(obj); + if (getdata == NULL) { + return -1; + } + return 0; +} + int _PyObject_GetCrossInterpreterData(PyObject *obj, _PyCrossInterpreterData *data) { - PyThreadState *tstate = _PyThreadState_GET(); + _PyRuntimeState *runtime = &_PyRuntime; + PyThreadState *tstate = current_fast_get(runtime); #ifdef Py_DEBUG // The caller must hold the GIL _Py_EnsureTstateNotNULL(tstate); @@ -1831,7 +2441,7 @@ _PyObject_GetCrossInterpreterData(PyObject *obj, _PyCrossInterpreterData *data) // Reset data before re-populating. *data = (_PyCrossInterpreterData){0}; - data->free = PyMem_RawFree; // Set a default that may be overridden. + data->interp = -1; // Call the "getdata" func for the object. Py_INCREF(obj); @@ -1840,7 +2450,7 @@ _PyObject_GetCrossInterpreterData(PyObject *obj, _PyCrossInterpreterData *data) Py_DECREF(obj); return -1; } - int res = getdata(obj, data); + int res = getdata(tstate, obj, data); Py_DECREF(obj); if (res != 0) { return -1; @@ -1849,75 +2459,89 @@ _PyObject_GetCrossInterpreterData(PyObject *obj, _PyCrossInterpreterData *data) // Fill in the blanks and validate the result. data->interp = interp->id; if (_check_xidata(tstate, data) != 0) { - _PyCrossInterpreterData_Release(data); + (void)_PyCrossInterpreterData_Release(data); return -1; } return 0; } -static void -_release_xidata(void *arg) +PyObject * +_PyCrossInterpreterData_NewObject(_PyCrossInterpreterData *data) { - _PyCrossInterpreterData *data = (_PyCrossInterpreterData *)arg; - if (data->free != NULL) { - data->free(data->data); - } - Py_XDECREF(data->obj); + return data->new_object(data); } -static void -_call_in_interpreter(struct _gilstate_runtime_state *gilstate, - PyInterpreterState *interp, - void (*func)(void *), void *arg) +static int +_release_xidata_pending(void *data) { - /* We would use Py_AddPendingCall() if it weren't specific to the - * main interpreter (see bpo-33608). In the meantime we take a - * naive approach. - */ - PyThreadState *save_tstate = NULL; - if (interp != _PyRuntimeGILState_GetThreadState(gilstate)->interp) { - // XXX Using the "head" thread isn't strictly correct. - PyThreadState *tstate = PyInterpreterState_ThreadHead(interp); - // XXX Possible GILState issues? - save_tstate = _PyThreadState_Swap(gilstate, tstate); - } - - func(arg); + _xidata_clear((_PyCrossInterpreterData *)data); + return 0; +} - // Switch back. - if (save_tstate != NULL) { - _PyThreadState_Swap(gilstate, save_tstate); - } +static int +_xidata_release_and_rawfree_pending(void *data) +{ + _xidata_clear((_PyCrossInterpreterData *)data); + PyMem_RawFree(data); + return 0; } -void -_PyCrossInterpreterData_Release(_PyCrossInterpreterData *data) +static int +_xidata_release(_PyCrossInterpreterData *data, int rawfree) { - if (data->data == NULL && data->obj == NULL) { + if ((data->data == NULL || data->free == NULL) && data->obj == NULL) { // Nothing to release! - return; + if (rawfree) { + PyMem_RawFree(data); + } + else { + data->data = NULL; + } + return 0; } // Switch to the original interpreter. PyInterpreterState *interp = _PyInterpreterState_LookUpID(data->interp); if (interp == NULL) { // The interpreter was already destroyed. - if (data->free != NULL) { - // XXX Someone leaked some memory... + // This function shouldn't have been called. + // XXX Someone leaked some memory... + assert(PyErr_Occurred()); + if (rawfree) { + PyMem_RawFree(data); } - return; + return -1; } // "Release" the data and/or the object. - struct _gilstate_runtime_state *gilstate = &_PyRuntime.gilstate; - _call_in_interpreter(gilstate, interp, _release_xidata, data); + if (interp == current_fast_get(interp->runtime)->interp) { + _xidata_clear(data); + if (rawfree) { + PyMem_RawFree(data); + } + } + else { + int (*func)(void *) = _release_xidata_pending; + if (rawfree) { + func = _xidata_release_and_rawfree_pending; + } + // XXX Emit a warning if this fails? + _PyEval_AddPendingCall(interp, func, data, 0); + } + return 0; } -PyObject * -_PyCrossInterpreterData_NewObject(_PyCrossInterpreterData *data) +int +_PyCrossInterpreterData_Release(_PyCrossInterpreterData *data) { - return data->new_object(data); + return _xidata_release(data, 0); +} + +int +_PyCrossInterpreterData_ReleaseAndRawFree(_PyCrossInterpreterData *data) +{ + return _xidata_release(data, 1); } /* registry of {type -> crossinterpdatafunc} */ @@ -1927,26 +2551,123 @@ _PyCrossInterpreterData_NewObject(_PyCrossInterpreterData *data) crossinterpdatafunc. It would be simpler and more efficient. */ static int -_register_xidata(struct _xidregistry *xidregistry, PyTypeObject *cls, - crossinterpdatafunc getdata) +_xidregistry_add_type(struct _xidregistry *xidregistry, + PyTypeObject *cls, crossinterpdatafunc getdata) { - // Note that we effectively replace already registered classes - // rather than failing. struct _xidregitem *newhead = PyMem_RawMalloc(sizeof(struct _xidregitem)); - if (newhead == NULL) + if (newhead == NULL) { return -1; - newhead->cls = cls; - newhead->getdata = getdata; + } + *newhead = (struct _xidregitem){ + // We do not keep a reference, to avoid keeping the class alive. + .cls = cls, + .refcount = 1, + .getdata = getdata, + }; + if (cls->tp_flags & Py_TPFLAGS_HEAPTYPE) { + // XXX Assign a callback to clear the entry from the registry? + newhead->weakref = PyWeakref_NewRef((PyObject *)cls, NULL); + if (newhead->weakref == NULL) { + PyMem_RawFree(newhead); + return -1; + } + } newhead->next = xidregistry->head; + if (newhead->next != NULL) { + newhead->next->prev = newhead; + } xidregistry->head = newhead; return 0; } +static struct _xidregitem * +_xidregistry_remove_entry(struct _xidregistry *xidregistry, + struct _xidregitem *entry) +{ + struct _xidregitem *next = entry->next; + if (entry->prev != NULL) { + assert(entry->prev->next == entry); + entry->prev->next = next; + } + else { + assert(xidregistry->head == entry); + xidregistry->head = next; + } + if (next != NULL) { + next->prev = entry->prev; + } + Py_XDECREF(entry->weakref); + PyMem_RawFree(entry); + return next; +} + +static void +_xidregistry_clear(struct _xidregistry *xidregistry) +{ + struct _xidregitem *cur = xidregistry->head; + xidregistry->head = NULL; + while (cur != NULL) { + struct _xidregitem *next = cur->next; + Py_XDECREF(cur->weakref); + PyMem_RawFree(cur); + cur = next; + } +} + +static struct _xidregitem * +_xidregistry_find_type(struct _xidregistry *xidregistry, PyTypeObject *cls) +{ + struct _xidregitem *cur = xidregistry->head; + while (cur != NULL) { + if (cur->weakref != NULL) { + // cur is/was a heap type. + PyObject *registered = PyWeakref_GetObject(cur->weakref); + assert(registered != NULL); + if (registered == Py_None) { + // The weakly ref'ed object was freed. + cur = _xidregistry_remove_entry(xidregistry, cur); + continue; + } + assert(PyType_Check(registered)); + assert(cur->cls == (PyTypeObject *)registered); + assert(cur->cls->tp_flags & Py_TPFLAGS_HEAPTYPE); + //Py_DECREF(registered); + } + if (cur->cls == cls) { + return cur; + } + cur = cur->next; + } + return NULL; +} + +static inline struct _xidregistry * +_get_xidregistry(PyInterpreterState *interp, PyTypeObject *cls) +{ + struct _xidregistry *xidregistry = &interp->runtime->xidregistry; + if (cls->tp_flags & Py_TPFLAGS_HEAPTYPE) { + assert(interp->xidregistry.mutex == xidregistry->mutex); + xidregistry = &interp->xidregistry; + } + return xidregistry; +} + static void _register_builtins_for_crossinterpreter_data(struct _xidregistry *xidregistry); +static inline void +_ensure_builtins_xid(PyInterpreterState *interp, struct _xidregistry *xidregistry) +{ + if (xidregistry != &interp->xidregistry) { + assert(xidregistry == &interp->runtime->xidregistry); + if (xidregistry->head == NULL) { + _register_builtins_for_crossinterpreter_data(xidregistry); + } + } +} + int _PyCrossInterpreterData_RegisterClass(PyTypeObject *cls, - crossinterpdatafunc getdata) + crossinterpdatafunc getdata) { if (!PyType_Check(cls)) { PyErr_Format(PyExc_ValueError, "only classes may be registered"); @@ -1957,19 +2678,50 @@ _PyCrossInterpreterData_RegisterClass(PyTypeObject *cls, return -1; } - // Make sure the class isn't ever deallocated. - Py_INCREF((PyObject *)cls); + int res = 0; + PyInterpreterState *interp = _PyInterpreterState_GET(); + struct _xidregistry *xidregistry = _get_xidregistry(interp, cls); + PyThread_acquire_lock(xidregistry->mutex, WAIT_LOCK); + + _ensure_builtins_xid(interp, xidregistry); + + struct _xidregitem *matched = _xidregistry_find_type(xidregistry, cls); + if (matched != NULL) { + assert(matched->getdata == getdata); + matched->refcount += 1; + goto finally; + } + + res = _xidregistry_add_type(xidregistry, cls, getdata); + +finally: + PyThread_release_lock(xidregistry->mutex); + return res; +} - struct _xidregistry *xidregistry = &_PyRuntime.xidregistry ; +int +_PyCrossInterpreterData_UnregisterClass(PyTypeObject *cls) +{ + int res = 0; + PyInterpreterState *interp = _PyInterpreterState_GET(); + struct _xidregistry *xidregistry = _get_xidregistry(interp, cls); PyThread_acquire_lock(xidregistry->mutex, WAIT_LOCK); - if (xidregistry->head == NULL) { - _register_builtins_for_crossinterpreter_data(xidregistry); + + struct _xidregitem *matched = _xidregistry_find_type(xidregistry, cls); + if (matched != NULL) { + assert(matched->refcount > 0); + matched->refcount -= 1; + if (matched->refcount == 0) { + (void)_xidregistry_remove_entry(xidregistry, matched); + } + res = 1; } - int res = _register_xidata(xidregistry, cls, getdata); + PyThread_release_lock(xidregistry->mutex); return res; } + /* Cross-interpreter objects are looked up by exact match on the class. We can reassess this policy when we move from a global registry to a tp_* slot. */ @@ -1977,24 +2729,19 @@ _PyCrossInterpreterData_RegisterClass(PyTypeObject *cls, crossinterpdatafunc _PyCrossInterpreterData_Lookup(PyObject *obj) { - struct _xidregistry *xidregistry = &_PyRuntime.xidregistry ; - PyObject *cls = PyObject_Type(obj); - crossinterpdatafunc getdata = NULL; + PyTypeObject *cls = Py_TYPE(obj); + + PyInterpreterState *interp = _PyInterpreterState_GET(); + struct _xidregistry *xidregistry = _get_xidregistry(interp, cls); PyThread_acquire_lock(xidregistry->mutex, WAIT_LOCK); - struct _xidregitem *cur = xidregistry->head; - if (cur == NULL) { - _register_builtins_for_crossinterpreter_data(xidregistry); - cur = xidregistry->head; - } - for(; cur != NULL; cur = cur->next) { - if (cur->cls == (PyTypeObject *)cls) { - getdata = cur->getdata; - break; - } - } - Py_DECREF(cls); + + _ensure_builtins_xid(interp, xidregistry); + + struct _xidregitem *matched = _xidregistry_find_type(xidregistry, cls); + crossinterpdatafunc func = matched != NULL ? matched->getdata : NULL; + PyThread_release_lock(xidregistry->mutex); - return getdata; + return func; } /* cross-interpreter data for builtin types */ @@ -2012,17 +2759,21 @@ _new_bytes_object(_PyCrossInterpreterData *data) } static int -_bytes_shared(PyObject *obj, _PyCrossInterpreterData *data) +_bytes_shared(PyThreadState *tstate, PyObject *obj, + _PyCrossInterpreterData *data) { - struct _shared_bytes_data *shared = PyMem_NEW(struct _shared_bytes_data, 1); + if (_PyCrossInterpreterData_InitWithSize( + data, tstate->interp, sizeof(struct _shared_bytes_data), obj, + _new_bytes_object + ) < 0) + { + return -1; + } + struct _shared_bytes_data *shared = (struct _shared_bytes_data *)data->data; if (PyBytes_AsStringAndSize(obj, &shared->bytes, &shared->len) < 0) { + _PyCrossInterpreterData_Clear(tstate->interp, data); return -1; } - data->data = (void *)shared; - Py_INCREF(obj); - data->obj = obj; // Will be "released" (decref'ed) when data released. - data->new_object = _new_bytes_object; - data->free = PyMem_Free; return 0; } @@ -2040,17 +2791,20 @@ _new_str_object(_PyCrossInterpreterData *data) } static int -_str_shared(PyObject *obj, _PyCrossInterpreterData *data) +_str_shared(PyThreadState *tstate, PyObject *obj, + _PyCrossInterpreterData *data) { - struct _shared_str_data *shared = PyMem_NEW(struct _shared_str_data, 1); + if (_PyCrossInterpreterData_InitWithSize( + data, tstate->interp, sizeof(struct _shared_str_data), obj, + _new_str_object + ) < 0) + { + return -1; + } + struct _shared_str_data *shared = (struct _shared_str_data *)data->data; shared->kind = PyUnicode_KIND(obj); shared->buffer = PyUnicode_DATA(obj); shared->len = PyUnicode_GET_LENGTH(obj); - data->data = (void *)shared; - Py_INCREF(obj); - data->obj = obj; // Will be "released" (decref'ed) when data released. - data->new_object = _new_str_object; - data->free = PyMem_Free; return 0; } @@ -2061,7 +2815,8 @@ _new_long_object(_PyCrossInterpreterData *data) } static int -_long_shared(PyObject *obj, _PyCrossInterpreterData *data) +_long_shared(PyThreadState *tstate, PyObject *obj, + _PyCrossInterpreterData *data) { /* Note that this means the size of shareable ints is bounded by * sys.maxsize. Hence on 32-bit architectures that is half the @@ -2074,10 +2829,9 @@ _long_shared(PyObject *obj, _PyCrossInterpreterData *data) } return -1; } - data->data = (void *)value; - data->obj = NULL; - data->new_object = _new_long_object; - data->free = NULL; + _PyCrossInterpreterData_Init(data, tstate->interp, (void *)value, NULL, + _new_long_object); + // data->obj and data->free remain NULL return 0; } @@ -2085,17 +2839,16 @@ static PyObject * _new_none_object(_PyCrossInterpreterData *data) { // XXX Singleton refcounts are problematic across interpreters... - Py_INCREF(Py_None); - return Py_None; + return Py_NewRef(Py_None); } static int -_none_shared(PyObject *obj, _PyCrossInterpreterData *data) +_none_shared(PyThreadState *tstate, PyObject *obj, + _PyCrossInterpreterData *data) { - data->data = NULL; - // data->obj remains NULL - data->new_object = _new_none_object; - data->free = NULL; // There is nothing to free. + _PyCrossInterpreterData_Init(data, tstate->interp, NULL, NULL, + _new_none_object); + // data->data, data->obj and data->free remain NULL return 0; } @@ -2103,27 +2856,31 @@ static void _register_builtins_for_crossinterpreter_data(struct _xidregistry *xidregistry) { // None - if (_register_xidata(xidregistry, (PyTypeObject *)PyObject_Type(Py_None), _none_shared) != 0) { + if (_xidregistry_add_type(xidregistry, (PyTypeObject *)PyObject_Type(Py_None), _none_shared) != 0) { Py_FatalError("could not register None for cross-interpreter sharing"); } // int - if (_register_xidata(xidregistry, &PyLong_Type, _long_shared) != 0) { + if (_xidregistry_add_type(xidregistry, &PyLong_Type, _long_shared) != 0) { Py_FatalError("could not register int for cross-interpreter sharing"); } // bytes - if (_register_xidata(xidregistry, &PyBytes_Type, _bytes_shared) != 0) { + if (_xidregistry_add_type(xidregistry, &PyBytes_Type, _bytes_shared) != 0) { Py_FatalError("could not register bytes for cross-interpreter sharing"); } // str - if (_register_xidata(xidregistry, &PyUnicode_Type, _str_shared) != 0) { + if (_xidregistry_add_type(xidregistry, &PyUnicode_Type, _str_shared) != 0) { Py_FatalError("could not register str for cross-interpreter sharing"); } } +/*************/ +/* Other API */ +/*************/ + _PyFrameEvalFunction _PyInterpreterState_GetEvalFrameFunc(PyInterpreterState *interp) { @@ -2171,11 +2928,21 @@ _PyInterpreterState_GetConfigCopy(PyConfig *config) const PyConfig* _Py_GetConfig(void) { + _PyRuntimeState *runtime = &_PyRuntime; assert(PyGILState_Check()); - PyThreadState *tstate = _PyThreadState_GET(); + PyThreadState *tstate = current_fast_get(runtime); + _Py_EnsureTstateNotNULL(tstate); return _PyInterpreterState_GetConfig(tstate->interp); } + +int +_PyInterpreterState_HasFeature(PyInterpreterState *interp, unsigned long feature) +{ + return ((interp->feature_flags & feature) != 0); +} + + #define MINIMUM_OVERHEAD 1000 static PyObject ** @@ -2204,17 +2971,14 @@ push_chunk(PyThreadState *tstate, int size) } _PyInterpreterFrame * -_PyThreadState_BumpFramePointerSlow(PyThreadState *tstate, size_t size) +_PyThreadState_PushFrame(PyThreadState *tstate, size_t size) { - if (_PyThreadState_HasStackSpace(tstate, size)) { + assert(size < INT_MAX/sizeof(PyObject *)); + if (_PyThreadState_HasStackSpace(tstate, (int)size)) { _PyInterpreterFrame *res = (_PyInterpreterFrame *)tstate->datastack_top; tstate->datastack_top += size; return res; } - if (size > INT_MAX/2) { - PyErr_NoMemory(); - return NULL; - } return (_PyInterpreterFrame *)push_chunk(tstate, (int)size); } @@ -2276,8 +3040,26 @@ _PyThreadState_MustExit(PyThreadState *tstate) tstate->interp->runtime to support calls from Python daemon threads. After Py_Finalize() has been called, tstate can be a dangling pointer: point to PyThreadState freed memory. */ + unsigned long finalizing_id = _PyRuntimeState_GetFinalizingID(&_PyRuntime); PyThreadState *finalizing = _PyRuntimeState_GetFinalizing(&_PyRuntime); - return (finalizing != NULL && finalizing != tstate); + if (finalizing == NULL) { + // XXX This isn't completely safe from daemon thraeds, + // since tstate might be a dangling pointer. + finalizing = _PyInterpreterState_GetFinalizing(tstate->interp); + finalizing_id = _PyInterpreterState_GetFinalizingID(tstate->interp); + } + // XXX else check &_PyRuntime._main_interpreter._initial_thread + if (finalizing == NULL) { + return 0; + } + else if (finalizing == tstate) { + return 0; + } + else if (finalizing_id == PyThread_get_thread_ident()) { + /* gh-109793: we must have switched interpreters. */ + return 0; + } + return 1; } diff --git a/contrib/tools/python3/src/Python/pystrtod.c b/contrib/tools/python3/src/Python/pystrtod.c index d77b846f040..9bb060e3d11 100644 --- a/contrib/tools/python3/src/Python/pystrtod.c +++ b/contrib/tools/python3/src/Python/pystrtod.c @@ -23,44 +23,6 @@ case_insensitive_match(const char *s, const char *t) return the NaN or Infinity as a double and set *endptr to point just beyond the successfully parsed portion of the string. On failure, return -1.0 and set *endptr to point to the start of the string. */ - -#if _PY_SHORT_FLOAT_REPR == 1 - -double -_Py_parse_inf_or_nan(const char *p, char **endptr) -{ - double retval; - const char *s; - int negate = 0; - - s = p; - if (*s == '-') { - negate = 1; - s++; - } - else if (*s == '+') { - s++; - } - if (case_insensitive_match(s, "inf")) { - s += 3; - if (case_insensitive_match(s, "inity")) - s += 5; - retval = _Py_dg_infinity(negate); - } - else if (case_insensitive_match(s, "nan")) { - s += 3; - retval = _Py_dg_stdnan(negate); - } - else { - s = p; - retval = -1.0; - } - *endptr = (char *)s; - return retval; -} - -#else - double _Py_parse_inf_or_nan(const char *p, char **endptr) { @@ -84,7 +46,7 @@ _Py_parse_inf_or_nan(const char *p, char **endptr) } else if (case_insensitive_match(s, "nan")) { s += 3; - retval = negate ? -Py_NAN : Py_NAN; + retval = negate ? -fabs(Py_NAN) : fabs(Py_NAN); } else { s = p; @@ -94,7 +56,6 @@ _Py_parse_inf_or_nan(const char *p, char **endptr) return retval; } -#endif /** * _PyOS_ascii_strtod: diff --git a/contrib/tools/python3/src/Python/pythonrun.c b/contrib/tools/python3/src/Python/pythonrun.c index fca8b7ab661..5f3d249df45 100644 --- a/contrib/tools/python3/src/Python/pythonrun.c +++ b/contrib/tools/python3/src/Python/pythonrun.c @@ -18,13 +18,12 @@ #include "pycore_interp.h" // PyInterpreterState.importlib #include "pycore_object.h" // _PyDebug_PrintTotalRefs() #include "pycore_parser.h" // _PyParser_ASTFromString() -#include "pycore_pyerrors.h" // _PyErr_Fetch, _Py_Offer_Suggestions +#include "pycore_pyerrors.h" // _PyErr_GetRaisedException, _Py_Offer_Suggestions #include "pycore_pylifecycle.h" // _Py_UnhandledKeyboardInterrupt #include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_sysmodule.h" // _PySys_Audit() #include "pycore_traceback.h" // _PyTraceBack_Print_Indented() -#include "token.h" // INDENT #include "errcode.h" // E_EOF #include "marshal.h" // PyMarshal_ReadLongFromFile() @@ -351,14 +350,8 @@ static int set_main_loader(PyObject *d, PyObject *filename, const char *loader_name) { PyInterpreterState *interp = _PyInterpreterState_GET(); - PyObject *bootstrap = PyObject_GetAttrString(interp->importlib, - "_bootstrap_external"); - if (bootstrap == NULL) { - return -1; - } - - PyObject *loader_type = PyObject_GetAttrString(bootstrap, loader_name); - Py_DECREF(bootstrap); + PyObject *loader_type = _PyImport_GetImportlibExternalLoader(interp, + loader_name); if (loader_type == NULL) { return -1; } @@ -516,8 +509,7 @@ parse_syntax_error(PyObject *err, PyObject **message, PyObject **filename, if (v == Py_None) { Py_DECREF(v); _Py_DECLARE_STR(anon_string, ""); - *filename = &_Py_STR(anon_string); - Py_INCREF(*filename); + *filename = Py_NewRef(&_Py_STR(anon_string)); } else { *filename = v; @@ -706,31 +698,30 @@ _Py_HandleSystemExit(int *exitcode_p) return 0; } - PyObject *exception, *value, *tb; - PyErr_Fetch(&exception, &value, &tb); - fflush(stdout); int exitcode = 0; - if (value == NULL || value == Py_None) { + + PyObject *exc = PyErr_GetRaisedException(); + if (exc == NULL) { goto done; } + assert(PyExceptionInstance_Check(exc)); - if (PyExceptionInstance_Check(value)) { - /* The error code should be in the `code' attribute. */ - PyObject *code = PyObject_GetAttr(value, &_Py_ID(code)); - if (code) { - Py_DECREF(value); - value = code; - if (value == Py_None) - goto done; + /* The error code should be in the `code' attribute. */ + PyObject *code = PyObject_GetAttr(exc, &_Py_ID(code)); + if (code) { + Py_SETREF(exc, code); + if (exc == Py_None) { + goto done; } - /* If we failed to dig out the 'code' attribute, - just let the else clause below print the error. */ } + /* If we failed to dig out the 'code' attribute, + * just let the else clause below print the error. + */ - if (PyLong_Check(value)) { - exitcode = (int)PyLong_AsLong(value); + if (PyLong_Check(exc)) { + exitcode = (int)PyLong_AsLong(exc); } else { PyThreadState *tstate = _PyThreadState_GET(); @@ -741,23 +732,17 @@ _Py_HandleSystemExit(int *exitcode_p) */ PyErr_Clear(); if (sys_stderr != NULL && sys_stderr != Py_None) { - PyFile_WriteObject(value, sys_stderr, Py_PRINT_RAW); + PyFile_WriteObject(exc, sys_stderr, Py_PRINT_RAW); } else { - PyObject_Print(value, stderr, Py_PRINT_RAW); + PyObject_Print(exc, stderr, Py_PRINT_RAW); fflush(stderr); } PySys_WriteStderr("\n"); exitcode = 1; } - done: - /* Restore and clear the exception info, in order to properly decref - * the exception, value, and traceback. If we just exit instead, - * these leak, which confuses PYTHONDUMPREFS output, and may prevent - * some finalizers from running. - */ - PyErr_Restore(exception, value, tb); - PyErr_Clear(); +done: + Py_CLEAR(exc); *exitcode_p = exitcode; return 1; } @@ -776,40 +761,38 @@ handle_system_exit(void) static void _PyErr_PrintEx(PyThreadState *tstate, int set_sys_last_vars) { - PyObject *exception, *v, *tb, *hook; - + PyObject *typ = NULL, *tb = NULL; handle_system_exit(); - _PyErr_Fetch(tstate, &exception, &v, &tb); - if (exception == NULL) { + PyObject *exc = _PyErr_GetRaisedException(tstate); + if (exc == NULL) { goto done; } - - _PyErr_NormalizeException(tstate, &exception, &v, &tb); + assert(PyExceptionInstance_Check(exc)); + typ = Py_NewRef(Py_TYPE(exc)); + tb = PyException_GetTraceback(exc); if (tb == NULL) { - tb = Py_None; - Py_INCREF(tb); - } - PyException_SetTraceback(v, tb); - if (exception == NULL) { - goto done; + tb = Py_NewRef(Py_None); } - /* Now we know v != NULL too */ if (set_sys_last_vars) { - if (_PySys_SetAttr(&_Py_ID(last_type), exception) < 0) { + if (_PySys_SetAttr(&_Py_ID(last_exc), exc) < 0) { _PyErr_Clear(tstate); } - if (_PySys_SetAttr(&_Py_ID(last_value), v) < 0) { + /* Legacy version: */ + if (_PySys_SetAttr(&_Py_ID(last_type), typ) < 0) { + _PyErr_Clear(tstate); + } + if (_PySys_SetAttr(&_Py_ID(last_value), exc) < 0) { _PyErr_Clear(tstate); } if (_PySys_SetAttr(&_Py_ID(last_traceback), tb) < 0) { _PyErr_Clear(tstate); } } - hook = _PySys_GetAttr(tstate, &_Py_ID(excepthook)); + PyObject *hook = _PySys_GetAttr(tstate, &_Py_ID(excepthook)); if (_PySys_Audit(tstate, "sys.excepthook", "OOOO", hook ? hook : Py_None, - exception, v, tb) < 0) { + typ, exc, tb) < 0) { if (PyErr_ExceptionMatches(PyExc_RuntimeError)) { PyErr_Clear(); goto done; @@ -818,48 +801,34 @@ _PyErr_PrintEx(PyThreadState *tstate, int set_sys_last_vars) } if (hook) { PyObject* stack[3]; - PyObject *result; - - stack[0] = exception; - stack[1] = v; + stack[0] = typ; + stack[1] = exc; stack[2] = tb; - result = _PyObject_FastCall(hook, stack, 3); + PyObject *result = _PyObject_FastCall(hook, stack, 3); if (result == NULL) { handle_system_exit(); - PyObject *exception2, *v2, *tb2; - _PyErr_Fetch(tstate, &exception2, &v2, &tb2); - _PyErr_NormalizeException(tstate, &exception2, &v2, &tb2); - /* It should not be possible for exception2 or v2 - to be NULL. However PyErr_Display() can't - tolerate NULLs, so just be safe. */ - if (exception2 == NULL) { - exception2 = Py_None; - Py_INCREF(exception2); - } - if (v2 == NULL) { - v2 = Py_None; - Py_INCREF(v2); - } + PyObject *exc2 = _PyErr_GetRaisedException(tstate); + assert(exc2 && PyExceptionInstance_Check(exc2)); fflush(stdout); PySys_WriteStderr("Error in sys.excepthook:\n"); - PyErr_Display(exception2, v2, tb2); + PyErr_DisplayException(exc2); PySys_WriteStderr("\nOriginal exception was:\n"); - PyErr_Display(exception, v, tb); - Py_DECREF(exception2); - Py_DECREF(v2); - Py_XDECREF(tb2); + PyErr_DisplayException(exc); + Py_DECREF(exc2); + } + else { + Py_DECREF(result); } - Py_XDECREF(result); } else { PySys_WriteStderr("sys.excepthook is missing\n"); - PyErr_Display(exception, v, tb); + PyErr_DisplayException(exc); } done: - Py_XDECREF(exception); - Py_XDECREF(v); + Py_XDECREF(typ); + Py_XDECREF(exc); Py_XDECREF(tb); } @@ -1108,16 +1077,9 @@ print_exception_suggestions(struct exception_print_context *ctx, PyObject *f = ctx->file; PyObject *suggestions = _Py_Offer_Suggestions(value); if (suggestions) { - // Add a trailer ". Did you mean: (...)?" - if (PyFile_WriteString(". Did you mean: '", f) < 0) { - goto error; - } if (PyFile_WriteObject(suggestions, f, Py_PRINT_RAW) < 0) { goto error; } - if (PyFile_WriteString("'?", f) < 0) { - goto error; - } Py_DECREF(suggestions); } else if (PyErr_Occurred()) { @@ -1138,7 +1100,7 @@ print_exception_notes(struct exception_print_context *ctx, PyObject *notes) return 0; } - if (!PySequence_Check(notes)) { + if (!PySequence_Check(notes) || PyUnicode_Check(notes) || PyBytes_Check(notes)) { int res = 0; if (write_indented_margin(ctx, f) < 0) { res = -1; @@ -1152,6 +1114,9 @@ print_exception_notes(struct exception_print_context *ctx, PyObject *notes) res = PyFile_WriteObject(s, f, Py_PRINT_RAW); Py_DECREF(s); } + if (PyFile_WriteString("\n", f) < 0) { + res = -1; + } return res; } Py_ssize_t num_notes = PySequence_Length(notes); @@ -1295,8 +1260,7 @@ print_chained(struct exception_print_context* ctx, PyObject *value, const char * message, const char *tag) { PyObject *f = ctx->file; - - if (_Py_EnterRecursiveCall(" in print_chained") < 0) { + if (_Py_EnterRecursiveCall(" in print_chained")) { return -1; } bool need_close = ctx->need_close; @@ -1423,7 +1387,9 @@ print_exception_group(struct exception_print_context *ctx, PyObject *value) if (ctx->exception_group_depth == 0) { ctx->exception_group_depth += 1; } - print_exception(ctx, value); + if (print_exception(ctx, value) < 0) { + return -1; + } PyObject *excs = ((PyBaseExceptionGroupObject *)value)->excs; assert(excs && PyTuple_Check(excs)); @@ -1473,7 +1439,7 @@ print_exception_group(struct exception_print_context *ctx, PyObject *value) PyObject *exc = PyTuple_GET_ITEM(excs, i); if (!truncated) { - if (_Py_EnterRecursiveCall(" in print_exception_group") != 0) { + if (_Py_EnterRecursiveCall(" in print_exception_group")) { return -1; } int res = print_exception_recursive(ctx, exc); @@ -1526,29 +1492,37 @@ print_exception_group(struct exception_print_context *ctx, PyObject *value) static int print_exception_recursive(struct exception_print_context *ctx, PyObject *value) { + if (_Py_EnterRecursiveCall(" in print_exception_recursive")) { + return -1; + } if (ctx->seen != NULL) { /* Exception chaining */ if (print_exception_cause_and_context(ctx, value) < 0) { - return -1; + goto error; } } if (!_PyBaseExceptionGroup_Check(value)) { if (print_exception(ctx, value) < 0) { - return -1; + goto error; } } else if (print_exception_group(ctx, value) < 0) { - return -1; + goto error; } assert(!PyErr_Occurred()); + + _Py_LeaveRecursiveCall(); return 0; +error: + _Py_LeaveRecursiveCall(); + return -1; } #define PyErr_MAX_GROUP_WIDTH 15 #define PyErr_MAX_GROUP_DEPTH 10 void -_PyErr_Display(PyObject *file, PyObject *exception, PyObject *value, PyObject *tb) +_PyErr_Display(PyObject *file, PyObject *unused, PyObject *value, PyObject *tb) { assert(file != NULL && file != Py_None); if (PyExceptionInstance_Check(value) @@ -1556,10 +1530,12 @@ _PyErr_Display(PyObject *file, PyObject *exception, PyObject *value, PyObject *t /* Put the traceback on the exception, otherwise it won't get displayed. See issue #18776. */ PyObject *cur_tb = PyException_GetTraceback(value); - if (cur_tb == NULL) + if (cur_tb == NULL) { PyException_SetTraceback(value, tb); - else + } + else { Py_DECREF(cur_tb); + } } struct exception_print_context ctx; @@ -1595,7 +1571,7 @@ _PyErr_Display(PyObject *file, PyObject *exception, PyObject *value, PyObject *t } void -PyErr_Display(PyObject *exception, PyObject *value, PyObject *tb) +PyErr_Display(PyObject *unused, PyObject *value, PyObject *tb) { PyThreadState *tstate = _PyThreadState_GET(); PyObject *file = _PySys_GetAttr(tstate, &_Py_ID(stderr)); @@ -1608,10 +1584,20 @@ PyErr_Display(PyObject *exception, PyObject *value, PyObject *tb) return; } Py_INCREF(file); - _PyErr_Display(file, exception, value, tb); + _PyErr_Display(file, NULL, value, tb); Py_DECREF(file); } +void _PyErr_DisplayException(PyObject *file, PyObject *exc) +{ + _PyErr_Display(file, NULL, exc, NULL); +} + +void PyErr_DisplayException(PyObject *exc) +{ + PyErr_Display(NULL, exc, NULL); +} + PyObject * PyRun_StringFlags(const char *str, int start, PyObject *globals, PyObject *locals, PyCompilerFlags *flags) @@ -1681,35 +1667,29 @@ PyRun_FileExFlags(FILE *fp, const char *filename, int start, PyObject *globals, } - static void -flush_io(void) +flush_io_stream(PyThreadState *tstate, PyObject *name) { - PyObject *f, *r; - PyObject *type, *value, *traceback; - - /* Save the current exception */ - PyErr_Fetch(&type, &value, &traceback); - - PyThreadState *tstate = _PyThreadState_GET(); - f = _PySys_GetAttr(tstate, &_Py_ID(stderr)); - if (f != NULL) { - r = _PyObject_CallMethodNoArgs(f, &_Py_ID(flush)); - if (r) - Py_DECREF(r); - else - PyErr_Clear(); - } - f = _PySys_GetAttr(tstate, &_Py_ID(stdout)); + PyObject *f = _PySys_GetAttr(tstate, name); if (f != NULL) { - r = _PyObject_CallMethodNoArgs(f, &_Py_ID(flush)); - if (r) + PyObject *r = _PyObject_CallMethodNoArgs(f, &_Py_ID(flush)); + if (r) { Py_DECREF(r); - else + } + else { PyErr_Clear(); + } } +} - PyErr_Restore(type, value, traceback); +static void +flush_io(void) +{ + PyThreadState *tstate = _PyThreadState_GET(); + PyObject *exc = _PyErr_GetRaisedException(tstate); + flush_io_stream(tstate, &_Py_ID(stderr)); + flush_io_stream(tstate, &_Py_ID(stdout)); + _PyErr_SetRaisedException(tstate, exc); } static PyObject * @@ -1726,7 +1706,8 @@ run_eval_code_obj(PyThreadState *tstate, PyCodeObject *co, PyObject *globals, Py * uncaught exception to trigger an unexplained signal exit from a future * Py_Main() based one. */ - _Py_UnhandledKeyboardInterrupt = 0; + // XXX Isn't this dealt with by the move to _PyRuntimeState? + _PyRuntime.signals.unhandled_keyboard_interrupt = 0; /* Set globals['__builtins__'] if it doesn't exist */ if (globals != NULL && _PyDict_GetItemStringWithError(globals, "__builtins__") == NULL) { @@ -1740,7 +1721,7 @@ run_eval_code_obj(PyThreadState *tstate, PyCodeObject *co, PyObject *globals, Py v = PyEval_EvalCode((PyObject*)co, globals, locals); if (!v && _PyErr_Occurred(tstate) == PyExc_KeyboardInterrupt) { - _Py_UnhandledKeyboardInterrupt = 1; + _PyRuntime.signals.unhandled_keyboard_interrupt = 1; } return v; } diff --git a/contrib/tools/python3/src/Python/pytime.c b/contrib/tools/python3/src/Python/pytime.c index f4f112feae4..acd1842056a 100644 --- a/contrib/tools/python3/src/Python/pytime.c +++ b/contrib/tools/python3/src/Python/pytime.c @@ -428,6 +428,14 @@ _PyTime_FromNanoseconds(_PyTime_t ns) } +_PyTime_t +_PyTime_FromMicrosecondsClamp(_PyTime_t us) +{ + _PyTime_t ns = _PyTime_Mul(us, US_TO_NS); + return pytime_from_nanoseconds(ns); +} + + int _PyTime_FromNanosecondsObject(_PyTime_t *tp, PyObject *obj) { diff --git a/contrib/tools/python3/src/Python/specialize.c b/contrib/tools/python3/src/Python/specialize.c index 3441e844e15..2c0d99b04ed 100644 --- a/contrib/tools/python3/src/Python/specialize.c +++ b/contrib/tools/python3/src/Python/specialize.c @@ -8,6 +8,7 @@ #include "pycore_object.h" #include "pycore_opcode.h" // _PyOpcode_Caches #include "structmember.h" // struct PyMemberDef, T_OFFSET_EX +#include "pycore_descrobject.h" #include // rand() @@ -15,25 +16,9 @@ * ./adaptive.md */ -/* Map from opcode to adaptive opcode. - Values of zero are ignored. */ -uint8_t _PyOpcode_Adaptive[256] = { - [LOAD_ATTR] = LOAD_ATTR_ADAPTIVE, - [LOAD_GLOBAL] = LOAD_GLOBAL_ADAPTIVE, - [LOAD_METHOD] = LOAD_METHOD_ADAPTIVE, - [BINARY_SUBSCR] = BINARY_SUBSCR_ADAPTIVE, - [STORE_SUBSCR] = STORE_SUBSCR_ADAPTIVE, - [CALL] = CALL_ADAPTIVE, - [PRECALL] = PRECALL_ADAPTIVE, - [STORE_ATTR] = STORE_ATTR_ADAPTIVE, - [BINARY_OP] = BINARY_OP_ADAPTIVE, - [COMPARE_OP] = COMPARE_OP_ADAPTIVE, - [UNPACK_SEQUENCE] = UNPACK_SEQUENCE_ADAPTIVE, -}; - -Py_ssize_t _Py_QuickenedCount = 0; #ifdef Py_STATS -PyStats _py_stats = { 0 }; +PyStats _py_stats_struct = { 0 }; +PyStats *_py_stats = NULL; #define ADD_STAT_TO_DICT(res, field) \ do { \ @@ -93,7 +78,7 @@ add_stat_dict( int opcode, const char *name) { - SpecializationStats *stats = &_py_stats.opcode_stats[opcode].specialization; + SpecializationStats *stats = &_py_stats_struct.opcode_stats[opcode].specialization; PyObject *d = stats_to_dict(stats); if (d == NULL) { return -1; @@ -111,9 +96,9 @@ _Py_GetSpecializationStats(void) { return NULL; } int err = 0; + err += add_stat_dict(stats, LOAD_SUPER_ATTR, "load_super_attr"); err += add_stat_dict(stats, LOAD_ATTR, "load_attr"); err += add_stat_dict(stats, LOAD_GLOBAL, "load_global"); - err += add_stat_dict(stats, LOAD_METHOD, "load_method"); err += add_stat_dict(stats, BINARY_SUBSCR, "binary_subscr"); err += add_stat_dict(stats, STORE_SUBSCR, "store_subscr"); err += add_stat_dict(stats, STORE_ATTR, "store_attr"); @@ -121,7 +106,7 @@ _Py_GetSpecializationStats(void) { err += add_stat_dict(stats, BINARY_OP, "binary_op"); err += add_stat_dict(stats, COMPARE_OP, "compare_op"); err += add_stat_dict(stats, UNPACK_SEQUENCE, "unpack_sequence"); - err += add_stat_dict(stats, PRECALL, "precall"); + err += add_stat_dict(stats, FOR_ITER, "for_iter"); if (err < 0) { Py_DECREF(stats); return NULL; @@ -141,9 +126,12 @@ print_spec_stats(FILE *out, OpcodeStats *stats) { /* Mark some opcodes as specializable for stats, * even though we don't specialize them yet. */ - fprintf(out, "opcode[%d].specializable : 1\n", FOR_ITER); + fprintf(out, "opcode[%d].specializable : 1\n", BINARY_SLICE); + fprintf(out, "opcode[%d].specializable : 1\n", COMPARE_OP); + fprintf(out, "opcode[%d].specializable : 1\n", STORE_SLICE); + fprintf(out, "opcode[%d].specializable : 1\n", SEND); for (int i = 0; i < 256; i++) { - if (_PyOpcode_Adaptive[i]) { + if (_PyOpcode_Caches[i]) { fprintf(out, "opcode[%d].specializable : 1\n", i); } PRINT_STAT(i, specialization.success); @@ -160,7 +148,7 @@ print_spec_stats(FILE *out, OpcodeStats *stats) PRIu64 "\n", i, j, val); } } - for(int j = 0; j < 256; j++) { + for (int j = 0; j < 256; j++) { if (stats[i].pair_count[j]) { fprintf(out, "opcode[%d].pair_count[%d] : %" PRIu64 "\n", i, j, stats[i].pair_count[j]); @@ -178,6 +166,9 @@ print_call_stats(FILE *out, CallStats *stats) fprintf(out, "Calls to Python functions inlined: %" PRIu64 "\n", stats->inlined_py_calls); fprintf(out, "Frames pushed: %" PRIu64 "\n", stats->frames_pushed); fprintf(out, "Frame objects created: %" PRIu64 "\n", stats->frame_objects_created); + for (int i = 0; i < EVAL_CALL_KINDS; i++) { + fprintf(out, "Calls via PyEval_EvalFrame[%d] : %" PRIu64 "\n", i, stats->eval_calls[i]); + } } static void @@ -191,10 +182,19 @@ print_object_stats(FILE *out, ObjectStats *stats) fprintf(out, "Object allocations over 4 kbytes: %" PRIu64 "\n", stats->allocations_big); fprintf(out, "Object frees: %" PRIu64 "\n", stats->frees); fprintf(out, "Object new values: %" PRIu64 "\n", stats->new_values); + fprintf(out, "Object interpreter increfs: %" PRIu64 "\n", stats->interpreter_increfs); + fprintf(out, "Object interpreter decrefs: %" PRIu64 "\n", stats->interpreter_decrefs); + fprintf(out, "Object increfs: %" PRIu64 "\n", stats->increfs); + fprintf(out, "Object decrefs: %" PRIu64 "\n", stats->decrefs); fprintf(out, "Object materialize dict (on request): %" PRIu64 "\n", stats->dict_materialized_on_request); fprintf(out, "Object materialize dict (new key): %" PRIu64 "\n", stats->dict_materialized_new_key); fprintf(out, "Object materialize dict (too big): %" PRIu64 "\n", stats->dict_materialized_too_big); fprintf(out, "Object materialize dict (str subclass): %" PRIu64 "\n", stats->dict_materialized_str_subclass); + fprintf(out, "Object method cache hits: %" PRIu64 "\n", stats->type_cache_hits); + fprintf(out, "Object method cache misses: %" PRIu64 "\n", stats->type_cache_misses); + fprintf(out, "Object method cache collisions: %" PRIu64 "\n", stats->type_cache_collisions); + fprintf(out, "Object method cache dunder hits: %" PRIu64 "\n", stats->type_cache_dunder_hits); + fprintf(out, "Object method cache dunder misses: %" PRIu64 "\n", stats->type_cache_dunder_misses); } static void @@ -204,6 +204,12 @@ print_stats(FILE *out, PyStats *stats) { print_object_stats(out, &stats->object_stats); } +void +_Py_StatsClear(void) +{ + _py_stats_struct = (PyStats) { 0 }; +} + void _Py_PrintSpecializationStats(int to_file) { @@ -237,7 +243,7 @@ _Py_PrintSpecializationStats(int to_file) else { fprintf(out, "Specialization stats:\n"); } - print_stats(out, &_py_stats); + print_stats(out, &_py_stats_struct); if (out != stderr) { fclose(out); } @@ -245,8 +251,12 @@ _Py_PrintSpecializationStats(int to_file) #ifdef Py_STATS -#define SPECIALIZATION_FAIL(opcode, kind) _py_stats.opcode_stats[opcode].specialization.failure_kinds[kind]++ - +#define SPECIALIZATION_FAIL(opcode, kind) \ +do { \ + if (_py_stats) { \ + _py_stats->opcode_stats[opcode].specialization.failure_kinds[kind]++; \ + } \ +} while (0) #endif #endif @@ -255,81 +265,45 @@ _Py_PrintSpecializationStats(int to_file) #define SPECIALIZATION_FAIL(opcode, kind) ((void)0) #endif -// Insert adaptive instructions and superinstructions. This cannot fail. +// Initialize warmup counters and insert superinstructions. This cannot fail. void _PyCode_Quicken(PyCodeObject *code) { - _Py_QuickenedCount++; - int previous_opcode = -1; + #if ENABLE_SPECIALIZATION + int opcode = 0; _Py_CODEUNIT *instructions = _PyCode_CODE(code); for (int i = 0; i < Py_SIZE(code); i++) { - int opcode = _Py_OPCODE(instructions[i]); - uint8_t adaptive_opcode = _PyOpcode_Adaptive[opcode]; - if (adaptive_opcode) { - _Py_SET_OPCODE(instructions[i], adaptive_opcode); - // Make sure the adaptive counter is zero: - assert(instructions[i + 1] == 0); - previous_opcode = -1; - i += _PyOpcode_Caches[opcode]; - } - else { - assert(!_PyOpcode_Caches[opcode]); - switch (opcode) { - case EXTENDED_ARG: - _Py_SET_OPCODE(instructions[i], EXTENDED_ARG_QUICK); - break; - case JUMP_BACKWARD: - _Py_SET_OPCODE(instructions[i], JUMP_BACKWARD_QUICK); - break; - case RESUME: - _Py_SET_OPCODE(instructions[i], RESUME_QUICK); - break; - case LOAD_FAST: - switch(previous_opcode) { - case LOAD_FAST: - _Py_SET_OPCODE(instructions[i - 1], - LOAD_FAST__LOAD_FAST); - break; - case STORE_FAST: - _Py_SET_OPCODE(instructions[i - 1], - STORE_FAST__LOAD_FAST); - break; - case LOAD_CONST: - _Py_SET_OPCODE(instructions[i - 1], - LOAD_CONST__LOAD_FAST); - break; - } - break; - case STORE_FAST: - if (previous_opcode == STORE_FAST) { - _Py_SET_OPCODE(instructions[i - 1], - STORE_FAST__STORE_FAST); - } - break; - case LOAD_CONST: - if (previous_opcode == LOAD_FAST) { - _Py_SET_OPCODE(instructions[i - 1], - LOAD_FAST__LOAD_CONST); - } - break; - } - previous_opcode = opcode; + int previous_opcode = opcode; + opcode = _Py_GetBaseOpcode(code, i); + assert(opcode < MIN_INSTRUMENTED_OPCODE); + int caches = _PyOpcode_Caches[opcode]; + if (caches) { + instructions[i + 1].cache = adaptive_counter_warmup(); + i += caches; + continue; + } + switch (previous_opcode << 8 | opcode) { + case LOAD_CONST << 8 | LOAD_FAST: + instructions[i - 1].op.code = LOAD_CONST__LOAD_FAST; + break; + case LOAD_FAST << 8 | LOAD_CONST: + instructions[i - 1].op.code = LOAD_FAST__LOAD_CONST; + break; + case LOAD_FAST << 8 | LOAD_FAST: + instructions[i - 1].op.code = LOAD_FAST__LOAD_FAST; + break; + case STORE_FAST << 8 | LOAD_FAST: + instructions[i - 1].op.code = STORE_FAST__LOAD_FAST; + break; + case STORE_FAST << 8 | STORE_FAST: + instructions[i - 1].op.code = STORE_FAST__STORE_FAST; + break; } } + #endif /* ENABLE_SPECIALIZATION */ } -static inline int -miss_counter_start(void) { - /* Starting value for the counter. - * This value needs to be not too low, otherwise - * it would cause excessive de-optimization. - * Neither should it be too high, or that would delay - * de-optimization excessively when it is needed. - * A value around 50 seems to work, and we choose a - * prime number to avoid artifacts. - */ - return 53; -} +#define SIMPLE_FUNCTION 0 /* Common */ @@ -340,51 +314,55 @@ miss_counter_start(void) { #define SPEC_FAIL_OUT_OF_RANGE 4 #define SPEC_FAIL_EXPECTED_ERROR 5 #define SPEC_FAIL_WRONG_NUMBER_ARGUMENTS 6 +#define SPEC_FAIL_CODE_COMPLEX_PARAMETERS 7 +#define SPEC_FAIL_CODE_NOT_OPTIMIZED 8 + +#define SPEC_FAIL_LOAD_GLOBAL_NON_DICT 17 #define SPEC_FAIL_LOAD_GLOBAL_NON_STRING_OR_SPLIT 18 +/* Super */ + +#define SPEC_FAIL_SUPER_BAD_CLASS 9 +#define SPEC_FAIL_SUPER_SHADOWED 10 + /* Attributes */ -#define SPEC_FAIL_ATTR_OVERRIDING_DESCRIPTOR 8 -#define SPEC_FAIL_ATTR_NON_OVERRIDING_DESCRIPTOR 9 -#define SPEC_FAIL_ATTR_NOT_DESCRIPTOR 10 -#define SPEC_FAIL_ATTR_METHOD 11 -#define SPEC_FAIL_ATTR_MUTABLE_CLASS 12 -#define SPEC_FAIL_ATTR_PROPERTY 13 -#define SPEC_FAIL_ATTR_NON_OBJECT_SLOT 14 -#define SPEC_FAIL_ATTR_READ_ONLY 15 -#define SPEC_FAIL_ATTR_AUDITED_SLOT 16 -#define SPEC_FAIL_ATTR_NOT_MANAGED_DICT 17 -#define SPEC_FAIL_ATTR_NON_STRING_OR_SPLIT 18 -#define SPEC_FAIL_ATTR_MODULE_ATTR_NOT_FOUND 19 - -/* Methods */ - -#define SPEC_FAIL_LOAD_METHOD_OVERRIDING_DESCRIPTOR 8 -#define SPEC_FAIL_LOAD_METHOD_NON_OVERRIDING_DESCRIPTOR 9 -#define SPEC_FAIL_LOAD_METHOD_NOT_DESCRIPTOR 10 -#define SPEC_FAIL_LOAD_METHOD_METHOD 11 -#define SPEC_FAIL_LOAD_METHOD_MUTABLE_CLASS 12 -#define SPEC_FAIL_LOAD_METHOD_PROPERTY 13 -#define SPEC_FAIL_LOAD_METHOD_NON_OBJECT_SLOT 14 -#define SPEC_FAIL_LOAD_METHOD_IS_ATTR 15 -#define SPEC_FAIL_LOAD_METHOD_DICT_SUBCLASS 16 -#define SPEC_FAIL_LOAD_METHOD_BUILTIN_CLASS_METHOD 17 -#define SPEC_FAIL_LOAD_METHOD_CLASS_METHOD_OBJ 18 -#define SPEC_FAIL_LOAD_METHOD_OBJECT_SLOT 19 -#define SPEC_FAIL_LOAD_METHOD_HAS_DICT 20 -#define SPEC_FAIL_LOAD_METHOD_HAS_MANAGED_DICT 21 -#define SPEC_FAIL_LOAD_METHOD_INSTANCE_ATTRIBUTE 22 -#define SPEC_FAIL_LOAD_METHOD_METACLASS_ATTRIBUTE 23 +#define SPEC_FAIL_ATTR_OVERRIDING_DESCRIPTOR 9 +#define SPEC_FAIL_ATTR_NON_OVERRIDING_DESCRIPTOR 10 +#define SPEC_FAIL_ATTR_NOT_DESCRIPTOR 11 +#define SPEC_FAIL_ATTR_METHOD 12 +#define SPEC_FAIL_ATTR_MUTABLE_CLASS 13 +#define SPEC_FAIL_ATTR_PROPERTY 14 +#define SPEC_FAIL_ATTR_NON_OBJECT_SLOT 15 +#define SPEC_FAIL_ATTR_READ_ONLY 16 +#define SPEC_FAIL_ATTR_AUDITED_SLOT 17 +#define SPEC_FAIL_ATTR_NOT_MANAGED_DICT 18 +#define SPEC_FAIL_ATTR_NON_STRING_OR_SPLIT 19 +#define SPEC_FAIL_ATTR_MODULE_ATTR_NOT_FOUND 20 + +#define SPEC_FAIL_ATTR_SHADOWED 21 +#define SPEC_FAIL_ATTR_BUILTIN_CLASS_METHOD 22 +#define SPEC_FAIL_ATTR_CLASS_METHOD_OBJ 23 +#define SPEC_FAIL_ATTR_OBJECT_SLOT 24 +#define SPEC_FAIL_ATTR_HAS_MANAGED_DICT 25 +#define SPEC_FAIL_ATTR_INSTANCE_ATTRIBUTE 26 +#define SPEC_FAIL_ATTR_METACLASS_ATTRIBUTE 27 +#define SPEC_FAIL_ATTR_PROPERTY_NOT_PY_FUNCTION 28 +#define SPEC_FAIL_ATTR_NOT_IN_KEYS 29 +#define SPEC_FAIL_ATTR_NOT_IN_DICT 30 +#define SPEC_FAIL_ATTR_CLASS_ATTR_SIMPLE 31 +#define SPEC_FAIL_ATTR_CLASS_ATTR_DESCRIPTOR 32 +#define SPEC_FAIL_ATTR_BUILTIN_CLASS_METHOD_OBJ 33 /* Binary subscr and store subscr */ -#define SPEC_FAIL_SUBSCR_ARRAY_INT 8 -#define SPEC_FAIL_SUBSCR_ARRAY_SLICE 9 -#define SPEC_FAIL_SUBSCR_LIST_SLICE 10 -#define SPEC_FAIL_SUBSCR_TUPLE_SLICE 11 -#define SPEC_FAIL_SUBSCR_STRING_INT 12 -#define SPEC_FAIL_SUBSCR_STRING_SLICE 13 +#define SPEC_FAIL_SUBSCR_ARRAY_INT 9 +#define SPEC_FAIL_SUBSCR_ARRAY_SLICE 10 +#define SPEC_FAIL_SUBSCR_LIST_SLICE 11 +#define SPEC_FAIL_SUBSCR_TUPLE_SLICE 12 +#define SPEC_FAIL_SUBSCR_STRING_INT 13 +#define SPEC_FAIL_SUBSCR_STRING_SLICE 14 #define SPEC_FAIL_SUBSCR_BUFFER_INT 15 #define SPEC_FAIL_SUBSCR_BUFFER_SLICE 16 #define SPEC_FAIL_SUBSCR_SEQUENCE_INT 17 @@ -399,128 +377,135 @@ miss_counter_start(void) { /* Binary op */ -#define SPEC_FAIL_BINARY_OP_ADD_DIFFERENT_TYPES 8 -#define SPEC_FAIL_BINARY_OP_ADD_OTHER 9 -#define SPEC_FAIL_BINARY_OP_AND_DIFFERENT_TYPES 10 -#define SPEC_FAIL_BINARY_OP_AND_INT 11 -#define SPEC_FAIL_BINARY_OP_AND_OTHER 12 -#define SPEC_FAIL_BINARY_OP_FLOOR_DIVIDE 13 -#define SPEC_FAIL_BINARY_OP_LSHIFT 14 -#define SPEC_FAIL_BINARY_OP_MATRIX_MULTIPLY 15 -#define SPEC_FAIL_BINARY_OP_MULTIPLY_DIFFERENT_TYPES 16 -#define SPEC_FAIL_BINARY_OP_MULTIPLY_OTHER 17 -#define SPEC_FAIL_BINARY_OP_OR 18 -#define SPEC_FAIL_BINARY_OP_POWER 19 -#define SPEC_FAIL_BINARY_OP_REMAINDER 20 -#define SPEC_FAIL_BINARY_OP_RSHIFT 21 -#define SPEC_FAIL_BINARY_OP_SUBTRACT_DIFFERENT_TYPES 22 -#define SPEC_FAIL_BINARY_OP_SUBTRACT_OTHER 23 -#define SPEC_FAIL_BINARY_OP_TRUE_DIVIDE_DIFFERENT_TYPES 24 -#define SPEC_FAIL_BINARY_OP_TRUE_DIVIDE_FLOAT 25 -#define SPEC_FAIL_BINARY_OP_TRUE_DIVIDE_OTHER 26 -#define SPEC_FAIL_BINARY_OP_XOR 27 +#define SPEC_FAIL_BINARY_OP_ADD_DIFFERENT_TYPES 9 +#define SPEC_FAIL_BINARY_OP_ADD_OTHER 10 +#define SPEC_FAIL_BINARY_OP_AND_DIFFERENT_TYPES 11 +#define SPEC_FAIL_BINARY_OP_AND_INT 12 +#define SPEC_FAIL_BINARY_OP_AND_OTHER 13 +#define SPEC_FAIL_BINARY_OP_FLOOR_DIVIDE 14 +#define SPEC_FAIL_BINARY_OP_LSHIFT 15 +#define SPEC_FAIL_BINARY_OP_MATRIX_MULTIPLY 16 +#define SPEC_FAIL_BINARY_OP_MULTIPLY_DIFFERENT_TYPES 17 +#define SPEC_FAIL_BINARY_OP_MULTIPLY_OTHER 18 +#define SPEC_FAIL_BINARY_OP_OR 19 +#define SPEC_FAIL_BINARY_OP_POWER 20 +#define SPEC_FAIL_BINARY_OP_REMAINDER 21 +#define SPEC_FAIL_BINARY_OP_RSHIFT 22 +#define SPEC_FAIL_BINARY_OP_SUBTRACT_DIFFERENT_TYPES 23 +#define SPEC_FAIL_BINARY_OP_SUBTRACT_OTHER 24 +#define SPEC_FAIL_BINARY_OP_TRUE_DIVIDE_DIFFERENT_TYPES 25 +#define SPEC_FAIL_BINARY_OP_TRUE_DIVIDE_FLOAT 26 +#define SPEC_FAIL_BINARY_OP_TRUE_DIVIDE_OTHER 27 +#define SPEC_FAIL_BINARY_OP_XOR 28 /* Calls */ -#define SPEC_FAIL_CALL_COMPLEX_PARAMETERS 9 -#define SPEC_FAIL_CALL_CO_NOT_OPTIMIZED 10 -/* SPEC_FAIL_METHOD defined as 11 above */ #define SPEC_FAIL_CALL_INSTANCE_METHOD 11 #define SPEC_FAIL_CALL_CMETHOD 12 -#define SPEC_FAIL_CALL_PYCFUNCTION 13 -#define SPEC_FAIL_CALL_PYCFUNCTION_WITH_KEYWORDS 14 -#define SPEC_FAIL_CALL_PYCFUNCTION_FAST_WITH_KEYWORDS 15 -#define SPEC_FAIL_CALL_PYCFUNCTION_NOARGS 16 -#define SPEC_FAIL_CALL_BAD_CALL_FLAGS 17 -#define SPEC_FAIL_CALL_CLASS 18 -#define SPEC_FAIL_CALL_PYTHON_CLASS 19 -#define SPEC_FAIL_CALL_METHOD_DESCRIPTOR 20 -#define SPEC_FAIL_CALL_BOUND_METHOD 21 -#define SPEC_FAIL_CALL_STR 22 -#define SPEC_FAIL_CALL_CLASS_NO_VECTORCALL 23 -#define SPEC_FAIL_CALL_CLASS_MUTABLE 24 -#define SPEC_FAIL_CALL_KWNAMES 25 -#define SPEC_FAIL_CALL_METHOD_WRAPPER 26 -#define SPEC_FAIL_CALL_OPERATOR_WRAPPER 27 -#define SPEC_FAIL_CALL_PYFUNCTION 28 -#define SPEC_FAIL_CALL_PEP_523 29 +#define SPEC_FAIL_CALL_CFUNC_VARARGS 13 +#define SPEC_FAIL_CALL_CFUNC_VARARGS_KEYWORDS 14 +#define SPEC_FAIL_CALL_CFUNC_NOARGS 15 +#define SPEC_FAIL_CALL_CFUNC_METHOD_FASTCALL_KEYWORDS 16 +#define SPEC_FAIL_CALL_METH_DESCR_VARARGS 17 +#define SPEC_FAIL_CALL_METH_DESCR_VARARGS_KEYWORDS 18 +#define SPEC_FAIL_CALL_METH_DESCR_METHOD_FASTCALL_KEYWORDS 19 +#define SPEC_FAIL_CALL_BAD_CALL_FLAGS 20 +#define SPEC_FAIL_CALL_PYTHON_CLASS 21 +#define SPEC_FAIL_CALL_PEP_523 22 +#define SPEC_FAIL_CALL_BOUND_METHOD 23 +#define SPEC_FAIL_CALL_STR 24 +#define SPEC_FAIL_CALL_CLASS_NO_VECTORCALL 25 +#define SPEC_FAIL_CALL_CLASS_MUTABLE 26 +#define SPEC_FAIL_CALL_KWNAMES 27 +#define SPEC_FAIL_CALL_METHOD_WRAPPER 28 +#define SPEC_FAIL_CALL_OPERATOR_WRAPPER 29 /* COMPARE_OP */ #define SPEC_FAIL_COMPARE_OP_DIFFERENT_TYPES 12 #define SPEC_FAIL_COMPARE_OP_STRING 13 -#define SPEC_FAIL_COMPARE_OP_NOT_FOLLOWED_BY_COND_JUMP 14 -#define SPEC_FAIL_COMPARE_OP_BIG_INT 15 -#define SPEC_FAIL_COMPARE_OP_BYTES 16 -#define SPEC_FAIL_COMPARE_OP_TUPLE 17 -#define SPEC_FAIL_COMPARE_OP_LIST 18 -#define SPEC_FAIL_COMPARE_OP_SET 19 -#define SPEC_FAIL_COMPARE_OP_BOOL 20 -#define SPEC_FAIL_COMPARE_OP_BASEOBJECT 21 -#define SPEC_FAIL_COMPARE_OP_FLOAT_LONG 22 -#define SPEC_FAIL_COMPARE_OP_LONG_FLOAT 23 -#define SPEC_FAIL_COMPARE_OP_EXTENDED_ARG 24 - -/* FOR_ITER */ -#define SPEC_FAIL_FOR_ITER_GENERATOR 10 -#define SPEC_FAIL_FOR_ITER_COROUTINE 11 -#define SPEC_FAIL_FOR_ITER_ASYNC_GENERATOR 12 -#define SPEC_FAIL_FOR_ITER_LIST 13 -#define SPEC_FAIL_FOR_ITER_TUPLE 14 -#define SPEC_FAIL_FOR_ITER_SET 15 -#define SPEC_FAIL_FOR_ITER_STRING 16 -#define SPEC_FAIL_FOR_ITER_BYTES 17 -#define SPEC_FAIL_FOR_ITER_RANGE 18 -#define SPEC_FAIL_FOR_ITER_ITERTOOLS 19 -#define SPEC_FAIL_FOR_ITER_DICT_KEYS 20 -#define SPEC_FAIL_FOR_ITER_DICT_ITEMS 21 -#define SPEC_FAIL_FOR_ITER_DICT_VALUES 22 -#define SPEC_FAIL_FOR_ITER_ENUMERATE 23 +#define SPEC_FAIL_COMPARE_OP_BIG_INT 14 +#define SPEC_FAIL_COMPARE_OP_BYTES 15 +#define SPEC_FAIL_COMPARE_OP_TUPLE 16 +#define SPEC_FAIL_COMPARE_OP_LIST 17 +#define SPEC_FAIL_COMPARE_OP_SET 18 +#define SPEC_FAIL_COMPARE_OP_BOOL 19 +#define SPEC_FAIL_COMPARE_OP_BASEOBJECT 20 +#define SPEC_FAIL_COMPARE_OP_FLOAT_LONG 21 +#define SPEC_FAIL_COMPARE_OP_LONG_FLOAT 22 + +/* FOR_ITER and SEND */ +#define SPEC_FAIL_ITER_GENERATOR 10 +#define SPEC_FAIL_ITER_COROUTINE 11 +#define SPEC_FAIL_ITER_ASYNC_GENERATOR 12 +#define SPEC_FAIL_ITER_LIST 13 +#define SPEC_FAIL_ITER_TUPLE 14 +#define SPEC_FAIL_ITER_SET 15 +#define SPEC_FAIL_ITER_STRING 16 +#define SPEC_FAIL_ITER_BYTES 17 +#define SPEC_FAIL_ITER_RANGE 18 +#define SPEC_FAIL_ITER_ITERTOOLS 19 +#define SPEC_FAIL_ITER_DICT_KEYS 20 +#define SPEC_FAIL_ITER_DICT_ITEMS 21 +#define SPEC_FAIL_ITER_DICT_VALUES 22 +#define SPEC_FAIL_ITER_ENUMERATE 23 +#define SPEC_FAIL_ITER_MAP 24 +#define SPEC_FAIL_ITER_ZIP 25 +#define SPEC_FAIL_ITER_SEQ_ITER 26 +#define SPEC_FAIL_ITER_REVERSED_LIST 27 +#define SPEC_FAIL_ITER_CALLABLE 28 +#define SPEC_FAIL_ITER_ASCII_STRING 29 +#define SPEC_FAIL_ITER_ASYNC_GENERATOR_SEND 30 // UNPACK_SEQUENCE -#define SPEC_FAIL_UNPACK_SEQUENCE_ITERATOR 8 -#define SPEC_FAIL_UNPACK_SEQUENCE_SEQUENCE 9 +#define SPEC_FAIL_UNPACK_SEQUENCE_ITERATOR 9 +#define SPEC_FAIL_UNPACK_SEQUENCE_SEQUENCE 10 +static int function_kind(PyCodeObject *code); +static bool function_check_args(PyObject *o, int expected_argcount, int opcode); +static uint32_t function_get_version(PyObject *o, int opcode); static uint32_t type_get_version(PyTypeObject *t, int opcode); static int -specialize_module_load_attr(PyObject *owner, _Py_CODEUNIT *instr, - PyObject *name, int opcode, int opcode_module) -{ +specialize_module_load_attr( + PyObject *owner, _Py_CODEUNIT *instr, PyObject *name +) { _PyAttrCache *cache = (_PyAttrCache *)(instr + 1); PyModuleObject *m = (PyModuleObject *)owner; - PyObject *value = NULL; assert((owner->ob_type->tp_flags & Py_TPFLAGS_MANAGED_DICT) == 0); PyDictObject *dict = (PyDictObject *)m->md_dict; if (dict == NULL) { - SPECIALIZATION_FAIL(opcode, SPEC_FAIL_NO_DICT); + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_NO_DICT); return -1; } if (dict->ma_keys->dk_kind != DICT_KEYS_UNICODE) { - SPECIALIZATION_FAIL(opcode, SPEC_FAIL_ATTR_NON_STRING_OR_SPLIT); + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_NON_STRING_OR_SPLIT); return -1; } - Py_ssize_t index = _PyDict_GetItemHint(dict, &_Py_ID(__getattr__), -1, - &value); + Py_ssize_t index = _PyDict_LookupIndex(dict, &_Py_ID(__getattr__)); assert(index != DKIX_ERROR); if (index != DKIX_EMPTY) { - SPECIALIZATION_FAIL(opcode, SPEC_FAIL_ATTR_MODULE_ATTR_NOT_FOUND); + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_MODULE_ATTR_NOT_FOUND); return -1; } - index = _PyDict_GetItemHint(dict, name, -1, &value); + index = _PyDict_LookupIndex(dict, name); assert (index != DKIX_ERROR); if (index != (uint16_t)index) { - SPECIALIZATION_FAIL(opcode, SPEC_FAIL_OUT_OF_RANGE); + SPECIALIZATION_FAIL(LOAD_ATTR, + index == DKIX_EMPTY ? + SPEC_FAIL_ATTR_MODULE_ATTR_NOT_FOUND : + SPEC_FAIL_OUT_OF_RANGE); return -1; } - uint32_t keys_version = _PyDictKeys_GetVersionForCurrentState(dict->ma_keys); + uint32_t keys_version = _PyDictKeys_GetVersionForCurrentState( + _PyInterpreterState_GET(), dict->ma_keys); if (keys_version == 0) { - SPECIALIZATION_FAIL(opcode, SPEC_FAIL_OUT_OF_VERSIONS); + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_OUT_OF_VERSIONS); return -1; } write_u32(cache->version, keys_version); cache->index = (uint16_t)index; - _Py_SET_OPCODE(*instr, opcode_module); + instr->op.code = LOAD_ATTR_MODULE; return 0; } @@ -528,6 +513,34 @@ specialize_module_load_attr(PyObject *owner, _Py_CODEUNIT *instr, /* Attribute specialization */ +void +_Py_Specialize_LoadSuperAttr(PyObject *global_super, PyObject *cls, _Py_CODEUNIT *instr, int load_method) { + assert(ENABLE_SPECIALIZATION); + assert(_PyOpcode_Caches[LOAD_SUPER_ATTR] == INLINE_CACHE_ENTRIES_LOAD_SUPER_ATTR); + _PySuperAttrCache *cache = (_PySuperAttrCache *)(instr + 1); + if (global_super != (PyObject *)&PySuper_Type) { + SPECIALIZATION_FAIL(LOAD_SUPER_ATTR, SPEC_FAIL_SUPER_SHADOWED); + goto fail; + } + if (!PyType_Check(cls)) { + SPECIALIZATION_FAIL(LOAD_SUPER_ATTR, SPEC_FAIL_SUPER_BAD_CLASS); + goto fail; + } + instr->op.code = load_method ? LOAD_SUPER_ATTR_METHOD : LOAD_SUPER_ATTR_ATTR; + goto success; + +fail: + STAT_INC(LOAD_SUPER_ATTR, failure); + assert(!PyErr_Occurred()); + instr->op.code = LOAD_SUPER_ATTR; + cache->counter = adaptive_counter_backoff(cache->counter); + return; +success: + STAT_INC(LOAD_SUPER_ATTR, success); + assert(!PyErr_Occurred()); + cache->counter = adaptive_counter_cooldown(); +} + typedef enum { OVERRIDING, /* Is an overriding descriptor, and will remain so. */ METHOD, /* Attribute has Py_TPFLAGS_METHOD_DESCRIPTOR set */ @@ -541,13 +554,15 @@ typedef enum { MUTABLE, /* Instance of a mutable class; might, or might not, be a descriptor */ ABSENT, /* Attribute is not present on the class */ DUNDER_CLASS, /* __class__ attribute */ - GETSET_OVERRIDDEN /* __getattribute__ or __setattr__ has been overridden */ + GETSET_OVERRIDDEN, /* __getattribute__ or __setattr__ has been overridden */ + GETATTRIBUTE_IS_PYTHON_FUNCTION /* Descriptor requires calling a Python __getattribute__ */ } DescriptorClassification; static DescriptorClassification analyze_descriptor(PyTypeObject *type, PyObject *name, PyObject **descr, int store) { + bool has_getattr = false; if (store) { if (type->tp_setattro != PyObject_GenericSetAttr) { *descr = NULL; @@ -555,7 +570,42 @@ analyze_descriptor(PyTypeObject *type, PyObject *name, PyObject **descr, int sto } } else { - if (type->tp_getattro != PyObject_GenericGetAttr) { + getattrofunc getattro_slot = type->tp_getattro; + if (getattro_slot == PyObject_GenericGetAttr) { + /* Normal attribute lookup; */ + has_getattr = false; + } + else if (getattro_slot == _Py_slot_tp_getattr_hook || + getattro_slot == _Py_slot_tp_getattro) { + /* One or both of __getattribute__ or __getattr__ may have been + overridden See typeobject.c for why these functions are special. */ + PyObject *getattribute = _PyType_Lookup(type, + &_Py_ID(__getattribute__)); + PyInterpreterState *interp = _PyInterpreterState_GET(); + bool has_custom_getattribute = getattribute != NULL && + getattribute != interp->callable_cache.object__getattribute__; + has_getattr = _PyType_Lookup(type, &_Py_ID(__getattr__)) != NULL; + if (has_custom_getattribute) { + if (getattro_slot == _Py_slot_tp_getattro && + !has_getattr && + Py_IS_TYPE(getattribute, &PyFunction_Type)) { + *descr = getattribute; + return GETATTRIBUTE_IS_PYTHON_FUNCTION; + } + /* Potentially both __getattr__ and __getattribute__ are set. + Too complicated */ + *descr = NULL; + return GETSET_OVERRIDDEN; + } + /* Potentially has __getattr__ but no custom __getattribute__. + Fall through to usual descriptor analysis. + Usual attribute lookup should only be allowed at runtime + if we can guarantee that there is no way an exception can be + raised. This means some specializations, e.g. specializing + for property() isn't safe. + */ + } + else { *descr = NULL; return GETSET_OVERRIDDEN; } @@ -579,14 +629,19 @@ analyze_descriptor(PyTypeObject *type, PyObject *name, PyObject **descr, int sto return OTHER_SLOT; } if (desc_cls == &PyProperty_Type) { - return PROPERTY; + /* We can't detect at runtime whether an attribute exists + with property. So that means we may have to call + __getattr__. */ + return has_getattr ? GETSET_OVERRIDDEN : PROPERTY; } if (PyUnicode_CompareWithASCIIString(name, "__class__") == 0) { if (descriptor == _PyType_Lookup(&PyBaseObject_Type, name)) { return DUNDER_CLASS; } } - return OVERRIDING; + if (store) { + return OVERRIDING; + } } if (desc_cls->tp_descr_get) { if (desc_cls->tp_flags & Py_TPFLAGS_METHOD_DESCRIPTOR) { @@ -617,63 +672,81 @@ specialize_dict_access( return 0; } _PyAttrCache *cache = (_PyAttrCache *)(instr + 1); - PyObject **dictptr = _PyObject_ManagedDictPointer(owner); - PyDictObject *dict = (PyDictObject *)*dictptr; - if (dict == NULL) { + PyDictOrValues dorv = *_PyObject_DictOrValuesPointer(owner); + if (_PyDictOrValues_IsValues(dorv)) { // Virtual dictionary PyDictKeysObject *keys = ((PyHeapTypeObject *)type)->ht_cached_keys; assert(PyUnicode_CheckExact(name)); Py_ssize_t index = _PyDictKeys_StringLookup(keys, name); assert (index != DKIX_ERROR); if (index != (uint16_t)index) { - SPECIALIZATION_FAIL(base_op, SPEC_FAIL_OUT_OF_RANGE); + SPECIALIZATION_FAIL(base_op, + index == DKIX_EMPTY ? + SPEC_FAIL_ATTR_NOT_IN_KEYS : + SPEC_FAIL_OUT_OF_RANGE); return 0; } write_u32(cache->version, type->tp_version_tag); cache->index = (uint16_t)index; - _Py_SET_OPCODE(*instr, values_op); + instr->op.code = values_op; } else { - if (!PyDict_CheckExact(dict)) { + PyDictObject *dict = (PyDictObject *)_PyDictOrValues_GetDict(dorv); + if (dict == NULL || !PyDict_CheckExact(dict)) { SPECIALIZATION_FAIL(base_op, SPEC_FAIL_NO_DICT); return 0; } // We found an instance with a __dict__. - PyObject *value = NULL; - Py_ssize_t hint = - _PyDict_GetItemHint(dict, name, -1, &value); - if (hint != (uint16_t)hint) { - SPECIALIZATION_FAIL(base_op, SPEC_FAIL_OUT_OF_RANGE); + Py_ssize_t index = + _PyDict_LookupIndex(dict, name); + if (index != (uint16_t)index) { + SPECIALIZATION_FAIL(base_op, + index == DKIX_EMPTY ? + SPEC_FAIL_ATTR_NOT_IN_DICT : + SPEC_FAIL_OUT_OF_RANGE); return 0; } - cache->index = (uint16_t)hint; + cache->index = (uint16_t)index; write_u32(cache->version, type->tp_version_tag); - _Py_SET_OPCODE(*instr, hint_op); + instr->op.code = hint_op; } return 1; } -int +static int specialize_attr_loadmethod(PyObject* owner, _Py_CODEUNIT* instr, PyObject* name, + PyObject* descr, DescriptorClassification kind); +static int specialize_class_load_attr(PyObject* owner, _Py_CODEUNIT* instr, PyObject* name); + +void _Py_Specialize_LoadAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) { + assert(ENABLE_SPECIALIZATION); assert(_PyOpcode_Caches[LOAD_ATTR] == INLINE_CACHE_ENTRIES_LOAD_ATTR); _PyAttrCache *cache = (_PyAttrCache *)(instr + 1); + PyTypeObject *type = Py_TYPE(owner); + if (!_PyType_IsReady(type)) { + // We *might* not really need this check, but we inherited it from + // PyObject_GenericGetAttr and friends... and this way we still do the + // right thing if someone forgets to call PyType_Ready(type): + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_OTHER); + goto fail; + } if (PyModule_CheckExact(owner)) { - int err = specialize_module_load_attr(owner, instr, name, LOAD_ATTR, - LOAD_ATTR_MODULE); - if (err) { + if (specialize_module_load_attr(owner, instr, name)) + { goto fail; } goto success; } - PyTypeObject *type = Py_TYPE(owner); - if (type->tp_dict == NULL) { - if (PyType_Ready(type) < 0) { - return -1; + if (PyType_Check(owner)) { + if (specialize_class_load_attr(owner, instr, name)) { + goto fail; } + goto success; } - PyObject *descr; + PyObject *descr = NULL; DescriptorClassification kind = analyze_descriptor(type, name, &descr, 0); + assert(descr != NULL || kind == ABSENT || kind == GETSET_OVERRIDDEN); if (type_get_version(type, LOAD_ATTR) == 0) { goto fail; } @@ -682,11 +755,50 @@ _Py_Specialize_LoadAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_OVERRIDING_DESCRIPTOR); goto fail; case METHOD: - SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_METHOD); + { + int oparg = instr->op.arg; + if (oparg & 1) { + if (specialize_attr_loadmethod(owner, instr, name, descr, kind)) { + goto success; + } + } + else { + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_METHOD); + } goto fail; + } case PROPERTY: - SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_PROPERTY); - goto fail; + { + _PyLoadMethodCache *lm_cache = (_PyLoadMethodCache *)(instr + 1); + assert(Py_TYPE(descr) == &PyProperty_Type); + PyObject *fget = ((_PyPropertyObject *)descr)->prop_get; + if (fget == NULL) { + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_EXPECTED_ERROR); + goto fail; + } + if (!Py_IS_TYPE(fget, &PyFunction_Type)) { + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_PROPERTY_NOT_PY_FUNCTION); + goto fail; + } + if (!function_check_args(fget, 1, LOAD_ATTR)) { + goto fail; + } + uint32_t version = function_get_version(fget, LOAD_ATTR); + if (version == 0) { + goto fail; + } + if (_PyInterpreterState_GET()->eval_frame) { + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_OTHER); + goto fail; + } + write_u32(lm_cache->keys_version, version); + assert(type->tp_version_tag != 0); + write_u32(lm_cache->type_version, type->tp_version_tag); + /* borrowed */ + write_obj(lm_cache->descr, fget); + instr->op.code = LOAD_ATTR_PROPERTY; + goto success; + } case OBJECT_SLOT: { PyMemberDescrObject *member = (PyMemberDescrObject *)descr; @@ -708,7 +820,7 @@ _Py_Specialize_LoadAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) assert(offset > 0); cache->index = (uint16_t)offset; write_u32(cache->version, type->tp_version_tag); - _Py_SET_OPCODE(*instr, LOAD_ATTR_SLOT); + instr->op.code = LOAD_ATTR_SLOT; goto success; } case DUNDER_CLASS: @@ -717,7 +829,7 @@ _Py_Specialize_LoadAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) assert(offset == (uint16_t)offset); cache->index = (uint16_t)offset; write_u32(cache->version, type->tp_version_tag); - _Py_SET_OPCODE(*instr, LOAD_ATTR_SLOT); + instr->op.code = LOAD_ATTR_SLOT; goto success; } case OTHER_SLOT: @@ -729,41 +841,80 @@ _Py_Specialize_LoadAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) case GETSET_OVERRIDDEN: SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_OVERRIDDEN); goto fail; + case GETATTRIBUTE_IS_PYTHON_FUNCTION: + { + assert(type->tp_getattro == _Py_slot_tp_getattro); + assert(Py_IS_TYPE(descr, &PyFunction_Type)); + _PyLoadMethodCache *lm_cache = (_PyLoadMethodCache *)(instr + 1); + if (!function_check_args(descr, 2, LOAD_ATTR)) { + goto fail; + } + uint32_t version = function_get_version(descr, LOAD_ATTR); + if (version == 0) { + goto fail; + } + if (_PyInterpreterState_GET()->eval_frame) { + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_OTHER); + goto fail; + } + write_u32(lm_cache->keys_version, version); + /* borrowed */ + write_obj(lm_cache->descr, descr); + write_u32(lm_cache->type_version, type->tp_version_tag); + instr->op.code = LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN; + goto success; + } case BUILTIN_CLASSMETHOD: + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_BUILTIN_CLASS_METHOD_OBJ); + goto fail; case PYTHON_CLASSMETHOD: + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_CLASS_METHOD_OBJ); + goto fail; case NON_OVERRIDING: + SPECIALIZATION_FAIL(LOAD_ATTR, + (type->tp_flags & Py_TPFLAGS_MANAGED_DICT) ? + SPEC_FAIL_ATTR_CLASS_ATTR_DESCRIPTOR : + SPEC_FAIL_ATTR_NOT_MANAGED_DICT); + goto fail; case NON_DESCRIPTOR: + SPECIALIZATION_FAIL(LOAD_ATTR, + (type->tp_flags & Py_TPFLAGS_MANAGED_DICT) ? + SPEC_FAIL_ATTR_CLASS_ATTR_SIMPLE : + SPEC_FAIL_ATTR_NOT_MANAGED_DICT); + goto fail; case ABSENT: - break; - } - int err = specialize_dict_access( - owner, instr, type, kind, name, - LOAD_ATTR, LOAD_ATTR_INSTANCE_VALUE, LOAD_ATTR_WITH_HINT - ); - if (err < 0) { - return -1; - } - if (err) { - goto success; + if (specialize_dict_access(owner, instr, type, kind, name, LOAD_ATTR, + LOAD_ATTR_INSTANCE_VALUE, LOAD_ATTR_WITH_HINT)) + { + goto success; + } } fail: STAT_INC(LOAD_ATTR, failure); assert(!PyErr_Occurred()); + instr->op.code = LOAD_ATTR; cache->counter = adaptive_counter_backoff(cache->counter); - return 0; + return; success: STAT_INC(LOAD_ATTR, success); assert(!PyErr_Occurred()); - cache->counter = miss_counter_start(); - return 0; + cache->counter = adaptive_counter_cooldown(); } -int +void _Py_Specialize_StoreAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) { + assert(ENABLE_SPECIALIZATION); assert(_PyOpcode_Caches[STORE_ATTR] == INLINE_CACHE_ENTRIES_STORE_ATTR); _PyAttrCache *cache = (_PyAttrCache *)(instr + 1); PyTypeObject *type = Py_TYPE(owner); + if (!_PyType_IsReady(type)) { + // We *might* not really need this check, but we inherited it from + // PyObject_GenericSetAttr and friends... and this way we still do the + // right thing if someone forgets to call PyType_Ready(type): + SPECIALIZATION_FAIL(STORE_ATTR, SPEC_FAIL_OTHER); + goto fail; + } if (PyModule_CheckExact(owner)) { SPECIALIZATION_FAIL(STORE_ATTR, SPEC_FAIL_OVERRIDDEN); goto fail; @@ -804,7 +955,7 @@ _Py_Specialize_StoreAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) assert(offset > 0); cache->index = (uint16_t)offset; write_u32(cache->version, type->tp_version_tag); - _Py_SET_OPCODE(*instr, STORE_ATTR_SLOT); + instr->op.code = STORE_ATTR_SLOT; goto success; } case DUNDER_CLASS: @@ -814,89 +965,92 @@ _Py_Specialize_StoreAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) case MUTABLE: SPECIALIZATION_FAIL(STORE_ATTR, SPEC_FAIL_ATTR_MUTABLE_CLASS); goto fail; + case GETATTRIBUTE_IS_PYTHON_FUNCTION: case GETSET_OVERRIDDEN: SPECIALIZATION_FAIL(STORE_ATTR, SPEC_FAIL_OVERRIDDEN); goto fail; case BUILTIN_CLASSMETHOD: + SPECIALIZATION_FAIL(STORE_ATTR, SPEC_FAIL_ATTR_BUILTIN_CLASS_METHOD_OBJ); + goto fail; case PYTHON_CLASSMETHOD: + SPECIALIZATION_FAIL(STORE_ATTR, SPEC_FAIL_ATTR_CLASS_METHOD_OBJ); + goto fail; case NON_OVERRIDING: + SPECIALIZATION_FAIL(STORE_ATTR, SPEC_FAIL_ATTR_CLASS_ATTR_DESCRIPTOR); + goto fail; case NON_DESCRIPTOR: + SPECIALIZATION_FAIL(STORE_ATTR, SPEC_FAIL_ATTR_CLASS_ATTR_SIMPLE); + goto fail; case ABSENT: - break; - } - - int err = specialize_dict_access( - owner, instr, type, kind, name, - STORE_ATTR, STORE_ATTR_INSTANCE_VALUE, STORE_ATTR_WITH_HINT - ); - if (err < 0) { - return -1; - } - if (err) { - goto success; + if (specialize_dict_access(owner, instr, type, kind, name, STORE_ATTR, + STORE_ATTR_INSTANCE_VALUE, STORE_ATTR_WITH_HINT)) + { + goto success; + } } fail: STAT_INC(STORE_ATTR, failure); assert(!PyErr_Occurred()); + instr->op.code = STORE_ATTR; cache->counter = adaptive_counter_backoff(cache->counter); - return 0; + return; success: STAT_INC(STORE_ATTR, success); assert(!PyErr_Occurred()); - cache->counter = miss_counter_start(); - return 0; + cache->counter = adaptive_counter_cooldown(); } #ifdef Py_STATS static int -load_method_fail_kind(DescriptorClassification kind) +load_attr_fail_kind(DescriptorClassification kind) { switch (kind) { case OVERRIDING: - return SPEC_FAIL_LOAD_METHOD_OVERRIDING_DESCRIPTOR; + return SPEC_FAIL_ATTR_OVERRIDING_DESCRIPTOR; case METHOD: - return SPEC_FAIL_LOAD_METHOD_METHOD; + return SPEC_FAIL_ATTR_METHOD; case PROPERTY: - return SPEC_FAIL_LOAD_METHOD_PROPERTY; + return SPEC_FAIL_ATTR_PROPERTY; case OBJECT_SLOT: - return SPEC_FAIL_LOAD_METHOD_OBJECT_SLOT; + return SPEC_FAIL_ATTR_OBJECT_SLOT; case OTHER_SLOT: - return SPEC_FAIL_LOAD_METHOD_NON_OBJECT_SLOT; + return SPEC_FAIL_ATTR_NON_OBJECT_SLOT; case DUNDER_CLASS: return SPEC_FAIL_OTHER; case MUTABLE: - return SPEC_FAIL_LOAD_METHOD_MUTABLE_CLASS; + return SPEC_FAIL_ATTR_MUTABLE_CLASS; case GETSET_OVERRIDDEN: + case GETATTRIBUTE_IS_PYTHON_FUNCTION: return SPEC_FAIL_OVERRIDDEN; case BUILTIN_CLASSMETHOD: - return SPEC_FAIL_LOAD_METHOD_BUILTIN_CLASS_METHOD; + return SPEC_FAIL_ATTR_BUILTIN_CLASS_METHOD; case PYTHON_CLASSMETHOD: - return SPEC_FAIL_LOAD_METHOD_CLASS_METHOD_OBJ; + return SPEC_FAIL_ATTR_CLASS_METHOD_OBJ; case NON_OVERRIDING: - return SPEC_FAIL_LOAD_METHOD_NON_OVERRIDING_DESCRIPTOR; + return SPEC_FAIL_ATTR_NON_OVERRIDING_DESCRIPTOR; case NON_DESCRIPTOR: - return SPEC_FAIL_LOAD_METHOD_NOT_DESCRIPTOR; + return SPEC_FAIL_ATTR_NOT_DESCRIPTOR; case ABSENT: - return SPEC_FAIL_LOAD_METHOD_INSTANCE_ATTRIBUTE; + return SPEC_FAIL_ATTR_INSTANCE_ATTRIBUTE; } Py_UNREACHABLE(); } #endif static int -specialize_class_load_method(PyObject *owner, _Py_CODEUNIT *instr, +specialize_class_load_attr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) { _PyLoadMethodCache *cache = (_PyLoadMethodCache *)(instr + 1); if (!PyType_CheckExact(owner) || _PyType_Lookup(Py_TYPE(owner), name)) { - SPECIALIZATION_FAIL(LOAD_METHOD, SPEC_FAIL_LOAD_METHOD_METACLASS_ATTRIBUTE); + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_METACLASS_ATTRIBUTE); return -1; } PyObject *descr = NULL; DescriptorClassification kind = 0; kind = analyze_descriptor((PyTypeObject *)owner, name, &descr, 0); - if (type_get_version((PyTypeObject *)owner, LOAD_METHOD) == 0) { + if (type_get_version((PyTypeObject *)owner, LOAD_ATTR) == 0) { return -1; } switch (kind) { @@ -904,131 +1058,70 @@ specialize_class_load_method(PyObject *owner, _Py_CODEUNIT *instr, case NON_DESCRIPTOR: write_u32(cache->type_version, ((PyTypeObject *)owner)->tp_version_tag); write_obj(cache->descr, descr); - _Py_SET_OPCODE(*instr, LOAD_METHOD_CLASS); + instr->op.code = LOAD_ATTR_CLASS; return 0; #ifdef Py_STATS case ABSENT: - SPECIALIZATION_FAIL(LOAD_METHOD, SPEC_FAIL_EXPECTED_ERROR); + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_EXPECTED_ERROR); return -1; #endif default: - SPECIALIZATION_FAIL(LOAD_METHOD, load_method_fail_kind(kind)); + SPECIALIZATION_FAIL(LOAD_ATTR, load_attr_fail_kind(kind)); return -1; } } -typedef enum { - MANAGED_VALUES = 1, - MANAGED_DICT = 2, - OFFSET_DICT = 3, - NO_DICT = 4 -} ObjectDictKind; - // Please collect stats carefully before and after modifying. A subtle change // can cause a significant drop in cache hits. A possible test is // python.exe -m test_typing test_re test_dis test_zlib. -int -_Py_Specialize_LoadMethod(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) +static int +specialize_attr_loadmethod(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name, +PyObject *descr, DescriptorClassification kind) { - assert(_PyOpcode_Caches[LOAD_METHOD] == INLINE_CACHE_ENTRIES_LOAD_METHOD); _PyLoadMethodCache *cache = (_PyLoadMethodCache *)(instr + 1); PyTypeObject *owner_cls = Py_TYPE(owner); - if (PyModule_CheckExact(owner)) { - assert(INLINE_CACHE_ENTRIES_LOAD_ATTR <= - INLINE_CACHE_ENTRIES_LOAD_METHOD); - int err = specialize_module_load_attr(owner, instr, name, LOAD_METHOD, - LOAD_METHOD_MODULE); - if (err) { - goto fail; - } - goto success; - } - if (owner_cls->tp_dict == NULL) { - if (PyType_Ready(owner_cls) < 0) { - return -1; - } - } - if (PyType_Check(owner)) { - int err = specialize_class_load_method(owner, instr, name); - if (err) { - goto fail; - } - goto success; - } - - PyObject *descr = NULL; - DescriptorClassification kind = 0; - kind = analyze_descriptor(owner_cls, name, &descr, 0); - if (type_get_version(owner_cls, LOAD_METHOD) == 0) { - goto fail; - } - assert(descr != NULL || kind == ABSENT || kind == GETSET_OVERRIDDEN); - if (kind != METHOD) { - SPECIALIZATION_FAIL(LOAD_METHOD, load_method_fail_kind(kind)); - goto fail; - } - ObjectDictKind dictkind; - PyDictKeysObject *keys; + assert(kind == METHOD && descr != NULL); if (owner_cls->tp_flags & Py_TPFLAGS_MANAGED_DICT) { - PyObject *dict = *_PyObject_ManagedDictPointer(owner); - keys = ((PyHeapTypeObject *)owner_cls)->ht_cached_keys; - if (dict == NULL) { - dictkind = MANAGED_VALUES; + PyDictOrValues dorv = *_PyObject_DictOrValuesPointer(owner); + PyDictKeysObject *keys = ((PyHeapTypeObject *)owner_cls)->ht_cached_keys; + if (!_PyDictOrValues_IsValues(dorv)) { + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_HAS_MANAGED_DICT); + return 0; } - else { - dictkind = MANAGED_DICT; + Py_ssize_t index = _PyDictKeys_StringLookup(keys, name); + if (index != DKIX_EMPTY) { + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_SHADOWED); + return 0; } + uint32_t keys_version = _PyDictKeys_GetVersionForCurrentState( + _PyInterpreterState_GET(), keys); + if (keys_version == 0) { + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_OUT_OF_VERSIONS); + return 0; + } + write_u32(cache->keys_version, keys_version); + instr->op.code = LOAD_ATTR_METHOD_WITH_VALUES; } else { Py_ssize_t dictoffset = owner_cls->tp_dictoffset; if (dictoffset < 0 || dictoffset > INT16_MAX) { - SPECIALIZATION_FAIL(LOAD_METHOD, SPEC_FAIL_OUT_OF_RANGE); - goto fail; + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_OUT_OF_RANGE); + return 0; } if (dictoffset == 0) { - dictkind = NO_DICT; - keys = NULL; + instr->op.code = LOAD_ATTR_METHOD_NO_DICT; } else { PyObject *dict = *(PyObject **) ((char *)owner + dictoffset); - if (dict == NULL) { - SPECIALIZATION_FAIL(LOAD_METHOD, SPEC_FAIL_NO_DICT); - goto fail; + if (dict) { + SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_NOT_MANAGED_DICT); + return 0; } - keys = ((PyDictObject *)dict)->ma_keys; - dictkind = OFFSET_DICT; - } - } - if (dictkind != NO_DICT) { - Py_ssize_t index = _PyDictKeys_StringLookup(keys, name); - if (index != DKIX_EMPTY) { - SPECIALIZATION_FAIL(LOAD_METHOD, SPEC_FAIL_LOAD_METHOD_IS_ATTR); - goto fail; - } - uint32_t keys_version = _PyDictKeys_GetVersionForCurrentState(keys); - if (keys_version == 0) { - SPECIALIZATION_FAIL(LOAD_METHOD, SPEC_FAIL_OUT_OF_VERSIONS); - goto fail; + assert(owner_cls->tp_dictoffset > 0); + assert(owner_cls->tp_dictoffset <= INT16_MAX); + instr->op.code = LOAD_ATTR_METHOD_LAZY_DICT; } - write_u32(cache->keys_version, keys_version); - } - switch(dictkind) { - case NO_DICT: - _Py_SET_OPCODE(*instr, LOAD_METHOD_NO_DICT); - break; - case MANAGED_VALUES: - _Py_SET_OPCODE(*instr, LOAD_METHOD_WITH_VALUES); - break; - case MANAGED_DICT: - *(int16_t *)&cache->dict_offset = (int16_t)MANAGED_DICT_OFFSET; - _Py_SET_OPCODE(*instr, LOAD_METHOD_WITH_DICT); - break; - case OFFSET_DICT: - assert(owner_cls->tp_dictoffset > 0 && owner_cls->tp_dictoffset <= INT16_MAX); - cache->dict_offset = (uint16_t)owner_cls->tp_dictoffset; - _Py_SET_OPCODE(*instr, LOAD_METHOD_WITH_DICT); - break; } /* `descr` is borrowed. This is safe for methods (even inherited ones from * super classes!) as long as tp_version_tag is validated for two main reasons: @@ -1046,29 +1139,21 @@ _Py_Specialize_LoadMethod(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name) */ write_u32(cache->type_version, owner_cls->tp_version_tag); write_obj(cache->descr, descr); - // Fall through. -success: - STAT_INC(LOAD_METHOD, success); - assert(!PyErr_Occurred()); - cache->counter = miss_counter_start(); - return 0; -fail: - STAT_INC(LOAD_METHOD, failure); - assert(!PyErr_Occurred()); - cache->counter = adaptive_counter_backoff(cache->counter); - return 0; + return 1; } -int +void _Py_Specialize_LoadGlobal( PyObject *globals, PyObject *builtins, _Py_CODEUNIT *instr, PyObject *name) { + assert(ENABLE_SPECIALIZATION); assert(_PyOpcode_Caches[LOAD_GLOBAL] == INLINE_CACHE_ENTRIES_LOAD_GLOBAL); /* Use inline cache */ _PyLoadGlobalCache *cache = (_PyLoadGlobalCache *)(instr + 1); assert(PyUnicode_CheckExact(name)); if (!PyDict_CheckExact(globals)) { + SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_LOAD_GLOBAL_NON_DICT); goto fail; } PyDictKeysObject * globals_keys = ((PyDictObject *)globals)->ma_keys; @@ -1078,23 +1163,32 @@ _Py_Specialize_LoadGlobal( } Py_ssize_t index = _PyDictKeys_StringLookup(globals_keys, name); if (index == DKIX_ERROR) { - SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_LOAD_GLOBAL_NON_STRING_OR_SPLIT); + SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_EXPECTED_ERROR); goto fail; } + PyInterpreterState *interp = _PyInterpreterState_GET(); if (index != DKIX_EMPTY) { if (index != (uint16_t)index) { + SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_OUT_OF_RANGE); goto fail; } - uint32_t keys_version = _PyDictKeys_GetVersionForCurrentState(globals_keys); + uint32_t keys_version = _PyDictKeys_GetVersionForCurrentState( + interp, globals_keys); if (keys_version == 0) { + SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_OUT_OF_VERSIONS); + goto fail; + } + if (keys_version != (uint16_t)keys_version) { + SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_OUT_OF_RANGE); goto fail; } cache->index = (uint16_t)index; - write_u32(cache->module_keys_version, keys_version); - _Py_SET_OPCODE(*instr, LOAD_GLOBAL_MODULE); + cache->module_keys_version = (uint16_t)keys_version; + instr->op.code = LOAD_GLOBAL_MODULE; goto success; } if (!PyDict_CheckExact(builtins)) { + SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_LOAD_GLOBAL_NON_DICT); goto fail; } PyDictKeysObject * builtin_keys = ((PyDictObject *)builtins)->ma_keys; @@ -1104,18 +1198,25 @@ _Py_Specialize_LoadGlobal( } index = _PyDictKeys_StringLookup(builtin_keys, name); if (index == DKIX_ERROR) { - SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_LOAD_GLOBAL_NON_STRING_OR_SPLIT); + SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_EXPECTED_ERROR); goto fail; } if (index != (uint16_t)index) { + SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_OUT_OF_RANGE); goto fail; } - uint32_t globals_version = _PyDictKeys_GetVersionForCurrentState(globals_keys); + uint32_t globals_version = _PyDictKeys_GetVersionForCurrentState( + interp, globals_keys); if (globals_version == 0) { SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_OUT_OF_VERSIONS); goto fail; } - uint32_t builtins_version = _PyDictKeys_GetVersionForCurrentState(builtin_keys); + if (globals_version != (uint16_t)globals_version) { + SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_OUT_OF_RANGE); + goto fail; + } + uint32_t builtins_version = _PyDictKeys_GetVersionForCurrentState( + interp, builtin_keys); if (builtins_version == 0) { SPECIALIZATION_FAIL(LOAD_GLOBAL, SPEC_FAIL_OUT_OF_VERSIONS); goto fail; @@ -1125,20 +1226,20 @@ _Py_Specialize_LoadGlobal( goto fail; } cache->index = (uint16_t)index; - write_u32(cache->module_keys_version, globals_version); + cache->module_keys_version = (uint16_t)globals_version; cache->builtin_keys_version = (uint16_t)builtins_version; - _Py_SET_OPCODE(*instr, LOAD_GLOBAL_BUILTIN); + instr->op.code = LOAD_GLOBAL_BUILTIN; goto success; fail: STAT_INC(LOAD_GLOBAL, failure); assert(!PyErr_Occurred()); + instr->op.code = LOAD_GLOBAL; cache->counter = adaptive_counter_backoff(cache->counter); - return 0; + return; success: STAT_INC(LOAD_GLOBAL, success); assert(!PyErr_Occurred()); - cache->counter = miss_counter_start(); - return 0; + cache->counter = adaptive_counter_cooldown(); } #ifdef Py_STATS @@ -1181,21 +1282,51 @@ binary_subscr_fail_kind(PyTypeObject *container_type, PyObject *sub) } #endif - -#define SIMPLE_FUNCTION 0 - static int function_kind(PyCodeObject *code) { int flags = code->co_flags; if ((flags & (CO_VARKEYWORDS | CO_VARARGS)) || code->co_kwonlyargcount) { - return SPEC_FAIL_CALL_COMPLEX_PARAMETERS; + return SPEC_FAIL_CODE_COMPLEX_PARAMETERS; } if ((flags & CO_OPTIMIZED) == 0) { - return SPEC_FAIL_CALL_CO_NOT_OPTIMIZED; + return SPEC_FAIL_CODE_NOT_OPTIMIZED; } return SIMPLE_FUNCTION; } +/* Returning false indicates a failure. */ +static bool +function_check_args(PyObject *o, int expected_argcount, int opcode) +{ + assert(Py_IS_TYPE(o, &PyFunction_Type)); + PyFunctionObject *func = (PyFunctionObject *)o; + PyCodeObject *fcode = (PyCodeObject *)func->func_code; + int kind = function_kind(fcode); + if (kind != SIMPLE_FUNCTION) { + SPECIALIZATION_FAIL(opcode, kind); + return false; + } + if (fcode->co_argcount != expected_argcount) { + SPECIALIZATION_FAIL(opcode, SPEC_FAIL_WRONG_NUMBER_ARGUMENTS); + return false; + } + return true; +} + +/* Returning 0 indicates a failure. */ +static uint32_t +function_get_version(PyObject *o, int opcode) +{ + assert(Py_IS_TYPE(o, &PyFunction_Type)); + PyFunctionObject *func = (PyFunctionObject *)o; + uint32_t version = _PyFunction_GetVersionForCurrentState(func); + if (version == 0) { + SPECIALIZATION_FAIL(opcode, SPEC_FAIL_OUT_OF_VERSIONS); + return 0; + } + return version; +} + /* Returning 0 indicates a failure. */ static uint32_t type_get_version(PyTypeObject *t, int opcode) @@ -1208,18 +1339,23 @@ type_get_version(PyTypeObject *t, int opcode) return version; } -int +void _Py_Specialize_BinarySubscr( PyObject *container, PyObject *sub, _Py_CODEUNIT *instr) { + assert(ENABLE_SPECIALIZATION); assert(_PyOpcode_Caches[BINARY_SUBSCR] == INLINE_CACHE_ENTRIES_BINARY_SUBSCR); _PyBinarySubscrCache *cache = (_PyBinarySubscrCache *)(instr + 1); PyTypeObject *container_type = Py_TYPE(container); if (container_type == &PyList_Type) { if (PyLong_CheckExact(sub)) { - _Py_SET_OPCODE(*instr, BINARY_SUBSCR_LIST_INT); - goto success; + if (_PyLong_IsNonNegativeCompact((PyLongObject *)sub)) { + instr->op.code = BINARY_SUBSCR_LIST_INT; + goto success; + } + SPECIALIZATION_FAIL(BINARY_SUBSCR, SPEC_FAIL_OUT_OF_RANGE); + goto fail; } SPECIALIZATION_FAIL(BINARY_SUBSCR, PySlice_Check(sub) ? SPEC_FAIL_SUBSCR_LIST_SLICE : SPEC_FAIL_OTHER); @@ -1227,15 +1363,19 @@ _Py_Specialize_BinarySubscr( } if (container_type == &PyTuple_Type) { if (PyLong_CheckExact(sub)) { - _Py_SET_OPCODE(*instr, BINARY_SUBSCR_TUPLE_INT); - goto success; + if (_PyLong_IsNonNegativeCompact((PyLongObject *)sub)) { + instr->op.code = BINARY_SUBSCR_TUPLE_INT; + goto success; + } + SPECIALIZATION_FAIL(BINARY_SUBSCR, SPEC_FAIL_OUT_OF_RANGE); + goto fail; } SPECIALIZATION_FAIL(BINARY_SUBSCR, PySlice_Check(sub) ? SPEC_FAIL_SUBSCR_TUPLE_SLICE : SPEC_FAIL_OTHER); goto fail; } if (container_type == &PyDict_Type) { - _Py_SET_OPCODE(*instr, BINARY_SUBSCR_DICT); + instr->op.code = BINARY_SUBSCR_DICT; goto success; } PyTypeObject *cls = Py_TYPE(container); @@ -1256,13 +1396,8 @@ _Py_Specialize_BinarySubscr( SPECIALIZATION_FAIL(BINARY_SUBSCR, SPEC_FAIL_WRONG_NUMBER_ARGUMENTS); goto fail; } - if (type_get_version(cls, BINARY_SUBSCR) == 0) { - goto fail; - } - assert(cls->tp_version_tag != 0); - write_u32(cache->type_version, cls->tp_version_tag); - int version = _PyFunction_GetVersionForCurrentState(func); - if (version == 0 || version != (uint16_t)version) { + uint32_t version = _PyFunction_GetVersionForCurrentState(func); + if (version == 0) { SPECIALIZATION_FAIL(BINARY_SUBSCR, SPEC_FAIL_OUT_OF_VERSIONS); goto fail; } @@ -1270,9 +1405,12 @@ _Py_Specialize_BinarySubscr( SPECIALIZATION_FAIL(BINARY_SUBSCR, SPEC_FAIL_OTHER); goto fail; } - cache->func_version = version; - ((PyHeapTypeObject *)container_type)->_spec_cache.getitem = descriptor; - _Py_SET_OPCODE(*instr, BINARY_SUBSCR_GETITEM); + PyHeapTypeObject *ht = (PyHeapTypeObject *)container_type; + // This pointer is invalidated by PyType_Modified (see the comment on + // struct _specialization_cache): + ht->_spec_cache.getitem = descriptor; + ht->_spec_cache.getitem_version = version; + instr->op.code = BINARY_SUBSCR_GETITEM; goto success; } SPECIALIZATION_FAIL(BINARY_SUBSCR, @@ -1280,26 +1418,27 @@ _Py_Specialize_BinarySubscr( fail: STAT_INC(BINARY_SUBSCR, failure); assert(!PyErr_Occurred()); + instr->op.code = BINARY_SUBSCR; cache->counter = adaptive_counter_backoff(cache->counter); - return 0; + return; success: STAT_INC(BINARY_SUBSCR, success); assert(!PyErr_Occurred()); - cache->counter = miss_counter_start(); - return 0; + cache->counter = adaptive_counter_cooldown(); } -int +void _Py_Specialize_StoreSubscr(PyObject *container, PyObject *sub, _Py_CODEUNIT *instr) { + assert(ENABLE_SPECIALIZATION); _PyStoreSubscrCache *cache = (_PyStoreSubscrCache *)(instr + 1); PyTypeObject *container_type = Py_TYPE(container); if (container_type == &PyList_Type) { if (PyLong_CheckExact(sub)) { - if ((Py_SIZE(sub) == 0 || Py_SIZE(sub) == 1) - && ((PyLongObject *)sub)->ob_digit[0] < (size_t)PyList_GET_SIZE(container)) + if (_PyLong_IsNonNegativeCompact((PyLongObject *)sub) + && ((PyLongObject *)sub)->long_value.ob_digit[0] < (size_t)PyList_GET_SIZE(container)) { - _Py_SET_OPCODE(*instr, STORE_SUBSCR_LIST_INT); + instr->op.code = STORE_SUBSCR_LIST_INT; goto success; } else { @@ -1317,8 +1456,8 @@ _Py_Specialize_StoreSubscr(PyObject *container, PyObject *sub, _Py_CODEUNIT *ins } } if (container_type == &PyDict_Type) { - _Py_SET_OPCODE(*instr, STORE_SUBSCR_DICT); - goto success; + instr->op.code = STORE_SUBSCR_DICT; + goto success; } #ifdef Py_STATS PyMappingMethods *as_mapping = container_type->tp_as_mapping; @@ -1328,7 +1467,7 @@ _Py_Specialize_StoreSubscr(PyObject *container, PyObject *sub, _Py_CODEUNIT *ins goto fail; } if (PyObject_CheckBuffer(container)) { - if (PyLong_CheckExact(sub) && (((size_t)Py_SIZE(sub)) > 1)) { + if (PyLong_CheckExact(sub) && (!_PyLong_IsNonNegativeCompact((PyLongObject *)sub))) { SPECIALIZATION_FAIL(STORE_SUBSCR, SPEC_FAIL_OUT_OF_RANGE); } else if (strcmp(container_type->tp_name, "array.array") == 0) { @@ -1384,49 +1523,49 @@ _Py_Specialize_StoreSubscr(PyObject *container, PyObject *sub, _Py_CODEUNIT *ins fail: STAT_INC(STORE_SUBSCR, failure); assert(!PyErr_Occurred()); + instr->op.code = STORE_SUBSCR; cache->counter = adaptive_counter_backoff(cache->counter); - return 0; + return; success: STAT_INC(STORE_SUBSCR, success); assert(!PyErr_Occurred()); - cache->counter = miss_counter_start(); - return 0; + cache->counter = adaptive_counter_cooldown(); } static int specialize_class_call(PyObject *callable, _Py_CODEUNIT *instr, int nargs, - PyObject *kwnames, int oparg) + PyObject *kwnames) { - assert(_Py_OPCODE(*instr) == PRECALL_ADAPTIVE); PyTypeObject *tp = _PyType_CAST(callable); if (tp->tp_new == PyBaseObject_Type.tp_new) { - SPECIALIZATION_FAIL(PRECALL, SPEC_FAIL_CALL_PYTHON_CLASS); + SPECIALIZATION_FAIL(CALL, SPEC_FAIL_CALL_PYTHON_CLASS); return -1; } if (tp->tp_flags & Py_TPFLAGS_IMMUTABLETYPE) { + int oparg = instr->op.arg; if (nargs == 1 && kwnames == NULL && oparg == 1) { if (tp == &PyUnicode_Type) { - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_STR_1); + instr->op.code = CALL_NO_KW_STR_1; return 0; } else if (tp == &PyType_Type) { - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_TYPE_1); + instr->op.code = CALL_NO_KW_TYPE_1; return 0; } else if (tp == &PyTuple_Type) { - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_TUPLE_1); + instr->op.code = CALL_NO_KW_TUPLE_1; return 0; } } if (tp->tp_vectorcall != NULL) { - _Py_SET_OPCODE(*instr, PRECALL_BUILTIN_CLASS); + instr->op.code = CALL_BUILTIN_CLASS; return 0; } - SPECIALIZATION_FAIL(PRECALL, tp == &PyUnicode_Type ? + SPECIALIZATION_FAIL(CALL, tp == &PyUnicode_Type ? SPEC_FAIL_CALL_STR : SPEC_FAIL_CALL_CLASS_NO_VECTORCALL); return -1; } - SPECIALIZATION_FAIL(PRECALL, SPEC_FAIL_CALL_CLASS_MUTABLE); + SPECIALIZATION_FAIL(CALL, SPEC_FAIL_CALL_CLASS_MUTABLE); return -1; } @@ -1437,17 +1576,40 @@ builtin_call_fail_kind(int ml_flags) switch (ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) { case METH_VARARGS: - return SPEC_FAIL_CALL_PYCFUNCTION; + return SPEC_FAIL_CALL_CFUNC_VARARGS; case METH_VARARGS | METH_KEYWORDS: - return SPEC_FAIL_CALL_PYCFUNCTION_WITH_KEYWORDS; - case METH_FASTCALL | METH_KEYWORDS: - return SPEC_FAIL_CALL_PYCFUNCTION_FAST_WITH_KEYWORDS; + return SPEC_FAIL_CALL_CFUNC_VARARGS_KEYWORDS; case METH_NOARGS: - return SPEC_FAIL_CALL_PYCFUNCTION_NOARGS; - /* This case should never happen with PyCFunctionObject -- only - PyMethodObject. See zlib.compressobj()'s methods for an example. - */ + return SPEC_FAIL_CALL_CFUNC_NOARGS; + case METH_METHOD | METH_FASTCALL | METH_KEYWORDS: + return SPEC_FAIL_CALL_CFUNC_METHOD_FASTCALL_KEYWORDS; + /* These cases should be optimized, but return "other" just in case */ + case METH_O: + case METH_FASTCALL: + case METH_FASTCALL | METH_KEYWORDS: + return SPEC_FAIL_OTHER; + default: + return SPEC_FAIL_CALL_BAD_CALL_FLAGS; + } +} + +static int +meth_descr_call_fail_kind(int ml_flags) +{ + switch (ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | + METH_KEYWORDS | METH_METHOD)) { + case METH_VARARGS: + return SPEC_FAIL_CALL_METH_DESCR_VARARGS; + case METH_VARARGS | METH_KEYWORDS: + return SPEC_FAIL_CALL_METH_DESCR_VARARGS_KEYWORDS; case METH_METHOD | METH_FASTCALL | METH_KEYWORDS: + return SPEC_FAIL_CALL_METH_DESCR_METHOD_FASTCALL_KEYWORDS; + /* These cases should be optimized, but return "other" just in case */ + case METH_NOARGS: + case METH_O: + case METH_FASTCALL: + case METH_FASTCALL | METH_KEYWORDS: + return SPEC_FAIL_OTHER; default: return SPEC_FAIL_CALL_BAD_CALL_FLAGS; } @@ -1456,11 +1618,10 @@ builtin_call_fail_kind(int ml_flags) static int specialize_method_descriptor(PyMethodDescrObject *descr, _Py_CODEUNIT *instr, - int nargs, PyObject *kwnames, int oparg) + int nargs, PyObject *kwnames) { - assert(_Py_OPCODE(*instr) == PRECALL_ADAPTIVE); if (kwnames) { - SPECIALIZATION_FAIL(PRECALL, SPEC_FAIL_CALL_KWNAMES); + SPECIALIZATION_FAIL(CALL, SPEC_FAIL_CALL_KWNAMES); return -1; } @@ -1469,48 +1630,47 @@ specialize_method_descriptor(PyMethodDescrObject *descr, _Py_CODEUNIT *instr, METH_KEYWORDS | METH_METHOD)) { case METH_NOARGS: { if (nargs != 1) { - SPECIALIZATION_FAIL(PRECALL, SPEC_FAIL_WRONG_NUMBER_ARGUMENTS); + SPECIALIZATION_FAIL(CALL, SPEC_FAIL_WRONG_NUMBER_ARGUMENTS); return -1; } - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_METHOD_DESCRIPTOR_NOARGS); + instr->op.code = CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS; return 0; } case METH_O: { if (nargs != 2) { - SPECIALIZATION_FAIL(PRECALL, SPEC_FAIL_WRONG_NUMBER_ARGUMENTS); + SPECIALIZATION_FAIL(CALL, SPEC_FAIL_WRONG_NUMBER_ARGUMENTS); return -1; } PyInterpreterState *interp = _PyInterpreterState_GET(); PyObject *list_append = interp->callable_cache.list_append; - _Py_CODEUNIT next = instr[INLINE_CACHE_ENTRIES_PRECALL + 1 - + INLINE_CACHE_ENTRIES_CALL + 1]; - bool pop = (_Py_OPCODE(next) == POP_TOP); + _Py_CODEUNIT next = instr[INLINE_CACHE_ENTRIES_CALL + 1]; + bool pop = (next.op.code == POP_TOP); + int oparg = instr->op.arg; if ((PyObject *)descr == list_append && oparg == 1 && pop) { - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_LIST_APPEND); + instr->op.code = CALL_NO_KW_LIST_APPEND; return 0; } - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_METHOD_DESCRIPTOR_O); + instr->op.code = CALL_NO_KW_METHOD_DESCRIPTOR_O; return 0; } case METH_FASTCALL: { - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST); + instr->op.code = CALL_NO_KW_METHOD_DESCRIPTOR_FAST; return 0; } - case METH_FASTCALL|METH_KEYWORDS: { - _Py_SET_OPCODE(*instr, PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS); + case METH_FASTCALL | METH_KEYWORDS: { + instr->op.code = CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS; return 0; } } - SPECIALIZATION_FAIL(PRECALL, builtin_call_fail_kind(descr->d_method->ml_flags)); + SPECIALIZATION_FAIL(CALL, meth_descr_call_fail_kind(descr->d_method->ml_flags)); return -1; } static int specialize_py_call(PyFunctionObject *func, _Py_CODEUNIT *instr, int nargs, - PyObject *kwnames) + PyObject *kwnames, bool bound_method) { _PyCallCache *cache = (_PyCallCache *)(instr + 1); - assert(_Py_OPCODE(*instr) == CALL_ADAPTIVE); PyCodeObject *code = (PyCodeObject *)func->func_code; int kind = function_kind(code); /* Don't specialize if PEP 523 is active */ @@ -1537,22 +1697,21 @@ specialize_py_call(PyFunctionObject *func, _Py_CODEUNIT *instr, int nargs, assert(nargs <= argcount && nargs >= min_args); assert(min_args >= 0 && defcount >= 0); assert(defcount == 0 || func->func_defaults != NULL); - if (min_args > 0xffff) { - SPECIALIZATION_FAIL(CALL, SPEC_FAIL_OUT_OF_RANGE); - return -1; - } int version = _PyFunction_GetVersionForCurrentState(func); if (version == 0) { SPECIALIZATION_FAIL(CALL, SPEC_FAIL_OUT_OF_VERSIONS); return -1; } write_u32(cache->func_version, version); - cache->min_args = min_args; if (argcount == nargs) { - _Py_SET_OPCODE(*instr, CALL_PY_EXACT_ARGS); + instr->op.code = bound_method ? CALL_BOUND_METHOD_EXACT_ARGS : CALL_PY_EXACT_ARGS; + } + else if (bound_method) { + SPECIALIZATION_FAIL(CALL, SPEC_FAIL_CALL_BOUND_METHOD); + return -1; } else { - _Py_SET_OPCODE(*instr, CALL_PY_WITH_DEFAULTS); + instr->op.code = CALL_PY_WITH_DEFAULTS; } return 0; } @@ -1561,7 +1720,6 @@ static int specialize_c_call(PyObject *callable, _Py_CODEUNIT *instr, int nargs, PyObject *kwnames) { - assert(_Py_OPCODE(*instr) == PRECALL_ADAPTIVE); if (PyCFunction_GET_FUNCTION(callable) == NULL) { return 1; } @@ -1570,44 +1728,44 @@ specialize_c_call(PyObject *callable, _Py_CODEUNIT *instr, int nargs, METH_KEYWORDS | METH_METHOD)) { case METH_O: { if (kwnames) { - SPECIALIZATION_FAIL(PRECALL, SPEC_FAIL_CALL_KWNAMES); + SPECIALIZATION_FAIL(CALL, SPEC_FAIL_CALL_KWNAMES); return -1; } if (nargs != 1) { - SPECIALIZATION_FAIL(PRECALL, SPEC_FAIL_WRONG_NUMBER_ARGUMENTS); + SPECIALIZATION_FAIL(CALL, SPEC_FAIL_WRONG_NUMBER_ARGUMENTS); return 1; } /* len(o) */ PyInterpreterState *interp = _PyInterpreterState_GET(); if (callable == interp->callable_cache.len) { - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_LEN); + instr->op.code = CALL_NO_KW_LEN; return 0; } - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_BUILTIN_O); + instr->op.code = CALL_NO_KW_BUILTIN_O; return 0; } case METH_FASTCALL: { if (kwnames) { - SPECIALIZATION_FAIL(PRECALL, SPEC_FAIL_CALL_KWNAMES); + SPECIALIZATION_FAIL(CALL, SPEC_FAIL_CALL_KWNAMES); return -1; } if (nargs == 2) { /* isinstance(o1, o2) */ PyInterpreterState *interp = _PyInterpreterState_GET(); if (callable == interp->callable_cache.isinstance) { - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_ISINSTANCE); + instr->op.code = CALL_NO_KW_ISINSTANCE; return 0; } } - _Py_SET_OPCODE(*instr, PRECALL_NO_KW_BUILTIN_FAST); + instr->op.code = CALL_NO_KW_BUILTIN_FAST; return 0; } case METH_FASTCALL | METH_KEYWORDS: { - _Py_SET_OPCODE(*instr, PRECALL_BUILTIN_FAST_WITH_KEYWORDS); + instr->op.code = CALL_BUILTIN_FAST_WITH_KEYWORDS; return 0; } default: - SPECIALIZATION_FAIL(PRECALL, + SPECIALIZATION_FAIL(CALL, builtin_call_fail_kind(PyCFunction_GET_FLAGS(callable))); return 1; } @@ -1617,33 +1775,18 @@ specialize_c_call(PyObject *callable, _Py_CODEUNIT *instr, int nargs, static int call_fail_kind(PyObject *callable) { - if (PyCFunction_CheckExact(callable)) { - return SPEC_FAIL_CALL_PYCFUNCTION; - } - else if (PyFunction_Check(callable)) { - return SPEC_FAIL_CALL_PYFUNCTION; - } - else if (PyInstanceMethod_Check(callable)) { + assert(!PyCFunction_CheckExact(callable)); + assert(!PyFunction_Check(callable)); + assert(!PyType_Check(callable)); + assert(!Py_IS_TYPE(callable, &PyMethodDescr_Type)); + assert(!PyMethod_Check(callable)); + if (PyInstanceMethod_Check(callable)) { return SPEC_FAIL_CALL_INSTANCE_METHOD; } - else if (PyMethod_Check(callable)) { - return SPEC_FAIL_CALL_BOUND_METHOD; - } // builtin method else if (PyCMethod_Check(callable)) { return SPEC_FAIL_CALL_CMETHOD; } - else if (PyType_Check(callable)) { - if (((PyTypeObject *)callable)->tp_new == PyBaseObject_Type.tp_new) { - return SPEC_FAIL_CALL_PYTHON_CLASS; - } - else { - return SPEC_FAIL_CALL_CLASS; - } - } - else if (Py_IS_TYPE(callable, &PyMethodDescr_Type)) { - return SPEC_FAIL_CALL_METHOD_DESCRIPTOR; - } else if (Py_TYPE(callable) == &PyWrapperDescr_Type) { return SPEC_FAIL_CALL_OPERATOR_WRAPPER; } @@ -1655,62 +1798,41 @@ call_fail_kind(PyObject *callable) #endif -int -_Py_Specialize_Precall(PyObject *callable, _Py_CODEUNIT *instr, int nargs, - PyObject *kwnames, int oparg) +/* TODO: + - Specialize calling classes. +*/ +void +_Py_Specialize_Call(PyObject *callable, _Py_CODEUNIT *instr, int nargs, + PyObject *kwnames) { - assert(_PyOpcode_Caches[PRECALL] == INLINE_CACHE_ENTRIES_PRECALL); - _PyPrecallCache *cache = (_PyPrecallCache *)(instr + 1); + assert(ENABLE_SPECIALIZATION); + assert(_PyOpcode_Caches[CALL] == INLINE_CACHE_ENTRIES_CALL); + assert(_Py_OPCODE(*instr) != INSTRUMENTED_CALL); + _PyCallCache *cache = (_PyCallCache *)(instr + 1); int fail; if (PyCFunction_CheckExact(callable)) { fail = specialize_c_call(callable, instr, nargs, kwnames); } else if (PyFunction_Check(callable)) { - _Py_SET_OPCODE(*instr, PRECALL_PYFUNC); - fail = 0; + fail = specialize_py_call((PyFunctionObject *)callable, instr, nargs, + kwnames, false); } else if (PyType_Check(callable)) { - fail = specialize_class_call(callable, instr, nargs, kwnames, oparg); + fail = specialize_class_call(callable, instr, nargs, kwnames); } else if (Py_IS_TYPE(callable, &PyMethodDescr_Type)) { fail = specialize_method_descriptor((PyMethodDescrObject *)callable, - instr, nargs, kwnames, oparg); - } - else if (Py_TYPE(callable) == &PyMethod_Type) { - _Py_SET_OPCODE(*instr, PRECALL_BOUND_METHOD); - fail = 0; + instr, nargs, kwnames); } - else { - SPECIALIZATION_FAIL(PRECALL, call_fail_kind(callable)); - fail = -1; - } - if (fail) { - STAT_INC(PRECALL, failure); - assert(!PyErr_Occurred()); - cache->counter = adaptive_counter_backoff(cache->counter); - } - else { - STAT_INC(PRECALL, success); - assert(!PyErr_Occurred()); - cache->counter = miss_counter_start(); - } - return 0; -} - - -/* TODO: - - Specialize calling classes. -*/ -int -_Py_Specialize_Call(PyObject *callable, _Py_CODEUNIT *instr, int nargs, - PyObject *kwnames) -{ - assert(_PyOpcode_Caches[CALL] == INLINE_CACHE_ENTRIES_CALL); - _PyCallCache *cache = (_PyCallCache *)(instr + 1); - int fail; - if (PyFunction_Check(callable)) { - fail = specialize_py_call((PyFunctionObject *)callable, instr, nargs, - kwnames); + else if (PyMethod_Check(callable)) { + PyObject *func = ((PyMethodObject *)callable)->im_func; + if (PyFunction_Check(func)) { + fail = specialize_py_call((PyFunctionObject *)func, + instr, nargs+1, kwnames, true); + } else { + SPECIALIZATION_FAIL(CALL, SPEC_FAIL_CALL_BOUND_METHOD); + fail = -1; + } } else { SPECIALIZATION_FAIL(CALL, call_fail_kind(callable)); @@ -1719,14 +1841,14 @@ _Py_Specialize_Call(PyObject *callable, _Py_CODEUNIT *instr, int nargs, if (fail) { STAT_INC(CALL, failure); assert(!PyErr_Occurred()); + instr->op.code = CALL; cache->counter = adaptive_counter_backoff(cache->counter); } else { STAT_INC(CALL, success); assert(!PyErr_Occurred()); - cache->counter = miss_counter_start(); + cache->counter = adaptive_counter_cooldown(); } - return 0; } #ifdef Py_STATS @@ -1803,6 +1925,7 @@ void _Py_Specialize_BinaryOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, int oparg, PyObject **locals) { + assert(ENABLE_SPECIALIZATION); assert(_PyOpcode_Caches[BINARY_OP] == INLINE_CACHE_ENTRIES_BINARY_OP); _PyBinaryOpCache *cache = (_PyBinaryOpCache *)(instr + 1); switch (oparg) { @@ -1813,21 +1936,21 @@ _Py_Specialize_BinaryOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, } if (PyUnicode_CheckExact(lhs)) { _Py_CODEUNIT next = instr[INLINE_CACHE_ENTRIES_BINARY_OP + 1]; - bool to_store = (_Py_OPCODE(next) == STORE_FAST || - _Py_OPCODE(next) == STORE_FAST__LOAD_FAST); - if (to_store && locals[_Py_OPARG(next)] == lhs) { - _Py_SET_OPCODE(*instr, BINARY_OP_INPLACE_ADD_UNICODE); + bool to_store = (next.op.code == STORE_FAST || + next.op.code == STORE_FAST__LOAD_FAST); + if (to_store && locals[next.op.arg] == lhs) { + instr->op.code = BINARY_OP_INPLACE_ADD_UNICODE; goto success; } - _Py_SET_OPCODE(*instr, BINARY_OP_ADD_UNICODE); + instr->op.code = BINARY_OP_ADD_UNICODE; goto success; } if (PyLong_CheckExact(lhs)) { - _Py_SET_OPCODE(*instr, BINARY_OP_ADD_INT); + instr->op.code = BINARY_OP_ADD_INT; goto success; } if (PyFloat_CheckExact(lhs)) { - _Py_SET_OPCODE(*instr, BINARY_OP_ADD_FLOAT); + instr->op.code = BINARY_OP_ADD_FLOAT; goto success; } break; @@ -1837,11 +1960,11 @@ _Py_Specialize_BinaryOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, break; } if (PyLong_CheckExact(lhs)) { - _Py_SET_OPCODE(*instr, BINARY_OP_MULTIPLY_INT); + instr->op.code = BINARY_OP_MULTIPLY_INT; goto success; } if (PyFloat_CheckExact(lhs)) { - _Py_SET_OPCODE(*instr, BINARY_OP_MULTIPLY_FLOAT); + instr->op.code = BINARY_OP_MULTIPLY_FLOAT; goto success; } break; @@ -1851,32 +1974,23 @@ _Py_Specialize_BinaryOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, break; } if (PyLong_CheckExact(lhs)) { - _Py_SET_OPCODE(*instr, BINARY_OP_SUBTRACT_INT); + instr->op.code = BINARY_OP_SUBTRACT_INT; goto success; } if (PyFloat_CheckExact(lhs)) { - _Py_SET_OPCODE(*instr, BINARY_OP_SUBTRACT_FLOAT); + instr->op.code = BINARY_OP_SUBTRACT_FLOAT; goto success; } break; -#ifndef Py_STATS - default: - // These operators don't have any available specializations. Rather - // than repeatedly attempting to specialize them, just convert them - // back to BINARY_OP (unless we're collecting stats, where it's more - // important to get accurate hit counts for the unadaptive version - // and each of the different failure types): - _Py_SET_OPCODE(*instr, BINARY_OP); - return; -#endif } SPECIALIZATION_FAIL(BINARY_OP, binary_op_fail_kind(oparg, lhs, rhs)); STAT_INC(BINARY_OP, failure); + instr->op.code = BINARY_OP; cache->counter = adaptive_counter_backoff(cache->counter); return; success: STAT_INC(BINARY_OP, success); - cache->counter = miss_counter_start(); + cache->counter = adaptive_counter_cooldown(); } @@ -1915,69 +2029,24 @@ compare_op_fail_kind(PyObject *lhs, PyObject *rhs) } #endif - -static int compare_masks[] = { - // 1-bit: jump if less than - // 2-bit: jump if equal - // 4-bit: jump if greater - [Py_LT] = 1 | 0 | 0, - [Py_LE] = 1 | 2 | 0, - [Py_EQ] = 0 | 2 | 0, - [Py_NE] = 1 | 0 | 4, - [Py_GT] = 0 | 0 | 4, - [Py_GE] = 0 | 2 | 4, -}; - void _Py_Specialize_CompareOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, int oparg) { + assert(ENABLE_SPECIALIZATION); assert(_PyOpcode_Caches[COMPARE_OP] == INLINE_CACHE_ENTRIES_COMPARE_OP); _PyCompareOpCache *cache = (_PyCompareOpCache *)(instr + 1); - int next_opcode = _Py_OPCODE(instr[INLINE_CACHE_ENTRIES_COMPARE_OP + 1]); - if (next_opcode != POP_JUMP_FORWARD_IF_FALSE && - next_opcode != POP_JUMP_BACKWARD_IF_FALSE && - next_opcode != POP_JUMP_FORWARD_IF_TRUE && - next_opcode != POP_JUMP_BACKWARD_IF_TRUE) { - // Can't ever combine, so don't don't bother being adaptive (unless - // we're collecting stats, where it's more important to get accurate hit - // counts for the unadaptive version and each of the different failure - // types): -#ifndef Py_STATS - _Py_SET_OPCODE(*instr, COMPARE_OP); - return; -#else - if (next_opcode == EXTENDED_ARG) { - SPECIALIZATION_FAIL(COMPARE_OP, SPEC_FAIL_COMPARE_OP_EXTENDED_ARG); - goto failure; - } - SPECIALIZATION_FAIL(COMPARE_OP, SPEC_FAIL_COMPARE_OP_NOT_FOLLOWED_BY_COND_JUMP); - goto failure; -#endif - } - assert(oparg <= Py_GE); - int when_to_jump_mask = compare_masks[oparg]; - if (next_opcode == POP_JUMP_FORWARD_IF_FALSE || - next_opcode == POP_JUMP_BACKWARD_IF_FALSE) { - when_to_jump_mask = (1 | 2 | 4) & ~when_to_jump_mask; - } - if (next_opcode == POP_JUMP_BACKWARD_IF_TRUE || - next_opcode == POP_JUMP_BACKWARD_IF_FALSE) { - when_to_jump_mask <<= 3; - } if (Py_TYPE(lhs) != Py_TYPE(rhs)) { SPECIALIZATION_FAIL(COMPARE_OP, compare_op_fail_kind(lhs, rhs)); goto failure; } if (PyFloat_CheckExact(lhs)) { - _Py_SET_OPCODE(*instr, COMPARE_OP_FLOAT_JUMP); - cache->mask = when_to_jump_mask; + instr->op.code = COMPARE_OP_FLOAT; goto success; } if (PyLong_CheckExact(lhs)) { - if (Py_ABS(Py_SIZE(lhs)) <= 1 && Py_ABS(Py_SIZE(rhs)) <= 1) { - _Py_SET_OPCODE(*instr, COMPARE_OP_INT_JUMP); - cache->mask = when_to_jump_mask; + if (_PyLong_IsCompact((PyLongObject *)lhs) && _PyLong_IsCompact((PyLongObject *)rhs)) { + instr->op.code = COMPARE_OP_INT; goto success; } else { @@ -1986,24 +2055,25 @@ _Py_Specialize_CompareOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, } } if (PyUnicode_CheckExact(lhs)) { - if (oparg != Py_EQ && oparg != Py_NE) { + int cmp = oparg >> 4; + if (cmp != Py_EQ && cmp != Py_NE) { SPECIALIZATION_FAIL(COMPARE_OP, SPEC_FAIL_COMPARE_OP_STRING); goto failure; } else { - _Py_SET_OPCODE(*instr, COMPARE_OP_STR_JUMP); - cache->mask = when_to_jump_mask; + instr->op.code = COMPARE_OP_STR; goto success; } } SPECIALIZATION_FAIL(COMPARE_OP, compare_op_fail_kind(lhs, rhs)); failure: STAT_INC(COMPARE_OP, failure); + instr->op.code = COMPARE_OP; cache->counter = adaptive_counter_backoff(cache->counter); return; success: STAT_INC(COMPARE_OP, success); - cache->counter = miss_counter_start(); + cache->counter = adaptive_counter_cooldown(); } #ifdef Py_STATS @@ -2023,6 +2093,7 @@ unpack_sequence_fail_kind(PyObject *seq) void _Py_Specialize_UnpackSequence(PyObject *seq, _Py_CODEUNIT *instr, int oparg) { + assert(ENABLE_SPECIALIZATION); assert(_PyOpcode_Caches[UNPACK_SEQUENCE] == INLINE_CACHE_ENTRIES_UNPACK_SEQUENCE); _PyUnpackSequenceCache *cache = (_PyUnpackSequenceCache *)(instr + 1); @@ -2032,10 +2103,10 @@ _Py_Specialize_UnpackSequence(PyObject *seq, _Py_CODEUNIT *instr, int oparg) goto failure; } if (PyTuple_GET_SIZE(seq) == 2) { - _Py_SET_OPCODE(*instr, UNPACK_SEQUENCE_TWO_TUPLE); + instr->op.code = UNPACK_SEQUENCE_TWO_TUPLE; goto success; } - _Py_SET_OPCODE(*instr, UNPACK_SEQUENCE_TUPLE); + instr->op.code = UNPACK_SEQUENCE_TUPLE; goto success; } if (PyList_CheckExact(seq)) { @@ -2043,17 +2114,18 @@ _Py_Specialize_UnpackSequence(PyObject *seq, _Py_CODEUNIT *instr, int oparg) SPECIALIZATION_FAIL(UNPACK_SEQUENCE, SPEC_FAIL_EXPECTED_ERROR); goto failure; } - _Py_SET_OPCODE(*instr, UNPACK_SEQUENCE_LIST); + instr->op.code = UNPACK_SEQUENCE_LIST; goto success; } SPECIALIZATION_FAIL(UNPACK_SEQUENCE, unpack_sequence_fail_kind(seq)); failure: STAT_INC(UNPACK_SEQUENCE, failure); + instr->op.code = UNPACK_SEQUENCE; cache->counter = adaptive_counter_backoff(cache->counter); return; success: STAT_INC(UNPACK_SEQUENCE, success); - cache->counter = miss_counter_start(); + cache->counter = adaptive_counter_cooldown(); } #ifdef Py_STATS @@ -2062,50 +2134,140 @@ int _PySpecialization_ClassifyIterator(PyObject *iter) { if (PyGen_CheckExact(iter)) { - return SPEC_FAIL_FOR_ITER_GENERATOR; + return SPEC_FAIL_ITER_GENERATOR; } if (PyCoro_CheckExact(iter)) { - return SPEC_FAIL_FOR_ITER_COROUTINE; + return SPEC_FAIL_ITER_COROUTINE; } if (PyAsyncGen_CheckExact(iter)) { - return SPEC_FAIL_FOR_ITER_ASYNC_GENERATOR; + return SPEC_FAIL_ITER_ASYNC_GENERATOR; + } + if (PyAsyncGenASend_CheckExact(iter)) { + return SPEC_FAIL_ITER_ASYNC_GENERATOR_SEND; } PyTypeObject *t = Py_TYPE(iter); if (t == &PyListIter_Type) { - return SPEC_FAIL_FOR_ITER_LIST; + return SPEC_FAIL_ITER_LIST; } if (t == &PyTupleIter_Type) { - return SPEC_FAIL_FOR_ITER_TUPLE; + return SPEC_FAIL_ITER_TUPLE; } if (t == &PyDictIterKey_Type) { - return SPEC_FAIL_FOR_ITER_DICT_KEYS; + return SPEC_FAIL_ITER_DICT_KEYS; } if (t == &PyDictIterValue_Type) { - return SPEC_FAIL_FOR_ITER_DICT_VALUES; + return SPEC_FAIL_ITER_DICT_VALUES; } if (t == &PyDictIterItem_Type) { - return SPEC_FAIL_FOR_ITER_DICT_ITEMS; + return SPEC_FAIL_ITER_DICT_ITEMS; } if (t == &PySetIter_Type) { - return SPEC_FAIL_FOR_ITER_SET; + return SPEC_FAIL_ITER_SET; } if (t == &PyUnicodeIter_Type) { - return SPEC_FAIL_FOR_ITER_STRING; + return SPEC_FAIL_ITER_STRING; } if (t == &PyBytesIter_Type) { - return SPEC_FAIL_FOR_ITER_BYTES; + return SPEC_FAIL_ITER_BYTES; } if (t == &PyRangeIter_Type) { - return SPEC_FAIL_FOR_ITER_RANGE; + return SPEC_FAIL_ITER_RANGE; } if (t == &PyEnum_Type) { - return SPEC_FAIL_FOR_ITER_ENUMERATE; + return SPEC_FAIL_ITER_ENUMERATE; } - - if (strncmp(t->tp_name, "itertools", 8) == 0) { - return SPEC_FAIL_FOR_ITER_ITERTOOLS; + if (t == &PyMap_Type) { + return SPEC_FAIL_ITER_MAP; + } + if (t == &PyZip_Type) { + return SPEC_FAIL_ITER_ZIP; + } + if (t == &PySeqIter_Type) { + return SPEC_FAIL_ITER_SEQ_ITER; + } + if (t == &PyListRevIter_Type) { + return SPEC_FAIL_ITER_REVERSED_LIST; + } + if (t == &_PyUnicodeASCIIIter_Type) { + return SPEC_FAIL_ITER_ASCII_STRING; + } + const char *name = t->tp_name; + if (strncmp(name, "itertools", 9) == 0) { + return SPEC_FAIL_ITER_ITERTOOLS; + } + if (strncmp(name, "callable_iterator", 17) == 0) { + return SPEC_FAIL_ITER_CALLABLE; } return SPEC_FAIL_OTHER; } #endif + +void +_Py_Specialize_ForIter(PyObject *iter, _Py_CODEUNIT *instr, int oparg) +{ + assert(ENABLE_SPECIALIZATION); + assert(_PyOpcode_Caches[FOR_ITER] == INLINE_CACHE_ENTRIES_FOR_ITER); + _PyForIterCache *cache = (_PyForIterCache *)(instr + 1); + PyTypeObject *tp = Py_TYPE(iter); + if (tp == &PyListIter_Type) { + instr->op.code = FOR_ITER_LIST; + goto success; + } + else if (tp == &PyTupleIter_Type) { + instr->op.code = FOR_ITER_TUPLE; + goto success; + } + else if (tp == &PyRangeIter_Type) { + instr->op.code = FOR_ITER_RANGE; + goto success; + } + else if (tp == &PyGen_Type && oparg <= SHRT_MAX) { + assert(instr[oparg + INLINE_CACHE_ENTRIES_FOR_ITER + 1].op.code == END_FOR || + instr[oparg + INLINE_CACHE_ENTRIES_FOR_ITER + 1].op.code == INSTRUMENTED_END_FOR + ); + if (_PyInterpreterState_GET()->eval_frame) { + SPECIALIZATION_FAIL(FOR_ITER, SPEC_FAIL_OTHER); + goto failure; + } + instr->op.code = FOR_ITER_GEN; + goto success; + } + SPECIALIZATION_FAIL(FOR_ITER, + _PySpecialization_ClassifyIterator(iter)); +failure: + STAT_INC(FOR_ITER, failure); + instr->op.code = FOR_ITER; + cache->counter = adaptive_counter_backoff(cache->counter); + return; +success: + STAT_INC(FOR_ITER, success); + cache->counter = adaptive_counter_cooldown(); +} + +void +_Py_Specialize_Send(PyObject *receiver, _Py_CODEUNIT *instr) +{ + assert(ENABLE_SPECIALIZATION); + assert(_PyOpcode_Caches[SEND] == INLINE_CACHE_ENTRIES_SEND); + _PySendCache *cache = (_PySendCache *)(instr + 1); + PyTypeObject *tp = Py_TYPE(receiver); + if (tp == &PyGen_Type || tp == &PyCoro_Type) { + if (_PyInterpreterState_GET()->eval_frame) { + SPECIALIZATION_FAIL(SEND, SPEC_FAIL_OTHER); + goto failure; + } + instr->op.code = SEND_GEN; + goto success; + } + SPECIALIZATION_FAIL(SEND, + _PySpecialization_ClassifyIterator(receiver)); +failure: + STAT_INC(SEND, failure); + instr->op.code = SEND; + cache->counter = adaptive_counter_backoff(cache->counter); + return; +success: + STAT_INC(SEND, success); + cache->counter = adaptive_counter_cooldown(); +} diff --git a/contrib/tools/python3/src/Python/stdlib_module_names.h b/contrib/tools/python3/src/Python/stdlib_module_names.h index 553585a76a3..ed4a0ac2dd3 100644 --- a/contrib/tools/python3/src/Python/stdlib_module_names.h +++ b/contrib/tools/python3/src/Python/stdlib_module_names.h @@ -1,4 +1,4 @@ -// Auto-generated by Tools/scripts/generate_stdlib_module_names.py. +// Auto-generated by Tools/build/generate_stdlib_module_names.py. // List used to create sys.stdlib_module_names. static const char* _Py_stdlib_module_names[] = { @@ -9,7 +9,6 @@ static const char* _Py_stdlib_module_names[] = { "_asyncio", "_bisect", "_blake2", -"_bootsubprocess", "_bz2", "_codecs", "_codecs_cn", @@ -57,15 +56,16 @@ static const char* _Py_stdlib_module_names[] = { "_posixshmem", "_posixsubprocess", "_py_abc", +"_pydatetime", "_pydecimal", "_pyio", +"_pylong", "_queue", "_random", "_scproxy", "_sha1", -"_sha256", +"_sha2", "_sha3", -"_sha512", "_signal", "_sitebuiltins", "_socket", @@ -96,9 +96,7 @@ static const char* _Py_stdlib_module_names[] = { "argparse", "array", "ast", -"asynchat", "asyncio", -"asyncore", "atexit", "audioop", "base64", @@ -136,7 +134,6 @@ static const char* _Py_stdlib_module_names[] = { "decimal", "difflib", "dis", -"distutils", "doctest", "email", "encodings", @@ -168,7 +165,6 @@ static const char* _Py_stdlib_module_names[] = { "idlelib", "imaplib", "imghdr", -"imp", "importlib", "inspect", "io", @@ -242,7 +238,6 @@ static const char* _Py_stdlib_module_names[] = { "shutil", "signal", "site", -"smtpd", "smtplib", "sndhdr", "socket", diff --git a/contrib/tools/python3/src/Python/structmember.c b/contrib/tools/python3/src/Python/structmember.c index c7906569787..ebebaa0a034 100644 --- a/contrib/tools/python3/src/Python/structmember.c +++ b/contrib/tools/python3/src/Python/structmember.c @@ -8,6 +8,12 @@ PyObject * PyMember_GetOne(const char *obj_addr, PyMemberDef *l) { PyObject *v; + if (l->flags & Py_RELATIVE_OFFSET) { + PyErr_SetString( + PyExc_SystemError, + "PyMember_GetOne used with Py_RELATIVE_OFFSET"); + return NULL; + } const char* addr = obj_addr + l->offset; switch (l->type) { @@ -49,8 +55,7 @@ PyMember_GetOne(const char *obj_addr, PyMemberDef *l) break; case T_STRING: if (*(char**)addr == NULL) { - Py_INCREF(Py_None); - v = Py_None; + v = Py_NewRef(Py_None); } else v = PyUnicode_FromString(*(char**)addr); @@ -75,7 +80,7 @@ PyMember_GetOne(const char *obj_addr, PyMemberDef *l) PyErr_Format(PyExc_AttributeError, "'%.200s' object has no attribute '%s'", tp->tp_name, l->name); - } + } Py_XINCREF(v); break; case T_LONGLONG: @@ -85,8 +90,7 @@ PyMember_GetOne(const char *obj_addr, PyMemberDef *l) v = PyLong_FromUnsignedLongLong(*(unsigned long long *)addr); break; case T_NONE: - v = Py_None; - Py_INCREF(v); + v = Py_NewRef(Py_None); break; default: PyErr_SetString(PyExc_SystemError, "bad memberdescr type"); @@ -105,6 +109,12 @@ int PyMember_SetOne(char *addr, PyMemberDef *l, PyObject *v) { PyObject *oldv; + if (l->flags & Py_RELATIVE_OFFSET) { + PyErr_SetString( + PyExc_SystemError, + "PyMember_SetOne used with Py_RELATIVE_OFFSET"); + return -1; + } addr += l->offset; @@ -276,9 +286,8 @@ PyMember_SetOne(char *addr, PyMemberDef *l, PyObject *v) break; case T_OBJECT: case T_OBJECT_EX: - Py_XINCREF(v); oldv = *(PyObject **)addr; - *(PyObject **)addr = v; + *(PyObject **)addr = Py_XNewRef(v); Py_XDECREF(oldv); break; case T_CHAR: { diff --git a/contrib/tools/python3/src/Python/suggestions.c b/contrib/tools/python3/src/Python/suggestions.c index 5a4cf93246a..ad58393490e 100644 --- a/contrib/tools/python3/src/Python/suggestions.c +++ b/contrib/tools/python3/src/Python/suggestions.c @@ -1,8 +1,11 @@ #include "Python.h" #include "pycore_frame.h" +#include "pycore_runtime.h" // _PyRuntime +#include "pycore_global_objects.h" // _Py_ID() #include "pycore_pyerrors.h" #include "pycore_code.h" // _PyCode_GetVarnames() +#include "stdlib_module_names.h" // _Py_stdlib_module_names #define MAX_CANDIDATE_ITEMS 750 #define MAX_STRING_SIZE 40 @@ -38,10 +41,8 @@ substitution_cost(char a, char b) static Py_ssize_t levenshtein_distance(const char *a, size_t a_size, const char *b, size_t b_size, - size_t max_cost) + size_t max_cost, size_t *buffer) { - static size_t buffer[MAX_STRING_SIZE]; - // Both strings are the same (by identity) if (a == b) { return 0; @@ -144,7 +145,10 @@ calculate_suggestions(PyObject *dir, if (name_str == NULL) { return NULL; } - + size_t *buffer = PyMem_New(size_t, MAX_STRING_SIZE); + if (buffer == NULL) { + return PyErr_NoMemory(); + } for (int i = 0; i < dir_size; ++i) { PyObject *item = PyList_GET_ITEM(dir, i); if (_PyUnicode_Equal(name, item)) { @@ -153,6 +157,7 @@ calculate_suggestions(PyObject *dir, Py_ssize_t item_size; const char *item_str = PyUnicode_AsUTF8AndSize(item, &item_size); if (item_str == NULL) { + PyMem_Free(buffer); return NULL; } // No more than 1/3 of the involved characters should need changed. @@ -160,8 +165,8 @@ calculate_suggestions(PyObject *dir, // Don't take matches we've already beaten. max_distance = Py_MIN(max_distance, suggestion_distance - 1); Py_ssize_t current_distance = - levenshtein_distance(name_str, name_size, - item_str, item_size, max_distance); + levenshtein_distance(name_str, name_size, item_str, + item_size, max_distance, buffer); if (current_distance > max_distance) { continue; } @@ -170,12 +175,12 @@ calculate_suggestions(PyObject *dir, suggestion_distance = current_distance; } } - Py_XINCREF(suggestion); - return suggestion; + PyMem_Free(buffer); + return Py_XNewRef(suggestion); } static PyObject * -offer_suggestions_for_attribute_error(PyAttributeErrorObject *exc) +get_suggestions_for_attribute_error(PyAttributeErrorObject *exc) { PyObject *name = exc->name; // borrowed reference PyObject *obj = exc->obj; // borrowed reference @@ -195,35 +200,25 @@ offer_suggestions_for_attribute_error(PyAttributeErrorObject *exc) return suggestions; } - static PyObject * -offer_suggestions_for_name_error(PyNameErrorObject *exc) +offer_suggestions_for_attribute_error(PyAttributeErrorObject *exc) { - PyObject *name = exc->name; // borrowed reference - PyTracebackObject *traceback = (PyTracebackObject *) exc->traceback; // borrowed reference - // Abort if we don't have a variable name or we have an invalid one - // or if we don't have a traceback to work with - if (name == NULL || !PyUnicode_CheckExact(name) || - traceback == NULL || !Py_IS_TYPE(traceback, &PyTraceBack_Type) - ) { + PyObject* suggestion = get_suggestions_for_attribute_error(exc); + if (suggestion == NULL) { return NULL; } + // Add a trailer ". Did you mean: (...)?" + PyObject* result = PyUnicode_FromFormat(". Did you mean: %R?", suggestion); + Py_DECREF(suggestion); + return result; +} - // Move to the traceback of the exception - while (1) { - PyTracebackObject *next = traceback->tb_next; - if (next == NULL || !Py_IS_TYPE(next, &PyTraceBack_Type)) { - break; - } - else { - traceback = next; - } - } - - PyFrameObject *frame = traceback->tb_frame; - assert(frame != NULL); +static PyObject * +get_suggestions_for_name_error(PyObject* name, PyFrameObject* frame) +{ PyCodeObject *code = PyFrame_GetCode(frame); assert(code != NULL && code->co_localsplusnames != NULL); + PyObject *varnames = _PyCode_GetVarnames(code); Py_DECREF(code); if (varnames == NULL) { @@ -235,9 +230,38 @@ offer_suggestions_for_name_error(PyNameErrorObject *exc) return NULL; } + // Are we inside a method and the instance has an attribute called 'name'? + int res = PySequence_Contains(dir, &_Py_ID(self)); + if (res < 0) { + goto error; + } + if (res > 0) { + PyObject* locals = PyFrame_GetLocals(frame); + if (!locals) { + goto error; + } + PyObject* self = PyDict_GetItemWithError(locals, &_Py_ID(self)); /* borrowed */ + if (!self) { + Py_DECREF(locals); + goto error; + } + + PyObject *value; + res = _PyObject_LookupAttr(self, name, &value); + Py_DECREF(locals); + if (res < 0) { + goto error; + } + if (value) { + Py_DECREF(value); + Py_DECREF(dir); + return PyUnicode_FromFormat("self.%U", name); + } + } + PyObject *suggestions = calculate_suggestions(dir, name); Py_DECREF(dir); - if (suggestions != NULL|| PyErr_Occurred()) { + if (suggestions != NULL || PyErr_Occurred()) { return suggestions; } @@ -259,6 +283,103 @@ offer_suggestions_for_name_error(PyNameErrorObject *exc) Py_DECREF(dir); return suggestions; + +error: + Py_DECREF(dir); + return NULL; +} + +static bool +is_name_stdlib_module(PyObject* name) +{ + const char* the_name = PyUnicode_AsUTF8(name); + Py_ssize_t len = Py_ARRAY_LENGTH(_Py_stdlib_module_names); + for (Py_ssize_t i = 0; i < len; i++) { + if (strcmp(the_name, _Py_stdlib_module_names[i]) == 0) { + return 1; + } + } + return 0; +} + +static PyObject * +offer_suggestions_for_name_error(PyNameErrorObject *exc) +{ + PyObject *name = exc->name; // borrowed reference + PyTracebackObject *traceback = (PyTracebackObject *) exc->traceback; // borrowed reference + // Abort if we don't have a variable name or we have an invalid one + // or if we don't have a traceback to work with + if (name == NULL || !PyUnicode_CheckExact(name) || + traceback == NULL || !Py_IS_TYPE(traceback, &PyTraceBack_Type) + ) { + return NULL; + } + + // Move to the traceback of the exception + while (1) { + PyTracebackObject *next = traceback->tb_next; + if (next == NULL || !Py_IS_TYPE(next, &PyTraceBack_Type)) { + break; + } + else { + traceback = next; + } + } + + PyFrameObject *frame = traceback->tb_frame; + assert(frame != NULL); + + PyObject* suggestion = get_suggestions_for_name_error(name, frame); + if (suggestion == NULL && PyErr_Occurred()) { + return NULL; + } + + // Add a trailer ". Did you mean: (...)?" + PyObject* result = NULL; + if (!is_name_stdlib_module(name)) { + if (suggestion == NULL) { + return NULL; + } + result = PyUnicode_FromFormat(". Did you mean: %R?", suggestion); + } else if (suggestion == NULL) { + result = PyUnicode_FromFormat(". Did you forget to import %R?", name); + } else { + result = PyUnicode_FromFormat(". Did you mean: %R? Or did you forget to import %R?", suggestion, name); + } + Py_XDECREF(suggestion); + return result; +} + +static PyObject * +offer_suggestions_for_import_error(PyImportErrorObject *exc) +{ + PyObject *mod_name = exc->name; // borrowed reference + PyObject *name = exc->name_from; // borrowed reference + if (name == NULL || mod_name == NULL || name == Py_None || + !PyUnicode_CheckExact(name) || !PyUnicode_CheckExact(mod_name)) { + return NULL; + } + + PyObject* mod = PyImport_GetModule(mod_name); + if (mod == NULL) { + return NULL; + } + + PyObject *dir = PyObject_Dir(mod); + Py_DECREF(mod); + if (dir == NULL) { + return NULL; + } + + PyObject *suggestion = calculate_suggestions(dir, name); + Py_DECREF(dir); + if (!suggestion) { + return NULL; + } + + PyObject* result = PyUnicode_FromFormat(". Did you mean: %R?", suggestion); + Py_DECREF(suggestion); + return result; } // Offer suggestions for a given exception. Returns a python string object containing the @@ -273,6 +394,8 @@ _Py_Offer_Suggestions(PyObject *exception) result = offer_suggestions_for_attribute_error((PyAttributeErrorObject *) exception); } else if (Py_IS_TYPE(exception, (PyTypeObject*)PyExc_NameError)) { result = offer_suggestions_for_name_error((PyNameErrorObject *) exception); + } else if (Py_IS_TYPE(exception, (PyTypeObject*)PyExc_ImportError)) { + result = offer_suggestions_for_import_error((PyImportErrorObject *) exception); } return result; } @@ -293,6 +416,14 @@ _Py_UTF8_Edit_Cost(PyObject *a, PyObject *b, Py_ssize_t max_cost) if (max_cost == -1) { max_cost = MOVE_COST * Py_MAX(size_a, size_b); } - return levenshtein_distance(utf8_a, size_a, utf8_b, size_b, max_cost); + size_t *buffer = PyMem_New(size_t, MAX_STRING_SIZE); + if (buffer == NULL) { + PyErr_NoMemory(); + return -1; + } + Py_ssize_t res = levenshtein_distance(utf8_a, size_a, + utf8_b, size_b, max_cost, buffer); + PyMem_Free(buffer); + return res; } diff --git a/contrib/tools/python3/src/Python/symtable.c b/contrib/tools/python3/src/Python/symtable.c index 3519f620984..a5c6b465b71 100644 --- a/contrib/tools/python3/src/Python/symtable.c +++ b/contrib/tools/python3/src/Python/symtable.c @@ -1,6 +1,5 @@ #include "Python.h" #include "pycore_ast.h" // identifier, stmt_ty -#include "pycore_compile.h" // _Py_Mangle(), _PyFuture_FromAST() #include "pycore_parser.h" // _PyParser_ASTFromString() #include "pycore_pystate.h" // _PyThreadState_GET() #include "pycore_symtable.h" // PySTEntryObject @@ -36,6 +35,15 @@ #define NAMED_EXPR_COMP_IN_CLASS \ "assignment expression within a comprehension cannot be used in a class body" +#define NAMED_EXPR_COMP_IN_TYPEVAR_BOUND \ +"assignment expression within a comprehension cannot be used in a TypeVar bound" + +#define NAMED_EXPR_COMP_IN_TYPEALIAS \ +"assignment expression within a comprehension cannot be used in a type alias" + +#define NAMED_EXPR_COMP_IN_TYPEPARAM \ +"assignment expression within a comprehension cannot be used within the definition of a generic" + #define NAMED_EXPR_COMP_CONFLICT \ "assignment expression cannot rebind comprehension iteration variable '%U'" @@ -46,7 +54,19 @@ "assignment expression cannot be used in a comprehension iterable expression" #define ANNOTATION_NOT_ALLOWED \ -"'%s' can not be used within an annotation" +"%s cannot be used within an annotation" + +#define TYPEVAR_BOUND_NOT_ALLOWED \ +"%s cannot be used within a TypeVar bound" + +#define TYPEALIAS_NOT_ALLOWED \ +"%s cannot be used within a type alias" + +#define TYPEPARAM_NOT_ALLOWED \ +"%s cannot be used within the definition of a generic" + +#define DUPLICATE_TYPE_PARAM \ +"duplicate type parameter '%U'" #define LOCATION(x) \ @@ -74,8 +94,7 @@ ste_new(struct symtable *st, identifier name, _Py_block_ty block, ste->ste_table = st; ste->ste_id = k; /* ste owns reference to k */ - Py_INCREF(name); - ste->ste_name = name; + ste->ste_name = Py_NewRef(name); ste->ste_symbols = NULL; ste->ste_varnames = NULL; @@ -97,7 +116,7 @@ ste_new(struct symtable *st, identifier name, _Py_block_ty block, if (st->st_cur != NULL && (st->st_cur->ste_nested || - st->st_cur->ste_type == FunctionBlock)) + _PyST_IsFunctionLike(st->st_cur))) ste->ste_nested = 1; ste->ste_child_free = 0; ste->ste_generator = 0; @@ -105,8 +124,11 @@ ste_new(struct symtable *st, identifier name, _Py_block_ty block, ste->ste_comprehension = NoComprehension; ste->ste_returns_value = 0; ste->ste_needs_class_closure = 0; + ste->ste_comp_inlined = 0; ste->ste_comp_iter_target = 0; + ste->ste_can_see_class_scope = 0; ste->ste_comp_iter_expr = 0; + ste->ste_needs_classdict = 0; ste->ste_symbols = PyDict_New(); ste->ste_varnames = PyList_New(0); @@ -208,6 +230,7 @@ static int symtable_enter_block(struct symtable *st, identifier name, static int symtable_exit_block(struct symtable *st); static int symtable_visit_stmt(struct symtable *st, stmt_ty s); static int symtable_visit_expr(struct symtable *st, expr_ty s); +static int symtable_visit_type_param(struct symtable *st, type_param_ty s); static int symtable_visit_genexp(struct symtable *st, expr_ty s); static int symtable_visit_listcomp(struct symtable *st, expr_ty s); static int symtable_visit_setcomp(struct symtable *st, expr_ty s); @@ -258,17 +281,10 @@ symtable_new(void) return NULL; } -/* When compiling the use of C stack is probably going to be a lot - lighter than when executing Python code but still can overflow - and causing a Python crash if not checked (e.g. eval("()"*300000)). - Using the current recursion limit for the compiler seems too - restrictive (it caused at least one test to fail) so a factor is - used to allow deeper recursion when compiling an expression. - - Using a scaling factor means this should automatically adjust when +/* Using a scaling factor means this should automatically adjust when the recursion limit is adjusted for small or large C stack allocations. */ -#define COMPILER_STACK_FRAME_SCALE 3 +#define COMPILER_STACK_FRAME_SCALE 2 struct symtable * _PySymtable_Build(mod_ty mod, PyObject *filename, PyFutureFeatures *future) @@ -277,7 +293,6 @@ _PySymtable_Build(mod_ty mod, PyObject *filename, PyFutureFeatures *future) asdl_stmt_seq *seq; int i; PyThreadState *tstate; - int recursion_limit = Py_GetRecursionLimit(); int starting_recursion_depth; if (st == NULL) @@ -286,8 +301,7 @@ _PySymtable_Build(mod_ty mod, PyObject *filename, PyFutureFeatures *future) _PySymtable_Free(st); return NULL; } - Py_INCREF(filename); - st->st_filename = filename; + st->st_filename = Py_NewRef(filename); st->st_future = future; /* Setup recursion depth check counters */ @@ -297,12 +311,10 @@ _PySymtable_Build(mod_ty mod, PyObject *filename, PyFutureFeatures *future) return NULL; } /* Be careful here to prevent overflow. */ - int recursion_depth = tstate->recursion_limit - tstate->recursion_remaining; - starting_recursion_depth = (recursion_depth < INT_MAX / COMPILER_STACK_FRAME_SCALE) ? - recursion_depth * COMPILER_STACK_FRAME_SCALE : recursion_depth; + int recursion_depth = C_RECURSION_LIMIT - tstate->c_recursion_remaining; + starting_recursion_depth = recursion_depth * COMPILER_STACK_FRAME_SCALE; st->recursion_depth = starting_recursion_depth; - st->recursion_limit = (recursion_limit < INT_MAX / COMPILER_STACK_FRAME_SCALE) ? - recursion_limit * COMPILER_STACK_FRAME_SCALE : recursion_limit; + st->recursion_limit = C_RECURSION_LIMIT * COMPILER_STACK_FRAME_SCALE; /* Make the initial symbol information gathering pass */ if (!symtable_enter_block(st, &_Py_ID(top), ModuleBlock, (void *)mod, 0, 0, 0, 0)) { @@ -377,17 +389,17 @@ PySymtable_Lookup(struct symtable *st, void *key) if (k == NULL) return NULL; v = PyDict_GetItemWithError(st->st_blocks, k); + Py_DECREF(k); + if (v) { assert(PySTEntry_Check(v)); - Py_INCREF(v); } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_KeyError, "unknown symbol table entry"); } - Py_DECREF(k); - return (PySTEntryObject *)v; + return (PySTEntryObject *)Py_XNewRef(v); } long @@ -407,6 +419,15 @@ _PyST_GetScope(PySTEntryObject *ste, PyObject *name) return (symbol >> SCOPE_OFFSET) & SCOPE_MASK; } +int +_PyST_IsFunctionLike(PySTEntryObject *ste) +{ + return ste->ste_type == FunctionBlock + || ste->ste_type == TypeVarBoundBlock + || ste->ste_type == TypeAliasBlock + || ste->ste_type == TypeParamBlock; +} + static int error_at_directive(PySTEntryObject *ste, PyObject *name) { @@ -499,7 +520,7 @@ error_at_directive(PySTEntryObject *ste, PyObject *name) static int analyze_name(PySTEntryObject *ste, PyObject *scopes, PyObject *name, long flags, PyObject *bound, PyObject *local, PyObject *free, - PyObject *global) + PyObject *global, PyObject *type_params, PySTEntryObject *class_entry) { int contains; if (flags & DEF_GLOBAL) { @@ -533,6 +554,16 @@ analyze_name(PySTEntryObject *ste, PyObject *scopes, PyObject *name, long flags, return error_at_directive(ste, name); } + contains = PySet_Contains(type_params, name); + if (contains < 0) { + return 0; + } + if (contains) { + PyErr_Format(PyExc_SyntaxError, + "nonlocal binding not allowed for type parameter '%U'", + name); + return error_at_directive(ste, name); + } SET_SCOPE(scopes, name, FREE); ste->ste_free = 1; return PySet_Add(free, name) >= 0; @@ -543,8 +574,34 @@ analyze_name(PySTEntryObject *ste, PyObject *scopes, PyObject *name, long flags, return 0; if (PySet_Discard(global, name) < 0) return 0; + if (flags & DEF_TYPE_PARAM) { + if (PySet_Add(type_params, name) < 0) + return 0; + } + else { + if (PySet_Discard(type_params, name) < 0) + return 0; + } return 1; } + // If we were passed class_entry (i.e., we're in an ste_can_see_class_scope scope) + // and the bound name is in that set, then the name is potentially bound both by + // the immediately enclosing class namespace, and also by an outer function namespace. + // In that case, we want the runtime name resolution to look at only the class + // namespace and the globals (not the namespace providing the bound). + // Similarly, if the name is explicitly global in the class namespace (through the + // global statement), we want to also treat it as a global in this scope. + if (class_entry != NULL) { + long class_flags = _PyST_GetSymbol(class_entry, name); + if (class_flags & DEF_GLOBAL) { + SET_SCOPE(scopes, name, GLOBAL_EXPLICIT); + return 1; + } + else if (class_flags & DEF_BOUND && !(class_flags & DEF_NONLOCAL)) { + SET_SCOPE(scopes, name, GLOBAL_IMPLICIT); + return 1; + } + } /* If an enclosing block has a binding for this name, it is a free variable rather than a global variable. Note that having a non-NULL bound implies that the block @@ -580,6 +637,75 @@ analyze_name(PySTEntryObject *ste, PyObject *scopes, PyObject *name, long flags, return 1; } +static int +is_free_in_any_child(PySTEntryObject *entry, PyObject *key) +{ + for (Py_ssize_t i = 0; i < PyList_GET_SIZE(entry->ste_children); i++) { + PySTEntryObject *child_ste = (PySTEntryObject *)PyList_GET_ITEM( + entry->ste_children, i); + long scope = _PyST_GetScope(child_ste, key); + if (scope == FREE) { + return 1; + } + } + return 0; +} + +static int +inline_comprehension(PySTEntryObject *ste, PySTEntryObject *comp, + PyObject *scopes, PyObject *comp_free, + PyObject *inlined_cells) +{ + PyObject *k, *v; + Py_ssize_t pos = 0; + while (PyDict_Next(comp->ste_symbols, &pos, &k, &v)) { + // skip comprehension parameter + long comp_flags = PyLong_AS_LONG(v); + if (comp_flags & DEF_PARAM) { + assert(_PyUnicode_EqualToASCIIString(k, ".0")); + continue; + } + int scope = (comp_flags >> SCOPE_OFFSET) & SCOPE_MASK; + int only_flags = comp_flags & ((1 << SCOPE_OFFSET) - 1); + if (scope == CELL || only_flags & DEF_COMP_CELL) { + if (PySet_Add(inlined_cells, k) < 0) { + return 0; + } + } + PyObject *existing = PyDict_GetItemWithError(ste->ste_symbols, k); + if (existing == NULL && PyErr_Occurred()) { + return 0; + } + if (!existing) { + // name does not exist in scope, copy from comprehension + assert(scope != FREE || PySet_Contains(comp_free, k) == 1); + PyObject *v_flags = PyLong_FromLong(only_flags); + if (v_flags == NULL) { + return 0; + } + int ok = PyDict_SetItem(ste->ste_symbols, k, v_flags); + Py_DECREF(v_flags); + if (ok < 0) { + return 0; + } + SET_SCOPE(scopes, k, scope); + } + else { + if (PyLong_AsLong(existing) & DEF_BOUND) { + // free vars in comprehension that are locals in outer scope can + // now simply be locals, unless they are free in comp children, + // or if the outer scope is a class block + if (!is_free_in_any_child(comp, k) && ste->ste_type != ClassBlock) { + if (PySet_Discard(comp_free, k) < 0) { + return 0; + } + } + } + } + } + return 1; +} + #undef SET_SCOPE /* If a name is defined in free and also in locals, then this block @@ -591,7 +717,7 @@ analyze_name(PySTEntryObject *ste, PyObject *scopes, PyObject *name, long flags, */ static int -analyze_cells(PyObject *scopes, PyObject *free) +analyze_cells(PyObject *scopes, PyObject *free, PyObject *inlined_cells) { PyObject *name, *v, *v_cell; int success = 0; @@ -611,7 +737,13 @@ analyze_cells(PyObject *scopes, PyObject *free) goto error; } if (!contains) { - continue; + contains = PySet_Contains(inlined_cells, name); + if (contains < 0) { + goto error; + } + if (!contains) { + continue; + } } /* Replace LOCAL with CELL for this name, and remove from free. It is safe to replace the value of name @@ -637,6 +769,11 @@ drop_class_free(PySTEntryObject *ste, PyObject *free) return 0; if (res) ste->ste_needs_class_closure = 1; + res = PySet_Discard(free, &_Py_ID(__classdict__)); + if (res < 0) + return 0; + if (res) + ste->ste_needs_classdict = 1; return 1; } @@ -646,7 +783,8 @@ drop_class_free(PySTEntryObject *ste, PyObject *free) */ static int update_symbols(PyObject *symbols, PyObject *scopes, - PyObject *bound, PyObject *free, int classflag) + PyObject *bound, PyObject *free, + PyObject *inlined_cells, int classflag) { PyObject *name = NULL, *itr = NULL; PyObject *v = NULL, *v_scope = NULL, *v_new = NULL, *v_free = NULL; @@ -657,6 +795,13 @@ update_symbols(PyObject *symbols, PyObject *scopes, long scope, flags; assert(PyLong_Check(v)); flags = PyLong_AS_LONG(v); + int contains = PySet_Contains(inlined_cells, name); + if (contains < 0) { + return 0; + } + if (contains) { + flags |= DEF_COMP_CELL; + } v_scope = PyDict_GetItemWithError(scopes, name); assert(v_scope && PyLong_Check(v_scope)); scope = PyLong_AS_LONG(v_scope); @@ -691,8 +836,7 @@ update_symbols(PyObject *symbols, PyObject *scopes, the class that has the same name as a local or global in the class scope. */ - if (classflag && - PyLong_AS_LONG(v) & (DEF_BOUND | DEF_GLOBAL)) { + if (classflag) { long flags = PyLong_AS_LONG(v) | DEF_FREE_CLASS; v_new = PyLong_FromLong(flags); if (!v_new) { @@ -766,17 +910,19 @@ error: static int analyze_child_block(PySTEntryObject *entry, PyObject *bound, PyObject *free, - PyObject *global, PyObject* child_free); + PyObject *global, PyObject *type_params, + PySTEntryObject *class_entry, PyObject **child_free); static int analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free, - PyObject *global) + PyObject *global, PyObject *type_params, + PySTEntryObject *class_entry) { PyObject *name, *v, *local = NULL, *scopes = NULL, *newbound = NULL; - PyObject *newglobal = NULL, *newfree = NULL, *allfree = NULL; + PyObject *newglobal = NULL, *newfree = NULL, *inlined_cells = NULL; PyObject *temp; - int i, success = 0; - Py_ssize_t pos = 0; + int success = 0; + Py_ssize_t i, pos = 0; local = PySet_New(NULL); /* collect new names bound in block */ if (!local) @@ -785,8 +931,8 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free, if (!scopes) goto error; - /* Allocate new global and bound variable dictionaries. These - dictionaries hold the names visible in nested blocks. For + /* Allocate new global, bound and free variable sets. These + sets hold the names visible in nested blocks. For ClassBlocks, the bound and global names are initialized before analyzing names, because class bindings aren't visible in methods. For other blocks, they are initialized @@ -805,6 +951,9 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free, newbound = PySet_New(NULL); if (!newbound) goto error; + inlined_cells = PySet_New(NULL); + if (!inlined_cells) + goto error; /* Class namespace has no effect on names visible in nested functions, so populate the global and bound @@ -829,14 +978,14 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free, while (PyDict_Next(ste->ste_symbols, &pos, &name, &v)) { long flags = PyLong_AS_LONG(v); if (!analyze_name(ste, scopes, name, flags, - bound, local, free, global)) + bound, local, free, global, type_params, class_entry)) goto error; } /* Populate global and bound sets to be passed to children. */ if (ste->ste_type != ClassBlock) { /* Add function locals to bound set */ - if (ste->ste_type == FunctionBlock) { + if (_PyST_IsFunctionLike(ste)) { temp = PyNumber_InPlaceOr(newbound, local); if (!temp) goto error; @@ -856,46 +1005,85 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free, Py_DECREF(temp); } else { - /* Special-case __class__ */ + /* Special-case __class__ and __classdict__ */ if (PySet_Add(newbound, &_Py_ID(__class__)) < 0) goto error; + if (PySet_Add(newbound, &_Py_ID(__classdict__)) < 0) + goto error; } /* Recursively call analyze_child_block() on each child block. newbound, newglobal now contain the names visible in nested blocks. The free variables in the children will - be collected in allfree. + be added to newfree. */ - allfree = PySet_New(NULL); - if (!allfree) - goto error; for (i = 0; i < PyList_GET_SIZE(ste->ste_children); ++i) { + PyObject *child_free = NULL; PyObject *c = PyList_GET_ITEM(ste->ste_children, i); PySTEntryObject* entry; assert(c && PySTEntry_Check(c)); entry = (PySTEntryObject*)c; + + PySTEntryObject *new_class_entry = NULL; + if (entry->ste_can_see_class_scope) { + if (ste->ste_type == ClassBlock) { + new_class_entry = ste; + } + else if (class_entry) { + new_class_entry = class_entry; + } + } + + // we inline all non-generator-expression comprehensions + int inline_comp = + entry->ste_comprehension && + !entry->ste_generator; + if (!analyze_child_block(entry, newbound, newfree, newglobal, - allfree)) + type_params, new_class_entry, &child_free)) + { + goto error; + } + if (inline_comp) { + if (!inline_comprehension(ste, entry, scopes, child_free, inlined_cells)) { + Py_DECREF(child_free); + goto error; + } + entry->ste_comp_inlined = 1; + } + temp = PyNumber_InPlaceOr(newfree, child_free); + Py_DECREF(child_free); + if (!temp) goto error; + Py_DECREF(temp); /* Check if any children have free variables */ if (entry->ste_free || entry->ste_child_free) ste->ste_child_free = 1; } - temp = PyNumber_InPlaceOr(newfree, allfree); - if (!temp) - goto error; - Py_DECREF(temp); + /* Splice children of inlined comprehensions into our children list */ + for (i = PyList_GET_SIZE(ste->ste_children) - 1; i >= 0; --i) { + PyObject* c = PyList_GET_ITEM(ste->ste_children, i); + PySTEntryObject* entry; + assert(c && PySTEntry_Check(c)); + entry = (PySTEntryObject*)c; + if (entry->ste_comp_inlined && + PyList_SetSlice(ste->ste_children, i, i + 1, + entry->ste_children) < 0) + { + goto error; + } + } /* Check if any local variables must be converted to cell variables */ - if (ste->ste_type == FunctionBlock && !analyze_cells(scopes, newfree)) + if (_PyST_IsFunctionLike(ste) && !analyze_cells(scopes, newfree, inlined_cells)) goto error; else if (ste->ste_type == ClassBlock && !drop_class_free(ste, newfree)) goto error; /* Records the results of the analysis in the symbol table entry */ - if (!update_symbols(ste->ste_symbols, scopes, bound, newfree, - ste->ste_type == ClassBlock)) + if (!update_symbols(ste->ste_symbols, scopes, bound, newfree, inlined_cells, + (ste->ste_type == ClassBlock) || ste->ste_can_see_class_scope)) goto error; temp = PyNumber_InPlaceOr(free, newfree); @@ -909,7 +1097,7 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free, Py_XDECREF(newbound); Py_XDECREF(newglobal); Py_XDECREF(newfree); - Py_XDECREF(allfree); + Py_XDECREF(inlined_cells); if (!success) assert(PyErr_Occurred()); return success; @@ -917,16 +1105,17 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free, static int analyze_child_block(PySTEntryObject *entry, PyObject *bound, PyObject *free, - PyObject *global, PyObject* child_free) + PyObject *global, PyObject *type_params, + PySTEntryObject *class_entry, PyObject** child_free) { PyObject *temp_bound = NULL, *temp_global = NULL, *temp_free = NULL; - PyObject *temp; + PyObject *temp_type_params = NULL; - /* Copy the bound and global dictionaries. + /* Copy the bound/global/free sets. - These dictionaries are used by all blocks enclosed by the + These sets are used by all blocks enclosed by the current block. The analyze_block() call modifies these - dictionaries. + sets. */ temp_bound = PySet_New(bound); @@ -938,28 +1127,30 @@ analyze_child_block(PySTEntryObject *entry, PyObject *bound, PyObject *free, temp_global = PySet_New(global); if (!temp_global) goto error; - - if (!analyze_block(entry, temp_bound, temp_free, temp_global)) + temp_type_params = PySet_New(type_params); + if (!temp_type_params) goto error; - temp = PyNumber_InPlaceOr(child_free, temp_free); - if (!temp) + + if (!analyze_block(entry, temp_bound, temp_free, temp_global, + temp_type_params, class_entry)) goto error; - Py_DECREF(temp); + *child_free = temp_free; Py_DECREF(temp_bound); - Py_DECREF(temp_free); Py_DECREF(temp_global); + Py_DECREF(temp_type_params); return 1; error: Py_XDECREF(temp_bound); Py_XDECREF(temp_free); Py_XDECREF(temp_global); + Py_XDECREF(temp_type_params); return 0; } static int symtable_analyze(struct symtable *st) { - PyObject *free, *global; + PyObject *free, *global, *type_params; int r; free = PySet_New(NULL); @@ -970,9 +1161,16 @@ symtable_analyze(struct symtable *st) Py_DECREF(free); return 0; } - r = analyze_block(st->st_top, NULL, free, global); + type_params = PySet_New(NULL); + if (!type_params) { + Py_DECREF(free); + Py_DECREF(global); + return 0; + } + r = analyze_block(st->st_top, NULL, free, global, type_params, NULL); Py_DECREF(free); Py_DECREF(global); + Py_DECREF(type_params); return r; } @@ -1075,6 +1273,13 @@ symtable_add_def_helper(struct symtable *st, PyObject *name, int flag, struct _s end_lineno, end_col_offset + 1); goto error; } + if ((flag & DEF_TYPE_PARAM) && (val & DEF_TYPE_PARAM)) { + PyErr_Format(PyExc_SyntaxError, DUPLICATE_TYPE_PARAM, name); + PyErr_RangedSyntaxLocationObject(st->st_filename, + lineno, col_offset + 1, + end_lineno, end_col_offset + 1); + goto error; + } val |= flag; } else if (PyErr_Occurred()) { @@ -1146,6 +1351,65 @@ symtable_add_def(struct symtable *st, PyObject *name, int flag, lineno, col_offset, end_lineno, end_col_offset); } +static int +symtable_enter_type_param_block(struct symtable *st, identifier name, + void *ast, int has_defaults, int has_kwdefaults, + enum _stmt_kind kind, + int lineno, int col_offset, + int end_lineno, int end_col_offset) +{ + _Py_block_ty current_type = st->st_cur->ste_type; + if(!symtable_enter_block(st, name, TypeParamBlock, ast, lineno, + col_offset, end_lineno, end_col_offset)) { + return 0; + } + if (current_type == ClassBlock) { + st->st_cur->ste_can_see_class_scope = 1; + if (!symtable_add_def(st, &_Py_ID(__classdict__), USE, lineno, col_offset, end_lineno, end_col_offset)) { + return 0; + } + } + if (kind == ClassDef_kind) { + _Py_DECLARE_STR(type_params, ".type_params"); + // It gets "set" when we create the type params tuple and + // "used" when we build up the bases. + if (!symtable_add_def(st, &_Py_STR(type_params), DEF_LOCAL, + lineno, col_offset, end_lineno, end_col_offset)) { + return 0; + } + if (!symtable_add_def(st, &_Py_STR(type_params), USE, + lineno, col_offset, end_lineno, end_col_offset)) { + return 0; + } + st->st_private = name; + // This is used for setting the generic base + _Py_DECLARE_STR(generic_base, ".generic_base"); + if (!symtable_add_def(st, &_Py_STR(generic_base), DEF_LOCAL, + lineno, col_offset, end_lineno, end_col_offset)) { + return 0; + } + if (!symtable_add_def(st, &_Py_STR(generic_base), USE, + lineno, col_offset, end_lineno, end_col_offset)) { + return 0; + } + } + if (has_defaults) { + _Py_DECLARE_STR(defaults, ".defaults"); + if (!symtable_add_def(st, &_Py_STR(defaults), DEF_PARAM, + lineno, col_offset, end_lineno, end_col_offset)) { + return 0; + } + } + if (has_kwdefaults) { + _Py_DECLARE_STR(kwdefaults, ".kwdefaults"); + if (!symtable_add_def(st, &_Py_STR(kwdefaults), DEF_PARAM, + lineno, col_offset, end_lineno, end_col_offset)) { + return 0; + } + } + return 1; +} + /* VISIT, VISIT_SEQ and VIST_SEQ_TAIL take an ASDL type as their second argument. They use the ASDL name to synthesize the name of the C type and the visit function. @@ -1217,6 +1481,17 @@ symtable_record_directive(struct symtable *st, identifier name, int lineno, return res == 0; } +static int +has_kwonlydefaults(asdl_arg_seq *kwonlyargs, asdl_expr_seq *kw_defaults) +{ + for (int i = 0; i < asdl_seq_LEN(kwonlyargs); i++) { + expr_ty default_ = asdl_seq_GET(kw_defaults, i); + if (default_) { + return 1; + } + } + return 0; +} static int symtable_visit_stmt(struct symtable *st, stmt_ty s) @@ -1234,11 +1509,24 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s) VISIT_SEQ(st, expr, s->v.FunctionDef.args->defaults); if (s->v.FunctionDef.args->kw_defaults) VISIT_SEQ_WITH_NULL(st, expr, s->v.FunctionDef.args->kw_defaults); + if (s->v.FunctionDef.decorator_list) + VISIT_SEQ(st, expr, s->v.FunctionDef.decorator_list); + if (asdl_seq_LEN(s->v.FunctionDef.type_params) > 0) { + if (!symtable_enter_type_param_block( + st, s->v.FunctionDef.name, + (void *)s->v.FunctionDef.type_params, + s->v.FunctionDef.args->defaults != NULL, + has_kwonlydefaults(s->v.FunctionDef.args->kwonlyargs, + s->v.FunctionDef.args->kw_defaults), + s->kind, + LOCATION(s))) { + VISIT_QUIT(st, 0); + } + VISIT_SEQ(st, type_param, s->v.FunctionDef.type_params); + } if (!symtable_visit_annotations(st, s, s->v.FunctionDef.args, s->v.FunctionDef.returns)) VISIT_QUIT(st, 0); - if (s->v.FunctionDef.decorator_list) - VISIT_SEQ(st, expr, s->v.FunctionDef.decorator_list); if (!symtable_enter_block(st, s->v.FunctionDef.name, FunctionBlock, (void *)s, LOCATION(s))) @@ -1247,25 +1535,85 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s) VISIT_SEQ(st, stmt, s->v.FunctionDef.body); if (!symtable_exit_block(st)) VISIT_QUIT(st, 0); + if (asdl_seq_LEN(s->v.FunctionDef.type_params) > 0) { + if (!symtable_exit_block(st)) + VISIT_QUIT(st, 0); + } break; case ClassDef_kind: { PyObject *tmp; if (!symtable_add_def(st, s->v.ClassDef.name, DEF_LOCAL, LOCATION(s))) VISIT_QUIT(st, 0); - VISIT_SEQ(st, expr, s->v.ClassDef.bases); - VISIT_SEQ(st, keyword, s->v.ClassDef.keywords); if (s->v.ClassDef.decorator_list) VISIT_SEQ(st, expr, s->v.ClassDef.decorator_list); + if (asdl_seq_LEN(s->v.ClassDef.type_params) > 0) { + if (!symtable_enter_type_param_block(st, s->v.ClassDef.name, + (void *)s->v.ClassDef.type_params, + false, false, s->kind, + LOCATION(s))) { + VISIT_QUIT(st, 0); + } + VISIT_SEQ(st, type_param, s->v.ClassDef.type_params); + } + VISIT_SEQ(st, expr, s->v.ClassDef.bases); + VISIT_SEQ(st, keyword, s->v.ClassDef.keywords); if (!symtable_enter_block(st, s->v.ClassDef.name, ClassBlock, (void *)s, s->lineno, s->col_offset, s->end_lineno, s->end_col_offset)) VISIT_QUIT(st, 0); tmp = st->st_private; st->st_private = s->v.ClassDef.name; + if (asdl_seq_LEN(s->v.ClassDef.type_params) > 0) { + if (!symtable_add_def(st, &_Py_ID(__type_params__), + DEF_LOCAL, LOCATION(s))) { + VISIT_QUIT(st, 0); + } + _Py_DECLARE_STR(type_params, ".type_params"); + if (!symtable_add_def(st, &_Py_STR(type_params), + USE, LOCATION(s))) { + VISIT_QUIT(st, 0); + } + } VISIT_SEQ(st, stmt, s->v.ClassDef.body); st->st_private = tmp; if (!symtable_exit_block(st)) VISIT_QUIT(st, 0); + if (asdl_seq_LEN(s->v.ClassDef.type_params) > 0) { + if (!symtable_exit_block(st)) + VISIT_QUIT(st, 0); + } + break; + } + case TypeAlias_kind: { + VISIT(st, expr, s->v.TypeAlias.name); + assert(s->v.TypeAlias.name->kind == Name_kind); + PyObject *name = s->v.TypeAlias.name->v.Name.id; + int is_in_class = st->st_cur->ste_type == ClassBlock; + int is_generic = asdl_seq_LEN(s->v.TypeAlias.type_params) > 0; + if (is_generic) { + if (!symtable_enter_type_param_block( + st, name, + (void *)s->v.TypeAlias.type_params, + false, false, s->kind, + LOCATION(s))) { + VISIT_QUIT(st, 0); + } + VISIT_SEQ(st, type_param, s->v.TypeAlias.type_params); + } + if (!symtable_enter_block(st, name, TypeAliasBlock, + (void *)s, LOCATION(s))) + VISIT_QUIT(st, 0); + st->st_cur->ste_can_see_class_scope = is_in_class; + if (is_in_class && !symtable_add_def(st, &_Py_ID(__classdict__), USE, LOCATION(s->v.TypeAlias.value))) { + VISIT_QUIT(st, 0); + } + VISIT(st, expr, s->v.TypeAlias.value); + if (!symtable_exit_block(st)) + VISIT_QUIT(st, 0); + if (is_generic) { + if (!symtable_exit_block(st)) + VISIT_QUIT(st, 0); + } break; } case Return_kind: @@ -1474,11 +1822,24 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s) if (s->v.AsyncFunctionDef.args->kw_defaults) VISIT_SEQ_WITH_NULL(st, expr, s->v.AsyncFunctionDef.args->kw_defaults); + if (s->v.AsyncFunctionDef.decorator_list) + VISIT_SEQ(st, expr, s->v.AsyncFunctionDef.decorator_list); + if (asdl_seq_LEN(s->v.AsyncFunctionDef.type_params) > 0) { + if (!symtable_enter_type_param_block( + st, s->v.AsyncFunctionDef.name, + (void *)s->v.AsyncFunctionDef.type_params, + s->v.AsyncFunctionDef.args->defaults != NULL, + has_kwonlydefaults(s->v.AsyncFunctionDef.args->kwonlyargs, + s->v.AsyncFunctionDef.args->kw_defaults), + s->kind, + LOCATION(s))) { + VISIT_QUIT(st, 0); + } + VISIT_SEQ(st, type_param, s->v.AsyncFunctionDef.type_params); + } if (!symtable_visit_annotations(st, s, s->v.AsyncFunctionDef.args, s->v.AsyncFunctionDef.returns)) VISIT_QUIT(st, 0); - if (s->v.AsyncFunctionDef.decorator_list) - VISIT_SEQ(st, expr, s->v.AsyncFunctionDef.decorator_list); if (!symtable_enter_block(st, s->v.AsyncFunctionDef.name, FunctionBlock, (void *)s, s->lineno, s->col_offset, @@ -1489,6 +1850,10 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s) VISIT_SEQ(st, stmt, s->v.AsyncFunctionDef.body); if (!symtable_exit_block(st)) VISIT_QUIT(st, 0); + if (asdl_seq_LEN(s->v.AsyncFunctionDef.type_params) > 0) { + if (!symtable_exit_block(st)) + VISIT_QUIT(st, 0); + } break; case AsyncWith_kind: VISIT_SEQ(st, withitem, s->v.AsyncWith.items); @@ -1526,7 +1891,8 @@ symtable_extend_namedexpr_scope(struct symtable *st, expr_ty e) */ if (ste->ste_comprehension) { long target_in_scope = _PyST_GetSymbol(ste, target_name); - if (target_in_scope & DEF_COMP_ITER) { + if ((target_in_scope & DEF_COMP_ITER) && + (target_in_scope & DEF_LOCAL)) { PyErr_Format(PyExc_SyntaxError, NAMED_EXPR_COMP_CONFLICT, target_name); PyErr_RangedSyntaxLocationObject(st->st_filename, e->lineno, @@ -1562,9 +1928,27 @@ symtable_extend_namedexpr_scope(struct symtable *st, expr_ty e) return symtable_add_def_helper(st, target_name, DEF_GLOBAL, ste, LOCATION(e)); } - /* Disallow usage in ClassBlock */ - if (ste->ste_type == ClassBlock) { - PyErr_Format(PyExc_SyntaxError, NAMED_EXPR_COMP_IN_CLASS); + /* Disallow usage in ClassBlock and type scopes */ + if (ste->ste_type == ClassBlock || + ste->ste_type == TypeParamBlock || + ste->ste_type == TypeAliasBlock || + ste->ste_type == TypeVarBoundBlock) { + switch (ste->ste_type) { + case ClassBlock: + PyErr_Format(PyExc_SyntaxError, NAMED_EXPR_COMP_IN_CLASS); + break; + case TypeParamBlock: + PyErr_Format(PyExc_SyntaxError, NAMED_EXPR_COMP_IN_TYPEPARAM); + break; + case TypeAliasBlock: + PyErr_Format(PyExc_SyntaxError, NAMED_EXPR_COMP_IN_TYPEALIAS); + break; + case TypeVarBoundBlock: + PyErr_Format(PyExc_SyntaxError, NAMED_EXPR_COMP_IN_TYPEVAR_BOUND); + break; + default: + Py_UNREACHABLE(); + } PyErr_RangedSyntaxLocationObject(st->st_filename, e->lineno, e->col_offset + 1, @@ -1574,10 +1958,10 @@ symtable_extend_namedexpr_scope(struct symtable *st, expr_ty e) } } - /* We should always find either a FunctionBlock, ModuleBlock or ClassBlock + /* We should always find either a function-like block, ModuleBlock or ClassBlock and should never fall to this case */ - assert(0); + Py_UNREACHABLE(); return 0; } @@ -1631,6 +2015,17 @@ symtable_visit_expr(struct symtable *st, expr_ty e) VISIT(st, expr, e->v.UnaryOp.operand); break; case Lambda_kind: { + if (st->st_cur->ste_can_see_class_scope) { + // gh-109118 + PyErr_Format(PyExc_SyntaxError, + "Cannot use lambda in annotation scope within class scope"); + PyErr_RangedSyntaxLocationObject(st->st_filename, + e->lineno, + e->col_offset + 1, + e->end_lineno, + e->end_col_offset + 1); + VISIT_QUIT(st, 0); + } if (e->v.Lambda.args->defaults) VISIT_SEQ(st, expr, e->v.Lambda.args->defaults); if (e->v.Lambda.args->kw_defaults) @@ -1747,7 +2142,7 @@ symtable_visit_expr(struct symtable *st, expr_ty e) VISIT_QUIT(st, 0); /* Special-case super: it counts as a use of __class__ */ if (e->v.Name.ctx == Load && - st->st_cur->ste_type == FunctionBlock && + _PyST_IsFunctionLike(st->st_cur) && _PyUnicode_EqualToASCIIString(e->v.Name.id, "super")) { if (!symtable_add_def(st, &_Py_ID(__class__), USE, LOCATION(e))) VISIT_QUIT(st, 0); @@ -1764,6 +2159,45 @@ symtable_visit_expr(struct symtable *st, expr_ty e) VISIT_QUIT(st, 1); } +static int +symtable_visit_type_param(struct symtable *st, type_param_ty tp) +{ + if (++st->recursion_depth > st->recursion_limit) { + PyErr_SetString(PyExc_RecursionError, + "maximum recursion depth exceeded during compilation"); + VISIT_QUIT(st, 0); + } + switch(tp->kind) { + case TypeVar_kind: + if (!symtable_add_def(st, tp->v.TypeVar.name, DEF_TYPE_PARAM | DEF_LOCAL, LOCATION(tp))) + VISIT_QUIT(st, 0); + if (tp->v.TypeVar.bound) { + int is_in_class = st->st_cur->ste_can_see_class_scope; + if (!symtable_enter_block(st, tp->v.TypeVar.name, + TypeVarBoundBlock, (void *)tp, + LOCATION(tp))) + VISIT_QUIT(st, 0); + st->st_cur->ste_can_see_class_scope = is_in_class; + if (is_in_class && !symtable_add_def(st, &_Py_ID(__classdict__), USE, LOCATION(tp->v.TypeVar.bound))) { + VISIT_QUIT(st, 0); + } + VISIT(st, expr, tp->v.TypeVar.bound); + if (!symtable_exit_block(st)) + VISIT_QUIT(st, 0); + } + break; + case TypeVarTuple_kind: + if (!symtable_add_def(st, tp->v.TypeVarTuple.name, DEF_TYPE_PARAM | DEF_LOCAL, LOCATION(tp))) + VISIT_QUIT(st, 0); + break; + case ParamSpec_kind: + if (!symtable_add_def(st, tp->v.ParamSpec.name, DEF_TYPE_PARAM | DEF_LOCAL, LOCATION(tp))) + VISIT_QUIT(st, 0); + break; + } + VISIT_QUIT(st, 1); +} + static int symtable_visit_pattern(struct symtable *st, pattern_ty p) { @@ -1985,8 +2419,7 @@ symtable_visit_alias(struct symtable *st, alias_ty a) return 0; } else { - store_name = name; - Py_INCREF(store_name); + store_name = Py_NewRef(name); } if (!_PyUnicode_EqualToASCIIString(name, "*")) { int r = symtable_add_def(st, store_name, DEF_IMPORT, LOCATION(a)); @@ -2042,6 +2475,18 @@ symtable_handle_comprehension(struct symtable *st, expr_ty e, identifier scope_name, asdl_comprehension_seq *generators, expr_ty elt, expr_ty value) { + if (st->st_cur->ste_can_see_class_scope) { + // gh-109118 + PyErr_Format(PyExc_SyntaxError, + "Cannot use comprehension in annotation scope within class scope"); + PyErr_RangedSyntaxLocationObject(st->st_filename, + e->lineno, + e->col_offset + 1, + e->end_lineno, + e->end_col_offset + 1); + VISIT_QUIT(st, 0); + } + int is_generator = (e->kind == GeneratorExp_kind); comprehension_ty outermost = ((comprehension_ty) asdl_seq_GET(generators, 0)); @@ -2136,11 +2581,18 @@ symtable_visit_dictcomp(struct symtable *st, expr_ty e) static int symtable_raise_if_annotation_block(struct symtable *st, const char *name, expr_ty e) { - if (st->st_cur->ste_type != AnnotationBlock) { + enum _block_type type = st->st_cur->ste_type; + if (type == AnnotationBlock) + PyErr_Format(PyExc_SyntaxError, ANNOTATION_NOT_ALLOWED, name); + else if (type == TypeVarBoundBlock) + PyErr_Format(PyExc_SyntaxError, TYPEVAR_BOUND_NOT_ALLOWED, name); + else if (type == TypeAliasBlock) + PyErr_Format(PyExc_SyntaxError, TYPEALIAS_NOT_ALLOWED, name); + else if (type == TypeParamBlock) + PyErr_Format(PyExc_SyntaxError, TYPEPARAM_NOT_ALLOWED, name); + else return 1; - } - PyErr_Format(PyExc_SyntaxError, ANNOTATION_NOT_ALLOWED, name); PyErr_RangedSyntaxLocationObject(st->st_filename, e->lineno, e->col_offset + 1, @@ -2180,14 +2632,78 @@ _Py_SymtableStringObjectFlags(const char *str, PyObject *filename, _PyArena_Free(arena); return NULL; } - PyFutureFeatures *future = _PyFuture_FromAST(mod, filename); - if (future == NULL) { + PyFutureFeatures future; + if (!_PyFuture_FromAST(mod, filename, &future)) { _PyArena_Free(arena); return NULL; } - future->ff_features |= flags->cf_flags; - st = _PySymtable_Build(mod, filename, future); - PyObject_Free((void *)future); + future.ff_features |= flags->cf_flags; + st = _PySymtable_Build(mod, filename, &future); _PyArena_Free(arena); return st; } + +PyObject * +_Py_Mangle(PyObject *privateobj, PyObject *ident) +{ + /* Name mangling: __private becomes _classname__private. + This is independent from how the name is used. */ + if (privateobj == NULL || !PyUnicode_Check(privateobj) || + PyUnicode_READ_CHAR(ident, 0) != '_' || + PyUnicode_READ_CHAR(ident, 1) != '_') { + return Py_NewRef(ident); + } + size_t nlen = PyUnicode_GET_LENGTH(ident); + size_t plen = PyUnicode_GET_LENGTH(privateobj); + /* Don't mangle __id__ or names with dots. + + The only time a name with a dot can occur is when + we are compiling an import statement that has a + package name. + + TODO(jhylton): Decide whether we want to support + mangling of the module name, e.g. __M.X. + */ + if ((PyUnicode_READ_CHAR(ident, nlen-1) == '_' && + PyUnicode_READ_CHAR(ident, nlen-2) == '_') || + PyUnicode_FindChar(ident, '.', 0, nlen, 1) != -1) { + return Py_NewRef(ident); /* Don't mangle __whatever__ */ + } + /* Strip leading underscores from class name */ + size_t ipriv = 0; + while (PyUnicode_READ_CHAR(privateobj, ipriv) == '_') { + ipriv++; + } + if (ipriv == plen) { + return Py_NewRef(ident); /* Don't mangle if class is just underscores */ + } + plen -= ipriv; + + if (plen + nlen >= PY_SSIZE_T_MAX - 1) { + PyErr_SetString(PyExc_OverflowError, + "private identifier too large to be mangled"); + return NULL; + } + + Py_UCS4 maxchar = PyUnicode_MAX_CHAR_VALUE(ident); + if (PyUnicode_MAX_CHAR_VALUE(privateobj) > maxchar) { + maxchar = PyUnicode_MAX_CHAR_VALUE(privateobj); + } + + PyObject *result = PyUnicode_New(1 + nlen + plen, maxchar); + if (!result) { + return NULL; + } + /* ident = "_" + priv[ipriv:] + ident # i.e. 1+plen+nlen bytes */ + PyUnicode_WRITE(PyUnicode_KIND(result), PyUnicode_DATA(result), 0, '_'); + if (PyUnicode_CopyCharacters(result, 1, privateobj, ipriv, plen) < 0) { + Py_DECREF(result); + return NULL; + } + if (PyUnicode_CopyCharacters(result, plen+1, ident, 0, nlen) < 0) { + Py_DECREF(result); + return NULL; + } + assert(_PyUnicode_CheckConsistency(result, 1)); + return result; +} diff --git a/contrib/tools/python3/src/Python/sysmodule.c b/contrib/tools/python3/src/Python/sysmodule.c index fd8819bc46e..3146f2a943c 100644 --- a/contrib/tools/python3/src/Python/sysmodule.c +++ b/contrib/tools/python3/src/Python/sysmodule.c @@ -17,19 +17,18 @@ Data members: #include "Python.h" #include "pycore_call.h" // _PyObject_CallNoArgs() #include "pycore_ceval.h" // _PyEval_SetAsyncGenFinalizer() -#include "pycore_code.h" // _Py_QuickenedCount #include "pycore_frame.h" // _PyInterpreterFrame #include "pycore_initconfig.h" // _PyStatus_EXCEPTION() #include "pycore_long.h" // _PY_LONG_MAX_STR_DIGITS_THRESHOLD #include "pycore_namespace.h" // _PyNamespace_New() #include "pycore_object.h" // _PyObject_IS_GC() #include "pycore_pathconfig.h" // _PyPathConfig_ComputeSysPath0() -#include "pycore_pyerrors.h" // _PyErr_Fetch() +#include "pycore_pyerrors.h" // _PyErr_GetRaisedException() #include "pycore_pylifecycle.h" // _PyErr_WriteUnraisableDefaultHook() #include "pycore_pymath.h" // _PY_SHORT_FLOAT_REPR #include "pycore_pymem.h" // _PyMem_SetDefaultAllocator() #include "pycore_pystate.h" // _PyThreadState_GET() -#include "pycore_structseq.h" // _PyStructSequence_InitType() +#include "pycore_structseq.h" // _PyStructSequence_InitBuiltinWithFlags() #include "pycore_tuple.h" // _PyTuple_FromArray() #include "frameobject.h" // PyFrame_FastToLocalsWithError() @@ -53,6 +52,10 @@ extern const char *PyWin_DLLVersionString; #error #include #endif +#ifdef HAVE_FCNTL_H +#include +#endif + /*[clinic input] module sys [clinic start generated code]*/ @@ -67,12 +70,11 @@ _PySys_GetAttr(PyThreadState *tstate, PyObject *name) if (sd == NULL) { return NULL; } - PyObject *exc_type, *exc_value, *exc_tb; - _PyErr_Fetch(tstate, &exc_type, &exc_value, &exc_tb); + PyObject *exc = _PyErr_GetRaisedException(tstate); /* XXX Suppress a new exception if it was raised and restore * the old one. */ PyObject *value = _PyDict_GetItemWithError(sd, name); - _PyErr_Restore(tstate, exc_type, exc_value, exc_tb); + _PyErr_SetRaisedException(tstate, exc); return value; } @@ -91,12 +93,11 @@ PySys_GetObject(const char *name) { PyThreadState *tstate = _PyThreadState_GET(); - PyObject *exc_type, *exc_value, *exc_tb; - _PyErr_Fetch(tstate, &exc_type, &exc_value, &exc_tb); + PyObject *exc = _PyErr_GetRaisedException(tstate); PyObject *value = _PySys_GetObject(tstate->interp, name); /* XXX Suppress a new exception if it was raised and restore * the old one. */ - _PyErr_Restore(tstate, exc_type, exc_value, exc_tb); + _PyErr_SetRaisedException(tstate, exc); return value; } @@ -144,6 +145,20 @@ PySys_SetObject(const char *name, PyObject *v) return sys_set_object_str(interp, name, v); } +int +_PySys_ClearAttrString(PyInterpreterState *interp, + const char *name, int verbose) +{ + if (verbose) { + PySys_WriteStderr("# clear sys.%s\n", name); + } + /* To play it safe, we set the attr to None instead of deleting it. */ + if (PyDict_SetItemString(interp->sysdict, name, Py_None) < 0) { + return -1; + } + return 0; +} + static int should_audit(PyInterpreterState *interp) @@ -153,7 +168,7 @@ should_audit(PyInterpreterState *interp) if (!interp) { return 0; } - return (interp->runtime->audit_hook_head + return (interp->runtime->audit_hooks.head || interp->audit_hooks || PyDTrace_AUDIT_ENABLED()); } @@ -191,16 +206,15 @@ sys_audit_tstate(PyThreadState *ts, const char *event, int dtrace = PyDTrace_AUDIT_ENABLED(); - PyObject *exc_type, *exc_value, *exc_tb; - _PyErr_Fetch(ts, &exc_type, &exc_value, &exc_tb); + + PyObject *exc = _PyErr_GetRaisedException(ts); /* Initialize event args now */ if (argFormat && argFormat[0]) { eventArgs = _Py_VaBuildValue_SizeT(argFormat, vargs); if (eventArgs && !PyTuple_Check(eventArgs)) { PyObject *argTuple = PyTuple_Pack(1, eventArgs); - Py_DECREF(eventArgs); - eventArgs = argTuple; + Py_SETREF(eventArgs, argTuple); } } else { @@ -210,8 +224,11 @@ sys_audit_tstate(PyThreadState *ts, const char *event, goto exit; } - /* Call global hooks */ - _Py_AuditHookEntry *e = is->runtime->audit_hook_head; + /* Call global hooks + * + * We don't worry about any races on hooks getting added, + * since that would not leave is in an inconsistent state. */ + _Py_AuditHookEntry *e = is->runtime->audit_hooks.head; for (; e; e = e->next) { if (e->hookCFunction(event, eventArgs, e->userData) < 0) { goto exit; @@ -276,13 +293,11 @@ exit: Py_XDECREF(eventArgs); if (!res) { - _PyErr_Restore(ts, exc_type, exc_value, exc_tb); + _PyErr_SetRaisedException(ts, exc); } else { assert(_PyErr_Occurred(ts)); - Py_XDECREF(exc_type); - Py_XDECREF(exc_value); - Py_XDECREF(exc_tb); + Py_XDECREF(exc); } return res; @@ -293,11 +308,7 @@ _PySys_Audit(PyThreadState *tstate, const char *event, const char *argFormat, ...) { va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, argFormat); -#else - va_start(vargs); -#endif int res = sys_audit_tstate(tstate, event, argFormat, vargs); va_end(vargs); return res; @@ -308,11 +319,7 @@ PySys_Audit(const char *event, const char *argFormat, ...) { PyThreadState *tstate = _PyThreadState_GET(); va_list vargs; -#ifdef HAVE_STDARG_PROTOTYPES va_start(vargs, argFormat); -#else - va_start(vargs); -#endif int res = sys_audit_tstate(tstate, event, argFormat, vargs); va_end(vargs); return res; @@ -332,6 +339,7 @@ _PySys_ClearAuditHooks(PyThreadState *ts) } _PyRuntimeState *runtime = ts->interp->runtime; + /* The hooks are global so we have to check for runtime finalization. */ PyThreadState *finalizing = _PyRuntimeState_GetFinalizing(runtime); assert(finalizing == ts); if (finalizing != ts) { @@ -348,8 +356,12 @@ _PySys_ClearAuditHooks(PyThreadState *ts) _PySys_Audit(ts, "cpython._PySys_ClearAuditHooks", NULL); _PyErr_Clear(ts); - _Py_AuditHookEntry *e = runtime->audit_hook_head, *n; - runtime->audit_hook_head = NULL; + /* We don't worry about the very unlikely race right here, + * since it's entirely benign. Nothing else removes entries + * from the list and adding an entry right now would not cause + * any trouble. */ + _Py_AuditHookEntry *e = runtime->audit_hooks.head, *n; + runtime->audit_hooks.head = NULL; while (e) { n = e->next; PyMem_RawFree(e); @@ -357,6 +369,22 @@ _PySys_ClearAuditHooks(PyThreadState *ts) } } +static void +add_audit_hook_entry_unlocked(_PyRuntimeState *runtime, + _Py_AuditHookEntry *entry) +{ + if (runtime->audit_hooks.head == NULL) { + runtime->audit_hooks.head = entry; + } + else { + _Py_AuditHookEntry *last = runtime->audit_hooks.head; + while (last->next) { + last = last->next; + } + last->next = entry; + } +} + int PySys_AddAuditHook(Py_AuditHookFunction hook, void *userData) { @@ -365,7 +393,7 @@ PySys_AddAuditHook(Py_AuditHookFunction hook, void *userData) _PyRuntimeState *runtime = &_PyRuntime; PyThreadState *tstate; if (runtime->initialized) { - tstate = _PyRuntimeState_GetThreadState(runtime); + tstate = _PyThreadState_GET(); } else { tstate = NULL; @@ -384,29 +412,28 @@ PySys_AddAuditHook(Py_AuditHookFunction hook, void *userData) } } - _Py_AuditHookEntry *e = runtime->audit_hook_head; - if (!e) { - e = (_Py_AuditHookEntry*)PyMem_RawMalloc(sizeof(_Py_AuditHookEntry)); - runtime->audit_hook_head = e; - } else { - while (e->next) { - e = e->next; - } - e = e->next = (_Py_AuditHookEntry*)PyMem_RawMalloc( + _Py_AuditHookEntry *e = (_Py_AuditHookEntry*)PyMem_RawMalloc( sizeof(_Py_AuditHookEntry)); - } - if (!e) { if (tstate != NULL) { _PyErr_NoMemory(tstate); } return -1; } - e->next = NULL; e->hookCFunction = (Py_AuditHookFunction)hook; e->userData = userData; + if (runtime->audit_hooks.mutex == NULL) { + /* The runtime must not be initailized yet. */ + add_audit_hook_entry_unlocked(runtime, e); + } + else { + PyThread_acquire_lock(runtime->audit_hooks.mutex, WAIT_LOCK); + add_audit_hook_entry_unlocked(runtime, e); + PyThread_release_lock(runtime->audit_hooks.mutex); + } + return 0; } @@ -742,7 +769,7 @@ sys_excepthook_impl(PyObject *module, PyObject *exctype, PyObject *value, PyObject *traceback) /*[clinic end generated code: output=18d99fdda21b6b5e input=ecf606fa826f19d9]*/ { - PyErr_Display(exctype, value, traceback); + PyErr_Display(NULL, value, traceback); Py_RETURN_NONE; } @@ -849,8 +876,7 @@ sys_getdefaultencoding_impl(PyObject *module) { _Py_DECLARE_STR(utf_8, "utf-8"); PyObject *ret = &_Py_STR(utf_8); - Py_INCREF(ret); - return ret; + return Py_NewRef(ret); } /*[clinic input] @@ -957,10 +983,6 @@ static int profile_trampoline(PyObject *self, PyFrameObject *frame, int what, PyObject *arg) { - if (arg == NULL) { - arg = Py_None; - } - PyThreadState *tstate = _PyThreadState_GET(); PyObject *result = call_trampoline(tstate, self, frame, what, arg); if (result == NULL) { @@ -1028,6 +1050,36 @@ Set the global debug tracing function. It will be called on each\n\ function call. See the debugger chapter in the library manual." ); +/*[clinic input] +sys._settraceallthreads + + arg: object + / + +Set the global debug tracing function in all running threads belonging to the current interpreter. + +It will be called on each function call. See the debugger chapter +in the library manual. +[clinic start generated code]*/ + +static PyObject * +sys__settraceallthreads(PyObject *module, PyObject *arg) +/*[clinic end generated code: output=161cca30207bf3ca input=5906aa1485a50289]*/ +{ + PyObject* argument = NULL; + Py_tracefunc func = NULL; + + if (arg != Py_None) { + func = trace_trampoline; + argument = arg; + } + + + PyEval_SetTraceAllThreads(func, argument); + + Py_RETURN_NONE; +} + /*[clinic input] sys.gettrace @@ -1045,8 +1097,7 @@ sys_gettrace_impl(PyObject *module) if (temp == NULL) temp = Py_None; - Py_INCREF(temp); - return temp; + return Py_NewRef(temp); } static PyObject * @@ -1073,6 +1124,35 @@ Set the profiling function. It will be called on each function call\n\ and return. See the profiler chapter in the library manual." ); +/*[clinic input] +sys._setprofileallthreads + + arg: object + / + +Set the profiling function in all running threads belonging to the current interpreter. + +It will be called on each function call and return. See the profiler chapter +in the library manual. +[clinic start generated code]*/ + +static PyObject * +sys__setprofileallthreads(PyObject *module, PyObject *arg) +/*[clinic end generated code: output=2d61319e27b309fe input=d1a356d3f4f9060a]*/ +{ + PyObject* argument = NULL; + Py_tracefunc func = NULL; + + if (arg != Py_None) { + func = profile_trampoline; + argument = arg; + } + + PyEval_SetProfileAllThreads(func, argument); + + Py_RETURN_NONE; +} + /*[clinic input] sys.getprofile @@ -1090,8 +1170,7 @@ sys_getprofile_impl(PyObject *module) if (temp == NULL) temp = Py_None; - Py_INCREF(temp); - return temp; + return Py_NewRef(temp); } @@ -1165,7 +1244,7 @@ sys_setrecursionlimit_impl(PyObject *module, int new_limit) /* Reject too low new limit if the current recursion depth is higher than the new low-water mark. */ - int depth = tstate->recursion_limit - tstate->recursion_remaining; + int depth = tstate->py_recursion_limit - tstate->py_recursion_remaining; if (depth >= new_limit) { _PyErr_Format(tstate, PyExc_RecursionError, "cannot set the recursion limit to %i at " @@ -1316,11 +1395,8 @@ sys_get_asyncgen_hooks_impl(PyObject *module) finalizer = Py_None; } - Py_INCREF(firstiter); - PyStructSequence_SET_ITEM(res, 0, firstiter); - - Py_INCREF(finalizer); - PyStructSequence_SET_ITEM(res, 1, finalizer); + PyStructSequence_SET_ITEM(res, 0, Py_NewRef(firstiter)); + PyStructSequence_SET_ITEM(res, 1, Py_NewRef(finalizer)); return res; } @@ -1434,6 +1510,48 @@ static PyStructSequence_Desc windows_version_desc = { via indexing, the rest are name only */ }; +static PyObject * +_sys_getwindowsversion_from_kernel32(void) +{ +#ifndef MS_WINDOWS_DESKTOP + return NULL; +#else + HANDLE hKernel32; + wchar_t kernel32_path[MAX_PATH]; + LPVOID verblock; + DWORD verblock_size; + VS_FIXEDFILEINFO *ffi; + UINT ffi_len; + DWORD realMajor, realMinor, realBuild; + + Py_BEGIN_ALLOW_THREADS + hKernel32 = GetModuleHandleW(L"kernel32.dll"); + Py_END_ALLOW_THREADS + if (!hKernel32 || !GetModuleFileNameW(hKernel32, kernel32_path, MAX_PATH)) { + PyErr_SetFromWindowsErr(0); + return NULL; + } + verblock_size = GetFileVersionInfoSizeW(kernel32_path, NULL); + if (!verblock_size) { + PyErr_SetFromWindowsErr(0); + return NULL; + } + verblock = PyMem_RawMalloc(verblock_size); + if (!verblock || + !GetFileVersionInfoW(kernel32_path, 0, verblock_size, verblock) || + !VerQueryValueW(verblock, L"", (LPVOID)&ffi, &ffi_len)) { + PyErr_SetFromWindowsErr(0); + return NULL; + } + + realMajor = HIWORD(ffi->dwProductVersionMS); + realMinor = LOWORD(ffi->dwProductVersionMS); + realBuild = HIWORD(ffi->dwProductVersionLS); + PyMem_RawFree(verblock); + return Py_BuildValue("(kkk)", realMajor, realMinor, realBuild); +#endif /* !MS_WINDOWS_DESKTOP */ +} + /* Disable deprecation warnings about GetVersionEx as the result is being passed straight through to the caller, who is responsible for using it correctly. */ @@ -1463,11 +1581,13 @@ sys_getwindowsversion_impl(PyObject *module) PyObject *version; int pos = 0; OSVERSIONINFOEXW ver; - DWORD realMajor, realMinor, realBuild; - HANDLE hKernel32; - wchar_t kernel32_path[MAX_PATH]; - LPVOID verblock; - DWORD verblock_size; + + version = PyObject_GetAttrString(module, "_cached_windows_version"); + if (version && PyObject_TypeCheck(version, &WindowsVersionType)) { + return version; + } + Py_XDECREF(version); + PyErr_Clear(); ver.dwOSVersionInfoSize = sizeof(ver); if (!GetVersionExW((OSVERSIONINFOW*) &ver)) @@ -1487,41 +1607,34 @@ sys_getwindowsversion_impl(PyObject *module) PyStructSequence_SET_ITEM(version, pos++, PyLong_FromLong(ver.wSuiteMask)); PyStructSequence_SET_ITEM(version, pos++, PyLong_FromLong(ver.wProductType)); - realMajor = ver.dwMajorVersion; - realMinor = ver.dwMinorVersion; - realBuild = ver.dwBuildNumber; - // GetVersion will lie if we are running in a compatibility mode. // We need to read the version info from a system file resource // to accurately identify the OS version. If we fail for any reason, // just return whatever GetVersion said. - Py_BEGIN_ALLOW_THREADS - hKernel32 = GetModuleHandleW(L"kernel32.dll"); - Py_END_ALLOW_THREADS - if (hKernel32 && GetModuleFileNameW(hKernel32, kernel32_path, MAX_PATH) && - (verblock_size = GetFileVersionInfoSizeExW(0, kernel32_path, NULL)) && - (verblock = PyMem_RawMalloc(verblock_size))) { - VS_FIXEDFILEINFO *ffi; - UINT ffi_len; - - if (GetFileVersionInfoExW(0, kernel32_path, 0, verblock_size, verblock) && - VerQueryValueW(verblock, L"", (LPVOID)&ffi, &ffi_len)) { - realMajor = HIWORD(ffi->dwProductVersionMS); - realMinor = LOWORD(ffi->dwProductVersionMS); - realBuild = HIWORD(ffi->dwProductVersionLS); - } - PyMem_RawFree(verblock); + PyObject *realVersion = _sys_getwindowsversion_from_kernel32(); + if (!realVersion) { + PyErr_Clear(); + realVersion = Py_BuildValue("(kkk)", + ver.dwMajorVersion, + ver.dwMinorVersion, + ver.dwBuildNumber + ); + } + + if (realVersion) { + PyStructSequence_SET_ITEM(version, pos++, realVersion); } - PyStructSequence_SET_ITEM(version, pos++, Py_BuildValue("(kkk)", - realMajor, - realMinor, - realBuild - )); if (PyErr_Occurred()) { Py_DECREF(version); return NULL; } + + if (PyObject_SetAttrString(module, "_cached_windows_version", version) < 0) { + Py_DECREF(version); + return NULL; + } + return version; } @@ -1575,7 +1688,7 @@ sys_setdlopenflags_impl(PyObject *module, int new_val) /*[clinic end generated code: output=ec918b7fe0a37281 input=4c838211e857a77f]*/ { PyInterpreterState *interp = _PyInterpreterState_GET(); - interp->dlopenflags = new_val; + _PyImport_SetDLOpenFlags(interp, new_val); Py_RETURN_NONE; } @@ -1593,7 +1706,8 @@ sys_getdlopenflags_impl(PyObject *module) /*[clinic end generated code: output=e92cd1bc5005da6e input=dc4ea0899c53b4b6]*/ { PyInterpreterState *interp = _PyInterpreterState_GET(); - return PyLong_FromLong(interp->dlopenflags); + return PyLong_FromLong( + _PyImport_GetDLOpenFlags(interp)); } #endif /* HAVE_DLOPEN */ @@ -1631,7 +1745,7 @@ sys_get_int_max_str_digits_impl(PyObject *module) /*[clinic end generated code: output=0042f5e8ae0e8631 input=61bf9f99bc8b112d]*/ { PyInterpreterState *interp = _PyInterpreterState_GET(); - return PyLong_FromSsize_t(interp->int_max_str_digits); + return PyLong_FromLong(interp->long_state.max_str_digits); } /*[clinic input] @@ -1648,7 +1762,7 @@ sys_set_int_max_str_digits_impl(PyObject *module, int maxdigits) { PyThreadState *tstate = _PyThreadState_GET(); if ((!maxdigits) || (maxdigits >= _PY_LONG_MAX_STR_DIGITS_THRESHOLD)) { - tstate->interp->int_max_str_digits = maxdigits; + tstate->interp->long_state.max_str_digits = maxdigits; Py_RETURN_NONE; } else { PyErr_Format( @@ -1720,8 +1834,7 @@ sys_getsizeof(PyObject *self, PyObject *args, PyObject *kwds) /* Has a default value been given */ if (dflt != NULL && _PyErr_ExceptionMatches(tstate, PyExc_TypeError)) { _PyErr_Clear(tstate); - Py_INCREF(dflt); - return dflt; + return Py_NewRef(dflt); } else return NULL; @@ -1764,36 +1877,41 @@ static Py_ssize_t sys_gettotalrefcount_impl(PyObject *module) /*[clinic end generated code: output=4103886cf17c25bc input=53b744faa5d2e4f6]*/ { - return _Py_GetRefTotal(); + /* It may make sense to return the total for the current interpreter + or have a second function that does so. */ + return _Py_GetGlobalRefTotal(); } #endif /* Py_REF_DEBUG */ /*[clinic input] -sys._getquickenedcount -> Py_ssize_t +sys.getallocatedblocks -> Py_ssize_t + +Return the number of memory blocks currently allocated. [clinic start generated code]*/ static Py_ssize_t -sys__getquickenedcount_impl(PyObject *module) -/*[clinic end generated code: output=1ab259e7f91248a2 input=249d448159eca912]*/ +sys_getallocatedblocks_impl(PyObject *module) +/*[clinic end generated code: output=f0c4e873f0b6dcf7 input=dab13ee346a0673e]*/ { - return _Py_QuickenedCount; + // It might make sense to return the count + // for just the current interpreter. + return _Py_GetGlobalAllocatedBlocks(); } /*[clinic input] -sys.getallocatedblocks -> Py_ssize_t +sys.getunicodeinternedsize -> Py_ssize_t -Return the number of memory blocks currently allocated. +Return the number of elements of the unicode interned dictionary [clinic start generated code]*/ static Py_ssize_t -sys_getallocatedblocks_impl(PyObject *module) -/*[clinic end generated code: output=f0c4e873f0b6dcf7 input=dab13ee346a0673e]*/ +sys_getunicodeinternedsize_impl(PyObject *module) +/*[clinic end generated code: output=ad0e4c9738ed4129 input=726298eaa063347a]*/ { - return _Py_GetAllocatedBlocks(); + return _PyUnicode_InternedSize(); } - /*[clinic input] sys._getframe @@ -1820,13 +1938,10 @@ sys__getframe_impl(PyObject *module, int depth) if (frame != NULL) { while (depth > 0) { - frame = frame->previous; + frame = _PyFrame_GetFirstComplete(frame->previous); if (frame == NULL) { break; } - if (_PyFrame_IsIncomplete(frame)) { - continue; - } --depth; } } @@ -1928,11 +2043,6 @@ sys__debugmallocstats_impl(PyObject *module) extern PyObject *_Py_GetObjects(PyObject *, PyObject *); #endif -#ifdef Py_STATS -/* Defined in ceval.c because it uses static globals in that file */ -extern PyObject *_Py_GetDXProfile(PyObject *, PyObject *); -#endif - #ifdef __cplusplus } #endif @@ -1952,6 +2062,9 @@ sys__clear_type_cache_impl(PyObject *module) Py_RETURN_NONE; } +/* Note that, for now, we do not have a per-interpreter equivalent + for sys.is_finalizing(). */ + /*[clinic input] sys.is_finalizing @@ -1965,6 +2078,66 @@ sys_is_finalizing_impl(PyObject *module) return PyBool_FromLong(_Py_IsFinalizing()); } +#ifdef Py_STATS +/*[clinic input] +sys._stats_on + +Turns on stats gathering (stats gathering is on by default). +[clinic start generated code]*/ + +static PyObject * +sys__stats_on_impl(PyObject *module) +/*[clinic end generated code: output=aca53eafcbb4d9fe input=8ddc6df94e484f3a]*/ +{ + _py_stats = &_py_stats_struct; + Py_RETURN_NONE; +} + +/*[clinic input] +sys._stats_off + +Turns off stats gathering (stats gathering is on by default). +[clinic start generated code]*/ + +static PyObject * +sys__stats_off_impl(PyObject *module) +/*[clinic end generated code: output=1534c1ee63812214 input=b3e50e71ecf29f66]*/ +{ + _py_stats = NULL; + Py_RETURN_NONE; +} + +/*[clinic input] +sys._stats_clear + +Clears the stats. +[clinic start generated code]*/ + +static PyObject * +sys__stats_clear_impl(PyObject *module) +/*[clinic end generated code: output=fb65a2525ee50604 input=3e03f2654f44da96]*/ +{ + _Py_StatsClear(); + Py_RETURN_NONE; +} + +/*[clinic input] +sys._stats_dump + +Dump stats to file, and clears the stats. +[clinic start generated code]*/ + +static PyObject * +sys__stats_dump_impl(PyObject *module) +/*[clinic end generated code: output=79f796fb2b4ddf05 input=92346f16d64f6f95]*/ +{ + _Py_PrintSpecializationStats(1); + _Py_StatsClear(); + Py_RETURN_NONE; +} + +#endif + #ifdef ANDROID_API_LEVEL /*[clinic input] sys.getandroidapilevel @@ -1980,6 +2153,196 @@ sys_getandroidapilevel_impl(PyObject *module) } #endif /* ANDROID_API_LEVEL */ +/*[clinic input] +sys.activate_stack_trampoline + + backend: str + / + +Activate stack profiler trampoline *backend*. +[clinic start generated code]*/ + +static PyObject * +sys_activate_stack_trampoline_impl(PyObject *module, const char *backend) +/*[clinic end generated code: output=5783cdeb51874b43 input=a12df928758a82b4]*/ +{ +#ifdef PY_HAVE_PERF_TRAMPOLINE + if (strcmp(backend, "perf") == 0) { + _PyPerf_Callbacks cur_cb; + _PyPerfTrampoline_GetCallbacks(&cur_cb); + if (cur_cb.write_state != _Py_perfmap_callbacks.write_state) { + if (_PyPerfTrampoline_SetCallbacks(&_Py_perfmap_callbacks) < 0 ) { + PyErr_SetString(PyExc_ValueError, "can't activate perf trampoline"); + return NULL; + } + } + } + else { + PyErr_Format(PyExc_ValueError, "invalid backend: %s", backend); + return NULL; + } + if (_PyPerfTrampoline_Init(1) < 0) { + return NULL; + } + Py_RETURN_NONE; +#else + PyErr_SetString(PyExc_ValueError, "perf trampoline not available"); + return NULL; +#endif +} + + +/*[clinic input] +sys.deactivate_stack_trampoline + +Deactivate the current stack profiler trampoline backend. + +If no stack profiler is activated, this function has no effect. +[clinic start generated code]*/ + +static PyObject * +sys_deactivate_stack_trampoline_impl(PyObject *module) +/*[clinic end generated code: output=b50da25465df0ef1 input=9f629a6be9fe7fc8]*/ +{ + if (_PyPerfTrampoline_Init(0) < 0) { + return NULL; + } + Py_RETURN_NONE; +} + +/*[clinic input] +sys.is_stack_trampoline_active + +Return *True* if a stack profiler trampoline is active. +[clinic start generated code]*/ + +static PyObject * +sys_is_stack_trampoline_active_impl(PyObject *module) +/*[clinic end generated code: output=ab2746de0ad9d293 input=29616b7bf6a0b703]*/ +{ +#ifdef PY_HAVE_PERF_TRAMPOLINE + if (_PyIsPerfTrampolineActive()) { + Py_RETURN_TRUE; + } +#endif + Py_RETURN_FALSE; +} + + +/*[clinic input] +sys._getframemodulename + + depth: int = 0 + +Return the name of the module for a calling frame. + +The default depth returns the module containing the call to this API. +A more typical use in a library will pass a depth of 1 to get the user's +module rather than the library module. + +If no frame, module, or name can be found, returns None. +[clinic start generated code]*/ + +static PyObject * +sys__getframemodulename_impl(PyObject *module, int depth) +/*[clinic end generated code: output=1d70ef691f09d2db input=d4f1a8ed43b8fb46]*/ +{ + if (PySys_Audit("sys._getframemodulename", "i", depth) < 0) { + return NULL; + } + _PyInterpreterFrame *f = _PyThreadState_GET()->cframe->current_frame; + while (f && (_PyFrame_IsIncomplete(f) || depth-- > 0)) { + f = f->previous; + } + if (f == NULL || f->f_funcobj == NULL) { + Py_RETURN_NONE; + } + PyObject *r = PyFunction_GetModule(f->f_funcobj); + if (!r) { + PyErr_Clear(); + r = Py_None; + } + return Py_NewRef(r); +} + + +#ifdef __cplusplus +extern "C" { +#endif + +static PerfMapState perf_map_state; + +PyAPI_FUNC(int) PyUnstable_PerfMapState_Init(void) { +#ifndef MS_WINDOWS + char filename[100]; + pid_t pid = getpid(); + // Use nofollow flag to prevent symlink attacks. + int flags = O_WRONLY | O_CREAT | O_APPEND | O_NOFOLLOW; +#ifdef O_CLOEXEC + flags |= O_CLOEXEC; +#endif + snprintf(filename, sizeof(filename) - 1, "/tmp/perf-%jd.map", + (intmax_t)pid); + int fd = open(filename, flags, 0600); + if (fd == -1) { + return -1; + } + else{ + perf_map_state.perf_map = fdopen(fd, "a"); + if (perf_map_state.perf_map == NULL) { + close(fd); + return -1; + } + } + perf_map_state.map_lock = PyThread_allocate_lock(); + if (perf_map_state.map_lock == NULL) { + fclose(perf_map_state.perf_map); + return -2; + } +#endif + return 0; +} + +PyAPI_FUNC(int) PyUnstable_WritePerfMapEntry( + const void *code_addr, + unsigned int code_size, + const char *entry_name +) { +#ifndef MS_WINDOWS + if (perf_map_state.perf_map == NULL) { + int ret = PyUnstable_PerfMapState_Init(); + if(ret != 0){ + return ret; + } + } + PyThread_acquire_lock(perf_map_state.map_lock, 1); + fprintf(perf_map_state.perf_map, "%" PRIxPTR " %x %s\n", (uintptr_t) code_addr, code_size, entry_name); + fflush(perf_map_state.perf_map); + PyThread_release_lock(perf_map_state.map_lock); +#endif + return 0; +} + +PyAPI_FUNC(void) PyUnstable_PerfMapState_Fini(void) { +#ifndef MS_WINDOWS + if (perf_map_state.perf_map != NULL) { + // close the file + PyThread_acquire_lock(perf_map_state.map_lock, 1); + fclose(perf_map_state.perf_map); + PyThread_release_lock(perf_map_state.map_lock); + + // clean up the lock and state + PyThread_free_lock(perf_map_state.map_lock); + perf_map_state.perf_map = NULL; + } +#endif +} + +#ifdef __cplusplus +} +#endif + + static PyMethodDef sys_methods[] = { /* Might as well keep this in alphabetic order */ SYS_ADDAUDITHOOK_METHODDEF @@ -1997,12 +2360,9 @@ static PyMethodDef sys_methods[] = { SYS_GETDEFAULTENCODING_METHODDEF SYS_GETDLOPENFLAGS_METHODDEF SYS_GETALLOCATEDBLOCKS_METHODDEF -#ifdef Py_STATS - {"getdxp", _Py_GetDXProfile, METH_VARARGS}, -#endif + SYS_GETUNICODEINTERNEDSIZE_METHODDEF SYS_GETFILESYSTEMENCODING_METHODDEF SYS_GETFILESYSTEMENCODEERRORS_METHODDEF - SYS__GETQUICKENEDCOUNT_METHODDEF #ifdef Py_TRACE_REFS {"getobjects", _Py_GetObjects, METH_VARARGS}, #endif @@ -2012,6 +2372,7 @@ static PyMethodDef sys_methods[] = { {"getsizeof", _PyCFunction_CAST(sys_getsizeof), METH_VARARGS | METH_KEYWORDS, getsizeof_doc}, SYS__GETFRAME_METHODDEF + SYS__GETFRAMEMODULENAME_METHODDEF SYS_GETWINDOWSVERSION_METHODDEF SYS__ENABLELEGACYWINDOWSFSENCODING_METHODDEF SYS_INTERN_METHODDEF @@ -2021,9 +2382,11 @@ static PyMethodDef sys_methods[] = { SYS_GETSWITCHINTERVAL_METHODDEF SYS_SETDLOPENFLAGS_METHODDEF {"setprofile", sys_setprofile, METH_O, setprofile_doc}, + SYS__SETPROFILEALLTHREADS_METHODDEF SYS_GETPROFILE_METHODDEF SYS_SETRECURSIONLIMIT_METHODDEF {"settrace", sys_settrace, METH_O, settrace_doc}, + SYS__SETTRACEALLTHREADS_METHODDEF SYS_GETTRACE_METHODDEF SYS_CALL_TRACING_METHODDEF SYS__DEBUGMALLOCSTATS_METHODDEF @@ -2033,9 +2396,18 @@ static PyMethodDef sys_methods[] = { METH_VARARGS | METH_KEYWORDS, set_asyncgen_hooks_doc}, SYS_GET_ASYNCGEN_HOOKS_METHODDEF SYS_GETANDROIDAPILEVEL_METHODDEF + SYS_ACTIVATE_STACK_TRAMPOLINE_METHODDEF + SYS_DEACTIVATE_STACK_TRAMPOLINE_METHODDEF + SYS_IS_STACK_TRAMPOLINE_ACTIVE_METHODDEF SYS_UNRAISABLEHOOK_METHODDEF SYS_GET_INT_MAX_STR_DIGITS_METHODDEF SYS_SET_INT_MAX_STR_DIGITS_METHODDEF +#ifdef Py_STATS + SYS__STATS_ON_METHODDEF + SYS__STATS_OFF_METHODDEF + SYS__STATS_CLEAR_METHODDEF + SYS__STATS_DUMP_METHODDEF +#endif {NULL, NULL} // sentinel }; @@ -2043,21 +2415,10 @@ static PyMethodDef sys_methods[] = { static PyObject * list_builtin_module_names(void) { - PyObject *list = PyList_New(0); + PyObject *list = _PyImport_GetBuiltinModuleNames(); if (list == NULL) { return NULL; } - for (Py_ssize_t i = 0; PyImport_Inittab[i].name != NULL; i++) { - PyObject *name = PyUnicode_FromString(PyImport_Inittab[i].name); - if (name == NULL) { - goto error; - } - if (PyList_Append(list, name) < 0) { - Py_DECREF(name); - goto error; - } - Py_DECREF(name); - } if (PyList_Sort(list) != 0) { goto error; } @@ -2363,8 +2724,7 @@ _PySys_AddXOptionWithError(const wchar_t *s) if (name == NULL) { goto error; } - value = Py_True; - Py_INCREF(value); + value = Py_NewRef(Py_True); } else { name = PyUnicode_FromWideChar(s, name_end - s); @@ -2436,11 +2796,13 @@ stderr -- standard error object; used for error messages\n\ By assigning other file objects (or objects that behave like files)\n\ to these, it is possible to redirect all of the interpreter's I/O.\n\ \n\ +last_exc - the last uncaught exception\n\ + Only available in an interactive session after a\n\ + traceback has been printed.\n\ last_type -- type of last uncaught exception\n\ last_value -- value of last uncaught exception\n\ last_traceback -- traceback of last uncaught exception\n\ - These three are only available in an interactive session after a\n\ - traceback has been printed.\n\ + These three are the (deprecated) legacy representation of last_exc.\n\ " ) /* concatenating string here */ @@ -2585,7 +2947,7 @@ set_flags_from_config(PyInterpreterState *interp, PyObject *flags) SetFlag(preconfig->utf8_mode); SetFlag(config->warn_default_encoding); SetFlagObj(PyBool_FromLong(config->safe_path)); - SetFlag(_Py_global_config_int_max_str_digits); + SetFlag(config->int_max_str_digits); #undef SetFlagObj #undef SetFlag return 0; @@ -2822,8 +3184,7 @@ make_emscripten_info(void) } PyStructSequence_SET_ITEM(emscripten_info, pos++, oua); } else { - Py_INCREF(Py_None); - PyStructSequence_SET_ITEM(emscripten_info, pos++, Py_None); + PyStructSequence_SET_ITEM(emscripten_info, pos++, Py_NewRef(Py_None)); } #define SetBoolItem(flag) \ @@ -2889,6 +3250,7 @@ _PySys_InitCore(PyThreadState *tstate, PyObject *sysdict) { PyObject *version_info; int res; + PyInterpreterState *interp = tstate->interp; /* stdin/stdout/stderr are set in pylifecycle.c */ @@ -2914,10 +3276,10 @@ _PySys_InitCore(PyThreadState *tstate, PyObject *sysdict) SET_SYS("float_info", PyFloat_GetInfo()); SET_SYS("int_info", PyLong_GetInfo()); /* initialize hash_info */ - if (Hash_InfoType.tp_name == NULL) { - if (PyStructSequence_InitType2(&Hash_InfoType, &hash_info_desc) < 0) { - goto type_init_failed; - } + if (_PyStructSequence_InitBuiltin(interp, &Hash_InfoType, + &hash_info_desc) < 0) + { + goto type_init_failed; } SET_SYS("hash_info", get_hash_info(tstate)); SET_SYS("maxunicode", PyLong_FromLong(0x10FFFF)); @@ -2937,14 +3299,16 @@ _PySys_InitCore(PyThreadState *tstate, PyObject *sysdict) SET_SYS_FROM_STRING("abiflags", ABIFLAGS); #endif +#define ENSURE_INFO_TYPE(TYPE, DESC) \ + do { \ + if (_PyStructSequence_InitBuiltinWithFlags( \ + interp, &TYPE, &DESC, Py_TPFLAGS_DISALLOW_INSTANTIATION) < 0) { \ + goto type_init_failed; \ + } \ + } while (0) + /* version_info */ - if (VersionInfoType.tp_name == NULL) { - if (_PyStructSequence_InitType(&VersionInfoType, - &version_info_desc, - Py_TPFLAGS_DISALLOW_INSTANTIATION) < 0) { - goto type_init_failed; - } - } + ENSURE_INFO_TYPE(VersionInfoType, version_info_desc); version_info = make_version_info(tstate); SET_SYS("version_info", version_info); @@ -2952,27 +3316,18 @@ _PySys_InitCore(PyThreadState *tstate, PyObject *sysdict) SET_SYS("implementation", make_impl_info(version_info)); // sys.flags: updated in-place later by _PySys_UpdateConfig() - if (FlagsType.tp_name == 0) { - if (_PyStructSequence_InitType(&FlagsType, &flags_desc, - Py_TPFLAGS_DISALLOW_INSTANTIATION) < 0) { - goto type_init_failed; - } - } + ENSURE_INFO_TYPE(FlagsType, flags_desc); SET_SYS("flags", make_flags(tstate->interp)); #if defined(MS_WINDOWS) /* getwindowsversion */ - if (WindowsVersionType.tp_name == 0) { - if (_PyStructSequence_InitType(&WindowsVersionType, - &windows_version_desc, - Py_TPFLAGS_DISALLOW_INSTANTIATION) < 0) { - goto type_init_failed; - } - } + ENSURE_INFO_TYPE(WindowsVersionType, windows_version_desc); SET_SYS_FROM_STRING("_vpath", VPATH); #endif +#undef ENSURE_INFO_TYPE + /* float repr style: 0.03 (short) vs 0.029999999999999999 (legacy) */ #if _PY_SHORT_FLOAT_REPR == 1 SET_SYS_FROM_STRING("float_repr_style", "short"); @@ -2983,11 +3338,10 @@ _PySys_InitCore(PyThreadState *tstate, PyObject *sysdict) SET_SYS("thread_info", PyThread_GetInfo()); /* initialize asyncgen_hooks */ - if (AsyncGenHooksType.tp_name == NULL) { - if (PyStructSequence_InitType2( - &AsyncGenHooksType, &asyncgen_hooks_desc) < 0) { - goto type_init_failed; - } + if (_PyStructSequence_InitBuiltin(interp, &AsyncGenHooksType, + &asyncgen_hooks_desc) < 0) + { + goto type_init_failed; } #ifdef __EMSCRIPTEN__ @@ -3028,8 +3382,7 @@ sys_add_xoption(PyObject *opts, const wchar_t *s) if (name == NULL) { goto error; } - value = Py_True; - Py_INCREF(value); + value = Py_NewRef(Py_True); } else { name = PyUnicode_FromWideChar(s, name_end - s); @@ -3191,6 +3544,7 @@ error: return _PyStatus_ERR("can't set preliminary stderr"); } +PyObject *_Py_CreateMonitoringObject(void); /* Create sys module without all attributes. _PySys_UpdateConfig() should be called later to add remaining attributes. */ @@ -3201,11 +3555,10 @@ _PySys_Create(PyThreadState *tstate, PyObject **sysmod_p) PyInterpreterState *interp = tstate->interp; - PyObject *modules = PyDict_New(); + PyObject *modules = _PyImport_InitModules(interp); if (modules == NULL) { goto error; } - interp->modules = modules; PyObject *sysmod = _PyModule_CreateInitialized(&sysmodule, PYTHON_API_VERSION); if (sysmod == NULL) { @@ -3216,10 +3569,14 @@ _PySys_Create(PyThreadState *tstate, PyObject **sysmod_p) if (sysdict == NULL) { goto error; } - Py_INCREF(sysdict); - interp->sysdict = sysdict; + interp->sysdict = Py_NewRef(sysdict); + + interp->sysdict_copy = PyDict_Copy(sysdict); + if (interp->sysdict_copy == NULL) { + goto error; + } - if (PyDict_SetItemString(sysdict, "modules", interp->modules) < 0) { + if (PyDict_SetItemString(sysdict, "modules", modules) < 0) { goto error; } @@ -3233,7 +3590,17 @@ _PySys_Create(PyThreadState *tstate, PyObject **sysmod_p) return status; } - if (_PyImport_FixupBuiltin(sysmod, "sys", interp->modules) < 0) { + if (_PyImport_FixupBuiltin(sysmod, "sys", modules) < 0) { + goto error; + } + + PyObject *monitoring = _Py_CreateMonitoringObject(); + if (monitoring == NULL) { + goto error; + } + int err = PyDict_SetItemString(sysdict, "monitoring", monitoring); + Py_DECREF(monitoring); + if (err < 0) { goto error; } @@ -3248,20 +3615,20 @@ error: void -_PySys_Fini(PyInterpreterState *interp) +_PySys_FiniTypes(PyInterpreterState *interp) { - if (_Py_IsMainInterpreter(interp)) { - _PyStructSequence_FiniType(&VersionInfoType); - _PyStructSequence_FiniType(&FlagsType); + _PyStructSequence_FiniBuiltin(interp, &VersionInfoType); + _PyStructSequence_FiniBuiltin(interp, &FlagsType); #if defined(MS_WINDOWS) - _PyStructSequence_FiniType(&WindowsVersionType); + _PyStructSequence_FiniBuiltin(interp, &WindowsVersionType); #endif - _PyStructSequence_FiniType(&Hash_InfoType); - _PyStructSequence_FiniType(&AsyncGenHooksType); + _PyStructSequence_FiniBuiltin(interp, &Hash_InfoType); + _PyStructSequence_FiniBuiltin(interp, &AsyncGenHooksType); #ifdef __EMSCRIPTEN__ + if (_Py_IsMainInterpreter(interp)) { Py_CLEAR(EmscriptenInfoType); -#endif } +#endif } @@ -3450,12 +3817,11 @@ static void sys_write(PyObject *key, FILE *fp, const char *format, va_list va) { PyObject *file; - PyObject *error_type, *error_value, *error_traceback; char buffer[1001]; int written; PyThreadState *tstate = _PyThreadState_GET(); - _PyErr_Fetch(tstate, &error_type, &error_value, &error_traceback); + PyObject *exc = _PyErr_GetRaisedException(tstate); file = _PySys_GetAttr(tstate, key); written = PyOS_vsnprintf(buffer, sizeof(buffer), format, va); if (sys_pyfile_write(buffer, file) != 0) { @@ -3467,7 +3833,7 @@ sys_write(PyObject *key, FILE *fp, const char *format, va_list va) if (sys_pyfile_write(truncated, file) != 0) fputs(truncated, fp); } - _PyErr_Restore(tstate, error_type, error_value, error_traceback); + _PyErr_SetRaisedException(tstate, exc); } void @@ -3494,11 +3860,10 @@ static void sys_format(PyObject *key, FILE *fp, const char *format, va_list va) { PyObject *file, *message; - PyObject *error_type, *error_value, *error_traceback; const char *utf8; PyThreadState *tstate = _PyThreadState_GET(); - _PyErr_Fetch(tstate, &error_type, &error_value, &error_traceback); + PyObject *exc = _PyErr_GetRaisedException(tstate); file = _PySys_GetAttr(tstate, key); message = PyUnicode_FromFormatV(format, va); if (message != NULL) { @@ -3510,7 +3875,7 @@ sys_format(PyObject *key, FILE *fp, const char *format, va_list va) } Py_DECREF(message); } - _PyErr_Restore(tstate, error_type, error_value, error_traceback); + _PyErr_SetRaisedException(tstate, exc); } void diff --git a/contrib/tools/python3/src/Python/thread.c b/contrib/tools/python3/src/Python/thread.c index 940d8b8093a..7fc53f9b613 100644 --- a/contrib/tools/python3/src/Python/thread.c +++ b/contrib/tools/python3/src/Python/thread.c @@ -7,16 +7,8 @@ #include "Python.h" #include "pycore_pystate.h" // _PyInterpreterState_GET() -#include "pycore_structseq.h" // _PyStructSequence_FiniType() - -#ifndef _POSIX_THREADS -/* This means pthreads are not implemented in libc headers, hence the macro - not present in unistd.h. But they still can be implemented as an external - library (e.g. gnu pth in pthread emulation) */ -# ifdef HAVE_PTHREAD_H -# include /* _POSIX_THREADS */ -# endif -#endif +#include "pycore_structseq.h" // _PyStructSequence_FiniBuiltin() +#include "pycore_pythread.h" #ifndef DONT_HAVE_STDIO_H #include @@ -24,79 +16,25 @@ #include -#ifndef _POSIX_THREADS - -/* Check if we're running on HP-UX and _SC_THREADS is defined. If so, then - enough of the Posix threads package is implemented to support python - threads. - - This is valid for HP-UX 11.23 running on an ia64 system. If needed, add - a check of __ia64 to verify that we're running on an ia64 system instead - of a pa-risc system. -*/ -#ifdef __hpux -#ifdef _SC_THREADS -#define _POSIX_THREADS -#endif -#endif - -#endif /* _POSIX_THREADS */ - - -#ifdef Py_DEBUG -static int thread_debug = 0; -# define dprintf(args) (void)((thread_debug & 1) && printf args) -#else -# define dprintf(args) -#endif - -static int initialized; static void PyThread__init_thread(void); /* Forward */ +#define initialized _PyRuntime.threads.initialized + void PyThread_init_thread(void) { -#ifdef Py_DEBUG - const char *p = Py_GETENV("PYTHONTHREADDEBUG"); - - if (p) { - if (*p) - thread_debug = atoi(p); - else - thread_debug = 1; - } -#endif /* Py_DEBUG */ - if (initialized) + if (initialized) { return; + } initialized = 1; - dprintf(("PyThread_init_thread called\n")); PyThread__init_thread(); } -void -_PyThread_debug_deprecation(void) -{ -#ifdef Py_DEBUG - if (thread_debug) { - // Flush previous dprintf() logs - fflush(stdout); - if (PyErr_WarnEx(PyExc_DeprecationWarning, - "The threading debug (PYTHONTHREADDEBUG environment " - "variable) is deprecated and will be removed " - "in Python 3.12", - 0)) - { - _PyErr_WriteUnraisableMsg("at Python startup", NULL); - } - } -#endif -} - #if defined(HAVE_PTHREAD_STUBS) # define PYTHREAD_NAME "pthread-stubs" # include "thread_pthread_stubs.h" -#elif defined(_POSIX_THREADS) +#elif defined(_USE_PTHREADS) /* AKA _PTHREADS */ # if defined(__EMSCRIPTEN__) && !defined(__EMSCRIPTEN_PTHREADS__) # define PYTHREAD_NAME "pthread-stubs" # else @@ -199,9 +137,9 @@ PyThread_GetInfo(void) int len; #endif - if (ThreadInfoType.tp_name == 0) { - if (PyStructSequence_InitType2(&ThreadInfoType, &threadinfo_desc) < 0) - return NULL; + PyInterpreterState *interp = _PyInterpreterState_GET(); + if (_PyStructSequence_InitBuiltin(interp, &ThreadInfoType, &threadinfo_desc) < 0) { + return NULL; } threadinfo = PyStructSequence_New(&ThreadInfoType); @@ -244,8 +182,7 @@ PyThread_GetInfo(void) if (value == NULL) #endif { - Py_INCREF(Py_None); - value = Py_None; + value = Py_NewRef(Py_None); } PyStructSequence_SET_ITEM(threadinfo, pos++, value); return threadinfo; @@ -255,9 +192,5 @@ PyThread_GetInfo(void) void _PyThread_FiniType(PyInterpreterState *interp) { - if (!_Py_IsMainInterpreter(interp)) { - return; - } - - _PyStructSequence_FiniType(&ThreadInfoType); + _PyStructSequence_FiniBuiltin(interp, &ThreadInfoType); } diff --git a/contrib/tools/python3/src/Python/thread_nt.h b/contrib/tools/python3/src/Python/thread_nt.h index 084bd587314..26f441bd6d3 100644 --- a/contrib/tools/python3/src/Python/thread_nt.h +++ b/contrib/tools/python3/src/Python/thread_nt.h @@ -152,11 +152,12 @@ unsigned long PyThread_get_thread_native_id(void); #endif /* - * Initialization of the C package, should not be needed. + * Initialization for the current runtime. */ static void PyThread__init_thread(void) { + // Initialization of the C package should not be needed. } /* @@ -188,8 +189,6 @@ PyThread_start_new_thread(void (*func)(void *), void *arg) unsigned threadID; callobj *obj; - dprintf(("%lu: PyThread_start_new_thread called\n", - PyThread_get_thread_ident())); if (!initialized) PyThread_init_thread(); @@ -209,14 +208,10 @@ PyThread_start_new_thread(void (*func)(void *), void *arg) * too many threads". */ int e = errno; - dprintf(("%lu: PyThread_start_new_thread failed, errno %d\n", - PyThread_get_thread_ident(), e)); threadID = (unsigned)-1; HeapFree(GetProcessHeap(), 0, obj); } else { - dprintf(("%lu: PyThread_start_new_thread succeeded: %p\n", - PyThread_get_thread_ident(), (void*)hThread)); CloseHandle(hThread); } return threadID; @@ -257,7 +252,6 @@ PyThread_get_thread_native_id(void) void _Py_NO_RETURN PyThread_exit_thread(void) { - dprintf(("%lu: PyThread_exit_thread called\n", PyThread_get_thread_ident())); if (!initialized) exit(0); _endthreadex(0); @@ -271,24 +265,22 @@ PyThread_exit_thread(void) PyThread_type_lock PyThread_allocate_lock(void) { - PNRMUTEX aLock; + PNRMUTEX mutex; - dprintf(("PyThread_allocate_lock called\n")); if (!initialized) PyThread_init_thread(); - aLock = AllocNonRecursiveMutex() ; + mutex = AllocNonRecursiveMutex() ; - dprintf(("%lu: PyThread_allocate_lock() -> %p\n", PyThread_get_thread_ident(), aLock)); + PyThread_type_lock aLock = (PyThread_type_lock) mutex; + assert(aLock); - return (PyThread_type_lock) aLock; + return aLock; } void PyThread_free_lock(PyThread_type_lock aLock) { - dprintf(("%lu: PyThread_free_lock(%p) called\n", PyThread_get_thread_ident(),aLock)); - FreeNonRecursiveMutex(aLock) ; } @@ -307,6 +299,8 @@ PyLockStatus PyThread_acquire_lock_timed(PyThread_type_lock aLock, PY_TIMEOUT_T microseconds, int intr_flag) { + assert(aLock); + /* Fow now, intr_flag does nothing on Windows, and lock acquires are * uninterruptible. */ PyLockStatus success; @@ -333,20 +327,14 @@ PyThread_acquire_lock_timed(PyThread_type_lock aLock, milliseconds = INFINITE; } - dprintf(("%lu: PyThread_acquire_lock_timed(%p, %lld) called\n", - PyThread_get_thread_ident(), aLock, microseconds)); - - if (aLock && EnterNonRecursiveMutex((PNRMUTEX)aLock, - (DWORD)milliseconds) == WAIT_OBJECT_0) { + if (EnterNonRecursiveMutex((PNRMUTEX)aLock, + (DWORD)milliseconds) == WAIT_OBJECT_0) { success = PY_LOCK_ACQUIRED; } else { success = PY_LOCK_FAILURE; } - dprintf(("%lu: PyThread_acquire_lock(%p, %lld) -> %d\n", - PyThread_get_thread_ident(), aLock, microseconds, success)); - return success; } int @@ -358,10 +346,8 @@ PyThread_acquire_lock(PyThread_type_lock aLock, int waitflag) void PyThread_release_lock(PyThread_type_lock aLock) { - dprintf(("%lu: PyThread_release_lock(%p) called\n", PyThread_get_thread_ident(),aLock)); - - if (!(aLock && LeaveNonRecursiveMutex((PNRMUTEX) aLock))) - dprintf(("%lu: Could not PyThread_release_lock(%p) error: %ld\n", PyThread_get_thread_ident(), aLock, GetLastError())); + assert(aLock); + (void)LeaveNonRecursiveMutex((PNRMUTEX) aLock); } /* minimum/maximum thread stack sizes supported */ diff --git a/contrib/tools/python3/src/Python/thread_pthread.h b/contrib/tools/python3/src/Python/thread_pthread.h index ddc28c48c02..e5535a945e4 100644 --- a/contrib/tools/python3/src/Python/thread_pthread.h +++ b/contrib/tools/python3/src/Python/thread_pthread.h @@ -25,6 +25,8 @@ # include /* thread_self() */ #elif defined(__NetBSD__) # include /* _lwp_self() */ +#elif defined(__DragonFly__) +# error #include /* lwp_gettid() */ #endif /* The POSIX spec requires that use of pthread_attr_setstacksize @@ -113,41 +115,25 @@ #endif -#define MICROSECONDS_TO_TIMESPEC(microseconds, ts) \ -do { \ - struct timeval tv; \ - gettimeofday(&tv, NULL); \ - tv.tv_usec += microseconds % 1000000; \ - tv.tv_sec += microseconds / 1000000; \ - tv.tv_sec += tv.tv_usec / 1000000; \ - tv.tv_usec %= 1000000; \ - ts.tv_sec = tv.tv_sec; \ - ts.tv_nsec = tv.tv_usec * 1000; \ -} while(0) - - /* * pthread_cond support */ -#if defined(HAVE_PTHREAD_CONDATTR_SETCLOCK) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC) -// monotonic is supported statically. It doesn't mean it works on runtime. -#define CONDATTR_MONOTONIC -#endif - -// NULL when pthread_condattr_setclock(CLOCK_MONOTONIC) is not supported. -static pthread_condattr_t *condattr_monotonic = NULL; +#define condattr_monotonic _PyRuntime.threads._condattr_monotonic.ptr static void init_condattr(void) { #ifdef CONDATTR_MONOTONIC - static pthread_condattr_t ca; +# define ca _PyRuntime.threads._condattr_monotonic.val + // XXX We need to check the return code? pthread_condattr_init(&ca); + // XXX We need to run pthread_condattr_destroy() during runtime fini. if (pthread_condattr_setclock(&ca, CLOCK_MONOTONIC) == 0) { condattr_monotonic = &ca; // Use monotonic clock } -#endif +# undef ca +#endif // CONDATTR_MONOTONIC } int @@ -156,23 +142,23 @@ _PyThread_cond_init(PyCOND_T *cond) return pthread_cond_init(cond, condattr_monotonic); } + void _PyThread_cond_after(long long us, struct timespec *abs) { + _PyTime_t timeout = _PyTime_FromMicrosecondsClamp(us); + _PyTime_t t; #ifdef CONDATTR_MONOTONIC if (condattr_monotonic) { - clock_gettime(CLOCK_MONOTONIC, abs); - abs->tv_sec += us / 1000000; - abs->tv_nsec += (us % 1000000) * 1000; - abs->tv_sec += abs->tv_nsec / 1000000000; - abs->tv_nsec %= 1000000000; - return; + t = _PyTime_GetMonotonicClock(); } + else #endif - - struct timespec ts; - MICROSECONDS_TO_TIMESPEC(us, ts); - *abs = ts; + { + t = _PyTime_GetSystemClock(); + } + t = _PyTime_Add(t, timeout); + _PyTime_AsTimespec_clamp(t, abs); } @@ -203,15 +189,21 @@ typedef struct { "%s: %s\n", name, strerror(status)); error = 1; } /* - * Initialization. + * Initialization for the current runtime. */ static void PyThread__init_thread(void) { + // The library is only initialized once in the process, + // regardless of how many times the Python runtime is initialized. + static int lib_initialized = 0; + if (!lib_initialized) { + lib_initialized = 1; #if defined(_AIX) && defined(__GNUC__) - extern void pthread_init(void); - pthread_init(); + extern void pthread_init(void); + pthread_init(); #endif + } init_condattr(); } @@ -254,7 +246,6 @@ PyThread_start_new_thread(void (*func)(void *), void *arg) size_t tss; #endif - dprintf(("PyThread_start_new_thread called\n")); if (!initialized) PyThread_init_thread(); @@ -352,6 +343,9 @@ PyThread_get_thread_native_id(void) #elif defined(__NetBSD__) lwpid_t native_id; native_id = _lwp_self(); +#elif defined(__DragonFly__) + lwpid_t native_id; + native_id = lwp_gettid(); #endif return (unsigned long) native_id; } @@ -360,10 +354,17 @@ PyThread_get_thread_native_id(void) void _Py_NO_RETURN PyThread_exit_thread(void) { - dprintf(("PyThread_exit_thread called\n")); if (!initialized) exit(0); +#if defined(__wasi__) + /* + * wasi-threads doesn't have pthread_exit right now + * cf. https://github.com/WebAssembly/wasi-threads/issues/7 + */ + abort(); +#else pthread_exit(0); +#endif } #ifdef USE_SEMAPHORES @@ -378,7 +379,6 @@ PyThread_allocate_lock(void) sem_t *lock; int status, error = 0; - dprintf(("PyThread_allocate_lock called\n")); if (!initialized) PyThread_init_thread(); @@ -394,7 +394,6 @@ PyThread_allocate_lock(void) } } - dprintf(("PyThread_allocate_lock() -> %p\n", (void *)lock)); return (PyThread_type_lock)lock; } @@ -405,7 +404,6 @@ PyThread_free_lock(PyThread_type_lock lock) int status, error = 0; (void) error; /* silence unused-but-set-variable warning */ - dprintf(("PyThread_free_lock(%p) called\n", lock)); if (!thelock) return; @@ -437,27 +435,18 @@ PyThread_acquire_lock_timed(PyThread_type_lock lock, PY_TIMEOUT_T microseconds, int status, error = 0; (void) error; /* silence unused-but-set-variable warning */ - dprintf(("PyThread_acquire_lock_timed(%p, %lld, %d) called\n", - lock, microseconds, intr_flag)); _PyTime_t timeout; // relative timeout if (microseconds >= 0) { - _PyTime_t ns; - if (microseconds <= _PyTime_MAX / 1000) { - ns = microseconds * 1000; - } - else { - // bpo-41710: PyThread_acquire_lock_timed() cannot report timeout - // overflow to the caller, so clamp the timeout to - // [_PyTime_MIN, _PyTime_MAX]. - // - // _PyTime_MAX nanoseconds is around 292.3 years. - // - // _thread.Lock.acquire() and _thread.RLock.acquire() raise an - // OverflowError if microseconds is greater than PY_TIMEOUT_MAX. - ns = _PyTime_MAX; - } - timeout = _PyTime_FromNanoseconds(ns); + // bpo-41710: PyThread_acquire_lock_timed() cannot report timeout + // overflow to the caller, so clamp the timeout to + // [_PyTime_MIN, _PyTime_MAX]. + // + // _PyTime_MAX nanoseconds is around 292.3 years. + // + // _thread.Lock.acquire() and _thread.RLock.acquire() raise an + // OverflowError if microseconds is greater than PY_TIMEOUT_MAX. + timeout = _PyTime_FromMicrosecondsClamp(microseconds); } else { timeout = _PyTime_FromNanoseconds(-1); @@ -546,8 +535,6 @@ PyThread_acquire_lock_timed(PyThread_type_lock lock, PY_TIMEOUT_T microseconds, success = PY_LOCK_FAILURE; } - dprintf(("PyThread_acquire_lock_timed(%p, %lld, %d) -> %d\n", - lock, microseconds, intr_flag, success)); return success; } @@ -558,7 +545,6 @@ PyThread_release_lock(PyThread_type_lock lock) int status, error = 0; (void) error; /* silence unused-but-set-variable warning */ - dprintf(("PyThread_release_lock(%p) called\n", lock)); status = sem_post(thelock); CHECK_STATUS("sem_post"); @@ -575,7 +561,6 @@ PyThread_allocate_lock(void) pthread_lock *lock; int status, error = 0; - dprintf(("PyThread_allocate_lock called\n")); if (!initialized) PyThread_init_thread(); @@ -601,7 +586,6 @@ PyThread_allocate_lock(void) } } - dprintf(("PyThread_allocate_lock() -> %p\n", (void *)lock)); return (PyThread_type_lock) lock; } @@ -612,7 +596,6 @@ PyThread_free_lock(PyThread_type_lock lock) int status, error = 0; (void) error; /* silence unused-but-set-variable warning */ - dprintf(("PyThread_free_lock(%p) called\n", lock)); /* some pthread-like implementations tie the mutex to the cond * and must have the cond destroyed first. @@ -634,70 +617,81 @@ PyThread_acquire_lock_timed(PyThread_type_lock lock, PY_TIMEOUT_T microseconds, pthread_lock *thelock = (pthread_lock *)lock; int status, error = 0; - dprintf(("PyThread_acquire_lock_timed(%p, %lld, %d) called\n", - lock, microseconds, intr_flag)); - if (microseconds == 0) { status = pthread_mutex_trylock( &thelock->mut ); - if (status != EBUSY) + if (status != EBUSY) { CHECK_STATUS_PTHREAD("pthread_mutex_trylock[1]"); + } } else { status = pthread_mutex_lock( &thelock->mut ); CHECK_STATUS_PTHREAD("pthread_mutex_lock[1]"); } - if (status == 0) { - if (thelock->locked == 0) { - success = PY_LOCK_ACQUIRED; - } - else if (microseconds != 0) { - struct timespec abs; - if (microseconds > 0) { - _PyThread_cond_after(microseconds, &abs); + if (status != 0) { + goto done; + } + + if (thelock->locked == 0) { + success = PY_LOCK_ACQUIRED; + goto unlock; + } + if (microseconds == 0) { + goto unlock; + } + + struct timespec abs_timeout; + if (microseconds > 0) { + _PyThread_cond_after(microseconds, &abs_timeout); + } + // Continue trying until we get the lock + + // mut must be locked by me -- part of the condition protocol + while (1) { + if (microseconds > 0) { + status = pthread_cond_timedwait(&thelock->lock_released, + &thelock->mut, &abs_timeout); + if (status == 1) { + break; } - /* continue trying until we get the lock */ - - /* mut must be locked by me -- part of the condition - * protocol */ - while (success == PY_LOCK_FAILURE) { - if (microseconds > 0) { - status = pthread_cond_timedwait( - &thelock->lock_released, - &thelock->mut, &abs); - if (status == 1) { - break; - } - if (status == ETIMEDOUT) - break; - CHECK_STATUS_PTHREAD("pthread_cond_timedwait"); - } - else { - status = pthread_cond_wait( - &thelock->lock_released, - &thelock->mut); - CHECK_STATUS_PTHREAD("pthread_cond_wait"); - } - - if (intr_flag && status == 0 && thelock->locked) { - /* We were woken up, but didn't get the lock. We probably received - * a signal. Return PY_LOCK_INTR to allow the caller to handle - * it and retry. */ - success = PY_LOCK_INTR; - break; - } - else if (status == 0 && !thelock->locked) { - success = PY_LOCK_ACQUIRED; - } + if (status == ETIMEDOUT) { + break; } + CHECK_STATUS_PTHREAD("pthread_cond_timedwait"); + } + else { + status = pthread_cond_wait( + &thelock->lock_released, + &thelock->mut); + CHECK_STATUS_PTHREAD("pthread_cond_wait"); } - if (success == PY_LOCK_ACQUIRED) thelock->locked = 1; - status = pthread_mutex_unlock( &thelock->mut ); - CHECK_STATUS_PTHREAD("pthread_mutex_unlock[1]"); + + if (intr_flag && status == 0 && thelock->locked) { + // We were woken up, but didn't get the lock. We probably received + // a signal. Return PY_LOCK_INTR to allow the caller to handle + // it and retry. + success = PY_LOCK_INTR; + break; + } + + if (status == 0 && !thelock->locked) { + success = PY_LOCK_ACQUIRED; + break; + } + + // Wait got interrupted by a signal: retry + } + +unlock: + if (success == PY_LOCK_ACQUIRED) { + thelock->locked = 1; } + status = pthread_mutex_unlock( &thelock->mut ); + CHECK_STATUS_PTHREAD("pthread_mutex_unlock[1]"); - if (error) success = PY_LOCK_FAILURE; - dprintf(("PyThread_acquire_lock_timed(%p, %lld, %d) -> %d\n", - lock, microseconds, intr_flag, success)); +done: + if (error) { + success = PY_LOCK_FAILURE; + } return success; } @@ -708,7 +702,6 @@ PyThread_release_lock(PyThread_type_lock lock) int status, error = 0; (void) error; /* silence unused-but-set-variable warning */ - dprintf(("PyThread_release_lock(%p) called\n", lock)); status = pthread_mutex_lock( &thelock->mut ); CHECK_STATUS_PTHREAD("pthread_mutex_lock[3]"); diff --git a/contrib/tools/python3/src/Python/thread_pthread_stubs.h b/contrib/tools/python3/src/Python/thread_pthread_stubs.h index 8b80c0f87e2..56e5b614192 100644 --- a/contrib/tools/python3/src/Python/thread_pthread_stubs.h +++ b/contrib/tools/python3/src/Python/thread_pthread_stubs.h @@ -124,13 +124,10 @@ pthread_attr_destroy(pthread_attr_t *attr) return 0; } -// pthread_key -typedef struct { - bool in_use; - void *value; -} py_tls_entry; -static py_tls_entry py_tls_entries[PTHREAD_KEYS_MAX] = {0}; +typedef struct py_stub_tls_entry py_tls_entry; + +#define py_tls_entries (_PyRuntime.threads.stubs.tls_entries) int pthread_key_create(pthread_key_t *key, void (*destr_function)(void *)) diff --git a/contrib/tools/python3/src/Python/traceback.c b/contrib/tools/python3/src/Python/traceback.c index 722f007459d..fdaf19d3707 100644 --- a/contrib/tools/python3/src/Python/traceback.c +++ b/contrib/tools/python3/src/Python/traceback.c @@ -11,8 +11,7 @@ #include "pycore_interp.h" // PyInterpreterState.gc #include "pycore_parser.h" // _PyParser_ASTFromString #include "pycore_pyarena.h" // _PyArena_Free() -#include "pycore_pyerrors.h" // _PyErr_Fetch() -#include "pycore_pymem.h" // _PyMem_IsPtrFreed() +#include "pycore_pyerrors.h" // _PyErr_GetRaisedException() #include "pycore_pystate.h" // _PyThreadState_GET() #include "pycore_traceback.h" // EXCEPTION_TB_HEADER @@ -53,10 +52,8 @@ tb_create_raw(PyTracebackObject *next, PyFrameObject *frame, int lasti, } tb = PyObject_GC_New(PyTracebackObject, &PyTraceBack_Type); if (tb != NULL) { - Py_XINCREF(next); - tb->tb_next = next; - Py_XINCREF(frame); - tb->tb_frame = frame; + tb->tb_next = (PyTracebackObject*)Py_XNewRef(next); + tb->tb_frame = (PyFrameObject*)Py_XNewRef(frame); tb->tb_lasti = lasti; tb->tb_lineno = lineno; PyObject_GC_Track(tb); @@ -107,8 +104,7 @@ tb_next_get(PyTracebackObject *self, void *Py_UNUSED(_)) if (!ret) { ret = Py_None; } - Py_INCREF(ret); - return ret; + return Py_NewRef(ret); } static int @@ -163,10 +159,7 @@ tb_next_set(PyTracebackObject *self, PyObject *new_next, void *Py_UNUSED(_)) cursor = cursor->tb_next; } - PyObject *old_next = (PyObject*)self->tb_next; - Py_XINCREF(new_next); - self->tb_next = (PyTracebackObject *)new_next; - Py_XDECREF(old_next); + Py_XSETREF(self->tb_next, (PyTracebackObject *)Py_XNewRef(new_next)); return 0; } @@ -271,15 +264,18 @@ _PyTraceBack_FromFrame(PyObject *tb_next, PyFrameObject *frame) int PyTraceBack_Here(PyFrameObject *frame) { - PyObject *exc, *val, *tb, *newtb; - PyErr_Fetch(&exc, &val, &tb); - newtb = _PyTraceBack_FromFrame(tb, frame); + PyObject *exc = PyErr_GetRaisedException(); + assert(PyExceptionInstance_Check(exc)); + PyObject *tb = PyException_GetTraceback(exc); + PyObject *newtb = _PyTraceBack_FromFrame(tb, frame); + Py_XDECREF(tb); if (newtb == NULL) { - _PyErr_ChainExceptions(exc, val, tb); + _PyErr_ChainExceptions1(exc); return -1; } - PyErr_Restore(exc, val, newtb); - Py_XDECREF(tb); + PyException_SetTraceback(exc, newtb); + Py_XDECREF(newtb); + PyErr_SetRaisedException(exc); return 0; } @@ -289,13 +285,12 @@ void _PyTraceback_Add(const char *funcname, const char *filename, int lineno) PyObject *globals; PyCodeObject *code; PyFrameObject *frame; - PyObject *exc, *val, *tb; PyThreadState *tstate = _PyThreadState_GET(); /* Save and clear the current exception. Python functions must not be called with an exception set. Calling Python functions happens when the codec of the filesystem encoding is implemented in pure Python. */ - _PyErr_Fetch(tstate, &exc, &val, &tb); + PyObject *exc = _PyErr_GetRaisedException(tstate); globals = PyDict_New(); if (!globals) @@ -312,13 +307,13 @@ void _PyTraceback_Add(const char *funcname, const char *filename, int lineno) goto error; frame->f_lineno = lineno; - _PyErr_Restore(tstate, exc, val, tb); + _PyErr_SetRaisedException(tstate, exc); PyTraceBack_Here(frame); Py_DECREF(frame); return; error: - _PyErr_ChainExceptions(exc, val, tb); + _PyErr_ChainExceptions1(exc); } static PyObject * @@ -545,8 +540,7 @@ display_source_line_with_margin(PyObject *f, PyObject *filename, int lineno, int } if (line) { - Py_INCREF(lineobj); - *line = lineobj; + *line = Py_NewRef(lineobj); } /* remove the indentation of the line */ @@ -561,8 +555,7 @@ display_source_line_with_margin(PyObject *f, PyObject *filename, int lineno, int PyObject *truncated; truncated = PyUnicode_Substring(lineobj, i, PyUnicode_GET_LENGTH(lineobj)); if (truncated) { - Py_DECREF(lineobj); - lineobj = truncated; + Py_SETREF(lineobj, truncated); } else { PyErr_Clear(); } @@ -1168,7 +1161,6 @@ _Py_DumpASCII(int fd, PyObject *text) int truncated; int kind; void *data = NULL; - wchar_t *wstr = NULL; Py_UCS4 ch; if (!PyUnicode_Check(text)) @@ -1176,13 +1168,7 @@ _Py_DumpASCII(int fd, PyObject *text) size = ascii->length; kind = ascii->state.kind; - if (kind == PyUnicode_WCHAR_KIND) { - wstr = ascii->wstr; - if (wstr == NULL) - return; - size = _PyCompactUnicodeObject_CAST(text)->wstr_length; - } - else if (ascii->state.compact) { + if (ascii->state.compact) { if (ascii->state.ascii) data = ascii + 1; else @@ -1223,10 +1209,7 @@ _Py_DumpASCII(int fd, PyObject *text) } for (i=0; i < size; i++) { - if (kind != PyUnicode_WCHAR_KIND) - ch = PyUnicode_READ(kind, data, i); - else - ch = wstr[i]; + ch = PyUnicode_READ(kind, data, i); if (' ' <= ch && ch <= 126) { /* printable ASCII character */ char c = (char)ch; @@ -1271,7 +1254,7 @@ dump_frame(int fd, _PyInterpreterFrame *frame) PUTS(fd, "???"); } - int lineno = _PyInterpreterFrame_GetLine(frame); + int lineno = PyUnstable_InterpreterFrame_GetLine(frame); PUTS(fd, ", line "); if (lineno >= 0) { _Py_DumpDecimal(fd, (size_t)lineno); @@ -1341,6 +1324,15 @@ dump_traceback(int fd, PyThreadState *tstate, int write_header) if (frame == NULL) { break; } + if (frame->owner == FRAME_OWNED_BY_CSTACK) { + /* Trampoline frame */ + frame = frame->previous; + } + if (frame == NULL) { + break; + } + /* Can't have more than one shim frame in a row */ + assert(frame->owner != FRAME_OWNED_BY_CSTACK); depth++; } } diff --git a/contrib/tools/python3/src/Python/tracemalloc.c b/contrib/tools/python3/src/Python/tracemalloc.c new file mode 100644 index 00000000000..bc765623522 --- /dev/null +++ b/contrib/tools/python3/src/Python/tracemalloc.c @@ -0,0 +1,1560 @@ +#include "Python.h" +#include "pycore_fileutils.h" // _Py_write_noraise() +#include "pycore_gc.h" // PyGC_Head +#include "pycore_hashtable.h" // _Py_hashtable_t +#include "pycore_object.h" // _PyType_PreHeaderSize +#include "pycore_pymem.h" // _Py_tracemalloc_config +#include "pycore_runtime.h" // _Py_ID() +#include "pycore_traceback.h" +#include +#include "frameobject.h" // _PyInterpreterFrame_GetLine + +#include // malloc() + +#define tracemalloc_config _PyRuntime.tracemalloc.config + +_Py_DECLARE_STR(anon_unknown, ""); + +/* Forward declaration */ +static void* raw_malloc(size_t size); +static void raw_free(void *ptr); + +#ifdef Py_DEBUG +# define TRACE_DEBUG +#endif + +#define TO_PTR(key) ((const void *)(uintptr_t)(key)) +#define FROM_PTR(key) ((uintptr_t)(key)) + +#define allocators _PyRuntime.tracemalloc.allocators + + +#if defined(TRACE_RAW_MALLOC) +/* This lock is needed because tracemalloc_free() is called without + the GIL held from PyMem_RawFree(). It cannot acquire the lock because it + would introduce a deadlock in _PyThreadState_DeleteCurrent(). */ +# define tables_lock _PyRuntime.tracemalloc.tables_lock +# define TABLES_LOCK() PyThread_acquire_lock(tables_lock, 1) +# define TABLES_UNLOCK() PyThread_release_lock(tables_lock) +#else + /* variables are protected by the GIL */ +# define TABLES_LOCK() +# define TABLES_UNLOCK() +#endif + + +#define DEFAULT_DOMAIN 0 + +typedef struct tracemalloc_frame frame_t; +typedef struct tracemalloc_traceback traceback_t; + +#define TRACEBACK_SIZE(NFRAME) \ + (sizeof(traceback_t) + sizeof(frame_t) * (NFRAME - 1)) + +/* The maximum number of frames is either: + - The maximum number of frames we can store in `traceback_t.nframe` + - The maximum memory size_t we can allocate */ +static const unsigned long MAX_NFRAME = Py_MIN(UINT16_MAX, ((SIZE_MAX - sizeof(traceback_t)) / sizeof(frame_t) + 1)); + + +#define tracemalloc_empty_traceback _PyRuntime.tracemalloc.empty_traceback + + +/* Trace of a memory block */ +typedef struct { + /* Size of the memory block in bytes */ + size_t size; + + /* Traceback where the memory block was allocated */ + traceback_t *traceback; +} trace_t; + + +#define tracemalloc_traced_memory _PyRuntime.tracemalloc.traced_memory +#define tracemalloc_peak_traced_memory _PyRuntime.tracemalloc.peak_traced_memory +#define tracemalloc_filenames _PyRuntime.tracemalloc.filenames +#define tracemalloc_traceback _PyRuntime.tracemalloc.traceback +#define tracemalloc_tracebacks _PyRuntime.tracemalloc.tracebacks +#define tracemalloc_traces _PyRuntime.tracemalloc.traces +#define tracemalloc_domains _PyRuntime.tracemalloc.domains + + +#ifdef TRACE_DEBUG +static void +tracemalloc_error(const char *format, ...) +{ + va_list ap; + fprintf(stderr, "tracemalloc: "); + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + fprintf(stderr, "\n"); + fflush(stderr); +} +#endif + + +#if defined(TRACE_RAW_MALLOC) +#define REENTRANT_THREADLOCAL + +#define tracemalloc_reentrant_key _PyRuntime.tracemalloc.reentrant_key + +/* Any non-NULL pointer can be used */ +#define REENTRANT Py_True + +static int +get_reentrant(void) +{ + void *ptr; + + assert(PyThread_tss_is_created(&tracemalloc_reentrant_key)); + ptr = PyThread_tss_get(&tracemalloc_reentrant_key); + if (ptr != NULL) { + assert(ptr == REENTRANT); + return 1; + } + else + return 0; +} + +static void +set_reentrant(int reentrant) +{ + assert(reentrant == 0 || reentrant == 1); + assert(PyThread_tss_is_created(&tracemalloc_reentrant_key)); + + if (reentrant) { + assert(!get_reentrant()); + PyThread_tss_set(&tracemalloc_reentrant_key, REENTRANT); + } + else { + assert(get_reentrant()); + PyThread_tss_set(&tracemalloc_reentrant_key, NULL); + } +} + +#else + +/* TRACE_RAW_MALLOC not defined: variable protected by the GIL */ +static int tracemalloc_reentrant = 0; + +static int +get_reentrant(void) +{ + return tracemalloc_reentrant; +} + +static void +set_reentrant(int reentrant) +{ + assert(reentrant != tracemalloc_reentrant); + tracemalloc_reentrant = reentrant; +} +#endif + + +static Py_uhash_t +hashtable_hash_pyobject(const void *key) +{ + PyObject *obj = (PyObject *)key; + return PyObject_Hash(obj); +} + + +static int +hashtable_compare_unicode(const void *key1, const void *key2) +{ + PyObject *obj1 = (PyObject *)key1; + PyObject *obj2 = (PyObject *)key2; + if (obj1 != NULL && obj2 != NULL) { + return (PyUnicode_Compare(obj1, obj2) == 0); + } + else { + return obj1 == obj2; + } +} + + +static Py_uhash_t +hashtable_hash_uint(const void *key_raw) +{ + unsigned int key = (unsigned int)FROM_PTR(key_raw); + return (Py_uhash_t)key; +} + + +static _Py_hashtable_t * +hashtable_new(_Py_hashtable_hash_func hash_func, + _Py_hashtable_compare_func compare_func, + _Py_hashtable_destroy_func key_destroy_func, + _Py_hashtable_destroy_func value_destroy_func) +{ + _Py_hashtable_allocator_t hashtable_alloc = {malloc, free}; + return _Py_hashtable_new_full(hash_func, compare_func, + key_destroy_func, value_destroy_func, + &hashtable_alloc); +} + + +static void* +raw_malloc(size_t size) +{ + return allocators.raw.malloc(allocators.raw.ctx, size); +} + +static void +raw_free(void *ptr) +{ + allocators.raw.free(allocators.raw.ctx, ptr); +} + + +static Py_uhash_t +hashtable_hash_traceback(const void *key) +{ + const traceback_t *traceback = (const traceback_t *)key; + return traceback->hash; +} + + +static int +hashtable_compare_traceback(const void *key1, const void *key2) +{ + const traceback_t *traceback1 = (const traceback_t *)key1; + const traceback_t *traceback2 = (const traceback_t *)key2; + + if (traceback1->nframe != traceback2->nframe) { + return 0; + } + if (traceback1->total_nframe != traceback2->total_nframe) { + return 0; + } + + for (int i=0; i < traceback1->nframe; i++) { + const frame_t *frame1 = &traceback1->frames[i]; + const frame_t *frame2 = &traceback2->frames[i]; + + if (frame1->lineno != frame2->lineno) { + return 0; + } + if (frame1->filename != frame2->filename) { + assert(PyUnicode_Compare(frame1->filename, frame2->filename) != 0); + return 0; + } + } + return 1; +} + + +static void +tracemalloc_get_frame(_PyInterpreterFrame *pyframe, frame_t *frame) +{ + frame->filename = &_Py_STR(anon_unknown); + int lineno = PyUnstable_InterpreterFrame_GetLine(pyframe); + if (lineno < 0) { + lineno = 0; + } + frame->lineno = (unsigned int)lineno; + + PyObject *filename = pyframe->f_code->co_filename; + + if (filename == NULL) { +#ifdef TRACE_DEBUG + tracemalloc_error("failed to get the filename of the code object"); +#endif + return; + } + + if (!PyUnicode_Check(filename)) { +#ifdef TRACE_DEBUG + tracemalloc_error("filename is not a unicode string"); +#endif + return; + } + if (!PyUnicode_IS_READY(filename)) { + /* Don't make a Unicode string ready to avoid reentrant calls + to tracemalloc_malloc() or tracemalloc_realloc() */ +#ifdef TRACE_DEBUG + tracemalloc_error("filename is not a ready unicode string"); +#endif + return; + } + + /* intern the filename */ + _Py_hashtable_entry_t *entry; + entry = _Py_hashtable_get_entry(tracemalloc_filenames, filename); + if (entry != NULL) { + filename = (PyObject *)entry->key; + } + else { + /* tracemalloc_filenames is responsible to keep a reference + to the filename */ + if (_Py_hashtable_set(tracemalloc_filenames, Py_NewRef(filename), + NULL) < 0) { + Py_DECREF(filename); +#ifdef TRACE_DEBUG + tracemalloc_error("failed to intern the filename"); +#endif + return; + } + } + + /* the tracemalloc_filenames table keeps a reference to the filename */ + frame->filename = filename; +} + + +static Py_uhash_t +traceback_hash(traceback_t *traceback) +{ + /* code based on tuplehash() of Objects/tupleobject.c */ + Py_uhash_t x, y; /* Unsigned for defined overflow behavior. */ + int len = traceback->nframe; + Py_uhash_t mult = _PyHASH_MULTIPLIER; + frame_t *frame; + + x = 0x345678UL; + frame = traceback->frames; + while (--len >= 0) { + y = (Py_uhash_t)PyObject_Hash(frame->filename); + y ^= (Py_uhash_t)frame->lineno; + frame++; + + x = (x ^ y) * mult; + /* the cast might truncate len; that doesn't change hash stability */ + mult += (Py_uhash_t)(82520UL + len + len); + } + x ^= traceback->total_nframe; + x += 97531UL; + return x; +} + + +static void +traceback_get_frames(traceback_t *traceback) +{ + PyThreadState *tstate = PyGILState_GetThisThreadState(); + if (tstate == NULL) { +#ifdef TRACE_DEBUG + tracemalloc_error("failed to get the current thread state"); +#endif + return; + } + + _PyInterpreterFrame *pyframe = _PyThreadState_GetFrame(tstate); + while (pyframe) { + if (traceback->nframe < tracemalloc_config.max_nframe) { + tracemalloc_get_frame(pyframe, &traceback->frames[traceback->nframe]); + assert(traceback->frames[traceback->nframe].filename != NULL); + traceback->nframe++; + } + if (traceback->total_nframe < UINT16_MAX) { + traceback->total_nframe++; + } + pyframe = _PyFrame_GetFirstComplete(pyframe->previous); + } +} + + +static traceback_t * +traceback_new(void) +{ + traceback_t *traceback; + _Py_hashtable_entry_t *entry; + + assert(PyGILState_Check()); + + /* get frames */ + traceback = tracemalloc_traceback; + traceback->nframe = 0; + traceback->total_nframe = 0; + traceback_get_frames(traceback); + if (traceback->nframe == 0) + return &tracemalloc_empty_traceback; + traceback->hash = traceback_hash(traceback); + + /* intern the traceback */ + entry = _Py_hashtable_get_entry(tracemalloc_tracebacks, traceback); + if (entry != NULL) { + traceback = (traceback_t *)entry->key; + } + else { + traceback_t *copy; + size_t traceback_size; + + traceback_size = TRACEBACK_SIZE(traceback->nframe); + + copy = raw_malloc(traceback_size); + if (copy == NULL) { +#ifdef TRACE_DEBUG + tracemalloc_error("failed to intern the traceback: malloc failed"); +#endif + return NULL; + } + memcpy(copy, traceback, traceback_size); + + if (_Py_hashtable_set(tracemalloc_tracebacks, copy, NULL) < 0) { + raw_free(copy); +#ifdef TRACE_DEBUG + tracemalloc_error("failed to intern the traceback: putdata failed"); +#endif + return NULL; + } + traceback = copy; + } + return traceback; +} + + +static _Py_hashtable_t* +tracemalloc_create_traces_table(void) +{ + return hashtable_new(_Py_hashtable_hash_ptr, + _Py_hashtable_compare_direct, + NULL, raw_free); +} + + +static _Py_hashtable_t* +tracemalloc_create_domains_table(void) +{ + return hashtable_new(hashtable_hash_uint, + _Py_hashtable_compare_direct, + NULL, + (_Py_hashtable_destroy_func)_Py_hashtable_destroy); +} + + +static _Py_hashtable_t* +tracemalloc_get_traces_table(unsigned int domain) +{ + if (domain == DEFAULT_DOMAIN) { + return tracemalloc_traces; + } + else { + return _Py_hashtable_get(tracemalloc_domains, TO_PTR(domain)); + } +} + + +static void +tracemalloc_remove_trace(unsigned int domain, uintptr_t ptr) +{ + assert(tracemalloc_config.tracing); + + _Py_hashtable_t *traces = tracemalloc_get_traces_table(domain); + if (!traces) { + return; + } + + trace_t *trace = _Py_hashtable_steal(traces, TO_PTR(ptr)); + if (!trace) { + return; + } + assert(tracemalloc_traced_memory >= trace->size); + tracemalloc_traced_memory -= trace->size; + raw_free(trace); +} + +#define REMOVE_TRACE(ptr) \ + tracemalloc_remove_trace(DEFAULT_DOMAIN, (uintptr_t)(ptr)) + + +static int +tracemalloc_add_trace(unsigned int domain, uintptr_t ptr, + size_t size) +{ + assert(tracemalloc_config.tracing); + + traceback_t *traceback = traceback_new(); + if (traceback == NULL) { + return -1; + } + + _Py_hashtable_t *traces = tracemalloc_get_traces_table(domain); + if (traces == NULL) { + traces = tracemalloc_create_traces_table(); + if (traces == NULL) { + return -1; + } + + if (_Py_hashtable_set(tracemalloc_domains, TO_PTR(domain), traces) < 0) { + _Py_hashtable_destroy(traces); + return -1; + } + } + + trace_t *trace = _Py_hashtable_get(traces, TO_PTR(ptr)); + if (trace != NULL) { + /* the memory block is already tracked */ + assert(tracemalloc_traced_memory >= trace->size); + tracemalloc_traced_memory -= trace->size; + + trace->size = size; + trace->traceback = traceback; + } + else { + trace = raw_malloc(sizeof(trace_t)); + if (trace == NULL) { + return -1; + } + trace->size = size; + trace->traceback = traceback; + + int res = _Py_hashtable_set(traces, TO_PTR(ptr), trace); + if (res != 0) { + raw_free(trace); + return res; + } + } + + assert(tracemalloc_traced_memory <= SIZE_MAX - size); + tracemalloc_traced_memory += size; + if (tracemalloc_traced_memory > tracemalloc_peak_traced_memory) { + tracemalloc_peak_traced_memory = tracemalloc_traced_memory; + } + return 0; +} + +#define ADD_TRACE(ptr, size) \ + tracemalloc_add_trace(DEFAULT_DOMAIN, (uintptr_t)(ptr), size) + + +static void* +tracemalloc_alloc(int use_calloc, void *ctx, size_t nelem, size_t elsize) +{ + PyMemAllocatorEx *alloc = (PyMemAllocatorEx *)ctx; + void *ptr; + + assert(elsize == 0 || nelem <= SIZE_MAX / elsize); + + if (use_calloc) + ptr = alloc->calloc(alloc->ctx, nelem, elsize); + else + ptr = alloc->malloc(alloc->ctx, nelem * elsize); + if (ptr == NULL) + return NULL; + + TABLES_LOCK(); + if (ADD_TRACE(ptr, nelem * elsize) < 0) { + /* Failed to allocate a trace for the new memory block */ + TABLES_UNLOCK(); + alloc->free(alloc->ctx, ptr); + return NULL; + } + TABLES_UNLOCK(); + return ptr; +} + + +static void* +tracemalloc_realloc(void *ctx, void *ptr, size_t new_size) +{ + PyMemAllocatorEx *alloc = (PyMemAllocatorEx *)ctx; + void *ptr2; + + ptr2 = alloc->realloc(alloc->ctx, ptr, new_size); + if (ptr2 == NULL) + return NULL; + + if (ptr != NULL) { + /* an existing memory block has been resized */ + + TABLES_LOCK(); + + /* tracemalloc_add_trace() updates the trace if there is already + a trace at address ptr2 */ + if (ptr2 != ptr) { + REMOVE_TRACE(ptr); + } + + if (ADD_TRACE(ptr2, new_size) < 0) { + /* Memory allocation failed. The error cannot be reported to + the caller, because realloc() may already have shrunk the + memory block and so removed bytes. + + This case is very unlikely: a hash entry has just been + released, so the hash table should have at least one free entry. + + The GIL and the table lock ensures that only one thread is + allocating memory. */ + Py_FatalError("tracemalloc_realloc() failed to allocate a trace"); + } + TABLES_UNLOCK(); + } + else { + /* new allocation */ + + TABLES_LOCK(); + if (ADD_TRACE(ptr2, new_size) < 0) { + /* Failed to allocate a trace for the new memory block */ + TABLES_UNLOCK(); + alloc->free(alloc->ctx, ptr2); + return NULL; + } + TABLES_UNLOCK(); + } + return ptr2; +} + + +static void +tracemalloc_free(void *ctx, void *ptr) +{ + PyMemAllocatorEx *alloc = (PyMemAllocatorEx *)ctx; + + if (ptr == NULL) + return; + + /* GIL cannot be locked in PyMem_RawFree() because it would introduce + a deadlock in _PyThreadState_DeleteCurrent(). */ + + alloc->free(alloc->ctx, ptr); + + TABLES_LOCK(); + REMOVE_TRACE(ptr); + TABLES_UNLOCK(); +} + + +static void* +tracemalloc_alloc_gil(int use_calloc, void *ctx, size_t nelem, size_t elsize) +{ + void *ptr; + + if (get_reentrant()) { + PyMemAllocatorEx *alloc = (PyMemAllocatorEx *)ctx; + if (use_calloc) + return alloc->calloc(alloc->ctx, nelem, elsize); + else + return alloc->malloc(alloc->ctx, nelem * elsize); + } + + /* Ignore reentrant call. PyObjet_Malloc() calls PyMem_Malloc() for + allocations larger than 512 bytes, don't trace the same memory + allocation twice. */ + set_reentrant(1); + + ptr = tracemalloc_alloc(use_calloc, ctx, nelem, elsize); + + set_reentrant(0); + return ptr; +} + + +static void* +tracemalloc_malloc_gil(void *ctx, size_t size) +{ + return tracemalloc_alloc_gil(0, ctx, 1, size); +} + + +static void* +tracemalloc_calloc_gil(void *ctx, size_t nelem, size_t elsize) +{ + return tracemalloc_alloc_gil(1, ctx, nelem, elsize); +} + + +static void* +tracemalloc_realloc_gil(void *ctx, void *ptr, size_t new_size) +{ + void *ptr2; + + if (get_reentrant()) { + /* Reentrant call to PyMem_Realloc() and PyMem_RawRealloc(). + Example: PyMem_RawRealloc() is called internally by pymalloc + (_PyObject_Malloc() and _PyObject_Realloc()) to allocate a new + arena (new_arena()). */ + PyMemAllocatorEx *alloc = (PyMemAllocatorEx *)ctx; + + ptr2 = alloc->realloc(alloc->ctx, ptr, new_size); + if (ptr2 != NULL && ptr != NULL) { + TABLES_LOCK(); + REMOVE_TRACE(ptr); + TABLES_UNLOCK(); + } + return ptr2; + } + + /* Ignore reentrant call. PyObjet_Realloc() calls PyMem_Realloc() for + allocations larger than 512 bytes. Don't trace the same memory + allocation twice. */ + set_reentrant(1); + + ptr2 = tracemalloc_realloc(ctx, ptr, new_size); + + set_reentrant(0); + return ptr2; +} + + +#ifdef TRACE_RAW_MALLOC +static void* +tracemalloc_raw_alloc(int use_calloc, void *ctx, size_t nelem, size_t elsize) +{ + PyGILState_STATE gil_state; + void *ptr; + + if (get_reentrant()) { + PyMemAllocatorEx *alloc = (PyMemAllocatorEx *)ctx; + if (use_calloc) + return alloc->calloc(alloc->ctx, nelem, elsize); + else + return alloc->malloc(alloc->ctx, nelem * elsize); + } + + /* Ignore reentrant call. PyGILState_Ensure() may call PyMem_RawMalloc() + indirectly which would call PyGILState_Ensure() if reentrant are not + disabled. */ + set_reentrant(1); + + gil_state = PyGILState_Ensure(); + ptr = tracemalloc_alloc(use_calloc, ctx, nelem, elsize); + PyGILState_Release(gil_state); + + set_reentrant(0); + return ptr; +} + + +static void* +tracemalloc_raw_malloc(void *ctx, size_t size) +{ + return tracemalloc_raw_alloc(0, ctx, 1, size); +} + + +static void* +tracemalloc_raw_calloc(void *ctx, size_t nelem, size_t elsize) +{ + return tracemalloc_raw_alloc(1, ctx, nelem, elsize); +} + + +static void* +tracemalloc_raw_realloc(void *ctx, void *ptr, size_t new_size) +{ + PyGILState_STATE gil_state; + void *ptr2; + + if (get_reentrant()) { + /* Reentrant call to PyMem_RawRealloc(). */ + PyMemAllocatorEx *alloc = (PyMemAllocatorEx *)ctx; + + ptr2 = alloc->realloc(alloc->ctx, ptr, new_size); + + if (ptr2 != NULL && ptr != NULL) { + TABLES_LOCK(); + REMOVE_TRACE(ptr); + TABLES_UNLOCK(); + } + return ptr2; + } + + /* Ignore reentrant call. PyGILState_Ensure() may call PyMem_RawMalloc() + indirectly which would call PyGILState_Ensure() if reentrant calls are + not disabled. */ + set_reentrant(1); + + gil_state = PyGILState_Ensure(); + ptr2 = tracemalloc_realloc(ctx, ptr, new_size); + PyGILState_Release(gil_state); + + set_reentrant(0); + return ptr2; +} +#endif /* TRACE_RAW_MALLOC */ + + +static void +tracemalloc_clear_filename(void *value) +{ + PyObject *filename = (PyObject *)value; + Py_DECREF(filename); +} + + +/* reentrant flag must be set to call this function and GIL must be held */ +static void +tracemalloc_clear_traces(void) +{ + /* The GIL protects variables against concurrent access */ + assert(PyGILState_Check()); + + TABLES_LOCK(); + _Py_hashtable_clear(tracemalloc_traces); + _Py_hashtable_clear(tracemalloc_domains); + tracemalloc_traced_memory = 0; + tracemalloc_peak_traced_memory = 0; + TABLES_UNLOCK(); + + _Py_hashtable_clear(tracemalloc_tracebacks); + + _Py_hashtable_clear(tracemalloc_filenames); +} + + +int +_PyTraceMalloc_Init(void) +{ + if (tracemalloc_config.initialized == TRACEMALLOC_FINALIZED) { + PyErr_SetString(PyExc_RuntimeError, + "the tracemalloc module has been unloaded"); + return -1; + } + + if (tracemalloc_config.initialized == TRACEMALLOC_INITIALIZED) + return 0; + + PyMem_GetAllocator(PYMEM_DOMAIN_RAW, &allocators.raw); + +#ifdef REENTRANT_THREADLOCAL + if (PyThread_tss_create(&tracemalloc_reentrant_key) != 0) { +#ifdef MS_WINDOWS + PyErr_SetFromWindowsErr(0); +#else + PyErr_SetFromErrno(PyExc_OSError); +#endif + return -1; + } +#endif + +#if defined(TRACE_RAW_MALLOC) + if (tables_lock == NULL) { + tables_lock = PyThread_allocate_lock(); + if (tables_lock == NULL) { + PyErr_SetString(PyExc_RuntimeError, "cannot allocate lock"); + return -1; + } + } +#endif + + tracemalloc_filenames = hashtable_new(hashtable_hash_pyobject, + hashtable_compare_unicode, + tracemalloc_clear_filename, NULL); + + tracemalloc_tracebacks = hashtable_new(hashtable_hash_traceback, + hashtable_compare_traceback, + NULL, raw_free); + + tracemalloc_traces = tracemalloc_create_traces_table(); + tracemalloc_domains = tracemalloc_create_domains_table(); + + if (tracemalloc_filenames == NULL || tracemalloc_tracebacks == NULL + || tracemalloc_traces == NULL || tracemalloc_domains == NULL) { + PyErr_NoMemory(); + return -1; + } + + tracemalloc_empty_traceback.nframe = 1; + tracemalloc_empty_traceback.total_nframe = 1; + /* borrowed reference */ + tracemalloc_empty_traceback.frames[0].filename = &_Py_STR(anon_unknown); + tracemalloc_empty_traceback.frames[0].lineno = 0; + tracemalloc_empty_traceback.hash = traceback_hash(&tracemalloc_empty_traceback); + + tracemalloc_config.initialized = TRACEMALLOC_INITIALIZED; + return 0; +} + + +static void +tracemalloc_deinit(void) +{ + if (tracemalloc_config.initialized != TRACEMALLOC_INITIALIZED) + return; + tracemalloc_config.initialized = TRACEMALLOC_FINALIZED; + + _PyTraceMalloc_Stop(); + + /* destroy hash tables */ + _Py_hashtable_destroy(tracemalloc_domains); + _Py_hashtable_destroy(tracemalloc_traces); + _Py_hashtable_destroy(tracemalloc_tracebacks); + _Py_hashtable_destroy(tracemalloc_filenames); + +#if defined(TRACE_RAW_MALLOC) + if (tables_lock != NULL) { + PyThread_free_lock(tables_lock); + tables_lock = NULL; + } +#endif + +#ifdef REENTRANT_THREADLOCAL + PyThread_tss_delete(&tracemalloc_reentrant_key); +#endif +} + + +int +_PyTraceMalloc_Start(int max_nframe) +{ + PyMemAllocatorEx alloc; + size_t size; + + if (max_nframe < 1 || (unsigned long) max_nframe > MAX_NFRAME) { + PyErr_Format(PyExc_ValueError, + "the number of frames must be in range [1; %lu]", + MAX_NFRAME); + return -1; + } + + if (_PyTraceMalloc_Init() < 0) { + return -1; + } + + if (tracemalloc_config.tracing) { + /* hook already installed: do nothing */ + return 0; + } + + tracemalloc_config.max_nframe = max_nframe; + + /* allocate a buffer to store a new traceback */ + size = TRACEBACK_SIZE(max_nframe); + assert(tracemalloc_traceback == NULL); + tracemalloc_traceback = raw_malloc(size); + if (tracemalloc_traceback == NULL) { + PyErr_NoMemory(); + return -1; + } + +#ifdef TRACE_RAW_MALLOC + alloc.malloc = tracemalloc_raw_malloc; + alloc.calloc = tracemalloc_raw_calloc; + alloc.realloc = tracemalloc_raw_realloc; + alloc.free = tracemalloc_free; + + alloc.ctx = &allocators.raw; + PyMem_GetAllocator(PYMEM_DOMAIN_RAW, &allocators.raw); + PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &alloc); +#endif + + alloc.malloc = tracemalloc_malloc_gil; + alloc.calloc = tracemalloc_calloc_gil; + alloc.realloc = tracemalloc_realloc_gil; + alloc.free = tracemalloc_free; + + alloc.ctx = &allocators.mem; + PyMem_GetAllocator(PYMEM_DOMAIN_MEM, &allocators.mem); + PyMem_SetAllocator(PYMEM_DOMAIN_MEM, &alloc); + + alloc.ctx = &allocators.obj; + PyMem_GetAllocator(PYMEM_DOMAIN_OBJ, &allocators.obj); + PyMem_SetAllocator(PYMEM_DOMAIN_OBJ, &alloc); + + /* everything is ready: start tracing Python memory allocations */ + tracemalloc_config.tracing = 1; + + return 0; +} + + +void +_PyTraceMalloc_Stop(void) +{ + if (!tracemalloc_config.tracing) + return; + + /* stop tracing Python memory allocations */ + tracemalloc_config.tracing = 0; + + /* unregister the hook on memory allocators */ +#ifdef TRACE_RAW_MALLOC + PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &allocators.raw); +#endif + PyMem_SetAllocator(PYMEM_DOMAIN_MEM, &allocators.mem); + PyMem_SetAllocator(PYMEM_DOMAIN_OBJ, &allocators.obj); + + tracemalloc_clear_traces(); + + /* release memory */ + raw_free(tracemalloc_traceback); + tracemalloc_traceback = NULL; +} + + + +static PyObject* +frame_to_pyobject(frame_t *frame) +{ + PyObject *frame_obj, *lineno_obj; + + frame_obj = PyTuple_New(2); + if (frame_obj == NULL) + return NULL; + + PyTuple_SET_ITEM(frame_obj, 0, Py_NewRef(frame->filename)); + + lineno_obj = PyLong_FromUnsignedLong(frame->lineno); + if (lineno_obj == NULL) { + Py_DECREF(frame_obj); + return NULL; + } + PyTuple_SET_ITEM(frame_obj, 1, lineno_obj); + + return frame_obj; +} + + +static PyObject* +traceback_to_pyobject(traceback_t *traceback, _Py_hashtable_t *intern_table) +{ + PyObject *frames; + + if (intern_table != NULL) { + frames = _Py_hashtable_get(intern_table, (const void *)traceback); + if (frames) { + return Py_NewRef(frames); + } + } + + frames = PyTuple_New(traceback->nframe); + if (frames == NULL) + return NULL; + + for (int i=0; i < traceback->nframe; i++) { + PyObject *frame = frame_to_pyobject(&traceback->frames[i]); + if (frame == NULL) { + Py_DECREF(frames); + return NULL; + } + PyTuple_SET_ITEM(frames, i, frame); + } + + if (intern_table != NULL) { + if (_Py_hashtable_set(intern_table, traceback, frames) < 0) { + Py_DECREF(frames); + PyErr_NoMemory(); + return NULL; + } + /* intern_table keeps a new reference to frames */ + Py_INCREF(frames); + } + return frames; +} + + +static PyObject* +trace_to_pyobject(unsigned int domain, const trace_t *trace, + _Py_hashtable_t *intern_tracebacks) +{ + PyObject *trace_obj = NULL; + PyObject *obj; + + trace_obj = PyTuple_New(4); + if (trace_obj == NULL) + return NULL; + + obj = PyLong_FromSize_t(domain); + if (obj == NULL) { + Py_DECREF(trace_obj); + return NULL; + } + PyTuple_SET_ITEM(trace_obj, 0, obj); + + obj = PyLong_FromSize_t(trace->size); + if (obj == NULL) { + Py_DECREF(trace_obj); + return NULL; + } + PyTuple_SET_ITEM(trace_obj, 1, obj); + + obj = traceback_to_pyobject(trace->traceback, intern_tracebacks); + if (obj == NULL) { + Py_DECREF(trace_obj); + return NULL; + } + PyTuple_SET_ITEM(trace_obj, 2, obj); + + obj = PyLong_FromUnsignedLong(trace->traceback->total_nframe); + if (obj == NULL) { + Py_DECREF(trace_obj); + return NULL; + } + PyTuple_SET_ITEM(trace_obj, 3, obj); + + return trace_obj; +} + + +typedef struct { + _Py_hashtable_t *traces; + _Py_hashtable_t *domains; + _Py_hashtable_t *tracebacks; + PyObject *list; + unsigned int domain; +} get_traces_t; + + +static int +tracemalloc_copy_trace(_Py_hashtable_t *traces, + const void *key, const void *value, + void *user_data) +{ + _Py_hashtable_t *traces2 = (_Py_hashtable_t *)user_data; + + trace_t *trace = (trace_t *)value; + + trace_t *trace2 = raw_malloc(sizeof(trace_t)); + if (trace2 == NULL) { + return -1; + } + *trace2 = *trace; + if (_Py_hashtable_set(traces2, key, trace2) < 0) { + raw_free(trace2); + return -1; + } + return 0; +} + + +static _Py_hashtable_t* +tracemalloc_copy_traces(_Py_hashtable_t *traces) +{ + _Py_hashtable_t *traces2 = tracemalloc_create_traces_table(); + if (traces2 == NULL) { + return NULL; + } + + int err = _Py_hashtable_foreach(traces, + tracemalloc_copy_trace, + traces2); + if (err) { + _Py_hashtable_destroy(traces2); + return NULL; + } + return traces2; +} + + +static int +tracemalloc_copy_domain(_Py_hashtable_t *domains, + const void *key, const void *value, + void *user_data) +{ + _Py_hashtable_t *domains2 = (_Py_hashtable_t *)user_data; + + unsigned int domain = (unsigned int)FROM_PTR(key); + _Py_hashtable_t *traces = (_Py_hashtable_t *)value; + + _Py_hashtable_t *traces2 = tracemalloc_copy_traces(traces); + if (traces2 == NULL) { + return -1; + } + if (_Py_hashtable_set(domains2, TO_PTR(domain), traces2) < 0) { + _Py_hashtable_destroy(traces2); + return -1; + } + return 0; +} + + +static _Py_hashtable_t* +tracemalloc_copy_domains(_Py_hashtable_t *domains) +{ + _Py_hashtable_t *domains2 = tracemalloc_create_domains_table(); + if (domains2 == NULL) { + return NULL; + } + + int err = _Py_hashtable_foreach(domains, + tracemalloc_copy_domain, + domains2); + if (err) { + _Py_hashtable_destroy(domains2); + return NULL; + } + return domains2; +} + + +static int +tracemalloc_get_traces_fill(_Py_hashtable_t *traces, + const void *key, const void *value, + void *user_data) +{ + get_traces_t *get_traces = user_data; + + const trace_t *trace = (const trace_t *)value; + + PyObject *tuple = trace_to_pyobject(get_traces->domain, trace, + get_traces->tracebacks); + if (tuple == NULL) { + return 1; + } + + int res = PyList_Append(get_traces->list, tuple); + Py_DECREF(tuple); + if (res < 0) { + return 1; + } + + return 0; +} + + +static int +tracemalloc_get_traces_domain(_Py_hashtable_t *domains, + const void *key, const void *value, + void *user_data) +{ + get_traces_t *get_traces = user_data; + + unsigned int domain = (unsigned int)FROM_PTR(key); + _Py_hashtable_t *traces = (_Py_hashtable_t *)value; + + get_traces->domain = domain; + return _Py_hashtable_foreach(traces, + tracemalloc_get_traces_fill, + get_traces); +} + + +static void +tracemalloc_pyobject_decref(void *value) +{ + PyObject *obj = (PyObject *)value; + Py_DECREF(obj); +} + + +static traceback_t* +tracemalloc_get_traceback(unsigned int domain, uintptr_t ptr) +{ + + if (!tracemalloc_config.tracing) + return NULL; + + trace_t *trace; + TABLES_LOCK(); + _Py_hashtable_t *traces = tracemalloc_get_traces_table(domain); + if (traces) { + trace = _Py_hashtable_get(traces, TO_PTR(ptr)); + } + else { + trace = NULL; + } + TABLES_UNLOCK(); + + if (!trace) { + return NULL; + } + + return trace->traceback; +} + + +#define PUTS(fd, str) _Py_write_noraise(fd, str, (int)strlen(str)) + +static void +_PyMem_DumpFrame(int fd, frame_t * frame) +{ + PUTS(fd, " File \""); + _Py_DumpASCII(fd, frame->filename); + PUTS(fd, "\", line "); + _Py_DumpDecimal(fd, frame->lineno); + PUTS(fd, "\n"); +} + +/* Dump the traceback where a memory block was allocated into file descriptor + fd. The function may block on TABLES_LOCK() but it is unlikely. */ +void +_PyMem_DumpTraceback(int fd, const void *ptr) +{ + traceback_t *traceback; + int i; + + if (!tracemalloc_config.tracing) { + PUTS(fd, "Enable tracemalloc to get the memory block " + "allocation traceback\n\n"); + return; + } + + traceback = tracemalloc_get_traceback(DEFAULT_DOMAIN, (uintptr_t)ptr); + if (traceback == NULL) + return; + + PUTS(fd, "Memory block allocated at (most recent call first):\n"); + for (i=0; i < traceback->nframe; i++) { + _PyMem_DumpFrame(fd, &traceback->frames[i]); + } + PUTS(fd, "\n"); +} + +#undef PUTS + + +static int +tracemalloc_get_tracemalloc_memory_cb(_Py_hashtable_t *domains, + const void *key, const void *value, + void *user_data) +{ + const _Py_hashtable_t *traces = value; + size_t *size = (size_t*)user_data; + *size += _Py_hashtable_size(traces); + return 0; +} + +int +PyTraceMalloc_Track(unsigned int domain, uintptr_t ptr, + size_t size) +{ + int res; + PyGILState_STATE gil_state; + + if (!tracemalloc_config.tracing) { + /* tracemalloc is not tracing: do nothing */ + return -2; + } + + gil_state = PyGILState_Ensure(); + + TABLES_LOCK(); + res = tracemalloc_add_trace(domain, ptr, size); + TABLES_UNLOCK(); + + PyGILState_Release(gil_state); + return res; +} + + +int +PyTraceMalloc_Untrack(unsigned int domain, uintptr_t ptr) +{ + if (!tracemalloc_config.tracing) { + /* tracemalloc is not tracing: do nothing */ + return -2; + } + + TABLES_LOCK(); + tracemalloc_remove_trace(domain, ptr); + TABLES_UNLOCK(); + + return 0; +} + + +void +_PyTraceMalloc_Fini(void) +{ + assert(PyGILState_Check()); + tracemalloc_deinit(); +} + + +/* If the object memory block is already traced, update its trace + with the current Python traceback. + + Do nothing if tracemalloc is not tracing memory allocations + or if the object memory block is not already traced. */ +int +_PyTraceMalloc_NewReference(PyObject *op) +{ + assert(PyGILState_Check()); + + if (!tracemalloc_config.tracing) { + /* tracemalloc is not tracing: do nothing */ + return -1; + } + + PyTypeObject *type = Py_TYPE(op); + const size_t presize = _PyType_PreHeaderSize(type); + uintptr_t ptr = (uintptr_t)((char *)op - presize); + + int res = -1; + + TABLES_LOCK(); + trace_t *trace = _Py_hashtable_get(tracemalloc_traces, TO_PTR(ptr)); + if (trace != NULL) { + /* update the traceback of the memory block */ + traceback_t *traceback = traceback_new(); + if (traceback != NULL) { + trace->traceback = traceback; + res = 0; + } + } + /* else: cannot track the object, its memory block size is unknown */ + TABLES_UNLOCK(); + + return res; +} + + +PyObject* +_PyTraceMalloc_GetTraceback(unsigned int domain, uintptr_t ptr) +{ + traceback_t *traceback; + + traceback = tracemalloc_get_traceback(domain, ptr); + if (traceback == NULL) + Py_RETURN_NONE; + + return traceback_to_pyobject(traceback, NULL); +} + +int +_PyTraceMalloc_IsTracing(void) +{ + return tracemalloc_config.tracing; +} + +void +_PyTraceMalloc_ClearTraces(void) +{ + + if (!tracemalloc_config.tracing) { + return; + } + set_reentrant(1); + tracemalloc_clear_traces(); + set_reentrant(0); +} + +PyObject * +_PyTraceMalloc_GetTraces(void) +{ + get_traces_t get_traces; + get_traces.domain = DEFAULT_DOMAIN; + get_traces.traces = NULL; + get_traces.domains = NULL; + get_traces.tracebacks = NULL; + get_traces.list = PyList_New(0); + if (get_traces.list == NULL) + goto error; + + if (!tracemalloc_config.tracing) + return get_traces.list; + + /* the traceback hash table is used temporarily to intern traceback tuple + of (filename, lineno) tuples */ + get_traces.tracebacks = hashtable_new(_Py_hashtable_hash_ptr, + _Py_hashtable_compare_direct, + NULL, tracemalloc_pyobject_decref); + if (get_traces.tracebacks == NULL) { + goto no_memory; + } + + // Copy all traces so tracemalloc_get_traces_fill() doesn't have to disable + // temporarily tracemalloc which would impact other threads and so would + // miss allocations while get_traces() is called. + TABLES_LOCK(); + get_traces.traces = tracemalloc_copy_traces(tracemalloc_traces); + TABLES_UNLOCK(); + + if (get_traces.traces == NULL) { + goto no_memory; + } + + TABLES_LOCK(); + get_traces.domains = tracemalloc_copy_domains(tracemalloc_domains); + TABLES_UNLOCK(); + + if (get_traces.domains == NULL) { + goto no_memory; + } + + // Convert traces to a list of tuples + set_reentrant(1); + int err = _Py_hashtable_foreach(get_traces.traces, + tracemalloc_get_traces_fill, + &get_traces); + if (!err) { + err = _Py_hashtable_foreach(get_traces.domains, + tracemalloc_get_traces_domain, + &get_traces); + } + set_reentrant(0); + if (err) { + goto error; + } + + goto finally; + +no_memory: + PyErr_NoMemory(); + +error: + Py_CLEAR(get_traces.list); + +finally: + if (get_traces.tracebacks != NULL) { + _Py_hashtable_destroy(get_traces.tracebacks); + } + if (get_traces.traces != NULL) { + _Py_hashtable_destroy(get_traces.traces); + } + if (get_traces.domains != NULL) { + _Py_hashtable_destroy(get_traces.domains); + } + + return get_traces.list; +} + +PyObject * +_PyTraceMalloc_GetObjectTraceback(PyObject *obj) +/*[clinic end generated code: output=41ee0553a658b0aa input=29495f1b21c53212]*/ +{ + PyTypeObject *type; + traceback_t *traceback; + + type = Py_TYPE(obj); + const size_t presize = _PyType_PreHeaderSize(type); + uintptr_t ptr = (uintptr_t)((char *)obj - presize); + + traceback = tracemalloc_get_traceback(DEFAULT_DOMAIN, ptr); + if (traceback == NULL) { + Py_RETURN_NONE; + } + + return traceback_to_pyobject(traceback, NULL); +} + +int _PyTraceMalloc_GetTracebackLimit(void) { + return tracemalloc_config.max_nframe; +} + +size_t +_PyTraceMalloc_GetMemory(void) { + + size_t size; + + size = _Py_hashtable_size(tracemalloc_tracebacks); + size += _Py_hashtable_size(tracemalloc_filenames); + + TABLES_LOCK(); + size += _Py_hashtable_size(tracemalloc_traces); + _Py_hashtable_foreach(tracemalloc_domains, + tracemalloc_get_tracemalloc_memory_cb, &size); + TABLES_UNLOCK(); + return size; +} + + +PyObject * +_PyTraceMalloc_GetTracedMemory(void) +{ + Py_ssize_t size, peak_size; + + if (!tracemalloc_config.tracing) + return Py_BuildValue("ii", 0, 0); + + TABLES_LOCK(); + size = tracemalloc_traced_memory; + peak_size = tracemalloc_peak_traced_memory; + TABLES_UNLOCK(); + + return Py_BuildValue("nn", size, peak_size); +} + +void +_PyTraceMalloc_ResetPeak(void) +{ + if (!tracemalloc_config.tracing) { + return; + } + TABLES_LOCK(); + tracemalloc_peak_traced_memory = tracemalloc_traced_memory; + TABLES_UNLOCK(); +} -- cgit v1.3